@agent-relay/factory 0.1.50 → 0.1.52

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 (177) 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 +1362 -65
  131. package/dist/orchestrator/factory.js.map +1 -1
  132. package/dist/orchestrator/failure-classifier.d.ts +13 -0
  133. package/dist/orchestrator/failure-classifier.d.ts.map +1 -0
  134. package/dist/orchestrator/failure-classifier.js +14 -0
  135. package/dist/orchestrator/failure-classifier.js.map +1 -0
  136. package/dist/orchestrator/index.d.ts +2 -1
  137. package/dist/orchestrator/index.d.ts.map +1 -1
  138. package/dist/orchestrator/index.js +1 -1
  139. package/dist/orchestrator/index.js.map +1 -1
  140. package/dist/orchestrator/reaper.d.ts +24 -0
  141. package/dist/orchestrator/reaper.d.ts.map +1 -1
  142. package/dist/orchestrator/reaper.js +117 -0
  143. package/dist/orchestrator/reaper.js.map +1 -1
  144. package/dist/ports/environment.d.ts +83 -0
  145. package/dist/ports/environment.d.ts.map +1 -0
  146. package/dist/ports/environment.js +2 -0
  147. package/dist/ports/environment.js.map +1 -0
  148. package/dist/ports/fleet.d.ts +68 -1
  149. package/dist/ports/fleet.d.ts.map +1 -1
  150. package/dist/ports/index.d.ts +3 -2
  151. package/dist/ports/index.d.ts.map +1 -1
  152. package/dist/ports/mount.d.ts +9 -0
  153. package/dist/ports/mount.d.ts.map +1 -1
  154. package/dist/ports/state.d.ts +17 -1
  155. package/dist/ports/state.d.ts.map +1 -1
  156. package/dist/ports/worktree.d.ts +14 -0
  157. package/dist/ports/worktree.d.ts.map +1 -1
  158. package/dist/state/file-state-store.js +28 -1
  159. package/dist/state/file-state-store.js.map +1 -1
  160. package/dist/subscriptions/index.d.ts +2 -0
  161. package/dist/subscriptions/index.d.ts.map +1 -1
  162. package/dist/subscriptions/index.js +1 -0
  163. package/dist/subscriptions/index.js.map +1 -1
  164. package/dist/subscriptions/resource-subscriptions.d.ts +77 -0
  165. package/dist/subscriptions/resource-subscriptions.d.ts.map +1 -0
  166. package/dist/subscriptions/resource-subscriptions.js +91 -0
  167. package/dist/subscriptions/resource-subscriptions.js.map +1 -0
  168. package/dist/testing/fakes.d.ts +9 -1
  169. package/dist/testing/fakes.d.ts.map +1 -1
  170. package/dist/testing/fakes.js +40 -0
  171. package/dist/testing/fakes.js.map +1 -1
  172. package/dist/triage/schema.d.ts +32 -32
  173. package/dist/types.d.ts +4 -1
  174. package/dist/types.d.ts.map +1 -1
  175. package/package.json +18 -4
  176. package/schemas/kubernetes-environment-stack.schema.json +86 -0
  177. package/schemas/verification-stack.schema.json +292 -0
@@ -0,0 +1,292 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agentworkforce.github.io/factory/schemas/verification-stack.schema.json",
4
+ "title": "Factory verification stack",
5
+ "description": "Repository-owned contract for deploying and health-gating a verification stack.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": ["apiVersion", "kind", "name", "source", "services"],
9
+ "properties": {
10
+ "apiVersion": { "const": "factory.agentworkforce.dev/v1alpha1" },
11
+ "kind": { "const": "VerificationStack" },
12
+ "name": { "$ref": "#/$defs/dnsName" },
13
+ "source": { "$ref": "#/$defs/source" },
14
+ "secrets": {
15
+ "type": "array",
16
+ "default": [],
17
+ "items": { "$ref": "#/$defs/referenceGroup" }
18
+ },
19
+ "config": {
20
+ "type": "array",
21
+ "default": [],
22
+ "items": { "$ref": "#/$defs/referenceGroup" }
23
+ },
24
+ "services": {
25
+ "type": "array",
26
+ "minItems": 1,
27
+ "items": { "$ref": "#/$defs/service" }
28
+ },
29
+ "seeds": {
30
+ "type": "array",
31
+ "default": [],
32
+ "items": { "$ref": "#/$defs/seed" }
33
+ },
34
+ "endpoints": {
35
+ "type": "array",
36
+ "default": [],
37
+ "items": { "$ref": "#/$defs/endpoint" }
38
+ },
39
+ "verification": {
40
+ "$ref": "#/$defs/verification"
41
+ }
42
+ },
43
+ "$defs": {
44
+ "dnsName": {
45
+ "type": "string",
46
+ "minLength": 1,
47
+ "maxLength": 63,
48
+ "pattern": "^[a-z0-9](?:[-a-z0-9]*[a-z0-9])?$"
49
+ },
50
+ "relativePath": {
51
+ "type": "string",
52
+ "minLength": 1,
53
+ "pattern": "^(?![/\\\\])(?![A-Za-z]:)(?!.*(?:^|[/\\\\])\\.\\.(?:[/\\\\]|$)).+$",
54
+ "description": "Path relative to the repository root. Absolute paths and '..' segments are forbidden."
55
+ },
56
+ "port": {
57
+ "type": "integer",
58
+ "minimum": 1,
59
+ "maximum": 65535
60
+ },
61
+ "source": {
62
+ "oneOf": [
63
+ {
64
+ "type": "object",
65
+ "additionalProperties": false,
66
+ "required": ["type", "chart"],
67
+ "properties": {
68
+ "type": { "const": "helm" },
69
+ "chart": { "type": "string", "minLength": 1 },
70
+ "release": { "$ref": "#/$defs/dnsName" },
71
+ "valuesFiles": {
72
+ "type": "array",
73
+ "default": [],
74
+ "items": { "$ref": "#/$defs/relativePath" }
75
+ }
76
+ }
77
+ },
78
+ {
79
+ "type": "object",
80
+ "additionalProperties": false,
81
+ "required": ["type", "path"],
82
+ "properties": {
83
+ "type": { "const": "kustomize" },
84
+ "path": { "$ref": "#/$defs/relativePath" }
85
+ }
86
+ },
87
+ {
88
+ "type": "object",
89
+ "additionalProperties": false,
90
+ "required": ["type", "paths"],
91
+ "properties": {
92
+ "type": { "const": "manifests" },
93
+ "paths": {
94
+ "type": "array",
95
+ "minItems": 1,
96
+ "items": { "$ref": "#/$defs/relativePath" }
97
+ }
98
+ }
99
+ },
100
+ {
101
+ "type": "object",
102
+ "additionalProperties": false,
103
+ "required": ["type", "path"],
104
+ "properties": {
105
+ "type": { "const": "docker-compose" },
106
+ "path": { "$ref": "#/$defs/relativePath" }
107
+ }
108
+ }
109
+ ]
110
+ },
111
+ "reference": {
112
+ "type": "object",
113
+ "additionalProperties": false,
114
+ "required": ["ref"],
115
+ "properties": {
116
+ "ref": { "type": "string", "minLength": 1, "pattern": "\\S" },
117
+ "optional": { "type": "boolean", "default": false }
118
+ }
119
+ },
120
+ "referenceGroup": {
121
+ "type": "object",
122
+ "additionalProperties": false,
123
+ "required": ["name", "data"],
124
+ "properties": {
125
+ "name": { "$ref": "#/$defs/dnsName" },
126
+ "data": {
127
+ "type": "object",
128
+ "minProperties": 1,
129
+ "propertyNames": {
130
+ "minLength": 1,
131
+ "maxLength": 253,
132
+ "pattern": "^[A-Za-z0-9._-]+$"
133
+ },
134
+ "additionalProperties": { "$ref": "#/$defs/reference" }
135
+ }
136
+ }
137
+ },
138
+ "probe": {
139
+ "oneOf": [
140
+ {
141
+ "type": "object",
142
+ "additionalProperties": false,
143
+ "required": ["type", "port"],
144
+ "properties": {
145
+ "type": { "const": "http" },
146
+ "service": { "$ref": "#/$defs/dnsName" },
147
+ "port": { "$ref": "#/$defs/port" },
148
+ "path": { "type": "string", "pattern": "^/", "default": "/" },
149
+ "scheme": { "enum": ["http", "https"], "default": "http" },
150
+ "expectedStatuses": {
151
+ "type": "array",
152
+ "minItems": 1,
153
+ "default": [200],
154
+ "items": { "type": "integer", "minimum": 100, "maximum": 599 }
155
+ },
156
+ "timeoutSeconds": { "type": "integer", "minimum": 1, "maximum": 3600, "default": 120 },
157
+ "intervalSeconds": { "type": "number", "minimum": 0.1, "maximum": 60, "default": 2 }
158
+ }
159
+ },
160
+ {
161
+ "type": "object",
162
+ "additionalProperties": false,
163
+ "required": ["type", "port"],
164
+ "properties": {
165
+ "type": { "const": "tcp" },
166
+ "service": { "$ref": "#/$defs/dnsName" },
167
+ "port": { "$ref": "#/$defs/port" },
168
+ "timeoutSeconds": { "type": "integer", "minimum": 1, "maximum": 3600, "default": 120 },
169
+ "intervalSeconds": { "type": "number", "minimum": 0.1, "maximum": 60, "default": 2 }
170
+ }
171
+ },
172
+ {
173
+ "type": "object",
174
+ "additionalProperties": false,
175
+ "required": ["type", "command"],
176
+ "properties": {
177
+ "type": { "const": "exec" },
178
+ "target": { "type": "string", "minLength": 1 },
179
+ "container": { "$ref": "#/$defs/dnsName" },
180
+ "command": {
181
+ "type": "array",
182
+ "minItems": 1,
183
+ "items": { "type": "string", "minLength": 1 }
184
+ },
185
+ "timeoutSeconds": { "type": "integer", "minimum": 1, "maximum": 3600, "default": 120 },
186
+ "intervalSeconds": { "type": "number", "minimum": 0.1, "maximum": 60, "default": 2 }
187
+ }
188
+ }
189
+ ]
190
+ },
191
+ "service": {
192
+ "type": "object",
193
+ "additionalProperties": false,
194
+ "required": ["name", "workload", "readiness"],
195
+ "properties": {
196
+ "name": { "$ref": "#/$defs/dnsName" },
197
+ "workload": {
198
+ "type": "object",
199
+ "additionalProperties": false,
200
+ "required": ["kind"],
201
+ "properties": {
202
+ "kind": { "enum": ["deployment", "statefulset", "daemonset"] },
203
+ "name": { "$ref": "#/$defs/dnsName" }
204
+ }
205
+ },
206
+ "readiness": { "$ref": "#/$defs/probe" },
207
+ "health": { "$ref": "#/$defs/probe" }
208
+ }
209
+ },
210
+ "seed": {
211
+ "oneOf": [
212
+ {
213
+ "type": "object",
214
+ "additionalProperties": false,
215
+ "required": ["type", "name", "service", "command"],
216
+ "properties": {
217
+ "type": { "const": "exec" },
218
+ "name": { "$ref": "#/$defs/dnsName" },
219
+ "service": { "$ref": "#/$defs/dnsName" },
220
+ "container": { "$ref": "#/$defs/dnsName" },
221
+ "command": {
222
+ "type": "array",
223
+ "minItems": 1,
224
+ "items": { "type": "string", "minLength": 1 }
225
+ },
226
+ "timeoutSeconds": { "type": "integer", "minimum": 1, "maximum": 3600, "default": 120 }
227
+ }
228
+ },
229
+ {
230
+ "type": "object",
231
+ "additionalProperties": false,
232
+ "required": ["type", "name", "manifest", "job"],
233
+ "properties": {
234
+ "type": { "const": "job" },
235
+ "name": { "$ref": "#/$defs/dnsName" },
236
+ "manifest": { "$ref": "#/$defs/relativePath" },
237
+ "job": { "$ref": "#/$defs/dnsName" },
238
+ "timeoutSeconds": { "type": "integer", "minimum": 1, "maximum": 3600, "default": 120 }
239
+ }
240
+ }
241
+ ]
242
+ },
243
+ "endpoint": {
244
+ "type": "object",
245
+ "additionalProperties": false,
246
+ "required": ["name", "service", "port"],
247
+ "properties": {
248
+ "name": { "$ref": "#/$defs/dnsName" },
249
+ "service": { "$ref": "#/$defs/dnsName" },
250
+ "port": { "$ref": "#/$defs/port" },
251
+ "protocol": { "enum": ["http", "https"], "default": "http" },
252
+ "path": { "type": "string", "pattern": "^/", "default": "/" }
253
+ }
254
+ },
255
+ "verification": {
256
+ "type": "object",
257
+ "additionalProperties": false,
258
+ "required": ["e2e", "load"],
259
+ "properties": {
260
+ "environmentTtlSeconds": { "type": "integer", "minimum": 1, "maximum": 86400, "default": 900 },
261
+ "e2e": {
262
+ "type": "object",
263
+ "additionalProperties": false,
264
+ "required": ["command"],
265
+ "properties": {
266
+ "image": {
267
+ "type": "string",
268
+ "pattern": "@sha256:[a-f0-9]{64}$",
269
+ "default": "node:22.17.0-alpine3.22@sha256:fc3e945f920b7e3000cd1af86c4ae406ec70c72f328b667baf0f3a8910d69eed"
270
+ },
271
+ "command": { "type": "string", "minLength": 1, "pattern": "\\S" },
272
+ "args": { "type": "array", "default": [], "items": { "type": "string" } },
273
+ "env": { "type": "object", "default": {}, "additionalProperties": { "type": "string" } },
274
+ "timeoutSeconds": { "type": "integer", "minimum": 1, "maximum": 3600, "default": 300 }
275
+ }
276
+ },
277
+ "load": {
278
+ "type": "object",
279
+ "additionalProperties": false,
280
+ "required": ["profile"],
281
+ "properties": {
282
+ "profile": { "$ref": "#/$defs/relativePath" },
283
+ "timeoutSeconds": { "type": "integer", "minimum": 1, "maximum": 3600, "default": 300 },
284
+ "k6Image": { "type": "string", "pattern": "@sha256:[a-f0-9]{64}$" }
285
+ }
286
+ },
287
+ "overallTimeoutSeconds": { "type": "integer", "minimum": 1, "maximum": 7200, "default": 900 },
288
+ "teardownTimeoutSeconds": { "type": "integer", "minimum": 1, "maximum": 1800, "default": 120 }
289
+ }
290
+ }
291
+ }
292
+ }