@apexops/contracts 0.10.0-next.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 (101) hide show
  1. package/dist/.tsbuildinfo +1 -0
  2. package/dist/artifacts.d.ts +60 -0
  3. package/dist/artifacts.d.ts.map +1 -0
  4. package/dist/artifacts.js +46 -0
  5. package/dist/artifacts.js.map +1 -0
  6. package/dist/common.d.ts +22 -0
  7. package/dist/common.d.ts.map +1 -0
  8. package/dist/common.js +23 -0
  9. package/dist/common.js.map +1 -0
  10. package/dist/deployment.d.ts +100 -0
  11. package/dist/deployment.d.ts.map +1 -0
  12. package/dist/deployment.js +108 -0
  13. package/dist/deployment.js.map +1 -0
  14. package/dist/evidence.d.ts +256 -0
  15. package/dist/evidence.d.ts.map +1 -0
  16. package/dist/evidence.js +382 -0
  17. package/dist/evidence.js.map +1 -0
  18. package/dist/export-schemas.d.ts +2 -0
  19. package/dist/export-schemas.d.ts.map +1 -0
  20. package/dist/export-schemas.js +53 -0
  21. package/dist/export-schemas.js.map +1 -0
  22. package/dist/improvement.d.ts +92 -0
  23. package/dist/improvement.d.ts.map +1 -0
  24. package/dist/improvement.js +119 -0
  25. package/dist/improvement.js.map +1 -0
  26. package/dist/index.d.ts +983 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +128 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/onboarding.d.ts +15 -0
  31. package/dist/onboarding.d.ts.map +1 -0
  32. package/dist/onboarding.js +17 -0
  33. package/dist/onboarding.js.map +1 -0
  34. package/dist/pricing.d.ts +130 -0
  35. package/dist/pricing.d.ts.map +1 -0
  36. package/dist/pricing.js +355 -0
  37. package/dist/pricing.js.map +1 -0
  38. package/dist/runtime.d.ts +284 -0
  39. package/dist/runtime.d.ts.map +1 -0
  40. package/dist/runtime.js +196 -0
  41. package/dist/runtime.js.map +1 -0
  42. package/dist/schema-export.d.ts +15 -0
  43. package/dist/schema-export.d.ts.map +1 -0
  44. package/dist/schema-export.js +49 -0
  45. package/dist/schema-export.js.map +1 -0
  46. package/dist/targets.d.ts +359 -0
  47. package/dist/targets.d.ts.map +1 -0
  48. package/dist/targets.js +394 -0
  49. package/dist/targets.js.map +1 -0
  50. package/dist/test/contracts.test.d.ts +2 -0
  51. package/dist/test/contracts.test.d.ts.map +1 -0
  52. package/dist/test/contracts.test.js +867 -0
  53. package/dist/test/contracts.test.js.map +1 -0
  54. package/package.json +45 -0
  55. package/schemas/approval-evidence-v1.schema.json +172 -0
  56. package/schemas/architecture-availability-v1.schema.json +155 -0
  57. package/schemas/architecture-v1.schema.json +107 -0
  58. package/schemas/capability-pack-manifest-v1.schema.json +59 -0
  59. package/schemas/client-outcome-comparison-v1.schema.json +195 -0
  60. package/schemas/client-outcome-qualification-v1.schema.json +190 -0
  61. package/schemas/client-outcome-v1.schema.json +513 -0
  62. package/schemas/contract-metadata.json +232 -0
  63. package/schemas/cost-estimate-v1.schema.json +165 -0
  64. package/schemas/customization-lock-v1.schema.json +63 -0
  65. package/schemas/deployment-preview-v1.schema.json +180 -0
  66. package/schemas/diagnosis-v1.schema.json +111 -0
  67. package/schemas/environment-inputs-v1.schema.json +106 -0
  68. package/schemas/event-v1.schema.json +74 -0
  69. package/schemas/evidence-manifest-v1.schema.json +111 -0
  70. package/schemas/execution-plan-attestation-v1.schema.json +145 -0
  71. package/schemas/governance-constraints-v1.schema.json +103 -0
  72. package/schemas/iac-binding-v1.schema.json +74 -0
  73. package/schemas/iac-handoff-v1.schema.json +83 -0
  74. package/schemas/implementation-intent-v1.schema.json +89 -0
  75. package/schemas/improvement-decision-v1.schema.json +62 -0
  76. package/schemas/improvement-observation-v1.schema.json +166 -0
  77. package/schemas/improvement-policy-v1.schema.json +204 -0
  78. package/schemas/improvement-proposal-v1.schema.json +144 -0
  79. package/schemas/improvement-recurrence-v1.schema.json +130 -0
  80. package/schemas/input-request-v1.schema.json +242 -0
  81. package/schemas/input-submission-v1.schema.json +205 -0
  82. package/schemas/live-qualification-v1.schema.json +295 -0
  83. package/schemas/logical-resource-manifest-v1.schema.json +123 -0
  84. package/schemas/onboarding-config-v1.schema.json +59 -0
  85. package/schemas/operation-record-v1.schema.json +112 -0
  86. package/schemas/policy-property-map-v1.schema.json +108 -0
  87. package/schemas/pricing-evidence-v1.schema.json +628 -0
  88. package/schemas/pricing-request-v1.schema.json +424 -0
  89. package/schemas/project-config-v1.schema.json +43 -0
  90. package/schemas/quality-measurements-v1.schema.json +54 -0
  91. package/schemas/quality-report-v1.schema.json +114 -0
  92. package/schemas/quality-scorecard-v1.schema.json +109 -0
  93. package/schemas/requirements-v1.schema.json +108 -0
  94. package/schemas/resource-inventory-v1.schema.json +74 -0
  95. package/schemas/review-findings-v1.schema.json +126 -0
  96. package/schemas/run-config-v1.schema.json +133 -0
  97. package/schemas/runtime-bundle-lock-v1.schema.json +59 -0
  98. package/schemas/scenario-v1.schema.json +55 -0
  99. package/schemas/task-envelope-v1.schema.json +122 -0
  100. package/schemas/telemetry-v1.schema.json +117 -0
  101. package/schemas/workload-decision-manifest-v1.schema.json +320 -0
@@ -0,0 +1,513 @@
1
+ {
2
+ "$id": "https://schemas.apexops.dev/client-outcome-v1.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "additionalProperties": false,
5
+ "properties": {
6
+ "candidate": {
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "branch": {
10
+ "maxLength": 128,
11
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._/-]{0,127}$",
12
+ "type": "string"
13
+ },
14
+ "commit": {
15
+ "pattern": "^[0-9a-f]{40}$",
16
+ "type": "string"
17
+ },
18
+ "customizationBundleHash": {
19
+ "pattern": "^[0-9a-f]{64}$",
20
+ "type": "string"
21
+ },
22
+ "packageLockHash": {
23
+ "pattern": "^[0-9a-f]{64}$",
24
+ "type": "string"
25
+ },
26
+ "releaseManifestHash": {
27
+ "pattern": "^[0-9a-f]{64}$",
28
+ "type": "string"
29
+ },
30
+ "repository": {
31
+ "maxLength": 128,
32
+ "pattern": "^[a-z0-9_.-]+/[a-z0-9_.-]+$",
33
+ "type": "string"
34
+ },
35
+ "runtimeBundleHash": {
36
+ "pattern": "^[0-9a-f]{64}$",
37
+ "type": "string"
38
+ },
39
+ "scenarioCorpusHash": {
40
+ "pattern": "^[0-9a-f]{64}$",
41
+ "type": "string"
42
+ },
43
+ "toolchainHash": {
44
+ "pattern": "^[0-9a-f]{64}$",
45
+ "type": "string"
46
+ }
47
+ },
48
+ "required": [
49
+ "repository",
50
+ "branch",
51
+ "commit",
52
+ "packageLockHash",
53
+ "releaseManifestHash",
54
+ "runtimeBundleHash",
55
+ "customizationBundleHash",
56
+ "scenarioCorpusHash",
57
+ "toolchainHash"
58
+ ],
59
+ "type": "object"
60
+ },
61
+ "client": {
62
+ "additionalProperties": false,
63
+ "properties": {
64
+ "architecture": {
65
+ "anyOf": [
66
+ {
67
+ "const": "x64",
68
+ "type": "string"
69
+ },
70
+ {
71
+ "const": "arm64",
72
+ "type": "string"
73
+ }
74
+ ]
75
+ },
76
+ "binarySha256": {
77
+ "pattern": "^[0-9a-f]{64}$",
78
+ "type": "string"
79
+ },
80
+ "extensionVersion": {
81
+ "maxLength": 32,
82
+ "pattern": "^[0-9]+(?:\\.[0-9]+){1,3}(?:-[0-9A-Za-z.-]+)?$",
83
+ "type": "string"
84
+ },
85
+ "id": {
86
+ "anyOf": [
87
+ {
88
+ "const": "github-copilot-vscode",
89
+ "type": "string"
90
+ },
91
+ {
92
+ "const": "github-copilot-cli",
93
+ "type": "string"
94
+ }
95
+ ]
96
+ },
97
+ "os": {
98
+ "anyOf": [
99
+ {
100
+ "const": "linux",
101
+ "type": "string"
102
+ },
103
+ {
104
+ "const": "macos",
105
+ "type": "string"
106
+ },
107
+ {
108
+ "const": "windows",
109
+ "type": "string"
110
+ }
111
+ ]
112
+ },
113
+ "version": {
114
+ "maxLength": 32,
115
+ "pattern": "^[0-9]+(?:\\.[0-9]+){1,3}(?:-[0-9A-Za-z.-]+)?$",
116
+ "type": "string"
117
+ }
118
+ },
119
+ "required": [
120
+ "id",
121
+ "version",
122
+ "os",
123
+ "architecture"
124
+ ],
125
+ "type": "object"
126
+ },
127
+ "disposition": {
128
+ "anyOf": [
129
+ {
130
+ "additionalProperties": false,
131
+ "properties": {
132
+ "reasonCode": {
133
+ "maxLength": 64,
134
+ "pattern": "^[A-Z][A-Z0-9_]{0,63}$",
135
+ "type": "string"
136
+ },
137
+ "status": {
138
+ "anyOf": [
139
+ {
140
+ "const": "pass",
141
+ "type": "string"
142
+ },
143
+ {
144
+ "const": "fail",
145
+ "type": "string"
146
+ }
147
+ ]
148
+ }
149
+ },
150
+ "required": [
151
+ "status"
152
+ ],
153
+ "type": "object"
154
+ },
155
+ {
156
+ "additionalProperties": false,
157
+ "properties": {
158
+ "nextActionCode": {
159
+ "maxLength": 64,
160
+ "pattern": "^[A-Z][A-Z0-9_]{0,63}$",
161
+ "type": "string"
162
+ },
163
+ "ownerCode": {
164
+ "maxLength": 64,
165
+ "pattern": "^[A-Z][A-Z0-9_]{0,63}$",
166
+ "type": "string"
167
+ },
168
+ "reasonCode": {
169
+ "maxLength": 64,
170
+ "pattern": "^[A-Z][A-Z0-9_]{0,63}$",
171
+ "type": "string"
172
+ },
173
+ "status": {
174
+ "const": "unavailable",
175
+ "type": "string"
176
+ }
177
+ },
178
+ "required": [
179
+ "status",
180
+ "reasonCode",
181
+ "ownerCode",
182
+ "nextActionCode"
183
+ ],
184
+ "type": "object"
185
+ }
186
+ ]
187
+ },
188
+ "evidence": {
189
+ "additionalProperties": false,
190
+ "properties": {
191
+ "attestationHash": {
192
+ "pattern": "^[0-9a-f]{64}$",
193
+ "type": "string"
194
+ },
195
+ "contentCapture": {
196
+ "const": false,
197
+ "type": "boolean"
198
+ },
199
+ "refs": {
200
+ "items": {
201
+ "pattern": "^[0-9a-f]{64}$",
202
+ "type": "string"
203
+ },
204
+ "maxItems": 32,
205
+ "minItems": 1,
206
+ "type": "array",
207
+ "uniqueItems": true
208
+ },
209
+ "sourceDigest": {
210
+ "pattern": "^[0-9a-f]{64}$",
211
+ "type": "string"
212
+ }
213
+ },
214
+ "required": [
215
+ "sourceDigest",
216
+ "attestationHash",
217
+ "refs",
218
+ "contentCapture"
219
+ ],
220
+ "type": "object"
221
+ },
222
+ "evidenceKind": {
223
+ "anyOf": [
224
+ {
225
+ "const": "fixture",
226
+ "type": "string"
227
+ },
228
+ {
229
+ "const": "live",
230
+ "type": "string"
231
+ }
232
+ ]
233
+ },
234
+ "execution": {
235
+ "additionalProperties": false,
236
+ "properties": {
237
+ "ownerEpoch": {
238
+ "minimum": 0,
239
+ "type": "integer"
240
+ },
241
+ "projectId": {
242
+ "allOf": [
243
+ {
244
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
245
+ "type": "string"
246
+ },
247
+ {
248
+ "maxLength": 64,
249
+ "type": "string"
250
+ }
251
+ ]
252
+ },
253
+ "rawJournalHead": {
254
+ "pattern": "^[0-9a-f]{64}$",
255
+ "type": "string"
256
+ },
257
+ "rawJournalSourceDigest": {
258
+ "pattern": "^[0-9a-f]{64}$",
259
+ "type": "string"
260
+ },
261
+ "runId": {
262
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,127}$",
263
+ "type": "string"
264
+ },
265
+ "semanticJournalHash": {
266
+ "pattern": "^[0-9a-f]{64}$",
267
+ "type": "string"
268
+ },
269
+ "taskId": {
270
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,127}$",
271
+ "type": "string"
272
+ },
273
+ "taskState": {
274
+ "anyOf": [
275
+ {
276
+ "const": "completed",
277
+ "type": "string"
278
+ },
279
+ {
280
+ "const": "failed",
281
+ "type": "string"
282
+ },
283
+ {
284
+ "const": "blocked",
285
+ "type": "string"
286
+ },
287
+ {
288
+ "const": "unavailable",
289
+ "type": "string"
290
+ }
291
+ ]
292
+ },
293
+ "workflowNode": {
294
+ "maxLength": 64,
295
+ "pattern": "^[a-z][a-z0-9.-]{0,63}$",
296
+ "type": "string"
297
+ }
298
+ },
299
+ "required": [
300
+ "projectId",
301
+ "runId",
302
+ "workflowNode",
303
+ "taskId",
304
+ "taskState",
305
+ "rawJournalHead",
306
+ "rawJournalSourceDigest",
307
+ "semanticJournalHash",
308
+ "ownerEpoch"
309
+ ],
310
+ "type": "object"
311
+ },
312
+ "observations": {
313
+ "additionalProperties": false,
314
+ "properties": {
315
+ "artifacts": {
316
+ "maxProperties": 32,
317
+ "patternProperties": {
318
+ "^[a-z][a-z0-9.-]{0,63}$": {
319
+ "pattern": "^[0-9a-f]{64}$",
320
+ "type": "string"
321
+ }
322
+ },
323
+ "type": "object"
324
+ },
325
+ "assertions": {
326
+ "maxProperties": 32,
327
+ "patternProperties": {
328
+ "^[a-z][a-z0-9.-]{0,63}$": {
329
+ "anyOf": [
330
+ {
331
+ "const": "pass",
332
+ "type": "string"
333
+ },
334
+ {
335
+ "const": "fail",
336
+ "type": "string"
337
+ },
338
+ {
339
+ "const": "unavailable",
340
+ "type": "string"
341
+ }
342
+ ]
343
+ }
344
+ },
345
+ "type": "object"
346
+ },
347
+ "denialCodes": {
348
+ "items": {
349
+ "maxLength": 64,
350
+ "pattern": "^[A-Z][A-Z0-9_]{0,63}$",
351
+ "type": "string"
352
+ },
353
+ "maxItems": 32,
354
+ "type": "array",
355
+ "uniqueItems": true
356
+ },
357
+ "evidence": {
358
+ "maxProperties": 32,
359
+ "patternProperties": {
360
+ "^[a-z][a-z0-9.-]{0,63}$": {
361
+ "pattern": "^[0-9a-f]{64}$",
362
+ "type": "string"
363
+ }
364
+ },
365
+ "type": "object"
366
+ },
367
+ "gates": {
368
+ "items": {
369
+ "additionalProperties": false,
370
+ "properties": {
371
+ "gate": {
372
+ "maximum": 4,
373
+ "minimum": 1,
374
+ "type": "integer"
375
+ },
376
+ "state": {
377
+ "anyOf": [
378
+ {
379
+ "const": "approved",
380
+ "type": "string"
381
+ },
382
+ {
383
+ "const": "denied",
384
+ "type": "string"
385
+ },
386
+ {
387
+ "const": "pending",
388
+ "type": "string"
389
+ },
390
+ {
391
+ "const": "not-applicable",
392
+ "type": "string"
393
+ }
394
+ ]
395
+ }
396
+ },
397
+ "required": [
398
+ "gate",
399
+ "state"
400
+ ],
401
+ "type": "object"
402
+ },
403
+ "maxItems": 4,
404
+ "type": "array",
405
+ "uniqueItems": true
406
+ },
407
+ "transfer": {
408
+ "additionalProperties": false,
409
+ "properties": {
410
+ "ownerEpochDelta": {
411
+ "type": "integer"
412
+ },
413
+ "result": {
414
+ "anyOf": [
415
+ {
416
+ "const": "succeeded",
417
+ "type": "string"
418
+ },
419
+ {
420
+ "const": "denied",
421
+ "type": "string"
422
+ },
423
+ {
424
+ "const": "not-applicable",
425
+ "type": "string"
426
+ }
427
+ ]
428
+ }
429
+ },
430
+ "required": [
431
+ "result",
432
+ "ownerEpochDelta"
433
+ ],
434
+ "type": "object"
435
+ }
436
+ },
437
+ "required": [
438
+ "gates",
439
+ "artifacts",
440
+ "evidence",
441
+ "denialCodes",
442
+ "transfer",
443
+ "assertions"
444
+ ],
445
+ "type": "object"
446
+ },
447
+ "outcomeId": {
448
+ "pattern": "^[0-9a-f]{64}$",
449
+ "type": "string"
450
+ },
451
+ "scenarioId": {
452
+ "anyOf": [
453
+ {
454
+ "const": "CLIENT-001",
455
+ "type": "string"
456
+ },
457
+ {
458
+ "const": "CLIENT-002",
459
+ "type": "string"
460
+ },
461
+ {
462
+ "const": "CLIENT-003",
463
+ "type": "string"
464
+ },
465
+ {
466
+ "const": "CLIENT-004",
467
+ "type": "string"
468
+ },
469
+ {
470
+ "const": "CLIENT-005",
471
+ "type": "string"
472
+ },
473
+ {
474
+ "const": "CLIENT-006",
475
+ "type": "string"
476
+ },
477
+ {
478
+ "const": "CLIENT-007",
479
+ "type": "string"
480
+ },
481
+ {
482
+ "const": "CLIENT-008",
483
+ "type": "string"
484
+ },
485
+ {
486
+ "const": "CLIENT-009",
487
+ "type": "string"
488
+ },
489
+ {
490
+ "const": "CLIENT-010",
491
+ "type": "string"
492
+ }
493
+ ]
494
+ },
495
+ "schemaVersion": {
496
+ "const": "1.0.0",
497
+ "type": "string"
498
+ }
499
+ },
500
+ "required": [
501
+ "schemaVersion",
502
+ "scenarioId",
503
+ "evidenceKind",
504
+ "candidate",
505
+ "client",
506
+ "execution",
507
+ "observations",
508
+ "disposition",
509
+ "evidence",
510
+ "outcomeId"
511
+ ],
512
+ "type": "object"
513
+ }