@cat-factory/server 0.274.0 → 0.276.0
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/providerCapabilities.d.ts +14 -1
- package/dist/agents/providerCapabilities.d.ts.map +1 -1
- package/dist/agents/providerCapabilities.js +10 -1
- package/dist/agents/providerCapabilities.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +84 -66
- package/dist/app.js.map +1 -1
- package/dist/http/runAdmission.d.ts +27 -1
- package/dist/http/runAdmission.d.ts.map +1 -1
- package/dist/http/runAdmission.js +32 -0
- package/dist/http/runAdmission.js.map +1 -1
- package/dist/modules/models/workspaceCatalog.d.ts.map +1 -1
- package/dist/modules/models/workspaceCatalog.js +4 -0
- package/dist/modules/models/workspaceCatalog.js.map +1 -1
- package/dist/modules/providers/personalCredentialGate.d.ts +31 -3
- package/dist/modules/providers/personalCredentialGate.d.ts.map +1 -1
- package/dist/modules/providers/personalCredentialGate.js +46 -4
- package/dist/modules/providers/personalCredentialGate.js.map +1 -1
- package/dist/modules/publicApi/PublicApiController.d.ts.map +1 -1
- package/dist/modules/publicApi/PublicApiController.js +85 -43
- package/dist/modules/publicApi/PublicApiController.js.map +1 -1
- package/dist/modules/publicApi/PublicApiKeyController.d.ts.map +1 -1
- package/dist/modules/publicApi/PublicApiKeyController.js +18 -2
- package/dist/modules/publicApi/PublicApiKeyController.js.map +1 -1
- package/dist/modules/publicApi/PublicKeyController.d.ts.map +1 -1
- package/dist/modules/publicApi/PublicKeyController.js +6 -0
- package/dist/modules/publicApi/PublicKeyController.js.map +1 -1
- package/dist/modules/publicApi/PublicProvisioningController.d.ts.map +1 -1
- package/dist/modules/publicApi/PublicProvisioningController.js +33 -11
- package/dist/modules/publicApi/PublicProvisioningController.js.map +1 -1
- package/dist/modules/publicApi/PublicTrackerController.d.ts +27 -0
- package/dist/modules/publicApi/PublicTrackerController.d.ts.map +1 -0
- package/dist/modules/publicApi/PublicTrackerController.js +95 -0
- package/dist/modules/publicApi/PublicTrackerController.js.map +1 -0
- package/dist/modules/publicApi/decisions/scope.d.ts +10 -1
- package/dist/modules/publicApi/decisions/scope.d.ts.map +1 -1
- package/dist/modules/publicApi/decisions/scope.js +59 -2
- package/dist/modules/publicApi/decisions/scope.js.map +1 -1
- package/dist/modules/publicApi/keyProjection.d.ts.map +1 -1
- package/dist/modules/publicApi/keyProjection.js +1 -0
- package/dist/modules/publicApi/keyProjection.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/personalUnlock.d.ts +51 -0
- package/dist/modules/publicApi/personalUnlock.d.ts.map +1 -0
- package/dist/modules/publicApi/personalUnlock.js +45 -0
- package/dist/modules/publicApi/personalUnlock.js.map +1 -0
- package/dist/persistence/rpc-allowlist.d.ts.map +1 -1
- package/dist/persistence/rpc-allowlist.js +6 -3
- package/dist/persistence/rpc-allowlist.js.map +1 -1
- package/package.json +8 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AccountSettingsService, ApiKeyService, LocalModelEndpointService, OpenRouterCatalogService, PersonalSubscriptionService, ProviderSubscriptionService } from '@cat-factory/integrations';
|
|
2
|
-
import { type AppCaches, type ModelFlavor, type ProviderCapabilities } from '@cat-factory/kernel';
|
|
2
|
+
import { type AppCaches, type HarnessKind, type ModelFlavor, type ProviderCapabilities } from '@cat-factory/kernel';
|
|
3
3
|
export interface CapabilityServices {
|
|
4
4
|
apiKeys?: ApiKeyService;
|
|
5
5
|
subscriptions?: ProviderSubscriptionService;
|
|
@@ -24,6 +24,19 @@ export interface CapabilityServices {
|
|
|
24
24
|
* resolves, so the catalog + start guard don't offer a model that fails at dispatch.
|
|
25
25
|
*/
|
|
26
26
|
baseUrlFor?: (provider: string) => string | null | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* NATIVE LOCAL EXECUTION's allow-list of subscription harnesses (`AppConfig.nativeAmbientAuth`,
|
|
29
|
+
* from `LOCAL_NATIVE_AGENTS`; absent on every other facade).
|
|
30
|
+
*
|
|
31
|
+
* A vendor this serves runs on the developer's OWN installed CLI and its ambient login, so it
|
|
32
|
+
* has no credential to find: nothing is pooled, nothing is personal, and nothing is leased at
|
|
33
|
+
* dispatch. Without it here the deployment answered its own question two different ways — the
|
|
34
|
+
* personal-credential gate correctly dropped such a vendor from the set it demands an unlock
|
|
35
|
+
* for, while the catalog and the pipeline-start guard, reading only the two credential stores,
|
|
36
|
+
* still called the model unconfigured. The visible failure was a Claude-pinned run refused with
|
|
37
|
+
* "no configured provider" on a machine whose `claude` CLI was logged in and would have run it.
|
|
38
|
+
*/
|
|
39
|
+
nativeAmbientAuth?: readonly HarnessKind[];
|
|
27
40
|
/** Per-user locally-run model endpoints (resolved by the requesting/initiating user). */
|
|
28
41
|
localModelEndpoints?: LocalModelEndpointService;
|
|
29
42
|
/** Per-workspace enabled OpenRouter models (the dynamic catalog subset). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerCapabilities.d.ts","sourceRoot":"","sources":["../../src/agents/providerCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EACb,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,2BAA2B,CAAA;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"providerCapabilities.d.ts","sourceRoot":"","sources":["../../src/agents/providerCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EACb,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,WAAW,EAEhB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EAE1B,MAAM,qBAAqB,CAAA;AAM5B,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,aAAa,CAAC,EAAE,2BAA2B,CAAA;IAC3C,qBAAqB,CAAC,EAAE,2BAA2B,CAAA;IACnD,sFAAsF;IACtF,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAC5D;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;IAC1C,yFAAyF;IACzF,mBAAmB,CAAC,EAAE,yBAAyB,CAAA;IAC/C,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,wBAAwB,CAAA;IAC5C;;;OAGG;IACH,eAAe,CAAC,EAAE,sBAAsB,CAAA;IACxC,4FAA4F;IAC5F,kBAAkB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;IAChF;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB;;;;;OAKG;IACH,+BAA+B,CAAC,EAAE,CAChC,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,KACnB,OAAO,CAAC,SAAS,WAAW,EAAE,GAAG,SAAS,CAAC,CAAA;CACjD;AA6CD,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,kBAAkB,EAC5B,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,oBAAoB,CAAC,CAsE/B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ALL_SUBSCRIPTION_VENDORS, } from '@cat-factory/kernel';
|
|
1
|
+
import { ALL_SUBSCRIPTION_VENDORS, isAmbientNativeVendor, } from '@cat-factory/kernel';
|
|
2
2
|
// Direct providers whose AI-SDK resolver works without an explicit base URL (the SDK
|
|
3
3
|
// has a built-in default). Every OTHER direct provider is OpenAI-compatible and needs a
|
|
4
4
|
// base URL (see `buildDirectResolver`), so it is unusable until that URL resolves.
|
|
@@ -50,6 +50,15 @@ export async function resolveWorkspaceCapabilities(services, workspaceId, userId
|
|
|
50
50
|
baseUrlFor ? configured.filter((p) => BASE_URL_OPTIONAL.has(p) || !!baseUrlFor(p)) : configured);
|
|
51
51
|
const subscriptionVendors = new Set();
|
|
52
52
|
for (const vendor of ALL_SUBSCRIPTION_VENDORS) {
|
|
53
|
+
// Ambient FIRST, and it short-circuits both credential reads rather than joining them: a
|
|
54
|
+
// vendor the host CLI serves is usable for every initiator of this deployment, including one
|
|
55
|
+
// there is no user for at all, so neither store has anything to say about it. Decided by the
|
|
56
|
+
// SAME predicate the personal-credential gate and the container executor use, so the three
|
|
57
|
+
// halves of the ambient decision cannot drift.
|
|
58
|
+
if (isAmbientNativeVendor(services.nativeAmbientAuth, vendor)) {
|
|
59
|
+
subscriptionVendors.add(vendor);
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
53
62
|
const pooled = services.subscriptions
|
|
54
63
|
? await services.subscriptions.hasToken(workspaceId, vendor)
|
|
55
64
|
: false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerCapabilities.js","sourceRoot":"","sources":["../../src/agents/providerCapabilities.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,wBAAwB,
|
|
1
|
+
{"version":3,"file":"providerCapabilities.js","sourceRoot":"","sources":["../../src/agents/providerCapabilities.ts"],"names":[],"mappings":"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"}
|
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAChC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAChC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAgI3C;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAI5E;AAoOD,wGAAwG;AACxG,eAAO,MAAM,eAAe,6BAA6B,CAAA;AACzD,2CAA2C;AAC3C,eAAO,MAAM,aAAa,yBAAyB,CAAA;AAEnD,4DAA4D;AAC5D,UAAU,eAAe;IACvB,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,OAAO,eAAe,GAAG,OAAO,aAAa,CAAA;IACpD,KAAK,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,CAAA;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,eAAe,EAmH3D,CAAA;AAED,kGAAkG;AAClG,eAAO,MAAM,mBAAmB,EAAE,SAAS,eAAe,EAYzD,CAAA;AAUD,wEAAwE;AACxE,UAAU,qBAAqB;IAC7B,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,CAAA;CAC1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,6BAA6B,EAAE,SAAS,qBAAqB,EAkBzE,CAAA"}
|
package/dist/app.js
CHANGED
|
@@ -102,6 +102,7 @@ import { promptFragmentsInternalController } from './modules/promptFragments/Pro
|
|
|
102
102
|
import { publicApiController } from './modules/publicApi/PublicApiController.js';
|
|
103
103
|
import { publicBoardController } from './modules/publicApi/PublicBoardController.js';
|
|
104
104
|
import { publicProvisioningController } from './modules/publicApi/PublicProvisioningController.js';
|
|
105
|
+
import { publicTrackerController } from './modules/publicApi/PublicTrackerController.js';
|
|
105
106
|
import { publicApiKeyController } from './modules/publicApi/PublicApiKeyController.js';
|
|
106
107
|
import { publicDecisionController } from './modules/publicApi/PublicDecisionController.js';
|
|
107
108
|
import { publicDebugController } from './modules/publicApi/PublicDebugController.js';
|
|
@@ -127,6 +128,88 @@ export function registerCoreControllers(app) {
|
|
|
127
128
|
registerControllers(app, WORKSPACE_CONTROLLERS);
|
|
128
129
|
registerWebhookControllers(app);
|
|
129
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* The PUBLIC external API (`/api/v1/*`) and the OAuth server its MCP endpoint needs.
|
|
133
|
+
*
|
|
134
|
+
* Its own function rather than more of {@link registerRootControllers}, and the family is a real one:
|
|
135
|
+
* every controller here is key-authenticated INSIDE the controller (the `/api` prefix bypasses the
|
|
136
|
+
* session gate the root controllers sit behind), every one of them is a surface
|
|
137
|
+
* `backend/docs/public-api.md` freezes, and they carry an ordering rule none of the others do, stated
|
|
138
|
+
* at the MCP mount below.
|
|
139
|
+
*/
|
|
140
|
+
function registerPublicApiControllers(app) {
|
|
141
|
+
// The PUBLIC external API (`/api/v1/*`): key-authenticated in-controller (its `/api` prefix
|
|
142
|
+
// bypasses the session gate), for external systems to run a public inline pipeline headlessly.
|
|
143
|
+
app.route('/', publicApiController());
|
|
144
|
+
// Board PROVISIONING (`/api/v1/repos`, `/api/v1/services`) plus the two task relationships that
|
|
145
|
+
// outlive a create call (dependency edges, attached requirements documents). The same
|
|
146
|
+
// in-controller key auth; service creation is `admin` (board structure), the task-level writes
|
|
147
|
+
// `write`. See backend/docs/public-api.md.
|
|
148
|
+
app.route('/', publicBoardController());
|
|
149
|
+
// DEPLOYMENT PROVISIONING (`/api/v1/repos/bootstrap`, `/api/v1/environments/connections`,
|
|
150
|
+
// `PATCH /api/v1/services/:serviceId`, and the reads naming what this deployment has WIRED).
|
|
151
|
+
// What a caller does BEFORE there is a board to shape, which is why it is not part of the board
|
|
152
|
+
// controller above. Same in-controller key auth, `admin` throughout: it creates repositories and
|
|
153
|
+
// accepts an infrastructure credential. See backend/docs/public-api.md.
|
|
154
|
+
app.route('/', publicProvisioningController());
|
|
155
|
+
// The workspace's tracker WRITEBACK disposition (`/api/v1/tracker/writeback`): what a merged pull
|
|
156
|
+
// request does to the issue its task was filed from. Beside the provisioning surface rather than
|
|
157
|
+
// part of it, because it is standing run behaviour rather than setup, and it is the one public
|
|
158
|
+
// setting whose effect lands OUTSIDE this platform. Same in-controller key auth, `admin`.
|
|
159
|
+
app.route('/', publicTrackerController());
|
|
160
|
+
// The public PARKED-DECISION surface (`/api/v1/runs/:runId/decisions/*`): the answerer that lets
|
|
161
|
+
// a headless run include the clarification loop at all. Same in-controller key auth, gated on
|
|
162
|
+
// the `decide` rung of the scope ladder. See backend/docs/adr/0047-headless-clarification-loop.md.
|
|
163
|
+
app.route('/', publicDecisionController());
|
|
164
|
+
// The public REMOTE DEBUGGING surface (`/api/v1/debug/*`): read-scoped, keyset-paginated reads
|
|
165
|
+
// over a run's telemetry + provisioning log, sized so an LLM can walk them within a context
|
|
166
|
+
// budget. See backend/docs/debug-api.md.
|
|
167
|
+
app.route('/', publicDebugController());
|
|
168
|
+
// The public run-EVIDENCE surface (`/api/v1/runs/:runId/report`, `…/artifacts`, and the bytes
|
|
169
|
+
// at `/api/v1/artifacts/:id/blob`): read-scoped access to the engine's own verification report
|
|
170
|
+
// and the artifacts a run captured, for a consumer whose job is to JUDGE the run rather than
|
|
171
|
+
// debug it. See backend/docs/public-api.md.
|
|
172
|
+
app.route('/', publicEvidenceController());
|
|
173
|
+
// The public MERGE-EVIDENCE surface (`/api/v1/runs/:runId/merge-record`,
|
|
174
|
+
// `/api/v1/merge-records/*`): the change class and merger scores behind a merge decision, the
|
|
175
|
+
// workspace's per-class rollups, and the reviewer-effort tag. Reads are `read`; the tag is
|
|
176
|
+
// `write`, since recording how much review a landed PR took merges nothing. See
|
|
177
|
+
// backend/docs/adr/0046-merge-track-record.md.
|
|
178
|
+
app.route('/', publicMergeEvidenceController());
|
|
179
|
+
// The public SPEND-ANALYTICS read (`/api/v1/usage/spend`): the workspace's money over a window
|
|
180
|
+
// sliced by repository, ticket, run or step kind: the TCO question the period breakdown on
|
|
181
|
+
// `/api/v1/usage` carries no axis for. `read` scope. See backend/docs/public-api.md.
|
|
182
|
+
app.route('/', publicSpendController());
|
|
183
|
+
// The public SPEC read (`/api/v1/services/:serviceId/spec`): the service's in-repo requirement
|
|
184
|
+
// tree and the Gherkin rendered from it, read-scoped, so an integrator judging a run's outcome
|
|
185
|
+
// can fetch the criteria it was scored against without a repository clone. Read-only by design:
|
|
186
|
+
// the spec's write path is a reviewed commit. See backend/docs/public-api.md.
|
|
187
|
+
app.route('/', publicSpecController());
|
|
188
|
+
// HEADLESS key provisioning (`/api/v1/keys`): the external counterpart of the session-authed
|
|
189
|
+
// key panel, `admin` scope, bounded so a minted key can never mint another and revoking a key
|
|
190
|
+
// revokes what it minted.
|
|
191
|
+
app.route('/', publicKeyController());
|
|
192
|
+
// The public OUTBOUND-WEBHOOK management surface (`/api/v1/notification-webhook`): the enrolment
|
|
193
|
+
// half of the push channel, so a deployment with no browser session can register the receiver
|
|
194
|
+
// its notifications, run-lifecycle edges and health alerts are delivered to. `admin` scope; same
|
|
195
|
+
// service the session-authed `/workspaces/:ws/notification-webhook` routes call.
|
|
196
|
+
app.route('/', publicNotificationWebhookController());
|
|
197
|
+
// DISCOVERY (`/api/v1/me`, `/api/v1/openapi.json`): what the calling key may do, and this
|
|
198
|
+
// deployment's own copy of the spec — the two reads an integration makes before anything else,
|
|
199
|
+
// each of which used to be answerable only by guessing. `read` scope, the floor of the ladder.
|
|
200
|
+
app.route('/', publicDiscoveryController());
|
|
201
|
+
// The public API spoken as MCP (`POST /api/v1/mcp`), so a host drives this deployment with no npm
|
|
202
|
+
// install and no local process. Mounted LAST of the `/api/v1` surface it re-enters: same key auth,
|
|
203
|
+
// and the tools reach those routes back through this app's own loopback under the caller's key, so
|
|
204
|
+
// nothing here can drift from the surface above it.
|
|
205
|
+
app.route('/', publicMcpController(appLoopback(app)));
|
|
206
|
+
// This deployment's own OAuth authorization server for that endpoint (`/.well-known/*`,
|
|
207
|
+
// `/oauth/*`): the discovery documents, dynamic client registration, and the token exchange that
|
|
208
|
+
// mints a public-API key from an approved consent. Unauthenticated by construction, which is what
|
|
209
|
+
// lets a host that has never heard of this deployment connect to it; the one step needing a
|
|
210
|
+
// signed-in human is the consent screen, mounted with the session-gated controllers below.
|
|
211
|
+
app.route('/', mcpAuthorizationController());
|
|
212
|
+
}
|
|
130
213
|
/**
|
|
131
214
|
* The controllers mounted at the app root (`/`): the container-facing harness endpoints, the
|
|
132
215
|
* mothership-mode machine APIs, the public external API, and the read-only catalogs + account /
|
|
@@ -221,72 +304,7 @@ function registerRootControllers(app) {
|
|
|
221
304
|
// 503 unless the facade attached its repository registry. Mounted on both facades so either
|
|
222
305
|
// can be a mothership. See docs/initiatives/mothership-mode.md.
|
|
223
306
|
app.route('/', telemetryReadController());
|
|
224
|
-
|
|
225
|
-
// bypasses the session gate), for external systems to run a public inline pipeline headlessly.
|
|
226
|
-
app.route('/', publicApiController());
|
|
227
|
-
// Board PROVISIONING (`/api/v1/repos`, `/api/v1/services`) plus the two task relationships that
|
|
228
|
-
// outlive a create call (dependency edges, attached requirements documents). The same
|
|
229
|
-
// in-controller key auth; service creation is `admin` (board structure), the task-level writes
|
|
230
|
-
// `write`. See backend/docs/public-api.md.
|
|
231
|
-
app.route('/', publicBoardController());
|
|
232
|
-
// DEPLOYMENT PROVISIONING (`/api/v1/repos/bootstrap`, `/api/v1/environments/connections`,
|
|
233
|
-
// `PATCH /api/v1/services/:serviceId`, and the reads naming what this deployment has WIRED).
|
|
234
|
-
// What a caller does BEFORE there is a board to shape, which is why it is not part of the board
|
|
235
|
-
// controller above. Same in-controller key auth, `admin` throughout: it creates repositories and
|
|
236
|
-
// accepts an infrastructure credential. See backend/docs/public-api.md.
|
|
237
|
-
app.route('/', publicProvisioningController());
|
|
238
|
-
// The public PARKED-DECISION surface (`/api/v1/runs/:runId/decisions/*`): the answerer that lets
|
|
239
|
-
// a headless run include the clarification loop at all. Same in-controller key auth, gated on
|
|
240
|
-
// the `decide` rung of the scope ladder. See backend/docs/adr/0047-headless-clarification-loop.md.
|
|
241
|
-
app.route('/', publicDecisionController());
|
|
242
|
-
// The public REMOTE DEBUGGING surface (`/api/v1/debug/*`): read-scoped, keyset-paginated reads
|
|
243
|
-
// over a run's telemetry + provisioning log, sized so an LLM can walk them within a context
|
|
244
|
-
// budget. See backend/docs/debug-api.md.
|
|
245
|
-
app.route('/', publicDebugController());
|
|
246
|
-
// The public run-EVIDENCE surface (`/api/v1/runs/:runId/report`, `…/artifacts`, and the bytes
|
|
247
|
-
// at `/api/v1/artifacts/:id/blob`): read-scoped access to the engine's own verification report
|
|
248
|
-
// and the artifacts a run captured, for a consumer whose job is to JUDGE the run rather than
|
|
249
|
-
// debug it. See backend/docs/public-api.md.
|
|
250
|
-
app.route('/', publicEvidenceController());
|
|
251
|
-
// The public MERGE-EVIDENCE surface (`/api/v1/runs/:runId/merge-record`,
|
|
252
|
-
// `/api/v1/merge-records/*`): the change class and merger scores behind a merge decision, the
|
|
253
|
-
// workspace's per-class rollups, and the reviewer-effort tag. Reads are `read`; the tag is
|
|
254
|
-
// `write`, since recording how much review a landed PR took merges nothing. See
|
|
255
|
-
// backend/docs/adr/0046-merge-track-record.md.
|
|
256
|
-
app.route('/', publicMergeEvidenceController());
|
|
257
|
-
// The public SPEND-ANALYTICS read (`/api/v1/usage/spend`): the workspace's money over a window
|
|
258
|
-
// sliced by repository, ticket, run or step kind: the TCO question the period breakdown on
|
|
259
|
-
// `/api/v1/usage` carries no axis for. `read` scope. See backend/docs/public-api.md.
|
|
260
|
-
app.route('/', publicSpendController());
|
|
261
|
-
// The public SPEC read (`/api/v1/services/:serviceId/spec`): the service's in-repo requirement
|
|
262
|
-
// tree and the Gherkin rendered from it, read-scoped, so an integrator judging a run's outcome
|
|
263
|
-
// can fetch the criteria it was scored against without a repository clone. Read-only by design:
|
|
264
|
-
// the spec's write path is a reviewed commit. See backend/docs/public-api.md.
|
|
265
|
-
app.route('/', publicSpecController());
|
|
266
|
-
// HEADLESS key provisioning (`/api/v1/keys`): the external counterpart of the session-authed
|
|
267
|
-
// key panel, `admin` scope, bounded so a minted key can never mint another and revoking a key
|
|
268
|
-
// revokes what it minted.
|
|
269
|
-
app.route('/', publicKeyController());
|
|
270
|
-
// The public OUTBOUND-WEBHOOK management surface (`/api/v1/notification-webhook`): the enrolment
|
|
271
|
-
// half of the push channel, so a deployment with no browser session can register the receiver
|
|
272
|
-
// its notifications, run-lifecycle edges and health alerts are delivered to. `admin` scope; same
|
|
273
|
-
// service the session-authed `/workspaces/:ws/notification-webhook` routes call.
|
|
274
|
-
app.route('/', publicNotificationWebhookController());
|
|
275
|
-
// DISCOVERY (`/api/v1/me`, `/api/v1/openapi.json`): what the calling key may do, and this
|
|
276
|
-
// deployment's own copy of the spec — the two reads an integration makes before anything else,
|
|
277
|
-
// each of which used to be answerable only by guessing. `read` scope, the floor of the ladder.
|
|
278
|
-
app.route('/', publicDiscoveryController());
|
|
279
|
-
// The public API spoken as MCP (`POST /api/v1/mcp`), so a host drives this deployment with no npm
|
|
280
|
-
// install and no local process. Mounted LAST of the `/api/v1` surface it re-enters: same key auth,
|
|
281
|
-
// and the tools reach those routes back through this app's own loopback under the caller's key, so
|
|
282
|
-
// nothing here can drift from the surface above it.
|
|
283
|
-
app.route('/', publicMcpController(appLoopback(app)));
|
|
284
|
-
// This deployment's own OAuth authorization server for that endpoint (`/.well-known/*`,
|
|
285
|
-
// `/oauth/*`): the discovery documents, dynamic client registration, and the token exchange that
|
|
286
|
-
// mints a public-API key from an approved consent. Unauthenticated by construction, which is what
|
|
287
|
-
// lets a host that has never heard of this deployment connect to it; the one step needing a
|
|
288
|
-
// signed-in human is the consent screen, mounted with the session-gated controllers below.
|
|
289
|
-
app.route('/', mcpAuthorizationController());
|
|
307
|
+
registerPublicApiControllers(app);
|
|
290
308
|
// Read-only catalogs + account/workspace roots (gated by the facade's auth middleware).
|
|
291
309
|
app.route('/', promptFragmentController());
|
|
292
310
|
app.route('/', modelController());
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Context } from 'hono';
|
|
2
2
|
import type { WorkspaceRole } from '@cat-factory/contracts';
|
|
3
3
|
import type { GateActor } from '@cat-factory/kernel';
|
|
4
|
-
import type { AppEnv } from './env.js';
|
|
4
|
+
import type { AppEnv, ServerContainer } from './env.js';
|
|
5
5
|
/**
|
|
6
6
|
* The admission facts a run start CONSUMES off the request, in one place.
|
|
7
7
|
*
|
|
@@ -25,6 +25,32 @@ import type { AppEnv } from './env.js';
|
|
|
25
25
|
* absent is deliberately not treated as the lowest tier.
|
|
26
26
|
*/
|
|
27
27
|
export declare function runInitiatorRole<E extends AppEnv>(c: Context<E>): WorkspaceRole | null;
|
|
28
|
+
/**
|
|
29
|
+
* {@link runInitiatorRole}'s twin for a KEY-authenticated start: the role held by the user a
|
|
30
|
+
* public-API key is BOUND to (`PublicApiKeyRecord.actsAsUserId`), or `null` when it is bound to
|
|
31
|
+
* nobody.
|
|
32
|
+
*
|
|
33
|
+
* A separate function because the two read different places for the same fact. An SPA request
|
|
34
|
+
* arrives behind `mountAuthGate`, which has already resolved the caller's access and published it;
|
|
35
|
+
* `/api/v1` has no such gate, because a key is admitted by SCOPE rather than by membership, so the
|
|
36
|
+
* one identity a key can name has to be resolved here. It goes through the same single authority
|
|
37
|
+
* either way (`loadWorkspaceAccess`, ADR 0025) and so reads THROUGH its cache rather than
|
|
38
|
+
* re-deriving membership.
|
|
39
|
+
*
|
|
40
|
+
* Resolving it is what keeps a bound key's run under the SAME policy that person gets in the app.
|
|
41
|
+
* A start that pins an initiator but no role is not a run with a lenient policy, it is a run with
|
|
42
|
+
* no policy: `dryRunForcedForRole` sees no role to sandbox, and both role-scoped merge narrowings
|
|
43
|
+
* pass through unnarrowed, so the key would land what its own holder could not land from the
|
|
44
|
+
* board. That gap has shipped once already, on the bug-hunt adopt route, which is why the accessor
|
|
45
|
+
* exists at all.
|
|
46
|
+
*
|
|
47
|
+
* `null` covers two states on purpose: an unbound key (there is no person, as before) and a bound
|
|
48
|
+
* user whose access no longer resolves (they were removed from the roster since minting). Both are
|
|
49
|
+
* honestly "no tier to scope this run by" rather than a lowest tier, exactly as
|
|
50
|
+
* {@link runInitiatorRole} treats dev-open. The key itself stays authorized by its scope; only the
|
|
51
|
+
* role-shaped narrowing has nothing to say.
|
|
52
|
+
*/
|
|
53
|
+
export declare function keyInitiatorRole(container: ServerContainer, workspaceId: string, userId: string | null): Promise<WorkspaceRole | null>;
|
|
28
54
|
/**
|
|
29
55
|
* The identity RESOLVING a parked gate, for the approver policy a pipeline step may configure
|
|
30
56
|
* (`stepOptions.gateConfig.approvers`) and the quorum it may demand.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runAdmission.d.ts","sourceRoot":"","sources":["../../src/http/runAdmission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"runAdmission.d.ts","sourceRoot":"","sources":["../../src/http/runAdmission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAGvD;;;;;;;;GAQG;AAEH;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,IAAI,CAEtF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAI/B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAWpE"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { UNATTRIBUTED_GATE_ACTOR } from '@cat-factory/kernel';
|
|
2
|
+
import { loadWorkspaceAccess } from './workspaceAccess.js';
|
|
2
3
|
/**
|
|
3
4
|
* The admission facts a run start CONSUMES off the request, in one place.
|
|
4
5
|
*
|
|
@@ -24,6 +25,37 @@ import { UNATTRIBUTED_GATE_ACTOR } from '@cat-factory/kernel';
|
|
|
24
25
|
export function runInitiatorRole(c) {
|
|
25
26
|
return c.get('workspaceAccess')?.role ?? null;
|
|
26
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* {@link runInitiatorRole}'s twin for a KEY-authenticated start: the role held by the user a
|
|
30
|
+
* public-API key is BOUND to (`PublicApiKeyRecord.actsAsUserId`), or `null` when it is bound to
|
|
31
|
+
* nobody.
|
|
32
|
+
*
|
|
33
|
+
* A separate function because the two read different places for the same fact. An SPA request
|
|
34
|
+
* arrives behind `mountAuthGate`, which has already resolved the caller's access and published it;
|
|
35
|
+
* `/api/v1` has no such gate, because a key is admitted by SCOPE rather than by membership, so the
|
|
36
|
+
* one identity a key can name has to be resolved here. It goes through the same single authority
|
|
37
|
+
* either way (`loadWorkspaceAccess`, ADR 0025) and so reads THROUGH its cache rather than
|
|
38
|
+
* re-deriving membership.
|
|
39
|
+
*
|
|
40
|
+
* Resolving it is what keeps a bound key's run under the SAME policy that person gets in the app.
|
|
41
|
+
* A start that pins an initiator but no role is not a run with a lenient policy, it is a run with
|
|
42
|
+
* no policy: `dryRunForcedForRole` sees no role to sandbox, and both role-scoped merge narrowings
|
|
43
|
+
* pass through unnarrowed, so the key would land what its own holder could not land from the
|
|
44
|
+
* board. That gap has shipped once already, on the bug-hunt adopt route, which is why the accessor
|
|
45
|
+
* exists at all.
|
|
46
|
+
*
|
|
47
|
+
* `null` covers two states on purpose: an unbound key (there is no person, as before) and a bound
|
|
48
|
+
* user whose access no longer resolves (they were removed from the roster since minting). Both are
|
|
49
|
+
* honestly "no tier to scope this run by" rather than a lowest tier, exactly as
|
|
50
|
+
* {@link runInitiatorRole} treats dev-open. The key itself stays authorized by its scope; only the
|
|
51
|
+
* role-shaped narrowing has nothing to say.
|
|
52
|
+
*/
|
|
53
|
+
export async function keyInitiatorRole(container, workspaceId, userId) {
|
|
54
|
+
if (!userId)
|
|
55
|
+
return null;
|
|
56
|
+
const access = await loadWorkspaceAccess(container, workspaceId, userId);
|
|
57
|
+
return access?.allowed ? access.role : null;
|
|
58
|
+
}
|
|
27
59
|
/**
|
|
28
60
|
* The identity RESOLVING a parked gate, for the approver policy a pipeline step may configure
|
|
29
61
|
* (`stepOptions.gateConfig.approvers`) and the quorum it may demand.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runAdmission.js","sourceRoot":"","sources":["../../src/http/runAdmission.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"runAdmission.js","sourceRoot":"","sources":["../../src/http/runAdmission.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;;;;;GAQG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAmB,CAAa;IAC9D,OAAO,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,IAAI,IAAI,IAAI,CAAA;AAC/C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAA0B,EAC1B,WAAmB,EACnB,MAAqB;IAErB,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;IACxE,OAAO,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;AAC7C,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,SAAS,CAAmB,CAAa;IACvD,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAA;IACzF,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACzB,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK;KAC/B,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaceCatalog.d.ts","sourceRoot":"","sources":["../../../src/modules/models/workspaceCatalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAO1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGxD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,4BAA4B,CAChD,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"workspaceCatalog.d.ts","sourceRoot":"","sources":["../../../src/modules/models/workspaceCatalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAO1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGxD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,4BAA4B,CAChD,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC,CAyCvB"}
|
|
@@ -32,6 +32,10 @@ export async function resolveWorkspaceModelCatalog(container, workspaceId, userI
|
|
|
32
32
|
// dispatch, where the block is in hand.
|
|
33
33
|
const caps = await resolveWorkspaceCapabilities({
|
|
34
34
|
...container,
|
|
35
|
+
// Not supplied by the container spread: it lives on `config`, not beside the services.
|
|
36
|
+
...(container.config.nativeAmbientAuth
|
|
37
|
+
? { nativeAmbientAuth: container.config.nativeAmbientAuth }
|
|
38
|
+
: {}),
|
|
35
39
|
accountSettings: container.accountSettings?.service,
|
|
36
40
|
workspaceAccountOf: (ws) => container.workspaceService.accountOf(ws),
|
|
37
41
|
modelPolicySupported: container.config.infrastructure?.modelPolicy?.supported ?? false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaceCatalog.js","sourceRoot":"","sources":["../../../src/modules/models/workspaceCatalog.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAEzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AAEnF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,SAA0B,EAC1B,WAAmB,EACnB,MAAe;IAEf,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,EAAE,OAAO,CAAA;IAC/C,gGAAgG;IAChG,uFAAuF;IACvF,gGAAgG;IAChG,oEAAoE;IACpE,EAAE;IACF,4FAA4F;IAC5F,+FAA+F;IAC/F,gGAAgG;IAChG,wCAAwC;IACxC,MAAM,IAAI,GAAG,MAAM,4BAA4B,CAC7C;QACE,GAAG,SAAS;QACZ,eAAe,EAAE,SAAS,CAAC,eAAe,EAAE,OAAO;QACnD,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QACpE,oBAAoB,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,EAAE,SAAS,IAAI,KAAK;QACtF,GAAG,CAAC,OAAO;YACT,CAAC,CAAC,EAAE,+BAA+B,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE;YACxF,CAAC,CAAC,EAAE,CAAC;KACR,EACD,WAAW,EACX,MAAM,CACP,CAAA;IACD,MAAM,KAAK,GACT,MAAM,IAAI,SAAS,CAAC,mBAAmB;QACrC,CAAC,CAAC,MAAM,SAAS,CAAC,mBAAmB,CAAC,eAAe,CAAC,MAAM,CAAC;QAC7D,CAAC,CAAC,EAAE,CAAA;IACR,MAAM,UAAU,GAAG,SAAS,CAAC,iBAAiB;QAC5C,CAAC,CAAC,MAAM,SAAS,CAAC,iBAAiB,CAAC,eAAe,CAAC,WAAW,CAAC;QAChE,CAAC,CAAC,EAAE,CAAA;IACN,MAAM,OAAO,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAA;IACxF,OAAO,oBAAoB,CACzB,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,EAAE,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC,EAC5E,IAAI,EACJ,OAAO,CACR,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"workspaceCatalog.js","sourceRoot":"","sources":["../../../src/modules/models/workspaceCatalog.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAEzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AAEnF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,SAA0B,EAC1B,WAAmB,EACnB,MAAe;IAEf,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,EAAE,OAAO,CAAA;IAC/C,gGAAgG;IAChG,uFAAuF;IACvF,gGAAgG;IAChG,oEAAoE;IACpE,EAAE;IACF,4FAA4F;IAC5F,+FAA+F;IAC/F,gGAAgG;IAChG,wCAAwC;IACxC,MAAM,IAAI,GAAG,MAAM,4BAA4B,CAC7C;QACE,GAAG,SAAS;QACZ,uFAAuF;QACvF,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB;YACpC,CAAC,CAAC,EAAE,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE;YAC3D,CAAC,CAAC,EAAE,CAAC;QACP,eAAe,EAAE,SAAS,CAAC,eAAe,EAAE,OAAO;QACnD,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QACpE,oBAAoB,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,EAAE,SAAS,IAAI,KAAK;QACtF,GAAG,CAAC,OAAO;YACT,CAAC,CAAC,EAAE,+BAA+B,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE;YACxF,CAAC,CAAC,EAAE,CAAC;KACR,EACD,WAAW,EACX,MAAM,CACP,CAAA;IACD,MAAM,KAAK,GACT,MAAM,IAAI,SAAS,CAAC,mBAAmB;QACrC,CAAC,CAAC,MAAM,SAAS,CAAC,mBAAmB,CAAC,eAAe,CAAC,MAAM,CAAC;QAC7D,CAAC,CAAC,EAAE,CAAA;IACR,MAAM,UAAU,GAAG,SAAS,CAAC,iBAAiB;QAC5C,CAAC,CAAC,MAAM,SAAS,CAAC,iBAAiB,CAAC,eAAe,CAAC,WAAW,CAAC;QAChE,CAAC,CAAC,EAAE,CAAA;IACN,MAAM,OAAO,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAA;IACxF,OAAO,oBAAoB,CACzB,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,EAAE,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC,EAC5E,IAAI,EACJ,OAAO,CACR,CAAA;AACH,CAAC"}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import type { Context } from 'hono';
|
|
2
2
|
import type { AppEnv, ServerContainer } from '../../http/env.js';
|
|
3
3
|
import type { SessionPayload } from '../../auth/signing.js';
|
|
4
|
+
/**
|
|
5
|
+
* WHOSE personal credential a run may unlock — the user id and nothing else.
|
|
6
|
+
*
|
|
7
|
+
* Narrower than `SessionPayload` on purpose. A browser session is one way to establish this, and
|
|
8
|
+
* a public-API key its holder BOUND to themselves (`PublicApiKeyRecord.actsAsUserId`) is the
|
|
9
|
+
* other; asking for a whole session would have forced the second caller to fabricate the login,
|
|
10
|
+
* avatar and expiry of a person who is not signed in, and a fabricated session is a thing later
|
|
11
|
+
* code reads as one. The gate never needed more than the id: ownership of the credential is what
|
|
12
|
+
* it is deciding, and the PASSWORD, not this, is what proves the holder consented.
|
|
13
|
+
*/
|
|
14
|
+
export type PersonalCredentialOwner = Pick<SessionPayload, 'id'>;
|
|
4
15
|
/**
|
|
5
16
|
* Read the ambient personal password from the request header (see
|
|
6
17
|
* `PERSONAL_PASSWORD_HEADER`). The client attaches it on the gated run calls the way it
|
|
@@ -18,6 +29,23 @@ export declare function readPersonalPassword<E extends AppEnv>(c: Context<E>): s
|
|
|
18
29
|
* so the common path never prompts. See `getCachedPassword`'s 8h expiry buffer on the client.
|
|
19
30
|
*/
|
|
20
31
|
export declare function activateForInteraction<E extends AppEnv>(c: Context<E>, workspaceId: string, executionId: string): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* {@link activateForInteraction}'s context-free core, shared with the public-API decision surface
|
|
34
|
+
* (which resolves its user from the key's binding rather than from a session).
|
|
35
|
+
*
|
|
36
|
+
* Skips the whole gate when the run already holds a FRESH activation for every vendor it needs, and
|
|
37
|
+
* that short-circuit is what makes the interaction gate safe to mount in a shared preamble. Each
|
|
38
|
+
* re-mint derives the password's key with 210k PBKDF2 iterations per vendor, so a headless driver
|
|
39
|
+
* answering a run's parks one HTTP call at a time would pay that cost per call — seconds of blocked
|
|
40
|
+
* event loop on Node, a CPU-limit kill on workerd. `hasFreshActivation` owns the threshold, because
|
|
41
|
+
* only the service that mints the TTL can say what "fresh" means against it.
|
|
42
|
+
*
|
|
43
|
+
* The skip drops the password CHECK along with the derivation, and that is the honest reading rather
|
|
44
|
+
* than a hole: the gate exists to tell a caller to supply the password while it can still act on
|
|
45
|
+
* being told, and a run holding a credential that outlives its next dispatch has nothing to be told
|
|
46
|
+
* about. Consent was given for THIS run, by this holder, within the same activation window.
|
|
47
|
+
*/
|
|
48
|
+
export declare function refreshRunActivation(container: ServerContainer, workspaceId: string, executionId: string, user: PersonalCredentialOwner | undefined, password: string | undefined): Promise<void>;
|
|
21
49
|
export interface PersonalCredentialGate {
|
|
22
50
|
/** Recorded on the run (individual-usage credential ownership). */
|
|
23
51
|
initiatedBy: string | null;
|
|
@@ -29,9 +57,9 @@ export interface PersonalCredentialGate {
|
|
|
29
57
|
activate?: (executionId: string) => Promise<void>;
|
|
30
58
|
}
|
|
31
59
|
/** Gate for STARTING a run on a block with a given pipeline. */
|
|
32
|
-
export declare function personalGateForBlock(container: ServerContainer, workspaceId: string, blockId: string, pipelineId: string, user:
|
|
60
|
+
export declare function personalGateForBlock(container: ServerContainer, workspaceId: string, blockId: string, pipelineId: string, user: PersonalCredentialOwner | undefined, password: string | undefined): Promise<PersonalCredentialGate>;
|
|
33
61
|
/** Gate for starting a SINGLE-KIND run (the "Map service" action, the wizard's deep analysis). */
|
|
34
|
-
export declare function personalGateForAgentKind(container: ServerContainer, workspaceId: string, blockId: string, agentKind: string, user:
|
|
62
|
+
export declare function personalGateForAgentKind(container: ServerContainer, workspaceId: string, blockId: string, agentKind: string, user: PersonalCredentialOwner | undefined, password: string | undefined): Promise<PersonalCredentialGate>;
|
|
35
63
|
/** Gate for RETRYING a failed run. */
|
|
36
|
-
export declare function personalGateForRun(container: ServerContainer, workspaceId: string, executionId: string, user:
|
|
64
|
+
export declare function personalGateForRun(container: ServerContainer, workspaceId: string, executionId: string, user: PersonalCredentialOwner | undefined, password: string | undefined): Promise<PersonalCredentialGate>;
|
|
37
65
|
//# sourceMappingURL=personalCredentialGate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"personalCredentialGate.d.ts","sourceRoot":"","sources":["../../../src/modules/providers/personalCredentialGate.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE3D;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,SAAS,CAExF;AAmBD;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EAC3D,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"personalCredentialGate.d.ts","sourceRoot":"","sources":["../../../src/modules/providers/personalCredentialGate.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE3D;;;;;;;;;GASG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;AAEhE;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,SAAS,CAExF;AAmBD;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EAC3D,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,uBAAuB,GAAG,SAAS,EACzC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,IAAI,CAAC,CAKf;AAwBD,MAAM,WAAW,sBAAsB;IACrC,mEAAmE;IACnE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAClD;AA6DD,gEAAgE;AAChE,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,uBAAuB,GAAG,SAAS,EACzC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,sBAAsB,CAAC,CAiBjC;AAED,kGAAkG;AAClG,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,uBAAuB,GAAG,SAAS,EACzC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,sBAAsB,CAAC,CAejC;AAED,sCAAsC;AACtC,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,uBAAuB,GAAG,SAAS,EACzC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,sBAAsB,CAAC,CAOjC"}
|