@cat-factory/contracts 0.223.0 → 0.224.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 (77) hide show
  1. package/dist/agent-gating.d.ts.map +1 -1
  2. package/dist/agent-gating.js +14 -0
  3. package/dist/agent-gating.js.map +1 -1
  4. package/dist/debug-api.d.ts +9 -0
  5. package/dist/debug-api.d.ts.map +1 -1
  6. package/dist/debug-api.js +6 -0
  7. package/dist/debug-api.js.map +1 -1
  8. package/dist/errors.d.ts +1 -1
  9. package/dist/errors.d.ts.map +1 -1
  10. package/dist/errors.js +5 -0
  11. package/dist/errors.js.map +1 -1
  12. package/dist/execution.d.ts +147 -2
  13. package/dist/execution.d.ts.map +1 -1
  14. package/dist/execution.js +74 -1
  15. package/dist/execution.js.map +1 -1
  16. package/dist/index.d.ts +1 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/merge.d.ts +2210 -157
  21. package/dist/merge.d.ts.map +1 -1
  22. package/dist/merge.js +83 -0
  23. package/dist/merge.js.map +1 -1
  24. package/dist/observability.d.ts +71 -0
  25. package/dist/observability.d.ts.map +1 -1
  26. package/dist/observability.js +47 -0
  27. package/dist/observability.js.map +1 -1
  28. package/dist/pr-report.d.ts +351 -1
  29. package/dist/pr-report.d.ts.map +1 -1
  30. package/dist/pr-report.js +164 -1
  31. package/dist/pr-report.js.map +1 -1
  32. package/dist/reproduction.js +1 -1
  33. package/dist/reproduction.js.map +1 -1
  34. package/dist/requests.d.ts +8 -0
  35. package/dist/requests.d.ts.map +1 -1
  36. package/dist/requests.js +9 -0
  37. package/dist/requests.js.map +1 -1
  38. package/dist/routes/agent-runs.d.ts +10 -0
  39. package/dist/routes/agent-runs.d.ts.map +1 -1
  40. package/dist/routes/bug-hunt.d.ts +10 -0
  41. package/dist/routes/bug-hunt.d.ts.map +1 -1
  42. package/dist/routes/debug-api.d.ts +4 -0
  43. package/dist/routes/debug-api.d.ts.map +1 -1
  44. package/dist/routes/execution.d.ts +44 -0
  45. package/dist/routes/execution.d.ts.map +1 -1
  46. package/dist/routes/human-review.d.ts +5 -0
  47. package/dist/routes/human-review.d.ts.map +1 -1
  48. package/dist/routes/human-test.d.ts +25 -0
  49. package/dist/routes/human-test.d.ts.map +1 -1
  50. package/dist/routes/index.d.ts +1 -0
  51. package/dist/routes/index.d.ts.map +1 -1
  52. package/dist/routes/index.js +1 -0
  53. package/dist/routes/index.js.map +1 -1
  54. package/dist/routes/merge.d.ts +3109 -157
  55. package/dist/routes/merge.d.ts.map +1 -1
  56. package/dist/routes/tutorial.d.ts +149 -0
  57. package/dist/routes/tutorial.d.ts.map +1 -0
  58. package/dist/routes/tutorial.js +46 -0
  59. package/dist/routes/tutorial.js.map +1 -0
  60. package/dist/routes/visual-confirm.d.ts +15 -0
  61. package/dist/routes/visual-confirm.d.ts.map +1 -1
  62. package/dist/routes/workspace-members.d.ts +5 -5
  63. package/dist/routes/workspaces.d.ts +1008 -4
  64. package/dist/routes/workspaces.d.ts.map +1 -1
  65. package/dist/snapshot.d.ts +510 -1
  66. package/dist/snapshot.d.ts.map +1 -1
  67. package/dist/snapshot.js +9 -0
  68. package/dist/snapshot.js.map +1 -1
  69. package/dist/tutorial.d.ts +69 -0
  70. package/dist/tutorial.d.ts.map +1 -0
  71. package/dist/tutorial.js +83 -0
  72. package/dist/tutorial.js.map +1 -0
  73. package/dist/workspace-members.d.ts +6 -5
  74. package/dist/workspace-members.d.ts.map +1 -1
  75. package/dist/workspace-members.js +2 -1
  76. package/dist/workspace-members.js.map +1 -1
  77. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/routes/merge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAa5B,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAInC,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKnC,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMnC,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKnC,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMnC,CAAA"}
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/routes/merge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAa5B,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAInC,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKnC,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMnC,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKnC,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMnC,CAAA"}
@@ -0,0 +1,149 @@
1
+ import { ContractNoBody } from '@toad-contracts/valibot';
2
+ export declare const getTutorialProgressContract: {
3
+ readonly method: "get";
4
+ readonly pathResolver: () => string;
5
+ readonly responsesByStatusCode: {
6
+ readonly '4xx': import("valibot").ObjectSchema<{
7
+ readonly error: import("valibot").ObjectSchema<{
8
+ readonly code: import("valibot").StringSchema<undefined>;
9
+ readonly message: import("valibot").StringSchema<undefined>;
10
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
11
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
12
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
13
+ readonly message: import("valibot").StringSchema<undefined>;
14
+ }, undefined>, undefined>, undefined>;
15
+ }, undefined>;
16
+ }, undefined>;
17
+ readonly '5xx': import("valibot").ObjectSchema<{
18
+ readonly error: import("valibot").ObjectSchema<{
19
+ readonly code: import("valibot").StringSchema<undefined>;
20
+ readonly message: import("valibot").StringSchema<undefined>;
21
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
22
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
23
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
24
+ readonly message: import("valibot").StringSchema<undefined>;
25
+ }, undefined>, undefined>, undefined>;
26
+ }, undefined>;
27
+ }, undefined>;
28
+ readonly 200: import("valibot").ObjectSchema<{
29
+ readonly decision: import("valibot").NullableSchema<import("valibot").PicklistSchema<["accepted", "declined"], undefined>, undefined>;
30
+ readonly completedTourIds: import("valibot").SchemaWithPipe<readonly [import("valibot").ArraySchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, "A tour id must be lowercase kebab-case, at most 64 characters.">]>, undefined>, import("valibot").MaxLengthAction<string[], 200, undefined>]>;
31
+ readonly nudgedTourIds: import("valibot").SchemaWithPipe<readonly [import("valibot").ArraySchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, "A tour id must be lowercase kebab-case, at most 64 characters.">]>, undefined>, import("valibot").MaxLengthAction<string[], 200, undefined>]>;
32
+ }, undefined>;
33
+ };
34
+ };
35
+ /** Merge into the signed-in user's progress; returns the merged row. */
36
+ export declare const updateTutorialProgressContract: {
37
+ readonly method: "put";
38
+ readonly pathResolver: () => string;
39
+ readonly requestBodySchema: import("valibot").ObjectSchema<{
40
+ readonly decision: import("valibot").OptionalSchema<import("valibot").NullableSchema<import("valibot").PicklistSchema<["accepted", "declined"], undefined>, undefined>, undefined>;
41
+ readonly completedTourIds: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").ArraySchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, "A tour id must be lowercase kebab-case, at most 64 characters.">]>, undefined>, import("valibot").MaxLengthAction<string[], 200, undefined>]>, undefined>;
42
+ readonly nudgedTourIds: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").ArraySchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, "A tour id must be lowercase kebab-case, at most 64 characters.">]>, undefined>, import("valibot").MaxLengthAction<string[], 200, undefined>]>, undefined>;
43
+ }, undefined>;
44
+ readonly responsesByStatusCode: {
45
+ readonly '4xx': import("valibot").ObjectSchema<{
46
+ readonly error: import("valibot").ObjectSchema<{
47
+ readonly code: import("valibot").StringSchema<undefined>;
48
+ readonly message: import("valibot").StringSchema<undefined>;
49
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
50
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
51
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
52
+ readonly message: import("valibot").StringSchema<undefined>;
53
+ }, undefined>, undefined>, undefined>;
54
+ }, undefined>;
55
+ }, undefined>;
56
+ readonly '5xx': import("valibot").ObjectSchema<{
57
+ readonly error: import("valibot").ObjectSchema<{
58
+ readonly code: import("valibot").StringSchema<undefined>;
59
+ readonly message: import("valibot").StringSchema<undefined>;
60
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
61
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
62
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
63
+ readonly message: import("valibot").StringSchema<undefined>;
64
+ }, undefined>, undefined>, undefined>;
65
+ }, undefined>;
66
+ }, undefined>;
67
+ readonly 200: import("valibot").ObjectSchema<{
68
+ readonly decision: import("valibot").NullableSchema<import("valibot").PicklistSchema<["accepted", "declined"], undefined>, undefined>;
69
+ readonly completedTourIds: import("valibot").SchemaWithPipe<readonly [import("valibot").ArraySchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, "A tour id must be lowercase kebab-case, at most 64 characters.">]>, undefined>, import("valibot").MaxLengthAction<string[], 200, undefined>]>;
70
+ readonly nudgedTourIds: import("valibot").SchemaWithPipe<readonly [import("valibot").ArraySchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, "A tour id must be lowercase kebab-case, at most 64 characters.">]>, undefined>, import("valibot").MaxLengthAction<string[], 200, undefined>]>;
71
+ }, undefined>;
72
+ };
73
+ };
74
+ /**
75
+ * Clear it: the "Reset progress" action. A separate verb rather than a PUT of empty arrays,
76
+ * because the PUT above MERGES — an empty array there means "I am adding nothing", which is
77
+ * what a client with no local state sends, and must not wipe the row it just failed to read.
78
+ */
79
+ export declare const resetTutorialProgressContract: {
80
+ readonly method: "delete";
81
+ readonly pathResolver: () => string;
82
+ readonly responsesByStatusCode: {
83
+ readonly '4xx': import("valibot").ObjectSchema<{
84
+ readonly error: import("valibot").ObjectSchema<{
85
+ readonly code: import("valibot").StringSchema<undefined>;
86
+ readonly message: import("valibot").StringSchema<undefined>;
87
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
88
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
89
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
90
+ readonly message: import("valibot").StringSchema<undefined>;
91
+ }, undefined>, undefined>, undefined>;
92
+ }, undefined>;
93
+ }, undefined>;
94
+ readonly '5xx': import("valibot").ObjectSchema<{
95
+ readonly error: import("valibot").ObjectSchema<{
96
+ readonly code: import("valibot").StringSchema<undefined>;
97
+ readonly message: import("valibot").StringSchema<undefined>;
98
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
99
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
100
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
101
+ readonly message: import("valibot").StringSchema<undefined>;
102
+ }, undefined>, undefined>, undefined>;
103
+ }, undefined>;
104
+ }, undefined>;
105
+ readonly 200: import("valibot").ObjectSchema<{
106
+ readonly decision: import("valibot").NullableSchema<import("valibot").PicklistSchema<["accepted", "declined"], undefined>, undefined>;
107
+ readonly completedTourIds: import("valibot").SchemaWithPipe<readonly [import("valibot").ArraySchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, "A tour id must be lowercase kebab-case, at most 64 characters.">]>, undefined>, import("valibot").MaxLengthAction<string[], 200, undefined>]>;
108
+ readonly nudgedTourIds: import("valibot").SchemaWithPipe<readonly [import("valibot").ArraySchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, "A tour id must be lowercase kebab-case, at most 64 characters.">]>, undefined>, import("valibot").MaxLengthAction<string[], 200, undefined>]>;
109
+ }, undefined>;
110
+ };
111
+ };
112
+ /**
113
+ * Count one funnel event. Returns 204: nothing is stored and there is nothing to read back, so
114
+ * a body would only invite a caller to depend on one.
115
+ */
116
+ export declare const recordTutorialEventContract: {
117
+ readonly method: "post";
118
+ readonly pathResolver: () => string;
119
+ readonly requestBodySchema: import("valibot").ObjectSchema<{
120
+ readonly event: import("valibot").PicklistSchema<["started", "completed", "abandoned"], undefined>;
121
+ readonly tourId: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, "A tour id must be lowercase kebab-case, at most 64 characters.">]>;
122
+ }, undefined>;
123
+ readonly responsesByStatusCode: {
124
+ readonly '4xx': import("valibot").ObjectSchema<{
125
+ readonly error: import("valibot").ObjectSchema<{
126
+ readonly code: import("valibot").StringSchema<undefined>;
127
+ readonly message: import("valibot").StringSchema<undefined>;
128
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
129
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
130
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
131
+ readonly message: import("valibot").StringSchema<undefined>;
132
+ }, undefined>, undefined>, undefined>;
133
+ }, undefined>;
134
+ }, undefined>;
135
+ readonly '5xx': import("valibot").ObjectSchema<{
136
+ readonly error: import("valibot").ObjectSchema<{
137
+ readonly code: import("valibot").StringSchema<undefined>;
138
+ readonly message: import("valibot").StringSchema<undefined>;
139
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
140
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
141
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
142
+ readonly message: import("valibot").StringSchema<undefined>;
143
+ }, undefined>, undefined>, undefined>;
144
+ }, undefined>;
145
+ }, undefined>;
146
+ readonly 204: typeof ContractNoBody;
147
+ };
148
+ };
149
+ //# sourceMappingURL=tutorial.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tutorial.d.ts","sourceRoot":"","sources":["../../src/routes/tutorial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAmB3E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAItC,CAAA;AAEF,wEAAwE;AACxE,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKzC,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIxC,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKtC,CAAA"}
@@ -0,0 +1,46 @@
1
+ import { ContractNoBody, defineApiContract } from '@toad-contracts/valibot';
2
+ import { recordTutorialEventSchema, tutorialProgressSchema, updateTutorialProgressSchema, } from '../tutorial.js';
3
+ import { errorResponses } from './_shared.js';
4
+ // ---------------------------------------------------------------------------
5
+ // In-app tutorial route contracts. Scoped to the SIGNED-IN USER, not a workspace, so the paths
6
+ // are absolute and mounted at the root beside `/user-settings` — tutorial progress is a fact
7
+ // about a person, and the same person's progress must not fork per board.
8
+ //
9
+ // Root-mounted also keeps these OUT of `/workspaces/:ws/*`, which matters for one specific
10
+ // reason: that prefix carries the workspace-RBAC viewer write floor (any non-GET requires
11
+ // >= member), and a read-only viewer taking a walkthrough is exactly the case this must serve.
12
+ // See TutorialController in @cat-factory/server.
13
+ // ---------------------------------------------------------------------------
14
+ export const getTutorialProgressContract = defineApiContract({
15
+ method: 'get',
16
+ pathResolver: () => '/tutorial/progress',
17
+ responsesByStatusCode: { 200: tutorialProgressSchema, ...errorResponses },
18
+ });
19
+ /** Merge into the signed-in user's progress; returns the merged row. */
20
+ export const updateTutorialProgressContract = defineApiContract({
21
+ method: 'put',
22
+ pathResolver: () => '/tutorial/progress',
23
+ requestBodySchema: updateTutorialProgressSchema,
24
+ responsesByStatusCode: { 200: tutorialProgressSchema, ...errorResponses },
25
+ });
26
+ /**
27
+ * Clear it: the "Reset progress" action. A separate verb rather than a PUT of empty arrays,
28
+ * because the PUT above MERGES — an empty array there means "I am adding nothing", which is
29
+ * what a client with no local state sends, and must not wipe the row it just failed to read.
30
+ */
31
+ export const resetTutorialProgressContract = defineApiContract({
32
+ method: 'delete',
33
+ pathResolver: () => '/tutorial/progress',
34
+ responsesByStatusCode: { 200: tutorialProgressSchema, ...errorResponses },
35
+ });
36
+ /**
37
+ * Count one funnel event. Returns 204: nothing is stored and there is nothing to read back, so
38
+ * a body would only invite a caller to depend on one.
39
+ */
40
+ export const recordTutorialEventContract = defineApiContract({
41
+ method: 'post',
42
+ pathResolver: () => '/tutorial/events',
43
+ requestBodySchema: recordTutorialEventSchema,
44
+ responsesByStatusCode: { 204: ContractNoBody, ...errorResponses },
45
+ });
46
+ //# sourceMappingURL=tutorial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tutorial.js","sourceRoot":"","sources":["../../src/routes/tutorial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3E,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,8EAA8E;AAC9E,+FAA+F;AAC/F,6FAA6F;AAC7F,0EAA0E;AAC1E,EAAE;AACF,2FAA2F;AAC3F,0FAA0F;AAC1F,+FAA+F;AAC/F,iDAAiD;AACjD,8EAA8E;AAE9E,MAAM,CAAC,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;IAC3D,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,oBAAoB;IACxC,qBAAqB,EAAE,EAAE,GAAG,EAAE,sBAAsB,EAAE,GAAG,cAAc,EAAE;CAC1E,CAAC,CAAA;AAEF,wEAAwE;AACxE,MAAM,CAAC,MAAM,8BAA8B,GAAG,iBAAiB,CAAC;IAC9D,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,oBAAoB;IACxC,iBAAiB,EAAE,4BAA4B;IAC/C,qBAAqB,EAAE,EAAE,GAAG,EAAE,sBAAsB,EAAE,GAAG,cAAc,EAAE;CAC1E,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,iBAAiB,CAAC;IAC7D,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,GAAG,EAAE,CAAC,oBAAoB;IACxC,qBAAqB,EAAE,EAAE,GAAG,EAAE,sBAAsB,EAAE,GAAG,cAAc,EAAE;CAC1E,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;IAC3D,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,GAAG,EAAE,CAAC,kBAAkB;IACtC,iBAAiB,EAAE,yBAAyB;IAC5C,qBAAqB,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;CAClE,CAAC,CAAA"}
@@ -56,6 +56,8 @@ export declare const approveVisualConfirmContract: {
56
56
  readonly errors: v.NumberSchema<undefined>;
57
57
  readonly warnings: v.NumberSchema<undefined>;
58
58
  readonly carryCostTokens: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
59
+ readonly costEstimate: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
60
+ readonly costCurrency: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
59
61
  readonly byPhase: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
60
62
  readonly phase: v.StringSchema<undefined>;
61
63
  readonly calls: v.NumberSchema<undefined>;
@@ -65,6 +67,7 @@ export declare const approveVisualConfirmContract: {
65
67
  readonly completionTokens: v.NumberSchema<undefined>;
66
68
  readonly carryCostTokens: v.NumberSchema<undefined>;
67
69
  readonly errors: v.NumberSchema<undefined>;
70
+ readonly costEstimate: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
68
71
  }, undefined>, undefined>, undefined>;
69
72
  }, undefined>, undefined>, undefined>;
70
73
  readonly gate: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
@@ -1010,6 +1013,8 @@ export declare const approveVisualConfirmContract: {
1010
1013
  readonly serviceUrl: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1011
1014
  }, undefined>, undefined>, undefined>;
1012
1015
  readonly initiatedBy: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
1016
+ readonly initiatedByRole: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<readonly ["admin", "member", "viewer"], undefined>, undefined>, undefined>;
1017
+ readonly mode: v.OptionalSchema<v.PicklistSchema<["live", "dry_run"], undefined>, undefined>;
1013
1018
  readonly intakeOrigin: v.OptionalSchema<v.PicklistSchema<["ui", "public-api"], undefined>, undefined>;
1014
1019
  readonly createdAt: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
1015
1020
  readonly rev: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
@@ -1092,6 +1097,8 @@ export declare const requestVisualConfirmFixContract: {
1092
1097
  readonly errors: v.NumberSchema<undefined>;
1093
1098
  readonly warnings: v.NumberSchema<undefined>;
1094
1099
  readonly carryCostTokens: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
1100
+ readonly costEstimate: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
1101
+ readonly costCurrency: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
1095
1102
  readonly byPhase: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
1096
1103
  readonly phase: v.StringSchema<undefined>;
1097
1104
  readonly calls: v.NumberSchema<undefined>;
@@ -1101,6 +1108,7 @@ export declare const requestVisualConfirmFixContract: {
1101
1108
  readonly completionTokens: v.NumberSchema<undefined>;
1102
1109
  readonly carryCostTokens: v.NumberSchema<undefined>;
1103
1110
  readonly errors: v.NumberSchema<undefined>;
1111
+ readonly costEstimate: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
1104
1112
  }, undefined>, undefined>, undefined>;
1105
1113
  }, undefined>, undefined>, undefined>;
1106
1114
  readonly gate: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
@@ -2046,6 +2054,8 @@ export declare const requestVisualConfirmFixContract: {
2046
2054
  readonly serviceUrl: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
2047
2055
  }, undefined>, undefined>, undefined>;
2048
2056
  readonly initiatedBy: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
2057
+ readonly initiatedByRole: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<readonly ["admin", "member", "viewer"], undefined>, undefined>, undefined>;
2058
+ readonly mode: v.OptionalSchema<v.PicklistSchema<["live", "dry_run"], undefined>, undefined>;
2049
2059
  readonly intakeOrigin: v.OptionalSchema<v.PicklistSchema<["ui", "public-api"], undefined>, undefined>;
2050
2060
  readonly createdAt: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
2051
2061
  readonly rev: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
@@ -2126,6 +2136,8 @@ export declare const recaptureVisualConfirmContract: {
2126
2136
  readonly errors: v.NumberSchema<undefined>;
2127
2137
  readonly warnings: v.NumberSchema<undefined>;
2128
2138
  readonly carryCostTokens: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
2139
+ readonly costEstimate: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
2140
+ readonly costCurrency: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
2129
2141
  readonly byPhase: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
2130
2142
  readonly phase: v.StringSchema<undefined>;
2131
2143
  readonly calls: v.NumberSchema<undefined>;
@@ -2135,6 +2147,7 @@ export declare const recaptureVisualConfirmContract: {
2135
2147
  readonly completionTokens: v.NumberSchema<undefined>;
2136
2148
  readonly carryCostTokens: v.NumberSchema<undefined>;
2137
2149
  readonly errors: v.NumberSchema<undefined>;
2150
+ readonly costEstimate: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
2138
2151
  }, undefined>, undefined>, undefined>;
2139
2152
  }, undefined>, undefined>, undefined>;
2140
2153
  readonly gate: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
@@ -3080,6 +3093,8 @@ export declare const recaptureVisualConfirmContract: {
3080
3093
  readonly serviceUrl: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
3081
3094
  }, undefined>, undefined>, undefined>;
3082
3095
  readonly initiatedBy: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
3096
+ readonly initiatedByRole: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<readonly ["admin", "member", "viewer"], undefined>, undefined>, undefined>;
3097
+ readonly mode: v.OptionalSchema<v.PicklistSchema<["live", "dry_run"], undefined>, undefined>;
3083
3098
  readonly intakeOrigin: v.OptionalSchema<v.PicklistSchema<["ui", "public-api"], undefined>, undefined>;
3084
3099
  readonly createdAt: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
3085
3100
  readonly rev: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
@@ -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"}
@@ -34,7 +34,7 @@ export declare const listWorkspaceMembersContract: {
34
34
  readonly 200: v.ArraySchema<v.ObjectSchema<{
35
35
  readonly workspaceId: v.StringSchema<undefined>;
36
36
  readonly userId: v.StringSchema<undefined>;
37
- readonly role: v.PicklistSchema<["admin", "member", "viewer"], undefined>;
37
+ readonly role: v.PicklistSchema<readonly ["admin", "member", "viewer"], undefined>;
38
38
  readonly createdAt: v.NumberSchema<undefined>;
39
39
  readonly addedBy: v.NullableSchema<v.StringSchema<undefined>, undefined>;
40
40
  readonly name: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
@@ -53,7 +53,7 @@ export declare const addWorkspaceMemberContract: {
53
53
  }) => string;
54
54
  readonly requestBodySchema: v.ObjectSchema<{
55
55
  readonly userId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
56
- readonly role: v.PicklistSchema<["admin", "member", "viewer"], undefined>;
56
+ readonly role: v.PicklistSchema<readonly ["admin", "member", "viewer"], undefined>;
57
57
  }, undefined>;
58
58
  readonly responsesByStatusCode: {
59
59
  readonly '4xx': v.ObjectSchema<{
@@ -81,7 +81,7 @@ export declare const addWorkspaceMemberContract: {
81
81
  readonly 201: v.ObjectSchema<{
82
82
  readonly workspaceId: v.StringSchema<undefined>;
83
83
  readonly userId: v.StringSchema<undefined>;
84
- readonly role: v.PicklistSchema<["admin", "member", "viewer"], undefined>;
84
+ readonly role: v.PicklistSchema<readonly ["admin", "member", "viewer"], undefined>;
85
85
  readonly createdAt: v.NumberSchema<undefined>;
86
86
  readonly addedBy: v.NullableSchema<v.StringSchema<undefined>, undefined>;
87
87
  readonly name: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
@@ -101,7 +101,7 @@ export declare const setWorkspaceMemberRoleContract: {
101
101
  userId: string;
102
102
  }) => string;
103
103
  readonly requestBodySchema: v.ObjectSchema<{
104
- readonly role: v.PicklistSchema<["admin", "member", "viewer"], undefined>;
104
+ readonly role: v.PicklistSchema<readonly ["admin", "member", "viewer"], undefined>;
105
105
  }, undefined>;
106
106
  readonly responsesByStatusCode: {
107
107
  readonly '4xx': v.ObjectSchema<{
@@ -129,7 +129,7 @@ export declare const setWorkspaceMemberRoleContract: {
129
129
  readonly 200: v.ObjectSchema<{
130
130
  readonly workspaceId: v.StringSchema<undefined>;
131
131
  readonly userId: v.StringSchema<undefined>;
132
- readonly role: v.PicklistSchema<["admin", "member", "viewer"], undefined>;
132
+ readonly role: v.PicklistSchema<readonly ["admin", "member", "viewer"], undefined>;
133
133
  readonly createdAt: v.NumberSchema<undefined>;
134
134
  readonly addedBy: v.NullableSchema<v.StringSchema<undefined>, undefined>;
135
135
  readonly name: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;