@cat-factory/contracts 0.204.0 → 0.206.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/errors.d.ts CHANGED
@@ -29,7 +29,7 @@ export type ApiErrorCode = (typeof API_ERROR_CODES)[number];
29
29
  * type for `ConflictError`, and the SPA keys an exhaustive `Record<ConflictReason, …>` of
30
30
  * localized titles off it — adding a value without a title trips the frontend typecheck.
31
31
  */
32
- export declare const CONFLICT_REASONS: readonly ['providers_unconfigured', 'preset_unsatisfiable', 'dependencies_unmet', 'task_limit_reached', 'tester_infra_unsupported', 'binary_storage_unconfigured', 'agent_backend_unconfigured', 'run_not_retryable', 'no_pr_to_merge', 'github_not_connected', 'bootstrap_not_retryable', 'bootstrap_reference_missing', 'provision_type_unhandled', 'visual_pipeline_no_frontend', 'model_policy_blocked', 'model_policy_unsupported', 'deployer_required_before_tester', 'deployer_service_provisioning_incomplete', 'deployer_connection_test_failed', 'env_test_not_a_frame', 'env_test_infraless', 'env_test_not_provisionable', 'env_test_no_vcs', 'env_test_connection_failed', 'review_debt_warn', 'review_debt_blocked', 'prompt_revision_conflict', 'pipeline_schedule_attached', 'pipeline_schedule_requires_recurring', 'pipeline_schedule_intake_unconfigured', 'foundational_service_exists'];
32
+ export declare const CONFLICT_REASONS: readonly ['providers_unconfigured', 'preset_unsatisfiable', 'dependencies_unmet', 'task_limit_reached', 'tester_infra_unsupported', 'binary_storage_unconfigured', 'agent_backend_unconfigured', 'run_not_retryable', 'no_pr_to_merge', 'github_not_connected', 'bootstrap_not_retryable', 'bootstrap_reference_missing', 'provision_type_unhandled', 'visual_pipeline_no_frontend', 'model_policy_blocked', 'model_policy_unsupported', 'deployer_required_before_tester', 'deployer_service_provisioning_incomplete', 'deployer_connection_test_failed', 'env_test_not_a_frame', 'env_test_infraless', 'env_test_not_provisionable', 'env_test_no_vcs', 'env_test_connection_failed', 'review_debt_warn', 'review_debt_blocked', 'prompt_revision_conflict', 'pipeline_schedule_attached', 'pipeline_schedule_requires_recurring', 'pipeline_schedule_intake_unconfigured', 'foundational_service_exists', 'foundational_service_not_inherited'];
33
33
  export type ConflictReason = (typeof CONFLICT_REASONS)[number];
34
34
  /**
35
35
  * Machine-readable reasons a `review` task's target pull request is refused at creation
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,YAC7B,WAAW,EACX,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,CACN,CAAA;AAEV,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjE;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,iJAA+C,CAAA;AAE3E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3D;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,YAC3B,wBAAwB,EAKxB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,6BAA6B,EAG7B,0BAA0B,EAG1B,6BAA6B,EAG7B,sBAAsB,EAGtB,0BAA0B,EAI1B,iCAAiC,EAKjC,0CAA0C,EAK1C,iCAAiC,EAGjC,sBAAsB,EAGtB,oBAAoB,EAGpB,4BAA4B,EAG5B,iBAAiB,EAMjB,4BAA4B,EAK5B,kBAAkB,EAIlB,qBAAqB,EAKrB,0BAA0B,EAO1B,4BAA4B,EAG5B,sCAAsC,EAItC,uCAAuC,EAKvC,6BAA6B,CACrB,CAAA;AAEV,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE9D;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,YAAI,qBAAqB,EAAE,yBAAyB,CAAU,CAAA;AAEhG,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAA"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,YAC7B,WAAW,EACX,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,CACN,CAAA;AAEV,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjE;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,iJAA+C,CAAA;AAE3E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3D;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,YAC3B,wBAAwB,EAKxB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,6BAA6B,EAG7B,0BAA0B,EAG1B,6BAA6B,EAG7B,sBAAsB,EAGtB,0BAA0B,EAI1B,iCAAiC,EAKjC,0CAA0C,EAK1C,iCAAiC,EAGjC,sBAAsB,EAGtB,oBAAoB,EAGpB,4BAA4B,EAG5B,iBAAiB,EAMjB,4BAA4B,EAK5B,kBAAkB,EAIlB,qBAAqB,EAKrB,0BAA0B,EAO1B,4BAA4B,EAG5B,sCAAsC,EAItC,uCAAuC,EAKvC,6BAA6B,EAM7B,oCAAoC,CAC5B,CAAA;AAEV,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE9D;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,YAAI,qBAAqB,EAAE,yBAAyB,CAAU,CAAA;AAEhG,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAA"}
package/dist/errors.js CHANGED
@@ -131,6 +131,12 @@ export const CONFLICT_REASONS = [
131
131
  // id IS what an Architect names in its design, so two rows competing for one id is exactly
132
132
  // the ambiguity the catalog exists to prevent.
133
133
  'foundational_service_exists',
134
+ // A board asked to SUPPRESS a foundational service that it already owns a row for at its own
135
+ // tier. Suppression writes a workspace tombstone so an INHERITED account service loses the
136
+ // merge; against the board's own registration it would be an obscure spelling of "delete",
137
+ // and the two are not interchangeable — a delete drops the board's authored description and
138
+ // contracts, a suppression drops nothing. The SPA steers to the delete action instead.
139
+ 'foundational_service_not_inherited',
134
140
  ];
135
141
  /**
136
142
  * Machine-readable reasons a `review` task's target pull request is refused at creation
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAE1F;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,WAAW;IACX,YAAY;IACZ,UAAU;IACV,qBAAqB;IACrB,WAAW;IACX,aAAa;IACb,cAAc;IACd,cAAc;CACN,CAAA;AAIV;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,kBAAkB,EAAE,UAAU,CAAU,CAAA;AAI3E;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,wBAAwB;IACxB,8FAA8F;IAC9F,4FAA4F;IAC5F,+FAA+F;IAC/F,8EAA8E;IAC9E,sBAAsB;IACtB,oBAAoB;IACpB,oBAAoB;IACpB,0BAA0B;IAC1B,6BAA6B;IAC7B,4BAA4B;IAC5B,mBAAmB;IACnB,gBAAgB;IAChB,sBAAsB;IACtB,yBAAyB;IACzB,6BAA6B;IAC7B,kFAAkF;IAClF,kFAAkF;IAClF,0BAA0B;IAC1B,4FAA4F;IAC5F,uFAAuF;IACvF,6BAA6B;IAC7B,oFAAoF;IACpF,gFAAgF;IAChF,sBAAsB;IACtB,yFAAyF;IACzF,sFAAsF;IACtF,0BAA0B;IAC1B,8FAA8F;IAC9F,8FAA8F;IAC9F,8FAA8F;IAC9F,iCAAiC;IACjC,0FAA0F;IAC1F,8FAA8F;IAC9F,+FAA+F;IAC/F,iGAAiG;IACjG,0CAA0C;IAC1C,kGAAkG;IAClG,gGAAgG;IAChG,iGAAiG;IACjG,2FAA2F;IAC3F,iCAAiC;IACjC,yFAAyF;IACzF,qFAAqF;IACrF,sBAAsB;IACtB,uFAAuF;IACvF,kEAAkE;IAClE,oBAAoB;IACpB,6FAA6F;IAC7F,4FAA4F;IAC5F,4BAA4B;IAC5B,oFAAoF;IACpF,qCAAqC;IACrC,iBAAiB;IACjB,iGAAiG;IACjG,+FAA+F;IAC/F,6FAA6F;IAC7F,wEAAwE;IACxE,2CAA2C;IAC3C,4BAA4B;IAC5B,0FAA0F;IAC1F,4FAA4F;IAC5F,6FAA6F;IAC7F,wFAAwF;IACxF,kBAAkB;IAClB,+FAA+F;IAC/F,+FAA+F;IAC/F,wEAAwE;IACxE,qBAAqB;IACrB,8FAA8F;IAC9F,4FAA4F;IAC5F,+FAA+F;IAC/F,6EAA6E;IAC7E,0BAA0B;IAC1B,iGAAiG;IACjG,iGAAiG;IACjG,mGAAmG;IACnG,oEAAoE;IACpE,iGAAiG;IACjG,uEAAuE;IACvE,4BAA4B;IAC5B,8FAA8F;IAC9F,kEAAkE;IAClE,sCAAsC;IACtC,gGAAgG;IAChG,6FAA6F;IAC7F,8FAA8F;IAC9F,uCAAuC;IACvC,4FAA4F;IAC5F,4FAA4F;IAC5F,2FAA2F;IAC3F,+CAA+C;IAC/C,6BAA6B;CACrB,CAAA;AAIV;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,qBAAqB,EAAE,yBAAyB,CAAU,CAAA"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAE1F;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,WAAW;IACX,YAAY;IACZ,UAAU;IACV,qBAAqB;IACrB,WAAW;IACX,aAAa;IACb,cAAc;IACd,cAAc;CACN,CAAA;AAIV;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,kBAAkB,EAAE,UAAU,CAAU,CAAA;AAI3E;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,wBAAwB;IACxB,8FAA8F;IAC9F,4FAA4F;IAC5F,+FAA+F;IAC/F,8EAA8E;IAC9E,sBAAsB;IACtB,oBAAoB;IACpB,oBAAoB;IACpB,0BAA0B;IAC1B,6BAA6B;IAC7B,4BAA4B;IAC5B,mBAAmB;IACnB,gBAAgB;IAChB,sBAAsB;IACtB,yBAAyB;IACzB,6BAA6B;IAC7B,kFAAkF;IAClF,kFAAkF;IAClF,0BAA0B;IAC1B,4FAA4F;IAC5F,uFAAuF;IACvF,6BAA6B;IAC7B,oFAAoF;IACpF,gFAAgF;IAChF,sBAAsB;IACtB,yFAAyF;IACzF,sFAAsF;IACtF,0BAA0B;IAC1B,8FAA8F;IAC9F,8FAA8F;IAC9F,8FAA8F;IAC9F,iCAAiC;IACjC,0FAA0F;IAC1F,8FAA8F;IAC9F,+FAA+F;IAC/F,iGAAiG;IACjG,0CAA0C;IAC1C,kGAAkG;IAClG,gGAAgG;IAChG,iGAAiG;IACjG,2FAA2F;IAC3F,iCAAiC;IACjC,yFAAyF;IACzF,qFAAqF;IACrF,sBAAsB;IACtB,uFAAuF;IACvF,kEAAkE;IAClE,oBAAoB;IACpB,6FAA6F;IAC7F,4FAA4F;IAC5F,4BAA4B;IAC5B,oFAAoF;IACpF,qCAAqC;IACrC,iBAAiB;IACjB,iGAAiG;IACjG,+FAA+F;IAC/F,6FAA6F;IAC7F,wEAAwE;IACxE,2CAA2C;IAC3C,4BAA4B;IAC5B,0FAA0F;IAC1F,4FAA4F;IAC5F,6FAA6F;IAC7F,wFAAwF;IACxF,kBAAkB;IAClB,+FAA+F;IAC/F,+FAA+F;IAC/F,wEAAwE;IACxE,qBAAqB;IACrB,8FAA8F;IAC9F,4FAA4F;IAC5F,+FAA+F;IAC/F,6EAA6E;IAC7E,0BAA0B;IAC1B,iGAAiG;IACjG,iGAAiG;IACjG,mGAAmG;IACnG,oEAAoE;IACpE,iGAAiG;IACjG,uEAAuE;IACvE,4BAA4B;IAC5B,8FAA8F;IAC9F,kEAAkE;IAClE,sCAAsC;IACtC,gGAAgG;IAChG,6FAA6F;IAC7F,8FAA8F;IAC9F,uCAAuC;IACvC,4FAA4F;IAC5F,4FAA4F;IAC5F,2FAA2F;IAC3F,+CAA+C;IAC/C,6BAA6B;IAC7B,6FAA6F;IAC7F,2FAA2F;IAC3F,2FAA2F;IAC3F,4FAA4F;IAC5F,uFAAuF;IACvF,oCAAoC;CAC5B,CAAA;AAIV;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,qBAAqB,EAAE,yBAAyB,CAAU,CAAA"}
@@ -149,6 +149,27 @@ export declare const resolvedFoundationalServiceSchema: v.ObjectSchema<{
149
149
  readonly tier: v.PicklistSchema<["account", "workspace"], undefined>;
150
150
  }, undefined>;
151
151
  export type ResolvedFoundationalService = v.InferOutput<typeof resolvedFoundationalServiceSchema>;
152
+ /**
153
+ * One SUPPRESSION a board is asserting: an id its workspace tier tombstones, so the account
154
+ * service of that id loses the merge.
155
+ *
156
+ * A suppressed id is by construction absent from the merged catalog, which is what makes this a
157
+ * separate read rather than a flag on it — without it the management surface could offer no way
158
+ * back, and suppression would be a one-way door.
159
+ *
160
+ * `inherited` is the honest half: `false` says the tombstone currently shadows NOTHING (the
161
+ * account withdrew the service, or the board deleted its own registration), so a reader does not
162
+ * conclude a capability is being withheld when there is none to withhold. The name is the
163
+ * inherited service's when there is one and the tombstone's own otherwise, which is empty for a
164
+ * suppression written against an id this tier never registered.
165
+ */
166
+ export declare const foundationalServiceSuppressionSchema: v.ObjectSchema<{
167
+ readonly id: v.StringSchema<undefined>;
168
+ readonly name: v.StringSchema<undefined>;
169
+ readonly summary: v.StringSchema<undefined>;
170
+ readonly inherited: v.BooleanSchema<undefined>;
171
+ }, undefined>;
172
+ export type FoundationalServiceSuppression = v.InferOutput<typeof foundationalServiceSuppressionSchema>;
152
173
  /** One contract supplied by DIRECT UPLOAD (body inline on the request). */
153
174
  export declare const uploadApiContractSchema: v.ObjectSchema<{
154
175
  readonly contractId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a lower-kebab slug">]>;
@@ -1 +1 @@
1
- {"version":3,"file":"foundational-services.d.ts","sourceRoot":"","sources":["../src/foundational-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foundational-services.d.ts","sourceRoot":"","sources":["../src/foundational-services.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import * as v from 'valibot';
2
2
  import { fragmentOwnerKindSchema } from './fragment-library.js';
3
3
  // ---------------------------------------------------------------------------
4
4
  // Wire contracts for the FOUNDATIONAL SERVICES catalog
5
- // (docs/initiatives/foundational-services.md).
5
+ // (backend/docs/adr/0031-foundational-services.md).
6
6
  //
7
7
  // A foundational service is a shared capability the organisation already runs —
8
8
  // file storage, notifications, audit, feature flags — that a designed system is
@@ -94,6 +94,26 @@ export const resolvedFoundationalServiceSchema = v.object({
94
94
  ...foundationalServiceSchema.entries,
95
95
  tier: foundationalServiceTierSchema,
96
96
  });
97
+ /**
98
+ * One SUPPRESSION a board is asserting: an id its workspace tier tombstones, so the account
99
+ * service of that id loses the merge.
100
+ *
101
+ * A suppressed id is by construction absent from the merged catalog, which is what makes this a
102
+ * separate read rather than a flag on it — without it the management surface could offer no way
103
+ * back, and suppression would be a one-way door.
104
+ *
105
+ * `inherited` is the honest half: `false` says the tombstone currently shadows NOTHING (the
106
+ * account withdrew the service, or the board deleted its own registration), so a reader does not
107
+ * conclude a capability is being withheld when there is none to withhold. The name is the
108
+ * inherited service's when there is one and the tombstone's own otherwise, which is empty for a
109
+ * suppression written against an id this tier never registered.
110
+ */
111
+ export const foundationalServiceSuppressionSchema = v.object({
112
+ id: v.string(),
113
+ name: v.string(),
114
+ summary: v.string(),
115
+ inherited: v.boolean(),
116
+ });
97
117
  const slug = v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(64), v.regex(/^[a-z0-9][a-z0-9-]*$/, 'must be a lower-kebab slug'));
98
118
  /** One contract supplied by DIRECT UPLOAD (body inline on the request). */
99
119
  export const uploadApiContractSchema = v.object({
@@ -1 +1 @@
1
- {"version":3,"file":"foundational-services.js","sourceRoot":"","sources":["../src/foundational-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foundational-services.js","sourceRoot":"","sources":["../src/foundational-services.ts"],"names":[],"mappings":"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"}
@@ -318,6 +318,128 @@ export declare const resolvedFoundationalServicesContract: {
318
318
  }, undefined>, undefined>;
319
319
  };
320
320
  };
321
+ /**
322
+ * The SUPPRESSION sub-resource: opting a board out of an inherited account service, listing what
323
+ * it is opted out of, and opting back in. Workspace-mount only, since an account tier has nothing
324
+ * above it to opt out of.
325
+ *
326
+ * Its own sub-resource rather than a flag on the service, because a suppression is a fact the
327
+ * WORKSPACE tier asserts about an id it does not own — there is no service row of its own to
328
+ * patch. And note it is NOT `DELETE /foundational-services/:id`: that removes the board's OWN
329
+ * registration and its uploaded contracts, where a suppression destroys nothing and is
330
+ * reversible, which is exactly why the two cannot share a verb.
331
+ *
332
+ * The LIST is what makes the pair usable at all: a suppressed id is by construction absent from
333
+ * the merged catalog, so a surface offering suppression could otherwise offer no way back. It is
334
+ * a SIBLING top-level resource (`/foundational-service-suppressions`) rather than a literal
335
+ * `/foundational-services/suppressions` segment, for the same reason the repo sources below are:
336
+ * a literal segment sharing a namespace with `:serviceId` is a collision waiting for the first
337
+ * single-segment by-id route, and a service id is a lower-kebab slug that could legitimately BE
338
+ * `suppressions`. Keeping them apart costs nothing and needs no reserved-word list.
339
+ */
340
+ export declare const listFoundationalServiceSuppressionsContract: {
341
+ readonly method: "get";
342
+ readonly pathResolver: () => string;
343
+ readonly responsesByStatusCode: {
344
+ readonly '4xx': v.ObjectSchema<{
345
+ readonly error: v.ObjectSchema<{
346
+ readonly code: v.StringSchema<undefined>;
347
+ readonly message: v.StringSchema<undefined>;
348
+ readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
349
+ readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
350
+ readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
351
+ readonly message: v.StringSchema<undefined>;
352
+ }, undefined>, undefined>, undefined>;
353
+ }, undefined>;
354
+ }, undefined>;
355
+ readonly '5xx': v.ObjectSchema<{
356
+ readonly error: v.ObjectSchema<{
357
+ readonly code: v.StringSchema<undefined>;
358
+ readonly message: v.StringSchema<undefined>;
359
+ readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
360
+ readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
361
+ readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
362
+ readonly message: v.StringSchema<undefined>;
363
+ }, undefined>, undefined>, undefined>;
364
+ }, undefined>;
365
+ }, undefined>;
366
+ readonly 200: v.ArraySchema<v.ObjectSchema<{
367
+ readonly id: v.StringSchema<undefined>;
368
+ readonly name: v.StringSchema<undefined>;
369
+ readonly summary: v.StringSchema<undefined>;
370
+ readonly inherited: v.BooleanSchema<undefined>;
371
+ }, undefined>, undefined>;
372
+ };
373
+ };
374
+ export declare const suppressFoundationalServiceContract: {
375
+ readonly method: "post";
376
+ readonly requestPathParamsSchema: v.ObjectSchema<{
377
+ serviceId: v.StringSchema<undefined>;
378
+ }, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
379
+ readonly pathResolver: ({ serviceId }: {
380
+ serviceId: string;
381
+ }) => string;
382
+ readonly requestBodySchema: typeof ContractNoBody;
383
+ readonly responsesByStatusCode: {
384
+ readonly '4xx': v.ObjectSchema<{
385
+ readonly error: v.ObjectSchema<{
386
+ readonly code: v.StringSchema<undefined>;
387
+ readonly message: v.StringSchema<undefined>;
388
+ readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
389
+ readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
390
+ readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
391
+ readonly message: v.StringSchema<undefined>;
392
+ }, undefined>, undefined>, undefined>;
393
+ }, undefined>;
394
+ }, undefined>;
395
+ readonly '5xx': v.ObjectSchema<{
396
+ readonly error: v.ObjectSchema<{
397
+ readonly code: v.StringSchema<undefined>;
398
+ readonly message: v.StringSchema<undefined>;
399
+ readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
400
+ readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
401
+ readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
402
+ readonly message: v.StringSchema<undefined>;
403
+ }, undefined>, undefined>, undefined>;
404
+ }, undefined>;
405
+ }, undefined>;
406
+ readonly 204: typeof ContractNoBody;
407
+ };
408
+ };
409
+ export declare const restoreFoundationalServiceContract: {
410
+ readonly method: "delete";
411
+ readonly requestPathParamsSchema: v.ObjectSchema<{
412
+ serviceId: v.StringSchema<undefined>;
413
+ }, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
414
+ readonly pathResolver: ({ serviceId }: {
415
+ serviceId: string;
416
+ }) => string;
417
+ readonly responsesByStatusCode: {
418
+ readonly '4xx': v.ObjectSchema<{
419
+ readonly error: v.ObjectSchema<{
420
+ readonly code: v.StringSchema<undefined>;
421
+ readonly message: v.StringSchema<undefined>;
422
+ readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
423
+ readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
424
+ readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
425
+ readonly message: v.StringSchema<undefined>;
426
+ }, undefined>, undefined>, undefined>;
427
+ }, undefined>;
428
+ }, undefined>;
429
+ readonly '5xx': v.ObjectSchema<{
430
+ readonly error: v.ObjectSchema<{
431
+ readonly code: v.StringSchema<undefined>;
432
+ readonly message: v.StringSchema<undefined>;
433
+ readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
434
+ readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
435
+ readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
436
+ readonly message: v.StringSchema<undefined>;
437
+ }, undefined>, undefined>, undefined>;
438
+ }, undefined>;
439
+ }, undefined>;
440
+ readonly 204: typeof ContractNoBody;
441
+ };
442
+ };
321
443
  export declare const listFoundationalServiceSourcesContract: {
322
444
  readonly method: "get";
323
445
  readonly pathResolver: () => string;
@@ -1 +1 @@
1
- {"version":3,"file":"foundational-services.d.ts","sourceRoot":"","sources":["../../src/routes/foundational-services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAkC5B,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI3C,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK5C,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM5C,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK5C,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI/C,CAAA;AAIF,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIjD,CAAA;AAEF,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKhD,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlD,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlD,CAAA;AAEF,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMhD,CAAA"}
1
+ {"version":3,"file":"foundational-services.d.ts","sourceRoot":"","sources":["../../src/routes/foundational-services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAmC5B,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI3C,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK5C,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM5C,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK5C,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI/C,CAAA;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,2CAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOtD,CAAA;AAEF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM9C,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK7C,CAAA;AAIF,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIjD,CAAA;AAEF,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKhD,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlD,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlD,CAAA;AAEF,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMhD,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { ContractNoBody, defineApiContract } from '@toad-contracts/valibot';
2
2
  import * as v from 'valibot';
3
- import { apiContractDocumentSchema, createFoundationalServiceSchema, foundationalServiceSchema, foundationalServiceSourceSchema, foundationalServiceSourceStatusSchema, foundationalServiceSyncResultSchema, linkFoundationalServiceSourceSchema, resolvedFoundationalServiceSchema, updateFoundationalServiceSchema, } from '../foundational-services.js';
3
+ import { apiContractDocumentSchema, createFoundationalServiceSchema, foundationalServiceSchema, foundationalServiceSourceSchema, foundationalServiceSourceStatusSchema, foundationalServiceSuppressionSchema, foundationalServiceSyncResultSchema, linkFoundationalServiceSourceSchema, resolvedFoundationalServiceSchema, updateFoundationalServiceSchema, } from '../foundational-services.js';
4
4
  import { errorResponses, singleStringParam } from './_shared.js';
5
5
  // ---------------------------------------------------------------------------
6
6
  // Foundational-services route contracts. See FoundationalServiceController in
@@ -64,6 +64,46 @@ export const resolvedFoundationalServicesContract = defineApiContract({
64
64
  pathResolver: () => '/foundational-services/resolved',
65
65
  responsesByStatusCode: { 200: resolvedFoundationalServiceListSchema, ...errorResponses },
66
66
  });
67
+ /**
68
+ * The SUPPRESSION sub-resource: opting a board out of an inherited account service, listing what
69
+ * it is opted out of, and opting back in. Workspace-mount only, since an account tier has nothing
70
+ * above it to opt out of.
71
+ *
72
+ * Its own sub-resource rather than a flag on the service, because a suppression is a fact the
73
+ * WORKSPACE tier asserts about an id it does not own — there is no service row of its own to
74
+ * patch. And note it is NOT `DELETE /foundational-services/:id`: that removes the board's OWN
75
+ * registration and its uploaded contracts, where a suppression destroys nothing and is
76
+ * reversible, which is exactly why the two cannot share a verb.
77
+ *
78
+ * The LIST is what makes the pair usable at all: a suppressed id is by construction absent from
79
+ * the merged catalog, so a surface offering suppression could otherwise offer no way back. It is
80
+ * a SIBLING top-level resource (`/foundational-service-suppressions`) rather than a literal
81
+ * `/foundational-services/suppressions` segment, for the same reason the repo sources below are:
82
+ * a literal segment sharing a namespace with `:serviceId` is a collision waiting for the first
83
+ * single-segment by-id route, and a service id is a lower-kebab slug that could legitimately BE
84
+ * `suppressions`. Keeping them apart costs nothing and needs no reserved-word list.
85
+ */
86
+ export const listFoundationalServiceSuppressionsContract = defineApiContract({
87
+ method: 'get',
88
+ pathResolver: () => '/foundational-service-suppressions',
89
+ responsesByStatusCode: {
90
+ 200: v.array(foundationalServiceSuppressionSchema),
91
+ ...errorResponses,
92
+ },
93
+ });
94
+ export const suppressFoundationalServiceContract = defineApiContract({
95
+ method: 'post',
96
+ requestPathParamsSchema: serviceIdParams,
97
+ pathResolver: ({ serviceId }) => `/foundational-services/${serviceId}/suppression`,
98
+ requestBodySchema: ContractNoBody,
99
+ responsesByStatusCode: { 204: ContractNoBody, ...errorResponses },
100
+ });
101
+ export const restoreFoundationalServiceContract = defineApiContract({
102
+ method: 'delete',
103
+ requestPathParamsSchema: serviceIdParams,
104
+ pathResolver: ({ serviceId }) => `/foundational-services/${serviceId}/suppression`,
105
+ responsesByStatusCode: { 204: ContractNoBody, ...errorResponses },
106
+ });
67
107
  // ---- repo sources ---------------------------------------------------------
68
108
  export const listFoundationalServiceSourcesContract = defineApiContract({
69
109
  method: 'get',
@@ -1 +1 @@
1
- {"version":3,"file":"foundational-services.js","sourceRoot":"","sources":["../../src/routes/foundational-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foundational-services.js","sourceRoot":"","sources":["../../src/routes/foundational-services.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,9 @@ export declare const getWorkspaceSettingsContract: {
42
42
  readonly spendMonthlyLimit: import("valibot").NullableSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").MinValueAction<number, 0, undefined>]>, undefined>;
43
43
  readonly defaultProvisionType: import("valibot").NullableSchema<import("valibot").PicklistSchema<["kubernetes", "docker-compose", "cloudflare", "custom", "infraless"], undefined>, undefined>;
44
44
  readonly defaultProvisionManifestId: import("valibot").NullableSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 64, undefined>]>, undefined>;
45
+ readonly metadata: import("valibot").SchemaWithPipe<readonly [import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, "metadata keys start with a letter and may contain letters, digits, \"_\", \".\" and \"-\" (max 64 chars)">]>, import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 1024, undefined>]>, undefined>, import("valibot").CheckAction<{
46
+ [x: string]: string;
47
+ }, "a workspace may hold at most 64 metadata fields">]>;
45
48
  }, undefined>;
46
49
  };
47
50
  };
@@ -66,6 +69,9 @@ export declare const updateWorkspaceSettingsContract: {
66
69
  readonly spendMonthlyLimit: import("valibot").OptionalSchema<import("valibot").NullableSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").MinValueAction<number, 0, undefined>]>, undefined>, undefined>;
67
70
  readonly defaultProvisionType: import("valibot").OptionalSchema<import("valibot").NullableSchema<import("valibot").PicklistSchema<["kubernetes", "docker-compose", "cloudflare", "custom", "infraless"], undefined>, undefined>, undefined>;
68
71
  readonly defaultProvisionManifestId: import("valibot").OptionalSchema<import("valibot").NullableSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 64, undefined>]>, undefined>, undefined>;
72
+ readonly metadata: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, "metadata keys start with a letter and may contain letters, digits, \"_\", \".\" and \"-\" (max 64 chars)">]>, import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 1024, undefined>]>, undefined>, import("valibot").CheckAction<{
73
+ [x: string]: string;
74
+ }, "a workspace may hold at most 64 metadata fields">]>, undefined>;
69
75
  }, undefined>;
70
76
  readonly responsesByStatusCode: {
71
77
  readonly '4xx': import("valibot").ObjectSchema<{
@@ -108,6 +114,9 @@ export declare const updateWorkspaceSettingsContract: {
108
114
  readonly spendMonthlyLimit: import("valibot").NullableSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").MinValueAction<number, 0, undefined>]>, undefined>;
109
115
  readonly defaultProvisionType: import("valibot").NullableSchema<import("valibot").PicklistSchema<["kubernetes", "docker-compose", "cloudflare", "custom", "infraless"], undefined>, undefined>;
110
116
  readonly defaultProvisionManifestId: import("valibot").NullableSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 64, undefined>]>, undefined>;
117
+ readonly metadata: import("valibot").SchemaWithPipe<readonly [import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, "metadata keys start with a letter and may contain letters, digits, \"_\", \".\" and \"-\" (max 64 chars)">]>, import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 1024, undefined>]>, undefined>, import("valibot").CheckAction<{
118
+ [x: string]: string;
119
+ }, "a workspace may hold at most 64 metadata fields">]>;
111
120
  }, undefined>;
112
121
  };
113
122
  };
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-settings.d.ts","sourceRoot":"","sources":["../../src/routes/workspace-settings.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIvC,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK1C,CAAA"}
1
+ {"version":3,"file":"workspace-settings.d.ts","sourceRoot":"","sources":["../../src/routes/workspace-settings.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIvC,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK1C,CAAA"}
@@ -2394,6 +2394,9 @@ export declare const createWorkspaceContract: {
2394
2394
  readonly spendMonthlyLimit: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
2395
2395
  readonly defaultProvisionType: v.NullableSchema<v.PicklistSchema<["kubernetes", "docker-compose", "cloudflare", "custom", "infraless"], undefined>, undefined>;
2396
2396
  readonly defaultProvisionManifestId: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>]>, undefined>;
2397
+ readonly metadata: v.SchemaWithPipe<readonly [v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "metadata keys start with a letter and may contain letters, digits, \"_\", \".\" and \"-\" (max 64 chars)">]>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 1024, undefined>]>, undefined>, v.CheckAction<{
2398
+ [x: string]: string;
2399
+ }, "a workspace may hold at most 64 metadata fields">]>;
2397
2400
  }, undefined>, undefined>;
2398
2401
  readonly customAgentKinds: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
2399
2402
  readonly kind: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
@@ -5075,6 +5078,9 @@ export declare const getWorkspaceContract: {
5075
5078
  readonly spendMonthlyLimit: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
5076
5079
  readonly defaultProvisionType: v.NullableSchema<v.PicklistSchema<["kubernetes", "docker-compose", "cloudflare", "custom", "infraless"], undefined>, undefined>;
5077
5080
  readonly defaultProvisionManifestId: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>]>, undefined>;
5081
+ readonly metadata: v.SchemaWithPipe<readonly [v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "metadata keys start with a letter and may contain letters, digits, \"_\", \".\" and \"-\" (max 64 chars)">]>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 1024, undefined>]>, undefined>, v.CheckAction<{
5082
+ [x: string]: string;
5083
+ }, "a workspace may hold at most 64 metadata fields">]>;
5078
5084
  }, undefined>, undefined>;
5079
5085
  readonly customAgentKinds: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
5080
5086
  readonly kind: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
@@ -1 +1 @@
1
- {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/routes/workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAe5B;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;aAGlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAI7E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIjC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK/B,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMlC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlC,CAAA"}
1
+ {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/routes/workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAe5B;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;aAGlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAI7E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIjC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK/B,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMlC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlC,CAAA"}
@@ -2448,6 +2448,9 @@ export declare const workspaceSnapshotSchema: v.ObjectSchema<{
2448
2448
  readonly spendMonthlyLimit: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
2449
2449
  readonly defaultProvisionType: v.NullableSchema<v.PicklistSchema<["kubernetes", "docker-compose", "cloudflare", "custom", "infraless"], undefined>, undefined>;
2450
2450
  readonly defaultProvisionManifestId: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>]>, undefined>;
2451
+ readonly metadata: v.SchemaWithPipe<readonly [v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "metadata keys start with a letter and may contain letters, digits, \"_\", \".\" and \"-\" (max 64 chars)">]>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 1024, undefined>]>, undefined>, v.CheckAction<{
2452
+ [x: string]: string;
2453
+ }, "a workspace may hold at most 64 metadata fields">]>;
2451
2454
  }, undefined>, undefined>;
2452
2455
  /**
2453
2456
  * Registered CUSTOM agent kinds (kind + presentation + container flag) a deployment
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAsC5B;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;aAGhC,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE7E,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB;;;IAGlC;;;;;OAKG;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKlC;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;IAEH;;;;OAIG;;;;;;;;;;IAEH;;;;OAIG;;;;;;;;;;IAEH;;;;OAIG;;;;;;;;;;IAEH;;;OAGG;;;;IAEH;;;;OAIG;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;;OAMG;;;;;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;;;;OAQG;;;;;IAOH;;;OAGG;;;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;;IAEH;;;;;;OAMG;;;;;;;;;;;;;;IAEH;;;;;;OAMG;;;;;;;IAEH;;;;;;;OAOG;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;;;;;OASG;;;;QAhMH;;;;;WAKG;;;;;;QALH;;;;;WAKG;;;IA8LH;;;;;;;OAOG;;IAEH;;;;;;;;;;;;;;;OAeG;;;;;IAEH;;;;;;;OAOG;;IAEH;;;;;;;OAOG;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;;;OAOG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;;;OAOG;;;;;;IAEH;;;;;;;OAOG;;;;;;IAEH;;;;;OAKG;;;;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAsC5B;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;aAGhC,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE7E,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB;;;IAGlC;;;;;OAKG;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKlC;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;IAEH;;;;OAIG;;;;;;;;;;IAEH;;;;OAIG;;;;;;;;;;IAEH;;;;OAIG;;;;;;;;;;IAEH;;;OAGG;;;;IAEH;;;;OAIG;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;;OAMG;;;;;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;;;;OAQG;;;;;IAOH;;;OAGG;;;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;;OAMG;;;;;;;;;;;;;;IAEH;;;;;;OAMG;;;;;;;IAEH;;;;;;;OAOG;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;;;;;OASG;;;;QAhMH;;;;;WAKG;;;;;;QALH;;;;;WAKG;;;IA8LH;;;;;;;OAOG;;IAEH;;;;;;;;;;;;;;;OAeG;;;;;IAEH;;;;;;;OAOG;;IAEH;;;;;;;OAOG;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;;;OAOG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;;;;OAOG;;;;;;IAEH;;;;;;;OAOG;;;;;;IAEH;;;;;OAKG;;;;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
@@ -19,6 +19,36 @@ export type TaskLimitPerType = v.InferOutput<typeof taskLimitPerTypeSchema>;
19
19
  */
20
20
  export declare const reviewFrictionModeSchema: v.PicklistSchema<["off", "warn", "enforce"], undefined>;
21
21
  export type ReviewFrictionMode = v.InferOutput<typeof reviewFrictionModeSchema>;
22
+ /** Max stored metadata entries per workspace. */
23
+ export declare const MAX_WORKSPACE_METADATA_ENTRIES = 64;
24
+ /** Max stored length of a single metadata value. */
25
+ export declare const MAX_WORKSPACE_METADATA_VALUE_LENGTH = 1024;
26
+ /**
27
+ * A metadata field key: an identifier a deployment writes in code and a resolver reads
28
+ * off `ctx.metadata`. Deliberately identifier-shaped (no spaces, no `/`, no `%`) so that
29
+ * the one thing every consumer does with a key — read it as a property, `ctx.metadata.gameId`
30
+ * — is total and needs no escaping. The leading-letter rule additionally keeps `__proto__`
31
+ * out of a bag that is `JSON.parse`d on both sides.
32
+ *
33
+ * This is NOT what makes an external tool's URL safe. It is the VALUES that get interpolated
34
+ * into one, and a value is operator-typed text bounded only in length — so the rule that
35
+ * matters lives with the reader: build a URL by setting a query parameter or an encoded path
36
+ * segment, never by splicing a value into the origin. Stated where a resolver author will
37
+ * read it, on `ExternalToolContext.metadata`.
38
+ */
39
+ export declare const workspaceMetadataKeySchema: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "metadata keys start with a letter and may contain letters, digits, \"_\", \".\" and \"-\" (max 64 chars)">]>;
40
+ /**
41
+ * The stored metadata bag. Values are STRINGS whatever the declared field type — the
42
+ * only consumer is text interpolation (a URL, a prompt), and a numeric-looking field
43
+ * that round-trips as a number would lose a leading zero the external system cares about.
44
+ * An UNSET field is an ABSENT key, never an empty string: the editor drops a cleared
45
+ * value, so "nobody filled this in" and "somebody deliberately entered nothing" don't
46
+ * both render as a tool URL with an empty parameter.
47
+ */
48
+ export declare const workspaceMetadataSchema: v.SchemaWithPipe<readonly [v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "metadata keys start with a letter and may contain letters, digits, \"_\", \".\" and \"-\" (max 64 chars)">]>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 1024, undefined>]>, undefined>, v.CheckAction<{
49
+ [x: string]: string;
50
+ }, "a workspace may hold at most 64 metadata fields">]>;
51
+ export type WorkspaceMetadata = v.InferOutput<typeof workspaceMetadataSchema>;
22
52
  /** A workspace's runtime settings. */
23
53
  export declare const workspaceSettingsSchema: v.ObjectSchema<{
24
54
  /**
@@ -119,6 +149,13 @@ export declare const workspaceSettingsSchema: v.ObjectSchema<{
119
149
  * null for every other type. Cross-field validated by `WorkspaceSettingsService.update`.
120
150
  */
121
151
  readonly defaultProvisionManifestId: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>]>, undefined>;
152
+ /**
153
+ * The workspace's custom metadata values, keyed by the field keys a deployment declares
154
+ * in code. `{}` when nothing has been filled in. See {@link workspaceMetadataSchema}.
155
+ */
156
+ readonly metadata: v.SchemaWithPipe<readonly [v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "metadata keys start with a letter and may contain letters, digits, \"_\", \".\" and \"-\" (max 64 chars)">]>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 1024, undefined>]>, undefined>, v.CheckAction<{
157
+ [x: string]: string;
158
+ }, "a workspace may hold at most 64 metadata fields">]>;
122
159
  }, undefined>;
123
160
  export type WorkspaceSettings = v.InferOutput<typeof workspaceSettingsSchema>;
124
161
  /** Update a workspace's runtime settings (full replace of the supplied fields). */
@@ -140,6 +177,16 @@ export declare const updateWorkspaceSettingsSchema: v.ObjectSchema<{
140
177
  readonly spendMonthlyLimit: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>, undefined>;
141
178
  readonly defaultProvisionType: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["kubernetes", "docker-compose", "cloudflare", "custom", "infraless"], undefined>, undefined>, undefined>;
142
179
  readonly defaultProvisionManifestId: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>]>, undefined>, undefined>;
180
+ /**
181
+ * Replace the whole metadata bag. Whole-bag rather than per-key because the editor
182
+ * renders every declared field at once, so a save states the complete intent — and a
183
+ * field the operator CLEARED has to disappear, which a merge-only patch could never
184
+ * express. The editor carries any key it did not render back into the submitted bag, so
185
+ * a value written by another deployment version survives an unrelated save.
186
+ */
187
+ readonly metadata: v.OptionalSchema<v.SchemaWithPipe<readonly [v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "metadata keys start with a letter and may contain letters, digits, \"_\", \".\" and \"-\" (max 64 chars)">]>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 1024, undefined>]>, undefined>, v.CheckAction<{
188
+ [x: string]: string;
189
+ }, "a workspace may hold at most 64 metadata fields">]>, undefined>;
143
190
  }, undefined>;
144
191
  export type UpdateWorkspaceSettingsInput = v.InferOutput<typeof updateWorkspaceSettingsSchema>;
145
192
  //# sourceMappingURL=workspace-settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-settings.d.ts","sourceRoot":"","sources":["../src/workspace-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAY5B;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,4DAA4C,CAAA;AAC5E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAIrE,6FAA6F;AAC7F,eAAO,MAAM,sBAAsB,oeAA8C,CAAA;AACjF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAW3E;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,yDAAyC,CAAA;AAC9E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AA2C/E,sCAAsC;AACtC,eAAO,MAAM,uBAAuB;IAClC;;;OAGG;;IAEH,kEAAkE;;IAElE,8EAA8E;;IAE9E,mFAAmF;;IAEnF;;;;;;;OAOG;;IAEH;;;;;;;;;;;OAWG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;;;OAMG;;IAEH,6EAA6E;;IAE7E;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;OAGG;;IAIH,6EAA6E;;IAE7E;;;;;;;;;;OAUG;;IAEH;;;;OAIG;;IAEH;;;;;OAKG;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,mFAAmF;AACnF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;aA0BxC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA"}
1
+ {"version":3,"file":"workspace-settings.d.ts","sourceRoot":"","sources":["../src/workspace-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAY5B;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,4DAA4C,CAAA;AAC5E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAIrE,6FAA6F;AAC7F,eAAO,MAAM,sBAAsB,oeAA8C,CAAA;AACjF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAW3E;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,yDAAyC,CAAA;AAC9E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AA0D/E,iDAAiD;AACjD,eAAO,MAAM,8BAA8B,KAAK,CAAA;AAChD,oDAAoD;AACpD,eAAO,MAAM,mCAAmC,OAAO,CAAA;AAEvD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0BAA0B,2LAMtC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;uDASnC,CAAA;AACD,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,sCAAsC;AACtC,eAAO,MAAM,uBAAuB;IAClC;;;OAGG;;IAEH,kEAAkE;;IAElE,8EAA8E;;IAE9E,mFAAmF;;IAEnF;;;;;;;OAOG;;IAEH;;;;;;;;;;;OAWG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;;;OAMG;;IAEH,6EAA6E;;IAE7E;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;OAGG;;IAIH,6EAA6E;;IAE7E;;;;;;;;;;OAUG;;IAEH;;;;OAIG;;IAEH;;;;;OAKG;;IAEH;;;OAGG;;;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,mFAAmF;AACnF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;IA0BxC;;;;;;OAMG;;;;aAEH,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA"}
@@ -66,6 +66,47 @@ const spendCurrencySchema = v.pipe(v.string(), v.trim(), v.toUpperCase(), v.leng
66
66
  // never reaches the engine at all — it is a creation-time seed for a field the
67
67
  // service still owns and the user can still change.
68
68
  // ---------------------------------------------------------------------------
69
+ // ---------------------------------------------------------------------------
70
+ // Custom workspace metadata: a free-form `key -> string` bag on the settings row,
71
+ // whose FIELDS are declared programmatically by the deployment (the SPA's
72
+ // `workspaceMetadataFields` slot) and whose VALUES are typed in by an operator in
73
+ // the workspace-settings panel. The canonical consumer is an external-tool URL
74
+ // resolver — "open the map editor already switched to this workspace's `gameId`".
75
+ //
76
+ // The backend deliberately knows NOTHING about which fields exist: definitions are
77
+ // code-shipped by a deployment that can add, rename and retire them without a
78
+ // migration, so validating a key against a server-side list would make the store
79
+ // disagree with the app the moment either side is deployed alone. What it DOES own
80
+ // is the shape — an identifier-ish key and a bounded scalar value — so a stray
81
+ // write can neither bloat the row nor smuggle a structure the readers don't expect.
82
+ // ---------------------------------------------------------------------------
83
+ /** Max stored metadata entries per workspace. */
84
+ export const MAX_WORKSPACE_METADATA_ENTRIES = 64;
85
+ /** Max stored length of a single metadata value. */
86
+ export const MAX_WORKSPACE_METADATA_VALUE_LENGTH = 1024;
87
+ /**
88
+ * A metadata field key: an identifier a deployment writes in code and a resolver reads
89
+ * off `ctx.metadata`. Deliberately identifier-shaped (no spaces, no `/`, no `%`) so that
90
+ * the one thing every consumer does with a key — read it as a property, `ctx.metadata.gameId`
91
+ * — is total and needs no escaping. The leading-letter rule additionally keeps `__proto__`
92
+ * out of a bag that is `JSON.parse`d on both sides.
93
+ *
94
+ * This is NOT what makes an external tool's URL safe. It is the VALUES that get interpolated
95
+ * into one, and a value is operator-typed text bounded only in length — so the rule that
96
+ * matters lives with the reader: build a URL by setting a query parameter or an encoded path
97
+ * segment, never by splicing a value into the origin. Stated where a resolver author will
98
+ * read it, on `ExternalToolContext.metadata`.
99
+ */
100
+ export const workspaceMetadataKeySchema = v.pipe(v.string(), v.regex(/^[A-Za-z][A-Za-z0-9_.-]{0,63}$/, 'metadata keys start with a letter and may contain letters, digits, "_", "." and "-" (max 64 chars)'));
101
+ /**
102
+ * The stored metadata bag. Values are STRINGS whatever the declared field type — the
103
+ * only consumer is text interpolation (a URL, a prompt), and a numeric-looking field
104
+ * that round-trips as a number would lose a leading zero the external system cares about.
105
+ * An UNSET field is an ABSENT key, never an empty string: the editor drops a cleared
106
+ * value, so "nobody filled this in" and "somebody deliberately entered nothing" don't
107
+ * both render as a tool URL with an empty parameter.
108
+ */
109
+ export const workspaceMetadataSchema = v.pipe(v.record(workspaceMetadataKeySchema, v.pipe(v.string(), v.maxLength(MAX_WORKSPACE_METADATA_VALUE_LENGTH))), v.check((record) => Object.keys(record).length <= MAX_WORKSPACE_METADATA_ENTRIES, `a workspace may hold at most ${MAX_WORKSPACE_METADATA_ENTRIES} metadata fields`));
69
110
  /** A workspace's runtime settings. */
70
111
  export const workspaceSettingsSchema = v.object({
71
112
  /**
@@ -166,6 +207,11 @@ export const workspaceSettingsSchema = v.object({
166
207
  * null for every other type. Cross-field validated by `WorkspaceSettingsService.update`.
167
208
  */
168
209
  defaultProvisionManifestId: v.nullable(manifestIdSchema),
210
+ /**
211
+ * The workspace's custom metadata values, keyed by the field keys a deployment declares
212
+ * in code. `{}` when nothing has been filled in. See {@link workspaceMetadataSchema}.
213
+ */
214
+ metadata: workspaceMetadataSchema,
169
215
  });
170
216
  /** Update a workspace's runtime settings (full replace of the supplied fields). */
171
217
  export const updateWorkspaceSettingsSchema = v.object({
@@ -186,5 +232,13 @@ export const updateWorkspaceSettingsSchema = v.object({
186
232
  spendMonthlyLimit: v.optional(v.nullable(v.pipe(v.number(), v.minValue(0)))),
187
233
  defaultProvisionType: v.optional(v.nullable(provisionTypeSchema)),
188
234
  defaultProvisionManifestId: v.optional(v.nullable(manifestIdSchema)),
235
+ /**
236
+ * Replace the whole metadata bag. Whole-bag rather than per-key because the editor
237
+ * renders every declared field at once, so a save states the complete intent — and a
238
+ * field the operator CLEARED has to disappear, which a merge-only patch could never
239
+ * express. The editor carries any key it did not render back into the submitted bag, so
240
+ * a value written by another deployment version survives an unrelated save.
241
+ */
242
+ metadata: v.optional(workspaceMetadataSchema),
189
243
  });
190
244
  //# sourceMappingURL=workspace-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-settings.js","sourceRoot":"","sources":["../src/workspace-settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-settings.js","sourceRoot":"","sources":["../src/workspace-settings.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/contracts",
3
- "version": "0.204.0",
3
+ "version": "0.206.0",
4
4
  "description": "Valibot wire contract shared between the Agent Architecture Board frontend and backend.",
5
5
  "repository": {
6
6
  "type": "git",