@claudexor/schema 4.7.0 → 4.8.1

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 (174) hide show
  1. package/dist/account-resources.d.ts +37 -37
  2. package/dist/account-routing-evidence.d.ts +14 -14
  3. package/dist/attachment.d.ts +178 -0
  4. package/dist/attachment.d.ts.map +1 -1
  5. package/dist/attachment.js +46 -0
  6. package/dist/attachment.js.map +1 -1
  7. package/dist/captured-run-start.d.ts +1105 -0
  8. package/dist/captured-run-start.d.ts.map +1 -0
  9. package/dist/captured-run-start.js +41 -0
  10. package/dist/captured-run-start.js.map +1 -0
  11. package/dist/command-summary.d.ts +1 -1
  12. package/dist/command-summary.d.ts.map +1 -1
  13. package/dist/command-summary.js +1 -0
  14. package/dist/command-summary.js.map +1 -1
  15. package/dist/control-harness-models.js +1 -1
  16. package/dist/control-harness-models.js.map +1 -1
  17. package/dist/control-operation-responses.d.ts +201 -9
  18. package/dist/control-operation-responses.d.ts.map +1 -1
  19. package/dist/control-operation-responses.js +7 -1
  20. package/dist/control-operation-responses.js.map +1 -1
  21. package/dist/control-run-detail.d.ts +277 -19
  22. package/dist/control-run-detail.d.ts.map +1 -1
  23. package/dist/control-run-detail.js +2 -0
  24. package/dist/control-run-detail.js.map +1 -1
  25. package/dist/control-run-failure.d.ts +29 -4
  26. package/dist/control-run-failure.d.ts.map +1 -1
  27. package/dist/control-run-failure.js +3 -0
  28. package/dist/control-run-failure.js.map +1 -1
  29. package/dist/control-run-retry.d.ts +31 -0
  30. package/dist/control-run-retry.d.ts.map +1 -1
  31. package/dist/control-run-retry.js +12 -1
  32. package/dist/control-run-retry.js.map +1 -1
  33. package/dist/control.d.ts +69 -5
  34. package/dist/control.d.ts.map +1 -1
  35. package/dist/control.js +3 -7
  36. package/dist/control.js.map +1 -1
  37. package/dist/credential-profile-snapshot.d.ts +28 -28
  38. package/dist/credential-profile.d.ts +1 -1
  39. package/dist/credential-profile.js +2 -2
  40. package/dist/credential-profile.js.map +1 -1
  41. package/dist/credential-store.d.ts +3 -2
  42. package/dist/credential-store.d.ts.map +1 -1
  43. package/dist/credential-store.js +5 -4
  44. package/dist/credential-store.js.map +1 -1
  45. package/dist/deferred-message.d.ts +2450 -0
  46. package/dist/deferred-message.d.ts.map +1 -0
  47. package/dist/deferred-message.js +186 -0
  48. package/dist/deferred-message.js.map +1 -0
  49. package/dist/events.d.ts +3 -3
  50. package/dist/events.js +1 -1
  51. package/dist/events.js.map +1 -1
  52. package/dist/harness-input.d.ts +15 -0
  53. package/dist/harness-input.d.ts.map +1 -1
  54. package/dist/harness-input.js +10 -1
  55. package/dist/harness-input.js.map +1 -1
  56. package/dist/harness-model.d.ts +65 -0
  57. package/dist/harness-model.d.ts.map +1 -1
  58. package/dist/harness-model.js +42 -0
  59. package/dist/harness-model.js.map +1 -1
  60. package/dist/harness-quota.d.ts +3 -3
  61. package/dist/harness.d.ts +61 -9
  62. package/dist/harness.d.ts.map +1 -1
  63. package/dist/harness.js +2 -2
  64. package/dist/harness.js.map +1 -1
  65. package/dist/index.d.ts +8 -0
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +8 -0
  68. package/dist/index.js.map +1 -1
  69. package/dist/mcp-run-result.d.ts +356 -12
  70. package/dist/mcp-run-result.d.ts.map +1 -1
  71. package/dist/mcp-run-result.js +5 -0
  72. package/dist/mcp-run-result.js.map +1 -1
  73. package/dist/mcp-run-wait.d.ts +133 -0
  74. package/dist/mcp-run-wait.d.ts.map +1 -1
  75. package/dist/mcp-run-wait.js +4 -0
  76. package/dist/mcp-run-wait.js.map +1 -1
  77. package/dist/mcp-upload.d.ts +133 -0
  78. package/dist/mcp-upload.d.ts.map +1 -0
  79. package/dist/mcp-upload.js +40 -0
  80. package/dist/mcp-upload.js.map +1 -0
  81. package/dist/quota-read.d.ts +8 -8
  82. package/dist/quota.d.ts +26 -20
  83. package/dist/quota.d.ts.map +1 -1
  84. package/dist/quota.js +11 -1
  85. package/dist/quota.js.map +1 -1
  86. package/dist/run-observation.d.ts +189 -0
  87. package/dist/run-observation.d.ts.map +1 -0
  88. package/dist/run-observation.js +93 -0
  89. package/dist/run-observation.js.map +1 -0
  90. package/dist/setup-login.d.ts +5 -5
  91. package/dist/setup.d.ts +63 -63
  92. package/dist/setup.d.ts.map +1 -1
  93. package/dist/setup.js +1 -1
  94. package/dist/setup.js.map +1 -1
  95. package/dist/task-group-runs.d.ts +257 -0
  96. package/dist/task-group-runs.d.ts.map +1 -0
  97. package/dist/task-group-runs.js +91 -0
  98. package/dist/task-group-runs.js.map +1 -0
  99. package/dist/task-group.d.ts +23 -0
  100. package/dist/task-group.d.ts.map +1 -0
  101. package/dist/task-group.js +38 -0
  102. package/dist/task-group.js.map +1 -0
  103. package/dist/telemetry.d.ts +136 -8
  104. package/dist/telemetry.d.ts.map +1 -1
  105. package/dist/telemetry.js +2 -5
  106. package/dist/telemetry.js.map +1 -1
  107. package/dist/thread-history.d.ts +12553 -0
  108. package/dist/thread-history.d.ts.map +1 -0
  109. package/dist/thread-history.js +291 -0
  110. package/dist/thread-history.js.map +1 -0
  111. package/generated/ControlAccountResetResponse.schema.json +1 -0
  112. package/generated/ControlAccountResourcesFreshnessResponse.schema.json +1 -0
  113. package/generated/ControlAccountResourcesResponse.schema.json +1 -0
  114. package/generated/ControlCredentialProfileCreateRequest.schema.json +1 -1
  115. package/generated/ControlCredentialProfilesQueryResponse.schema.json +1 -0
  116. package/generated/ControlCredentialProfilesResourcesResponse.schema.json +1 -0
  117. package/generated/ControlCredentialProfilesSnapshotResponse.schema.json +1 -0
  118. package/generated/ControlQueuedRunInfo.schema.json +10 -0
  119. package/generated/ControlQuotaFreshnessResponse.schema.json +1 -0
  120. package/generated/ControlQuotaQueryResponse.schema.json +1 -0
  121. package/generated/ControlQuotaResponse.schema.json +1 -0
  122. package/generated/ControlRunAgainDraft.schema.json +5 -0
  123. package/generated/ControlRunControlResponse.schema.json +169 -0
  124. package/generated/ControlRunDetail.schema.json +208 -1
  125. package/generated/ControlRunListResponse.schema.json +31 -1
  126. package/generated/ControlRunRetryResponse.schema.json +10 -0
  127. package/generated/ControlRunStartInfo.schema.json +10 -0
  128. package/generated/ControlRunStartRequest.schema.json +5 -0
  129. package/generated/ControlRunStartResponse.schema.json +18 -0
  130. package/generated/ControlRunSummary.schema.json +31 -1
  131. package/generated/ControlSetupJob.schema.json +2 -1
  132. package/generated/ControlSetupJobCreateRequest.schema.json +2 -1
  133. package/generated/ControlSetupJobEvent.schema.json +2 -1
  134. package/generated/ControlSetupJobListFilter.schema.json +2 -1
  135. package/generated/ControlSetupJobListResponse.schema.json +2 -1
  136. package/generated/ControlSetupJobSnapshot.schema.json +2 -1
  137. package/generated/ControlUploadImport.schema.json +124 -0
  138. package/generated/ControlUploadImportRequest.schema.json +66 -0
  139. package/generated/DeferredMessageCall.schema.json +331 -0
  140. package/generated/DeferredMessageDetail.schema.json +917 -0
  141. package/generated/DeferredMessageMutation.schema.json +315 -0
  142. package/generated/DeferredMessageProjection.schema.json +177 -0
  143. package/generated/DeferredMessageReadInput.schema.json +20 -0
  144. package/generated/DeferredMessageReadResult.schema.json +399 -0
  145. package/generated/DeferredMessageReceipt.schema.json +193 -0
  146. package/generated/HarnessEvent.schema.json +75 -1
  147. package/generated/McpAccountsToolResult.schema.json +1 -0
  148. package/generated/McpRunHandleResult.schema.json +226 -19
  149. package/generated/McpRunToolResult.schema.json +228 -11
  150. package/generated/McpRunWaitResult.schema.json +180 -2
  151. package/generated/McpStoreIdentityInput.schema.json +11 -0
  152. package/generated/McpUploadCreateInput.schema.json +54 -0
  153. package/generated/McpUploadFinalizeInput.schema.json +40 -0
  154. package/generated/McpUploadImportInput.schema.json +52 -0
  155. package/generated/McpUploadImportLocalInput.schema.json +27 -0
  156. package/generated/McpUploadImportLocalResult.schema.json +45 -0
  157. package/generated/McpUploadTargetInput.schema.json +20 -0
  158. package/generated/ResourceAttachmentRef.schema.json +21 -0
  159. package/generated/RoutePrimaryDivergedPayload.schema.json +23 -14
  160. package/generated/RunFailure.schema.json +31 -1
  161. package/generated/RunObservationRecord.schema.json +64 -0
  162. package/generated/RunTelemetry.schema.json +83 -1
  163. package/generated/RunWaitManyInput.schema.json +47 -0
  164. package/generated/RunWaitManyResult.schema.json +110 -0
  165. package/generated/RunWaitManySummary.schema.json +75 -0
  166. package/generated/TaskGroupId.schema.json +11 -0
  167. package/generated/TaskGroupReceipt.schema.json +26 -0
  168. package/generated/TaskGroupRunsInput.schema.json +46 -0
  169. package/generated/TaskGroupRunsResult.schema.json +162 -0
  170. package/generated/ThreadHistoryInput.schema.json +48 -0
  171. package/generated/ThreadHistoryPage.schema.json +2857 -0
  172. package/generated/ThreadPromptPart.schema.json +57 -0
  173. package/generated/ThreadPromptPartInput.schema.json +41 -0
  174. package/package.json +2 -2
@@ -806,9 +806,38 @@
806
806
  "installed_version"
807
807
  ],
808
808
  "additionalProperties": false
809
+ },
810
+ {
811
+ "type": "object",
812
+ "properties": {
813
+ "kind": {
814
+ "type": "string",
815
+ "const": "credential_source_unconfirmed"
816
+ },
817
+ "native_code": {
818
+ "type": "string",
819
+ "const": "grok_credential_source_unconfirmed"
820
+ },
821
+ "source": {
822
+ "type": "string",
823
+ "const": "grok_init"
824
+ },
825
+ "reported_source": {
826
+ "type": "string",
827
+ "maxLength": 80,
828
+ "description": "Redacted credential source the vendor's startup frame reported."
829
+ }
830
+ },
831
+ "required": [
832
+ "kind",
833
+ "native_code",
834
+ "source",
835
+ "reported_source"
836
+ ],
837
+ "additionalProperties": false
809
838
  }
810
839
  ],
811
- "description": "Vendor-attested request refusal that another account cannot repair; input and executable causes carry their own evidence."
840
+ "description": "Vendor-attested request refusal that stops retries and account rotation on its harness; input, executable and credential-source causes carry their own evidence."
812
841
  },
813
842
  "captureFailure": {
814
843
  "type": "object",
@@ -908,6 +937,7 @@
908
937
  "credential_pool_exhausted",
909
938
  "input_too_large",
910
939
  "vendor_cli_too_old",
940
+ "credential_source_unconfirmed",
911
941
  "delegated_home_unavailable",
912
942
  "delegated_confinement_unavailable",
913
943
  "delegated_evidence_incomplete",
@@ -2389,6 +2419,183 @@
2389
2419
  "additionalProperties": false,
2390
2420
  "description": "Run summary row served by GET /runs and embedded in run detail: state, routing, budget, policies, and honest outcome."
2391
2421
  },
2422
+ "deferredMessage": {
2423
+ "anyOf": [
2424
+ {
2425
+ "type": "object",
2426
+ "properties": {
2427
+ "draftId": {
2428
+ "$ref": "#/definitions/ControlRunDetail/properties/attemptExecution/items/properties/attemptId"
2429
+ },
2430
+ "revision": {
2431
+ "type": "integer",
2432
+ "exclusiveMinimum": 0,
2433
+ "maximum": 9007199254740991
2434
+ },
2435
+ "state": {
2436
+ "type": "string",
2437
+ "enum": [
2438
+ "waiting",
2439
+ "held",
2440
+ "dispatched",
2441
+ "cleared"
2442
+ ]
2443
+ },
2444
+ "predecessorJobId": {
2445
+ "$ref": "#/definitions/ControlRunDetail/properties/attemptExecution/items/properties/attemptId"
2446
+ },
2447
+ "predecessorRunId": {
2448
+ "anyOf": [
2449
+ {
2450
+ "$ref": "#/definitions/ControlRunDetail/properties/attemptExecution/items/properties/attemptId"
2451
+ },
2452
+ {
2453
+ "type": "null"
2454
+ }
2455
+ ],
2456
+ "description": "Non-empty identifier string."
2457
+ },
2458
+ "predecessorResult": {
2459
+ "type": "string",
2460
+ "description": "Existing addressed run-detail/result path; no duplicate result store."
2461
+ },
2462
+ "hold": {
2463
+ "anyOf": [
2464
+ {
2465
+ "type": "object",
2466
+ "properties": {
2467
+ "code": {
2468
+ "type": "string",
2469
+ "enum": [
2470
+ "predecessor_failed",
2471
+ "predecessor_cancelled",
2472
+ "predecessor_interrupted",
2473
+ "predecessor_needs_input",
2474
+ "predecessor_incomplete",
2475
+ "predecessor_facts_unavailable",
2476
+ "predecessor_work_unverified",
2477
+ "predecessor_checks_failed",
2478
+ "predecessor_review_blocked",
2479
+ "predecessor_output_unavailable",
2480
+ "settlement_unknown",
2481
+ "stop_requested",
2482
+ "shutdown",
2483
+ "restart_requires_controller",
2484
+ "partition_retired",
2485
+ "admission_refused"
2486
+ ]
2487
+ },
2488
+ "problem": {
2489
+ "type": "object",
2490
+ "properties": {
2491
+ "message": {
2492
+ "type": "string",
2493
+ "description": "Human-readable refusal message."
2494
+ },
2495
+ "code": {
2496
+ "type": [
2497
+ "string",
2498
+ "null"
2499
+ ],
2500
+ "default": null,
2501
+ "description": "Machine-readable refusal code carried from the throwing gate; null when the failure had no typed code."
2502
+ },
2503
+ "retryable": {
2504
+ "type": "boolean",
2505
+ "default": true,
2506
+ "description": "True when retry can replay this turn (a job was recorded before the failure); false when no job exists to replay."
2507
+ },
2508
+ "required_actions": {
2509
+ "type": "array",
2510
+ "items": {
2511
+ "type": "string",
2512
+ "minLength": 1,
2513
+ "maxLength": 512
2514
+ },
2515
+ "maxItems": 16,
2516
+ "default": [],
2517
+ "description": "Bounded user actions that may make an exact retry succeed."
2518
+ },
2519
+ "context": {
2520
+ "type": "object",
2521
+ "additionalProperties": {},
2522
+ "default": {},
2523
+ "description": "Bounded typed recovery context; never arbitrary provider or environment output."
2524
+ }
2525
+ },
2526
+ "required": [
2527
+ "message"
2528
+ ],
2529
+ "additionalProperties": false,
2530
+ "description": "Typed, sanitized problem for a thread turn that could not start."
2531
+ }
2532
+ },
2533
+ "required": [
2534
+ "code"
2535
+ ],
2536
+ "additionalProperties": false,
2537
+ "description": "Stable hold. Editing, observation and readiness restoration never rearm it; inspect the predecessor result and clear before an ordinary continuation."
2538
+ },
2539
+ {
2540
+ "type": "null"
2541
+ }
2542
+ ],
2543
+ "description": "Stable hold. Editing, observation and readiness restoration never rearm it; inspect the predecessor result and clear before an ordinary continuation."
2544
+ },
2545
+ "dispatchedRevision": {
2546
+ "anyOf": [
2547
+ {
2548
+ "$ref": "#/definitions/ControlRunDetail/properties/deferredMessage/anyOf/0/properties/revision"
2549
+ },
2550
+ {
2551
+ "type": "null"
2552
+ }
2553
+ ]
2554
+ },
2555
+ "successorJobId": {
2556
+ "anyOf": [
2557
+ {
2558
+ "$ref": "#/definitions/ControlRunDetail/properties/attemptExecution/items/properties/attemptId"
2559
+ },
2560
+ {
2561
+ "type": "null"
2562
+ }
2563
+ ],
2564
+ "description": "Non-empty identifier string."
2565
+ },
2566
+ "successorRunId": {
2567
+ "anyOf": [
2568
+ {
2569
+ "$ref": "#/definitions/ControlRunDetail/properties/attemptExecution/items/properties/attemptId"
2570
+ },
2571
+ {
2572
+ "type": "null"
2573
+ }
2574
+ ],
2575
+ "description": "Non-empty identifier string."
2576
+ }
2577
+ },
2578
+ "required": [
2579
+ "draftId",
2580
+ "revision",
2581
+ "state",
2582
+ "predecessorJobId",
2583
+ "predecessorRunId",
2584
+ "predecessorResult",
2585
+ "hold",
2586
+ "dispatchedRevision",
2587
+ "successorJobId",
2588
+ "successorRunId"
2589
+ ],
2590
+ "additionalProperties": false,
2591
+ "description": "Compact addressed draft state, with exact predecessor result and successor handles. A terminal predecessor does not imply the draft has resolved."
2592
+ },
2593
+ {
2594
+ "type": "null"
2595
+ }
2596
+ ],
2597
+ "description": "Compact addressed draft state, with exact predecessor result and successor handles. A terminal predecessor does not imply the draft has resolved."
2598
+ },
2392
2599
  "children": {
2393
2600
  "type": "array",
2394
2601
  "items": {
@@ -621,9 +621,38 @@
621
621
  "installed_version"
622
622
  ],
623
623
  "additionalProperties": false
624
+ },
625
+ {
626
+ "type": "object",
627
+ "properties": {
628
+ "kind": {
629
+ "type": "string",
630
+ "const": "credential_source_unconfirmed"
631
+ },
632
+ "native_code": {
633
+ "type": "string",
634
+ "const": "grok_credential_source_unconfirmed"
635
+ },
636
+ "source": {
637
+ "type": "string",
638
+ "const": "grok_init"
639
+ },
640
+ "reported_source": {
641
+ "type": "string",
642
+ "maxLength": 80,
643
+ "description": "Redacted credential source the vendor's startup frame reported."
644
+ }
645
+ },
646
+ "required": [
647
+ "kind",
648
+ "native_code",
649
+ "source",
650
+ "reported_source"
651
+ ],
652
+ "additionalProperties": false
624
653
  }
625
654
  ],
626
- "description": "Vendor-attested request refusal that another account cannot repair; input and executable causes carry their own evidence."
655
+ "description": "Vendor-attested request refusal that stops retries and account rotation on its harness; input, executable and credential-source causes carry their own evidence."
627
656
  },
628
657
  "captureFailure": {
629
658
  "type": "object",
@@ -723,6 +752,7 @@
723
752
  "credential_pool_exhausted",
724
753
  "input_too_large",
725
754
  "vendor_cli_too_old",
755
+ "credential_source_unconfirmed",
726
756
  "delegated_home_unavailable",
727
757
  "delegated_confinement_unavailable",
728
758
  "delegated_evidence_incomplete",
@@ -4,6 +4,16 @@
4
4
  "ControlRunRetryResponse": {
5
5
  "type": "object",
6
6
  "properties": {
7
+ "taskGroupId": {
8
+ "type": "string",
9
+ "format": "uuid",
10
+ "description": "Caller-generated UUID saved before launching the first member. Each job still needs its own idempotency key; the group grants no execution authority."
11
+ },
12
+ "storeId": {
13
+ "type": "string",
14
+ "minLength": 1,
15
+ "description": "Identity of the durable engine store that accepted this group member, stable across restarts."
16
+ },
7
17
  "retryOf": {
8
18
  "type": "string",
9
19
  "minLength": 1,
@@ -4,6 +4,16 @@
4
4
  "ControlRunStartInfo": {
5
5
  "type": "object",
6
6
  "properties": {
7
+ "taskGroupId": {
8
+ "type": "string",
9
+ "format": "uuid",
10
+ "description": "Caller-generated UUID saved before launching the first member. Each job still needs its own idempotency key; the group grants no execution authority."
11
+ },
12
+ "storeId": {
13
+ "type": "string",
14
+ "minLength": 1,
15
+ "description": "Identity of the durable engine store that accepted this group member, stable across restarts."
16
+ },
7
17
  "jobId": {
8
18
  "type": "string",
9
19
  "description": "Daemon job id backing the run."
@@ -42,6 +42,11 @@
42
42
  "description": "Canonical run mode: ask and plan are read-only, agent writes. Strategy controls are separate schema-owned fields, never modes.",
43
43
  "default": "agent"
44
44
  },
45
+ "taskGroupId": {
46
+ "type": "string",
47
+ "format": "uuid",
48
+ "description": "Caller-generated UUID saved before launching the first member. Each job still needs its own idempotency key; the group grants no execution authority."
49
+ },
45
50
  "scope": {
46
51
  "anyOf": [
47
52
  {
@@ -6,6 +6,16 @@
6
6
  {
7
7
  "type": "object",
8
8
  "properties": {
9
+ "taskGroupId": {
10
+ "type": "string",
11
+ "format": "uuid",
12
+ "description": "Caller-generated UUID saved before launching the first member. Each job still needs its own idempotency key; the group grants no execution authority."
13
+ },
14
+ "storeId": {
15
+ "type": "string",
16
+ "minLength": 1,
17
+ "description": "Identity of the durable engine store that accepted this group member, stable across restarts."
18
+ },
9
19
  "jobId": {
10
20
  "type": "string",
11
21
  "description": "Daemon job id backing the run."
@@ -33,6 +43,14 @@
33
43
  {
34
44
  "type": "object",
35
45
  "properties": {
46
+ "taskGroupId": {
47
+ "$ref": "#/definitions/ControlRunStartResponse/anyOf/0/properties/taskGroupId",
48
+ "description": "Caller-generated UUID saved before launching the first member. Each job still needs its own idempotency key; the group grants no execution authority."
49
+ },
50
+ "storeId": {
51
+ "$ref": "#/definitions/ControlRunStartResponse/anyOf/0/properties/storeId",
52
+ "description": "Identity of the durable engine store that accepted this group member, stable across restarts."
53
+ },
36
54
  "jobId": {
37
55
  "type": "string",
38
56
  "description": "Daemon job id."
@@ -616,9 +616,38 @@
616
616
  "installed_version"
617
617
  ],
618
618
  "additionalProperties": false
619
+ },
620
+ {
621
+ "type": "object",
622
+ "properties": {
623
+ "kind": {
624
+ "type": "string",
625
+ "const": "credential_source_unconfirmed"
626
+ },
627
+ "native_code": {
628
+ "type": "string",
629
+ "const": "grok_credential_source_unconfirmed"
630
+ },
631
+ "source": {
632
+ "type": "string",
633
+ "const": "grok_init"
634
+ },
635
+ "reported_source": {
636
+ "type": "string",
637
+ "maxLength": 80,
638
+ "description": "Redacted credential source the vendor's startup frame reported."
639
+ }
640
+ },
641
+ "required": [
642
+ "kind",
643
+ "native_code",
644
+ "source",
645
+ "reported_source"
646
+ ],
647
+ "additionalProperties": false
619
648
  }
620
649
  ],
621
- "description": "Vendor-attested request refusal that another account cannot repair; input and executable causes carry their own evidence."
650
+ "description": "Vendor-attested request refusal that stops retries and account rotation on its harness; input, executable and credential-source causes carry their own evidence."
622
651
  },
623
652
  "captureFailure": {
624
653
  "type": "object",
@@ -718,6 +747,7 @@
718
747
  "credential_pool_exhausted",
719
748
  "input_too_large",
720
749
  "vendor_cli_too_old",
750
+ "credential_source_unconfirmed",
721
751
  "delegated_home_unavailable",
722
752
  "delegated_confinement_unavailable",
723
753
  "delegated_evidence_incomplete",
@@ -15,7 +15,8 @@
15
15
  "codex",
16
16
  "claude",
17
17
  "cursor",
18
- "agy"
18
+ "agy",
19
+ "grok"
19
20
  ],
20
21
  "description": "Harness ids with a managed native-login flow."
21
22
  },
@@ -10,7 +10,8 @@
10
10
  "codex",
11
11
  "claude",
12
12
  "cursor",
13
- "agy"
13
+ "agy",
14
+ "grok"
14
15
  ],
15
16
  "description": "Harness ids with a managed native-login flow."
16
17
  },
@@ -82,7 +82,8 @@
82
82
  "codex",
83
83
  "claude",
84
84
  "cursor",
85
- "agy"
85
+ "agy",
86
+ "grok"
86
87
  ],
87
88
  "description": "Harness ids with a managed native-login flow."
88
89
  },
@@ -10,7 +10,8 @@
10
10
  "codex",
11
11
  "claude",
12
12
  "cursor",
13
- "agy"
13
+ "agy",
14
+ "grok"
14
15
  ],
15
16
  "description": "Harness ids with a managed native-login flow."
16
17
  },
@@ -20,7 +20,8 @@
20
20
  "codex",
21
21
  "claude",
22
22
  "cursor",
23
- "agy"
23
+ "agy",
24
+ "grok"
24
25
  ],
25
26
  "description": "Harness ids with a managed native-login flow."
26
27
  },
@@ -20,7 +20,8 @@
20
20
  "codex",
21
21
  "claude",
22
22
  "cursor",
23
- "agy"
23
+ "agy",
24
+ "grok"
24
25
  ],
25
26
  "description": "Harness ids with a managed native-login flow."
26
27
  },
@@ -0,0 +1,124 @@
1
+ {
2
+ "$ref": "#/definitions/ControlUploadImport",
3
+ "definitions": {
4
+ "ControlUploadImport": {
5
+ "type": "object",
6
+ "properties": {
7
+ "storeId": {
8
+ "type": "string",
9
+ "minLength": 1,
10
+ "description": "Durable store that owns this import key and its resource."
11
+ },
12
+ "state": {
13
+ "type": "string",
14
+ "enum": [
15
+ "open",
16
+ "uploading",
17
+ "ready",
18
+ "cancelled"
19
+ ],
20
+ "description": "open: send the bound bytes; uploading: a transfer is in flight; ready: resource is published; cancelled: finished without a resource, a new attempt needs a new key."
21
+ },
22
+ "uploadId": {
23
+ "type": "string",
24
+ "minLength": 1,
25
+ "description": "Upload that receives this import's bytes."
26
+ },
27
+ "content": {
28
+ "type": "object",
29
+ "properties": {
30
+ "sizeBytes": {
31
+ "type": "integer",
32
+ "minimum": 0,
33
+ "description": "Exact byte length."
34
+ },
35
+ "sha256": {
36
+ "type": "string",
37
+ "pattern": "^sha256:[a-f0-9]{64}$",
38
+ "description": "Exact digest of the bytes: \"sha256:\" and 64 lowercase hex digits."
39
+ }
40
+ },
41
+ "required": [
42
+ "sizeBytes",
43
+ "sha256"
44
+ ],
45
+ "additionalProperties": false,
46
+ "description": "Exact bytes a keyed import owns, bound by its first accepted declaration."
47
+ },
48
+ "receivedBytes": {
49
+ "type": "integer",
50
+ "minimum": 0
51
+ },
52
+ "resource": {
53
+ "type": "object",
54
+ "properties": {
55
+ "resourceId": {
56
+ "type": "string",
57
+ "minLength": 1,
58
+ "description": "Non-empty identifier string."
59
+ },
60
+ "purpose": {
61
+ "type": "string",
62
+ "const": "model",
63
+ "description": "Immutable model-operation purpose; absent means a legacy or ordinary attachment."
64
+ },
65
+ "kind": {
66
+ "type": "string",
67
+ "enum": [
68
+ "image",
69
+ "file"
70
+ ],
71
+ "description": "Kind of attached resource: image input or generic file bytes."
72
+ },
73
+ "mime": {
74
+ "type": "string",
75
+ "minLength": 1
76
+ },
77
+ "name": {
78
+ "type": "string"
79
+ },
80
+ "sha256": {
81
+ "type": "string",
82
+ "minLength": 1,
83
+ "description": "Content hash in algo:hex form, e.g. \"sha256:abcd...\"."
84
+ },
85
+ "sizeBytes": {
86
+ "type": "integer",
87
+ "minimum": 0
88
+ },
89
+ "createdAt": {
90
+ "type": "string",
91
+ "minLength": 1,
92
+ "description": "ISO-8601 timestamp string."
93
+ },
94
+ "deduplicated": {
95
+ "type": "boolean"
96
+ }
97
+ },
98
+ "required": [
99
+ "resourceId",
100
+ "kind",
101
+ "mime",
102
+ "name",
103
+ "sha256",
104
+ "sizeBytes",
105
+ "createdAt",
106
+ "deduplicated"
107
+ ],
108
+ "additionalProperties": false,
109
+ "description": "The immutable resource, present exactly when state is ready."
110
+ }
111
+ },
112
+ "required": [
113
+ "storeId",
114
+ "state",
115
+ "uploadId",
116
+ "content",
117
+ "receivedBytes"
118
+ ],
119
+ "additionalProperties": false,
120
+ "description": "Current state of one keyed import, identical for its first call and every replay."
121
+ }
122
+ },
123
+ "$schema": "http://json-schema.org/draft-07/schema#"
124
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "$ref": "#/definitions/ControlUploadImportRequest",
3
+ "definitions": {
4
+ "ControlUploadImportRequest": {
5
+ "type": "object",
6
+ "properties": {
7
+ "expectedStoreId": {
8
+ "type": "string",
9
+ "minLength": 1,
10
+ "description": "Store UUID from the opt-in handshake, saved with the key BEFORE the first import and replayed unchanged; never replaced by the current store. A different store is refused before any effect."
11
+ },
12
+ "kind": {
13
+ "type": "string",
14
+ "enum": [
15
+ "image",
16
+ "file"
17
+ ],
18
+ "description": "Kind of attached resource: image input or generic file bytes."
19
+ },
20
+ "mime": {
21
+ "type": "string",
22
+ "minLength": 1
23
+ },
24
+ "name": {
25
+ "type": "string",
26
+ "default": ""
27
+ },
28
+ "source": {
29
+ "type": "string",
30
+ "minLength": 1,
31
+ "maxLength": 4096,
32
+ "description": "Opaque caller identity of the selected source, such as the absolute path a local client read or a task artifact id. Bound into the key only; the daemon never reads, resolves, stores or returns it."
33
+ },
34
+ "content": {
35
+ "type": "object",
36
+ "properties": {
37
+ "sizeBytes": {
38
+ "type": "integer",
39
+ "minimum": 0,
40
+ "description": "Exact byte length."
41
+ },
42
+ "sha256": {
43
+ "type": "string",
44
+ "pattern": "^sha256:[a-f0-9]{64}$",
45
+ "description": "Exact digest of the bytes: \"sha256:\" and 64 lowercase hex digits."
46
+ }
47
+ },
48
+ "required": [
49
+ "sizeBytes",
50
+ "sha256"
51
+ ],
52
+ "additionalProperties": false,
53
+ "description": "Required to begin an import. Omit it to read or replay an already bound key without touching the source."
54
+ }
55
+ },
56
+ "required": [
57
+ "expectedStoreId",
58
+ "kind",
59
+ "mime"
60
+ ],
61
+ "additionalProperties": false,
62
+ "description": "Keyed import of one ordinary attachment through the upload owner."
63
+ }
64
+ },
65
+ "$schema": "http://json-schema.org/draft-07/schema#"
66
+ }