@cat-factory/contracts 0.241.0 → 0.243.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.
Files changed (49) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/merge.d.ts +56 -0
  6. package/dist/merge.d.ts.map +1 -1
  7. package/dist/merge.js +58 -0
  8. package/dist/merge.js.map +1 -1
  9. package/dist/observability.d.ts +11 -4
  10. package/dist/observability.d.ts.map +1 -1
  11. package/dist/observability.js +11 -4
  12. package/dist/observability.js.map +1 -1
  13. package/dist/pr-report.d.ts +48 -8
  14. package/dist/pr-report.d.ts.map +1 -1
  15. package/dist/pr-report.js +39 -8
  16. package/dist/pr-report.js.map +1 -1
  17. package/dist/public-api-keys.d.ts +67 -0
  18. package/dist/public-api-keys.d.ts.map +1 -1
  19. package/dist/public-api-keys.js +34 -0
  20. package/dist/public-api-keys.js.map +1 -1
  21. package/dist/public-decisions.d.ts +282 -9
  22. package/dist/public-decisions.d.ts.map +1 -1
  23. package/dist/public-decisions.js +158 -8
  24. package/dist/public-decisions.js.map +1 -1
  25. package/dist/public-evidence.d.ts +55 -0
  26. package/dist/public-evidence.d.ts.map +1 -0
  27. package/dist/public-evidence.js +59 -0
  28. package/dist/public-evidence.js.map +1 -0
  29. package/dist/risk-policy-selection.d.ts +74 -0
  30. package/dist/risk-policy-selection.d.ts.map +1 -0
  31. package/dist/risk-policy-selection.js +54 -0
  32. package/dist/risk-policy-selection.js.map +1 -0
  33. package/dist/routes/index.d.ts +1 -0
  34. package/dist/routes/index.d.ts.map +1 -1
  35. package/dist/routes/index.js +1 -0
  36. package/dist/routes/index.js.map +1 -1
  37. package/dist/routes/public-api.d.ts +140 -0
  38. package/dist/routes/public-api.d.ts.map +1 -1
  39. package/dist/routes/public-api.js +44 -1
  40. package/dist/routes/public-api.js.map +1 -1
  41. package/dist/routes/public-decisions.d.ts +2658 -3
  42. package/dist/routes/public-decisions.d.ts.map +1 -1
  43. package/dist/routes/public-decisions.js +89 -1
  44. package/dist/routes/public-decisions.js.map +1 -1
  45. package/dist/routes/public-evidence.d.ts +291 -0
  46. package/dist/routes/public-evidence.d.ts.map +1 -0
  47. package/dist/routes/public-evidence.js +42 -0
  48. package/dist/routes/public-evidence.js.map +1 -0
  49. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"public-decisions.js","sourceRoot":"","sources":["../src/public-decisions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public-decisions.js","sourceRoot":"","sources":["../src/public-decisions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import * as v from 'valibot';
2
+ /**
3
+ * What an artifact IS, which is what pairs a captured screenshot with the design it is
4
+ * reviewed against: `screenshot` is machine-captured during a run, `reference` is the image a
5
+ * human uploaded for the run to be judged against.
6
+ */
7
+ export declare const publicArtifactKindSchema: v.PicklistSchema<["screenshot", "reference"], undefined>;
8
+ export type PublicArtifactKind = v.InferOutput<typeof publicArtifactKindSchema>;
9
+ /** One binary artifact a run produced (metadata; the bytes are a separate fetch). */
10
+ export declare const publicRunArtifactSchema: v.ObjectSchema<{
11
+ /** The id to pass to `GET /api/v1/artifacts/{artifactId}/blob`. */
12
+ readonly artifactId: v.StringSchema<undefined>;
13
+ readonly kind: v.PicklistSchema<["screenshot", "reference"], undefined>;
14
+ /** Logical view name, which is what pairs a screenshot with its reference. Null when unnamed. */
15
+ readonly view: v.NullableSchema<v.StringSchema<undefined>, undefined>;
16
+ /** The MIME type the blob endpoint will answer with (always a raster image today). */
17
+ readonly contentType: v.StringSchema<undefined>;
18
+ /**
19
+ * Exact size of the bytes, so a consumer can size the fetch (or decline it) BEFORE issuing
20
+ * it: the same discipline every `/api/v1/debug` read follows.
21
+ */
22
+ readonly byteSize: v.NumberSchema<undefined>;
23
+ /** Content hash (sha-256 hex): two runs that captured the same pixels share one value. */
24
+ readonly hash: v.StringSchema<undefined>;
25
+ readonly createdAt: v.NumberSchema<undefined>;
26
+ }, undefined>;
27
+ export type PublicRunArtifact = v.InferOutput<typeof publicRunArtifactSchema>;
28
+ /**
29
+ * A run's artifacts, whole rather than paginated.
30
+ *
31
+ * Deliberately unpaged where every sibling list is keyset-paginated: the capture path enforces
32
+ * a per-run ceiling, so the row count is bounded by construction and the response size is
33
+ * computable before the request. A cursor here would be a page-2 that structurally cannot exist.
34
+ */
35
+ export declare const publicRunArtifactListSchema: v.ObjectSchema<{
36
+ readonly artifacts: v.ArraySchema<v.ObjectSchema<{
37
+ /** The id to pass to `GET /api/v1/artifacts/{artifactId}/blob`. */
38
+ readonly artifactId: v.StringSchema<undefined>;
39
+ readonly kind: v.PicklistSchema<["screenshot", "reference"], undefined>;
40
+ /** Logical view name, which is what pairs a screenshot with its reference. Null when unnamed. */
41
+ readonly view: v.NullableSchema<v.StringSchema<undefined>, undefined>;
42
+ /** The MIME type the blob endpoint will answer with (always a raster image today). */
43
+ readonly contentType: v.StringSchema<undefined>;
44
+ /**
45
+ * Exact size of the bytes, so a consumer can size the fetch (or decline it) BEFORE issuing
46
+ * it: the same discipline every `/api/v1/debug` read follows.
47
+ */
48
+ readonly byteSize: v.NumberSchema<undefined>;
49
+ /** Content hash (sha-256 hex): two runs that captured the same pixels share one value. */
50
+ readonly hash: v.StringSchema<undefined>;
51
+ readonly createdAt: v.NumberSchema<undefined>;
52
+ }, undefined>, undefined>;
53
+ }, undefined>;
54
+ export type PublicRunArtifactList = v.InferOutput<typeof publicRunArtifactListSchema>;
55
+ //# sourceMappingURL=public-evidence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-evidence.d.ts","sourceRoot":"","sources":["../src/public-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AA0B5B;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,0DAA0C,CAAA;AAC/E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,qFAAqF;AACrF,eAAO,MAAM,uBAAuB;IAClC,mEAAmE;;;IAGnE,iGAAiG;;IAEjG,sFAAsF;;IAEtF;;;OAGG;;IAEH,0FAA0F;;;aAG1F,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B;;QAzBtC,mEAAmE;;;QAGnE,iGAAiG;;QAEjG,sFAAsF;;QAEtF;;;WAGG;;QAEH,0FAA0F;;;;aAe1F,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA"}
@@ -0,0 +1,59 @@
1
+ import * as v from 'valibot';
2
+ // ---------------------------------------------------------------------------
3
+ // Public run-EVIDENCE wire shapes (`/api/v1/runs/:runId/report`, `…/artifacts`, and the
4
+ // bytes at `/api/v1/artifacts/:artifactId/blob`).
5
+ //
6
+ // The platform already captures everything a reviewer needs to believe a run: the engine's
7
+ // verification report (the same bundle it maintains on the pull request) and the binary
8
+ // artifacts its agents captured. Both were reachable only from a browser session, so a
9
+ // headless consumer (a trial harness deciding whether to accept a change, an evaluation
10
+ // pipeline scoring a fleet of runs) had to scrape the PR body for one and could not reach
11
+ // the other at all.
12
+ //
13
+ // Two rules shape these shapes specifically:
14
+ //
15
+ // 1. **The report is served VERBATIM**, the same `PrVerificationReport` the PR body carries
16
+ // in its fenced JSON block. A second, API-shaped projection of the same facts is how the
17
+ // two surfaces start disagreeing about what a run proved. The consequence is worth
18
+ // stating: from here on the report schema is part of the STABLE public surface, so it
19
+ // grows additively (see CLAUDE.md, "The public API does not break").
20
+ // 2. **An artifact row carries no storage vocabulary.** `storage`/`storageKey` name the
21
+ // account's blob backend (R2 / S3 / a `bytea` table) and are an implementation detail the
22
+ // bytes endpoint exists to hide; what a consumer needs is the id to fetch, the type and
23
+ // size it is about to receive, and the hash to dedupe against.
24
+ // ---------------------------------------------------------------------------
25
+ /**
26
+ * What an artifact IS, which is what pairs a captured screenshot with the design it is
27
+ * reviewed against: `screenshot` is machine-captured during a run, `reference` is the image a
28
+ * human uploaded for the run to be judged against.
29
+ */
30
+ export const publicArtifactKindSchema = v.picklist(['screenshot', 'reference']);
31
+ /** One binary artifact a run produced (metadata; the bytes are a separate fetch). */
32
+ export const publicRunArtifactSchema = v.object({
33
+ /** The id to pass to `GET /api/v1/artifacts/{artifactId}/blob`. */
34
+ artifactId: v.string(),
35
+ kind: publicArtifactKindSchema,
36
+ /** Logical view name, which is what pairs a screenshot with its reference. Null when unnamed. */
37
+ view: v.nullable(v.string()),
38
+ /** The MIME type the blob endpoint will answer with (always a raster image today). */
39
+ contentType: v.string(),
40
+ /**
41
+ * Exact size of the bytes, so a consumer can size the fetch (or decline it) BEFORE issuing
42
+ * it: the same discipline every `/api/v1/debug` read follows.
43
+ */
44
+ byteSize: v.number(),
45
+ /** Content hash (sha-256 hex): two runs that captured the same pixels share one value. */
46
+ hash: v.string(),
47
+ createdAt: v.number(),
48
+ });
49
+ /**
50
+ * A run's artifacts, whole rather than paginated.
51
+ *
52
+ * Deliberately unpaged where every sibling list is keyset-paginated: the capture path enforces
53
+ * a per-run ceiling, so the row count is bounded by construction and the response size is
54
+ * computable before the request. A cursor here would be a page-2 that structurally cannot exist.
55
+ */
56
+ export const publicRunArtifactListSchema = v.object({
57
+ artifacts: v.array(publicRunArtifactSchema),
58
+ });
59
+ //# sourceMappingURL=public-evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-evidence.js","sourceRoot":"","sources":["../src/public-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,wFAAwF;AACxF,kDAAkD;AAClD,EAAE;AACF,2FAA2F;AAC3F,wFAAwF;AACxF,uFAAuF;AACvF,wFAAwF;AACxF,0FAA0F;AAC1F,oBAAoB;AACpB,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,6FAA6F;AAC7F,6FAA6F;AAC7F,uFAAuF;AACvF,0FAA0F;AAC1F,yEAAyE;AACzE,yFAAyF;AACzF,8FAA8F;AAC9F,4FAA4F;AAC5F,mEAAmE;AACnE,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAA;AAG/E,qFAAqF;AACrF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,mEAAmE;IACnE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,wBAAwB;IAC9B,iGAAiG;IACjG,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5B,sFAAsF;IACtF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB;;;OAGG;IACH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,0FAA0F;IAC1F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAA;AAGF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC;CAC5C,CAAC,CAAA"}
@@ -0,0 +1,74 @@
1
+ import { type RiskPolicy } from './merge.js';
2
+ import type { WorkspaceRole } from './workspace-members.js';
3
+ /**
4
+ * Who is editing a block, as each entry point already knows it.
5
+ *
6
+ * Two facts, because a swap is judged against the editor rather than against the board: the tier
7
+ * whose restrictions could be dropped, and whether they own the policy library in the first place.
8
+ */
9
+ export interface BlockEditActor {
10
+ /**
11
+ * The workspace role the auth gate resolved, or `null` when the caller holds no tier at all:
12
+ * an internal reconciliation (the board scan), a headless `/api/v1` key (which carries scopes,
13
+ * not membership) or auth-disabled dev. That absence is a REAL state and is never read as the
14
+ * lowest tier, the same call {@link dryRunForcedForRole} and `initiatedByRole` make: a caller
15
+ * with no role matches no role entry, so no role-scoped restriction can be dropped by one.
16
+ */
17
+ role: WorkspaceRole | null;
18
+ /**
19
+ * Whether the editor holds `settings.manage`, the permission that owns the preset library.
20
+ * Someone who can rewrite `dryRunRoles` cannot escalate by SELECTING a preset, so refusing them
21
+ * a swap would be theatre with a support ticket attached.
22
+ */
23
+ managesPolicy: boolean;
24
+ }
25
+ /**
26
+ * The editor of a block change that no workspace tier is behind. See {@link BlockEditActor.role}:
27
+ * this passes the selection rule because there is no role whose restrictions could be dropped,
28
+ * NOT because the caller was granted anything.
29
+ */
30
+ export declare const UNATTRIBUTED_BLOCK_EDITOR: BlockEditActor;
31
+ /**
32
+ * The half of a preset that speaks about WHO started the run. Both sides of a swap are supplied
33
+ * already RESOLVED (a task that pins no preset is governed by the workspace default, so that is
34
+ * what its side of the comparison must be), because the two callers resolve it differently: the
35
+ * engine through the preset repository, the SPA through its preset store.
36
+ *
37
+ * Every member is optional because the built-in fallback policy the engine resolves to when a
38
+ * workspace has seeded no library carries none of them, and that absence is the identity: no
39
+ * role is sandboxed, no class is narrowed for anyone.
40
+ */
41
+ export interface RolePolicyView {
42
+ classRules?: RiskPolicy['classRules'] | null;
43
+ classRulesByRole?: RiskPolicy['classRulesByRole'] | null;
44
+ dryRunRoles?: readonly WorkspaceRole[] | null;
45
+ }
46
+ /**
47
+ * Why a preset selection is refused: the machine-readable half, kept apart because the two mean
48
+ * different things to the person holding the picker (and because only the first is about a run
49
+ * that would otherwise merge NOTHING).
50
+ */
51
+ export type RiskPolicySelectionRefusal = 'relaxes_role_sandbox' | 'relaxes_role_class_rule';
52
+ /**
53
+ * Whether `actor` may re-point a task from the `from` policy to the `to` policy, or the reason
54
+ * they may not.
55
+ *
56
+ * Three ways to pass, and the first two are the reason this is inert on almost every workspace:
57
+ *
58
+ * - The actor holds no workspace role, so no role-scoped restriction applies to them.
59
+ * - The actor manages the policy library, so a swap grants them nothing they could not author.
60
+ * - Neither preset's ROLE LAYER holds anything over this role that the other drops.
61
+ *
62
+ * The class arm keys on {@link resolveRoleScopedMergeClassRule}'s `narrowedByRole`, not on the
63
+ * effective rules alone: only a class the role layer ACTUALLY narrowed is a restriction the
64
+ * selector was under. A class where the two presets differ in their BASE rules is a policy about
65
+ * the kind of change, identical for every tier, and refusing that would be the base-policy
66
+ * comparison this rule deliberately does not make. It is the same test `thresholds.roleRule`
67
+ * already applies before blaming a role for a refusal the base map made anyway.
68
+ */
69
+ export declare function refuseRiskPolicySelection(input: {
70
+ from: RolePolicyView;
71
+ to: RolePolicyView;
72
+ actor: BlockEditActor;
73
+ }): RiskPolicySelectionRefusal | null;
74
+ //# sourceMappingURL=risk-policy-selection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"risk-policy-selection.d.ts","sourceRoot":"","sources":["../src/risk-policy-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,YAAY,CAAA;AAEnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AA8B3D;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;OAMG;IACH,IAAI,EAAE,aAAa,GAAG,IAAI,CAAA;IAC1B;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAA;CACvB;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,cAAqD,CAAA;AAE7F;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;IAC5C,gBAAgB,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAA;IACxD,WAAW,CAAC,EAAE,SAAS,aAAa,EAAE,GAAG,IAAI,CAAA;CAC9C;AAED;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,sBAAsB,GAAG,yBAAyB,CAAA;AAE3F;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,IAAI,EAAE,cAAc,CAAA;IACpB,EAAE,EAAE,cAAc,CAAA;IAClB,KAAK,EAAE,cAAc,CAAA;CACtB,GAAG,0BAA0B,GAAG,IAAI,CAwBpC"}
@@ -0,0 +1,54 @@
1
+ import { dryRunForcedForRole, mergeClassRuleRelaxes, resolveRoleScopedMergeClassRule, } from './merge.js';
2
+ import { RULEABLE_CHANGE_CLASSES } from './mergeTrackRecord.js';
3
+ /**
4
+ * The editor of a block change that no workspace tier is behind. See {@link BlockEditActor.role}:
5
+ * this passes the selection rule because there is no role whose restrictions could be dropped,
6
+ * NOT because the caller was granted anything.
7
+ */
8
+ export const UNATTRIBUTED_BLOCK_EDITOR = { role: null, managesPolicy: false };
9
+ /**
10
+ * Whether `actor` may re-point a task from the `from` policy to the `to` policy, or the reason
11
+ * they may not.
12
+ *
13
+ * Three ways to pass, and the first two are the reason this is inert on almost every workspace:
14
+ *
15
+ * - The actor holds no workspace role, so no role-scoped restriction applies to them.
16
+ * - The actor manages the policy library, so a swap grants them nothing they could not author.
17
+ * - Neither preset's ROLE LAYER holds anything over this role that the other drops.
18
+ *
19
+ * The class arm keys on {@link resolveRoleScopedMergeClassRule}'s `narrowedByRole`, not on the
20
+ * effective rules alone: only a class the role layer ACTUALLY narrowed is a restriction the
21
+ * selector was under. A class where the two presets differ in their BASE rules is a policy about
22
+ * the kind of change, identical for every tier, and refusing that would be the base-policy
23
+ * comparison this rule deliberately does not make. It is the same test `thresholds.roleRule`
24
+ * already applies before blaming a role for a refusal the base map made anyway.
25
+ */
26
+ export function refuseRiskPolicySelection(input) {
27
+ const { from, to, actor } = input;
28
+ const role = actor.role;
29
+ if (!role || actor.managesPolicy)
30
+ return null;
31
+ if (dryRunForcedForRole(from.dryRunRoles, role) && !dryRunForcedForRole(to.dryRunRoles, role)) {
32
+ return 'relaxes_role_sandbox';
33
+ }
34
+ for (const changeClass of RULEABLE_CHANGE_CLASSES) {
35
+ const held = resolveRoleScopedMergeClassRule({
36
+ rules: from.classRules,
37
+ byRole: from.classRulesByRole,
38
+ role,
39
+ changeClass,
40
+ });
41
+ if (!held.narrowedByRole)
42
+ continue;
43
+ const next = resolveRoleScopedMergeClassRule({
44
+ rules: to.classRules,
45
+ byRole: to.classRulesByRole,
46
+ role,
47
+ changeClass,
48
+ });
49
+ if (mergeClassRuleRelaxes(held.effective, next.effective))
50
+ return 'relaxes_role_class_rule';
51
+ }
52
+ return null;
53
+ }
54
+ //# sourceMappingURL=risk-policy-selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"risk-policy-selection.js","sourceRoot":"","sources":["../src/risk-policy-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,+BAA+B,GAEhC,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAsD/D;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAA;AAyB7F;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAIzC;IACC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACvB,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,aAAa;QAAE,OAAO,IAAI,CAAA;IAC7C,IAAI,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;QAC9F,OAAO,sBAAsB,CAAA;IAC/B,CAAC;IACD,KAAK,MAAM,WAAW,IAAI,uBAAuB,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,+BAA+B,CAAC;YAC3C,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,MAAM,EAAE,IAAI,CAAC,gBAAgB;YAC7B,IAAI;YACJ,WAAW;SACZ,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,SAAQ;QAClC,MAAM,IAAI,GAAG,+BAA+B,CAAC;YAC3C,KAAK,EAAE,EAAE,CAAC,UAAU;YACpB,MAAM,EAAE,EAAE,CAAC,gBAAgB;YAC3B,IAAI;YACJ,WAAW;SACZ,CAAC,CAAA;QACF,IAAI,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,yBAAyB,CAAA;IAC7F,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -49,6 +49,7 @@ export * from './preview.js';
49
49
  export * from './prompt-fragments.js';
50
50
  export * from './provisioning-logs.js';
51
51
  export * from './public-api.js';
52
+ export * from './public-evidence.js';
52
53
  export * from './debug-api.js';
53
54
  export * from './public-decisions.js';
54
55
  export * from './notification-webhooks.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
@@ -52,6 +52,7 @@ export * from './preview.js';
52
52
  export * from './prompt-fragments.js';
53
53
  export * from './provisioning-logs.js';
54
54
  export * from './public-api.js';
55
+ export * from './public-evidence.js';
55
56
  export * from './debug-api.js';
56
57
  export * from './public-decisions.js';
57
58
  export * from './notification-webhooks.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+EAA+E;AAC/E,oDAAoD;AACpD,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+EAA+E;AAC/E,oDAAoD;AACpD,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
@@ -33,6 +33,7 @@ export declare const listPublicApiKeysContract: {
33
33
  readonly label: import("valibot").StringSchema<undefined>;
34
34
  readonly scope: import("valibot").PicklistSchema<readonly ["read", "write", "decide", "admin"], undefined>;
35
35
  readonly createdByUserId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
36
+ readonly createdByKeyId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
36
37
  readonly createdAt: import("valibot").NumberSchema<undefined>;
37
38
  readonly lastUsedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
38
39
  readonly revokedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
@@ -78,6 +79,7 @@ export declare const createPublicApiKeyContract: {
78
79
  readonly label: import("valibot").StringSchema<undefined>;
79
80
  readonly scope: import("valibot").PicklistSchema<readonly ["read", "write", "decide", "admin"], undefined>;
80
81
  readonly createdByUserId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
82
+ readonly createdByKeyId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
81
83
  readonly createdAt: import("valibot").NumberSchema<undefined>;
82
84
  readonly lastUsedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
83
85
  readonly revokedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
@@ -1223,4 +1225,142 @@ export declare const getPublicUsageContract: {
1223
1225
  }, undefined>;
1224
1226
  };
1225
1227
  };
1228
+ /** List the workspace's live keys: metadata only; a secret is never readable back. */
1229
+ export declare const listPublicKeysContract: {
1230
+ readonly method: "get";
1231
+ readonly pathResolver: () => string;
1232
+ readonly responsesByStatusCode: {
1233
+ readonly '4xx': import("valibot").ObjectSchema<{
1234
+ readonly error: import("valibot").ObjectSchema<{
1235
+ readonly code: import("valibot").StringSchema<undefined>;
1236
+ readonly message: import("valibot").StringSchema<undefined>;
1237
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
1238
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
1239
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
1240
+ readonly message: import("valibot").StringSchema<undefined>;
1241
+ }, undefined>, undefined>, undefined>;
1242
+ }, undefined>;
1243
+ }, undefined>;
1244
+ readonly '5xx': import("valibot").ObjectSchema<{
1245
+ readonly error: import("valibot").ObjectSchema<{
1246
+ readonly code: import("valibot").StringSchema<undefined>;
1247
+ readonly message: import("valibot").StringSchema<undefined>;
1248
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
1249
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
1250
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
1251
+ readonly message: import("valibot").StringSchema<undefined>;
1252
+ }, undefined>, undefined>, undefined>;
1253
+ }, undefined>;
1254
+ }, undefined>;
1255
+ readonly 200: import("valibot").ObjectSchema<{
1256
+ readonly keys: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
1257
+ readonly id: import("valibot").StringSchema<undefined>;
1258
+ readonly accountId: import("valibot").StringSchema<undefined>;
1259
+ readonly workspaceId: import("valibot").StringSchema<undefined>;
1260
+ readonly label: import("valibot").StringSchema<undefined>;
1261
+ readonly scope: import("valibot").PicklistSchema<readonly ["read", "write", "decide", "admin"], undefined>;
1262
+ readonly createdByUserId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
1263
+ readonly createdByKeyId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
1264
+ readonly createdAt: import("valibot").NumberSchema<undefined>;
1265
+ readonly lastUsedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
1266
+ readonly revokedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
1267
+ }, undefined>, undefined>;
1268
+ }, undefined>;
1269
+ };
1270
+ };
1271
+ /**
1272
+ * Mint a key for the calling key's own workspace, returning the raw secret exactly once.
1273
+ * Omitting `scope` mints a `write` key. `admin` is refused: see the section note above.
1274
+ */
1275
+ export declare const createPublicKeyContract: {
1276
+ readonly method: "post";
1277
+ readonly pathResolver: () => string;
1278
+ readonly requestBodySchema: import("valibot").ObjectSchema<{
1279
+ readonly label: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>;
1280
+ readonly scope: import("valibot").OptionalSchema<import("valibot").PicklistSchema<import("../public-api-keys.js").HeadlessMintableScope[], undefined>, undefined>;
1281
+ }, undefined>;
1282
+ readonly responsesByStatusCode: {
1283
+ readonly '4xx': import("valibot").ObjectSchema<{
1284
+ readonly error: import("valibot").ObjectSchema<{
1285
+ readonly code: import("valibot").StringSchema<undefined>;
1286
+ readonly message: import("valibot").StringSchema<undefined>;
1287
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
1288
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
1289
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
1290
+ readonly message: import("valibot").StringSchema<undefined>;
1291
+ }, undefined>, undefined>, undefined>;
1292
+ }, undefined>;
1293
+ }, undefined>;
1294
+ readonly '5xx': import("valibot").ObjectSchema<{
1295
+ readonly error: import("valibot").ObjectSchema<{
1296
+ readonly code: import("valibot").StringSchema<undefined>;
1297
+ readonly message: import("valibot").StringSchema<undefined>;
1298
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
1299
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
1300
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
1301
+ readonly message: import("valibot").StringSchema<undefined>;
1302
+ }, undefined>, undefined>, undefined>;
1303
+ }, undefined>;
1304
+ }, undefined>;
1305
+ readonly 201: import("valibot").ObjectSchema<{
1306
+ readonly key: import("valibot").ObjectSchema<{
1307
+ readonly id: import("valibot").StringSchema<undefined>;
1308
+ readonly accountId: import("valibot").StringSchema<undefined>;
1309
+ readonly workspaceId: import("valibot").StringSchema<undefined>;
1310
+ readonly label: import("valibot").StringSchema<undefined>;
1311
+ readonly scope: import("valibot").PicklistSchema<readonly ["read", "write", "decide", "admin"], undefined>;
1312
+ readonly createdByUserId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
1313
+ readonly createdByKeyId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
1314
+ readonly createdAt: import("valibot").NumberSchema<undefined>;
1315
+ readonly lastUsedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
1316
+ readonly revokedAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
1317
+ }, undefined>;
1318
+ readonly secret: import("valibot").StringSchema<undefined>;
1319
+ }, undefined>;
1320
+ };
1321
+ };
1322
+ /**
1323
+ * Revoke a key, and with it every key that key minted. Idempotent.
1324
+ *
1325
+ * It may name the CALLING key, which is how a provisioning credential retires itself at the end of
1326
+ * a run: the request is already authorized by the time it lands, and the cascade takes the keys it
1327
+ * handed out with it. Note which key that can be: revoking needs `admin`, and `admin` is not
1328
+ * mintable here, so the key that retires itself is always one a person minted in the app. A key
1329
+ * provisioned over this API cannot revoke ITSELF (or anything else); its holder hands it back by
1330
+ * asking whoever provisioned it, or the provisioner revokes itself and takes it along.
1331
+ */
1332
+ export declare const revokePublicKeyContract: {
1333
+ readonly method: "delete";
1334
+ readonly requestPathParamsSchema: import("valibot").ObjectSchema<{
1335
+ keyId: import("valibot").StringSchema<undefined>;
1336
+ }, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
1337
+ readonly pathResolver: ({ keyId }: {
1338
+ keyId: string;
1339
+ }) => string;
1340
+ readonly responsesByStatusCode: {
1341
+ readonly '4xx': import("valibot").ObjectSchema<{
1342
+ readonly error: import("valibot").ObjectSchema<{
1343
+ readonly code: import("valibot").StringSchema<undefined>;
1344
+ readonly message: import("valibot").StringSchema<undefined>;
1345
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
1346
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
1347
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
1348
+ readonly message: import("valibot").StringSchema<undefined>;
1349
+ }, undefined>, undefined>, undefined>;
1350
+ }, undefined>;
1351
+ }, undefined>;
1352
+ readonly '5xx': import("valibot").ObjectSchema<{
1353
+ readonly error: import("valibot").ObjectSchema<{
1354
+ readonly code: import("valibot").StringSchema<undefined>;
1355
+ readonly message: import("valibot").StringSchema<undefined>;
1356
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
1357
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
1358
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
1359
+ readonly message: import("valibot").StringSchema<undefined>;
1360
+ }, undefined>, undefined>, undefined>;
1361
+ }, undefined>;
1362
+ }, undefined>;
1363
+ readonly 204: typeof ContractNoBody;
1364
+ };
1365
+ };
1226
1366
  //# sourceMappingURL=public-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/routes/public-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/routes/public-api.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ContractNoBody, defineApiContract } from '@toad-contracts/valibot';
2
- import { createPublicApiKeySchema, createdPublicApiKeySchema, publicApiKeyListResultSchema, } from '../public-api-keys.js';
2
+ import { createHeadlessPublicApiKeySchema, createPublicApiKeySchema, createdPublicApiKeySchema, publicApiKeyListResultSchema, } from '../public-api-keys.js';
3
3
  import { notificationSchema } from '../notifications.js';
4
4
  import { createPublicJobSchema, createPublicTaskSchema, listPublicJobsQuerySchema, listPublicServiceTasksQuerySchema, publicJobAcceptedSchema, publicJobListSchema, publicJobSchema, publicNotificationListSchema, publicPipelineListSchema, publicRunSchema, publicServiceListSchema, publicTaskListSchema, publicTaskSchema, publicUsageSchema, startPublicTaskSchema, updatePublicTaskSchema, } from '../public-api.js';
5
5
  import { errorResponses, singleStringParam } from './_shared.js';
@@ -15,6 +15,7 @@ import { errorResponses, singleStringParam } from './_shared.js';
15
15
  // public-API key (not the session gate), scoped to the key's workspace.
16
16
  // ---------------------------------------------------------------------------
17
17
  const idParams = singleStringParam('id');
18
+ const keyIdParams = singleStringParam('keyId');
18
19
  const serviceIdParams = singleStringParam('serviceId');
19
20
  const taskIdParams = singleStringParam('taskId');
20
21
  // ---- key management (relative to `/workspaces/:workspaceId`) ---------------
@@ -206,4 +207,46 @@ export const getPublicUsageContract = defineApiContract({
206
207
  pathResolver: () => '/api/v1/usage',
207
208
  responsesByStatusCode: { 200: publicUsageSchema, ...errorResponses },
208
209
  });
210
+ // ---- headless key provisioning (`admin` scope) -----------------------------
211
+ // The external counterpart of the session-authed `/public-api-keys` routes above, and the same
212
+ // class of gap the outbound webhook had: a deployment whose operator is headless could reach
213
+ // every part of this API except the act of GETTING a key, so an integration that provisions
214
+ // per-tenant or per-environment credentials had to route a human through the app for each one.
215
+ //
216
+ // Two bounds make it safe to offer, both stated where they are enforced: a minted key can never
217
+ // reach the `admin` rung provisioning itself requires (so the mint chain is one link long), and
218
+ // revoking a key revokes everything it minted (so a leaked provisioning key cannot outlive its
219
+ // own revocation). See `HEADLESS_MINTABLE_SCOPES`.
220
+ /** List the workspace's live keys: metadata only; a secret is never readable back. */
221
+ export const listPublicKeysContract = defineApiContract({
222
+ method: 'get',
223
+ pathResolver: () => '/api/v1/keys',
224
+ responsesByStatusCode: { 200: publicApiKeyListResultSchema, ...errorResponses },
225
+ });
226
+ /**
227
+ * Mint a key for the calling key's own workspace, returning the raw secret exactly once.
228
+ * Omitting `scope` mints a `write` key. `admin` is refused: see the section note above.
229
+ */
230
+ export const createPublicKeyContract = defineApiContract({
231
+ method: 'post',
232
+ pathResolver: () => '/api/v1/keys',
233
+ requestBodySchema: createHeadlessPublicApiKeySchema,
234
+ responsesByStatusCode: { 201: createdPublicApiKeySchema, ...errorResponses },
235
+ });
236
+ /**
237
+ * Revoke a key, and with it every key that key minted. Idempotent.
238
+ *
239
+ * It may name the CALLING key, which is how a provisioning credential retires itself at the end of
240
+ * a run: the request is already authorized by the time it lands, and the cascade takes the keys it
241
+ * handed out with it. Note which key that can be: revoking needs `admin`, and `admin` is not
242
+ * mintable here, so the key that retires itself is always one a person minted in the app. A key
243
+ * provisioned over this API cannot revoke ITSELF (or anything else); its holder hands it back by
244
+ * asking whoever provisioned it, or the provisioner revokes itself and takes it along.
245
+ */
246
+ export const revokePublicKeyContract = defineApiContract({
247
+ method: 'delete',
248
+ requestPathParamsSchema: keyIdParams,
249
+ pathResolver: ({ keyId }) => `/api/v1/keys/${keyId}`,
250
+ responsesByStatusCode: { 204: ContractNoBody, ...errorResponses },
251
+ });
209
252
  //# sourceMappingURL=public-api.js.map