@tangle-network/agent-app 0.45.53 → 0.45.55

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 (480) hide show
  1. package/README.md +1 -1
  2. package/dist/alerting/index.d.ts +5 -175
  3. package/dist/alerting/slack.d.ts +176 -0
  4. package/dist/app-auth/index.d.ts +14 -17
  5. package/dist/assets/index.d.ts +2 -504
  6. package/dist/assets/schema.d.ts +264 -0
  7. package/dist/assets/types.d.ts +237 -0
  8. package/dist/assistant/AssistantDock.d.ts +56 -0
  9. package/dist/assistant/AssistantHistory.d.ts +41 -0
  10. package/dist/assistant/AssistantPanel.d.ts +84 -0
  11. package/dist/assistant/ProposalCard.d.ts +41 -0
  12. package/dist/assistant/ResizeHandle.d.ts +19 -0
  13. package/dist/assistant/client-context.d.ts +20 -0
  14. package/dist/assistant/client.d.ts +117 -0
  15. package/dist/assistant/index.d.ts +19 -848
  16. package/dist/assistant/launcher.d.ts +23 -0
  17. package/dist/assistant/persistence.d.ts +26 -0
  18. package/dist/assistant/presentation.d.ts +99 -0
  19. package/dist/assistant/provider-label.d.ts +7 -0
  20. package/dist/assistant/reducer.d.ts +130 -0
  21. package/dist/assistant/sse.d.ts +24 -0
  22. package/dist/assistant/time-ago.d.ts +6 -0
  23. package/dist/assistant/transcript.d.ts +97 -0
  24. package/dist/assistant/types.d.ts +291 -0
  25. package/dist/assistant/use-stick-to-bottom.d.ts +28 -0
  26. package/dist/assistant/useAssistantChat.d.ts +63 -0
  27. package/dist/assistant/useAssistantModels.d.ts +22 -0
  28. package/dist/assistant/useAssistantThreads.d.ts +47 -0
  29. package/dist/assistant/usePanelPrefs.d.ts +55 -0
  30. package/dist/billing/index.d.ts +19 -21
  31. package/dist/brand/index.d.ts +16 -10
  32. package/dist/brand-extraction/extract.d.ts +34 -0
  33. package/dist/brand-extraction/index.d.ts +12 -214
  34. package/dist/brand-extraction/map.d.ts +58 -0
  35. package/dist/brand-extraction/types.d.ts +119 -0
  36. package/dist/catalog/index.d.ts +11 -101
  37. package/dist/chat-react/composer-mode-controls.d.ts +14 -0
  38. package/dist/chat-react/entry-composer.d.ts +92 -0
  39. package/dist/chat-react/index.d.ts +22 -118
  40. package/dist/chat-react/types.d.ts +11 -0
  41. package/dist/chat-routes/attachment-store.d.ts +84 -0
  42. package/dist/chat-routes/attachment-upload.d.ts +84 -0
  43. package/dist/chat-routes/attachment-validation.d.ts +95 -0
  44. package/dist/chat-routes/binary-sniff.d.ts +45 -0
  45. package/dist/chat-routes/completed-sandbox-turn.d.ts +25 -0
  46. package/dist/chat-routes/detached-turn.d.ts +197 -0
  47. package/dist/chat-routes/dispatch-parts.d.ts +101 -0
  48. package/dist/chat-routes/draft-persistence.d.ts +189 -0
  49. package/dist/chat-routes/durable-projection.d.ts +18 -0
  50. package/dist/chat-routes/file-index.d.ts +115 -0
  51. package/dist/chat-routes/index.d.ts +25 -1840
  52. package/dist/chat-routes/model-failover-stream.d.ts +206 -0
  53. package/dist/chat-routes/promote-file-part.d.ts +84 -0
  54. package/dist/chat-routes/resolve-attachments.d.ts +72 -0
  55. package/dist/chat-routes/sandbox-producer.d.ts +146 -0
  56. package/dist/chat-routes/sandbox-turn-usage.d.ts +4 -0
  57. package/dist/{stale-turn-lock-DucQzvXu.d.ts → chat-routes/stale-turn-lock.d.ts} +7 -9
  58. package/dist/chat-routes/turn-routes.d.ts +540 -0
  59. package/dist/chat-routes/upload.d.ts +84 -0
  60. package/dist/{wire-DOZ-O6hD.d.ts → chat-routes/wire.d.ts} +41 -44
  61. package/dist/chat-store/core.d.ts +19 -0
  62. package/dist/chat-store/index.d.ts +22 -322
  63. package/dist/{parts-BqIHMdyu.d.ts → chat-store/parts.d.ts} +49 -47
  64. package/dist/chat-store/schema.d.ts +157 -0
  65. package/dist/chat-store/store.d.ts +177 -0
  66. package/dist/config/index.d.ts +13 -18
  67. package/dist/crypto/index.d.ts +10 -12
  68. package/dist/crypto/web-token.d.ts +22 -0
  69. package/dist/design-canvas/apply.d.ts +70 -0
  70. package/dist/design-canvas/drizzle-store.d.ts +29 -0
  71. package/dist/design-canvas/drizzle.d.ts +7 -575
  72. package/dist/{export-presets-mgVulRaV.d.ts → design-canvas/export-presets.d.ts} +18 -22
  73. package/dist/design-canvas/index.d.ts +22 -268
  74. package/dist/design-canvas/mcp-entry.d.ts +15 -0
  75. package/dist/design-canvas/mcp-handler.d.ts +34 -0
  76. package/dist/design-canvas/mcp-tools.d.ts +30 -0
  77. package/dist/{model-DnfO_PdJ.d.ts → design-canvas/model.d.ts} +33 -35
  78. package/dist/{operations-ByJ6yXOW.d.ts → design-canvas/operations.d.ts} +21 -25
  79. package/dist/design-canvas/schema.d.ts +558 -0
  80. package/dist/{store-CqfDtnPQ.d.ts → design-canvas/store.d.ts} +8 -12
  81. package/dist/design-canvas/templates.d.ts +72 -0
  82. package/dist/design-canvas/validate.d.ts +32 -0
  83. package/dist/design-canvas-react/components/BleedTrimOverlay.d.ts +22 -0
  84. package/dist/design-canvas-react/components/BrandKnot.d.ts +11 -0
  85. package/dist/design-canvas-react/components/CanvasEmptyState.d.ts +32 -0
  86. package/dist/design-canvas-react/components/CanvasInsertPanel.d.ts +53 -0
  87. package/dist/{lazy-DrkVyDpe.d.ts → design-canvas-react/components/DesignCanvas.d.ts} +27 -20
  88. package/dist/design-canvas-react/components/DesignCanvasEditor.d.ts +23 -0
  89. package/dist/design-canvas-react/components/ElementNode.d.ts +51 -0
  90. package/dist/design-canvas-react/components/ExportControl.d.ts +21 -0
  91. package/dist/design-canvas-react/components/GridLayer.d.ts +47 -0
  92. package/dist/design-canvas-react/components/InlineTextEditor.d.ts +25 -0
  93. package/dist/design-canvas-react/components/LayersPanel.d.ts +20 -0
  94. package/dist/design-canvas-react/components/PagesStrip.d.ts +34 -0
  95. package/dist/design-canvas-react/components/Rulers.d.ts +31 -0
  96. package/dist/design-canvas-react/components/SelectionLayer.d.ts +51 -0
  97. package/dist/design-canvas-react/components/SnapGuidesOverlay.d.ts +25 -0
  98. package/dist/design-canvas-react/components/Toolbar.d.ts +64 -0
  99. package/dist/design-canvas-react/components/Workspace.d.ts +92 -0
  100. package/dist/design-canvas-react/components/ZoomControls.d.ts +14 -0
  101. package/dist/design-canvas-react/components/glyphs.d.ts +46 -0
  102. package/dist/design-canvas-react/components/icon-button.d.ts +22 -0
  103. package/dist/design-canvas-react/components/index.d.ts +27 -0
  104. package/dist/design-canvas-react/components/layer-tree.d.ts +34 -0
  105. package/dist/design-canvas-react/components/ruler-math.d.ts +78 -0
  106. package/dist/design-canvas-react/components/transform-math.d.ts +168 -0
  107. package/dist/{command-stack-TNPWJCzW.d.ts → design-canvas-react/contracts.d.ts} +16 -63
  108. package/dist/design-canvas-react/engine/command-stack.d.ts +43 -0
  109. package/dist/design-canvas-react/engine/commands.d.ts +154 -0
  110. package/dist/design-canvas-react/engine/selection.d.ts +48 -0
  111. package/dist/design-canvas-react/engine/snap.d.ts +24 -0
  112. package/dist/design-canvas-react/engine/zoom-pan.d.ts +18 -0
  113. package/dist/design-canvas-react/engine.d.ts +21 -399
  114. package/dist/design-canvas-react/export-math.d.ts +104 -0
  115. package/dist/design-canvas-react/export.d.ts +89 -0
  116. package/dist/design-canvas-react/index.d.ts +16 -586
  117. package/dist/design-canvas-react/insert-builders.d.ts +61 -0
  118. package/dist/design-canvas-react/lazy.d.ts +21 -6
  119. package/dist/documents/docx.d.ts +50 -0
  120. package/dist/documents/extract.d.ts +87 -0
  121. package/dist/documents/index.d.ts +26 -232
  122. package/dist/documents/media-type.d.ts +33 -0
  123. package/dist/documents/pdf-inspector.d.ts +5 -9
  124. package/dist/{types-DrBidf3O.d.ts → documents/types.d.ts} +13 -15
  125. package/dist/documents/zip.d.ts +56 -0
  126. package/dist/eval/calibration.d.ts +106 -0
  127. package/dist/eval/index.d.ts +8 -116
  128. package/dist/eval-campaign/index.d.ts +11 -12
  129. package/dist/{trust-gate-Dcm5xSva.d.ts → eval-campaign/trust-gate.d.ts} +5 -9
  130. package/dist/forms/blank.d.ts +48 -0
  131. package/dist/forms/fill.d.ts +105 -0
  132. package/dist/forms/index.d.ts +58 -332
  133. package/dist/forms/registry.d.ts +115 -0
  134. package/dist/forms/verify.d.ts +58 -0
  135. package/dist/harness/index.d.ts +21 -19
  136. package/dist/intakes/api.d.ts +5 -11
  137. package/dist/{completion-CvcNUz07.d.ts → intakes/completion.d.ts} +7 -11
  138. package/dist/intakes/context-sufficiency.d.ts +113 -0
  139. package/dist/intakes/drizzle/schema.d.ts +338 -0
  140. package/dist/intakes/drizzle/store.d.ts +75 -0
  141. package/dist/intakes/drizzle.d.ts +12 -391
  142. package/dist/intakes/index.d.ts +23 -113
  143. package/dist/{model-C8U0HZxL.d.ts → intakes/model.d.ts} +15 -17
  144. package/dist/intakes-react/components/BrandMark.d.ts +10 -0
  145. package/dist/intakes-react/components/IntakeInterview.d.ts +15 -0
  146. package/dist/intakes-react/components/index.d.ts +1 -0
  147. package/dist/intakes-react/contracts.d.ts +42 -0
  148. package/dist/intakes-react/index.d.ts +12 -47
  149. package/dist/intakes-react/lazy.d.ts +9 -8
  150. package/dist/integrations/index.d.ts +10 -12
  151. package/dist/{contract-OxG_jVMx.d.ts → interactions/contract.d.ts} +40 -42
  152. package/dist/interactions/index.d.ts +16 -256
  153. package/dist/interactions/route.d.ts +151 -0
  154. package/dist/interactions/sidecar.d.ts +100 -0
  155. package/dist/knowledge/index.d.ts +7 -11
  156. package/dist/knowledge-loop/index.d.ts +13 -20
  157. package/dist/legibility/checks/empty-state.d.ts +59 -0
  158. package/dist/legibility/checks/reachability.d.ts +103 -0
  159. package/dist/legibility/checks/silent-failure.d.ts +57 -0
  160. package/dist/legibility/checks/success.d.ts +38 -0
  161. package/dist/legibility/checks/vocabulary.d.ts +65 -0
  162. package/dist/legibility/cli-args.d.ts +30 -0
  163. package/dist/legibility/cli.d.ts +25 -0
  164. package/dist/legibility/index.d.ts +10 -530
  165. package/dist/legibility/report.d.ts +22 -0
  166. package/dist/legibility/scan.d.ts +29 -0
  167. package/dist/legibility/source.d.ts +132 -0
  168. package/dist/legibility/suppress.d.ts +36 -0
  169. package/dist/legibility/types.d.ts +168 -0
  170. package/dist/legibility/walk-sources.d.ts +21 -0
  171. package/dist/{agent-activity-C8ZG0F0M.d.ts → missions/agent-activity.d.ts} +3 -5
  172. package/dist/missions/engine.d.ts +251 -0
  173. package/dist/missions/events.d.ts +195 -0
  174. package/dist/missions/index.d.ts +12 -765
  175. package/dist/missions/plan-parse.d.ts +50 -0
  176. package/dist/missions/service.d.ts +265 -0
  177. package/dist/{failover-D-3UXXTb.d.ts → model-resolution/failover.d.ts} +10 -12
  178. package/dist/model-resolution/index.d.ts +15 -18
  179. package/dist/object-store/index.d.ts +15 -17
  180. package/dist/openui/action.d.ts +54 -0
  181. package/dist/openui/authoring.d.ts +25 -0
  182. package/dist/openui/index.d.ts +24 -206
  183. package/dist/openui/route.d.ts +124 -0
  184. package/dist/openui/segments.d.ts +71 -0
  185. package/dist/openui/values.d.ts +82 -0
  186. package/dist/openui-react/index.d.ts +9 -13
  187. package/dist/peer-floors/check.d.ts +9 -190
  188. package/dist/peer-floors/cli.d.ts +2 -3
  189. package/dist/peer-floors/dependency-source.d.ts +178 -0
  190. package/dist/plans/index.d.ts +13 -14
  191. package/dist/{billing-BuNlaKlE.d.ts → platform/billing.d.ts} +28 -32
  192. package/dist/platform/guards.d.ts +79 -0
  193. package/dist/platform/hub.d.ts +107 -0
  194. package/dist/platform/index.d.ts +7 -112
  195. package/dist/{sso-Cm00S61u.d.ts → platform/sso.d.ts} +15 -97
  196. package/dist/preflight/cli.d.ts +3 -6
  197. package/dist/preflight/index.d.ts +16 -18
  198. package/dist/preset-cloudflare/headers.d.ts +12 -0
  199. package/dist/preset-cloudflare/index.d.ts +22 -74
  200. package/dist/preset-cloudflare/workflow-instance.d.ts +35 -0
  201. package/dist/profile/budget.d.ts +72 -0
  202. package/dist/profile/fingerprint.d.ts +65 -0
  203. package/dist/profile/index.d.ts +27 -19
  204. package/dist/prompt/index.d.ts +3 -5
  205. package/dist/record/drizzle/schema.d.ts +488 -0
  206. package/dist/record/drizzle/store.d.ts +224 -0
  207. package/dist/record/drizzle.d.ts +10 -679
  208. package/dist/record/fold.d.ts +99 -0
  209. package/dist/record/index.d.ts +13 -13
  210. package/dist/{fold-DACU7gtf.d.ts → record/model.d.ts} +22 -124
  211. package/dist/record/ulid.d.ts +12 -0
  212. package/dist/redact/index.d.ts +14 -16
  213. package/dist/run/index.d.ts +11 -16
  214. package/dist/runtime/agent.d.ts +23 -0
  215. package/dist/runtime/certified-delivery.d.ts +57 -0
  216. package/dist/runtime/index.d.ts +17 -367
  217. package/dist/runtime/loop.d.ts +58 -0
  218. package/dist/runtime/model-catalog.d.ts +103 -0
  219. package/dist/{model-CdCDfBA9.d.ts → runtime/model.d.ts} +25 -27
  220. package/dist/runtime/openai-stream.d.ts +126 -0
  221. package/dist/runtime/surface-profile.d.ts +115 -0
  222. package/dist/sandbox/binary-read.d.ts +63 -0
  223. package/dist/sandbox/diagnostics.d.ts +69 -0
  224. package/dist/sandbox/index.d.ts +103 -1085
  225. package/dist/sandbox/model.d.ts +179 -0
  226. package/dist/sandbox/outcome.d.ts +10 -0
  227. package/dist/sandbox/prewarm-claim-d1.d.ts +80 -0
  228. package/dist/sandbox/prewarm.d.ts +193 -0
  229. package/dist/sandbox/recovery.d.ts +216 -0
  230. package/dist/sandbox/terminal-connection.d.ts +145 -0
  231. package/dist/sandbox/workspace-sandbox-manager.d.ts +44 -0
  232. package/dist/sequences/apply.d.ts +54 -0
  233. package/dist/sequences/captions.d.ts +91 -0
  234. package/dist/sequences/drizzle-store.d.ts +36 -0
  235. package/dist/sequences/drizzle.d.ts +7 -1252
  236. package/dist/sequences/exports.d.ts +138 -0
  237. package/dist/sequences/index.d.ts +19 -340
  238. package/dist/sequences/mcp-entry.d.ts +15 -0
  239. package/dist/sequences/mcp-handler.d.ts +39 -0
  240. package/dist/sequences/mcp-tools.d.ts +47 -0
  241. package/dist/{store-B7LLlk9p.d.ts → sequences/model.d.ts} +26 -110
  242. package/dist/sequences/operations.d.ts +126 -0
  243. package/dist/sequences/schema.d.ts +1231 -0
  244. package/dist/sequences/store.d.ts +81 -0
  245. package/dist/sequences/validate.d.ts +98 -0
  246. package/dist/sequences-react/components/BrandMark.d.ts +10 -0
  247. package/dist/sequences-react/components/PreviewCanvas.d.ts +26 -0
  248. package/dist/sequences-react/components/SnapIndicatorLine.d.ts +11 -0
  249. package/dist/sequences-react/components/TimelineClipChip.d.ts +80 -0
  250. package/dist/sequences-react/components/TimelineEditor.d.ts +44 -0
  251. package/dist/sequences-react/components/TimelineEmptyState.d.ts +21 -0
  252. package/dist/sequences-react/components/TimelineGhostLanes.d.ts +14 -0
  253. package/dist/sequences-react/components/TimelinePlayhead.d.ts +11 -0
  254. package/dist/sequences-react/components/TimelineRuler.d.ts +16 -0
  255. package/dist/sequences-react/components/TimelineSmallScreenGate.d.ts +12 -0
  256. package/dist/sequences-react/components/TimelineTrackRow.d.ts +51 -0
  257. package/dist/sequences-react/components/ZoomControl.d.ts +15 -0
  258. package/dist/sequences-react/components/composite-command.d.ts +8 -0
  259. package/dist/sequences-react/components/glyphs.d.ts +26 -0
  260. package/dist/sequences-react/components/index.d.ts +31 -0
  261. package/dist/sequences-react/components/interaction-math.d.ts +103 -0
  262. package/dist/sequences-react/contracts.d.ts +187 -0
  263. package/dist/sequences-react/engine/command-stack.d.ts +18 -0
  264. package/dist/sequences-react/engine/commands.d.ts +146 -0
  265. package/dist/sequences-react/engine/playback.d.ts +18 -0
  266. package/dist/sequences-react/engine/snap.d.ts +29 -0
  267. package/dist/sequences-react/engine/zoom.d.ts +29 -0
  268. package/dist/sequences-react/index.d.ts +20 -880
  269. package/dist/sequences-react/lazy.d.ts +8 -0
  270. package/dist/sequences-react/media/frame-provider.d.ts +70 -0
  271. package/dist/sequences-react/media/transcription.d.ts +33 -0
  272. package/dist/sequences-react/media/waveform.d.ts +34 -0
  273. package/dist/session-shell/index.d.ts +31 -204
  274. package/dist/session-shell/nav-guard.d.ts +170 -0
  275. package/dist/session-shell/path.d.ts +19 -0
  276. package/dist/signoff/cli.d.ts +4 -7
  277. package/dist/signoff/config.d.ts +12 -0
  278. package/dist/signoff/exec.d.ts +44 -0
  279. package/dist/signoff/index.d.ts +56 -14
  280. package/dist/signoff/invoked-as-script.d.ts +25 -0
  281. package/dist/signoff/node-version.d.ts +50 -0
  282. package/dist/signoff/proof-attach.d.ts +88 -0
  283. package/dist/signoff/proof-cli.d.ts +1 -0
  284. package/dist/signoff/proof-fixture.d.ts +13 -0
  285. package/dist/signoff/proof-from-report.d.ts +22 -0
  286. package/dist/signoff/proof-git.d.ts +57 -0
  287. package/dist/signoff/proof-record.d.ts +202 -0
  288. package/dist/signoff/proof-verify.d.ts +103 -0
  289. package/dist/signoff/proof.d.ts +35 -310
  290. package/dist/signoff/report.d.ts +7 -0
  291. package/dist/{run-D80hoLKh.d.ts → signoff/run.d.ts} +3 -6
  292. package/dist/signoff/schedule.d.ts +55 -0
  293. package/dist/signoff/seeds.d.ts +50 -0
  294. package/dist/signoff/store.d.ts +22 -0
  295. package/dist/{types-Bd6uW9vQ.d.ts → signoff/types.d.ts} +15 -17
  296. package/dist/signoff/workflow-pin.d.ts +56 -0
  297. package/dist/signoff/workspace.d.ts +40 -0
  298. package/dist/skills/index.d.ts +28 -32
  299. package/dist/skills-placement/index.d.ts +7 -11
  300. package/dist/spend/budget.d.ts +123 -0
  301. package/dist/spend/ceiling.d.ts +51 -0
  302. package/dist/spend/cli-args.d.ts +20 -0
  303. package/dist/spend/cli.d.ts +1 -0
  304. package/dist/spend/fixtures/incident-parked-time.d.ts +55 -0
  305. package/dist/spend/index.d.ts +38 -1144
  306. package/dist/spend/liveness.d.ts +131 -0
  307. package/dist/spend/ownership.d.ts +87 -0
  308. package/dist/spend/reconcile.d.ts +109 -0
  309. package/dist/spend/reference.d.ts +42 -0
  310. package/dist/spend/report.d.ts +12 -0
  311. package/dist/spend/store.d.ts +123 -0
  312. package/dist/spend/types.d.ts +466 -0
  313. package/dist/store/index.d.ts +10 -12
  314. package/dist/stories/app-shell/fixtures.d.ts +43 -0
  315. package/dist/stories/app-shell/shell.d.ts +81 -0
  316. package/dist/stories/assistant/fixtures.d.ts +73 -0
  317. package/dist/stories/chat/fixtures.d.ts +70 -0
  318. package/dist/stories/chat/markdown.d.ts +11 -0
  319. package/dist/stories/chat/run-drill-in.d.ts +19 -0
  320. package/dist/stories/chat-controls/fixtures.d.ts +116 -0
  321. package/dist/stories/design-canvas/fixtures.d.ts +57 -0
  322. package/dist/stories/fixtures/canvas.d.ts +10 -0
  323. package/dist/stories/fixtures/catalog.d.ts +7 -0
  324. package/dist/stories/fixtures/chat.d.ts +39 -0
  325. package/dist/stories/fixtures/index.d.ts +4 -0
  326. package/dist/stories/fixtures/sequences.d.ts +17 -0
  327. package/dist/stories/panels/fixtures.d.ts +63 -0
  328. package/dist/stories/sequences/fixtures.d.ts +30 -0
  329. package/dist/stories/studio/fixtures.d.ts +22 -0
  330. package/dist/stream/index.d.ts +10 -56
  331. package/dist/{stream-normalizer-DKRxyVlZ.d.ts → stream/stream-normalizer.d.ts} +23 -26
  332. package/dist/{turn-buffer-COMQUwO2.d.ts → stream/turn-buffer.d.ts} +21 -23
  333. package/dist/stream/turn-identity.d.ts +49 -0
  334. package/dist/studio/generation.d.ts +179 -0
  335. package/dist/studio/index.d.ts +12 -181
  336. package/dist/studio-react/avatar-composer.d.ts +8 -0
  337. package/dist/studio-react/composer-hero.d.ts +12 -0
  338. package/dist/studio-react/composer-shell.d.ts +18 -0
  339. package/dist/studio-react/generation-card.d.ts +9 -0
  340. package/dist/studio-react/generation-detail-modal.d.ts +11 -0
  341. package/dist/studio-react/generation-detail.d.ts +6 -0
  342. package/dist/studio-react/generation-grid.d.ts +15 -0
  343. package/dist/studio-react/image-composer.d.ts +8 -0
  344. package/dist/studio-react/index.d.ts +32 -245
  345. package/dist/studio-react/library-drawer.d.ts +12 -0
  346. package/dist/studio-react/library-panel.d.ts +15 -0
  347. package/dist/studio-react/publish-package-composer.d.ts +18 -0
  348. package/dist/studio-react/result-canvas.d.ts +6 -0
  349. package/dist/studio-react/speech-composer.d.ts +4 -0
  350. package/dist/studio-react/studio-header.d.ts +5 -0
  351. package/dist/studio-react/studio-sheet.d.ts +12 -0
  352. package/dist/studio-react/studio-workspace.d.ts +23 -0
  353. package/dist/studio-react/transcription-composer.d.ts +12 -0
  354. package/dist/studio-react/type-config.d.ts +11 -0
  355. package/dist/studio-react/use-studio-generations.d.ts +20 -0
  356. package/dist/studio-react/video-composer.d.ts +10 -0
  357. package/dist/tangle/index.d.ts +7 -9
  358. package/dist/teams/drizzle/access.d.ts +82 -0
  359. package/dist/{invitations-schema-_fI7HkJP.d.ts → teams/drizzle/invitations-schema.d.ts} +39 -27
  360. package/dist/teams/drizzle/personal-organization.d.ts +41 -0
  361. package/dist/{access-490O6aOU.d.ts → teams/drizzle/schema.d.ts} +57 -122
  362. package/dist/teams/drizzle.d.ts +12 -44
  363. package/dist/teams/index.d.ts +20 -44
  364. package/dist/teams/invitations-api.d.ts +17 -21
  365. package/dist/{invitations-DoYMvXea.d.ts → teams/invitations.d.ts} +14 -18
  366. package/dist/teams/invite.d.ts +42 -0
  367. package/dist/teams/members-api.d.ts +12 -16
  368. package/dist/teams/resend.d.ts +3 -13
  369. package/dist/{roles-B4nU3jDi.d.ts → teams/roles.d.ts} +18 -20
  370. package/dist/teams-react/components/BrandMark.d.ts +10 -0
  371. package/dist/teams-react/components/InvitationsPanel.d.ts +13 -0
  372. package/dist/teams-react/components/InviteAcceptPage.d.ts +10 -0
  373. package/dist/teams-react/components/MembersPanel.d.ts +14 -0
  374. package/dist/teams-react/components/RoleSelect.d.ts +17 -0
  375. package/dist/teams-react/components/index.d.ts +3 -0
  376. package/dist/teams-react/contracts.d.ts +134 -0
  377. package/dist/teams-react/index.d.ts +12 -143
  378. package/dist/teams-react/lazy.d.ts +11 -11
  379. package/dist/test-setup.d.ts +1 -0
  380. package/dist/theme/index.d.ts +6 -104
  381. package/dist/theme/tailwind-preset.d.ts +1 -2
  382. package/dist/theme/theme.d.ts +106 -0
  383. package/dist/theme-contract/cli.d.ts +21 -0
  384. package/dist/theme-contract/index.d.ts +4 -6
  385. package/dist/{auth-BYtiazA4.d.ts → tools/auth.d.ts} +8 -11
  386. package/dist/tools/capability.d.ts +54 -0
  387. package/dist/tools/dispatch.d.ts +37 -0
  388. package/dist/tools/errors.d.ts +8 -0
  389. package/dist/tools/gating.d.ts +62 -0
  390. package/dist/tools/http.d.ts +27 -0
  391. package/dist/tools/index.d.ts +12 -217
  392. package/dist/{mcp-rpc-DYwPlYbZ.d.ts → tools/mcp-rpc.d.ts} +7 -9
  393. package/dist/{mcp-xxoZZfor.d.ts → tools/mcp.d.ts} +14 -16
  394. package/dist/tools/openai.d.ts +28 -0
  395. package/dist/tools/registry.d.ts +39 -0
  396. package/dist/tools/runtime.d.ts +22 -0
  397. package/dist/{types-B25Mib1r.d.ts → tools/types.d.ts} +15 -83
  398. package/dist/{flow-types-CJxEmaRy.d.ts → trace/flow-types.d.ts} +2 -4
  399. package/dist/trace/index.d.ts +11 -148
  400. package/dist/trace/mission-flow.d.ts +82 -0
  401. package/dist/trace/mission-trace.d.ts +52 -0
  402. package/dist/turn-health/classify.d.ts +207 -0
  403. package/dist/turn-health/index.d.ts +29 -637
  404. package/dist/turn-health/lifecycle.d.ts +75 -0
  405. package/dist/turn-health/sink.d.ts +122 -0
  406. package/dist/turn-health/sweep.d.ts +245 -0
  407. package/dist/turn-stream/adapters.d.ts +257 -0
  408. package/dist/turn-stream/core.d.ts +293 -0
  409. package/dist/turn-stream/do.d.ts +144 -0
  410. package/dist/turn-stream/index.d.ts +62 -738
  411. package/dist/turn-stream/memory.d.ts +41 -0
  412. package/dist/vault/ConfirmDialog.d.ts +22 -0
  413. package/dist/vault/VaultPane.d.ts +15 -0
  414. package/dist/{VaultPane-BDP6SB_K.d.ts → vault/contracts.d.ts} +15 -22
  415. package/dist/vault/index.d.ts +15 -22
  416. package/dist/vault/lazy.d.ts +9 -7
  417. package/dist/vault/server.d.ts +8 -10
  418. package/dist/web/free-route-limit.d.ts +187 -0
  419. package/dist/web/index.d.ts +15 -207
  420. package/dist/{rate-limit-BOVmJRXZ.d.ts → web/rate-limit.d.ts} +3 -5
  421. package/dist/web-react/agent-session-controls.d.ts +105 -0
  422. package/dist/web-react/async/async-view.d.ts +69 -0
  423. package/dist/web-react/async/index.d.ts +13 -305
  424. package/dist/web-react/async/state.d.ts +107 -0
  425. package/dist/web-react/async/use-async-resource.d.ts +41 -0
  426. package/dist/web-react/async/use-confirmed-mutation.d.ts +90 -0
  427. package/dist/web-react/brand-mark.d.ts +11 -0
  428. package/dist/web-react/chat-attachments.d.ts +21 -0
  429. package/dist/web-react/chat-composer.d.ts +174 -0
  430. package/dist/web-react/chat-interactions.d.ts +1 -0
  431. package/dist/web-react/chat-mentions.d.ts +48 -0
  432. package/dist/web-react/chat-stream.d.ts +106 -0
  433. package/dist/web-react/class-names.d.ts +10 -0
  434. package/dist/web-react/controls.d.ts +265 -0
  435. package/dist/web-react/durable-chat-cards.d.ts +40 -0
  436. package/dist/web-react/durable-interaction-submit.d.ts +22 -0
  437. package/dist/web-react/durable-plan-card.d.ts +13 -0
  438. package/dist/web-react/durable-plan-flow.d.ts +77 -0
  439. package/dist/web-react/harness-glyphs.d.ts +28 -0
  440. package/dist/web-react/index.d.ts +80 -2347
  441. package/dist/web-react/inert.d.ts +39 -0
  442. package/dist/web-react/insight-card.d.ts +203 -0
  443. package/dist/web-react/interaction-card-support.d.ts +115 -0
  444. package/dist/web-react/interaction-plan-card.d.ts +39 -0
  445. package/dist/web-react/interaction-question-card.d.ts +100 -0
  446. package/dist/web-react/message-attachments.d.ts +56 -0
  447. package/dist/web-react/mission-activity.d.ts +96 -0
  448. package/dist/web-react/motion.d.ts +43 -0
  449. package/dist/web-react/provenance-model.d.ts +195 -0
  450. package/dist/web-react/provenance.d.ts +82 -0
  451. package/dist/web-react/provider-logo.d.ts +14 -0
  452. package/dist/web-react/record-grid-model.d.ts +257 -0
  453. package/dist/web-react/record-grid.d.ts +108 -0
  454. package/dist/web-react/sandbox-terminal.d.ts +90 -0
  455. package/dist/web-react/seat-paywall.d.ts +47 -0
  456. package/dist/web-react/session-history.d.ts +196 -0
  457. package/dist/web-react/smooth-text.d.ts +29 -0
  458. package/dist/web-react/sparkline.d.ts +150 -0
  459. package/dist/web-react/terminal.d.ts +1 -92
  460. package/dist/web-react/use-chat-interactions.d.ts +78 -0
  461. package/dist/web-react/use-composer-attachments.d.ts +111 -0
  462. package/dist/web-react/use-file-mentions.d.ts +94 -0
  463. package/dist/web-react/work-product.d.ts +105 -0
  464. package/dist/work-product/claim-support.d.ts +288 -0
  465. package/dist/work-product/index.d.ts +16 -849
  466. package/dist/work-product/provenance.d.ts +61 -0
  467. package/dist/{queue-VTBA5ONX.d.ts → work-product/queue.d.ts} +10 -12
  468. package/dist/work-product/quote.d.ts +139 -0
  469. package/dist/work-product/route.d.ts +88 -0
  470. package/dist/work-product/service.d.ts +123 -0
  471. package/dist/work-product/tools.d.ts +144 -0
  472. package/dist/{types-CCeYywdS.d.ts → work-product/types.d.ts} +29 -31
  473. package/dist/work-product-react/index.d.ts +19 -8
  474. package/dist/workspace-react/index.d.ts +8 -11
  475. package/package.json +5 -4
  476. package/dist/agent-session-controls-CmlXwp_H.d.ts +0 -384
  477. package/dist/apply-6wlMOLf8.d.ts +0 -280
  478. package/dist/attachment-validation-BfJDBU1g.d.ts +0 -261
  479. package/dist/budget-BOucfcb_.d.ts +0 -142
  480. package/dist/values-C7RidJuI.d.ts +0 -156
@@ -0,0 +1,202 @@
1
+ import { z } from 'zod';
2
+ /** Bumped when the canonical body shape changes; a verifier refuses versions it does not know. */
3
+ export declare const SIGNOFF_PROOF_VERSION = 1;
4
+ declare const signoffProofStepSchema: z.ZodObject<{
5
+ id: z.ZodString;
6
+ command: z.ZodString;
7
+ cwd: z.ZodString;
8
+ status: z.ZodEnum<{
9
+ skipped: "skipped";
10
+ failed: "failed";
11
+ cancelled: "cancelled";
12
+ blocked: "blocked";
13
+ passed: "passed";
14
+ }>;
15
+ exitCode: z.ZodNumber;
16
+ durationMs: z.ZodNumber;
17
+ startedAt: z.ZodString;
18
+ outputSha256: z.ZodString;
19
+ }, z.core.$strip>;
20
+ declare const signoffProofPeerSchema: z.ZodObject<{
21
+ name: z.ZodString;
22
+ version: z.ZodNullable<z.ZodString>;
23
+ }, z.core.$strip>;
24
+ declare const signoffProofSubjectSchema: z.ZodObject<{
25
+ repo: z.ZodString;
26
+ commit: z.ZodString;
27
+ tree: z.ZodString;
28
+ commitTree: z.ZodString;
29
+ parents: z.ZodArray<z.ZodString>;
30
+ committedAt: z.ZodString;
31
+ }, z.core.$strip>;
32
+ declare const signoffProofBodySchema: z.ZodObject<{
33
+ proofVersion: z.ZodNumber;
34
+ subject: z.ZodObject<{
35
+ repo: z.ZodString;
36
+ commit: z.ZodString;
37
+ tree: z.ZodString;
38
+ commitTree: z.ZodString;
39
+ parents: z.ZodArray<z.ZodString>;
40
+ committedAt: z.ZodString;
41
+ }, z.core.$strip>;
42
+ signedAt: z.ZodString;
43
+ host: z.ZodObject<{
44
+ hostname: z.ZodString;
45
+ platform: z.ZodString;
46
+ arch: z.ZodString;
47
+ user: z.ZodString;
48
+ }, z.core.$strip>;
49
+ tooling: z.ZodObject<{
50
+ node: z.ZodString;
51
+ pnpm: z.ZodNullable<z.ZodString>;
52
+ peers: z.ZodArray<z.ZodObject<{
53
+ name: z.ZodString;
54
+ version: z.ZodNullable<z.ZodString>;
55
+ }, z.core.$strip>>;
56
+ }, z.core.$strip>;
57
+ wallClockMs: z.ZodNumber;
58
+ seeds: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
59
+ declaredRequired: z.ZodArray<z.ZodString>;
60
+ steps: z.ZodArray<z.ZodObject<{
61
+ id: z.ZodString;
62
+ command: z.ZodString;
63
+ cwd: z.ZodString;
64
+ status: z.ZodEnum<{
65
+ skipped: "skipped";
66
+ failed: "failed";
67
+ cancelled: "cancelled";
68
+ blocked: "blocked";
69
+ passed: "passed";
70
+ }>;
71
+ exitCode: z.ZodNumber;
72
+ durationMs: z.ZodNumber;
73
+ startedAt: z.ZodString;
74
+ outputSha256: z.ZodString;
75
+ }, z.core.$strip>>;
76
+ verdict: z.ZodEnum<{
77
+ fail: "fail";
78
+ pass: "pass";
79
+ }>;
80
+ }, z.core.$strip>;
81
+ declare const signoffProofSealSchema: z.ZodObject<{
82
+ algorithm: z.ZodEnum<{
83
+ sha256: "sha256";
84
+ "hmac-sha256": "hmac-sha256";
85
+ }>;
86
+ bodySha256: z.ZodString;
87
+ keyId: z.ZodNullable<z.ZodString>;
88
+ mac: z.ZodNullable<z.ZodString>;
89
+ }, z.core.$strip>;
90
+ declare const signoffProofSchema: z.ZodObject<{
91
+ body: z.ZodObject<{
92
+ proofVersion: z.ZodNumber;
93
+ subject: z.ZodObject<{
94
+ repo: z.ZodString;
95
+ commit: z.ZodString;
96
+ tree: z.ZodString;
97
+ commitTree: z.ZodString;
98
+ parents: z.ZodArray<z.ZodString>;
99
+ committedAt: z.ZodString;
100
+ }, z.core.$strip>;
101
+ signedAt: z.ZodString;
102
+ host: z.ZodObject<{
103
+ hostname: z.ZodString;
104
+ platform: z.ZodString;
105
+ arch: z.ZodString;
106
+ user: z.ZodString;
107
+ }, z.core.$strip>;
108
+ tooling: z.ZodObject<{
109
+ node: z.ZodString;
110
+ pnpm: z.ZodNullable<z.ZodString>;
111
+ peers: z.ZodArray<z.ZodObject<{
112
+ name: z.ZodString;
113
+ version: z.ZodNullable<z.ZodString>;
114
+ }, z.core.$strip>>;
115
+ }, z.core.$strip>;
116
+ wallClockMs: z.ZodNumber;
117
+ seeds: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
118
+ declaredRequired: z.ZodArray<z.ZodString>;
119
+ steps: z.ZodArray<z.ZodObject<{
120
+ id: z.ZodString;
121
+ command: z.ZodString;
122
+ cwd: z.ZodString;
123
+ status: z.ZodEnum<{
124
+ skipped: "skipped";
125
+ failed: "failed";
126
+ cancelled: "cancelled";
127
+ blocked: "blocked";
128
+ passed: "passed";
129
+ }>;
130
+ exitCode: z.ZodNumber;
131
+ durationMs: z.ZodNumber;
132
+ startedAt: z.ZodString;
133
+ outputSha256: z.ZodString;
134
+ }, z.core.$strip>>;
135
+ verdict: z.ZodEnum<{
136
+ fail: "fail";
137
+ pass: "pass";
138
+ }>;
139
+ }, z.core.$strip>;
140
+ seal: z.ZodObject<{
141
+ algorithm: z.ZodEnum<{
142
+ sha256: "sha256";
143
+ "hmac-sha256": "hmac-sha256";
144
+ }>;
145
+ bodySha256: z.ZodString;
146
+ keyId: z.ZodNullable<z.ZodString>;
147
+ mac: z.ZodNullable<z.ZodString>;
148
+ }, z.core.$strip>;
149
+ }, z.core.$strip>;
150
+ export type SignoffProofStep = z.infer<typeof signoffProofStepSchema>;
151
+ export type SignoffProofPeer = z.infer<typeof signoffProofPeerSchema>;
152
+ export type SignoffProofSubject = z.infer<typeof signoffProofSubjectSchema>;
153
+ export type SignoffProofBody = z.infer<typeof signoffProofBodySchema>;
154
+ export type SignoffProofSeal = z.infer<typeof signoffProofSealSchema>;
155
+ export type SignoffProof = z.infer<typeof signoffProofSchema>;
156
+ type CanonicalValue = string | number | boolean | null | readonly CanonicalValue[] | {
157
+ readonly [key: string]: CanonicalValue;
158
+ };
159
+ /**
160
+ * Deterministic JSON: object keys sorted, array order preserved, no whitespace.
161
+ *
162
+ * The seal is a hash over this string, so two readers must produce byte-identical
163
+ * bytes from the same record. `undefined` throws rather than vanishing — a field
164
+ * that silently disappears is a field the hash stops covering.
165
+ */
166
+ export declare function canonicalJson(value: CanonicalValue): string;
167
+ export declare function canonicalizeProofBody(body: SignoffProofBody): string;
168
+ export declare function hashProofBody(body: SignoffProofBody): string;
169
+ /** The digest a runner records for a step's combined output. Shared so both halves agree. */
170
+ export declare function hashStepOutput(output: string): string;
171
+ export declare function signoffKeyId(key: Uint8Array): string;
172
+ /** Read the local sign-off key. Throws when absent — an unreadable key is never a silent downgrade to unsealed. */
173
+ export declare function readSignoffKey(path: string): Uint8Array;
174
+ export declare function sealProof(body: SignoffProofBody, key?: Uint8Array): SignoffProof;
175
+ /** Constant-time comparison of two hex digests of equal length. */
176
+ export declare function macMatches(expected: string, actual: string): boolean;
177
+ export interface BuildSignoffProofInput {
178
+ readonly repoDir: string;
179
+ /** Repo identity the verifier's required-step table is keyed on. */
180
+ readonly repo: string;
181
+ /** Revision the sign-off is for; defaults to `HEAD`. */
182
+ readonly rev?: string;
183
+ readonly steps: readonly SignoffProofStep[];
184
+ /** Measured elapsed time for the run. Required — it is not derivable from the steps. */
185
+ readonly wallClockMs: number;
186
+ /** Step ids this run treated as required. Checked against the verifier's table. */
187
+ readonly declaredRequired: readonly string[];
188
+ readonly seeds: Readonly<Record<string, string | number>>;
189
+ readonly peerNames?: readonly string[];
190
+ readonly key?: Uint8Array;
191
+ readonly now?: Date;
192
+ }
193
+ export declare function buildSignoffProof(input: BuildSignoffProofInput): SignoffProof;
194
+ /** Parse an untrusted proof document, failing loud on any shape the verifier cannot reason about. */
195
+ export declare function parseSignoffProof(json: string): SignoffProof;
196
+ export declare function serializeSignoffProof(proof: SignoffProof): string;
197
+ /**
198
+ * The single line an operator pastes into a PR or a merge commit: how many steps
199
+ * ran, how long it took, the seeds, and the verdict.
200
+ */
201
+ export declare function formatSignoffSummary(proof: SignoffProof): string;
202
+ export {};
@@ -0,0 +1,103 @@
1
+ /**
2
+ * `verify-proof` — the half a reader runs, on a machine that did not produce
3
+ * the proof, to decide whether a commit was really signed off.
4
+ *
5
+ * The verifier never believes the document. Every claim it can re-derive, it
6
+ * re-derives from git and compares; every claim it cannot re-derive is reported
7
+ * as recorded, not as checked. The one field the proof is deliberately not
8
+ * allowed to own is **which steps were required**: a run that declares its own
9
+ * bar can declare an empty one, so the authoritative table lives here and a
10
+ * proof declaring fewer requirements than its repo's table fails as
11
+ * `lowered-bar`.
12
+ */
13
+ import type { CommitFacts, IsAncestorFn } from './proof-git';
14
+ import { type SignoffProof } from './proof-record';
15
+ /**
16
+ * The steps a repo's sign-off MUST cover, transcribed from each repo's CI job.
17
+ * A runner is free to run more; it may never run fewer.
18
+ *
19
+ * agent-app .github/workflows/ci.yml
20
+ * tax-agent .github/workflows/deploy.yml (the `ci` job)
21
+ * legal-agent .github/workflows/deploy.yml (the `ci` job)
22
+ */
23
+ export declare const SIGNOFF_REQUIRED_STEPS: Readonly<Record<string, readonly string[]>>;
24
+ /** Throws for a repo with no table — an unrecognised repo has no bar, and no bar is not a pass. */
25
+ export declare function requiredStepsFor(repo: string): readonly string[];
26
+ export type SignoffFailureCode = 'unsupported-version' | 'body-tampered' | 'mac-missing' | 'mac-invalid' | 'unknown-repo' | 'repo-mismatch' | 'tree-mismatch' | 'dirty-worktree' | 'commit-unbound' | 'missing-required-step' | 'lowered-bar' | 'duplicate-step' | 'step-failed' | 'verdict-fail' | 'stale-proof';
27
+ export interface SignoffFailure {
28
+ readonly code: SignoffFailureCode;
29
+ readonly detail: string;
30
+ }
31
+ /** How the proof attaches to the commit that was asked about. */
32
+ export type SignoffCommitBinding =
33
+ /** The proof names this exact commit. */
34
+ 'exact'
35
+ /** A different commit id, but byte-identical content — a rebase or a squash of what was verified. */
36
+ | 'tree-equivalent'
37
+ /** Neither. The proof does not describe this commit. */
38
+ | 'none';
39
+ export interface SignoffVerification {
40
+ readonly ok: boolean;
41
+ readonly commitBinding: SignoffCommitBinding;
42
+ /** True only when a key was supplied AND the mac over the canonical body matched. */
43
+ readonly macChecked: boolean;
44
+ readonly failures: readonly SignoffFailure[];
45
+ readonly proof: SignoffProof;
46
+ readonly target: CommitFacts;
47
+ readonly requiredSteps: readonly string[];
48
+ }
49
+ export interface VerifySignoffProofOptions {
50
+ /** The commit the reader is asking about, read from git — never from the proof. */
51
+ readonly target: CommitFacts;
52
+ /**
53
+ * Reachability in the target's history. Required, because the clock cannot
54
+ * answer staleness on its own: git records committer time to the SECOND, so a
55
+ * proof and the commit it is being replayed onto routinely share a timestamp.
56
+ * Ancestry is exact and clock-free.
57
+ */
58
+ readonly isAncestor: IsAncestorFn;
59
+ /** Local HMAC key. Omitted, the mac is reported unchecked rather than assumed good. */
60
+ readonly key?: Uint8Array;
61
+ /** Overrides the built-in table. Supplying `[]` is a deliberate no-bar check, and says so. */
62
+ readonly requiredSteps?: readonly string[];
63
+ /** Repo identity the caller expects; a mismatch against the proof is a failure, not a rename. */
64
+ readonly expectRepo?: string;
65
+ }
66
+ export declare function verifySignoffProof(proof: SignoffProof, options: VerifySignoffProofOptions): SignoffVerification;
67
+ export interface VerifySignoffAtRevInput {
68
+ readonly repoDir: string;
69
+ readonly rev: string;
70
+ readonly key?: Uint8Array;
71
+ readonly requiredSteps?: readonly string[];
72
+ readonly expectRepo?: string;
73
+ }
74
+ type SignoffLookupFailure = {
75
+ readonly found: false;
76
+ readonly commit: string;
77
+ readonly hint: readonly string[];
78
+ };
79
+ export type SignoffVerifyOutcome = ({
80
+ readonly found: true;
81
+ } & SignoffVerification) | SignoffLookupFailure;
82
+ /** Verify by revision: find the proof attached to that SHA (or to its content), then check it. */
83
+ export declare function verifySignoffAtRev(input: VerifySignoffAtRevInput): SignoffVerifyOutcome;
84
+ export interface VerifySignoffFileInput {
85
+ readonly repoDir: string;
86
+ readonly file: string;
87
+ /**
88
+ * The commit to check the file against. REQUIRED, and deliberately not
89
+ * defaulted to the commit the proof names: a proof checked against its own
90
+ * subject can never fail the commit binding, which is a check that reads as
91
+ * strong and cannot catch anything. The reader always states what they are
92
+ * asking about.
93
+ */
94
+ readonly rev: string;
95
+ readonly key?: Uint8Array;
96
+ readonly requiredSteps?: readonly string[];
97
+ readonly expectRepo?: string;
98
+ }
99
+ /** Verify a proof document on disk. The repo is still required — "matches the tree it claims" is not answerable without it. */
100
+ export declare function verifySignoffProofFile(input: VerifySignoffFileInput): SignoffVerification;
101
+ /** One line per failure, prefixed by its code, in the order the checks ran. */
102
+ export declare function formatSignoffVerification(result: SignoffVerification): string;
103
+ export {};
@@ -1,314 +1,39 @@
1
- import { z } from 'zod';
2
- import { b as SignoffReport } from '../types-Bd6uW9vQ.js';
3
-
4
1
  /**
5
- * Is `ancestor` reachable from `descendant`? A port rather than a direct call so
6
- * the verifier stays a pure function over facts a caller supplies.
2
+ * The sign-off proof surface: build a machine-checkable record of a local
3
+ * verification run, attach it to the commit it verified, and check it later.
4
+ *
5
+ * Node-only (git, `fs`, `crypto`) and deliberately its own subpath, the way
6
+ * `/peer-floors` is — a consumer runs this from a script, never from a bundle.
7
+ *
8
+ * The threat model is in `proof-record.ts` and the carrier tradeoff is in
9
+ * `proof-attach.ts`. Both are load-bearing; read them before relying on a proof.
10
+ *
11
+ * **Surface is narrowed to what a caller composes, not what this file happens
12
+ * to define.** The `agent-app-signoff` bin itself does NOT build or attach a
13
+ * proof today — it runs the gate and prints the plain report (`./cli.ts`); the
14
+ * proof pipeline below is the documented composition [`docs/signoff-proof.md`]
15
+ * a product wires into its OWN CI step. Schema internals, hashing primitives
16
+ * and low-level git plumbing (`canonicalJson`, `hashProofBody`, `sealProof`,
17
+ * `runGit`, the zod schemas, …) stay module-internal, where `knip` can see
18
+ * them unused rather than reading as committed public API with zero callers.
7
19
  */
8
- type IsAncestorFn = (ancestor: string, descendant: string) => boolean;
9
- interface CommitFacts {
10
- /** 40-hex commit id. */
11
- readonly commit: string;
12
- /** 40-hex id of the tree the COMMIT points at. */
13
- readonly commitTree: string;
14
- readonly parents: readonly string[];
15
- /** Committer date, UTC ISO-8601 with a `Z` suffix. */
16
- readonly committedAt: string;
17
- }
18
-
19
- declare const signoffProofStepSchema: z.ZodObject<{
20
- id: z.ZodString;
21
- command: z.ZodString;
22
- cwd: z.ZodString;
23
- status: z.ZodEnum<{
24
- passed: "passed";
25
- failed: "failed";
26
- skipped: "skipped";
27
- cancelled: "cancelled";
28
- blocked: "blocked";
29
- }>;
30
- exitCode: z.ZodNumber;
31
- durationMs: z.ZodNumber;
32
- startedAt: z.ZodString;
33
- outputSha256: z.ZodString;
34
- }, z.core.$strip>;
35
- declare const signoffProofPeerSchema: z.ZodObject<{
36
- name: z.ZodString;
37
- version: z.ZodNullable<z.ZodString>;
38
- }, z.core.$strip>;
39
- declare const signoffProofSubjectSchema: z.ZodObject<{
40
- repo: z.ZodString;
41
- commit: z.ZodString;
42
- tree: z.ZodString;
43
- commitTree: z.ZodString;
44
- parents: z.ZodArray<z.ZodString>;
45
- committedAt: z.ZodString;
46
- }, z.core.$strip>;
47
- declare const signoffProofBodySchema: z.ZodObject<{
48
- proofVersion: z.ZodNumber;
49
- subject: z.ZodObject<{
50
- repo: z.ZodString;
51
- commit: z.ZodString;
52
- tree: z.ZodString;
53
- commitTree: z.ZodString;
54
- parents: z.ZodArray<z.ZodString>;
55
- committedAt: z.ZodString;
56
- }, z.core.$strip>;
57
- signedAt: z.ZodString;
58
- host: z.ZodObject<{
59
- hostname: z.ZodString;
60
- platform: z.ZodString;
61
- arch: z.ZodString;
62
- user: z.ZodString;
63
- }, z.core.$strip>;
64
- tooling: z.ZodObject<{
65
- node: z.ZodString;
66
- pnpm: z.ZodNullable<z.ZodString>;
67
- peers: z.ZodArray<z.ZodObject<{
68
- name: z.ZodString;
69
- version: z.ZodNullable<z.ZodString>;
70
- }, z.core.$strip>>;
71
- }, z.core.$strip>;
72
- wallClockMs: z.ZodNumber;
73
- seeds: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
74
- declaredRequired: z.ZodArray<z.ZodString>;
75
- steps: z.ZodArray<z.ZodObject<{
76
- id: z.ZodString;
77
- command: z.ZodString;
78
- cwd: z.ZodString;
79
- status: z.ZodEnum<{
80
- passed: "passed";
81
- failed: "failed";
82
- skipped: "skipped";
83
- cancelled: "cancelled";
84
- blocked: "blocked";
85
- }>;
86
- exitCode: z.ZodNumber;
87
- durationMs: z.ZodNumber;
88
- startedAt: z.ZodString;
89
- outputSha256: z.ZodString;
90
- }, z.core.$strip>>;
91
- verdict: z.ZodEnum<{
92
- pass: "pass";
93
- fail: "fail";
94
- }>;
95
- }, z.core.$strip>;
96
- declare const signoffProofSealSchema: z.ZodObject<{
97
- algorithm: z.ZodEnum<{
98
- sha256: "sha256";
99
- "hmac-sha256": "hmac-sha256";
100
- }>;
101
- bodySha256: z.ZodString;
102
- keyId: z.ZodNullable<z.ZodString>;
103
- mac: z.ZodNullable<z.ZodString>;
104
- }, z.core.$strip>;
105
- declare const signoffProofSchema: z.ZodObject<{
106
- body: z.ZodObject<{
107
- proofVersion: z.ZodNumber;
108
- subject: z.ZodObject<{
109
- repo: z.ZodString;
110
- commit: z.ZodString;
111
- tree: z.ZodString;
112
- commitTree: z.ZodString;
113
- parents: z.ZodArray<z.ZodString>;
114
- committedAt: z.ZodString;
115
- }, z.core.$strip>;
116
- signedAt: z.ZodString;
117
- host: z.ZodObject<{
118
- hostname: z.ZodString;
119
- platform: z.ZodString;
120
- arch: z.ZodString;
121
- user: z.ZodString;
122
- }, z.core.$strip>;
123
- tooling: z.ZodObject<{
124
- node: z.ZodString;
125
- pnpm: z.ZodNullable<z.ZodString>;
126
- peers: z.ZodArray<z.ZodObject<{
127
- name: z.ZodString;
128
- version: z.ZodNullable<z.ZodString>;
129
- }, z.core.$strip>>;
130
- }, z.core.$strip>;
131
- wallClockMs: z.ZodNumber;
132
- seeds: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
133
- declaredRequired: z.ZodArray<z.ZodString>;
134
- steps: z.ZodArray<z.ZodObject<{
135
- id: z.ZodString;
136
- command: z.ZodString;
137
- cwd: z.ZodString;
138
- status: z.ZodEnum<{
139
- passed: "passed";
140
- failed: "failed";
141
- skipped: "skipped";
142
- cancelled: "cancelled";
143
- blocked: "blocked";
144
- }>;
145
- exitCode: z.ZodNumber;
146
- durationMs: z.ZodNumber;
147
- startedAt: z.ZodString;
148
- outputSha256: z.ZodString;
149
- }, z.core.$strip>>;
150
- verdict: z.ZodEnum<{
151
- pass: "pass";
152
- fail: "fail";
153
- }>;
154
- }, z.core.$strip>;
155
- seal: z.ZodObject<{
156
- algorithm: z.ZodEnum<{
157
- sha256: "sha256";
158
- "hmac-sha256": "hmac-sha256";
159
- }>;
160
- bodySha256: z.ZodString;
161
- keyId: z.ZodNullable<z.ZodString>;
162
- mac: z.ZodNullable<z.ZodString>;
163
- }, z.core.$strip>;
164
- }, z.core.$strip>;
165
- type SignoffProofStep = z.infer<typeof signoffProofStepSchema>;
166
- type SignoffProofPeer = z.infer<typeof signoffProofPeerSchema>;
167
- type SignoffProofSubject = z.infer<typeof signoffProofSubjectSchema>;
168
- type SignoffProofBody = z.infer<typeof signoffProofBodySchema>;
169
- type SignoffProofSeal = z.infer<typeof signoffProofSealSchema>;
170
- type SignoffProof = z.infer<typeof signoffProofSchema>;
171
- /** Read the local sign-off key. Throws when absent — an unreadable key is never a silent downgrade to unsealed. */
172
- declare function readSignoffKey(path: string): Uint8Array;
173
- /** Parse an untrusted proof document, failing loud on any shape the verifier cannot reason about. */
174
- declare function parseSignoffProof(json: string): SignoffProof;
20
+ export { verifySignoffProof, type SignoffCommitBinding, type SignoffFailure, type SignoffFailureCode, type SignoffVerification, type VerifySignoffProofOptions, } from './proof-verify';
21
+ export { formatSignoffSummary, parseSignoffProof, readSignoffKey } from './proof-record';
22
+ export type { SignoffProof, SignoffProofBody, SignoffProofPeer, SignoffProofSeal, SignoffProofStep, SignoffProofSubject, } from './proof-record';
23
+ /** Types needed to construct `VerifySignoffProofOptions.target`/`.isAncestor`
24
+ * without pulling in this package's OWN git-shelling implementation a
25
+ * consumer supplies commit facts and ancestry however it already tracks
26
+ * them (its own git library, a cache, …). */
27
+ export type { CommitFacts, IsAncestorFn } from './proof-git';
175
28
  /**
176
- * The single line an operator pastes into a PR or a merge commit: how many steps
177
- * ran, how long it took, the seeds, and the verdict.
29
+ * The SIGNING side building a proof from a report and attaching it to the
30
+ * commit it verified. Nobody in this repo calls these today (the census that
31
+ * justified narrowing this barrel found zero callers, this pair included);
32
+ * they stay exported anyway because `docs/signoff-proof.md`'s documented
33
+ * composition is the ONLY way to reach them at all — `package.json` declares
34
+ * no `./signoff/proof-attach` or `./signoff/proof-from-report` subpath, so
35
+ * dropping these here would make a real, tested, documented capability
36
+ * unreachable from outside the package, not merely unexercised inside it.
178
37
  */
179
- declare function formatSignoffSummary(proof: SignoffProof): string;
180
-
181
- /**
182
- * `verify-proof` — the half a reader runs, on a machine that did not produce
183
- * the proof, to decide whether a commit was really signed off.
184
- *
185
- * The verifier never believes the document. Every claim it can re-derive, it
186
- * re-derives from git and compares; every claim it cannot re-derive is reported
187
- * as recorded, not as checked. The one field the proof is deliberately not
188
- * allowed to own is **which steps were required**: a run that declares its own
189
- * bar can declare an empty one, so the authoritative table lives here and a
190
- * proof declaring fewer requirements than its repo's table fails as
191
- * `lowered-bar`.
192
- */
193
-
194
- type SignoffFailureCode = 'unsupported-version' | 'body-tampered' | 'mac-missing' | 'mac-invalid' | 'unknown-repo' | 'repo-mismatch' | 'tree-mismatch' | 'dirty-worktree' | 'commit-unbound' | 'missing-required-step' | 'lowered-bar' | 'duplicate-step' | 'step-failed' | 'verdict-fail' | 'stale-proof';
195
- interface SignoffFailure {
196
- readonly code: SignoffFailureCode;
197
- readonly detail: string;
198
- }
199
- /** How the proof attaches to the commit that was asked about. */
200
- type SignoffCommitBinding =
201
- /** The proof names this exact commit. */
202
- 'exact'
203
- /** A different commit id, but byte-identical content — a rebase or a squash of what was verified. */
204
- | 'tree-equivalent'
205
- /** Neither. The proof does not describe this commit. */
206
- | 'none';
207
- interface SignoffVerification {
208
- readonly ok: boolean;
209
- readonly commitBinding: SignoffCommitBinding;
210
- /** True only when a key was supplied AND the mac over the canonical body matched. */
211
- readonly macChecked: boolean;
212
- readonly failures: readonly SignoffFailure[];
213
- readonly proof: SignoffProof;
214
- readonly target: CommitFacts;
215
- readonly requiredSteps: readonly string[];
216
- }
217
- interface VerifySignoffProofOptions {
218
- /** The commit the reader is asking about, read from git — never from the proof. */
219
- readonly target: CommitFacts;
220
- /**
221
- * Reachability in the target's history. Required, because the clock cannot
222
- * answer staleness on its own: git records committer time to the SECOND, so a
223
- * proof and the commit it is being replayed onto routinely share a timestamp.
224
- * Ancestry is exact and clock-free.
225
- */
226
- readonly isAncestor: IsAncestorFn;
227
- /** Local HMAC key. Omitted, the mac is reported unchecked rather than assumed good. */
228
- readonly key?: Uint8Array;
229
- /** Overrides the built-in table. Supplying `[]` is a deliberate no-bar check, and says so. */
230
- readonly requiredSteps?: readonly string[];
231
- /** Repo identity the caller expects; a mismatch against the proof is a failure, not a rename. */
232
- readonly expectRepo?: string;
233
- }
234
- declare function verifySignoffProof(proof: SignoffProof, options: VerifySignoffProofOptions): SignoffVerification;
235
-
236
- /**
237
- * The join between the runner and the proof: one sign-off run produces one
238
- * report, and this turns that report into the signed, attachable record.
239
- *
240
- * Nothing here re-runs or re-judges anything. The runner owns what happened; the
241
- * proof owns what is provable about it later. Keeping the two in one direction
242
- * is what stops a second, drifting idea of "which steps ran" from appearing.
243
- */
244
-
245
- interface ProofFromReportInput {
246
- readonly report: SignoffReport;
247
- /** Repo identity the verifier's required-step table is keyed on. */
248
- readonly repo: string;
249
- /** Source repository. Defaults to the root the run recorded. */
250
- readonly repoDir?: string;
251
- /** Step ids the run treated as required. Defaults to every step the report carries. */
252
- readonly declaredRequired?: readonly string[];
253
- readonly key?: Uint8Array;
254
- readonly now?: Date;
255
- }
256
- declare function proofFromSignoffReport(input: ProofFromReportInput): SignoffProof;
257
-
258
- /**
259
- * Attaching a proof to the commit it verified.
260
- *
261
- * ## Why `git notes`, and what the two rejected carriers cost
262
- *
263
- * **A commit-message trailer** cannot work for the field that matters. The
264
- * trailer is part of the commit object, so writing it changes the SHA the proof
265
- * claims to cover — the proof would have to be produced before the commit it
266
- * names exists. Amending re-writes the SHA again, and GitHub's squash-merge
267
- * rebuilds the message from the PR body, so the trailer does not survive the one
268
- * transition it would need to.
269
- *
270
- * **A committed artifact directory** (`.signoff/<sha>.json`) changes the tree,
271
- * so the tree hash inside the proof can never cover the file carrying it. It
272
- * also lands in every diff, and it is exactly the "file someone can forget"
273
- * shape the requirement rules out — deleting it is a normal-looking change.
274
- *
275
- * **`git notes` wins because it is the only carrier that is addressed BY the
276
- * SHA without being part of it.** The note is written after the commit exists,
277
- * it changes neither the SHA nor the tree, and `git notes show <sha>` is a
278
- * definite yes/no for any commit anyone can name.
279
- *
280
- * ## The tradeoff `git notes` really carries, and how this module answers it
281
- *
282
- * Notes are attached to a commit id, and a rebase or a squash-merge produces a
283
- * NEW commit id, so the note does not follow by itself. Two mechanisms close
284
- * that gap, and both are needed:
285
- *
286
- * 1. `notes.rewriteRef` (see `SIGNOFF_NOTES_GIT_CONFIG`) makes local rebase and
287
- * amend copy the note forward automatically.
288
- * 2. `resolveSignoffProof` falls back to a **tree scan**: it reads every proof
289
- * under the notes ref and matches on the TREE the commit carries. A rebase
290
- * or a squash of one branch onto an unchanged base preserves the tree, so
291
- * the content that was verified is still provably the content that merged,
292
- * even though the SHA changed. The verifier reports which binding it used —
293
- * `exact` or `tree-equivalent` — and never conflates them.
294
- *
295
- * Notes are neither pushed nor fetched by default; `SIGNOFF_NOTES_GIT_CONFIG`
296
- * carries the refspecs that fix that, and a missing note is reported as
297
- * `not-found`, never as a pass.
298
- */
299
-
300
- interface AttachSignoffProofInput {
301
- readonly repoDir: string;
302
- readonly proof: SignoffProof;
303
- /** Revision to annotate; defaults to the commit the proof names. */
304
- readonly rev?: string;
305
- /** Replace an existing note. Off by default so a second sign-off cannot quietly overwrite the first. */
306
- readonly overwrite?: boolean;
307
- }
308
- interface AttachedSignoffProof {
309
- readonly commit: string;
310
- readonly ref: string;
311
- }
312
- declare function attachSignoffProof(input: AttachSignoffProofInput): AttachedSignoffProof;
313
-
314
- export { type AttachSignoffProofInput, type AttachedSignoffProof, type CommitFacts, type IsAncestorFn, type ProofFromReportInput, type SignoffCommitBinding, type SignoffFailure, type SignoffFailureCode, type SignoffProof, type SignoffProofBody, type SignoffProofPeer, type SignoffProofSeal, type SignoffProofStep, type SignoffProofSubject, type SignoffVerification, type VerifySignoffProofOptions, attachSignoffProof, formatSignoffSummary, parseSignoffProof, proofFromSignoffReport, readSignoffKey, verifySignoffProof };
38
+ export { proofFromSignoffReport, type ProofFromReportInput } from './proof-from-report';
39
+ export { attachSignoffProof, type AttachSignoffProofInput, type AttachedSignoffProof } from './proof-attach';
@@ -0,0 +1,7 @@
1
+ import type { SignoffReport, SignoffStepResult } from './types';
2
+ /** Concurrency actually achieved, measured from the step windows rather than
3
+ * asserted from the config. A claimed speedup nobody measured is a wish. */
4
+ export declare function peakConcurrency(steps: readonly SignoffStepResult[]): number;
5
+ export declare function formatSignoffReport(report: SignoffReport): string;
6
+ /** One line for a commit message, a PR comment, or a chat handoff. */
7
+ export declare function formatSignoffLine(report: SignoffReport): string;