@cat-factory/server 0.262.0 → 0.263.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/agents/toolServers.d.ts.map +1 -1
- package/dist/agents/toolServers.js +62 -23
- package/dist/agents/toolServers.js.map +1 -1
- package/dist/modules/persistence/PersistenceController.d.ts.map +1 -1
- package/dist/modules/persistence/PersistenceController.js +59 -0
- package/dist/modules/persistence/PersistenceController.js.map +1 -1
- package/dist/modules/publicApi/PublicSpecController.d.ts.map +1 -1
- package/dist/modules/publicApi/PublicSpecController.js +90 -8
- package/dist/modules/publicApi/PublicSpecController.js.map +1 -1
- package/dist/modules/publicApi/openapiDocument.generated.d.ts +1 -1
- package/dist/modules/publicApi/openapiDocument.generated.d.ts.map +1 -1
- package/dist/modules/publicApi/openapiDocument.generated.js +1 -1
- package/dist/modules/publicApi/openapiDocument.generated.js.map +1 -1
- package/dist/modules/publicApi/specProjection.d.ts +17 -1
- package/dist/modules/publicApi/specProjection.d.ts.map +1 -1
- package/dist/modules/publicApi/specProjection.js +39 -9
- package/dist/modules/publicApi/specProjection.js.map +1 -1
- package/dist/modules/toolServers/mcpOAuthRedirect.d.ts +4 -2
- package/dist/modules/toolServers/mcpOAuthRedirect.d.ts.map +1 -1
- package/dist/modules/toolServers/mcpOAuthRedirect.js +4 -2
- package/dist/modules/toolServers/mcpOAuthRedirect.js.map +1 -1
- package/dist/modules/toolServers/probeToolServer.d.ts.map +1 -1
- package/dist/modules/toolServers/probeToolServer.js +32 -7
- package/dist/modules/toolServers/probeToolServer.js.map +1 -1
- package/dist/persistence/rpc-allowlist.d.ts.map +1 -1
- package/dist/persistence/rpc-allowlist.js +86 -31
- package/dist/persistence/rpc-allowlist.js.map +1 -1
- package/dist/persistence/rpc-scope.logic.d.ts +24 -1
- package/dist/persistence/rpc-scope.logic.d.ts.map +1 -1
- package/dist/persistence/rpc-scope.logic.js +62 -0
- package/dist/persistence/rpc-scope.logic.js.map +1 -1
- package/dist/persistence/rpc.d.ts +79 -0
- package/dist/persistence/rpc.d.ts.map +1 -1
- package/dist/persistence/rpc.js +17 -1
- package/dist/persistence/rpc.js.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolServers.d.ts","sourceRoot":"","sources":["../../src/agents/toolServers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EACf,WAAW,EACX,MAAM,EAGN,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"toolServers.d.ts","sourceRoot":"","sources":["../../src/agents/toolServers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EACf,WAAW,EACX,MAAM,EAGN,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAW5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAMjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAmB5D,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,OAAO,GAAG,MAAM,CAAA;IAC3B,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,0FAA0F;IAC1F,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,iBAAiB;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,eAAe,CAAA;IACxB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,uFAAuF;IACvF,OAAO,EAAE,WAAW,CAAA;IACpB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+FAA+F;IAC/F,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,mBAAmB,CAAA;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,wFAAwF;IACxF,WAAW,EAAE,kBAAkB,EAAE,CAAA;IACjC,yFAAyF;IACzF,sBAAsB,EAAE,qBAAqB,EAAE,CAAA;IAC/C,wDAAwD;IACxD,UAAU,EAAE,gBAAgB,EAAE,CAAA;CAC/B;AAQD;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAqE9B;AA+SD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUxB;AAwDD,MAAM,WAAW,4BAA4B;IAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACxC,OAAO,GAAE,4BAAiC,GACzC,kBAAkB,CAapB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,mBAAmB,CAcvF;AAED,6EAA6E;AAC7E,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,sBAAsB,CAAC,EAAE,mBAAmB,CAAA;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE;IACJ,kBAAkB,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAA;IACnD,sBAAsB,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAA;IACxD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B,EACD,iBAAiB,EAAE,iBAAiB,GACnC,sBAAsB,CAOxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,sBAAsB,EAC5B,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACzF,OAAO,CAAC,mBAAmB,CAAC,CAY9B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TOOL_SERVER_BUDGET, isValidMcpToolName, mcpHarnessServesTransport, mcpServerSupportsHarness, noopLogger, runBestEffort, } from '@cat-factory/kernel';
|
|
1
|
+
import { TOOL_SERVER_BUDGET, isValidMcpToolName, mcpCredentialChannel, mcpHarnessServesTransport, mcpServerSupportsHarness, mcpTransportCarriesCredential, noopLogger, runBestEffort, } from '@cat-factory/kernel';
|
|
2
2
|
import { isReservedPlatformEnvKey, isToolchainEnvName, reservedEnvKeyMessage, } from '@cat-factory/contracts';
|
|
3
3
|
const EMPTY = {
|
|
4
4
|
toolServers: [],
|
|
@@ -154,36 +154,71 @@ function reportUnknown(input, unknown) {
|
|
|
154
154
|
});
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* The declared credentials this dispatch may resolve, or the reason a REQUIRED one forces the
|
|
159
|
+
* whole server to be dropped. Two floors, applied BEFORE the resolver is asked.
|
|
160
|
+
*
|
|
161
|
+
* That ordering is the point in both cases. A floor must hold whatever a facade wired, so it
|
|
162
|
+
* cannot live inside the env-backed default resolver, and a key nothing downstream can use is one
|
|
163
|
+
* whose value costs a round trip and materialises a secret for no reader.
|
|
164
|
+
*
|
|
165
|
+
* Both are re-applied here having already been refused at boot, because a mothership-mode node
|
|
166
|
+
* boot-validates nothing it resolves: the definitions arrive per dispatch from a process one build
|
|
167
|
+
* ahead of it, so a declaration this build would refuse still reaches this one.
|
|
168
|
+
*
|
|
169
|
+
* The disposition is the same for both and follows the DECLARATION rather than the fault: a
|
|
170
|
+
* REQUIRED key drops the server under its own reason, an OPTIONAL one costs only that key, exactly
|
|
171
|
+
* as an optional key that did not resolve does. So neither floor adds a second way for a server to
|
|
172
|
+
* disappear.
|
|
173
|
+
*/
|
|
174
|
+
function admitCredentials(input, definition, declared) {
|
|
175
|
+
const keys = [];
|
|
176
|
+
for (const key of declared) {
|
|
177
|
+
if (isReservedPlatformEnvKey(key.key)) {
|
|
178
|
+
input.logger?.warn('tool server declares a reserved credential key; refusing to resolve it', {
|
|
179
|
+
toolServerId: definition.id,
|
|
180
|
+
credentialKey: key.key,
|
|
181
|
+
detail: reservedEnvKeyMessage(key.key),
|
|
182
|
+
});
|
|
183
|
+
if (key.required !== false)
|
|
184
|
+
return { reason: 'reserved_secret' };
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
187
|
+
// The channel floor: a credential naming a channel its transport does not have (a header on a
|
|
188
|
+
// stdio child process, no header on a remote url) resolves fine and is then folded into
|
|
189
|
+
// nothing by the projection that builds the job body, leaving the server wired, advertised in
|
|
190
|
+
// the prompt, and running unauthenticated. Stating it is the whole point: the value is not
|
|
191
|
+
// missing and the key is not refused, so both neighbouring reasons would send an operator
|
|
192
|
+
// somewhere the fix is not.
|
|
193
|
+
if (!mcpTransportCarriesCredential(definition.transport.kind, key)) {
|
|
194
|
+
input.logger?.warn('tool server credential cannot ride its transport; refusing to send it', {
|
|
195
|
+
toolServerId: definition.id,
|
|
196
|
+
credentialKey: key.key,
|
|
197
|
+
transport: definition.transport.kind,
|
|
198
|
+
declaredChannel: mcpCredentialChannel(key),
|
|
199
|
+
});
|
|
200
|
+
if (key.required !== false)
|
|
201
|
+
return { reason: 'unusable_secret' };
|
|
202
|
+
continue;
|
|
203
|
+
}
|
|
204
|
+
keys.push(key);
|
|
205
|
+
}
|
|
206
|
+
return { keys };
|
|
207
|
+
}
|
|
157
208
|
/**
|
|
158
209
|
* Resolve a server's declared credentials. Returns a REASON instead of a map when a REQUIRED
|
|
159
210
|
* secret cannot be supplied — the caller then drops the server, because handing an agent a tool
|
|
160
211
|
* whose first call will 401 is worse than telling it the tool is absent. A server with no
|
|
161
212
|
* declared secrets resolves trivially (an empty record) without consulting the resolver at all.
|
|
162
|
-
*
|
|
163
|
-
* A key naming a platform configuration variable is dropped BEFORE the resolver is asked, and
|
|
164
|
-
* that ordering is the point: the floor must hold whatever a facade wired, so it cannot live
|
|
165
|
-
* inside the env-backed default. Boot validation already refused such a declaration, but a
|
|
166
|
-
* mothership-mode node boot-validates nothing it resolves — the definitions arrive per dispatch
|
|
167
|
-
* from a process one build ahead of it.
|
|
168
213
|
*/
|
|
169
214
|
async function resolveSecrets(input, definition) {
|
|
170
215
|
const declared = definition.secretKeys ?? [];
|
|
171
216
|
if (!declared.length)
|
|
172
217
|
return { ok: true, values: {} };
|
|
173
|
-
const
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
credentialKey: key.key,
|
|
178
|
-
detail: reservedEnvKeyMessage(key.key),
|
|
179
|
-
});
|
|
180
|
-
// A reserved REQUIRED key drops the server under its own reason. An optional one only costs
|
|
181
|
-
// that key, exactly as an optional key that did not resolve does — the disposition follows
|
|
182
|
-
// the DECLARATION, so this rule adds no second way for a server to disappear.
|
|
183
|
-
if (key.required !== false)
|
|
184
|
-
return { ok: false, reason: 'reserved_secret' };
|
|
185
|
-
}
|
|
186
|
-
const keys = reserved.length ? declared.filter((key) => !reserved.includes(key)) : declared;
|
|
218
|
+
const admitted = admitCredentials(input, definition, declared);
|
|
219
|
+
if ('reason' in admitted)
|
|
220
|
+
return { ok: false, reason: admitted.reason };
|
|
221
|
+
const keys = admitted.keys;
|
|
187
222
|
const resolver = input.resolveToolSecrets;
|
|
188
223
|
const resolved = resolver && keys.length
|
|
189
224
|
? ((await runBestEffort(input.logger ?? noopLogger, 'resolve tool-server credentials', () => resolver.resolve({
|
|
@@ -331,7 +366,7 @@ function secretKeyNames(credentials) {
|
|
|
331
366
|
return keys.length ? { secretKeys: keys } : {};
|
|
332
367
|
}
|
|
333
368
|
/**
|
|
334
|
-
* Secrets destined for the server process's environment (every key
|
|
369
|
+
* Secrets destined for the server process's environment (every key on the `env` channel).
|
|
335
370
|
*
|
|
336
371
|
* Keyed by the INJECTION name, which is `envName` when the declaration split it from the lookup
|
|
337
372
|
* key. The resolver was asked for, and answered under, the lookup key; from here on only the
|
|
@@ -339,12 +374,16 @@ function secretKeyNames(credentials) {
|
|
|
339
374
|
* variable is dropped rather than injected, because the value would reconfigure the process
|
|
340
375
|
* instead of authenticating a call. Registration already refuses one, so this is the mothership
|
|
341
376
|
* case: a definition authored elsewhere, boot-validated by nobody this process ran.
|
|
377
|
+
*
|
|
378
|
+
* The channel test is the SAME predicate `admitCredentials` refused on, so a key that reaches here
|
|
379
|
+
* with a value is one this transport can carry. It stays because it is what makes this the env
|
|
380
|
+
* HALF of a split rather than a filter that happens to agree with one.
|
|
342
381
|
*/
|
|
343
382
|
function envSecrets(keys, resolved) {
|
|
344
383
|
const out = {};
|
|
345
384
|
for (const key of keys ?? []) {
|
|
346
385
|
const value = resolved[key.key];
|
|
347
|
-
if (!value || key
|
|
386
|
+
if (!value || mcpCredentialChannel(key) !== 'env')
|
|
348
387
|
continue;
|
|
349
388
|
const name = key.envName ?? key.key;
|
|
350
389
|
if (isToolchainEnvName(name))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolServers.js","sourceRoot":"","sources":["../../src/agents/toolServers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toolServers.js","sourceRoot":"","sources":["../../src/agents/toolServers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PersistenceController.d.ts","sourceRoot":"","sources":["../../../src/modules/persistence/PersistenceController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"PersistenceController.d.ts","sourceRoot":"","sources":["../../../src/modules/persistence/PersistenceController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAS/C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAAC,MAAM,CAAC,CA4NpD"}
|
|
@@ -48,6 +48,15 @@ export function persistenceController() {
|
|
|
48
48
|
const blockRepository = registry.blockRepository;
|
|
49
49
|
const serviceRepository = registry.serviceRepository;
|
|
50
50
|
const skillSourceRepository = registry.skillSourceRepository;
|
|
51
|
+
// The owner-pair content-library source tables, keyed by the `LibrarySourceEntity` the rule
|
|
52
|
+
// names, so one resolver answers for both (and a new library is one row here). Keyed by the
|
|
53
|
+
// UNION rather than by `string`: a member added to `LibrarySourceEntity` must fail to compile
|
|
54
|
+
// here rather than resolve to nothing, which the stored-half check would otherwise be entitled
|
|
55
|
+
// to read as "no such row" and admit.
|
|
56
|
+
const librarySourceRepos = {
|
|
57
|
+
fragmentSource: registry.fragmentSourceRepository,
|
|
58
|
+
foundationalServiceSource: registry.foundationalServiceSourceRepository,
|
|
59
|
+
};
|
|
51
60
|
const resolveAccountId = (workspaceId) => workspaceRepository?.accountOf?.(workspaceId) ??
|
|
52
61
|
Promise.resolve(undefined);
|
|
53
62
|
// The `block`/`serviceList`/`service` scope checks resolve the owning account by reading the
|
|
@@ -74,6 +83,21 @@ export function persistenceController() {
|
|
|
74
83
|
const blockFindByIds = memoizeRead((ids) => blockRepository?.findByIds?.(ids));
|
|
75
84
|
const serviceListByIds = memoizeRead((ids) => serviceRepository?.listByIds?.(ids));
|
|
76
85
|
const skillSourceGet = memoizeRead((id) => skillSourceRepository?.get?.(id));
|
|
86
|
+
// One memo per source TABLE, keyed by entity: the resolver and the dispatched `get` of the same
|
|
87
|
+
// library then share a read, exactly as `skillSourceGet` does for skills. A table whose `get`
|
|
88
|
+
// this deployment does not wire gets NO reader rather than one answering `undefined`, so the
|
|
89
|
+
// resolver below can report `unreadable` instead of the absence that would admit an upsert.
|
|
90
|
+
const librarySourceReader = (entity) => {
|
|
91
|
+
const repo = librarySourceRepos[entity];
|
|
92
|
+
if (typeof repo?.get !== 'function')
|
|
93
|
+
return undefined;
|
|
94
|
+
// Called through the repository so a class-implemented `get` keeps its receiver.
|
|
95
|
+
return memoizeRead((id) => repo.get(id));
|
|
96
|
+
};
|
|
97
|
+
const librarySourceGets = {
|
|
98
|
+
fragmentSource: librarySourceReader('fragmentSource'),
|
|
99
|
+
foundationalServiceSource: librarySourceReader('foundationalServiceSource'),
|
|
100
|
+
};
|
|
77
101
|
// For the self-keyed reads, point the dispatcher's own call at the memo so it hits the
|
|
78
102
|
// resolver's already-resolved result. Only the one dispatched method is overridden; the rest
|
|
79
103
|
// of the registry is untouched. Keyed `repo.method` so a new self-keyed read is one row here
|
|
@@ -87,6 +111,25 @@ export function persistenceController() {
|
|
|
87
111
|
// The `skillSource` scope resolves a source's account by reading the source; when the
|
|
88
112
|
// dispatched call IS that read (the sync service's `get`), reuse the resolver's result.
|
|
89
113
|
'skillSourceRepository.get': { skillSourceRepository: { get: skillSourceGet } },
|
|
114
|
+
// The same self-keyed read for the two owner-pair libraries' source tables. Contributed only
|
|
115
|
+
// where a reader exists: a table whose `get` is unwired has nothing to memoise, and the
|
|
116
|
+
// dispatcher's own wiring check answers that call with `... is not wired` regardless.
|
|
117
|
+
...(librarySourceGets.fragmentSource
|
|
118
|
+
? {
|
|
119
|
+
'fragmentSourceRepository.get': {
|
|
120
|
+
fragmentSourceRepository: { get: librarySourceGets.fragmentSource },
|
|
121
|
+
},
|
|
122
|
+
}
|
|
123
|
+
: {}),
|
|
124
|
+
...(librarySourceGets.foundationalServiceSource
|
|
125
|
+
? {
|
|
126
|
+
'foundationalServiceSourceRepository.get': {
|
|
127
|
+
foundationalServiceSourceRepository: {
|
|
128
|
+
get: librarySourceGets.foundationalServiceSource,
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
}
|
|
132
|
+
: {}),
|
|
90
133
|
};
|
|
91
134
|
// Substitute ONLY for a method the real registry actually wires. `memoizeRead` returns a
|
|
92
135
|
// function unconditionally — it closes over an optional-chained call — so overriding an ABSENT
|
|
@@ -137,6 +180,22 @@ export function persistenceController() {
|
|
|
137
180
|
const source = (await skillSourceGet(sourceId));
|
|
138
181
|
return source?.accountId;
|
|
139
182
|
},
|
|
183
|
+
// The owner-PAIR libraries' equivalent: a fragment / foundational-service source is owned by
|
|
184
|
+
// an `(ownerKind, ownerId)` tier rather than an account, so project the pair and let the rule
|
|
185
|
+
// resolve it the way it resolves a positional owner. A source that does not exist answers
|
|
186
|
+
// `absent`, which the sourceId-keyed rules fail closed on (404) exactly like a missing
|
|
187
|
+
// block/service, and which `ownerFieldUpsert` alone reads as a create.
|
|
188
|
+
resolveLibrarySourceOwner: async (entity, sourceId) => {
|
|
189
|
+
const read = librarySourceGets[entity];
|
|
190
|
+
// No reader for that table: nothing is known about the id, so say so. Answering `absent`
|
|
191
|
+
// here would let an id-keyed upsert through on its DECLARED owner alone.
|
|
192
|
+
if (!read)
|
|
193
|
+
return { status: 'unreadable' };
|
|
194
|
+
const source = (await read(sourceId));
|
|
195
|
+
return source
|
|
196
|
+
? { status: 'found', owner: { ownerKind: source.ownerKind, ownerId: source.ownerId } }
|
|
197
|
+
: { status: 'absent' };
|
|
198
|
+
},
|
|
140
199
|
// The member-display scope (`user`/`userList`): a userId is in scope iff a co-member of an
|
|
141
200
|
// in-scope account, so resolve each in-scope account's roster to userIds. Bounded by the
|
|
142
201
|
// token's account scope, not the requested user list.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PersistenceController.js","sourceRoot":"","sources":["../../../src/modules/persistence/PersistenceController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEhE,OAAO,
|
|
1
|
+
{"version":3,"file":"PersistenceController.js","sourceRoot":"","sources":["../../../src/modules/persistence/PersistenceController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicSpecController.d.ts","sourceRoot":"","sources":["../../../src/modules/publicApi/PublicSpecController.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PublicSpecController.d.ts","sourceRoot":"","sources":["../../../src/modules/publicApi/PublicSpecController.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAsK/C,wBAAgB,oBAAoB,IAAI,IAAI,CAAC,MAAM,CAAC,CAoDnD"}
|
|
@@ -1,19 +1,32 @@
|
|
|
1
|
-
import { getPublicServiceSpecContract, } from '@cat-factory/contracts';
|
|
1
|
+
import { getPublicRunSpecContract, getPublicServiceSpecContract, } from '@cat-factory/contracts';
|
|
2
2
|
import { readServiceSpec } from '@cat-factory/agents';
|
|
3
3
|
import { NotFoundError, UnavailableError } from '@cat-factory/kernel';
|
|
4
4
|
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
5
5
|
import { Hono } from 'hono';
|
|
6
|
+
import { requireScopedRun, runNotFound } from './decisions/scope.js';
|
|
6
7
|
import { authorizeOrThrow } from './publicApiAuth.js';
|
|
7
|
-
import { toPublicServiceSpec } from './specProjection.js';
|
|
8
|
-
// The public SPEC
|
|
9
|
-
//
|
|
10
|
-
//
|
|
8
|
+
import { toPublicRunSpec, toPublicServiceSpec } from './specProjection.js';
|
|
9
|
+
// The public SPEC reads: the in-repo prescriptive specification (the structured requirement tree
|
|
10
|
+
// and the Gherkin rendered from it) for a consumer holding only an API key, at the two refs that
|
|
11
|
+
// answer two different questions.
|
|
11
12
|
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
13
|
+
// - `GET /api/v1/services/:serviceId/spec` reads the repository's DEFAULT branch: what the service
|
|
14
|
+
// is committed to honouring.
|
|
15
|
+
// - `GET /api/v1/runs/:runId/spec` reads the branch ONE RUN pushed its work to: what that run was
|
|
16
|
+
// judged against. A different tree for as long as its pull request is open, and the one a caller
|
|
17
|
+
// joining that run's verdicts needs, since every requirement the run itself added is absent from
|
|
18
|
+
// the default branch.
|
|
19
|
+
//
|
|
20
|
+
// They exist because the requirement ids on `GET /api/v1/runs/:runId/report` and `…/outcome` were a
|
|
21
|
+
// join key onto a document no headless caller could fetch. With these, reviewing a run's outcome
|
|
14
22
|
// against the criteria it was scored on is two GETs and a map lookup, with no repository clone and
|
|
15
23
|
// no VCS credential.
|
|
16
24
|
//
|
|
25
|
+
// Both read through the ONE spec reader, and the run read through the engine's own evidence loader,
|
|
26
|
+
// so the tree a caller joins against is the tree the platform joined against. A second reader with
|
|
27
|
+
// its own branch rule is how the app's outcome card and the outcome endpoint once came to describe
|
|
28
|
+
// one run differently.
|
|
29
|
+
//
|
|
17
30
|
// Everything below is one idea applied repeatedly: **a spec read has several outcomes and this
|
|
18
31
|
// controller refuses to fold them**, because the fold is silent and always in the same direction.
|
|
19
32
|
// The internal view the app's requirements window consumes reports `present: false` for both "this
|
|
@@ -30,7 +43,10 @@ import { toPublicServiceSpec } from './specProjection.js';
|
|
|
30
43
|
// outcome rather than a shade of the last one, because it is the case the provider REFUSES to
|
|
31
44
|
// distinguish: a renamed, transferred or deleted repository, a stale default branch and a lost
|
|
32
45
|
// installation all answer 404 exactly as an absent file does. Distinct because the fix is
|
|
33
|
-
// distinct: the deployment's repo link is wrong, and no amount of retrying repairs it.
|
|
46
|
+
// distinct: the deployment's repo link is wrong, and no amount of retrying repairs it. On the
|
|
47
|
+
// RUN read, a deleted pull-request head branch is deliberately not one of these: the loader
|
|
48
|
+
// reads the default branch instead and says so in `provenance.ref`, because a merged run whose
|
|
49
|
+
// branch was cleaned up is the ordinary end state rather than a misconfiguration.
|
|
34
50
|
// 4. **No spec on the default branch** → `200`, `anchor: "absent"`. A real, common, final answer,
|
|
35
51
|
// and one only reached with the ref resolved, so it is a statement about the branch rather
|
|
36
52
|
// than about our luck reaching it.
|
|
@@ -164,6 +180,72 @@ export function publicSpecController() {
|
|
|
164
180
|
const anchor = requireReadableAnchor(view, commit);
|
|
165
181
|
return c.json(toPublicServiceSpec(serviceId, anchor, view, provenanceOf(ctx, commit)), 200);
|
|
166
182
|
});
|
|
183
|
+
// The RUN's spec, at the branch that run pushed to. Everything the read decides is decided by the
|
|
184
|
+
// engine's evidence loader (the branch rule, the tester gate, the per-run memo, the reader), the
|
|
185
|
+
// same three the verification report and `…/outcome` read through; this route only maps WHERE the
|
|
186
|
+
// read stopped onto the surface's vocabulary. Composing a second read here is what would let this
|
|
187
|
+
// endpoint hand a caller a tree the run's own outcome summary was never joined against.
|
|
188
|
+
buildHonoRoute(app, getPublicRunSpecContract, async (c) => {
|
|
189
|
+
const auth = await authorizeOrThrow(c, getPublicRunSpecContract.minScope);
|
|
190
|
+
const { workspaceId } = auth;
|
|
191
|
+
const { runId } = c.req.valid('param');
|
|
192
|
+
// The same resolution every route under `/api/v1/runs/:runId/*` uses, so one prefix carries one
|
|
193
|
+
// access semantic: a run this key could already reach through `GET /jobs/:id` or
|
|
194
|
+
// `GET /tasks/:taskId/run`, and a 404 for anything else.
|
|
195
|
+
await requireScopedRun(c, workspaceId, runId);
|
|
196
|
+
const read = await c.get('container').executionService.readRunSpecOutcome(workspaceId, runId);
|
|
197
|
+
if (!read)
|
|
198
|
+
throw runNotFound(runId);
|
|
199
|
+
return c.json(toPublicRunSpec(runId, runSpecAnchor(runId, read)), 200);
|
|
200
|
+
});
|
|
167
201
|
return app;
|
|
168
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* The run read's anchor, or the refusal that says why there is no tree.
|
|
205
|
+
*
|
|
206
|
+
* The run's counterpart to {@link requireReadableAnchor}, and it defers to it for the half the two
|
|
207
|
+
* share: an `absent` with no resolved commit is unproven on the run's branch for exactly the reason
|
|
208
|
+
* it is on the default one. What it adds is the run-only pair at the top. `not_read` is a `200`
|
|
209
|
+
* because it is an ANSWER (the platform has consulted no tree for this run, which is what the same
|
|
210
|
+
* run's outcome summary already reports), while an unwired integration and an unreadable repository
|
|
211
|
+
* are outages that must never reach a body: served as an empty spec they would tell an integrator
|
|
212
|
+
* that a run was judged against no requirements at all.
|
|
213
|
+
*
|
|
214
|
+
* Which of them a run gets is the LOADER's ordering, not this switch's, and the two wiring states
|
|
215
|
+
* arrive only once a read is actually due: before the tester reports, every run answers `not_read`
|
|
216
|
+
* whatever the deployment wired. That is what keeps one unchanged deployment from answering `200`
|
|
217
|
+
* and `503` at different points of one run.
|
|
218
|
+
*
|
|
219
|
+
* Exhaustive over `RunSpecRead` through a `never`, so a state added to the loader fails the build
|
|
220
|
+
* here rather than surfacing as an unmapped value on `/api/v1`.
|
|
221
|
+
*/
|
|
222
|
+
function runSpecAnchor(runId, read) {
|
|
223
|
+
switch (read.status) {
|
|
224
|
+
case 'not_read':
|
|
225
|
+
return { anchor: 'not_read' };
|
|
226
|
+
case 'read':
|
|
227
|
+
return {
|
|
228
|
+
anchor: requireReadableAnchor(read.view, read.provenance.commit),
|
|
229
|
+
view: read.view,
|
|
230
|
+
provenance: read.provenance,
|
|
231
|
+
};
|
|
232
|
+
case 'vcs_unwired':
|
|
233
|
+
throw new UnavailableError('No version-control integration is configured for this deployment', 'vcs_not_configured');
|
|
234
|
+
case 'no_connection':
|
|
235
|
+
throw new UnavailableError('No version-control integration is connected for this workspace', 'vcs_not_configured');
|
|
236
|
+
case 'read_failed':
|
|
237
|
+
// Also where a service that lost its repository link lands, which is the one place this
|
|
238
|
+
// route is less precise than its service-scoped sibling (a `422` there). It stays folded
|
|
239
|
+
// here on purpose: a run resolved a repository to push to, so on this path an unlinked
|
|
240
|
+
// service is not a state a caller can reach, and a branch nothing reaches is a branch that
|
|
241
|
+
// costs four published SDKs an error code they can never see.
|
|
242
|
+
throw new UnavailableError("The run's repository could not be read; the spec may exist but could not be fetched", 'spec_read_failed');
|
|
243
|
+
case 'no_block':
|
|
244
|
+
// The same 404 the report and outcome reads answer when composition comes back empty: from
|
|
245
|
+
// outside, "no such run this key may read" and "the run's task is gone" are one fact.
|
|
246
|
+
throw runNotFound(runId);
|
|
247
|
+
default:
|
|
248
|
+
return assertNever(read);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
169
251
|
//# sourceMappingURL=PublicSpecController.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicSpecController.js","sourceRoot":"","sources":["../../../src/modules/publicApi/PublicSpecController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,GAI7B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"PublicSpecController.js","sourceRoot":"","sources":["../../../src/modules/publicApi/PublicSpecController.ts"],"names":[],"mappings":"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"}
|