@cat-factory/contracts 0.162.0 → 0.164.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 (65) hide show
  1. package/dist/execution.d.ts +68 -0
  2. package/dist/execution.d.ts.map +1 -1
  3. package/dist/execution.js +30 -0
  4. package/dist/execution.js.map +1 -1
  5. package/dist/index.d.ts +3 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +3 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/notification-webhooks.d.ts +115 -0
  10. package/dist/notification-webhooks.d.ts.map +1 -0
  11. package/dist/notification-webhooks.js +86 -0
  12. package/dist/notification-webhooks.js.map +1 -0
  13. package/dist/public-api-keys.d.ts +31 -13
  14. package/dist/public-api-keys.d.ts.map +1 -1
  15. package/dist/public-api-keys.js +26 -8
  16. package/dist/public-api-keys.js.map +1 -1
  17. package/dist/public-decisions.d.ts +254 -0
  18. package/dist/public-decisions.d.ts.map +1 -0
  19. package/dist/public-decisions.js +150 -0
  20. package/dist/public-decisions.js.map +1 -0
  21. package/dist/routes/agent-runs.d.ts +32 -0
  22. package/dist/routes/agent-runs.d.ts.map +1 -1
  23. package/dist/routes/execution.d.ts +128 -0
  24. package/dist/routes/execution.d.ts.map +1 -1
  25. package/dist/routes/human-review.d.ts +16 -0
  26. package/dist/routes/human-review.d.ts.map +1 -1
  27. package/dist/routes/human-test.d.ts +80 -0
  28. package/dist/routes/human-test.d.ts.map +1 -1
  29. package/dist/routes/index.d.ts +3 -0
  30. package/dist/routes/index.d.ts.map +1 -1
  31. package/dist/routes/index.js +3 -0
  32. package/dist/routes/index.js.map +1 -1
  33. package/dist/routes/notification-webhooks.d.ts +111 -0
  34. package/dist/routes/notification-webhooks.d.ts.map +1 -0
  35. package/dist/routes/notification-webhooks.js +33 -0
  36. package/dist/routes/notification-webhooks.js.map +1 -0
  37. package/dist/routes/public-api.d.ts +59 -3
  38. package/dist/routes/public-api.d.ts.map +1 -1
  39. package/dist/routes/public-api.js +15 -0
  40. package/dist/routes/public-api.js.map +1 -1
  41. package/dist/routes/public-decisions.d.ts +602 -0
  42. package/dist/routes/public-decisions.d.ts.map +1 -0
  43. package/dist/routes/public-decisions.js +90 -0
  44. package/dist/routes/public-decisions.js.map +1 -0
  45. package/dist/routes/runners.d.ts +10 -0
  46. package/dist/routes/runners.d.ts.map +1 -1
  47. package/dist/routes/validation-checks.d.ts +175 -0
  48. package/dist/routes/validation-checks.d.ts.map +1 -0
  49. package/dist/routes/validation-checks.js +40 -0
  50. package/dist/routes/validation-checks.js.map +1 -0
  51. package/dist/routes/visual-confirm.d.ts +48 -0
  52. package/dist/routes/visual-confirm.d.ts.map +1 -1
  53. package/dist/routes/workspaces.d.ts +32 -0
  54. package/dist/routes/workspaces.d.ts.map +1 -1
  55. package/dist/runners.d.ts +90 -0
  56. package/dist/runners.d.ts.map +1 -1
  57. package/dist/runners.js +9 -0
  58. package/dist/runners.js.map +1 -1
  59. package/dist/snapshot.d.ts +16 -0
  60. package/dist/snapshot.d.ts.map +1 -1
  61. package/dist/validation-checks.d.ts +123 -0
  62. package/dist/validation-checks.d.ts.map +1 -0
  63. package/dist/validation-checks.js +118 -0
  64. package/dist/validation-checks.js.map +1 -0
  65. package/package.json +1 -1
@@ -0,0 +1,90 @@
1
+ import { ContractNoBody, defineApiContract, withObjectKeys } from '@toad-contracts/valibot';
2
+ import * as v from 'valibot';
3
+ import { publicChooseForkSchema, publicDecisionListSchema, publicIncorporateSchema, publicReplyFindingSchema, publicResolveExceededSchema, publicSetFindingStatusSchema, } from '../public-decisions.js';
4
+ import { errorResponses, singleStringParam } from './_shared.js';
5
+ // ---------------------------------------------------------------------------
6
+ // Public-API route contracts for a run's PARKED HUMAN DECISIONS — the external counterpart of
7
+ // the SPA's requirements-review window and fork-decision window, so a headless caller can drive
8
+ // the clarification loop it previously could not even start.
9
+ //
10
+ // Keyed by RUN id, not task id: the same surface then serves BOTH a headless initiative job
11
+ // (`POST /api/v1/initiatives`, anchored on an internal block with no board task) and an ordinary
12
+ // board task run (`POST /api/v1/tasks/:taskId/start`). Every route is workspace-scoped by the
13
+ // caller's key.
14
+ //
15
+ // Reading a run's decisions needs `read`; ANSWERING one needs the `decide` rung of the scope
16
+ // ladder — the same rung that admits a parking pipeline in the first place (see
17
+ // `docs/initiatives/headless-clarification-loop.md`, D1).
18
+ // ---------------------------------------------------------------------------
19
+ const runIdParams = singleStringParam('runId');
20
+ const runItemParams = withObjectKeys(v.object({ runId: v.string(), itemId: v.string() }));
21
+ /** List a run's currently-parked decisions (findings, fork options) — `read`. */
22
+ export const listPublicRunDecisionsContract = defineApiContract({
23
+ method: 'get',
24
+ requestPathParamsSchema: runIdParams,
25
+ pathResolver: ({ runId }) => `/api/v1/runs/${runId}/decisions`,
26
+ responsesByStatusCode: { 200: publicDecisionListSchema, ...errorResponses },
27
+ });
28
+ // ---- requirements review ---------------------------------------------------
29
+ /** Answer one reviewer finding. */
30
+ export const replyPublicRunFindingContract = defineApiContract({
31
+ method: 'post',
32
+ requestPathParamsSchema: runItemParams,
33
+ pathResolver: ({ runId, itemId }) => `/api/v1/runs/${runId}/decisions/requirements/findings/${itemId}/reply`,
34
+ requestBodySchema: publicReplyFindingSchema,
35
+ responsesByStatusCode: { 200: publicDecisionListSchema, ...errorResponses },
36
+ });
37
+ /** Dismiss a finding as not applicable, or reopen one dismissed by mistake. */
38
+ export const setPublicRunFindingStatusContract = defineApiContract({
39
+ method: 'patch',
40
+ requestPathParamsSchema: runItemParams,
41
+ pathResolver: ({ runId, itemId }) => `/api/v1/runs/${runId}/decisions/requirements/findings/${itemId}`,
42
+ requestBodySchema: publicSetFindingStatusSchema,
43
+ responsesByStatusCode: { 200: publicDecisionListSchema, ...errorResponses },
44
+ });
45
+ /**
46
+ * Fold the recorded answers into the standardized requirements document. ASYNCHRONOUS — the
47
+ * durable driver folds and re-reviews in the background, so the response shows the review
48
+ * `incorporating`; poll (or watch the SSE stream) for the next round or convergence.
49
+ */
50
+ export const incorporatePublicRunRequirementsContract = defineApiContract({
51
+ method: 'post',
52
+ requestPathParamsSchema: runIdParams,
53
+ pathResolver: ({ runId }) => `/api/v1/runs/${runId}/decisions/requirements/incorporate`,
54
+ requestBodySchema: publicIncorporateSchema,
55
+ responsesByStatusCode: { 200: publicDecisionListSchema, ...errorResponses },
56
+ });
57
+ /** Run one more reviewer pass over the incorporated document. */
58
+ export const reReviewPublicRunRequirementsContract = defineApiContract({
59
+ method: 'post',
60
+ requestPathParamsSchema: runIdParams,
61
+ pathResolver: ({ runId }) => `/api/v1/runs/${runId}/decisions/requirements/re-review`,
62
+ requestBodySchema: ContractNoBody,
63
+ responsesByStatusCode: { 200: publicDecisionListSchema, ...errorResponses },
64
+ });
65
+ /** Settle the requirements phase and advance the parked run (used when nothing is outstanding). */
66
+ export const proceedPublicRunRequirementsContract = defineApiContract({
67
+ method: 'post',
68
+ requestPathParamsSchema: runIdParams,
69
+ pathResolver: ({ runId }) => `/api/v1/runs/${runId}/decisions/requirements/proceed`,
70
+ requestBodySchema: ContractNoBody,
71
+ responsesByStatusCode: { 200: publicDecisionListSchema, ...errorResponses },
72
+ });
73
+ /** Resolve a review that hit its iteration cap (extra round / proceed / stop and reset). */
74
+ export const resolvePublicRunRequirementsExceededContract = defineApiContract({
75
+ method: 'post',
76
+ requestPathParamsSchema: runIdParams,
77
+ pathResolver: ({ runId }) => `/api/v1/runs/${runId}/decisions/requirements/resolve-exceeded`,
78
+ requestBodySchema: publicResolveExceededSchema,
79
+ responsesByStatusCode: { 200: publicDecisionListSchema, ...errorResponses },
80
+ });
81
+ // ---- implementation fork ---------------------------------------------------
82
+ /** Choose an implementation approach (a proposed fork id or a custom approach). */
83
+ export const choosePublicRunForkContract = defineApiContract({
84
+ method: 'post',
85
+ requestPathParamsSchema: runIdParams,
86
+ pathResolver: ({ runId }) => `/api/v1/runs/${runId}/decisions/fork/choose`,
87
+ requestBodySchema: publicChooseForkSchema,
88
+ responsesByStatusCode: { 200: publicDecisionListSchema, ...errorResponses },
89
+ });
90
+ //# sourceMappingURL=public-decisions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-decisions.js","sourceRoot":"","sources":["../../src/routes/public-decisions.ts"],"names":[],"mappings":"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"}
@@ -140,6 +140,7 @@ export declare const getRunnerPoolConnectionContract: {
140
140
  readonly resultPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
141
141
  readonly followUpsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
142
142
  readonly callMetricsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
143
+ readonly validationReportPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
143
144
  readonly errorPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
144
145
  readonly failureCausePath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
145
146
  readonly detailPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
@@ -320,6 +321,7 @@ export declare const getRunnerPoolConnectionContract: {
320
321
  readonly resultPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
321
322
  readonly followUpsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
322
323
  readonly callMetricsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
324
+ readonly validationReportPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
323
325
  readonly errorPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
324
326
  readonly failureCausePath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
325
327
  readonly detailPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
@@ -440,6 +442,7 @@ export declare const registerRunnerPoolContract: {
440
442
  readonly resultPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
441
443
  readonly followUpsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
442
444
  readonly callMetricsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
445
+ readonly validationReportPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
443
446
  readonly errorPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
444
447
  readonly failureCausePath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
445
448
  readonly detailPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
@@ -620,6 +623,7 @@ export declare const registerRunnerPoolContract: {
620
623
  readonly resultPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
621
624
  readonly followUpsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
622
625
  readonly callMetricsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
626
+ readonly validationReportPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
623
627
  readonly errorPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
624
628
  readonly failureCausePath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
625
629
  readonly detailPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
@@ -764,6 +768,7 @@ export declare const registerRunnerPoolContract: {
764
768
  readonly resultPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
765
769
  readonly followUpsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
766
770
  readonly callMetricsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
771
+ readonly validationReportPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
767
772
  readonly errorPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
768
773
  readonly failureCausePath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
769
774
  readonly detailPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
@@ -944,6 +949,7 @@ export declare const registerRunnerPoolContract: {
944
949
  readonly resultPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
945
950
  readonly followUpsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
946
951
  readonly callMetricsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
952
+ readonly validationReportPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
947
953
  readonly errorPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
948
954
  readonly failureCausePath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
949
955
  readonly detailPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
@@ -1095,6 +1101,7 @@ export declare const updateRunnerPoolSecretsContract: {
1095
1101
  readonly resultPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1096
1102
  readonly followUpsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1097
1103
  readonly callMetricsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1104
+ readonly validationReportPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1098
1105
  readonly errorPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1099
1106
  readonly failureCausePath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1100
1107
  readonly detailPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
@@ -1275,6 +1282,7 @@ export declare const updateRunnerPoolSecretsContract: {
1275
1282
  readonly resultPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1276
1283
  readonly followUpsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1277
1284
  readonly callMetricsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1285
+ readonly validationReportPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1278
1286
  readonly errorPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1279
1287
  readonly failureCausePath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1280
1288
  readonly detailPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
@@ -1495,6 +1503,7 @@ export declare const testRunnerPoolConnectionContract: {
1495
1503
  readonly resultPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1496
1504
  readonly followUpsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1497
1505
  readonly callMetricsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1506
+ readonly validationReportPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1498
1507
  readonly errorPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1499
1508
  readonly failureCausePath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1500
1509
  readonly detailPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
@@ -1675,6 +1684,7 @@ export declare const testRunnerPoolConnectionContract: {
1675
1684
  readonly resultPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1676
1685
  readonly followUpsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1677
1686
  readonly callMetricsPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1687
+ readonly validationReportPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1678
1688
  readonly errorPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1679
1689
  readonly failureCausePath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1680
1690
  readonly detailPath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"runners.d.ts","sourceRoot":"","sources":["../../src/routes/runners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAoB5B,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI1C,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKrC,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK1C,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIvC,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAO7C,CAAA;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK3C,CAAA"}
1
+ {"version":3,"file":"runners.d.ts","sourceRoot":"","sources":["../../src/routes/runners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAoB5B,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI1C,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKrC,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK1C,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIvC,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAO7C,CAAA;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK3C,CAAA"}
@@ -0,0 +1,175 @@
1
+ import { ContractNoBody } from '@toad-contracts/valibot';
2
+ import * as v from 'valibot';
3
+ export declare const getServiceValidationConfigContract: {
4
+ readonly method: "get";
5
+ readonly requestPathParamsSchema: v.ObjectSchema<{
6
+ blockId: v.StringSchema<undefined>;
7
+ }, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
8
+ readonly pathResolver: ({ blockId }: {
9
+ blockId: string;
10
+ }) => string;
11
+ readonly responsesByStatusCode: {
12
+ readonly '4xx': v.ObjectSchema<{
13
+ readonly error: v.ObjectSchema<{
14
+ readonly code: v.StringSchema<undefined>;
15
+ readonly message: v.StringSchema<undefined>;
16
+ readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
17
+ readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
18
+ readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
19
+ readonly message: v.StringSchema<undefined>;
20
+ }, undefined>, undefined>, undefined>;
21
+ }, undefined>;
22
+ }, undefined>;
23
+ readonly '5xx': v.ObjectSchema<{
24
+ readonly error: v.ObjectSchema<{
25
+ readonly code: v.StringSchema<undefined>;
26
+ readonly message: v.StringSchema<undefined>;
27
+ readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
28
+ readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
29
+ readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
30
+ readonly message: v.StringSchema<undefined>;
31
+ }, undefined>, undefined>, undefined>;
32
+ }, undefined>;
33
+ }, undefined>;
34
+ readonly 200: v.ObjectSchema<{
35
+ readonly blockId: v.StringSchema<undefined>;
36
+ readonly checks: v.ArraySchema<v.ObjectSchema<{
37
+ readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 80, undefined>]>;
38
+ readonly command: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>;
39
+ }, undefined>, undefined>;
40
+ readonly maxAttempts: v.NumberSchema<undefined>;
41
+ }, undefined>;
42
+ };
43
+ };
44
+ export declare const setServiceValidationConfigContract: {
45
+ readonly method: "put";
46
+ readonly requestPathParamsSchema: v.ObjectSchema<{
47
+ blockId: v.StringSchema<undefined>;
48
+ }, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
49
+ readonly pathResolver: ({ blockId }: {
50
+ blockId: string;
51
+ }) => string;
52
+ readonly requestBodySchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
53
+ readonly checks: v.ArraySchema<v.ObjectSchema<{
54
+ readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 80, undefined>]>;
55
+ readonly command: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>;
56
+ }, undefined>, undefined>;
57
+ readonly maxAttempts: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 10, undefined>]>, undefined>;
58
+ }, undefined>, v.CheckAction<{
59
+ checks: {
60
+ label: string;
61
+ command: string;
62
+ }[];
63
+ maxAttempts?: number | undefined;
64
+ }, "validation check labels must be unique within a service">, v.CheckAction<{
65
+ checks: {
66
+ label: string;
67
+ command: string;
68
+ }[];
69
+ maxAttempts?: number | undefined;
70
+ }, "at most 10 validation checks per service">]>;
71
+ readonly responsesByStatusCode: {
72
+ readonly '4xx': v.ObjectSchema<{
73
+ readonly error: v.ObjectSchema<{
74
+ readonly code: v.StringSchema<undefined>;
75
+ readonly message: v.StringSchema<undefined>;
76
+ readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
77
+ readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
78
+ readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
79
+ readonly message: v.StringSchema<undefined>;
80
+ }, undefined>, undefined>, undefined>;
81
+ }, undefined>;
82
+ }, undefined>;
83
+ readonly '5xx': v.ObjectSchema<{
84
+ readonly error: v.ObjectSchema<{
85
+ readonly code: v.StringSchema<undefined>;
86
+ readonly message: v.StringSchema<undefined>;
87
+ readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
88
+ readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
89
+ readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
90
+ readonly message: v.StringSchema<undefined>;
91
+ }, undefined>, undefined>, undefined>;
92
+ }, undefined>;
93
+ }, undefined>;
94
+ readonly 200: v.ObjectSchema<{
95
+ readonly blockId: v.StringSchema<undefined>;
96
+ readonly checks: v.ArraySchema<v.ObjectSchema<{
97
+ readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 80, undefined>]>;
98
+ readonly command: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>;
99
+ }, undefined>, undefined>;
100
+ readonly maxAttempts: v.NumberSchema<undefined>;
101
+ }, undefined>;
102
+ };
103
+ };
104
+ export declare const deleteServiceValidationConfigContract: {
105
+ readonly method: "delete";
106
+ readonly requestPathParamsSchema: v.ObjectSchema<{
107
+ blockId: v.StringSchema<undefined>;
108
+ }, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
109
+ readonly pathResolver: ({ blockId }: {
110
+ blockId: string;
111
+ }) => string;
112
+ readonly responsesByStatusCode: {
113
+ readonly '4xx': v.ObjectSchema<{
114
+ readonly error: v.ObjectSchema<{
115
+ readonly code: v.StringSchema<undefined>;
116
+ readonly message: v.StringSchema<undefined>;
117
+ readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
118
+ readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
119
+ readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
120
+ readonly message: v.StringSchema<undefined>;
121
+ }, undefined>, undefined>, undefined>;
122
+ }, undefined>;
123
+ }, undefined>;
124
+ readonly '5xx': v.ObjectSchema<{
125
+ readonly error: v.ObjectSchema<{
126
+ readonly code: v.StringSchema<undefined>;
127
+ readonly message: v.StringSchema<undefined>;
128
+ readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
129
+ readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
130
+ readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
131
+ readonly message: v.StringSchema<undefined>;
132
+ }, undefined>, undefined>, undefined>;
133
+ }, undefined>;
134
+ }, undefined>;
135
+ readonly 204: typeof ContractNoBody;
136
+ };
137
+ };
138
+ /** Every configured service's validation checks in the workspace (the store's hydrate read). */
139
+ export declare const listServiceValidationConfigsContract: {
140
+ readonly method: "get";
141
+ readonly pathResolver: () => string;
142
+ readonly responsesByStatusCode: {
143
+ readonly '4xx': v.ObjectSchema<{
144
+ readonly error: v.ObjectSchema<{
145
+ readonly code: v.StringSchema<undefined>;
146
+ readonly message: v.StringSchema<undefined>;
147
+ readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
148
+ readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
149
+ readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
150
+ readonly message: v.StringSchema<undefined>;
151
+ }, undefined>, undefined>, undefined>;
152
+ }, undefined>;
153
+ }, undefined>;
154
+ readonly '5xx': v.ObjectSchema<{
155
+ readonly error: v.ObjectSchema<{
156
+ readonly code: v.StringSchema<undefined>;
157
+ readonly message: v.StringSchema<undefined>;
158
+ readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
159
+ readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
160
+ readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
161
+ readonly message: v.StringSchema<undefined>;
162
+ }, undefined>, undefined>, undefined>;
163
+ }, undefined>;
164
+ }, undefined>;
165
+ readonly 200: v.ArraySchema<v.ObjectSchema<{
166
+ readonly blockId: v.StringSchema<undefined>;
167
+ readonly checks: v.ArraySchema<v.ObjectSchema<{
168
+ readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 80, undefined>]>;
169
+ readonly command: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 2000, undefined>]>;
170
+ }, undefined>, undefined>;
171
+ readonly maxAttempts: v.NumberSchema<undefined>;
172
+ }, undefined>, undefined>;
173
+ };
174
+ };
175
+ //# sourceMappingURL=validation-checks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-checks.d.ts","sourceRoot":"","sources":["../../src/routes/validation-checks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAgB5B,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK7C,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM7C,CAAA;AAEF,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKhD,CAAA;AAEF,gGAAgG;AAChG,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAO/C,CAAA"}
@@ -0,0 +1,40 @@
1
+ import { ContractNoBody, defineApiContract } from '@toad-contracts/valibot';
2
+ import * as v from 'valibot';
3
+ import { serviceValidationConfigSchema, upsertServiceValidationConfigSchema, } from '../validation-checks.js';
4
+ import { errorResponses, singleStringParam } from './_shared.js';
5
+ // ---------------------------------------------------------------------------
6
+ // Pre-PR validation-check route contracts. Mounted under `/workspaces/:workspaceId`,
7
+ // so the paths here are relative to that prefix. The blockId is a SERVICE FRAME
8
+ // block (the checks are resolved up the frame chain at dispatch). See
9
+ // ValidationConfigController.
10
+ // ---------------------------------------------------------------------------
11
+ const blockIdParams = singleStringParam('blockId');
12
+ export const getServiceValidationConfigContract = defineApiContract({
13
+ method: 'get',
14
+ requestPathParamsSchema: blockIdParams,
15
+ pathResolver: ({ blockId }) => `/services/${blockId}/validation-checks`,
16
+ responsesByStatusCode: { 200: serviceValidationConfigSchema, ...errorResponses },
17
+ });
18
+ export const setServiceValidationConfigContract = defineApiContract({
19
+ method: 'put',
20
+ requestPathParamsSchema: blockIdParams,
21
+ pathResolver: ({ blockId }) => `/services/${blockId}/validation-checks`,
22
+ requestBodySchema: upsertServiceValidationConfigSchema,
23
+ responsesByStatusCode: { 200: serviceValidationConfigSchema, ...errorResponses },
24
+ });
25
+ export const deleteServiceValidationConfigContract = defineApiContract({
26
+ method: 'delete',
27
+ requestPathParamsSchema: blockIdParams,
28
+ pathResolver: ({ blockId }) => `/services/${blockId}/validation-checks`,
29
+ responsesByStatusCode: { 204: ContractNoBody, ...errorResponses },
30
+ });
31
+ /** Every configured service's validation checks in the workspace (the store's hydrate read). */
32
+ export const listServiceValidationConfigsContract = defineApiContract({
33
+ method: 'get',
34
+ pathResolver: () => '/validation-checks',
35
+ responsesByStatusCode: {
36
+ 200: v.array(serviceValidationConfigSchema),
37
+ ...errorResponses,
38
+ },
39
+ });
40
+ //# sourceMappingURL=validation-checks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-checks.js","sourceRoot":"","sources":["../../src/routes/validation-checks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EACL,6BAA6B,EAC7B,mCAAmC,GACpC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhE,8EAA8E;AAC9E,qFAAqF;AACrF,gFAAgF;AAChF,sEAAsE;AACtE,8BAA8B;AAC9B,8EAA8E;AAE9E,MAAM,aAAa,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAA;AAElD,MAAM,CAAC,MAAM,kCAAkC,GAAG,iBAAiB,CAAC;IAClE,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,aAAa;IACtC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,aAAa,OAAO,oBAAoB;IACvE,qBAAqB,EAAE,EAAE,GAAG,EAAE,6BAA6B,EAAE,GAAG,cAAc,EAAE;CACjF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,iBAAiB,CAAC;IAClE,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,aAAa;IACtC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,aAAa,OAAO,oBAAoB;IACvE,iBAAiB,EAAE,mCAAmC;IACtD,qBAAqB,EAAE,EAAE,GAAG,EAAE,6BAA6B,EAAE,GAAG,cAAc,EAAE;CACjF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,qCAAqC,GAAG,iBAAiB,CAAC;IACrE,MAAM,EAAE,QAAQ;IAChB,uBAAuB,EAAE,aAAa;IACtC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,aAAa,OAAO,oBAAoB;IACvE,qBAAqB,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;CAClE,CAAC,CAAA;AAEF,gGAAgG;AAChG,MAAM,CAAC,MAAM,oCAAoC,GAAG,iBAAiB,CAAC;IACpE,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,oBAAoB;IACxC,qBAAqB,EAAE;QACrB,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC;QAC3C,GAAG,cAAc;KAClB;CACF,CAAC,CAAA"}
@@ -407,6 +407,21 @@ export declare const approveVisualConfirmContract: {
407
407
  readonly summary: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
408
408
  }, undefined>, undefined>, undefined>, undefined>;
409
409
  }, undefined>, undefined>, undefined>;
410
+ readonly validation: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
411
+ readonly passed: v.SchemaWithFallback<v.BooleanSchema<undefined>, false>;
412
+ readonly attempts: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
413
+ readonly maxAttempts: v.SchemaWithFallback<v.NumberSchema<undefined>, 3>;
414
+ readonly outcomes: v.SchemaWithFallback<v.ArraySchema<v.ObjectSchema<{
415
+ readonly label: v.SchemaWithFallback<v.StringSchema<undefined>, "check">;
416
+ readonly command: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
417
+ readonly exitCode: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
418
+ readonly passed: v.SchemaWithFallback<v.BooleanSchema<undefined>, false>;
419
+ readonly outputTail: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
420
+ readonly durationMs: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
421
+ readonly timedOut: v.SchemaWithFallback<v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
422
+ }, undefined>, undefined>, readonly []>;
423
+ readonly at: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
424
+ }, undefined>, undefined>, undefined>;
410
425
  readonly pendingForkChat: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
411
426
  readonly messageId: v.StringSchema<undefined>;
412
427
  }, undefined>, undefined>, undefined>;
@@ -810,6 +825,7 @@ export declare const approveVisualConfirmContract: {
810
825
  readonly serviceUrl: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
811
826
  }, undefined>, undefined>, undefined>;
812
827
  readonly initiatedBy: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
828
+ readonly intakeOrigin: v.OptionalSchema<v.PicklistSchema<["ui", "public-api"], undefined>, undefined>;
813
829
  readonly createdAt: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
814
830
  readonly rev: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
815
831
  readonly diagnostics: v.OptionalSchema<v.ObjectSchema<{
@@ -1242,6 +1258,21 @@ export declare const requestVisualConfirmFixContract: {
1242
1258
  readonly summary: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
1243
1259
  }, undefined>, undefined>, undefined>, undefined>;
1244
1260
  }, undefined>, undefined>, undefined>;
1261
+ readonly validation: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
1262
+ readonly passed: v.SchemaWithFallback<v.BooleanSchema<undefined>, false>;
1263
+ readonly attempts: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
1264
+ readonly maxAttempts: v.SchemaWithFallback<v.NumberSchema<undefined>, 3>;
1265
+ readonly outcomes: v.SchemaWithFallback<v.ArraySchema<v.ObjectSchema<{
1266
+ readonly label: v.SchemaWithFallback<v.StringSchema<undefined>, "check">;
1267
+ readonly command: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
1268
+ readonly exitCode: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
1269
+ readonly passed: v.SchemaWithFallback<v.BooleanSchema<undefined>, false>;
1270
+ readonly outputTail: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
1271
+ readonly durationMs: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
1272
+ readonly timedOut: v.SchemaWithFallback<v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
1273
+ }, undefined>, undefined>, readonly []>;
1274
+ readonly at: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
1275
+ }, undefined>, undefined>, undefined>;
1245
1276
  readonly pendingForkChat: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
1246
1277
  readonly messageId: v.StringSchema<undefined>;
1247
1278
  }, undefined>, undefined>, undefined>;
@@ -1645,6 +1676,7 @@ export declare const requestVisualConfirmFixContract: {
1645
1676
  readonly serviceUrl: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1646
1677
  }, undefined>, undefined>, undefined>;
1647
1678
  readonly initiatedBy: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
1679
+ readonly intakeOrigin: v.OptionalSchema<v.PicklistSchema<["ui", "public-api"], undefined>, undefined>;
1648
1680
  readonly createdAt: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
1649
1681
  readonly rev: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
1650
1682
  readonly diagnostics: v.OptionalSchema<v.ObjectSchema<{
@@ -2075,6 +2107,21 @@ export declare const recaptureVisualConfirmContract: {
2075
2107
  readonly summary: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
2076
2108
  }, undefined>, undefined>, undefined>, undefined>;
2077
2109
  }, undefined>, undefined>, undefined>;
2110
+ readonly validation: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
2111
+ readonly passed: v.SchemaWithFallback<v.BooleanSchema<undefined>, false>;
2112
+ readonly attempts: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
2113
+ readonly maxAttempts: v.SchemaWithFallback<v.NumberSchema<undefined>, 3>;
2114
+ readonly outcomes: v.SchemaWithFallback<v.ArraySchema<v.ObjectSchema<{
2115
+ readonly label: v.SchemaWithFallback<v.StringSchema<undefined>, "check">;
2116
+ readonly command: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
2117
+ readonly exitCode: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
2118
+ readonly passed: v.SchemaWithFallback<v.BooleanSchema<undefined>, false>;
2119
+ readonly outputTail: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
2120
+ readonly durationMs: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
2121
+ readonly timedOut: v.SchemaWithFallback<v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
2122
+ }, undefined>, undefined>, readonly []>;
2123
+ readonly at: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
2124
+ }, undefined>, undefined>, undefined>;
2078
2125
  readonly pendingForkChat: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
2079
2126
  readonly messageId: v.StringSchema<undefined>;
2080
2127
  }, undefined>, undefined>, undefined>;
@@ -2478,6 +2525,7 @@ export declare const recaptureVisualConfirmContract: {
2478
2525
  readonly serviceUrl: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
2479
2526
  }, undefined>, undefined>, undefined>;
2480
2527
  readonly initiatedBy: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
2528
+ readonly intakeOrigin: v.OptionalSchema<v.PicklistSchema<["ui", "public-api"], undefined>, undefined>;
2481
2529
  readonly createdAt: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
2482
2530
  readonly rev: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
2483
2531
  readonly diagnostics: v.OptionalSchema<v.ObjectSchema<{
@@ -1 +1 @@
1
- {"version":3,"file":"visual-confirm.d.ts","sourceRoot":"","sources":["../../src/routes/visual-confirm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqC,MAAM,yBAAyB,CAAA;AAC3F,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAc5B,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMvC,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM1C,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMzC,CAAA"}
1
+ {"version":3,"file":"visual-confirm.d.ts","sourceRoot":"","sources":["../../src/routes/visual-confirm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqC,MAAM,yBAAyB,CAAA;AAC3F,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAc5B,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMvC,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM1C,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMzC,CAAA"}
@@ -869,6 +869,21 @@ export declare const createWorkspaceContract: {
869
869
  readonly summary: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
870
870
  }, undefined>, undefined>, undefined>, undefined>;
871
871
  }, undefined>, undefined>, undefined>;
872
+ readonly validation: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
873
+ readonly passed: v.SchemaWithFallback<v.BooleanSchema<undefined>, false>;
874
+ readonly attempts: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
875
+ readonly maxAttempts: v.SchemaWithFallback<v.NumberSchema<undefined>, 3>;
876
+ readonly outcomes: v.SchemaWithFallback<v.ArraySchema<v.ObjectSchema<{
877
+ readonly label: v.SchemaWithFallback<v.StringSchema<undefined>, "check">;
878
+ readonly command: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
879
+ readonly exitCode: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
880
+ readonly passed: v.SchemaWithFallback<v.BooleanSchema<undefined>, false>;
881
+ readonly outputTail: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
882
+ readonly durationMs: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
883
+ readonly timedOut: v.SchemaWithFallback<v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
884
+ }, undefined>, undefined>, readonly []>;
885
+ readonly at: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
886
+ }, undefined>, undefined>, undefined>;
872
887
  readonly pendingForkChat: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
873
888
  readonly messageId: v.StringSchema<undefined>;
874
889
  }, undefined>, undefined>, undefined>;
@@ -1272,6 +1287,7 @@ export declare const createWorkspaceContract: {
1272
1287
  readonly serviceUrl: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1273
1288
  }, undefined>, undefined>, undefined>;
1274
1289
  readonly initiatedBy: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
1290
+ readonly intakeOrigin: v.OptionalSchema<v.PicklistSchema<["ui", "public-api"], undefined>, undefined>;
1275
1291
  readonly createdAt: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
1276
1292
  readonly rev: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
1277
1293
  readonly diagnostics: v.OptionalSchema<v.ObjectSchema<{
@@ -3193,6 +3209,21 @@ export declare const getWorkspaceContract: {
3193
3209
  readonly summary: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
3194
3210
  }, undefined>, undefined>, undefined>, undefined>;
3195
3211
  }, undefined>, undefined>, undefined>;
3212
+ readonly validation: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
3213
+ readonly passed: v.SchemaWithFallback<v.BooleanSchema<undefined>, false>;
3214
+ readonly attempts: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
3215
+ readonly maxAttempts: v.SchemaWithFallback<v.NumberSchema<undefined>, 3>;
3216
+ readonly outcomes: v.SchemaWithFallback<v.ArraySchema<v.ObjectSchema<{
3217
+ readonly label: v.SchemaWithFallback<v.StringSchema<undefined>, "check">;
3218
+ readonly command: v.SchemaWithFallback<v.StringSchema<undefined>, "">;
3219
+ readonly exitCode: v.SchemaWithFallback<v.NumberSchema<undefined>, 1>;
3220
+ readonly passed: v.SchemaWithFallback<v.BooleanSchema<undefined>, false>;
3221
+ readonly outputTail: v.SchemaWithFallback<v.OptionalSchema<v.StringSchema<undefined>, undefined>, undefined>;
3222
+ readonly durationMs: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
3223
+ readonly timedOut: v.SchemaWithFallback<v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, undefined>;
3224
+ }, undefined>, undefined>, readonly []>;
3225
+ readonly at: v.SchemaWithFallback<v.OptionalSchema<v.NumberSchema<undefined>, undefined>, undefined>;
3226
+ }, undefined>, undefined>, undefined>;
3196
3227
  readonly pendingForkChat: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
3197
3228
  readonly messageId: v.StringSchema<undefined>;
3198
3229
  }, undefined>, undefined>, undefined>;
@@ -3596,6 +3627,7 @@ export declare const getWorkspaceContract: {
3596
3627
  readonly serviceUrl: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
3597
3628
  }, undefined>, undefined>, undefined>;
3598
3629
  readonly initiatedBy: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
3630
+ readonly intakeOrigin: v.OptionalSchema<v.PicklistSchema<["ui", "public-api"], undefined>, undefined>;
3599
3631
  readonly createdAt: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
3600
3632
  readonly rev: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
3601
3633
  readonly diagnostics: v.OptionalSchema<v.ObjectSchema<{
@@ -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"}