@agent-relay/factory 0.1.50 → 0.1.51

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 (173) hide show
  1. package/README.md +93 -11
  2. package/dist/cli/fleet.d.ts +4 -1
  3. package/dist/cli/fleet.d.ts.map +1 -1
  4. package/dist/cli/fleet.js +87 -42
  5. package/dist/cli/fleet.js.map +1 -1
  6. package/dist/config/schema.d.ts +1671 -10
  7. package/dist/config/schema.d.ts.map +1 -1
  8. package/dist/config/schema.js +83 -0
  9. package/dist/config/schema.js.map +1 -1
  10. package/dist/dispatch/templates.d.ts +6 -0
  11. package/dist/dispatch/templates.d.ts.map +1 -1
  12. package/dist/dispatch/templates.js +16 -0
  13. package/dist/dispatch/templates.js.map +1 -1
  14. package/dist/environments/connection-registry.d.ts +617 -0
  15. package/dist/environments/connection-registry.d.ts.map +1 -0
  16. package/dist/environments/connection-registry.js +174 -0
  17. package/dist/environments/connection-registry.js.map +1 -0
  18. package/dist/environments/index.d.ts +21 -0
  19. package/dist/environments/index.d.ts.map +1 -0
  20. package/dist/environments/index.js +11 -0
  21. package/dist/environments/index.js.map +1 -0
  22. package/dist/environments/k6-job.d.ts +64 -0
  23. package/dist/environments/k6-job.d.ts.map +1 -0
  24. package/dist/environments/k6-job.js +376 -0
  25. package/dist/environments/k6-job.js.map +1 -0
  26. package/dist/environments/kubernetes-client.d.ts +72 -0
  27. package/dist/environments/kubernetes-client.d.ts.map +1 -0
  28. package/dist/environments/kubernetes-client.js +337 -0
  29. package/dist/environments/kubernetes-client.js.map +1 -0
  30. package/dist/environments/kubernetes-command.d.ts +30 -0
  31. package/dist/environments/kubernetes-command.d.ts.map +1 -0
  32. package/dist/environments/kubernetes-command.js +108 -0
  33. package/dist/environments/kubernetes-command.js.map +1 -0
  34. package/dist/environments/kubernetes-environment.d.ts +38 -0
  35. package/dist/environments/kubernetes-environment.d.ts.map +1 -0
  36. package/dist/environments/kubernetes-environment.js +333 -0
  37. package/dist/environments/kubernetes-environment.js.map +1 -0
  38. package/dist/environments/kubernetes-provider.d.ts +83 -0
  39. package/dist/environments/kubernetes-provider.d.ts.map +1 -0
  40. package/dist/environments/kubernetes-provider.js +956 -0
  41. package/dist/environments/kubernetes-provider.js.map +1 -0
  42. package/dist/environments/load-harness.d.ts +199 -0
  43. package/dist/environments/load-harness.d.ts.map +1 -0
  44. package/dist/environments/load-harness.js +259 -0
  45. package/dist/environments/load-harness.js.map +1 -0
  46. package/dist/environments/load-profile.d.ts +294 -0
  47. package/dist/environments/load-profile.d.ts.map +1 -0
  48. package/dist/environments/load-profile.js +125 -0
  49. package/dist/environments/load-profile.js.map +1 -0
  50. package/dist/environments/stack-deployer.d.ts +22 -0
  51. package/dist/environments/stack-deployer.d.ts.map +1 -0
  52. package/dist/environments/stack-deployer.js +27 -0
  53. package/dist/environments/stack-deployer.js.map +1 -0
  54. package/dist/environments/stack-descriptor.d.ts +243 -0
  55. package/dist/environments/stack-descriptor.d.ts.map +1 -0
  56. package/dist/environments/stack-descriptor.js +88 -0
  57. package/dist/environments/stack-descriptor.js.map +1 -0
  58. package/dist/environments/verification-pipeline.d.ts +117 -0
  59. package/dist/environments/verification-pipeline.d.ts.map +1 -0
  60. package/dist/environments/verification-pipeline.js +643 -0
  61. package/dist/environments/verification-pipeline.js.map +1 -0
  62. package/dist/environments/verification-stack-deployer.d.ts +73 -0
  63. package/dist/environments/verification-stack-deployer.d.ts.map +1 -0
  64. package/dist/environments/verification-stack-deployer.js +484 -0
  65. package/dist/environments/verification-stack-deployer.js.map +1 -0
  66. package/dist/environments/verification-stack-descriptor.d.ts +1134 -0
  67. package/dist/environments/verification-stack-descriptor.d.ts.map +1 -0
  68. package/dist/environments/verification-stack-descriptor.js +275 -0
  69. package/dist/environments/verification-stack-descriptor.js.map +1 -0
  70. package/dist/environments/verification-stack.d.ts +29 -0
  71. package/dist/environments/verification-stack.d.ts.map +1 -0
  72. package/dist/environments/verification-stack.js +43 -0
  73. package/dist/environments/verification-stack.js.map +1 -0
  74. package/dist/featuremap/generate.d.ts +72 -0
  75. package/dist/featuremap/generate.d.ts.map +1 -0
  76. package/dist/featuremap/generate.js +854 -0
  77. package/dist/featuremap/generate.js.map +1 -0
  78. package/dist/featuremap/index.d.ts +2 -0
  79. package/dist/featuremap/index.d.ts.map +1 -1
  80. package/dist/featuremap/index.js +1 -0
  81. package/dist/featuremap/index.js.map +1 -1
  82. package/dist/featuremap/validate.d.ts +6 -0
  83. package/dist/featuremap/validate.d.ts.map +1 -1
  84. package/dist/featuremap/validate.js +95 -13
  85. package/dist/featuremap/validate.js.map +1 -1
  86. package/dist/fleet/create-fleet.d.ts +2 -0
  87. package/dist/fleet/create-fleet.d.ts.map +1 -1
  88. package/dist/fleet/create-fleet.js +1 -0
  89. package/dist/fleet/create-fleet.js.map +1 -1
  90. package/dist/fleet/internal-fleet-client.d.ts +8 -1
  91. package/dist/fleet/internal-fleet-client.d.ts.map +1 -1
  92. package/dist/fleet/internal-fleet-client.js +31 -6
  93. package/dist/fleet/internal-fleet-client.js.map +1 -1
  94. package/dist/fleet/relay-fleet-client.d.ts +4 -1
  95. package/dist/fleet/relay-fleet-client.d.ts.map +1 -1
  96. package/dist/fleet/relay-fleet-client.js +142 -1
  97. package/dist/fleet/relay-fleet-client.js.map +1 -1
  98. package/dist/git/agent-worktree.d.ts +4 -1
  99. package/dist/git/agent-worktree.d.ts.map +1 -1
  100. package/dist/git/agent-worktree.js +151 -8
  101. package/dist/git/agent-worktree.js.map +1 -1
  102. package/dist/index.d.ts +32 -8
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +15 -3
  105. package/dist/index.js.map +1 -1
  106. package/dist/mount/local-mount-preflight.d.ts.map +1 -1
  107. package/dist/mount/local-mount-preflight.js +6 -2
  108. package/dist/mount/local-mount-preflight.js.map +1 -1
  109. package/dist/mount/relayfile-cloud-mount-client.d.ts +8 -2
  110. package/dist/mount/relayfile-cloud-mount-client.d.ts.map +1 -1
  111. package/dist/mount/relayfile-cloud-mount-client.js +11 -1
  112. package/dist/mount/relayfile-cloud-mount-client.js.map +1 -1
  113. package/dist/node/factory-node.d.ts +2 -0
  114. package/dist/node/factory-node.d.ts.map +1 -1
  115. package/dist/node/factory-node.js +107 -2
  116. package/dist/node/factory-node.js.map +1 -1
  117. package/dist/node/preview-process.d.ts +65 -0
  118. package/dist/node/preview-process.d.ts.map +1 -0
  119. package/dist/node/preview-process.js +431 -0
  120. package/dist/node/preview-process.js.map +1 -0
  121. package/dist/node/tailscale-preview.d.ts +45 -0
  122. package/dist/node/tailscale-preview.d.ts.map +1 -0
  123. package/dist/node/tailscale-preview.js +748 -0
  124. package/dist/node/tailscale-preview.js.map +1 -0
  125. package/dist/observability/events.d.ts +1838 -28
  126. package/dist/observability/events.d.ts.map +1 -1
  127. package/dist/observability/events.js +52 -0
  128. package/dist/observability/events.js.map +1 -1
  129. package/dist/orchestrator/factory.d.ts.map +1 -1
  130. package/dist/orchestrator/factory.js +1317 -61
  131. package/dist/orchestrator/factory.js.map +1 -1
  132. package/dist/orchestrator/index.d.ts +2 -1
  133. package/dist/orchestrator/index.d.ts.map +1 -1
  134. package/dist/orchestrator/index.js +1 -1
  135. package/dist/orchestrator/index.js.map +1 -1
  136. package/dist/orchestrator/reaper.d.ts +24 -0
  137. package/dist/orchestrator/reaper.d.ts.map +1 -1
  138. package/dist/orchestrator/reaper.js +117 -0
  139. package/dist/orchestrator/reaper.js.map +1 -1
  140. package/dist/ports/environment.d.ts +83 -0
  141. package/dist/ports/environment.d.ts.map +1 -0
  142. package/dist/ports/environment.js +2 -0
  143. package/dist/ports/environment.js.map +1 -0
  144. package/dist/ports/fleet.d.ts +68 -1
  145. package/dist/ports/fleet.d.ts.map +1 -1
  146. package/dist/ports/index.d.ts +3 -2
  147. package/dist/ports/index.d.ts.map +1 -1
  148. package/dist/ports/mount.d.ts +9 -0
  149. package/dist/ports/mount.d.ts.map +1 -1
  150. package/dist/ports/state.d.ts +17 -1
  151. package/dist/ports/state.d.ts.map +1 -1
  152. package/dist/ports/worktree.d.ts +14 -0
  153. package/dist/ports/worktree.d.ts.map +1 -1
  154. package/dist/state/file-state-store.js +28 -1
  155. package/dist/state/file-state-store.js.map +1 -1
  156. package/dist/subscriptions/index.d.ts +2 -0
  157. package/dist/subscriptions/index.d.ts.map +1 -1
  158. package/dist/subscriptions/index.js +1 -0
  159. package/dist/subscriptions/index.js.map +1 -1
  160. package/dist/subscriptions/resource-subscriptions.d.ts +77 -0
  161. package/dist/subscriptions/resource-subscriptions.d.ts.map +1 -0
  162. package/dist/subscriptions/resource-subscriptions.js +91 -0
  163. package/dist/subscriptions/resource-subscriptions.js.map +1 -0
  164. package/dist/testing/fakes.d.ts +9 -1
  165. package/dist/testing/fakes.d.ts.map +1 -1
  166. package/dist/testing/fakes.js +40 -0
  167. package/dist/testing/fakes.js.map +1 -1
  168. package/dist/triage/schema.d.ts +32 -32
  169. package/dist/types.d.ts +4 -1
  170. package/dist/types.d.ts.map +1 -1
  171. package/package.json +18 -4
  172. package/schemas/kubernetes-environment-stack.schema.json +86 -0
  173. package/schemas/verification-stack.schema.json +292 -0
@@ -0,0 +1,1134 @@
1
+ import { z } from 'zod';
2
+ import { type CommandRunner } from './kubernetes-command.js';
3
+ export declare const DEFAULT_VERIFICATION_STACK_PATH = ".factory/verification-stack.yaml";
4
+ export declare const VERIFICATION_STACK_API_VERSION = "factory.agentworkforce.dev/v1alpha1";
5
+ export declare const VERIFICATION_STACK_KIND = "VerificationStack";
6
+ export declare const DEFAULT_VERIFICATION_E2E_IMAGE = "node:22.17.0-alpine3.22@sha256:fc3e945f920b7e3000cd1af86c4ae406ec70c72f328b667baf0f3a8910d69eed";
7
+ /** File URL that works from both the source checkout and the published dist. */
8
+ export declare const VERIFICATION_STACK_JSON_SCHEMA_URL: import("url").URL;
9
+ export declare const VerificationProbeSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
10
+ timeoutSeconds: z.ZodDefault<z.ZodNumber>;
11
+ intervalSeconds: z.ZodDefault<z.ZodNumber>;
12
+ type: z.ZodLiteral<"http">;
13
+ service: z.ZodOptional<z.ZodString>;
14
+ port: z.ZodNumber;
15
+ path: z.ZodDefault<z.ZodString>;
16
+ scheme: z.ZodDefault<z.ZodEnum<["http", "https"]>>;
17
+ expectedStatuses: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
18
+ }, "strict", z.ZodTypeAny, {
19
+ path: string;
20
+ type: "http";
21
+ port: number;
22
+ expectedStatuses: number[];
23
+ scheme: "http" | "https";
24
+ timeoutSeconds: number;
25
+ intervalSeconds: number;
26
+ service?: string | undefined;
27
+ }, {
28
+ type: "http";
29
+ port: number;
30
+ path?: string | undefined;
31
+ expectedStatuses?: number[] | undefined;
32
+ service?: string | undefined;
33
+ scheme?: "http" | "https" | undefined;
34
+ timeoutSeconds?: number | undefined;
35
+ intervalSeconds?: number | undefined;
36
+ }>, z.ZodObject<{
37
+ timeoutSeconds: z.ZodDefault<z.ZodNumber>;
38
+ intervalSeconds: z.ZodDefault<z.ZodNumber>;
39
+ type: z.ZodLiteral<"tcp">;
40
+ service: z.ZodOptional<z.ZodString>;
41
+ port: z.ZodNumber;
42
+ }, "strict", z.ZodTypeAny, {
43
+ type: "tcp";
44
+ port: number;
45
+ timeoutSeconds: number;
46
+ intervalSeconds: number;
47
+ service?: string | undefined;
48
+ }, {
49
+ type: "tcp";
50
+ port: number;
51
+ service?: string | undefined;
52
+ timeoutSeconds?: number | undefined;
53
+ intervalSeconds?: number | undefined;
54
+ }>, z.ZodObject<{
55
+ timeoutSeconds: z.ZodDefault<z.ZodNumber>;
56
+ intervalSeconds: z.ZodDefault<z.ZodNumber>;
57
+ type: z.ZodLiteral<"exec">;
58
+ target: z.ZodOptional<z.ZodString>;
59
+ container: z.ZodOptional<z.ZodString>;
60
+ command: z.ZodArray<z.ZodString, "many">;
61
+ }, "strict", z.ZodTypeAny, {
62
+ type: "exec";
63
+ timeoutSeconds: number;
64
+ intervalSeconds: number;
65
+ command: string[];
66
+ target?: string | undefined;
67
+ container?: string | undefined;
68
+ }, {
69
+ type: "exec";
70
+ command: string[];
71
+ target?: string | undefined;
72
+ timeoutSeconds?: number | undefined;
73
+ intervalSeconds?: number | undefined;
74
+ container?: string | undefined;
75
+ }>]>;
76
+ export declare const VerificationStackSourceSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
77
+ type: z.ZodLiteral<"helm">;
78
+ chart: z.ZodString;
79
+ release: z.ZodOptional<z.ZodString>;
80
+ valuesFiles: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
81
+ }, "strict", z.ZodTypeAny, {
82
+ type: "helm";
83
+ chart: string;
84
+ valuesFiles: string[];
85
+ release?: string | undefined;
86
+ }, {
87
+ type: "helm";
88
+ chart: string;
89
+ release?: string | undefined;
90
+ valuesFiles?: string[] | undefined;
91
+ }>, z.ZodObject<{
92
+ type: z.ZodLiteral<"kustomize">;
93
+ path: z.ZodEffects<z.ZodString, string, string>;
94
+ }, "strict", z.ZodTypeAny, {
95
+ path: string;
96
+ type: "kustomize";
97
+ }, {
98
+ path: string;
99
+ type: "kustomize";
100
+ }>, z.ZodObject<{
101
+ type: z.ZodLiteral<"manifests">;
102
+ paths: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
103
+ }, "strict", z.ZodTypeAny, {
104
+ type: "manifests";
105
+ paths: string[];
106
+ }, {
107
+ type: "manifests";
108
+ paths: string[];
109
+ }>, z.ZodObject<{
110
+ type: z.ZodLiteral<"docker-compose">;
111
+ path: z.ZodEffects<z.ZodString, string, string>;
112
+ }, "strict", z.ZodTypeAny, {
113
+ path: string;
114
+ type: "docker-compose";
115
+ }, {
116
+ path: string;
117
+ type: "docker-compose";
118
+ }>]>;
119
+ export declare const VerificationStackDescriptorSchema: z.ZodEffects<z.ZodObject<{
120
+ apiVersion: z.ZodLiteral<"factory.agentworkforce.dev/v1alpha1">;
121
+ kind: z.ZodLiteral<"VerificationStack">;
122
+ name: z.ZodString;
123
+ source: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
124
+ type: z.ZodLiteral<"helm">;
125
+ chart: z.ZodString;
126
+ release: z.ZodOptional<z.ZodString>;
127
+ valuesFiles: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
128
+ }, "strict", z.ZodTypeAny, {
129
+ type: "helm";
130
+ chart: string;
131
+ valuesFiles: string[];
132
+ release?: string | undefined;
133
+ }, {
134
+ type: "helm";
135
+ chart: string;
136
+ release?: string | undefined;
137
+ valuesFiles?: string[] | undefined;
138
+ }>, z.ZodObject<{
139
+ type: z.ZodLiteral<"kustomize">;
140
+ path: z.ZodEffects<z.ZodString, string, string>;
141
+ }, "strict", z.ZodTypeAny, {
142
+ path: string;
143
+ type: "kustomize";
144
+ }, {
145
+ path: string;
146
+ type: "kustomize";
147
+ }>, z.ZodObject<{
148
+ type: z.ZodLiteral<"manifests">;
149
+ paths: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
150
+ }, "strict", z.ZodTypeAny, {
151
+ type: "manifests";
152
+ paths: string[];
153
+ }, {
154
+ type: "manifests";
155
+ paths: string[];
156
+ }>, z.ZodObject<{
157
+ type: z.ZodLiteral<"docker-compose">;
158
+ path: z.ZodEffects<z.ZodString, string, string>;
159
+ }, "strict", z.ZodTypeAny, {
160
+ path: string;
161
+ type: "docker-compose";
162
+ }, {
163
+ path: string;
164
+ type: "docker-compose";
165
+ }>]>;
166
+ secrets: z.ZodDefault<z.ZodArray<z.ZodObject<{
167
+ name: z.ZodString;
168
+ data: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodObject<{
169
+ ref: z.ZodString;
170
+ optional: z.ZodDefault<z.ZodBoolean>;
171
+ }, "strict", z.ZodTypeAny, {
172
+ ref: string;
173
+ optional: boolean;
174
+ }, {
175
+ ref: string;
176
+ optional?: boolean | undefined;
177
+ }>>, Record<string, {
178
+ ref: string;
179
+ optional: boolean;
180
+ }>, Record<string, {
181
+ ref: string;
182
+ optional?: boolean | undefined;
183
+ }>>;
184
+ }, "strict", z.ZodTypeAny, {
185
+ name: string;
186
+ data: Record<string, {
187
+ ref: string;
188
+ optional: boolean;
189
+ }>;
190
+ }, {
191
+ name: string;
192
+ data: Record<string, {
193
+ ref: string;
194
+ optional?: boolean | undefined;
195
+ }>;
196
+ }>, "many">>;
197
+ config: z.ZodDefault<z.ZodArray<z.ZodObject<{
198
+ name: z.ZodString;
199
+ data: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodObject<{
200
+ ref: z.ZodString;
201
+ optional: z.ZodDefault<z.ZodBoolean>;
202
+ }, "strict", z.ZodTypeAny, {
203
+ ref: string;
204
+ optional: boolean;
205
+ }, {
206
+ ref: string;
207
+ optional?: boolean | undefined;
208
+ }>>, Record<string, {
209
+ ref: string;
210
+ optional: boolean;
211
+ }>, Record<string, {
212
+ ref: string;
213
+ optional?: boolean | undefined;
214
+ }>>;
215
+ }, "strict", z.ZodTypeAny, {
216
+ name: string;
217
+ data: Record<string, {
218
+ ref: string;
219
+ optional: boolean;
220
+ }>;
221
+ }, {
222
+ name: string;
223
+ data: Record<string, {
224
+ ref: string;
225
+ optional?: boolean | undefined;
226
+ }>;
227
+ }>, "many">>;
228
+ services: z.ZodArray<z.ZodObject<{
229
+ name: z.ZodString;
230
+ workload: z.ZodObject<{
231
+ kind: z.ZodEnum<["deployment", "statefulset", "daemonset"]>;
232
+ name: z.ZodOptional<z.ZodString>;
233
+ }, "strict", z.ZodTypeAny, {
234
+ kind: "deployment" | "statefulset" | "daemonset";
235
+ name?: string | undefined;
236
+ }, {
237
+ kind: "deployment" | "statefulset" | "daemonset";
238
+ name?: string | undefined;
239
+ }>;
240
+ readiness: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
241
+ timeoutSeconds: z.ZodDefault<z.ZodNumber>;
242
+ intervalSeconds: z.ZodDefault<z.ZodNumber>;
243
+ type: z.ZodLiteral<"http">;
244
+ service: z.ZodOptional<z.ZodString>;
245
+ port: z.ZodNumber;
246
+ path: z.ZodDefault<z.ZodString>;
247
+ scheme: z.ZodDefault<z.ZodEnum<["http", "https"]>>;
248
+ expectedStatuses: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
249
+ }, "strict", z.ZodTypeAny, {
250
+ path: string;
251
+ type: "http";
252
+ port: number;
253
+ expectedStatuses: number[];
254
+ scheme: "http" | "https";
255
+ timeoutSeconds: number;
256
+ intervalSeconds: number;
257
+ service?: string | undefined;
258
+ }, {
259
+ type: "http";
260
+ port: number;
261
+ path?: string | undefined;
262
+ expectedStatuses?: number[] | undefined;
263
+ service?: string | undefined;
264
+ scheme?: "http" | "https" | undefined;
265
+ timeoutSeconds?: number | undefined;
266
+ intervalSeconds?: number | undefined;
267
+ }>, z.ZodObject<{
268
+ timeoutSeconds: z.ZodDefault<z.ZodNumber>;
269
+ intervalSeconds: z.ZodDefault<z.ZodNumber>;
270
+ type: z.ZodLiteral<"tcp">;
271
+ service: z.ZodOptional<z.ZodString>;
272
+ port: z.ZodNumber;
273
+ }, "strict", z.ZodTypeAny, {
274
+ type: "tcp";
275
+ port: number;
276
+ timeoutSeconds: number;
277
+ intervalSeconds: number;
278
+ service?: string | undefined;
279
+ }, {
280
+ type: "tcp";
281
+ port: number;
282
+ service?: string | undefined;
283
+ timeoutSeconds?: number | undefined;
284
+ intervalSeconds?: number | undefined;
285
+ }>, z.ZodObject<{
286
+ timeoutSeconds: z.ZodDefault<z.ZodNumber>;
287
+ intervalSeconds: z.ZodDefault<z.ZodNumber>;
288
+ type: z.ZodLiteral<"exec">;
289
+ target: z.ZodOptional<z.ZodString>;
290
+ container: z.ZodOptional<z.ZodString>;
291
+ command: z.ZodArray<z.ZodString, "many">;
292
+ }, "strict", z.ZodTypeAny, {
293
+ type: "exec";
294
+ timeoutSeconds: number;
295
+ intervalSeconds: number;
296
+ command: string[];
297
+ target?: string | undefined;
298
+ container?: string | undefined;
299
+ }, {
300
+ type: "exec";
301
+ command: string[];
302
+ target?: string | undefined;
303
+ timeoutSeconds?: number | undefined;
304
+ intervalSeconds?: number | undefined;
305
+ container?: string | undefined;
306
+ }>]>;
307
+ health: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
308
+ timeoutSeconds: z.ZodDefault<z.ZodNumber>;
309
+ intervalSeconds: z.ZodDefault<z.ZodNumber>;
310
+ type: z.ZodLiteral<"http">;
311
+ service: z.ZodOptional<z.ZodString>;
312
+ port: z.ZodNumber;
313
+ path: z.ZodDefault<z.ZodString>;
314
+ scheme: z.ZodDefault<z.ZodEnum<["http", "https"]>>;
315
+ expectedStatuses: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
316
+ }, "strict", z.ZodTypeAny, {
317
+ path: string;
318
+ type: "http";
319
+ port: number;
320
+ expectedStatuses: number[];
321
+ scheme: "http" | "https";
322
+ timeoutSeconds: number;
323
+ intervalSeconds: number;
324
+ service?: string | undefined;
325
+ }, {
326
+ type: "http";
327
+ port: number;
328
+ path?: string | undefined;
329
+ expectedStatuses?: number[] | undefined;
330
+ service?: string | undefined;
331
+ scheme?: "http" | "https" | undefined;
332
+ timeoutSeconds?: number | undefined;
333
+ intervalSeconds?: number | undefined;
334
+ }>, z.ZodObject<{
335
+ timeoutSeconds: z.ZodDefault<z.ZodNumber>;
336
+ intervalSeconds: z.ZodDefault<z.ZodNumber>;
337
+ type: z.ZodLiteral<"tcp">;
338
+ service: z.ZodOptional<z.ZodString>;
339
+ port: z.ZodNumber;
340
+ }, "strict", z.ZodTypeAny, {
341
+ type: "tcp";
342
+ port: number;
343
+ timeoutSeconds: number;
344
+ intervalSeconds: number;
345
+ service?: string | undefined;
346
+ }, {
347
+ type: "tcp";
348
+ port: number;
349
+ service?: string | undefined;
350
+ timeoutSeconds?: number | undefined;
351
+ intervalSeconds?: number | undefined;
352
+ }>, z.ZodObject<{
353
+ timeoutSeconds: z.ZodDefault<z.ZodNumber>;
354
+ intervalSeconds: z.ZodDefault<z.ZodNumber>;
355
+ type: z.ZodLiteral<"exec">;
356
+ target: z.ZodOptional<z.ZodString>;
357
+ container: z.ZodOptional<z.ZodString>;
358
+ command: z.ZodArray<z.ZodString, "many">;
359
+ }, "strict", z.ZodTypeAny, {
360
+ type: "exec";
361
+ timeoutSeconds: number;
362
+ intervalSeconds: number;
363
+ command: string[];
364
+ target?: string | undefined;
365
+ container?: string | undefined;
366
+ }, {
367
+ type: "exec";
368
+ command: string[];
369
+ target?: string | undefined;
370
+ timeoutSeconds?: number | undefined;
371
+ intervalSeconds?: number | undefined;
372
+ container?: string | undefined;
373
+ }>]>>;
374
+ }, "strict", z.ZodTypeAny, {
375
+ name: string;
376
+ workload: {
377
+ kind: "deployment" | "statefulset" | "daemonset";
378
+ name?: string | undefined;
379
+ };
380
+ readiness: {
381
+ path: string;
382
+ type: "http";
383
+ port: number;
384
+ expectedStatuses: number[];
385
+ scheme: "http" | "https";
386
+ timeoutSeconds: number;
387
+ intervalSeconds: number;
388
+ service?: string | undefined;
389
+ } | {
390
+ type: "tcp";
391
+ port: number;
392
+ timeoutSeconds: number;
393
+ intervalSeconds: number;
394
+ service?: string | undefined;
395
+ } | {
396
+ type: "exec";
397
+ timeoutSeconds: number;
398
+ intervalSeconds: number;
399
+ command: string[];
400
+ target?: string | undefined;
401
+ container?: string | undefined;
402
+ };
403
+ health?: {
404
+ path: string;
405
+ type: "http";
406
+ port: number;
407
+ expectedStatuses: number[];
408
+ scheme: "http" | "https";
409
+ timeoutSeconds: number;
410
+ intervalSeconds: number;
411
+ service?: string | undefined;
412
+ } | {
413
+ type: "tcp";
414
+ port: number;
415
+ timeoutSeconds: number;
416
+ intervalSeconds: number;
417
+ service?: string | undefined;
418
+ } | {
419
+ type: "exec";
420
+ timeoutSeconds: number;
421
+ intervalSeconds: number;
422
+ command: string[];
423
+ target?: string | undefined;
424
+ container?: string | undefined;
425
+ } | undefined;
426
+ }, {
427
+ name: string;
428
+ workload: {
429
+ kind: "deployment" | "statefulset" | "daemonset";
430
+ name?: string | undefined;
431
+ };
432
+ readiness: {
433
+ type: "http";
434
+ port: number;
435
+ path?: string | undefined;
436
+ expectedStatuses?: number[] | undefined;
437
+ service?: string | undefined;
438
+ scheme?: "http" | "https" | undefined;
439
+ timeoutSeconds?: number | undefined;
440
+ intervalSeconds?: number | undefined;
441
+ } | {
442
+ type: "tcp";
443
+ port: number;
444
+ service?: string | undefined;
445
+ timeoutSeconds?: number | undefined;
446
+ intervalSeconds?: number | undefined;
447
+ } | {
448
+ type: "exec";
449
+ command: string[];
450
+ target?: string | undefined;
451
+ timeoutSeconds?: number | undefined;
452
+ intervalSeconds?: number | undefined;
453
+ container?: string | undefined;
454
+ };
455
+ health?: {
456
+ type: "http";
457
+ port: number;
458
+ path?: string | undefined;
459
+ expectedStatuses?: number[] | undefined;
460
+ service?: string | undefined;
461
+ scheme?: "http" | "https" | undefined;
462
+ timeoutSeconds?: number | undefined;
463
+ intervalSeconds?: number | undefined;
464
+ } | {
465
+ type: "tcp";
466
+ port: number;
467
+ service?: string | undefined;
468
+ timeoutSeconds?: number | undefined;
469
+ intervalSeconds?: number | undefined;
470
+ } | {
471
+ type: "exec";
472
+ command: string[];
473
+ target?: string | undefined;
474
+ timeoutSeconds?: number | undefined;
475
+ intervalSeconds?: number | undefined;
476
+ container?: string | undefined;
477
+ } | undefined;
478
+ }>, "many">;
479
+ seeds: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
480
+ type: z.ZodLiteral<"exec">;
481
+ name: z.ZodString;
482
+ service: z.ZodString;
483
+ container: z.ZodOptional<z.ZodString>;
484
+ command: z.ZodArray<z.ZodString, "many">;
485
+ timeoutSeconds: z.ZodDefault<z.ZodNumber>;
486
+ }, "strict", z.ZodTypeAny, {
487
+ type: "exec";
488
+ name: string;
489
+ service: string;
490
+ timeoutSeconds: number;
491
+ command: string[];
492
+ container?: string | undefined;
493
+ }, {
494
+ type: "exec";
495
+ name: string;
496
+ service: string;
497
+ command: string[];
498
+ timeoutSeconds?: number | undefined;
499
+ container?: string | undefined;
500
+ }>, z.ZodObject<{
501
+ type: z.ZodLiteral<"job">;
502
+ name: z.ZodString;
503
+ manifest: z.ZodEffects<z.ZodString, string, string>;
504
+ job: z.ZodString;
505
+ timeoutSeconds: z.ZodDefault<z.ZodNumber>;
506
+ }, "strict", z.ZodTypeAny, {
507
+ type: "job";
508
+ name: string;
509
+ job: string;
510
+ timeoutSeconds: number;
511
+ manifest: string;
512
+ }, {
513
+ type: "job";
514
+ name: string;
515
+ job: string;
516
+ manifest: string;
517
+ timeoutSeconds?: number | undefined;
518
+ }>]>, "many">>;
519
+ endpoints: z.ZodDefault<z.ZodArray<z.ZodObject<{
520
+ name: z.ZodString;
521
+ service: z.ZodString;
522
+ port: z.ZodNumber;
523
+ protocol: z.ZodDefault<z.ZodEnum<["http", "https"]>>;
524
+ path: z.ZodDefault<z.ZodString>;
525
+ }, "strict", z.ZodTypeAny, {
526
+ path: string;
527
+ port: number;
528
+ name: string;
529
+ service: string;
530
+ protocol: "http" | "https";
531
+ }, {
532
+ port: number;
533
+ name: string;
534
+ service: string;
535
+ path?: string | undefined;
536
+ protocol?: "http" | "https" | undefined;
537
+ }>, "many">>;
538
+ /** Required when this descriptor participates in Factory's live merge gate. */
539
+ verification: z.ZodOptional<z.ZodObject<{
540
+ environmentTtlSeconds: z.ZodDefault<z.ZodNumber>;
541
+ e2e: z.ZodObject<{
542
+ image: z.ZodDefault<z.ZodString>;
543
+ command: z.ZodString;
544
+ args: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
545
+ env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
546
+ timeoutSeconds: z.ZodDefault<z.ZodNumber>;
547
+ }, "strict", z.ZodTypeAny, {
548
+ env: Record<string, string>;
549
+ timeoutSeconds: number;
550
+ command: string;
551
+ image: string;
552
+ args: string[];
553
+ }, {
554
+ command: string;
555
+ env?: Record<string, string> | undefined;
556
+ timeoutSeconds?: number | undefined;
557
+ image?: string | undefined;
558
+ args?: string[] | undefined;
559
+ }>;
560
+ load: z.ZodObject<{
561
+ profile: z.ZodEffects<z.ZodString, string, string>;
562
+ timeoutSeconds: z.ZodDefault<z.ZodNumber>;
563
+ k6Image: z.ZodOptional<z.ZodString>;
564
+ }, "strict", z.ZodTypeAny, {
565
+ profile: string;
566
+ timeoutSeconds: number;
567
+ k6Image?: string | undefined;
568
+ }, {
569
+ profile: string;
570
+ timeoutSeconds?: number | undefined;
571
+ k6Image?: string | undefined;
572
+ }>;
573
+ overallTimeoutSeconds: z.ZodDefault<z.ZodNumber>;
574
+ teardownTimeoutSeconds: z.ZodDefault<z.ZodNumber>;
575
+ }, "strict", z.ZodTypeAny, {
576
+ e2e: {
577
+ env: Record<string, string>;
578
+ timeoutSeconds: number;
579
+ command: string;
580
+ image: string;
581
+ args: string[];
582
+ };
583
+ load: {
584
+ profile: string;
585
+ timeoutSeconds: number;
586
+ k6Image?: string | undefined;
587
+ };
588
+ environmentTtlSeconds: number;
589
+ overallTimeoutSeconds: number;
590
+ teardownTimeoutSeconds: number;
591
+ }, {
592
+ e2e: {
593
+ command: string;
594
+ env?: Record<string, string> | undefined;
595
+ timeoutSeconds?: number | undefined;
596
+ image?: string | undefined;
597
+ args?: string[] | undefined;
598
+ };
599
+ load: {
600
+ profile: string;
601
+ timeoutSeconds?: number | undefined;
602
+ k6Image?: string | undefined;
603
+ };
604
+ environmentTtlSeconds?: number | undefined;
605
+ overallTimeoutSeconds?: number | undefined;
606
+ teardownTimeoutSeconds?: number | undefined;
607
+ }>>;
608
+ }, "strict", z.ZodTypeAny, {
609
+ kind: "VerificationStack";
610
+ services: {
611
+ name: string;
612
+ workload: {
613
+ kind: "deployment" | "statefulset" | "daemonset";
614
+ name?: string | undefined;
615
+ };
616
+ readiness: {
617
+ path: string;
618
+ type: "http";
619
+ port: number;
620
+ expectedStatuses: number[];
621
+ scheme: "http" | "https";
622
+ timeoutSeconds: number;
623
+ intervalSeconds: number;
624
+ service?: string | undefined;
625
+ } | {
626
+ type: "tcp";
627
+ port: number;
628
+ timeoutSeconds: number;
629
+ intervalSeconds: number;
630
+ service?: string | undefined;
631
+ } | {
632
+ type: "exec";
633
+ timeoutSeconds: number;
634
+ intervalSeconds: number;
635
+ command: string[];
636
+ target?: string | undefined;
637
+ container?: string | undefined;
638
+ };
639
+ health?: {
640
+ path: string;
641
+ type: "http";
642
+ port: number;
643
+ expectedStatuses: number[];
644
+ scheme: "http" | "https";
645
+ timeoutSeconds: number;
646
+ intervalSeconds: number;
647
+ service?: string | undefined;
648
+ } | {
649
+ type: "tcp";
650
+ port: number;
651
+ timeoutSeconds: number;
652
+ intervalSeconds: number;
653
+ service?: string | undefined;
654
+ } | {
655
+ type: "exec";
656
+ timeoutSeconds: number;
657
+ intervalSeconds: number;
658
+ command: string[];
659
+ target?: string | undefined;
660
+ container?: string | undefined;
661
+ } | undefined;
662
+ }[];
663
+ name: string;
664
+ source: {
665
+ type: "helm";
666
+ chart: string;
667
+ valuesFiles: string[];
668
+ release?: string | undefined;
669
+ } | {
670
+ path: string;
671
+ type: "kustomize";
672
+ } | {
673
+ type: "manifests";
674
+ paths: string[];
675
+ } | {
676
+ path: string;
677
+ type: "docker-compose";
678
+ };
679
+ apiVersion: "factory.agentworkforce.dev/v1alpha1";
680
+ endpoints: {
681
+ path: string;
682
+ port: number;
683
+ name: string;
684
+ service: string;
685
+ protocol: "http" | "https";
686
+ }[];
687
+ secrets: {
688
+ name: string;
689
+ data: Record<string, {
690
+ ref: string;
691
+ optional: boolean;
692
+ }>;
693
+ }[];
694
+ config: {
695
+ name: string;
696
+ data: Record<string, {
697
+ ref: string;
698
+ optional: boolean;
699
+ }>;
700
+ }[];
701
+ seeds: ({
702
+ type: "exec";
703
+ name: string;
704
+ service: string;
705
+ timeoutSeconds: number;
706
+ command: string[];
707
+ container?: string | undefined;
708
+ } | {
709
+ type: "job";
710
+ name: string;
711
+ job: string;
712
+ timeoutSeconds: number;
713
+ manifest: string;
714
+ })[];
715
+ verification?: {
716
+ e2e: {
717
+ env: Record<string, string>;
718
+ timeoutSeconds: number;
719
+ command: string;
720
+ image: string;
721
+ args: string[];
722
+ };
723
+ load: {
724
+ profile: string;
725
+ timeoutSeconds: number;
726
+ k6Image?: string | undefined;
727
+ };
728
+ environmentTtlSeconds: number;
729
+ overallTimeoutSeconds: number;
730
+ teardownTimeoutSeconds: number;
731
+ } | undefined;
732
+ }, {
733
+ kind: "VerificationStack";
734
+ services: {
735
+ name: string;
736
+ workload: {
737
+ kind: "deployment" | "statefulset" | "daemonset";
738
+ name?: string | undefined;
739
+ };
740
+ readiness: {
741
+ type: "http";
742
+ port: number;
743
+ path?: string | undefined;
744
+ expectedStatuses?: number[] | undefined;
745
+ service?: string | undefined;
746
+ scheme?: "http" | "https" | undefined;
747
+ timeoutSeconds?: number | undefined;
748
+ intervalSeconds?: number | undefined;
749
+ } | {
750
+ type: "tcp";
751
+ port: number;
752
+ service?: string | undefined;
753
+ timeoutSeconds?: number | undefined;
754
+ intervalSeconds?: number | undefined;
755
+ } | {
756
+ type: "exec";
757
+ command: string[];
758
+ target?: string | undefined;
759
+ timeoutSeconds?: number | undefined;
760
+ intervalSeconds?: number | undefined;
761
+ container?: string | undefined;
762
+ };
763
+ health?: {
764
+ type: "http";
765
+ port: number;
766
+ path?: string | undefined;
767
+ expectedStatuses?: number[] | undefined;
768
+ service?: string | undefined;
769
+ scheme?: "http" | "https" | undefined;
770
+ timeoutSeconds?: number | undefined;
771
+ intervalSeconds?: number | undefined;
772
+ } | {
773
+ type: "tcp";
774
+ port: number;
775
+ service?: string | undefined;
776
+ timeoutSeconds?: number | undefined;
777
+ intervalSeconds?: number | undefined;
778
+ } | {
779
+ type: "exec";
780
+ command: string[];
781
+ target?: string | undefined;
782
+ timeoutSeconds?: number | undefined;
783
+ intervalSeconds?: number | undefined;
784
+ container?: string | undefined;
785
+ } | undefined;
786
+ }[];
787
+ name: string;
788
+ source: {
789
+ type: "helm";
790
+ chart: string;
791
+ release?: string | undefined;
792
+ valuesFiles?: string[] | undefined;
793
+ } | {
794
+ path: string;
795
+ type: "kustomize";
796
+ } | {
797
+ type: "manifests";
798
+ paths: string[];
799
+ } | {
800
+ path: string;
801
+ type: "docker-compose";
802
+ };
803
+ apiVersion: "factory.agentworkforce.dev/v1alpha1";
804
+ verification?: {
805
+ e2e: {
806
+ command: string;
807
+ env?: Record<string, string> | undefined;
808
+ timeoutSeconds?: number | undefined;
809
+ image?: string | undefined;
810
+ args?: string[] | undefined;
811
+ };
812
+ load: {
813
+ profile: string;
814
+ timeoutSeconds?: number | undefined;
815
+ k6Image?: string | undefined;
816
+ };
817
+ environmentTtlSeconds?: number | undefined;
818
+ overallTimeoutSeconds?: number | undefined;
819
+ teardownTimeoutSeconds?: number | undefined;
820
+ } | undefined;
821
+ endpoints?: {
822
+ port: number;
823
+ name: string;
824
+ service: string;
825
+ path?: string | undefined;
826
+ protocol?: "http" | "https" | undefined;
827
+ }[] | undefined;
828
+ secrets?: {
829
+ name: string;
830
+ data: Record<string, {
831
+ ref: string;
832
+ optional?: boolean | undefined;
833
+ }>;
834
+ }[] | undefined;
835
+ config?: {
836
+ name: string;
837
+ data: Record<string, {
838
+ ref: string;
839
+ optional?: boolean | undefined;
840
+ }>;
841
+ }[] | undefined;
842
+ seeds?: ({
843
+ type: "exec";
844
+ name: string;
845
+ service: string;
846
+ command: string[];
847
+ timeoutSeconds?: number | undefined;
848
+ container?: string | undefined;
849
+ } | {
850
+ type: "job";
851
+ name: string;
852
+ job: string;
853
+ manifest: string;
854
+ timeoutSeconds?: number | undefined;
855
+ })[] | undefined;
856
+ }>, {
857
+ kind: "VerificationStack";
858
+ services: {
859
+ name: string;
860
+ workload: {
861
+ kind: "deployment" | "statefulset" | "daemonset";
862
+ name?: string | undefined;
863
+ };
864
+ readiness: {
865
+ path: string;
866
+ type: "http";
867
+ port: number;
868
+ expectedStatuses: number[];
869
+ scheme: "http" | "https";
870
+ timeoutSeconds: number;
871
+ intervalSeconds: number;
872
+ service?: string | undefined;
873
+ } | {
874
+ type: "tcp";
875
+ port: number;
876
+ timeoutSeconds: number;
877
+ intervalSeconds: number;
878
+ service?: string | undefined;
879
+ } | {
880
+ type: "exec";
881
+ timeoutSeconds: number;
882
+ intervalSeconds: number;
883
+ command: string[];
884
+ target?: string | undefined;
885
+ container?: string | undefined;
886
+ };
887
+ health?: {
888
+ path: string;
889
+ type: "http";
890
+ port: number;
891
+ expectedStatuses: number[];
892
+ scheme: "http" | "https";
893
+ timeoutSeconds: number;
894
+ intervalSeconds: number;
895
+ service?: string | undefined;
896
+ } | {
897
+ type: "tcp";
898
+ port: number;
899
+ timeoutSeconds: number;
900
+ intervalSeconds: number;
901
+ service?: string | undefined;
902
+ } | {
903
+ type: "exec";
904
+ timeoutSeconds: number;
905
+ intervalSeconds: number;
906
+ command: string[];
907
+ target?: string | undefined;
908
+ container?: string | undefined;
909
+ } | undefined;
910
+ }[];
911
+ name: string;
912
+ source: {
913
+ type: "helm";
914
+ chart: string;
915
+ valuesFiles: string[];
916
+ release?: string | undefined;
917
+ } | {
918
+ path: string;
919
+ type: "kustomize";
920
+ } | {
921
+ type: "manifests";
922
+ paths: string[];
923
+ } | {
924
+ path: string;
925
+ type: "docker-compose";
926
+ };
927
+ apiVersion: "factory.agentworkforce.dev/v1alpha1";
928
+ endpoints: {
929
+ path: string;
930
+ port: number;
931
+ name: string;
932
+ service: string;
933
+ protocol: "http" | "https";
934
+ }[];
935
+ secrets: {
936
+ name: string;
937
+ data: Record<string, {
938
+ ref: string;
939
+ optional: boolean;
940
+ }>;
941
+ }[];
942
+ config: {
943
+ name: string;
944
+ data: Record<string, {
945
+ ref: string;
946
+ optional: boolean;
947
+ }>;
948
+ }[];
949
+ seeds: ({
950
+ type: "exec";
951
+ name: string;
952
+ service: string;
953
+ timeoutSeconds: number;
954
+ command: string[];
955
+ container?: string | undefined;
956
+ } | {
957
+ type: "job";
958
+ name: string;
959
+ job: string;
960
+ timeoutSeconds: number;
961
+ manifest: string;
962
+ })[];
963
+ verification?: {
964
+ e2e: {
965
+ env: Record<string, string>;
966
+ timeoutSeconds: number;
967
+ command: string;
968
+ image: string;
969
+ args: string[];
970
+ };
971
+ load: {
972
+ profile: string;
973
+ timeoutSeconds: number;
974
+ k6Image?: string | undefined;
975
+ };
976
+ environmentTtlSeconds: number;
977
+ overallTimeoutSeconds: number;
978
+ teardownTimeoutSeconds: number;
979
+ } | undefined;
980
+ }, {
981
+ kind: "VerificationStack";
982
+ services: {
983
+ name: string;
984
+ workload: {
985
+ kind: "deployment" | "statefulset" | "daemonset";
986
+ name?: string | undefined;
987
+ };
988
+ readiness: {
989
+ type: "http";
990
+ port: number;
991
+ path?: string | undefined;
992
+ expectedStatuses?: number[] | undefined;
993
+ service?: string | undefined;
994
+ scheme?: "http" | "https" | undefined;
995
+ timeoutSeconds?: number | undefined;
996
+ intervalSeconds?: number | undefined;
997
+ } | {
998
+ type: "tcp";
999
+ port: number;
1000
+ service?: string | undefined;
1001
+ timeoutSeconds?: number | undefined;
1002
+ intervalSeconds?: number | undefined;
1003
+ } | {
1004
+ type: "exec";
1005
+ command: string[];
1006
+ target?: string | undefined;
1007
+ timeoutSeconds?: number | undefined;
1008
+ intervalSeconds?: number | undefined;
1009
+ container?: string | undefined;
1010
+ };
1011
+ health?: {
1012
+ type: "http";
1013
+ port: number;
1014
+ path?: string | undefined;
1015
+ expectedStatuses?: number[] | undefined;
1016
+ service?: string | undefined;
1017
+ scheme?: "http" | "https" | undefined;
1018
+ timeoutSeconds?: number | undefined;
1019
+ intervalSeconds?: number | undefined;
1020
+ } | {
1021
+ type: "tcp";
1022
+ port: number;
1023
+ service?: string | undefined;
1024
+ timeoutSeconds?: number | undefined;
1025
+ intervalSeconds?: number | undefined;
1026
+ } | {
1027
+ type: "exec";
1028
+ command: string[];
1029
+ target?: string | undefined;
1030
+ timeoutSeconds?: number | undefined;
1031
+ intervalSeconds?: number | undefined;
1032
+ container?: string | undefined;
1033
+ } | undefined;
1034
+ }[];
1035
+ name: string;
1036
+ source: {
1037
+ type: "helm";
1038
+ chart: string;
1039
+ release?: string | undefined;
1040
+ valuesFiles?: string[] | undefined;
1041
+ } | {
1042
+ path: string;
1043
+ type: "kustomize";
1044
+ } | {
1045
+ type: "manifests";
1046
+ paths: string[];
1047
+ } | {
1048
+ path: string;
1049
+ type: "docker-compose";
1050
+ };
1051
+ apiVersion: "factory.agentworkforce.dev/v1alpha1";
1052
+ verification?: {
1053
+ e2e: {
1054
+ command: string;
1055
+ env?: Record<string, string> | undefined;
1056
+ timeoutSeconds?: number | undefined;
1057
+ image?: string | undefined;
1058
+ args?: string[] | undefined;
1059
+ };
1060
+ load: {
1061
+ profile: string;
1062
+ timeoutSeconds?: number | undefined;
1063
+ k6Image?: string | undefined;
1064
+ };
1065
+ environmentTtlSeconds?: number | undefined;
1066
+ overallTimeoutSeconds?: number | undefined;
1067
+ teardownTimeoutSeconds?: number | undefined;
1068
+ } | undefined;
1069
+ endpoints?: {
1070
+ port: number;
1071
+ name: string;
1072
+ service: string;
1073
+ path?: string | undefined;
1074
+ protocol?: "http" | "https" | undefined;
1075
+ }[] | undefined;
1076
+ secrets?: {
1077
+ name: string;
1078
+ data: Record<string, {
1079
+ ref: string;
1080
+ optional?: boolean | undefined;
1081
+ }>;
1082
+ }[] | undefined;
1083
+ config?: {
1084
+ name: string;
1085
+ data: Record<string, {
1086
+ ref: string;
1087
+ optional?: boolean | undefined;
1088
+ }>;
1089
+ }[] | undefined;
1090
+ seeds?: ({
1091
+ type: "exec";
1092
+ name: string;
1093
+ service: string;
1094
+ command: string[];
1095
+ timeoutSeconds?: number | undefined;
1096
+ container?: string | undefined;
1097
+ } | {
1098
+ type: "job";
1099
+ name: string;
1100
+ job: string;
1101
+ manifest: string;
1102
+ timeoutSeconds?: number | undefined;
1103
+ })[] | undefined;
1104
+ }>;
1105
+ export type VerificationProbe = z.infer<typeof VerificationProbeSchema>;
1106
+ export type VerificationStackSource = z.infer<typeof VerificationStackSourceSchema>;
1107
+ export type VerificationStackDescriptor = z.infer<typeof VerificationStackDescriptorSchema>;
1108
+ export type VerificationStackService = VerificationStackDescriptor['services'][number];
1109
+ export type VerificationStackSeed = VerificationStackDescriptor['seeds'][number];
1110
+ export type VerificationStackEndpoint = VerificationStackDescriptor['endpoints'][number];
1111
+ export type VerificationStackReferenceGroup = VerificationStackDescriptor['secrets'][number];
1112
+ export type VerificationGateDescriptor = NonNullable<VerificationStackDescriptor['verification']>;
1113
+ export interface LoadedVerificationStack {
1114
+ descriptor: VerificationStackDescriptor;
1115
+ descriptorPath: string;
1116
+ rootDir: string;
1117
+ ref?: string;
1118
+ }
1119
+ export interface ResolveVerificationStackOptions {
1120
+ repoPath: string;
1121
+ ref?: string;
1122
+ descriptorPath?: string;
1123
+ commandRunner?: CommandRunner;
1124
+ }
1125
+ export declare class VerificationStackDescriptorError extends Error {
1126
+ constructor(message: string, options?: ErrorOptions);
1127
+ }
1128
+ export declare function loadVerificationStack(input: unknown, source?: string): VerificationStackDescriptor;
1129
+ export declare function parseVerificationStack(text: string, source?: string): VerificationStackDescriptor;
1130
+ export declare function loadVerificationStackFile(filePath: string): Promise<LoadedVerificationStack>;
1131
+ /** Resolve the default or overridden descriptor from a checkout or an arbitrary Git ref. */
1132
+ export declare function resolveVerificationStackDescriptor(options: ResolveVerificationStackOptions): Promise<LoadedVerificationStack>;
1133
+ export declare function resolveVerificationStackAsset(rootDir: string, assetPath: string): string;
1134
+ //# sourceMappingURL=verification-stack-descriptor.d.ts.map