@claudexor/schema 4.7.0 → 4.8.2

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 (196) 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-gc.d.ts +377 -0
  16. package/dist/control-gc.d.ts.map +1 -1
  17. package/dist/control-gc.js +74 -1
  18. package/dist/control-gc.js.map +1 -1
  19. package/dist/control-harness-models.js +1 -1
  20. package/dist/control-harness-models.js.map +1 -1
  21. package/dist/control-operation-responses.d.ts +201 -9
  22. package/dist/control-operation-responses.d.ts.map +1 -1
  23. package/dist/control-operation-responses.js +7 -1
  24. package/dist/control-operation-responses.js.map +1 -1
  25. package/dist/control-run-detail.d.ts +292 -19
  26. package/dist/control-run-detail.d.ts.map +1 -1
  27. package/dist/control-run-detail.js +2 -0
  28. package/dist/control-run-detail.js.map +1 -1
  29. package/dist/control-run-failure.d.ts +29 -4
  30. package/dist/control-run-failure.d.ts.map +1 -1
  31. package/dist/control-run-failure.js +3 -0
  32. package/dist/control-run-failure.js.map +1 -1
  33. package/dist/control-run-retry.d.ts +31 -0
  34. package/dist/control-run-retry.d.ts.map +1 -1
  35. package/dist/control-run-retry.js +12 -1
  36. package/dist/control-run-retry.js.map +1 -1
  37. package/dist/control-timeline.d.ts +9 -0
  38. package/dist/control-timeline.d.ts.map +1 -1
  39. package/dist/control-timeline.js +13 -0
  40. package/dist/control-timeline.js.map +1 -1
  41. package/dist/control.d.ts +78 -5
  42. package/dist/control.d.ts.map +1 -1
  43. package/dist/control.js +7 -9
  44. package/dist/control.js.map +1 -1
  45. package/dist/credential-profile-snapshot.d.ts +28 -28
  46. package/dist/credential-profile.d.ts +1 -1
  47. package/dist/credential-profile.js +2 -2
  48. package/dist/credential-profile.js.map +1 -1
  49. package/dist/credential-store.d.ts +3 -2
  50. package/dist/credential-store.d.ts.map +1 -1
  51. package/dist/credential-store.js +5 -4
  52. package/dist/credential-store.js.map +1 -1
  53. package/dist/daemon-status.d.ts +492 -0
  54. package/dist/daemon-status.d.ts.map +1 -1
  55. package/dist/daemon-status.js +22 -0
  56. package/dist/daemon-status.js.map +1 -1
  57. package/dist/deferred-message.d.ts +2450 -0
  58. package/dist/deferred-message.d.ts.map +1 -0
  59. package/dist/deferred-message.js +186 -0
  60. package/dist/deferred-message.js.map +1 -0
  61. package/dist/events.d.ts +3 -3
  62. package/dist/events.js +1 -1
  63. package/dist/events.js.map +1 -1
  64. package/dist/harness-input.d.ts +15 -0
  65. package/dist/harness-input.d.ts.map +1 -1
  66. package/dist/harness-input.js +10 -1
  67. package/dist/harness-input.js.map +1 -1
  68. package/dist/harness-model.d.ts +65 -0
  69. package/dist/harness-model.d.ts.map +1 -1
  70. package/dist/harness-model.js +42 -0
  71. package/dist/harness-model.js.map +1 -1
  72. package/dist/harness-quota.d.ts +3 -3
  73. package/dist/harness-speech.d.ts +36 -0
  74. package/dist/harness-speech.d.ts.map +1 -0
  75. package/dist/harness-speech.js +27 -0
  76. package/dist/harness-speech.js.map +1 -0
  77. package/dist/harness.d.ts +79 -9
  78. package/dist/harness.d.ts.map +1 -1
  79. package/dist/harness.js +5 -4
  80. package/dist/harness.js.map +1 -1
  81. package/dist/index.d.ts +9 -0
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.js +9 -0
  84. package/dist/index.js.map +1 -1
  85. package/dist/mcp-run-result.d.ts +356 -12
  86. package/dist/mcp-run-result.d.ts.map +1 -1
  87. package/dist/mcp-run-result.js +5 -0
  88. package/dist/mcp-run-result.js.map +1 -1
  89. package/dist/mcp-run-wait.d.ts +133 -0
  90. package/dist/mcp-run-wait.d.ts.map +1 -1
  91. package/dist/mcp-run-wait.js +4 -0
  92. package/dist/mcp-run-wait.js.map +1 -1
  93. package/dist/mcp-upload.d.ts +133 -0
  94. package/dist/mcp-upload.d.ts.map +1 -0
  95. package/dist/mcp-upload.js +40 -0
  96. package/dist/mcp-upload.js.map +1 -0
  97. package/dist/quota-read.d.ts +8 -8
  98. package/dist/quota.d.ts +26 -20
  99. package/dist/quota.d.ts.map +1 -1
  100. package/dist/quota.js +11 -1
  101. package/dist/quota.js.map +1 -1
  102. package/dist/run-observation.d.ts +189 -0
  103. package/dist/run-observation.d.ts.map +1 -0
  104. package/dist/run-observation.js +99 -0
  105. package/dist/run-observation.js.map +1 -0
  106. package/dist/setup-login.d.ts +5 -5
  107. package/dist/setup.d.ts +63 -63
  108. package/dist/setup.d.ts.map +1 -1
  109. package/dist/setup.js +1 -1
  110. package/dist/setup.js.map +1 -1
  111. package/dist/task-group-runs.d.ts +258 -0
  112. package/dist/task-group-runs.d.ts.map +1 -0
  113. package/dist/task-group-runs.js +94 -0
  114. package/dist/task-group-runs.js.map +1 -0
  115. package/dist/task-group.d.ts +23 -0
  116. package/dist/task-group.d.ts.map +1 -0
  117. package/dist/task-group.js +38 -0
  118. package/dist/task-group.js.map +1 -0
  119. package/dist/telemetry.d.ts +136 -8
  120. package/dist/telemetry.d.ts.map +1 -1
  121. package/dist/telemetry.js +2 -5
  122. package/dist/telemetry.js.map +1 -1
  123. package/dist/thread-history.d.ts +12553 -0
  124. package/dist/thread-history.d.ts.map +1 -0
  125. package/dist/thread-history.js +291 -0
  126. package/dist/thread-history.js.map +1 -0
  127. package/generated/ControlAccountResetResponse.schema.json +1 -0
  128. package/generated/ControlAccountResourcesFreshnessResponse.schema.json +1 -0
  129. package/generated/ControlAccountResourcesResponse.schema.json +1 -0
  130. package/generated/ControlCredentialProfileCreateRequest.schema.json +1 -1
  131. package/generated/ControlCredentialProfilesQueryResponse.schema.json +1 -0
  132. package/generated/ControlCredentialProfilesResourcesResponse.schema.json +1 -0
  133. package/generated/ControlCredentialProfilesSnapshotResponse.schema.json +1 -0
  134. package/generated/ControlDaemonStatus.schema.json +112 -43
  135. package/generated/ControlGcLastResponse.schema.json +184 -0
  136. package/generated/ControlGcReceipt.schema.json +60 -1
  137. package/generated/ControlGcRequest.schema.json +4 -0
  138. package/generated/ControlQueuedRunInfo.schema.json +10 -0
  139. package/generated/ControlQuotaFreshnessResponse.schema.json +1 -0
  140. package/generated/ControlQuotaQueryResponse.schema.json +1 -0
  141. package/generated/ControlQuotaResponse.schema.json +1 -0
  142. package/generated/ControlRunAgainDraft.schema.json +5 -0
  143. package/generated/ControlRunControlResponse.schema.json +169 -0
  144. package/generated/ControlRunDecisionResponse.schema.json +14 -0
  145. package/generated/ControlRunDetail.schema.json +240 -2
  146. package/generated/ControlRunListResponse.schema.json +32 -2
  147. package/generated/ControlRunRetryResponse.schema.json +10 -0
  148. package/generated/ControlRunStartInfo.schema.json +10 -0
  149. package/generated/ControlRunStartRequest.schema.json +5 -0
  150. package/generated/ControlRunStartResponse.schema.json +18 -0
  151. package/generated/ControlRunSummary.schema.json +32 -2
  152. package/generated/ControlSetupJob.schema.json +2 -1
  153. package/generated/ControlSetupJobCreateRequest.schema.json +2 -1
  154. package/generated/ControlSetupJobEvent.schema.json +2 -1
  155. package/generated/ControlSetupJobListFilter.schema.json +2 -1
  156. package/generated/ControlSetupJobListResponse.schema.json +2 -1
  157. package/generated/ControlSetupJobSnapshot.schema.json +2 -1
  158. package/generated/ControlThreadDetail.schema.json +1 -1
  159. package/generated/ControlUploadImport.schema.json +124 -0
  160. package/generated/ControlUploadImportRequest.schema.json +66 -0
  161. package/generated/DeferredMessageCall.schema.json +331 -0
  162. package/generated/DeferredMessageDetail.schema.json +917 -0
  163. package/generated/DeferredMessageMutation.schema.json +315 -0
  164. package/generated/DeferredMessageProjection.schema.json +177 -0
  165. package/generated/DeferredMessageReadInput.schema.json +20 -0
  166. package/generated/DeferredMessageReadResult.schema.json +399 -0
  167. package/generated/DeferredMessageReceipt.schema.json +193 -0
  168. package/generated/HarnessEvent.schema.json +100 -1
  169. package/generated/McpAccountsToolResult.schema.json +1 -0
  170. package/generated/McpRunHandleResult.schema.json +226 -19
  171. package/generated/McpRunToolResult.schema.json +228 -11
  172. package/generated/McpRunWaitResult.schema.json +180 -2
  173. package/generated/McpStoreIdentityInput.schema.json +11 -0
  174. package/generated/McpUploadCreateInput.schema.json +54 -0
  175. package/generated/McpUploadFinalizeInput.schema.json +40 -0
  176. package/generated/McpUploadImportInput.schema.json +52 -0
  177. package/generated/McpUploadImportLocalInput.schema.json +27 -0
  178. package/generated/McpUploadImportLocalResult.schema.json +45 -0
  179. package/generated/McpUploadTargetInput.schema.json +20 -0
  180. package/generated/ResourceAttachmentRef.schema.json +21 -0
  181. package/generated/RoutePrimaryDivergedPayload.schema.json +23 -14
  182. package/generated/RunFailure.schema.json +31 -1
  183. package/generated/RunObservationRecord.schema.json +64 -0
  184. package/generated/RunTelemetry.schema.json +83 -1
  185. package/generated/RunWaitManyInput.schema.json +54 -0
  186. package/generated/RunWaitManyResult.schema.json +110 -0
  187. package/generated/RunWaitManySummary.schema.json +75 -0
  188. package/generated/TaskGroupId.schema.json +11 -0
  189. package/generated/TaskGroupReceipt.schema.json +26 -0
  190. package/generated/TaskGroupRunsInput.schema.json +46 -0
  191. package/generated/TaskGroupRunsResult.schema.json +162 -0
  192. package/generated/ThreadHistoryInput.schema.json +48 -0
  193. package/generated/ThreadHistoryPage.schema.json +2857 -0
  194. package/generated/ThreadPromptPart.schema.json +57 -0
  195. package/generated/ThreadPromptPartInput.schema.json +41 -0
  196. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-history.d.ts","sourceRoot":"","sources":["../src/thread-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAa3B,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAClD,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAClD,eAAO,MAAM,4BAA4B,OAAQ,CAAC;AAClD,eAAO,MAAM,yBAAyB,UAAY,CAAC;AACnD,eAAO,MAAM,wBAAwB,SAAU,CAAC;AAChD,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAClD,eAAO,MAAM,6BAA6B,QAAS,CAAC;AACpD,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAC/C,eAAO,MAAM,yBAAyB,UAAY,CAAC;AACnD,eAAO,MAAM,0BAA0B,SAAU,CAAC;AAMlD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB5B,CAAC;AACJ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB;;;;;;;;;EAUvB,CAAC;AACZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAQxB,CAAC;AACZ,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;EAEtB,CAAC;AAQX,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgClB,CAAC;AACZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAChE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIzB,CAAC;AACZ,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwG1B,CAAC;AACL,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAavB,CAAC;AACZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC1E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc1B,CAAC;AACJ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,0EAA0E;AAC1E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2B7B,CAAC;AACJ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAOzF;AACD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAK5E;AACD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAiB1E"}
@@ -0,0 +1,291 @@
1
+ import { z } from "zod/v3";
2
+ import { ControlSession, ControlThread, ControlThreadTurn, ControlTurnRunCard, ControlRunSummary, ControlRunState, } from "./control.js";
3
+ import { ControlPrimaryOutput, ControlRunDetail } from "./control-run-detail.js";
4
+ import { ControlRunEventPart } from "./control-run-event-part.js";
5
+ import { ControlHandshakeResponse } from "./operation.js";
6
+ export const THREAD_HISTORY_MAX_TURNS = 20;
7
+ export const THREAD_HISTORY_PROMPT_BYTES = 32_768;
8
+ export const THREAD_HISTORY_ANSWER_BYTES = 65_536;
9
+ export const THREAD_HISTORY_FAILURE_BYTES = 8_192;
10
+ export const THREAD_HISTORY_PAGE_BYTES = 2_097_152;
11
+ export const THREAD_HISTORY_ROW_BYTES = 851_968;
12
+ export const THREAD_HISTORY_HEADER_BYTES = 32_768;
13
+ export const THREAD_HISTORY_METADATA_BYTES = 32_768;
14
+ export const THREAD_HISTORY_SESSION_LIMIT = 16;
15
+ export const THREAD_HISTORY_FACT_BYTES = 1_048_576;
16
+ export const THREAD_HISTORY_EVENT_BYTES = 262_144;
17
+ const id = ControlThread.shape.id.max(256);
18
+ const ordinal = z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER);
19
+ const cursor = z.string().min(1).max(2048);
20
+ const storeId = ControlHandshakeResponse.shape.storeId.unwrap();
21
+ export const ThreadHistoryInput = z
22
+ .object({
23
+ threadId: id,
24
+ limit: z.number().int().min(1).max(THREAD_HISTORY_MAX_TURNS).default(THREAD_HISTORY_MAX_TURNS),
25
+ cursor: cursor.optional(),
26
+ beforeTurnId: id.optional(),
27
+ afterTurnId: id.optional(),
28
+ aroundTurnId: id.optional(),
29
+ expectedStoreId: storeId.optional(),
30
+ })
31
+ .strict()
32
+ .refine((v) => [v.cursor, v.beforeTurnId, v.afterTurnId, v.aroundTurnId].filter((v) => v !== undefined)
33
+ .length <= 1, "choose at most one cursor, beforeTurnId, afterTurnId or aroundTurnId");
34
+ /** An observation order, not a turn ordinal or a wall-clock timestamp. */
35
+ export const ThreadHistoryRevision = z
36
+ .object({
37
+ epoch: z
38
+ .string()
39
+ .uuid()
40
+ .describe("Read-owner incarnation; compare sequence only within this epoch."),
41
+ sequence: ordinal.describe("Allocated before synchronous projection. A later snapshot always has a greater sequence."),
42
+ })
43
+ .strict();
44
+ export const ThreadHistoryTextFacts = z
45
+ .object({
46
+ textBytes: ordinal,
47
+ totalTextBytes: ordinal
48
+ .nullable()
49
+ .describe("Complete redacted UTF-8 length, only when known; never an estimated remainder."),
50
+ truncated: z.boolean(),
51
+ })
52
+ .strict();
53
+ export const ThreadHistoryOutput = ControlPrimaryOutput.extend(ThreadHistoryTextFacts.shape).strict();
54
+ const count = z
55
+ .object({
56
+ value: ordinal.nullable(),
57
+ coverage: z.enum(["complete", "partial", "unavailable"]),
58
+ })
59
+ .strict();
60
+ const runStatus = z.enum(["available", "unbound", "not_retained"]);
61
+ export const ThreadHistoryRun = ControlTurnRunCard.extend({
62
+ ...ControlRunSummary.pick({
63
+ runDir: true,
64
+ authRoute: true,
65
+ harnesses: true,
66
+ primaryHarness: true,
67
+ startedAt: true,
68
+ createdAt: true,
69
+ spendEstimated: true,
70
+ route: true,
71
+ }).shape,
72
+ ...ControlRunDetail.pick({
73
+ budget: true,
74
+ failure: true,
75
+ applyEligibility: true,
76
+ requiredActions: true,
77
+ planReadiness: true,
78
+ planQuestions: true,
79
+ outcomeBanner: true,
80
+ operatorDecision: true,
81
+ runFacts: true,
82
+ }).shape,
83
+ applyEligibilityCoverage: z.enum(["complete", "unavailable"]),
84
+ operatorDecisionCoverage: z.enum(["complete", "unavailable"]),
85
+ unverifiedOperatorDecision: ControlRunDetail.shape.operatorDecision.describe("Recorded decision whose exact evidence exceeds the history read bound. Never grants authority."),
86
+ failureMessageInfo: ThreadHistoryTextFacts.nullable(),
87
+ toolCount: count,
88
+ fileCount: count.describe("File-kind tool calls, not distinct paths or the WorkProduct diffstat."),
89
+ }).strict();
90
+ export const ThreadHistoryPlanAnswer = ControlThreadTurn.pick({ id: true, prompt: true })
91
+ .extend({
92
+ promptInfo: ThreadHistoryTextFacts,
93
+ })
94
+ .strict();
95
+ export const ThreadHistoryTurn = ControlThreadTurn.omit({ run: true })
96
+ .extend({
97
+ ordinal,
98
+ revision: ThreadHistoryRevision,
99
+ promptInfo: ThreadHistoryTextFacts,
100
+ run: ThreadHistoryRun.nullable(),
101
+ runStatus,
102
+ primaryOutput: ThreadHistoryOutput.nullable(),
103
+ primaryOutputStatus: z.enum(["available", "none", "not_retained"]),
104
+ answeredByTurnId: id.nullable(),
105
+ answeredByPrompt: ThreadHistoryPlanAnswer.nullable(),
106
+ planAnswerComplete: z.boolean(),
107
+ })
108
+ .strict();
109
+ export const ThreadHistoryHeader = z
110
+ .object({
111
+ thread: ControlThread.omit({ runIds: true }).strict(),
112
+ latestTurnId: id.nullable(),
113
+ latestOrdinal: ordinal
114
+ .nullable()
115
+ .describe("Latest stored turn ordinal, including runless turns; null only for an empty thread."),
116
+ latestAdmission: ControlThreadTurn.pick({ id: true, runId: true, enqueueError: true })
117
+ .extend({ jobId: id.nullable(), state: ControlRunState.nullable() })
118
+ .strict()
119
+ .nullable(),
120
+ headRun: z.object({ runId: id, run: ControlTurnRunCard }).strict().nullable(),
121
+ headRunStatus: runStatus,
122
+ sessions: z.array(ControlSession).max(THREAD_HISTORY_SESSION_LIMIT),
123
+ sessionsComplete: z.boolean(),
124
+ })
125
+ .strict();
126
+ export const ThreadHistoryPage = z
127
+ .object({
128
+ storeId,
129
+ threadId: id,
130
+ epoch: z.string().min(1).max(256),
131
+ revision: ThreadHistoryRevision,
132
+ header: ThreadHistoryHeader,
133
+ turns: z.array(ThreadHistoryTurn).max(THREAD_HISTORY_MAX_TURNS),
134
+ hasOlder: z.boolean(),
135
+ hasNewer: z.boolean(),
136
+ olderCursor: cursor.nullable(),
137
+ newerCursor: cursor.nullable(),
138
+ replayCursor: cursor.nullable(),
139
+ replayNextCursor: cursor
140
+ .nullable()
141
+ .describe("Continue the original replay membership if current facts no longer fit one page; merge every segment before declaring the refresh complete."),
142
+ limitedBy: z.enum(["turns", "bytes"]).nullable(),
143
+ })
144
+ .strict()
145
+ .superRefine((v, ctx) => {
146
+ const issue = (message) => ctx.addIssue({ code: z.ZodIssueCode.custom, message });
147
+ if (Buffer.byteLength(JSON.stringify(v)) > THREAD_HISTORY_PAGE_BYTES)
148
+ issue("history page exceeds byte limit");
149
+ if (Buffer.byteLength(JSON.stringify(v.header)) > THREAD_HISTORY_HEADER_BYTES)
150
+ issue("history header exceeds byte limit");
151
+ if (v.hasOlder !== (v.olderCursor !== null) || v.hasNewer !== (v.newerCursor !== null))
152
+ issue("history edge cursor disagrees with coverage");
153
+ const statusFor = (id, facts) => !id ? "unbound" : facts ? "available" : "not_retained";
154
+ if (v.header.headRunStatus !== statusFor(v.header.thread.headRunId, v.header.headRun))
155
+ issue("head run status disagrees with retained facts");
156
+ for (const [i, row] of v.turns.entries()) {
157
+ if (row.runStatus !== statusFor(row.runId, row.run) ||
158
+ row.primaryOutputStatus !==
159
+ (row.runStatus === "not_retained"
160
+ ? "not_retained"
161
+ : row.primaryOutput
162
+ ? "available"
163
+ : "none"))
164
+ issue("row status disagrees with retained facts");
165
+ if (row.threadId !== v.threadId ||
166
+ row.revision.epoch !== v.revision.epoch ||
167
+ row.revision.sequence !== v.revision.sequence)
168
+ issue("row does not belong to this observation");
169
+ if (i > 0 && row.ordinal <= v.turns[i - 1].ordinal)
170
+ issue("turns must ascend by ordinal");
171
+ if (Buffer.byteLength(row.prompt) > THREAD_HISTORY_PROMPT_BYTES ||
172
+ row.promptInfo.textBytes !== Buffer.byteLength(row.prompt))
173
+ issue("invalid prompt byte count");
174
+ if (row.primaryOutput &&
175
+ (row.primaryOutput.textBytes !== Buffer.byteLength(row.primaryOutput.text ?? "") ||
176
+ row.primaryOutput.textBytes > THREAD_HISTORY_ANSWER_BYTES))
177
+ issue("invalid answer byte count");
178
+ if (row.run?.failure &&
179
+ (!row.run.failureMessageInfo ||
180
+ row.run.failureMessageInfo.textBytes !== Buffer.byteLength(row.run.failure.safeMessage) ||
181
+ row.run.failureMessageInfo.textBytes > THREAD_HISTORY_FAILURE_BYTES))
182
+ issue("invalid failure preview byte count");
183
+ if (row.run &&
184
+ ((row.run.applyEligibilityCoverage === "unavailable" &&
185
+ row.run.applyEligibility !== null) ||
186
+ (row.run.operatorDecisionCoverage === "unavailable" &&
187
+ (row.run.operatorDecision !== null || !row.run.unverifiedOperatorDecision)) ||
188
+ (row.run.operatorDecisionCoverage === "complete" &&
189
+ row.run.unverifiedOperatorDecision !== null)))
190
+ issue("unavailable apply evidence must not grant authority");
191
+ if (row.answeredByPrompt &&
192
+ (row.answeredByPrompt.id !== row.answeredByTurnId ||
193
+ Buffer.byteLength(row.answeredByPrompt.prompt) > THREAD_HISTORY_PROMPT_BYTES ||
194
+ row.answeredByPrompt.promptInfo.textBytes !==
195
+ Buffer.byteLength(row.answeredByPrompt.prompt)))
196
+ issue("invalid plan answer preview");
197
+ for (const facts of [
198
+ row.promptInfo,
199
+ row.primaryOutput,
200
+ row.answeredByPrompt?.promptInfo,
201
+ row.run?.failureMessageInfo,
202
+ ]) {
203
+ if (facts &&
204
+ facts.totalTextBytes !== null &&
205
+ (facts.totalTextBytes < facts.textBytes ||
206
+ (!facts.truncated && facts.totalTextBytes !== facts.textBytes)))
207
+ issue("invalid total text bytes");
208
+ }
209
+ if (Buffer.byteLength(JSON.stringify(row)) > THREAD_HISTORY_ROW_BYTES)
210
+ issue("history row exceeds byte limit");
211
+ }
212
+ });
213
+ export const ThreadPromptPartInput = z
214
+ .object({
215
+ threadId: id,
216
+ turnId: id,
217
+ offset: ordinal.default(0),
218
+ maxBytes: z
219
+ .number()
220
+ .int()
221
+ .min(4)
222
+ .max(THREAD_HISTORY_ANSWER_BYTES)
223
+ .default(THREAD_HISTORY_PROMPT_BYTES),
224
+ expectedStoreId: storeId.optional(),
225
+ })
226
+ .strict();
227
+ export const ThreadPromptPart = ControlRunEventPart.omit({ runId: true, seq: true, type: true })
228
+ .extend({
229
+ threadId: id,
230
+ turnId: id,
231
+ totalBytes: ordinal,
232
+ })
233
+ .strict()
234
+ .refine((v) => v.offset <= v.nextOffset &&
235
+ v.nextOffset <= v.totalBytes &&
236
+ v.nextOffset - v.offset === Buffer.byteLength(v.text) &&
237
+ Buffer.byteLength(v.text) <= THREAD_HISTORY_ANSWER_BYTES, "invalid prompt byte interval");
238
+ /** Internal cursor payload; callers treat its wire encoding as opaque. */
239
+ export const ThreadHistoryCursor = z
240
+ .object({
241
+ version: z.literal(1),
242
+ storeId,
243
+ epoch: z.string().min(1).max(256),
244
+ threadId: id,
245
+ limit: z.number().int().min(1).max(THREAD_HISTORY_MAX_TURNS),
246
+ direction: z.enum(["older", "newer", "replay"]),
247
+ low: ordinal,
248
+ high: ordinal,
249
+ ceiling: ordinal,
250
+ after: ordinal.optional(),
251
+ inclusive: z
252
+ .literal(true)
253
+ .optional()
254
+ .describe("Reverse navigation from an empty boundary includes the selector edge; no emitted row is skipped."),
255
+ })
256
+ .strict()
257
+ .refine((v) => v.low <= v.high &&
258
+ v.high <= v.ceiling &&
259
+ (v.inclusive === undefined || (v.direction !== "replay" && v.low === v.high)) &&
260
+ (v.after === undefined || (v.direction === "replay" && v.after >= v.low && v.after < v.high)), "invalid cursor interval");
261
+ export function threadHistoryProblem(code, status, message) {
262
+ return Object.assign(new Error(message), {
263
+ code,
264
+ status,
265
+ retryable: status === 503,
266
+ requiredActions: status === 409 ? ["resnapshot"] : [],
267
+ });
268
+ }
269
+ export function encodeThreadHistoryCursor(value) {
270
+ const wire = Buffer.from(JSON.stringify(ThreadHistoryCursor.parse(value))).toString("base64url");
271
+ if (wire.length > 2048)
272
+ throw threadHistoryProblem("invalid_thread_history_cursor", 400, "cursor exceeds limit");
273
+ return wire;
274
+ }
275
+ export function decodeThreadHistoryCursor(raw) {
276
+ try {
277
+ if (raw.length > 2048 || !/^[A-Za-z0-9_-]+$/.test(raw))
278
+ throw new Error();
279
+ const bytes = Buffer.from(raw, "base64url");
280
+ if (bytes.toString("base64url") !== raw)
281
+ throw new Error();
282
+ const parsed = ThreadHistoryCursor.parse(JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(bytes)));
283
+ if (encodeThreadHistoryCursor(parsed) !== raw)
284
+ throw new Error();
285
+ return parsed;
286
+ }
287
+ catch {
288
+ throw threadHistoryProblem("invalid_thread_history_cursor", 400, "malformed thread history cursor");
289
+ }
290
+ }
291
+ //# sourceMappingURL=thread-history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-history.js","sourceRoot":"","sources":["../src/thread-history.ts"],"names":[],"mappings":"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"}
@@ -276,6 +276,7 @@
276
276
  "claude_oauth_usage",
277
277
  "agy_command_usage",
278
278
  "cursor_rate_limit",
279
+ "grok_rate_limit",
279
280
  "claude_rate_limit_event",
280
281
  "codex_app_server_event",
281
282
  "codex_image_response"
@@ -171,6 +171,7 @@
171
171
  "claude_oauth_usage",
172
172
  "agy_command_usage",
173
173
  "cursor_rate_limit",
174
+ "grok_rate_limit",
174
175
  "claude_rate_limit_event",
175
176
  "codex_app_server_event",
176
177
  "codex_image_response"
@@ -161,6 +161,7 @@
161
161
  "claude_oauth_usage",
162
162
  "agy_command_usage",
163
163
  "cursor_rate_limit",
164
+ "grok_rate_limit",
164
165
  "claude_rate_limit_event",
165
166
  "codex_app_server_event",
166
167
  "codex_image_response"
@@ -7,7 +7,7 @@
7
7
  "harnessId": {
8
8
  "type": "string",
9
9
  "minLength": 1,
10
- "description": "Harness family (agy | claude | codex | cursor) for the config-dir login profile."
10
+ "description": "Harness family (agy | claude | codex | cursor | grok) for the config-dir login profile."
11
11
  },
12
12
  "profileId": {
13
13
  "type": "string",
@@ -1594,6 +1594,7 @@
1594
1594
  "claude_oauth_usage",
1595
1595
  "agy_command_usage",
1596
1596
  "cursor_rate_limit",
1597
+ "grok_rate_limit",
1597
1598
  "claude_rate_limit_event",
1598
1599
  "codex_app_server_event",
1599
1600
  "codex_image_response"
@@ -1573,6 +1573,7 @@
1573
1573
  "claude_oauth_usage",
1574
1574
  "agy_command_usage",
1575
1575
  "cursor_rate_limit",
1576
+ "grok_rate_limit",
1576
1577
  "claude_rate_limit_event",
1577
1578
  "codex_app_server_event",
1578
1579
  "codex_image_response"
@@ -1573,6 +1573,7 @@
1573
1573
  "claude_oauth_usage",
1574
1574
  "agy_command_usage",
1575
1575
  "cursor_rate_limit",
1576
+ "grok_rate_limit",
1576
1577
  "claude_rate_limit_event",
1577
1578
  "codex_app_server_event",
1578
1579
  "codex_image_response"
@@ -663,56 +663,94 @@
663
663
  "route": {
664
664
  "type": "string"
665
665
  },
666
- "lifetime": {
667
- "type": "object",
668
- "properties": {
669
- "count": {
670
- "type": "integer",
671
- "minimum": 0
672
- },
673
- "p50Ms": {
674
- "anyOf": [
675
- {
676
- "$ref": "#/definitions/ControlDaemonStatus/properties/timing/properties/windowMs/anyOf/0"
677
- },
678
- {
679
- "type": "null"
680
- }
681
- ]
682
- },
683
- "p99Ms": {
684
- "anyOf": [
685
- {
686
- "$ref": "#/definitions/ControlDaemonStatus/properties/timing/properties/windowMs/anyOf/0"
666
+ "outcomes": {
667
+ "type": "array",
668
+ "items": {
669
+ "type": "object",
670
+ "properties": {
671
+ "outcome": {
672
+ "type": "string",
673
+ "enum": [
674
+ "served",
675
+ "not_found",
676
+ "disconnected_at_entry",
677
+ "disconnected",
678
+ "failed"
679
+ ]
680
+ },
681
+ "lifetime": {
682
+ "type": "object",
683
+ "properties": {
684
+ "count": {
685
+ "type": "integer",
686
+ "minimum": 0
687
+ },
688
+ "p50Ms": {
689
+ "anyOf": [
690
+ {
691
+ "$ref": "#/definitions/ControlDaemonStatus/properties/timing/properties/windowMs/anyOf/0"
692
+ },
693
+ {
694
+ "type": "null"
695
+ }
696
+ ]
697
+ },
698
+ "p99Ms": {
699
+ "anyOf": [
700
+ {
701
+ "$ref": "#/definitions/ControlDaemonStatus/properties/timing/properties/windowMs/anyOf/0"
702
+ },
703
+ {
704
+ "type": "null"
705
+ }
706
+ ]
707
+ },
708
+ "maxMs": {
709
+ "anyOf": [
710
+ {
711
+ "$ref": "#/definitions/ControlDaemonStatus/properties/timing/properties/windowMs/anyOf/0"
712
+ },
713
+ {
714
+ "type": "null"
715
+ }
716
+ ]
717
+ }
687
718
  },
688
- {
689
- "type": "null"
690
- }
691
- ]
719
+ "required": [
720
+ "count",
721
+ "p50Ms",
722
+ "p99Ms",
723
+ "maxMs"
724
+ ],
725
+ "additionalProperties": false
726
+ },
727
+ "window": {
728
+ "anyOf": [
729
+ {
730
+ "$ref": "#/definitions/ControlDaemonStatus/properties/timing/properties/routes/items/properties/outcomes/items/properties/lifetime"
731
+ },
732
+ {
733
+ "type": "null"
734
+ }
735
+ ]
736
+ }
692
737
  },
693
- "maxMs": {
694
- "anyOf": [
695
- {
696
- "$ref": "#/definitions/ControlDaemonStatus/properties/timing/properties/windowMs/anyOf/0"
697
- },
698
- {
699
- "type": "null"
700
- }
701
- ]
702
- }
738
+ "required": [
739
+ "outcome",
740
+ "lifetime",
741
+ "window"
742
+ ],
743
+ "additionalProperties": false
703
744
  },
704
- "required": [
705
- "count",
706
- "p50Ms",
707
- "p99Ms",
708
- "maxMs"
709
- ],
710
- "additionalProperties": false
745
+ "maxItems": 5
746
+ },
747
+ "lifetime": {
748
+ "$ref": "#/definitions/ControlDaemonStatus/properties/timing/properties/routes/items/properties/outcomes/items/properties/lifetime"
711
749
  },
712
750
  "window": {
713
751
  "anyOf": [
714
752
  {
715
- "$ref": "#/definitions/ControlDaemonStatus/properties/timing/properties/routes/items/properties/lifetime"
753
+ "$ref": "#/definitions/ControlDaemonStatus/properties/timing/properties/routes/items/properties/outcomes/items/properties/lifetime"
716
754
  },
717
755
  {
718
756
  "type": "null"
@@ -763,6 +801,37 @@
763
801
  },
764
802
  "maxItems": 32,
765
803
  "description": "The 32 longest instrumented synchronous sections since process start, descending by duration, retaining later samples on ties. Labels contain no SQL, paths, IDs or payloads. Scope persistence measures synchronous serialization only; its file writes are asynchronous. Sections can overlap; these facts do not attribute a stall to disk or another cause."
804
+ },
805
+ "bulk": {
806
+ "type": "array",
807
+ "items": {
808
+ "type": "object",
809
+ "properties": {
810
+ "kind": {
811
+ "type": "string",
812
+ "enum": [
813
+ "cursor",
814
+ "detail",
815
+ "summary",
816
+ "event-replay",
817
+ "artifact"
818
+ ]
819
+ },
820
+ "queue": {
821
+ "$ref": "#/definitions/ControlDaemonStatus/properties/timing/properties/routes/items/properties/outcomes/items/properties/lifetime"
822
+ },
823
+ "projection": {
824
+ "$ref": "#/definitions/ControlDaemonStatus/properties/timing/properties/routes/items/properties/outcomes/items/properties/lifetime"
825
+ }
826
+ },
827
+ "required": [
828
+ "kind",
829
+ "queue",
830
+ "projection"
831
+ ],
832
+ "additionalProperties": false
833
+ },
834
+ "description": "Finite bulk reads: lifetime queue residence and worker execution wall times, including scheduling and asynchronous retained-output publication. These are not main-thread synchronous sections."
766
835
  }
767
836
  },
768
837
  "required": [