@cat-factory/contracts 0.209.0 → 0.210.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accountSettings.d.ts +68 -0
- package/dist/accountSettings.d.ts.map +1 -1
- package/dist/accountSettings.js +41 -0
- package/dist/accountSettings.js.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +6 -5
- package/dist/errors.js.map +1 -1
- package/dist/execution.d.ts +25 -0
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +38 -0
- package/dist/execution.js.map +1 -1
- package/dist/foundational-services.d.ts +131 -45
- package/dist/foundational-services.d.ts.map +1 -1
- package/dist/foundational-services.js +133 -22
- package/dist/foundational-services.js.map +1 -1
- package/dist/github.d.ts +79 -0
- package/dist/github.d.ts.map +1 -1
- package/dist/github.js +54 -0
- package/dist/github.js.map +1 -1
- package/dist/provider-config.d.ts +3 -3
- package/dist/provider-config.d.ts.map +1 -1
- package/dist/provider-config.js +12 -0
- package/dist/provider-config.js.map +1 -1
- package/dist/routes/accounts.d.ts +3 -0
- package/dist/routes/accounts.d.ts.map +1 -1
- package/dist/routes/environments.d.ts +2 -2
- package/dist/routes/foundational-services.d.ts +14 -17
- package/dist/routes/foundational-services.d.ts.map +1 -1
- package/dist/routes/foundational-services.js +13 -10
- package/dist/routes/foundational-services.js.map +1 -1
- package/dist/routes/github.d.ts +49 -0
- package/dist/routes/github.d.ts.map +1 -1
- package/dist/routes/github.js +9 -1
- package/dist/routes/github.js.map +1 -1
- package/dist/routes/runners.d.ts +1 -1
- package/dist/routes/user-secret.d.ts +1 -1
- package/dist/routes/workspace-settings.d.ts +3 -0
- package/dist/routes/workspace-settings.d.ts.map +1 -1
- package/dist/routes/workspaces.d.ts +2 -0
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/snapshot.d.ts +1 -0
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/workspace-settings.d.ts +20 -0
- package/dist/workspace-settings.d.ts.map +1 -1
- package/dist/workspace-settings.js +20 -0
- package/dist/workspace-settings.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,17 +2,77 @@ import * as v from 'valibot';
|
|
|
2
2
|
/** Which scope owns a foundational service / source: an account, or a workspace. */
|
|
3
3
|
export declare const foundationalServiceOwnerKindSchema: v.PicklistSchema<["account", "workspace"], undefined>;
|
|
4
4
|
export type FoundationalServiceOwnerKind = v.InferOutput<typeof foundationalServiceOwnerKindSchema>;
|
|
5
|
-
/**
|
|
6
|
-
|
|
5
|
+
/**
|
|
6
|
+
* The tier a resolved catalog entry originated from, lowest-precedence first.
|
|
7
|
+
*
|
|
8
|
+
* `builtin` is the DEPLOYMENT's own tier: services a deployment registers in code on the
|
|
9
|
+
* app-owned `FoundationalServiceRegistry`, exactly as it registers pipelines or task types.
|
|
10
|
+
* It carries no rows, so it is present from a workspace's first request and cannot drift from
|
|
11
|
+
* the definitions; an account or workspace row of the same id still wins over it, and a
|
|
12
|
+
* tombstone at either tier suppresses it.
|
|
13
|
+
*/
|
|
14
|
+
export declare const foundationalServiceTierSchema: v.PicklistSchema<["builtin", "account", "workspace"], undefined>;
|
|
7
15
|
export type FoundationalServiceTier = v.InferOutput<typeof foundationalServiceTierSchema>;
|
|
8
16
|
/**
|
|
9
|
-
* The API-contract document formats the catalog accepts. Each is stored verbatim as text
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* in a Worker isolate and are handed to the agent as source.
|
|
17
|
+
* The API-contract document formats the catalog accepts. Each is stored verbatim as text and
|
|
18
|
+
* additionally INDEXED into operation names where the format allows it — see
|
|
19
|
+
* {@link operationsAreIndexable}, which is the one place that judgement lives.
|
|
13
20
|
*/
|
|
14
21
|
export declare const apiContractFormatSchema: v.PicklistSchema<["openapi", "toad-contract", "lokalise-api-contract"], undefined>;
|
|
15
22
|
export type ApiContractFormat = v.InferOutput<typeof apiContractFormatSchema>;
|
|
23
|
+
/**
|
|
24
|
+
* Whether an operation index can be derived from a document of this format at all.
|
|
25
|
+
*
|
|
26
|
+
* This is what keeps "this interface declares no operations" apart from "this platform does not
|
|
27
|
+
* read this format": both render as an empty `operations` list, they need opposite reactions
|
|
28
|
+
* from whoever reads the catalog, and collapsing them tells an Architect that a fully-specified
|
|
29
|
+
* service offers nothing. Every surface that renders an operation list branches on it — the
|
|
30
|
+
* agent-facing catalog and the SPA's manifest row alike — so the two cannot disagree.
|
|
31
|
+
*
|
|
32
|
+
* `lokalise-api-contract` is false because its route builders' shapes are not pinned down here
|
|
33
|
+
* and a partial guess at them would be reported as fact. Adding an extractor for it means
|
|
34
|
+
* flipping this and nothing else.
|
|
35
|
+
*/
|
|
36
|
+
export declare function operationsAreIndexable(format: ApiContractFormat): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* The capability tag a foundational service must carry to be selectable as a binary-output
|
|
39
|
+
* step's STORAGE target (enforced at run admission — see `docs/initiatives/
|
|
40
|
+
* binary-output-foundational-storage.md`).
|
|
41
|
+
*
|
|
42
|
+
* It lives here, on the wire, rather than in the kernel alone because the people who need to
|
|
43
|
+
* spell it right are OUTSIDE the backend: a deployment registering its estate, and the SPA
|
|
44
|
+
* rendering the picker. A client that cannot import the vocabulary re-declares it, and the
|
|
45
|
+
* failure of a re-declaration is silent — `asset_storage` registers cleanly and surfaces much
|
|
46
|
+
* later as a refused run.
|
|
47
|
+
*/
|
|
48
|
+
export declare const ASSET_STORAGE_CAPABILITY = "asset-storage";
|
|
49
|
+
/**
|
|
50
|
+
* The CONVENTIONAL tag for a service that can scope a generation — an inventory answering
|
|
51
|
+
* "what entities exist, which lack an asset, how is each described". Deliberately NOT enforced
|
|
52
|
+
* (any service with a readable contract can inform scope), but still reserved: a picker orders
|
|
53
|
+
* by it, so a typo silently loses the ordering rather than failing.
|
|
54
|
+
*/
|
|
55
|
+
export declare const GENERATION_CONTEXT_CAPABILITY = "generation-context";
|
|
56
|
+
/**
|
|
57
|
+
* Capability tags the PLATFORM assigns meaning to. Everything else is free-form org taxonomy
|
|
58
|
+
* and stays that way — this list is not a closed vocabulary, it is the set of spellings a
|
|
59
|
+
* registrant must not miss by a character.
|
|
60
|
+
*/
|
|
61
|
+
export declare const RESERVED_CAPABILITY_TAGS: readonly string[];
|
|
62
|
+
/**
|
|
63
|
+
* The reserved tag `tag` was plainly TRYING to be, when it is not that tag exactly — else null.
|
|
64
|
+
*
|
|
65
|
+
* Capability tags are free-form strings, which is right (an org's taxonomy is its own) and is
|
|
66
|
+
* also why `asset_storage` / `Asset-Storage` / `assetstorage` register without complaint and
|
|
67
|
+
* fail a run hours later as `not_storage_capable`. Comparing on a form with separators and case
|
|
68
|
+
* removed catches exactly the near-misses and nothing else: a genuinely different tag does not
|
|
69
|
+
* collide with a reserved one under it.
|
|
70
|
+
*
|
|
71
|
+
* The caller REFUSES on a hit rather than silently canonicalising, because a registrant who
|
|
72
|
+
* meant a tag of their own under a colliding spelling must learn that the platform reads it as
|
|
73
|
+
* reserved, and a quiet rewrite of someone's taxonomy is its own surprise.
|
|
74
|
+
*/
|
|
75
|
+
export declare function reservedCapabilityNearMiss(tag: string): string | null;
|
|
16
76
|
/**
|
|
17
77
|
* A contract as the CATALOG lists it — identity, format and SIZE, never the body. This is
|
|
18
78
|
* what the Architect's catalog carries: enough to decide whether a service is relevant and
|
|
@@ -28,14 +88,19 @@ export declare const apiContractSummarySchema: v.ObjectSchema<{
|
|
|
28
88
|
/** Repo provenance (`path`), or null when uploaded directly. */
|
|
29
89
|
readonly path: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
30
90
|
/**
|
|
31
|
-
* The operations
|
|
32
|
-
*
|
|
33
|
-
*
|
|
91
|
+
* The operations this document declares (`GET /files/{id}` …), capped. Cheap enough to ride
|
|
92
|
+
* the catalog and it is what makes the catalog actionable — an architect can name the
|
|
93
|
+
* endpoint it intends to call.
|
|
94
|
+
*
|
|
95
|
+
* EMPTY means one of two different things and {@link operationsAreIndexable} is what tells
|
|
96
|
+
* them apart: this format is not read at all, or it is and this document declares nothing.
|
|
34
97
|
*/
|
|
35
98
|
readonly operations: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
36
99
|
/**
|
|
37
|
-
* How many operations
|
|
38
|
-
*
|
|
100
|
+
* How many operations the document declares that {@link operations} does NOT list — dropped
|
|
101
|
+
* by the cap, or (for a contract MODULE) declared in a shape the static extractor could not
|
|
102
|
+
* read. Non-zero says the list is incomplete, so a reader never concludes the rest does not
|
|
103
|
+
* exist.
|
|
39
104
|
*/
|
|
40
105
|
readonly omittedOperations: v.NumberSchema<undefined>;
|
|
41
106
|
}, undefined>;
|
|
@@ -50,14 +115,19 @@ export declare const apiContractDocumentSchema: v.ObjectSchema<{
|
|
|
50
115
|
/** Repo provenance (`path`), or null when uploaded directly. */
|
|
51
116
|
readonly path: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
52
117
|
/**
|
|
53
|
-
* The operations
|
|
54
|
-
*
|
|
55
|
-
*
|
|
118
|
+
* The operations this document declares (`GET /files/{id}` …), capped. Cheap enough to ride
|
|
119
|
+
* the catalog and it is what makes the catalog actionable — an architect can name the
|
|
120
|
+
* endpoint it intends to call.
|
|
121
|
+
*
|
|
122
|
+
* EMPTY means one of two different things and {@link operationsAreIndexable} is what tells
|
|
123
|
+
* them apart: this format is not read at all, or it is and this document declares nothing.
|
|
56
124
|
*/
|
|
57
125
|
readonly operations: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
58
126
|
/**
|
|
59
|
-
* How many operations
|
|
60
|
-
*
|
|
127
|
+
* How many operations the document declares that {@link operations} does NOT list — dropped
|
|
128
|
+
* by the cap, or (for a contract MODULE) declared in a shape the static extractor could not
|
|
129
|
+
* read. Non-zero says the list is incomplete, so a reader never concludes the rest does not
|
|
130
|
+
* exist.
|
|
61
131
|
*/
|
|
62
132
|
readonly omittedOperations: v.NumberSchema<undefined>;
|
|
63
133
|
/** The document verbatim (OpenAPI JSON/YAML, or the contract module's TypeScript source). */
|
|
@@ -86,14 +156,19 @@ export declare const foundationalServiceSchema: v.ObjectSchema<{
|
|
|
86
156
|
/** Repo provenance (`path`), or null when uploaded directly. */
|
|
87
157
|
readonly path: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
88
158
|
/**
|
|
89
|
-
* The operations
|
|
90
|
-
*
|
|
91
|
-
*
|
|
159
|
+
* The operations this document declares (`GET /files/{id}` …), capped. Cheap enough to ride
|
|
160
|
+
* the catalog and it is what makes the catalog actionable — an architect can name the
|
|
161
|
+
* endpoint it intends to call.
|
|
162
|
+
*
|
|
163
|
+
* EMPTY means one of two different things and {@link operationsAreIndexable} is what tells
|
|
164
|
+
* them apart: this format is not read at all, or it is and this document declares nothing.
|
|
92
165
|
*/
|
|
93
166
|
readonly operations: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
94
167
|
/**
|
|
95
|
-
* How many operations
|
|
96
|
-
*
|
|
168
|
+
* How many operations the document declares that {@link operations} does NOT list — dropped
|
|
169
|
+
* by the cap, or (for a contract MODULE) declared in a shape the static extractor could not
|
|
170
|
+
* read. Non-zero says the list is incomplete, so a reader never concludes the rest does not
|
|
171
|
+
* exist.
|
|
97
172
|
*/
|
|
98
173
|
readonly omittedOperations: v.NumberSchema<undefined>;
|
|
99
174
|
}, undefined>, undefined>;
|
|
@@ -106,19 +181,21 @@ export declare const foundationalServiceSchema: v.ObjectSchema<{
|
|
|
106
181
|
readonly updatedAt: v.NumberSchema<undefined>;
|
|
107
182
|
}, undefined>;
|
|
108
183
|
export type FoundationalService = v.InferOutput<typeof foundationalServiceSchema>;
|
|
109
|
-
/**
|
|
184
|
+
/**
|
|
185
|
+
* A resolved (builtin ⊕ account ⊕ workspace merged) catalog entry, carrying its winning tier.
|
|
186
|
+
*
|
|
187
|
+
* Deliberately NARROWER than {@link foundationalServiceSchema}: the merged read carries only
|
|
188
|
+
* what every tier can honestly fill. A `builtin` entry is registered in code, so it has no
|
|
189
|
+
* owning scope, no repo provenance and no row timestamps — and the alternative to dropping
|
|
190
|
+
* those fields is filling them with placeholders that read as facts. They remain on the
|
|
191
|
+
* per-tier management read, which is where a stored row's provenance belongs.
|
|
192
|
+
*/
|
|
110
193
|
export declare const resolvedFoundationalServiceSchema: v.ObjectSchema<{
|
|
111
|
-
/** Stable slug the Architect names in its design (e.g. `file-storage`). */
|
|
112
194
|
readonly id: v.StringSchema<undefined>;
|
|
113
|
-
readonly ownerKind: v.PicklistSchema<["account", "workspace"], undefined>;
|
|
114
195
|
readonly name: v.StringSchema<undefined>;
|
|
115
|
-
/** One line; the catalog's relevance signal. */
|
|
116
196
|
readonly summary: v.StringSchema<undefined>;
|
|
117
|
-
/** The general description — what it does, when to use it, what it does NOT cover. */
|
|
118
197
|
readonly description: v.StringSchema<undefined>;
|
|
119
|
-
/** Free-form capability tags (`file-storage`, `notifications`, `audit`). */
|
|
120
198
|
readonly capabilities: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
121
|
-
/** Contract manifest — never bodies (see {@link apiContractSummarySchema}). */
|
|
122
199
|
readonly contracts: v.ArraySchema<v.ObjectSchema<{
|
|
123
200
|
readonly contractId: v.StringSchema<undefined>;
|
|
124
201
|
readonly format: v.PicklistSchema<["openapi", "toad-contract", "lokalise-api-contract"], undefined>;
|
|
@@ -128,38 +205,37 @@ export declare const resolvedFoundationalServiceSchema: v.ObjectSchema<{
|
|
|
128
205
|
/** Repo provenance (`path`), or null when uploaded directly. */
|
|
129
206
|
readonly path: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
130
207
|
/**
|
|
131
|
-
* The operations
|
|
132
|
-
*
|
|
133
|
-
*
|
|
208
|
+
* The operations this document declares (`GET /files/{id}` …), capped. Cheap enough to ride
|
|
209
|
+
* the catalog and it is what makes the catalog actionable — an architect can name the
|
|
210
|
+
* endpoint it intends to call.
|
|
211
|
+
*
|
|
212
|
+
* EMPTY means one of two different things and {@link operationsAreIndexable} is what tells
|
|
213
|
+
* them apart: this format is not read at all, or it is and this document declares nothing.
|
|
134
214
|
*/
|
|
135
215
|
readonly operations: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
136
216
|
/**
|
|
137
|
-
* How many operations
|
|
138
|
-
*
|
|
217
|
+
* How many operations the document declares that {@link operations} does NOT list — dropped
|
|
218
|
+
* by the cap, or (for a contract MODULE) declared in a shape the static extractor could not
|
|
219
|
+
* read. Non-zero says the list is incomplete, so a reader never concludes the rest does not
|
|
220
|
+
* exist.
|
|
139
221
|
*/
|
|
140
222
|
readonly omittedOperations: v.NumberSchema<undefined>;
|
|
141
223
|
}, undefined>, undefined>;
|
|
142
|
-
|
|
143
|
-
readonly sourceId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
144
|
-
readonly sourcePath: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
145
|
-
/** Head commit the service's directory was pinned to at the last sync. */
|
|
146
|
-
readonly pinnedCommit: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
147
|
-
readonly createdAt: v.NumberSchema<undefined>;
|
|
148
|
-
readonly updatedAt: v.NumberSchema<undefined>;
|
|
149
|
-
readonly tier: v.PicklistSchema<["account", "workspace"], undefined>;
|
|
224
|
+
readonly tier: v.PicklistSchema<["builtin", "account", "workspace"], undefined>;
|
|
150
225
|
}, undefined>;
|
|
151
226
|
export type ResolvedFoundationalService = v.InferOutput<typeof resolvedFoundationalServiceSchema>;
|
|
152
227
|
/**
|
|
153
|
-
* One SUPPRESSION a
|
|
154
|
-
*
|
|
228
|
+
* One SUPPRESSION a tier is asserting: an id it tombstones, so the service it inherits under
|
|
229
|
+
* that id — a `builtin` the deployment registered, or (for a board) an account service — loses
|
|
230
|
+
* the merge.
|
|
155
231
|
*
|
|
156
232
|
* A suppressed id is by construction absent from the merged catalog, which is what makes this a
|
|
157
233
|
* separate read rather than a flag on it — without it the management surface could offer no way
|
|
158
234
|
* back, and suppression would be a one-way door.
|
|
159
235
|
*
|
|
160
236
|
* `inherited` is the honest half: `false` says the tombstone currently shadows NOTHING (the
|
|
161
|
-
*
|
|
162
|
-
* conclude a capability is being withheld when there is none to withhold. The name is the
|
|
237
|
+
* tier below withdrew the service, or this tier deleted its own registration), so a reader does
|
|
238
|
+
* not conclude a capability is being withheld when there is none to withhold. The name is the
|
|
163
239
|
* inherited service's when there is one and the tombstone's own otherwise, which is empty for a
|
|
164
240
|
* suppression written against an id this tier never registered.
|
|
165
241
|
*/
|
|
@@ -195,6 +271,16 @@ export declare const createFoundationalServiceSchema: v.ObjectSchema<{
|
|
|
195
271
|
}, undefined>, undefined>, undefined>;
|
|
196
272
|
}, undefined>;
|
|
197
273
|
export type CreateFoundationalServiceInput = v.InferOutput<typeof createFoundationalServiceSchema>;
|
|
274
|
+
/**
|
|
275
|
+
* The ways `definition` fails {@link createFoundationalServiceSchema}, as readable lines — empty
|
|
276
|
+
* when it would be accepted.
|
|
277
|
+
*
|
|
278
|
+
* Exists so a caller that cannot depend on valibot (the backend's kernel and orchestration
|
|
279
|
+
* layers) can still hold a deployment's CODE-registered service to the very schema the REST
|
|
280
|
+
* write boundary applies. Re-stating those rules in a second place is how a code-registered
|
|
281
|
+
* definition ends up accepted where an uploaded one is refused.
|
|
282
|
+
*/
|
|
283
|
+
export declare function foundationalServiceDefinitionIssues(definition: unknown): string[];
|
|
198
284
|
/**
|
|
199
285
|
* Patch a registered service. `contracts`, when present, REPLACES the whole uploaded set —
|
|
200
286
|
* a contract document has no meaningful partial edit, and a merge would leave a removed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foundational-services.d.ts","sourceRoot":"","sources":["../src/foundational-services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAqB5B,oFAAoF;AACpF,eAAO,MAAM,kCAAkC,uDAA0B,CAAA;AACzE,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kCAAkC,CAAC,CAAA;AAEnG
|
|
1
|
+
{"version":3,"file":"foundational-services.d.ts","sourceRoot":"","sources":["../src/foundational-services.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,21 +11,28 @@ import { fragmentOwnerKindSchema } from './fragment-library.js';
|
|
|
11
11
|
// contract module, or a `@lokalise/api-contract` module), supplied either by direct
|
|
12
12
|
// upload or by pointing at files/folders in a git repo (cached + autorefreshed).
|
|
13
13
|
//
|
|
14
|
-
// Registration is TIERED exactly like the prompt-fragment library:
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
|
-
//
|
|
18
|
-
// need them.
|
|
14
|
+
// Registration is TIERED exactly like the prompt-fragment library: a `builtin` definition
|
|
15
|
+
// registered in code by the deployment is shared by every account, an `account` row wins
|
|
16
|
+
// over it, and a `workspace` row wins over both. The resolved catalog is what the Architect
|
|
17
|
+
// sees; the contract BODIES are read lazily, only for the services the Architect declared,
|
|
18
|
+
// and only by the downstream kinds that need them.
|
|
19
19
|
// ---------------------------------------------------------------------------
|
|
20
20
|
/** Which scope owns a foundational service / source: an account, or a workspace. */
|
|
21
21
|
export const foundationalServiceOwnerKindSchema = fragmentOwnerKindSchema;
|
|
22
|
-
/** The tier a resolved catalog entry originated from, lowest-precedence first. */
|
|
23
|
-
export const foundationalServiceTierSchema = v.picklist(['account', 'workspace']);
|
|
24
22
|
/**
|
|
25
|
-
* The
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
23
|
+
* The tier a resolved catalog entry originated from, lowest-precedence first.
|
|
24
|
+
*
|
|
25
|
+
* `builtin` is the DEPLOYMENT's own tier: services a deployment registers in code on the
|
|
26
|
+
* app-owned `FoundationalServiceRegistry`, exactly as it registers pipelines or task types.
|
|
27
|
+
* It carries no rows, so it is present from a workspace's first request and cannot drift from
|
|
28
|
+
* the definitions; an account or workspace row of the same id still wins over it, and a
|
|
29
|
+
* tombstone at either tier suppresses it.
|
|
30
|
+
*/
|
|
31
|
+
export const foundationalServiceTierSchema = v.picklist(['builtin', 'account', 'workspace']);
|
|
32
|
+
/**
|
|
33
|
+
* The API-contract document formats the catalog accepts. Each is stored verbatim as text and
|
|
34
|
+
* additionally INDEXED into operation names where the format allows it — see
|
|
35
|
+
* {@link operationsAreIndexable}, which is the one place that judgement lives.
|
|
29
36
|
*/
|
|
30
37
|
export const apiContractFormatSchema = v.picklist([
|
|
31
38
|
/** An OpenAPI 3.x document, JSON or YAML. */
|
|
@@ -35,6 +42,73 @@ export const apiContractFormatSchema = v.picklist([
|
|
|
35
42
|
/** A module built on `@lokalise/api-contract` (`buildPayloadRoute` / `buildGetRoute` …). */
|
|
36
43
|
'lokalise-api-contract',
|
|
37
44
|
]);
|
|
45
|
+
/**
|
|
46
|
+
* Whether an operation index can be derived from a document of this format at all.
|
|
47
|
+
*
|
|
48
|
+
* This is what keeps "this interface declares no operations" apart from "this platform does not
|
|
49
|
+
* read this format": both render as an empty `operations` list, they need opposite reactions
|
|
50
|
+
* from whoever reads the catalog, and collapsing them tells an Architect that a fully-specified
|
|
51
|
+
* service offers nothing. Every surface that renders an operation list branches on it — the
|
|
52
|
+
* agent-facing catalog and the SPA's manifest row alike — so the two cannot disagree.
|
|
53
|
+
*
|
|
54
|
+
* `lokalise-api-contract` is false because its route builders' shapes are not pinned down here
|
|
55
|
+
* and a partial guess at them would be reported as fact. Adding an extractor for it means
|
|
56
|
+
* flipping this and nothing else.
|
|
57
|
+
*/
|
|
58
|
+
export function operationsAreIndexable(format) {
|
|
59
|
+
return format === 'openapi' || format === 'toad-contract';
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The capability tag a foundational service must carry to be selectable as a binary-output
|
|
63
|
+
* step's STORAGE target (enforced at run admission — see `docs/initiatives/
|
|
64
|
+
* binary-output-foundational-storage.md`).
|
|
65
|
+
*
|
|
66
|
+
* It lives here, on the wire, rather than in the kernel alone because the people who need to
|
|
67
|
+
* spell it right are OUTSIDE the backend: a deployment registering its estate, and the SPA
|
|
68
|
+
* rendering the picker. A client that cannot import the vocabulary re-declares it, and the
|
|
69
|
+
* failure of a re-declaration is silent — `asset_storage` registers cleanly and surfaces much
|
|
70
|
+
* later as a refused run.
|
|
71
|
+
*/
|
|
72
|
+
export const ASSET_STORAGE_CAPABILITY = 'asset-storage';
|
|
73
|
+
/**
|
|
74
|
+
* The CONVENTIONAL tag for a service that can scope a generation — an inventory answering
|
|
75
|
+
* "what entities exist, which lack an asset, how is each described". Deliberately NOT enforced
|
|
76
|
+
* (any service with a readable contract can inform scope), but still reserved: a picker orders
|
|
77
|
+
* by it, so a typo silently loses the ordering rather than failing.
|
|
78
|
+
*/
|
|
79
|
+
export const GENERATION_CONTEXT_CAPABILITY = 'generation-context';
|
|
80
|
+
/**
|
|
81
|
+
* Capability tags the PLATFORM assigns meaning to. Everything else is free-form org taxonomy
|
|
82
|
+
* and stays that way — this list is not a closed vocabulary, it is the set of spellings a
|
|
83
|
+
* registrant must not miss by a character.
|
|
84
|
+
*/
|
|
85
|
+
export const RESERVED_CAPABILITY_TAGS = [
|
|
86
|
+
ASSET_STORAGE_CAPABILITY,
|
|
87
|
+
GENERATION_CONTEXT_CAPABILITY,
|
|
88
|
+
];
|
|
89
|
+
/**
|
|
90
|
+
* The reserved tag `tag` was plainly TRYING to be, when it is not that tag exactly — else null.
|
|
91
|
+
*
|
|
92
|
+
* Capability tags are free-form strings, which is right (an org's taxonomy is its own) and is
|
|
93
|
+
* also why `asset_storage` / `Asset-Storage` / `assetstorage` register without complaint and
|
|
94
|
+
* fail a run hours later as `not_storage_capable`. Comparing on a form with separators and case
|
|
95
|
+
* removed catches exactly the near-misses and nothing else: a genuinely different tag does not
|
|
96
|
+
* collide with a reserved one under it.
|
|
97
|
+
*
|
|
98
|
+
* The caller REFUSES on a hit rather than silently canonicalising, because a registrant who
|
|
99
|
+
* meant a tag of their own under a colliding spelling must learn that the platform reads it as
|
|
100
|
+
* reserved, and a quiet rewrite of someone's taxonomy is its own surprise.
|
|
101
|
+
*/
|
|
102
|
+
export function reservedCapabilityNearMiss(tag) {
|
|
103
|
+
if (RESERVED_CAPABILITY_TAGS.includes(tag))
|
|
104
|
+
return null;
|
|
105
|
+
const normalized = normalizeCapabilityTag(tag);
|
|
106
|
+
return (RESERVED_CAPABILITY_TAGS.find((reserved) => normalizeCapabilityTag(reserved) === normalized) ??
|
|
107
|
+
null);
|
|
108
|
+
}
|
|
109
|
+
function normalizeCapabilityTag(tag) {
|
|
110
|
+
return tag.toLowerCase().replace(/[\s_-]+/g, '');
|
|
111
|
+
}
|
|
38
112
|
/**
|
|
39
113
|
* A contract as the CATALOG lists it — identity, format and SIZE, never the body. This is
|
|
40
114
|
* what the Architect's catalog carries: enough to decide whether a service is relevant and
|
|
@@ -50,14 +124,19 @@ export const apiContractSummarySchema = v.object({
|
|
|
50
124
|
/** Repo provenance (`path`), or null when uploaded directly. */
|
|
51
125
|
path: v.nullable(v.string()),
|
|
52
126
|
/**
|
|
53
|
-
* The operations
|
|
54
|
-
*
|
|
55
|
-
*
|
|
127
|
+
* The operations this document declares (`GET /files/{id}` …), capped. Cheap enough to ride
|
|
128
|
+
* the catalog and it is what makes the catalog actionable — an architect can name the
|
|
129
|
+
* endpoint it intends to call.
|
|
130
|
+
*
|
|
131
|
+
* EMPTY means one of two different things and {@link operationsAreIndexable} is what tells
|
|
132
|
+
* them apart: this format is not read at all, or it is and this document declares nothing.
|
|
56
133
|
*/
|
|
57
134
|
operations: v.array(v.string()),
|
|
58
135
|
/**
|
|
59
|
-
* How many operations
|
|
60
|
-
*
|
|
136
|
+
* How many operations the document declares that {@link operations} does NOT list — dropped
|
|
137
|
+
* by the cap, or (for a contract MODULE) declared in a shape the static extractor could not
|
|
138
|
+
* read. Non-zero says the list is incomplete, so a reader never concludes the rest does not
|
|
139
|
+
* exist.
|
|
61
140
|
*/
|
|
62
141
|
omittedOperations: v.number(),
|
|
63
142
|
});
|
|
@@ -89,22 +168,36 @@ export const foundationalServiceSchema = v.object({
|
|
|
89
168
|
createdAt: v.number(),
|
|
90
169
|
updatedAt: v.number(),
|
|
91
170
|
});
|
|
92
|
-
/**
|
|
171
|
+
/**
|
|
172
|
+
* A resolved (builtin ⊕ account ⊕ workspace merged) catalog entry, carrying its winning tier.
|
|
173
|
+
*
|
|
174
|
+
* Deliberately NARROWER than {@link foundationalServiceSchema}: the merged read carries only
|
|
175
|
+
* what every tier can honestly fill. A `builtin` entry is registered in code, so it has no
|
|
176
|
+
* owning scope, no repo provenance and no row timestamps — and the alternative to dropping
|
|
177
|
+
* those fields is filling them with placeholders that read as facts. They remain on the
|
|
178
|
+
* per-tier management read, which is where a stored row's provenance belongs.
|
|
179
|
+
*/
|
|
93
180
|
export const resolvedFoundationalServiceSchema = v.object({
|
|
94
|
-
|
|
181
|
+
id: v.string(),
|
|
182
|
+
name: v.string(),
|
|
183
|
+
summary: v.string(),
|
|
184
|
+
description: v.string(),
|
|
185
|
+
capabilities: v.array(v.string()),
|
|
186
|
+
contracts: v.array(apiContractSummarySchema),
|
|
95
187
|
tier: foundationalServiceTierSchema,
|
|
96
188
|
});
|
|
97
189
|
/**
|
|
98
|
-
* One SUPPRESSION a
|
|
99
|
-
*
|
|
190
|
+
* One SUPPRESSION a tier is asserting: an id it tombstones, so the service it inherits under
|
|
191
|
+
* that id — a `builtin` the deployment registered, or (for a board) an account service — loses
|
|
192
|
+
* the merge.
|
|
100
193
|
*
|
|
101
194
|
* A suppressed id is by construction absent from the merged catalog, which is what makes this a
|
|
102
195
|
* separate read rather than a flag on it — without it the management surface could offer no way
|
|
103
196
|
* back, and suppression would be a one-way door.
|
|
104
197
|
*
|
|
105
198
|
* `inherited` is the honest half: `false` says the tombstone currently shadows NOTHING (the
|
|
106
|
-
*
|
|
107
|
-
* conclude a capability is being withheld when there is none to withhold. The name is the
|
|
199
|
+
* tier below withdrew the service, or this tier deleted its own registration), so a reader does
|
|
200
|
+
* not conclude a capability is being withheld when there is none to withhold. The name is the
|
|
108
201
|
* inherited service's when there is one and the tombstone's own otherwise, which is empty for a
|
|
109
202
|
* suppression written against an id this tier never registered.
|
|
110
203
|
*/
|
|
@@ -132,6 +225,24 @@ export const createFoundationalServiceSchema = v.object({
|
|
|
132
225
|
capabilities: v.optional(v.array(v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(64)))),
|
|
133
226
|
contracts: v.optional(v.array(uploadApiContractSchema)),
|
|
134
227
|
});
|
|
228
|
+
/**
|
|
229
|
+
* The ways `definition` fails {@link createFoundationalServiceSchema}, as readable lines — empty
|
|
230
|
+
* when it would be accepted.
|
|
231
|
+
*
|
|
232
|
+
* Exists so a caller that cannot depend on valibot (the backend's kernel and orchestration
|
|
233
|
+
* layers) can still hold a deployment's CODE-registered service to the very schema the REST
|
|
234
|
+
* write boundary applies. Re-stating those rules in a second place is how a code-registered
|
|
235
|
+
* definition ends up accepted where an uploaded one is refused.
|
|
236
|
+
*/
|
|
237
|
+
export function foundationalServiceDefinitionIssues(definition) {
|
|
238
|
+
const parsed = v.safeParse(createFoundationalServiceSchema, definition);
|
|
239
|
+
if (parsed.success)
|
|
240
|
+
return [];
|
|
241
|
+
return parsed.issues.map((issue) => {
|
|
242
|
+
const path = issue.path?.map((segment) => String(segment.key)).join('.');
|
|
243
|
+
return path ? `${path}: ${issue.message}` : issue.message;
|
|
244
|
+
});
|
|
245
|
+
}
|
|
135
246
|
/**
|
|
136
247
|
* Patch a registered service. `contracts`, when present, REPLACES the whole uploaded set —
|
|
137
248
|
* a contract document has no meaningful partial edit, and a merge would leave a removed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foundational-services.js","sourceRoot":"","sources":["../src/foundational-services.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"foundational-services.js","sourceRoot":"","sources":["../src/foundational-services.ts"],"names":[],"mappings":"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"}
|
package/dist/github.d.ts
CHANGED
|
@@ -284,4 +284,83 @@ export declare const commentSchema: v.ObjectSchema<{
|
|
|
284
284
|
readonly body: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
285
285
|
}, undefined>;
|
|
286
286
|
export type CommentInput = v.InferOutput<typeof commentSchema>;
|
|
287
|
+
/**
|
|
288
|
+
* Three states, never two. `unknown` is a real answer: a probe that could not reach the host
|
|
289
|
+
* must not render as either "protected" or "unprotected", or the report manufactures an
|
|
290
|
+
* all-clear (or a false alarm) out of an outage.
|
|
291
|
+
*/
|
|
292
|
+
export declare const branchProtectionStateSchema: v.PicklistSchema<["protected", "unprotected", "unknown"], undefined>;
|
|
293
|
+
export type BranchProtectionStateValue = v.InferOutput<typeof branchProtectionStateSchema>;
|
|
294
|
+
/** Why a state is `unknown`. Kept apart because each needs a different fix. */
|
|
295
|
+
export declare const branchProtectionUnknownReasonSchema: v.PicklistSchema<["branch_not_found", "forbidden", "error"], undefined>;
|
|
296
|
+
/**
|
|
297
|
+
* The protection rule's contents. Present only when the run credential could READ the rule,
|
|
298
|
+
* which needs admin access a minimally-scoped App installation deliberately lacks — so the
|
|
299
|
+
* state above is always answerable and this is not.
|
|
300
|
+
*/
|
|
301
|
+
export declare const branchProtectionDetailSchema: v.ObjectSchema<{
|
|
302
|
+
readonly requiresPullRequest: v.BooleanSchema<undefined>;
|
|
303
|
+
readonly requiredApprovingReviewCount: v.NumberSchema<undefined>;
|
|
304
|
+
readonly requiredStatusChecks: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
305
|
+
readonly allowsForcePush: v.BooleanSchema<undefined>;
|
|
306
|
+
}, undefined>;
|
|
307
|
+
export declare const branchProtectionSummarySchema: v.ObjectSchema<{
|
|
308
|
+
readonly state: v.PicklistSchema<["protected", "unprotected", "unknown"], undefined>;
|
|
309
|
+
readonly reason: v.OptionalSchema<v.PicklistSchema<["branch_not_found", "forbidden", "error"], undefined>, undefined>;
|
|
310
|
+
readonly detail: v.OptionalSchema<v.ObjectSchema<{
|
|
311
|
+
readonly requiresPullRequest: v.BooleanSchema<undefined>;
|
|
312
|
+
readonly requiredApprovingReviewCount: v.NumberSchema<undefined>;
|
|
313
|
+
readonly requiredStatusChecks: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
314
|
+
readonly allowsForcePush: v.BooleanSchema<undefined>;
|
|
315
|
+
}, undefined>, undefined>;
|
|
316
|
+
/** Set on a PROTECTED branch whose rule could not be read — a distinct operator situation. */
|
|
317
|
+
readonly detailUnavailable: v.OptionalSchema<v.PicklistSchema<["forbidden", "error"], undefined>, undefined>;
|
|
318
|
+
}, undefined>;
|
|
319
|
+
export type BranchProtectionSummaryView = v.InferOutput<typeof branchProtectionSummarySchema>;
|
|
320
|
+
export declare const repoBranchProtectionSchema: v.ObjectSchema<{
|
|
321
|
+
readonly repoGithubId: v.NumberSchema<undefined>;
|
|
322
|
+
readonly owner: v.StringSchema<undefined>;
|
|
323
|
+
readonly name: v.StringSchema<undefined>;
|
|
324
|
+
readonly defaultBranch: v.StringSchema<undefined>;
|
|
325
|
+
readonly protection: v.ObjectSchema<{
|
|
326
|
+
readonly state: v.PicklistSchema<["protected", "unprotected", "unknown"], undefined>;
|
|
327
|
+
readonly reason: v.OptionalSchema<v.PicklistSchema<["branch_not_found", "forbidden", "error"], undefined>, undefined>;
|
|
328
|
+
readonly detail: v.OptionalSchema<v.ObjectSchema<{
|
|
329
|
+
readonly requiresPullRequest: v.BooleanSchema<undefined>;
|
|
330
|
+
readonly requiredApprovingReviewCount: v.NumberSchema<undefined>;
|
|
331
|
+
readonly requiredStatusChecks: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
332
|
+
readonly allowsForcePush: v.BooleanSchema<undefined>;
|
|
333
|
+
}, undefined>, undefined>;
|
|
334
|
+
/** Set on a PROTECTED branch whose rule could not be read — a distinct operator situation. */
|
|
335
|
+
readonly detailUnavailable: v.OptionalSchema<v.PicklistSchema<["forbidden", "error"], undefined>, undefined>;
|
|
336
|
+
}, undefined>;
|
|
337
|
+
}, undefined>;
|
|
338
|
+
export declare const branchProtectionReportSchema: v.ObjectSchema<{
|
|
339
|
+
/**
|
|
340
|
+
* `unavailable` ⇒ the wired VCS provider cannot answer this at all. Reported as its own
|
|
341
|
+
* state so an empty report never impersonates a clean one.
|
|
342
|
+
*/
|
|
343
|
+
readonly capability: v.PicklistSchema<["ok", "unavailable"], undefined>;
|
|
344
|
+
readonly repos: v.ArraySchema<v.ObjectSchema<{
|
|
345
|
+
readonly repoGithubId: v.NumberSchema<undefined>;
|
|
346
|
+
readonly owner: v.StringSchema<undefined>;
|
|
347
|
+
readonly name: v.StringSchema<undefined>;
|
|
348
|
+
readonly defaultBranch: v.StringSchema<undefined>;
|
|
349
|
+
readonly protection: v.ObjectSchema<{
|
|
350
|
+
readonly state: v.PicklistSchema<["protected", "unprotected", "unknown"], undefined>;
|
|
351
|
+
readonly reason: v.OptionalSchema<v.PicklistSchema<["branch_not_found", "forbidden", "error"], undefined>, undefined>;
|
|
352
|
+
readonly detail: v.OptionalSchema<v.ObjectSchema<{
|
|
353
|
+
readonly requiresPullRequest: v.BooleanSchema<undefined>;
|
|
354
|
+
readonly requiredApprovingReviewCount: v.NumberSchema<undefined>;
|
|
355
|
+
readonly requiredStatusChecks: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
356
|
+
readonly allowsForcePush: v.BooleanSchema<undefined>;
|
|
357
|
+
}, undefined>, undefined>;
|
|
358
|
+
/** Set on a PROTECTED branch whose rule could not be read — a distinct operator situation. */
|
|
359
|
+
readonly detailUnavailable: v.OptionalSchema<v.PicklistSchema<["forbidden", "error"], undefined>, undefined>;
|
|
360
|
+
}, undefined>;
|
|
361
|
+
}, undefined>, undefined>;
|
|
362
|
+
/** Linked repositories left unprobed by the fan-out cap — stated, never silently dropped. */
|
|
363
|
+
readonly omittedRepos: v.NumberSchema<undefined>;
|
|
364
|
+
}, undefined>;
|
|
365
|
+
export type BranchProtectionReportView = v.InferOutput<typeof branchProtectionReportSchema>;
|
|
287
366
|
//# sourceMappingURL=github.d.ts.map
|