@cat-factory/contracts 0.63.0 → 0.64.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environmentUserHandlers.d.ts","sourceRoot":"","sources":["../../src/routes/environmentUserHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAE3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAwB5B,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK9C,CAAA;AAEF,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAS/C,CAAA;AAEF,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ/C,CAAA"}
@@ -0,0 +1,41 @@
1
+ import { ContractNoBody, defineApiContract } from '@toad-contracts/valibot';
2
+ import { withObjectKeys } from '@toad-contracts/valibot';
3
+ import * as v from 'valibot';
4
+ import { environmentHandlerViewSchema, upsertEnvironmentUserHandlerBodySchema, } from '../environments.js';
5
+ import { errorResponses, singleStringParam } from './_shared.js';
6
+ // ---------------------------------------------------------------------------
7
+ // Per-USER infra handler override route contracts (local mode). The
8
+ // EnvironmentUserHandlerController is mounted at `/`, so the paths are absolute and carry
9
+ // no `/workspaces` prefix; the overrides are scoped to the signed-in user (like local model
10
+ // runners + personal subscriptions). The service is wired ONLY by the local facade, so these
11
+ // 503 elsewhere. See EnvironmentUserHandlerController in @cat-factory/server.
12
+ // ---------------------------------------------------------------------------
13
+ const workspaceParams = singleStringParam('workspaceId');
14
+ const workspaceTypeParams = withObjectKeys(v.object({ workspaceId: v.string(), provisionType: v.string() }));
15
+ const environmentUserHandlerListSchema = v.object({
16
+ handlers: v.array(environmentHandlerViewSchema),
17
+ });
18
+ export const listEnvironmentUserHandlersContract = defineApiContract({
19
+ method: 'get',
20
+ requestPathParamsSchema: workspaceParams,
21
+ pathResolver: ({ workspaceId }) => `/me/environment-handlers/${workspaceId}`,
22
+ responsesByStatusCode: { 200: environmentUserHandlerListSchema, ...errorResponses },
23
+ });
24
+ export const upsertEnvironmentUserHandlerContract = defineApiContract({
25
+ method: 'put',
26
+ requestPathParamsSchema: workspaceTypeParams,
27
+ // The `provisionType` is taken from the path, so the body carries only the config +
28
+ // secrets (+ optional manifestId/backendKind) and does NOT re-send a provisionType.
29
+ pathResolver: ({ workspaceId, provisionType }) => `/me/environment-handlers/${workspaceId}/${provisionType}`,
30
+ requestBodySchema: upsertEnvironmentUserHandlerBodySchema,
31
+ responsesByStatusCode: { 201: environmentHandlerViewSchema, ...errorResponses },
32
+ });
33
+ export const removeEnvironmentUserHandlerContract = defineApiContract({
34
+ method: 'delete',
35
+ requestPathParamsSchema: workspaceTypeParams,
36
+ // `manifestId` keys a `custom` override; absent ⇒ the bare (non-custom) override.
37
+ requestQuerySchema: v.object({ manifestId: v.optional(v.string()) }),
38
+ pathResolver: ({ workspaceId, provisionType }) => `/me/environment-handlers/${workspaceId}/${provisionType}`,
39
+ responsesByStatusCode: { 204: ContractNoBody, ...errorResponses },
40
+ });
41
+ //# sourceMappingURL=environmentUserHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environmentUserHandlers.js","sourceRoot":"","sources":["../../src/routes/environmentUserHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EACL,4BAA4B,EAC5B,sCAAsC,GACvC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhE,8EAA8E;AAC9E,oEAAoE;AACpE,0FAA0F;AAC1F,4FAA4F;AAC5F,6FAA6F;AAC7F,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,eAAe,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAA;AACxD,MAAM,mBAAmB,GAAG,cAAc,CACxC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACjE,CAAA;AAED,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC;CAChD,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mCAAmC,GAAG,iBAAiB,CAAC;IACnE,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,eAAe;IACxC,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,4BAA4B,WAAW,EAAE;IAC5E,qBAAqB,EAAE,EAAE,GAAG,EAAE,gCAAgC,EAAE,GAAG,cAAc,EAAE;CACpF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oCAAoC,GAAG,iBAAiB,CAAC;IACpE,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,mBAAmB;IAC5C,oFAAoF;IACpF,oFAAoF;IACpF,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,EAAE,CAC/C,4BAA4B,WAAW,IAAI,aAAa,EAAE;IAC5D,iBAAiB,EAAE,sCAAsC;IACzD,qBAAqB,EAAE,EAAE,GAAG,EAAE,4BAA4B,EAAE,GAAG,cAAc,EAAE;CAChF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oCAAoC,GAAG,iBAAiB,CAAC;IACpE,MAAM,EAAE,QAAQ;IAChB,uBAAuB,EAAE,mBAAmB;IAC5C,kFAAkF;IAClF,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;IACpE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,EAAE,CAC/C,4BAA4B,WAAW,IAAI,aAAa,EAAE;IAC5D,qBAAqB,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;CAClE,CAAC,CAAA"}