@claudexor/schema 4.8.1 → 5.0.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 (217) hide show
  1. package/dist/account-resources.d.ts +325 -56
  2. package/dist/account-resources.d.ts.map +1 -1
  3. package/dist/account-resources.js +35 -5
  4. package/dist/account-resources.js.map +1 -1
  5. package/dist/account-routing-evidence.d.ts +253 -45
  6. package/dist/account-routing-evidence.d.ts.map +1 -1
  7. package/dist/account-target.d.ts +19 -5
  8. package/dist/account-target.d.ts.map +1 -1
  9. package/dist/account-target.js +14 -1
  10. package/dist/account-target.js.map +1 -1
  11. package/dist/agent-capabilities.d.ts +183 -0
  12. package/dist/agent-capabilities.d.ts.map +1 -1
  13. package/dist/agent-capabilities.js +2 -0
  14. package/dist/agent-capabilities.js.map +1 -1
  15. package/dist/budget.d.ts +3 -0
  16. package/dist/budget.d.ts.map +1 -1
  17. package/dist/budget.js +5 -1
  18. package/dist/budget.js.map +1 -1
  19. package/dist/capture-inventory.d.ts +60 -0
  20. package/dist/capture-inventory.d.ts.map +1 -0
  21. package/dist/capture-inventory.js +57 -0
  22. package/dist/capture-inventory.js.map +1 -0
  23. package/dist/control-gc.d.ts +377 -0
  24. package/dist/control-gc.d.ts.map +1 -1
  25. package/dist/control-gc.js +74 -1
  26. package/dist/control-gc.js.map +1 -1
  27. package/dist/control-harness-list.d.ts +102 -18
  28. package/dist/control-harness-list.d.ts.map +1 -1
  29. package/dist/control-harness-models.d.ts +299 -6
  30. package/dist/control-harness-models.d.ts.map +1 -1
  31. package/dist/control-harness-models.js +12 -3
  32. package/dist/control-harness-models.js.map +1 -1
  33. package/dist/control-operation-responses.d.ts +606 -23
  34. package/dist/control-operation-responses.d.ts.map +1 -1
  35. package/dist/control-operation-responses.js +3 -0
  36. package/dist/control-operation-responses.js.map +1 -1
  37. package/dist/control-run-detail.d.ts +1193 -72
  38. package/dist/control-run-detail.d.ts.map +1 -1
  39. package/dist/control-run-event-part.d.ts +3 -3
  40. package/dist/control-run-event-part.js +1 -1
  41. package/dist/control-run-event-part.js.map +1 -1
  42. package/dist/control-run-failure.d.ts +276 -12
  43. package/dist/control-run-failure.d.ts.map +1 -1
  44. package/dist/control-run-failure.js +54 -16
  45. package/dist/control-run-failure.js.map +1 -1
  46. package/dist/control-run-message.js +1 -1
  47. package/dist/control-run-message.js.map +1 -1
  48. package/dist/control-thread-apply.d.ts +165 -0
  49. package/dist/control-thread-apply.d.ts.map +1 -1
  50. package/dist/control-timeline.d.ts +9 -0
  51. package/dist/control-timeline.d.ts.map +1 -1
  52. package/dist/control-timeline.js +20 -3
  53. package/dist/control-timeline.js.map +1 -1
  54. package/dist/control.d.ts +392 -42
  55. package/dist/control.d.ts.map +1 -1
  56. package/dist/control.js +13 -7
  57. package/dist/control.js.map +1 -1
  58. package/dist/credential-profile-snapshot.d.ts +506 -90
  59. package/dist/credential-profile-snapshot.d.ts.map +1 -1
  60. package/dist/daemon-status.d.ts +492 -0
  61. package/dist/daemon-status.d.ts.map +1 -1
  62. package/dist/daemon-status.js +22 -0
  63. package/dist/daemon-status.js.map +1 -1
  64. package/dist/decision.d.ts +9 -9
  65. package/dist/decision.d.ts.map +1 -1
  66. package/dist/decision.js +4 -0
  67. package/dist/decision.js.map +1 -1
  68. package/dist/delivery.d.ts +162 -0
  69. package/dist/delivery.d.ts.map +1 -1
  70. package/dist/delivery.js +32 -0
  71. package/dist/delivery.js.map +1 -1
  72. package/dist/events.d.ts +7 -6
  73. package/dist/events.d.ts.map +1 -1
  74. package/dist/events.js +10 -8
  75. package/dist/events.js.map +1 -1
  76. package/dist/git-result.d.ts +99 -0
  77. package/dist/git-result.d.ts.map +1 -0
  78. package/dist/git-result.js +80 -0
  79. package/dist/git-result.js.map +1 -0
  80. package/dist/harness-model.d.ts +89 -0
  81. package/dist/harness-model.d.ts.map +1 -1
  82. package/dist/harness-model.js +83 -0
  83. package/dist/harness-model.js.map +1 -1
  84. package/dist/harness-speech.d.ts +36 -0
  85. package/dist/harness-speech.d.ts.map +1 -0
  86. package/dist/harness-speech.js +27 -0
  87. package/dist/harness-speech.js.map +1 -0
  88. package/dist/harness.d.ts +371 -35
  89. package/dist/harness.d.ts.map +1 -1
  90. package/dist/harness.js +7 -21
  91. package/dist/harness.js.map +1 -1
  92. package/dist/index.d.ts +5 -0
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +5 -0
  95. package/dist/index.js.map +1 -1
  96. package/dist/mcp-run-result.d.ts +620 -51
  97. package/dist/mcp-run-result.d.ts.map +1 -1
  98. package/dist/mcp-run-result.js +45 -5
  99. package/dist/mcp-run-result.js.map +1 -1
  100. package/dist/mcp-run-wait.d.ts +7 -7
  101. package/dist/primitives.d.ts.map +1 -1
  102. package/dist/primitives.js +3 -2
  103. package/dist/primitives.js.map +1 -1
  104. package/dist/project.d.ts +45 -1
  105. package/dist/project.d.ts.map +1 -1
  106. package/dist/project.js +26 -1
  107. package/dist/project.js.map +1 -1
  108. package/dist/quota-read.d.ts +6 -3
  109. package/dist/quota-read.d.ts.map +1 -1
  110. package/dist/quota-read.js +7 -1
  111. package/dist/quota-read.js.map +1 -1
  112. package/dist/quota-scope.d.ts +29 -0
  113. package/dist/quota-scope.d.ts.map +1 -0
  114. package/dist/quota-scope.js +95 -0
  115. package/dist/quota-scope.js.map +1 -0
  116. package/dist/rate-limit.d.ts +3 -0
  117. package/dist/rate-limit.d.ts.map +1 -1
  118. package/dist/rate-limit.js +5 -1
  119. package/dist/rate-limit.js.map +1 -1
  120. package/dist/raw.d.ts +223 -1
  121. package/dist/raw.d.ts.map +1 -1
  122. package/dist/raw.js +86 -0
  123. package/dist/raw.js.map +1 -1
  124. package/dist/readiness.d.ts +87 -18
  125. package/dist/readiness.d.ts.map +1 -1
  126. package/dist/readiness.js +7 -6
  127. package/dist/readiness.js.map +1 -1
  128. package/dist/route-health.d.ts +303 -0
  129. package/dist/route-health.d.ts.map +1 -0
  130. package/dist/route-health.js +71 -0
  131. package/dist/route-health.js.map +1 -0
  132. package/dist/run-continuity.d.ts +3 -0
  133. package/dist/run-continuity.d.ts.map +1 -1
  134. package/dist/run-continuity.js +4 -0
  135. package/dist/run-continuity.js.map +1 -1
  136. package/dist/run-facts.d.ts +5 -5
  137. package/dist/run-facts.d.ts.map +1 -1
  138. package/dist/run-facts.js +1 -0
  139. package/dist/run-facts.js.map +1 -1
  140. package/dist/run-observation.d.ts +6 -6
  141. package/dist/run-observation.d.ts.map +1 -1
  142. package/dist/run-observation.js +7 -1
  143. package/dist/run-observation.js.map +1 -1
  144. package/dist/setup-login.d.ts +1 -1
  145. package/dist/setup-login.js +1 -1
  146. package/dist/setup.d.ts +1 -1
  147. package/dist/setup.js +1 -1
  148. package/dist/status-projection.d.ts.map +1 -1
  149. package/dist/status-projection.js +3 -0
  150. package/dist/status-projection.js.map +1 -1
  151. package/dist/task-group-runs.d.ts +1 -0
  152. package/dist/task-group-runs.d.ts.map +1 -1
  153. package/dist/task-group-runs.js +6 -3
  154. package/dist/task-group-runs.js.map +1 -1
  155. package/dist/telemetry.d.ts +239 -7
  156. package/dist/telemetry.d.ts.map +1 -1
  157. package/dist/telemetry.js +4 -2
  158. package/dist/telemetry.js.map +1 -1
  159. package/dist/thread-history.d.ts +1109 -161
  160. package/dist/thread-history.d.ts.map +1 -1
  161. package/dist/thread-history.js +1 -1
  162. package/dist/thread-history.js.map +1 -1
  163. package/dist/tool-ref.d.ts +94 -3
  164. package/dist/tool-ref.d.ts.map +1 -1
  165. package/dist/tool-ref.js +98 -6
  166. package/dist/tool-ref.js.map +1 -1
  167. package/generated/AgentCapabilityCatalog.schema.json +54 -0
  168. package/generated/BudgetObservation.schema.json +8 -1
  169. package/generated/ControlAccountResetResponse.schema.json +60 -1
  170. package/generated/ControlAccountResourcesFreshnessResponse.schema.json +46 -2
  171. package/generated/ControlAccountResourcesResponse.schema.json +46 -2
  172. package/generated/ControlApplyCheckResponse.schema.json +47 -0
  173. package/generated/ControlCredentialProfilesQueryResponse.schema.json +105 -4
  174. package/generated/ControlCredentialProfilesResourcesResponse.schema.json +105 -4
  175. package/generated/ControlCredentialProfilesSnapshotResponse.schema.json +59 -2
  176. package/generated/ControlDaemonStatus.schema.json +112 -43
  177. package/generated/ControlDeliveryResponse.schema.json +154 -0
  178. package/generated/ControlGcLastResponse.schema.json +184 -0
  179. package/generated/ControlGcReceipt.schema.json +60 -1
  180. package/generated/ControlGcRequest.schema.json +4 -0
  181. package/generated/ControlHarnessAccountCatalog.schema.json +13 -0
  182. package/generated/ControlHarnessAccountModelsResponse.schema.json +13 -0
  183. package/generated/ControlHarnessListResponse.schema.json +59 -2
  184. package/generated/ControlHarnessModelsQueryResponse.schema.json +97 -51
  185. package/generated/ControlHarnessModelsResponse.schema.json +96 -0
  186. package/generated/ControlProjectRemoveReceipt.schema.json +36 -0
  187. package/generated/ControlQuotaQueryResponse.schema.json +46 -2
  188. package/generated/ControlQuotaReadRequest.schema.json +4 -0
  189. package/generated/ControlQuotaRefreshRequest.schema.json +12 -3
  190. package/generated/ControlRouteHealth.schema.json +202 -0
  191. package/generated/ControlRunDecisionResponse.schema.json +14 -0
  192. package/generated/ControlRunDetail.schema.json +376 -6
  193. package/generated/ControlRunEventPart.schema.json +3 -2
  194. package/generated/ControlRunListResponse.schema.json +342 -3
  195. package/generated/ControlRunMessageRequest.schema.json +1 -1
  196. package/generated/ControlRunSummary.schema.json +342 -3
  197. package/generated/ControlThreadApplyResponse.schema.json +154 -0
  198. package/generated/ControlThreadDetail.schema.json +2 -1
  199. package/generated/DecisionRecord.schema.json +1 -0
  200. package/generated/HarnessEvent.schema.json +214 -5
  201. package/generated/HarnessManifest.schema.json +57 -0
  202. package/generated/HarnessModel.schema.json +13 -0
  203. package/generated/HarnessStatusDto.schema.json +59 -2
  204. package/generated/JournaledRunCreatedPayload.schema.json +2 -2
  205. package/generated/McpAccountsToolResult.schema.json +105 -4
  206. package/generated/McpRunHandleResult.schema.json +279 -2
  207. package/generated/McpRunToolResult.schema.json +269 -0
  208. package/generated/McpRunWaitResult.schema.json +2 -1
  209. package/generated/RawContextPacket.schema.json +98 -0
  210. package/generated/RunContinuityReceipt.schema.json +8 -0
  211. package/generated/RunEvent.schema.json +2 -1
  212. package/generated/RunFacts.schema.json +1 -0
  213. package/generated/RunFailure.schema.json +201 -0
  214. package/generated/RunTelemetry.schema.json +123 -2
  215. package/generated/RunWaitManyInput.schema.json +11 -4
  216. package/generated/ThreadHistoryPage.schema.json +204 -2
  217. package/package.json +2 -2
@@ -407,6 +407,14 @@
407
407
  "not_applicable"
408
408
  ],
409
409
  "description": "Whether the predecessor's last input (its turn prompt or an admitted steering message) is known to be in the vendor history: confirmed, uncertain (carried in the notice as a reference to reconcile, never replayed blindly), or not applicable."
410
+ },
411
+ "sourceRetirement": {
412
+ "type": "string",
413
+ "enum": [
414
+ "retired",
415
+ "not_confirmed"
416
+ ],
417
+ "description": "After a native_moved carrier published the new holder: retired (the adapter removed the source copy) or not_confirmed (removal failed, possibly part-way). Absent = no move retired a source for this try."
410
418
  }
411
419
  },
412
420
  "required": [
@@ -654,6 +662,68 @@
654
662
  ],
655
663
  "description": "Vendor-attested request refusal that stops retries and account rotation on its harness; input, executable and credential-source causes carry their own evidence."
656
664
  },
665
+ "rawContextShortfall": {
666
+ "type": "object",
667
+ "properties": {
668
+ "model": {
669
+ "type": "string",
670
+ "minLength": 1,
671
+ "description": "Model whose window was checked."
672
+ },
673
+ "context_window": {
674
+ "type": "integer",
675
+ "exclusiveMinimum": 0
676
+ },
677
+ "packet_tokens": {
678
+ "type": "integer",
679
+ "minimum": 0,
680
+ "description": "The packet with every optional file omitted: mandatory files, file manifest and metadata."
681
+ },
682
+ "framing_tokens": {
683
+ "type": "integer",
684
+ "minimum": 0,
685
+ "description": "The request outside the packet: instructions, user text, patch protocol and attachments."
686
+ },
687
+ "output_allowance_tokens": {
688
+ "type": "integer",
689
+ "minimum": 0,
690
+ "description": "Tokens kept free for the answer."
691
+ },
692
+ "mandatory_files": {
693
+ "type": "array",
694
+ "items": {
695
+ "type": "object",
696
+ "properties": {
697
+ "path": {
698
+ "type": "string",
699
+ "minLength": 1
700
+ },
701
+ "estimated_tokens": {
702
+ "type": "integer",
703
+ "minimum": 0,
704
+ "description": "This file's share of packet_tokens: its packet entry with content and evidence."
705
+ }
706
+ },
707
+ "required": [
708
+ "path",
709
+ "estimated_tokens"
710
+ ],
711
+ "additionalProperties": false
712
+ },
713
+ "description": "Every mandatory file, largest first."
714
+ }
715
+ },
716
+ "required": [
717
+ "model",
718
+ "context_window",
719
+ "packet_tokens",
720
+ "framing_tokens",
721
+ "output_allowance_tokens",
722
+ "mandatory_files"
723
+ ],
724
+ "additionalProperties": false,
725
+ "description": "Typed sizes behind code raw_context_exceeds_window: the window, the request's parts and every mandatory file, so surfaces never read them from safeMessage."
726
+ },
657
727
  "captureFailure": {
658
728
  "type": "object",
659
729
  "properties": {
@@ -663,6 +733,11 @@
663
733
  "capture_output_exceeded",
664
734
  "capture_output_incomplete",
665
735
  "capture_preview_truncated",
736
+ "capture_space_insufficient",
737
+ "capture_git_stalled",
738
+ "capture_git_signal",
739
+ "capture_read_failed",
740
+ "capture_object_missing",
666
741
  "capture_failed"
667
742
  ]
668
743
  },
@@ -687,6 +762,22 @@
687
762
  "type": "string",
688
763
  "const": "truncated"
689
764
  },
765
+ "requiredBytes": {
766
+ "type": "integer",
767
+ "minimum": 0
768
+ },
769
+ "availableBytes": {
770
+ "type": "integer",
771
+ "minimum": 0
772
+ },
773
+ "signal": {
774
+ "type": "string",
775
+ "maxLength": 32
776
+ },
777
+ "stallMs": {
778
+ "type": "integer",
779
+ "minimum": 0
780
+ },
690
781
  "cleanup": {
691
782
  "type": "object",
692
783
  "properties": {
@@ -705,6 +796,72 @@
705
796
  "message"
706
797
  ],
707
798
  "additionalProperties": false
799
+ },
800
+ "inventory": {
801
+ "type": "object",
802
+ "properties": {
803
+ "exact": {
804
+ "type": "boolean",
805
+ "const": false,
806
+ "description": "Always false: an inventory names files; it is not the exact change."
807
+ },
808
+ "changedFiles": {
809
+ "type": "integer",
810
+ "minimum": 0,
811
+ "description": "Changed paths the pass counted."
812
+ },
813
+ "largest": {
814
+ "type": "array",
815
+ "items": {
816
+ "type": "object",
817
+ "properties": {
818
+ "path": {
819
+ "type": "string",
820
+ "maxLength": 1024,
821
+ "description": "Top-relative changed path, exact within the length cap."
822
+ },
823
+ "change": {
824
+ "type": "string",
825
+ "enum": [
826
+ "added",
827
+ "modified",
828
+ "deleted",
829
+ "type_changed"
830
+ ],
831
+ "description": "What happened to the path between the turn's base and the uncaptured tree."
832
+ },
833
+ "sizeBytes": {
834
+ "anyOf": [
835
+ {
836
+ "type": "integer",
837
+ "minimum": 0
838
+ },
839
+ {
840
+ "type": "null"
841
+ }
842
+ ],
843
+ "description": "Size of the new blob (of the old blob for a deletion); null when Git could not size it."
844
+ }
845
+ },
846
+ "required": [
847
+ "path",
848
+ "change",
849
+ "sizeBytes"
850
+ ],
851
+ "additionalProperties": false,
852
+ "description": "One changed path of a non-exact capture inventory."
853
+ },
854
+ "maxItems": 20,
855
+ "description": "The largest changed files, largest first."
856
+ }
857
+ },
858
+ "required": [
859
+ "exact",
860
+ "changedFiles",
861
+ "largest"
862
+ ],
863
+ "additionalProperties": false,
864
+ "description": "Bounded non-exact inventory of the changed files behind a refused capture."
708
865
  }
709
866
  },
710
867
  "required": [
@@ -751,6 +908,9 @@
751
908
  "subscription_window_exhausted",
752
909
  "credential_pool_exhausted",
753
910
  "input_too_large",
911
+ "raw_context_mandatory_unavailable",
912
+ "raw_context_exceeds_window",
913
+ "model_catalog_unavailable",
754
914
  "vendor_cli_too_old",
755
915
  "credential_source_unconfirmed",
756
916
  "delegated_home_unavailable",
@@ -834,6 +994,55 @@
834
994
  "default": null,
835
995
  "description": "When the refused window reopens (a spent subscription quota window), or null when the failure has no such time. Callers schedule a retry off this field, never off safeMessage."
836
996
  },
997
+ "quotaRefusal": {
998
+ "type": "object",
999
+ "properties": {
1000
+ "basis": {
1001
+ "type": "string",
1002
+ "enum": [
1003
+ "owner_reserve",
1004
+ "provider_window",
1005
+ "provider_cooldown"
1006
+ ],
1007
+ "description": "owner_reserve: usage reached the saved headroom_threshold below 100% while the provider reports quota left; provider_window: the provider reports the window spent; provider_cooldown: a provider rate-limit cooldown is in force."
1008
+ },
1009
+ "constraintId": {
1010
+ "type": [
1011
+ "string",
1012
+ "null"
1013
+ ],
1014
+ "description": "The refusing quota window, when known."
1015
+ },
1016
+ "usedRatio": {
1017
+ "anyOf": [
1018
+ {
1019
+ "type": "number",
1020
+ "minimum": 0,
1021
+ "maximum": 1
1022
+ },
1023
+ {
1024
+ "type": "null"
1025
+ }
1026
+ ],
1027
+ "description": "Its observed usage, when known."
1028
+ },
1029
+ "threshold": {
1030
+ "type": [
1031
+ "number",
1032
+ "null"
1033
+ ],
1034
+ "description": "The headroom_threshold the decision applied, when it applied one."
1035
+ }
1036
+ },
1037
+ "required": [
1038
+ "basis",
1039
+ "constraintId",
1040
+ "usedRatio",
1041
+ "threshold"
1042
+ ],
1043
+ "additionalProperties": false,
1044
+ "description": "Present when quota admission refused the account (code subscription_window_exhausted): separates the owner's saved reserve from provider exhaustion. Absent on other failures and on records written before this field existed."
1045
+ },
837
1046
  "vendorFailure": {
838
1047
  "anyOf": [
839
1048
  {
@@ -1552,7 +1761,7 @@
1552
1761
  "null"
1553
1762
  ],
1554
1763
  "default": null,
1555
- "description": "Redacted target (query/url) of the web activity, when any."
1764
+ "description": "Target (query/url) of the web activity as issued, when any."
1556
1765
  },
1557
1766
  "errorSummary": {
1558
1767
  "type": [
@@ -1568,7 +1777,7 @@
1568
1777
  "null"
1569
1778
  ],
1570
1779
  "default": null,
1571
- "description": "Artifact path holding the raw (redacted) evidence detail."
1780
+ "description": "Artifact path holding the full evidence record."
1572
1781
  },
1573
1782
  "available": {
1574
1783
  "type": "boolean",
@@ -1761,7 +1970,7 @@
1761
1970
  "null"
1762
1971
  ],
1763
1972
  "default": null,
1764
- "description": "GC-independent revert anchor."
1973
+ "description": "Run-owned revert anchor."
1765
1974
  },
1766
1975
  "revertable": {
1767
1976
  "type": "boolean",
@@ -1840,6 +2049,7 @@
1840
2049
  "owner_task_gone",
1841
2050
  "crash_interrupted",
1842
2051
  "workspace_unavailable",
2052
+ "capture_refused",
1843
2053
  "input_required",
1844
2054
  "work_incomplete",
1845
2055
  "context_capacity_exhausted",
@@ -2180,6 +2390,135 @@
2180
2390
  "description": "Typed routing rationale (QA-034) projected from telemetry; null when no ranking was computed or on legacy runs.",
2181
2391
  "default": null
2182
2392
  },
2393
+ "rawContext": {
2394
+ "anyOf": [
2395
+ {
2396
+ "type": "object",
2397
+ "properties": {
2398
+ "model": {
2399
+ "type": "string",
2400
+ "minLength": 1,
2401
+ "description": "Model the request named."
2402
+ },
2403
+ "estimated_request_tokens": {
2404
+ "type": "integer",
2405
+ "minimum": 0,
2406
+ "description": "Estimated tokens of the whole rendered request (chars/4, plus a fixed figure per image); never a tokenizer count."
2407
+ },
2408
+ "budget": {
2409
+ "type": "object",
2410
+ "properties": {
2411
+ "estimator": {
2412
+ "type": "string",
2413
+ "const": "chars_div_4"
2414
+ },
2415
+ "basis": {
2416
+ "type": "string",
2417
+ "enum": [
2418
+ "model_context_window",
2419
+ "assumed_ceiling"
2420
+ ]
2421
+ },
2422
+ "model": {
2423
+ "anyOf": [
2424
+ {
2425
+ "type": "string",
2426
+ "minLength": 1
2427
+ },
2428
+ {
2429
+ "type": "null"
2430
+ }
2431
+ ],
2432
+ "description": "Model whose catalog row was consulted; null when the producer reported none."
2433
+ },
2434
+ "context_window": {
2435
+ "anyOf": [
2436
+ {
2437
+ "type": "integer",
2438
+ "exclusiveMinimum": 0
2439
+ },
2440
+ {
2441
+ "type": "null"
2442
+ }
2443
+ ]
2444
+ },
2445
+ "output_allowance_tokens": {
2446
+ "anyOf": [
2447
+ {
2448
+ "type": "integer",
2449
+ "minimum": 0
2450
+ },
2451
+ {
2452
+ "type": "null"
2453
+ }
2454
+ ]
2455
+ },
2456
+ "framing_tokens": {
2457
+ "anyOf": [
2458
+ {
2459
+ "type": "integer",
2460
+ "minimum": 0
2461
+ },
2462
+ {
2463
+ "type": "null"
2464
+ }
2465
+ ],
2466
+ "description": "Estimated tokens of the request outside this packet; null when unmeasured."
2467
+ },
2468
+ "selection_limit_tokens": {
2469
+ "type": "integer",
2470
+ "exclusiveMinimum": 0,
2471
+ "description": "Limit the optional selection honoured: the packet's share of the window, or the assumed ceiling on file contents."
2472
+ },
2473
+ "estimated_packet_tokens": {
2474
+ "type": "integer",
2475
+ "minimum": 0
2476
+ },
2477
+ "omitted_for_budget": {
2478
+ "type": "integer",
2479
+ "minimum": 0,
2480
+ "description": "Optional files left out to honour selection_limit_tokens (listed in omissions)."
2481
+ },
2482
+ "mandatory_paths": {
2483
+ "type": "array",
2484
+ "items": {
2485
+ "type": "string",
2486
+ "minLength": 1
2487
+ },
2488
+ "description": "Project mandatory files, each delivered complete in readable_files."
2489
+ }
2490
+ },
2491
+ "required": [
2492
+ "estimator",
2493
+ "basis",
2494
+ "model",
2495
+ "context_window",
2496
+ "output_allowance_tokens",
2497
+ "framing_tokens",
2498
+ "selection_limit_tokens",
2499
+ "estimated_packet_tokens",
2500
+ "omitted_for_budget",
2501
+ "mandatory_paths"
2502
+ ],
2503
+ "additionalProperties": false,
2504
+ "description": "Sizing evidence for a raw context packet; disclosed, never a tokenizer count."
2505
+ }
2506
+ },
2507
+ "required": [
2508
+ "model",
2509
+ "estimated_request_tokens",
2510
+ "budget"
2511
+ ],
2512
+ "additionalProperties": false,
2513
+ "description": "Estimated size of one raw-api request as prepared just before its POST, and the budget its packet honoured; not proof the provider received it."
2514
+ },
2515
+ {
2516
+ "type": "null"
2517
+ }
2518
+ ],
2519
+ "description": "Size of the raw-api request the final attempt last prepared, as receipted just before its POST (#147); null otherwise.",
2520
+ "default": null
2521
+ },
2183
2522
  "tests": {
2184
2523
  "type": "array",
2185
2524
  "items": {
@@ -8,7 +8,7 @@
8
8
  "type": "string",
9
9
  "minLength": 1,
10
10
  "maxLength": 65536,
11
- "description": "The message to place into the run's active attempt. 1..65536 UTF-16 code units (the JS string length, not bytes or visible characters); an over-long body is a 400, never truncated. Secret-like values are refused (inline_secret_rejected) like every prompt ingress."
11
+ "description": "The message to place into the run's active attempt. 1..65536 UTF-16 code units (the JS string length, not bytes or visible characters); an over-long body is a 400, never truncated. The text is delivered exactly, like every prompt ingress."
12
12
  },
13
13
  "expectedAttemptId": {
14
14
  "type": "string",