agent-hitch 0.2.13 → 0.2.15

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 (132) hide show
  1. package/benchmark-packages/automationbench/RESOURCES.md +27 -0
  2. package/benchmark-packages/automationbench/resources.mjs +86 -0
  3. package/benchmark-packages/shared-tree/README.md +14 -0
  4. package/benchmark-packages/shared-tree/import.mjs +39 -0
  5. package/dist/scripts/canary-automation-resources.js +86 -0
  6. package/dist/scripts/canary-automation-resources.js.map +1 -0
  7. package/dist/scripts/canary-resource-empty-daemon.js +195 -0
  8. package/dist/scripts/canary-resource-empty-daemon.js.map +1 -0
  9. package/dist/scripts/canary-resources.js +89 -0
  10. package/dist/scripts/canary-resources.js.map +1 -0
  11. package/dist/scripts/check-architecture.js +6 -5
  12. package/dist/scripts/check-architecture.js.map +1 -1
  13. package/dist/scripts/resource-space-sampler.js +83 -0
  14. package/dist/scripts/resource-space-sampler.js.map +1 -0
  15. package/dist/src/backends/harbor/backend.js +5 -1
  16. package/dist/src/backends/harbor/backend.js.map +1 -1
  17. package/dist/src/backends/harbor/resource-admission.js +23 -0
  18. package/dist/src/backends/harbor/resource-admission.js.map +1 -0
  19. package/dist/src/cli/commands/resources.js +23 -0
  20. package/dist/src/cli/commands/resources.js.map +1 -0
  21. package/dist/src/cli/main.js +2 -0
  22. package/dist/src/cli/main.js.map +1 -1
  23. package/dist/src/control-plane/remote-offer-contract.js +11 -2
  24. package/dist/src/control-plane/remote-offer-contract.js.map +1 -1
  25. package/dist/src/control-plane/remote-result-transport.js +10 -0
  26. package/dist/src/control-plane/remote-result-transport.js.map +1 -1
  27. package/dist/src/control-plane/remote-work-coordinator.js +4 -1
  28. package/dist/src/control-plane/remote-work-coordinator.js.map +1 -1
  29. package/dist/src/control-plane/remote-work-inputs.js +16 -4
  30. package/dist/src/control-plane/remote-work-inputs.js.map +1 -1
  31. package/dist/src/control-plane/remote-worker-client.js +22 -0
  32. package/dist/src/control-plane/remote-worker-client.js.map +1 -1
  33. package/dist/src/control-plane/remote-worker-codecs.js +1 -1
  34. package/dist/src/control-plane/remote-worker-codecs.js.map +1 -1
  35. package/dist/src/control-plane/remote-worker-protocol.js +12 -2
  36. package/dist/src/control-plane/remote-worker-protocol.js.map +1 -1
  37. package/dist/src/control-plane/remote-worker-runner.js +1 -1
  38. package/dist/src/control-plane/remote-worker-runner.js.map +1 -1
  39. package/dist/src/control-plane/remote-workers.js +2 -1
  40. package/dist/src/control-plane/remote-workers.js.map +1 -1
  41. package/dist/src/evals/benchmark-adapter-manifest.js +4 -0
  42. package/dist/src/evals/benchmark-adapter-manifest.js.map +1 -1
  43. package/dist/src/evals/benchmark-candidate.js +11 -3
  44. package/dist/src/evals/benchmark-candidate.js.map +1 -1
  45. package/dist/src/evals/eval-result-builder.js +22 -1
  46. package/dist/src/evals/eval-result-builder.js.map +1 -1
  47. package/dist/src/evals/index.js +1 -0
  48. package/dist/src/evals/index.js.map +1 -1
  49. package/dist/src/evals/planned-execution.js +5 -14
  50. package/dist/src/evals/planned-execution.js.map +1 -1
  51. package/dist/src/evals/request.js +9 -0
  52. package/dist/src/evals/request.js.map +1 -1
  53. package/dist/src/evals/resource-eval-lifecycle.js +31 -0
  54. package/dist/src/evals/resource-eval-lifecycle.js.map +1 -0
  55. package/dist/src/evals/resource-legacy-export.js +57 -0
  56. package/dist/src/evals/resource-legacy-export.js.map +1 -0
  57. package/dist/src/evals/service.js +5 -20
  58. package/dist/src/evals/service.js.map +1 -1
  59. package/dist/src/evals/task-resources.js +12 -4
  60. package/dist/src/evals/task-resources.js.map +1 -1
  61. package/dist/src/evals/trial-bundle-files.js +81 -0
  62. package/dist/src/evals/trial-bundle-files.js.map +1 -0
  63. package/dist/src/evals/trial-import.js +7 -78
  64. package/dist/src/evals/trial-import.js.map +1 -1
  65. package/dist/src/foundation/durable-json.js +33 -0
  66. package/dist/src/foundation/durable-json.js.map +1 -0
  67. package/dist/src/foundation/index.js +2 -0
  68. package/dist/src/foundation/index.js.map +1 -1
  69. package/dist/src/foundation/resource-image-references.js +52 -0
  70. package/dist/src/foundation/resource-image-references.js.map +1 -0
  71. package/dist/src/images/gc.js +2 -2
  72. package/dist/src/images/gc.js.map +1 -1
  73. package/dist/src/images/registry.js +27 -2
  74. package/dist/src/images/registry.js.map +1 -1
  75. package/dist/src/resources/api.js +207 -0
  76. package/dist/src/resources/api.js.map +1 -0
  77. package/dist/src/resources/bundle.js +117 -0
  78. package/dist/src/resources/bundle.js.map +1 -0
  79. package/dist/src/resources/evidence.js +93 -0
  80. package/dist/src/resources/evidence.js.map +1 -0
  81. package/dist/src/resources/gc.js +123 -0
  82. package/dist/src/resources/gc.js.map +1 -0
  83. package/dist/src/resources/index.js +14 -0
  84. package/dist/src/resources/index.js.map +1 -0
  85. package/dist/src/resources/materialize.js +143 -0
  86. package/dist/src/resources/materialize.js.map +1 -0
  87. package/dist/src/resources/object-store.js +191 -0
  88. package/dist/src/resources/object-store.js.map +1 -0
  89. package/dist/src/resources/oci-layer-validation.js +202 -0
  90. package/dist/src/resources/oci-layer-validation.js.map +1 -0
  91. package/dist/src/resources/oci-provider.js +101 -0
  92. package/dist/src/resources/oci-provider.js.map +1 -0
  93. package/dist/src/resources/oci-registry-bundle.js +253 -0
  94. package/dist/src/resources/oci-registry-bundle.js.map +1 -0
  95. package/dist/src/resources/protocol.js +222 -0
  96. package/dist/src/resources/protocol.js.map +1 -0
  97. package/dist/src/resources/result-retention.js +93 -0
  98. package/dist/src/resources/result-retention.js.map +1 -0
  99. package/dist/src/resources/role-context.js +54 -0
  100. package/dist/src/resources/role-context.js.map +1 -0
  101. package/dist/src/resources/stats.js +36 -0
  102. package/dist/src/resources/stats.js.map +1 -0
  103. package/dist/src/resources/store.js +310 -0
  104. package/dist/src/resources/store.js.map +1 -0
  105. package/dist/src/resources/tasks.js +153 -0
  106. package/dist/src/resources/tasks.js.map +1 -0
  107. package/dist/src/resources/transfer.js +162 -0
  108. package/dist/src/resources/transfer.js.map +1 -0
  109. package/dist/src/resources/views.js +130 -0
  110. package/dist/src/resources/views.js.map +1 -0
  111. package/dist/src/runs/adapter-process.js +10 -0
  112. package/dist/src/runs/adapter-process.js.map +1 -1
  113. package/dist/src/runs/executor.js +2 -2
  114. package/dist/src/runs/executor.js.map +1 -1
  115. package/dist/src/trajectories/providers/deepseek.js +6 -1
  116. package/dist/src/trajectories/providers/deepseek.js.map +1 -1
  117. package/dist/src/workers/remote-harbor-work-spec.js +9 -3
  118. package/dist/src/workers/remote-harbor-work-spec.js.map +1 -1
  119. package/dist/src/workers/remote-harbor-worker.js +24 -9
  120. package/dist/src/workers/remote-harbor-worker.js.map +1 -1
  121. package/docs/resource-storage.zh-CN.md +95 -0
  122. package/docs/schemas/execution-provider-status.schema.json +20 -0
  123. package/docs/schemas/hitch-resource-dataset-v2.schema.json +590 -0
  124. package/docs/schemas/hitch-resource-lock-v1.schema.json +341 -0
  125. package/docs/schemas/hitch-resource-plan-v1.schema.json +423 -0
  126. package/docs/schemas/hitch-resource-selection-v1.schema.json +608 -0
  127. package/docs/schemas/hitch-tree-v1.schema.json +75 -0
  128. package/docs/schemas/remote-harbor-work-spec.schema.json +47 -3
  129. package/docs/schemas/remote-work-offer.schema.json +2 -1
  130. package/docs/schemas/remote-worker-registration.schema.json +20 -0
  131. package/package.json +9 -3
  132. package/test-contracts/hitch-resources-v1.json +197 -0
@@ -0,0 +1,423 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://hitch.dev/schemas/hitch-resource-plan-v1.schema.json",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "properties": {
7
+ "protocol": {
8
+ "const": "hitch-resource-plan@1"
9
+ },
10
+ "resolver": {
11
+ "const": "hitch-resource-resolver@1"
12
+ },
13
+ "backend": {
14
+ "const": "harbor-role-context@1"
15
+ },
16
+ "platform": {
17
+ "type": "string",
18
+ "pattern": "^linux/(amd64|arm64)(/v[0-9]+)?$"
19
+ },
20
+ "task": {
21
+ "type": "object",
22
+ "additionalProperties": false,
23
+ "properties": {
24
+ "task_id": {
25
+ "type": "string",
26
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,127}$"
27
+ },
28
+ "source_task_digest": {
29
+ "type": "string",
30
+ "pattern": "^sha256:[a-f0-9]{64}$"
31
+ },
32
+ "resource_closure_digest": {
33
+ "type": "string",
34
+ "pattern": "^sha256:[a-f0-9]{64}$"
35
+ },
36
+ "task_digest": {
37
+ "type": "string",
38
+ "pattern": "^sha256:[a-f0-9]{64}$"
39
+ },
40
+ "sourceTree": {
41
+ "type": "object",
42
+ "additionalProperties": false,
43
+ "properties": {
44
+ "kind": {
45
+ "const": "tree"
46
+ },
47
+ "format": {
48
+ "const": "hitch-tree@1"
49
+ },
50
+ "manifestDigest": {
51
+ "type": "string",
52
+ "pattern": "^sha256:[a-f0-9]{64}$"
53
+ }
54
+ },
55
+ "required": [
56
+ "kind",
57
+ "format",
58
+ "manifestDigest"
59
+ ]
60
+ },
61
+ "lock": {
62
+ "type": "object",
63
+ "additionalProperties": false,
64
+ "properties": {
65
+ "protocol": {
66
+ "const": "hitch-resource-lock@1"
67
+ },
68
+ "resources": {
69
+ "type": "object",
70
+ "propertyNames": {
71
+ "type": "string",
72
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,127}$"
73
+ },
74
+ "additionalProperties": {
75
+ "oneOf": [
76
+ {
77
+ "type": "object",
78
+ "additionalProperties": false,
79
+ "properties": {
80
+ "kind": {
81
+ "const": "blob"
82
+ },
83
+ "digest": {
84
+ "type": "string",
85
+ "pattern": "^sha256:[a-f0-9]{64}$"
86
+ },
87
+ "size": {
88
+ "type": "integer",
89
+ "minimum": 0,
90
+ "maximum": 9007199254740991
91
+ }
92
+ },
93
+ "required": [
94
+ "kind",
95
+ "digest",
96
+ "size"
97
+ ]
98
+ },
99
+ {
100
+ "type": "object",
101
+ "additionalProperties": false,
102
+ "properties": {
103
+ "kind": {
104
+ "const": "tree"
105
+ },
106
+ "format": {
107
+ "const": "hitch-tree@1"
108
+ },
109
+ "manifestDigest": {
110
+ "type": "string",
111
+ "pattern": "^sha256:[a-f0-9]{64}$"
112
+ }
113
+ },
114
+ "required": [
115
+ "kind",
116
+ "format",
117
+ "manifestDigest"
118
+ ]
119
+ },
120
+ {
121
+ "type": "object",
122
+ "additionalProperties": false,
123
+ "properties": {
124
+ "kind": {
125
+ "const": "oci-image"
126
+ },
127
+ "manifestDigest": {
128
+ "type": "string",
129
+ "pattern": "^sha256:[a-f0-9]{64}$"
130
+ },
131
+ "platform": {
132
+ "type": "string",
133
+ "pattern": "^linux/(amd64|arm64)(/v[0-9]+)?$"
134
+ },
135
+ "indexDigest": {
136
+ "type": "string",
137
+ "pattern": "^sha256:[a-f0-9]{64}$"
138
+ }
139
+ },
140
+ "required": [
141
+ "kind",
142
+ "manifestDigest",
143
+ "platform"
144
+ ]
145
+ }
146
+ ]
147
+ }
148
+ },
149
+ "bindings": {
150
+ "type": "array",
151
+ "items": {
152
+ "oneOf": [
153
+ {
154
+ "type": "object",
155
+ "additionalProperties": false,
156
+ "properties": {
157
+ "resource": {
158
+ "type": "string",
159
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,127}$"
160
+ },
161
+ "consumer": {
162
+ "oneOf": [
163
+ {
164
+ "type": "object",
165
+ "additionalProperties": false,
166
+ "properties": {
167
+ "role": {
168
+ "const": "candidate"
169
+ }
170
+ },
171
+ "required": [
172
+ "role"
173
+ ]
174
+ },
175
+ {
176
+ "type": "object",
177
+ "additionalProperties": false,
178
+ "properties": {
179
+ "role": {
180
+ "const": "verifier"
181
+ }
182
+ },
183
+ "required": [
184
+ "role"
185
+ ]
186
+ },
187
+ {
188
+ "type": "object",
189
+ "additionalProperties": false,
190
+ "properties": {
191
+ "role": {
192
+ "const": "service"
193
+ },
194
+ "serviceId": {
195
+ "type": "string",
196
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,127}$"
197
+ }
198
+ },
199
+ "required": [
200
+ "role",
201
+ "serviceId"
202
+ ]
203
+ }
204
+ ]
205
+ },
206
+ "use": {
207
+ "const": "input-file"
208
+ },
209
+ "target": {
210
+ "type": "string",
211
+ "minLength": 1,
212
+ "maxLength": 4096,
213
+ "pattern": "^(?!/)(?!.*(?:^|/)\\.\\.?(/|$))(?!.*[\\\\\\u0000-\\u001f\\u007f:])(?!.*//)(?!.*[/ ]$).+"
214
+ },
215
+ "executable": {
216
+ "type": "boolean"
217
+ },
218
+ "access": {
219
+ "enum": [
220
+ "read-only",
221
+ "private-copy"
222
+ ]
223
+ }
224
+ },
225
+ "required": [
226
+ "resource",
227
+ "consumer",
228
+ "use",
229
+ "target",
230
+ "executable",
231
+ "access"
232
+ ]
233
+ },
234
+ {
235
+ "type": "object",
236
+ "additionalProperties": false,
237
+ "properties": {
238
+ "resource": {
239
+ "type": "string",
240
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,127}$"
241
+ },
242
+ "consumer": {
243
+ "oneOf": [
244
+ {
245
+ "type": "object",
246
+ "additionalProperties": false,
247
+ "properties": {
248
+ "role": {
249
+ "const": "candidate"
250
+ }
251
+ },
252
+ "required": [
253
+ "role"
254
+ ]
255
+ },
256
+ {
257
+ "type": "object",
258
+ "additionalProperties": false,
259
+ "properties": {
260
+ "role": {
261
+ "const": "verifier"
262
+ }
263
+ },
264
+ "required": [
265
+ "role"
266
+ ]
267
+ },
268
+ {
269
+ "type": "object",
270
+ "additionalProperties": false,
271
+ "properties": {
272
+ "role": {
273
+ "const": "service"
274
+ },
275
+ "serviceId": {
276
+ "type": "string",
277
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,127}$"
278
+ }
279
+ },
280
+ "required": [
281
+ "role",
282
+ "serviceId"
283
+ ]
284
+ }
285
+ ]
286
+ },
287
+ "use": {
288
+ "const": "input-tree"
289
+ },
290
+ "target": {
291
+ "type": "string",
292
+ "minLength": 1,
293
+ "maxLength": 4096,
294
+ "pattern": "^(?!/)(?!.*(?:^|/)\\.\\.?(/|$))(?!.*[\\\\\\u0000-\\u001f\\u007f:])(?!.*//)(?!.*[/ ]$).+"
295
+ },
296
+ "access": {
297
+ "enum": [
298
+ "read-only",
299
+ "private-copy"
300
+ ]
301
+ }
302
+ },
303
+ "required": [
304
+ "resource",
305
+ "consumer",
306
+ "use",
307
+ "target",
308
+ "access"
309
+ ]
310
+ },
311
+ {
312
+ "type": "object",
313
+ "additionalProperties": false,
314
+ "properties": {
315
+ "resource": {
316
+ "type": "string",
317
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,127}$"
318
+ },
319
+ "consumer": {
320
+ "oneOf": [
321
+ {
322
+ "type": "object",
323
+ "additionalProperties": false,
324
+ "properties": {
325
+ "role": {
326
+ "const": "candidate"
327
+ }
328
+ },
329
+ "required": [
330
+ "role"
331
+ ]
332
+ },
333
+ {
334
+ "type": "object",
335
+ "additionalProperties": false,
336
+ "properties": {
337
+ "role": {
338
+ "const": "verifier"
339
+ }
340
+ },
341
+ "required": [
342
+ "role"
343
+ ]
344
+ },
345
+ {
346
+ "type": "object",
347
+ "additionalProperties": false,
348
+ "properties": {
349
+ "role": {
350
+ "const": "service"
351
+ },
352
+ "serviceId": {
353
+ "type": "string",
354
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_.-]{0,127}$"
355
+ }
356
+ },
357
+ "required": [
358
+ "role",
359
+ "serviceId"
360
+ ]
361
+ }
362
+ ]
363
+ },
364
+ "use": {
365
+ "const": "environment-image"
366
+ },
367
+ "slot": {
368
+ "enum": [
369
+ "runtime",
370
+ "build-base"
371
+ ]
372
+ }
373
+ },
374
+ "required": [
375
+ "resource",
376
+ "consumer",
377
+ "use",
378
+ "slot"
379
+ ]
380
+ }
381
+ ]
382
+ }
383
+ },
384
+ "requiredCapabilities": {
385
+ "type": "array",
386
+ "uniqueItems": true,
387
+ "items": {
388
+ "type": "string",
389
+ "pattern": "^[a-z][a-z0-9-]*@[1-9][0-9]*$"
390
+ }
391
+ }
392
+ },
393
+ "required": [
394
+ "protocol",
395
+ "resources",
396
+ "bindings",
397
+ "requiredCapabilities"
398
+ ]
399
+ }
400
+ },
401
+ "required": [
402
+ "task_id",
403
+ "source_task_digest",
404
+ "resource_closure_digest",
405
+ "task_digest",
406
+ "sourceTree",
407
+ "lock"
408
+ ]
409
+ },
410
+ "digest": {
411
+ "type": "string",
412
+ "pattern": "^sha256:[a-f0-9]{64}$"
413
+ }
414
+ },
415
+ "required": [
416
+ "protocol",
417
+ "resolver",
418
+ "backend",
419
+ "platform",
420
+ "task",
421
+ "digest"
422
+ ]
423
+ }