You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+21-9Lines changed: 21 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -55,7 +55,18 @@ A formal definition must be supplied.
55
55
56
56
## 3. Global Invariants
57
57
58
-
### 3.1 Operation Identity
58
+
### 3.1 Document Schemas
59
+
60
+
As mentioned above, the root document for each provider is `provider.yaml`; the expected schema is mastered at [`cicd/schema-definitions/provider.schema.json`](/cicd/schema-definitions/provider.schema.json).
61
+
62
+
For each service document referenced from this root, the schema varies on provider `protocolType`:
There is also support for spliting service and resource files, although this is rarely used. The schema for such a split out resource file is visible at [`cicd/schema-definitions/fragmented-resources.schema.json`](/cicd/schema-definitions/fragmented-resources.schema.json).
68
+
69
+
### 3.2 Operation Identity
59
70
60
71
Each operation must be routable through:
61
72
@@ -77,48 +88,49 @@ Methods mapped to SQL verbs are annotated in an `sqlVerbs` dictionary, which all
77
88
78
89
---
79
90
80
-
### 3.2 HTTP Semantics
91
+
### 3.3 HTTP Semantics
81
92
_TBA._
82
93
83
94
---
84
95
85
-
### 3.3 Authentication
96
+
### 3.4 Authentication
86
97
_TBA._
87
98
This is yet to be formally defined. OAuth, simple key-based authentication, and various environment-variable-based patterns are supported.
88
99
Unauthenticated systems should be explicitly designated as having `null` auth.
89
100
90
101
---
91
102
92
-
### 3.4 Pagination
103
+
### 3.5 Pagination
93
104
Opt-in, with default behavior. _TBA._
94
105
95
106
---
96
107
97
-
### 3.5 Errors
108
+
### 3.6 Errors
98
109
Canonically aligned with `openapi3`.
99
110
100
111
---
101
112
102
-
### 3.6 Rate Limiting
113
+
### 3.7 Rate Limiting
103
114
Modeled as a class of failure within a broader collection of possible failure classes, including network and system failures.
104
115
105
116
---
106
117
107
-
### 3.7 Long-Running Operations (LRO)
118
+
### 3.8 Long-Running Operations (LRO)
108
119
If an operation is asynchronous:
109
120
- Different providers have different polling or notification methods.
110
121
- Initially, behavior similar to Google’s `Operation` polling is supported.
111
122
112
123
---
113
124
114
-
### 3.8 OS / Non-HTTP Transports
125
+
### 3.9 OS / Non-HTTP Transports
115
126
_TBA._
116
127
See the `local_openssl` provider for an example.
117
128
118
129
---
119
130
120
131
## 4. Validation Rules
121
-
These are informally enforced through the `any-sdk` CLI, specifically the `aot` command.
132
+
133
+
These are informally enforced through the `any-sdk` CLI, specifically the `aot` command. This includes various configuration options.
0 commit comments