@tangle-network/braid 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (717) hide show
  1. package/README.md +210 -153
  2. package/THIRD_PARTY_LICENSES.json +8 -0
  3. package/THIRD_PARTY_NOTICES.md +5 -3
  4. package/dist/adapters/analysis/eval-analyst.d.ts.map +1 -1
  5. package/dist/adapters/analysis/eval-analyst.js +27 -7
  6. package/dist/adapters/analysis/eval-analyst.js.map +1 -1
  7. package/dist/adapters/analysis/managed-analysis-runtime.d.ts +3 -1
  8. package/dist/adapters/analysis/managed-analysis-runtime.d.ts.map +1 -1
  9. package/dist/adapters/analysis/managed-analysis-runtime.js +10 -2
  10. package/dist/adapters/analysis/managed-analysis-runtime.js.map +1 -1
  11. package/dist/adapters/analysis/python-runner.js +3 -3
  12. package/dist/adapters/analysis/python-runner.js.map +1 -1
  13. package/dist/adapters/analysis/question-analyst.d.ts +4 -4
  14. package/dist/adapters/analysis/question-analyst.d.ts.map +1 -1
  15. package/dist/adapters/analysis/question-analyst.js +192 -10
  16. package/dist/adapters/analysis/question-analyst.js.map +1 -1
  17. package/dist/adapters/analysis/runtime-model-owner.d.ts.map +1 -1
  18. package/dist/adapters/analysis/runtime-model-owner.js +19 -15
  19. package/dist/adapters/analysis/runtime-model-owner.js.map +1 -1
  20. package/dist/adapters/analysis/runtime-retained-model-call.d.ts.map +1 -1
  21. package/dist/adapters/analysis/runtime-retained-model-call.js +20 -8
  22. package/dist/adapters/analysis/runtime-retained-model-call.js.map +1 -1
  23. package/dist/adapters/analysis/trace-analysis-adapter.d.ts.map +1 -1
  24. package/dist/adapters/analysis/trace-analysis-adapter.js +17 -8
  25. package/dist/adapters/analysis/trace-analysis-adapter.js.map +1 -1
  26. package/dist/adapters/connections/aws-nitro-root-g1.d.ts +11 -0
  27. package/dist/adapters/connections/aws-nitro-root-g1.d.ts.map +1 -0
  28. package/dist/adapters/connections/aws-nitro-root-g1.js +24 -0
  29. package/dist/adapters/connections/aws-nitro-root-g1.js.map +1 -0
  30. package/dist/adapters/connections/cli-bridge-model-validation.d.ts +3 -1
  31. package/dist/adapters/connections/cli-bridge-model-validation.d.ts.map +1 -1
  32. package/dist/adapters/connections/cli-bridge-model-validation.js +11 -4
  33. package/dist/adapters/connections/cli-bridge-model-validation.js.map +1 -1
  34. package/dist/adapters/connections/nitro-confidential-attestation.d.ts +36 -0
  35. package/dist/adapters/connections/nitro-confidential-attestation.d.ts.map +1 -0
  36. package/dist/adapters/connections/nitro-confidential-attestation.js +255 -0
  37. package/dist/adapters/connections/nitro-confidential-attestation.js.map +1 -0
  38. package/dist/adapters/connections/production-connection-health.d.ts.map +1 -1
  39. package/dist/adapters/connections/production-connection-health.js +5 -2
  40. package/dist/adapters/connections/production-connection-health.js.map +1 -1
  41. package/dist/adapters/connections/production-connection-providers.d.ts +13 -0
  42. package/dist/adapters/connections/production-connection-providers.d.ts.map +1 -1
  43. package/dist/adapters/connections/production-connection-providers.js +59 -3
  44. package/dist/adapters/connections/production-connection-providers.js.map +1 -1
  45. package/dist/adapters/connections/production-connection-types.d.ts +10 -3
  46. package/dist/adapters/connections/production-connection-types.d.ts.map +1 -1
  47. package/dist/adapters/connections/production-connection-types.js.map +1 -1
  48. package/dist/adapters/connections/production-connections.d.ts +4 -2
  49. package/dist/adapters/connections/production-connections.d.ts.map +1 -1
  50. package/dist/adapters/connections/production-connections.js +2 -1
  51. package/dist/adapters/connections/production-connections.js.map +1 -1
  52. package/dist/adapters/connections/tangle-router-client.d.ts +20 -0
  53. package/dist/adapters/connections/tangle-router-client.d.ts.map +1 -0
  54. package/dist/adapters/connections/tangle-router-client.js +33 -0
  55. package/dist/adapters/connections/tangle-router-client.js.map +1 -0
  56. package/dist/adapters/runtime/abortable.d.ts +3 -0
  57. package/dist/adapters/runtime/abortable.d.ts.map +1 -0
  58. package/dist/adapters/runtime/abortable.js +12 -0
  59. package/dist/adapters/runtime/abortable.js.map +1 -0
  60. package/dist/adapters/runtime/agent-runtime-execution.d.ts +5 -0
  61. package/dist/adapters/runtime/agent-runtime-execution.d.ts.map +1 -1
  62. package/dist/adapters/runtime/agent-runtime-execution.js +75 -23
  63. package/dist/adapters/runtime/agent-runtime-execution.js.map +1 -1
  64. package/dist/adapters/runtime/cli-bridge-context-transfer.d.ts +13 -0
  65. package/dist/adapters/runtime/cli-bridge-context-transfer.d.ts.map +1 -0
  66. package/dist/adapters/runtime/cli-bridge-context-transfer.js +39 -0
  67. package/dist/adapters/runtime/cli-bridge-context-transfer.js.map +1 -0
  68. package/dist/adapters/runtime/cli-bridge-retained-execution.d.ts +3 -1
  69. package/dist/adapters/runtime/cli-bridge-retained-execution.d.ts.map +1 -1
  70. package/dist/adapters/runtime/cli-bridge-retained-execution.js +4 -0
  71. package/dist/adapters/runtime/cli-bridge-retained-execution.js.map +1 -1
  72. package/dist/adapters/runtime/cli-bridge-retained-run.d.ts.map +1 -1
  73. package/dist/adapters/runtime/cli-bridge-retained-run.js +28 -6
  74. package/dist/adapters/runtime/cli-bridge-retained-run.js.map +1 -1
  75. package/dist/adapters/runtime/lazy-execution.d.ts +49 -0
  76. package/dist/adapters/runtime/lazy-execution.d.ts.map +1 -0
  77. package/dist/adapters/runtime/lazy-execution.js +111 -0
  78. package/dist/adapters/runtime/lazy-execution.js.map +1 -0
  79. package/dist/adapters/runtime/mode-routing-execution.d.ts +27 -3
  80. package/dist/adapters/runtime/mode-routing-execution.d.ts.map +1 -1
  81. package/dist/adapters/runtime/mode-routing-execution.js +25 -0
  82. package/dist/adapters/runtime/mode-routing-execution.js.map +1 -1
  83. package/dist/adapters/runtime/native-interactive-run-broker.d.ts.map +1 -1
  84. package/dist/adapters/runtime/native-interactive-run-broker.js +1 -10
  85. package/dist/adapters/runtime/native-interactive-run-broker.js.map +1 -1
  86. package/dist/adapters/runtime/prepared-execution.d.ts +2 -2
  87. package/dist/adapters/runtime/prepared-execution.d.ts.map +1 -1
  88. package/dist/adapters/runtime/production-backend-common.d.ts +3 -1
  89. package/dist/adapters/runtime/production-backend-common.d.ts.map +1 -1
  90. package/dist/adapters/runtime/production-backend-common.js +7 -0
  91. package/dist/adapters/runtime/production-backend-common.js.map +1 -1
  92. package/dist/adapters/runtime/production-cli-bridge-backend.d.ts +9 -0
  93. package/dist/adapters/runtime/production-cli-bridge-backend.d.ts.map +1 -1
  94. package/dist/adapters/runtime/production-cli-bridge-backend.js +61 -27
  95. package/dist/adapters/runtime/production-cli-bridge-backend.js.map +1 -1
  96. package/dist/adapters/runtime/production-tangle-inference-backend.d.ts.map +1 -1
  97. package/dist/adapters/runtime/production-tangle-inference-backend.js +3 -2
  98. package/dist/adapters/runtime/production-tangle-inference-backend.js.map +1 -1
  99. package/dist/adapters/runtime/production-tangle-sandbox-backend.d.ts +8 -2
  100. package/dist/adapters/runtime/production-tangle-sandbox-backend.d.ts.map +1 -1
  101. package/dist/adapters/runtime/production-tangle-sandbox-backend.js +78 -12
  102. package/dist/adapters/runtime/production-tangle-sandbox-backend.js.map +1 -1
  103. package/dist/adapters/runtime/retained-execution-contract.d.ts +8 -4
  104. package/dist/adapters/runtime/retained-execution-contract.d.ts.map +1 -1
  105. package/dist/adapters/runtime/retained-execution-projection.d.ts +5 -5
  106. package/dist/adapters/runtime/retained-execution-projection.d.ts.map +1 -1
  107. package/dist/adapters/runtime/retained-execution-projection.js +8 -3
  108. package/dist/adapters/runtime/retained-execution-projection.js.map +1 -1
  109. package/dist/adapters/runtime/retained-execution-state.d.ts.map +1 -1
  110. package/dist/adapters/runtime/retained-execution-state.js +5 -0
  111. package/dist/adapters/runtime/retained-execution-state.js.map +1 -1
  112. package/dist/adapters/runtime/retained-execution-stream.d.ts +6 -1
  113. package/dist/adapters/runtime/retained-execution-stream.d.ts.map +1 -1
  114. package/dist/adapters/runtime/retained-execution-stream.js +47 -10
  115. package/dist/adapters/runtime/retained-execution-stream.js.map +1 -1
  116. package/dist/adapters/runtime/retained-execution.d.ts +24 -0
  117. package/dist/adapters/runtime/retained-execution.d.ts.map +1 -1
  118. package/dist/adapters/runtime/retained-execution.js +102 -20
  119. package/dist/adapters/runtime/retained-execution.js.map +1 -1
  120. package/dist/adapters/runtime/retained-native-continuation.d.ts +14 -0
  121. package/dist/adapters/runtime/retained-native-continuation.d.ts.map +1 -0
  122. package/dist/adapters/runtime/retained-native-continuation.js +110 -0
  123. package/dist/adapters/runtime/retained-native-continuation.js.map +1 -0
  124. package/dist/adapters/runtime/supervisor-control.d.ts +39 -11
  125. package/dist/adapters/runtime/supervisor-control.d.ts.map +1 -1
  126. package/dist/adapters/runtime/supervisor-control.js +115 -25
  127. package/dist/adapters/runtime/supervisor-control.js.map +1 -1
  128. package/dist/adapters/runtime/tangle-retained-execution.d.ts +5 -1
  129. package/dist/adapters/runtime/tangle-retained-execution.d.ts.map +1 -1
  130. package/dist/adapters/runtime/tangle-retained-execution.js +8 -1
  131. package/dist/adapters/runtime/tangle-retained-execution.js.map +1 -1
  132. package/dist/adapters/runtime/tangle-retained-interactive-contract.d.ts +2 -0
  133. package/dist/adapters/runtime/tangle-retained-interactive-contract.d.ts.map +1 -1
  134. package/dist/adapters/runtime/tangle-retained-interactive-contract.js +9 -0
  135. package/dist/adapters/runtime/tangle-retained-interactive-contract.js.map +1 -1
  136. package/dist/adapters/runtime/tangle-retained-interactive-execution.d.ts +5 -1
  137. package/dist/adapters/runtime/tangle-retained-interactive-execution.d.ts.map +1 -1
  138. package/dist/adapters/runtime/tangle-retained-interactive-execution.js +20 -3
  139. package/dist/adapters/runtime/tangle-retained-interactive-execution.js.map +1 -1
  140. package/dist/adapters/runtime/tangle-retained-run.d.ts +4 -2
  141. package/dist/adapters/runtime/tangle-retained-run.d.ts.map +1 -1
  142. package/dist/adapters/runtime/tangle-retained-run.js +110 -13
  143. package/dist/adapters/runtime/tangle-retained-run.js.map +1 -1
  144. package/dist/adapters/storage/sqlite-crypto.d.ts.map +1 -1
  145. package/dist/adapters/storage/sqlite-crypto.js +9 -1
  146. package/dist/adapters/storage/sqlite-crypto.js.map +1 -1
  147. package/dist/adapters/storage/storage-validation.d.ts +1 -1
  148. package/dist/adapters/storage/storage-validation.d.ts.map +1 -1
  149. package/dist/adapters/storage/storage-validation.js +2 -1
  150. package/dist/adapters/storage/storage-validation.js.map +1 -1
  151. package/dist/adapters/tui/application-ui-controller.d.ts.map +1 -1
  152. package/dist/adapters/tui/application-ui-controller.js +38 -5
  153. package/dist/adapters/tui/application-ui-controller.js.map +1 -1
  154. package/dist/adapters/tui/ui-capabilities.d.ts +2 -1
  155. package/dist/adapters/tui/ui-capabilities.d.ts.map +1 -1
  156. package/dist/adapters/tui/ui-capabilities.js +79 -31
  157. package/dist/adapters/tui/ui-capabilities.js.map +1 -1
  158. package/dist/adapters/tui/ui-command-dispatch.d.ts.map +1 -1
  159. package/dist/adapters/tui/ui-command-dispatch.js +15 -5
  160. package/dist/adapters/tui/ui-command-dispatch.js.map +1 -1
  161. package/dist/adapters/tui/ui-conversation-dispatch.d.ts +1 -1
  162. package/dist/adapters/tui/ui-conversation-dispatch.d.ts.map +1 -1
  163. package/dist/adapters/tui/ui-conversation-dispatch.js +83 -7
  164. package/dist/adapters/tui/ui-conversation-dispatch.js.map +1 -1
  165. package/dist/adapters/tui/ui-core-dispatch.d.ts.map +1 -1
  166. package/dist/adapters/tui/ui-core-dispatch.js +28 -4
  167. package/dist/adapters/tui/ui-core-dispatch.js.map +1 -1
  168. package/dist/adapters/tui/ui-entity-details.d.ts.map +1 -1
  169. package/dist/adapters/tui/ui-entity-details.js +26 -4
  170. package/dist/adapters/tui/ui-entity-details.js.map +1 -1
  171. package/dist/adapters/tui/ui-fixtures.d.ts +1 -1
  172. package/dist/adapters/tui/ui-fixtures.d.ts.map +1 -1
  173. package/dist/adapters/tui/ui-fixtures.js +41 -11
  174. package/dist/adapters/tui/ui-fixtures.js.map +1 -1
  175. package/dist/adapters/tui/ui-headless-dispatch.d.ts.map +1 -1
  176. package/dist/adapters/tui/ui-headless-dispatch.js +25 -7
  177. package/dist/adapters/tui/ui-headless-dispatch.js.map +1 -1
  178. package/dist/adapters/tui/ui-intelligence-dispatch.d.ts +2 -0
  179. package/dist/adapters/tui/ui-intelligence-dispatch.d.ts.map +1 -1
  180. package/dist/adapters/tui/ui-intelligence-dispatch.js +124 -26
  181. package/dist/adapters/tui/ui-intelligence-dispatch.js.map +1 -1
  182. package/dist/adapters/tui/ui-projection.d.ts +4 -2
  183. package/dist/adapters/tui/ui-projection.d.ts.map +1 -1
  184. package/dist/adapters/tui/ui-projection.js +94 -26
  185. package/dist/adapters/tui/ui-projection.js.map +1 -1
  186. package/dist/adapters/tui/ui-semantic-state.d.ts.map +1 -1
  187. package/dist/adapters/tui/ui-semantic-state.js +78 -21
  188. package/dist/adapters/tui/ui-semantic-state.js.map +1 -1
  189. package/dist/adapters/tui/ui-view-model.d.ts +1 -1
  190. package/dist/adapters/tui/ui-view-model.d.ts.map +1 -1
  191. package/dist/adapters/tui/ui-view-model.js +48 -6
  192. package/dist/adapters/tui/ui-view-model.js.map +1 -1
  193. package/dist/app/analysis-lifecycle.d.ts +3 -1
  194. package/dist/app/analysis-lifecycle.d.ts.map +1 -1
  195. package/dist/app/analysis-lifecycle.js +64 -2
  196. package/dist/app/analysis-lifecycle.js.map +1 -1
  197. package/dist/app/analysis-service.d.ts.map +1 -1
  198. package/dist/app/analysis-service.js +3 -2
  199. package/dist/app/analysis-service.js.map +1 -1
  200. package/dist/app/analysis-types.d.ts +2 -1
  201. package/dist/app/analysis-types.d.ts.map +1 -1
  202. package/dist/app/analysis-types.js.map +1 -1
  203. package/dist/app/application-interaction-actions.d.ts +6 -1
  204. package/dist/app/application-interaction-actions.d.ts.map +1 -1
  205. package/dist/app/application-interaction-actions.js +23 -9
  206. package/dist/app/application-interaction-actions.js.map +1 -1
  207. package/dist/app/application-lifecycle.d.ts +1 -0
  208. package/dist/app/application-lifecycle.d.ts.map +1 -1
  209. package/dist/app/application-lifecycle.js +2 -1
  210. package/dist/app/application-lifecycle.js.map +1 -1
  211. package/dist/app/application-options.d.ts +3 -1
  212. package/dist/app/application-options.d.ts.map +1 -1
  213. package/dist/app/application-port-builder.d.ts +1 -0
  214. package/dist/app/application-port-builder.d.ts.map +1 -1
  215. package/dist/app/application-port-builder.js +10 -1
  216. package/dist/app/application-port-builder.js.map +1 -1
  217. package/dist/app/application-port-runtime.d.ts +1 -0
  218. package/dist/app/application-port-runtime.d.ts.map +1 -1
  219. package/dist/app/application-port-runtime.js +1 -0
  220. package/dist/app/application-port-runtime.js.map +1 -1
  221. package/dist/app/application-ports.d.ts +18 -4
  222. package/dist/app/application-ports.d.ts.map +1 -1
  223. package/dist/app/application-runtime-wiring.d.ts.map +1 -1
  224. package/dist/app/application-runtime-wiring.js +23 -1
  225. package/dist/app/application-runtime-wiring.js.map +1 -1
  226. package/dist/app/application-support.d.ts +2 -1
  227. package/dist/app/application-support.d.ts.map +1 -1
  228. package/dist/app/application-support.js +29 -8
  229. package/dist/app/application-support.js.map +1 -1
  230. package/dist/app/application-transition.d.ts.map +1 -1
  231. package/dist/app/application-transition.js +9 -6
  232. package/dist/app/application-transition.js.map +1 -1
  233. package/dist/app/application-types.d.ts +6 -0
  234. package/dist/app/application-types.d.ts.map +1 -1
  235. package/dist/app/application.d.ts +7 -2
  236. package/dist/app/application.d.ts.map +1 -1
  237. package/dist/app/application.js +121 -12
  238. package/dist/app/application.js.map +1 -1
  239. package/dist/app/automation-actions.d.ts +7 -2
  240. package/dist/app/automation-actions.d.ts.map +1 -1
  241. package/dist/app/automation-actions.js +24 -19
  242. package/dist/app/automation-actions.js.map +1 -1
  243. package/dist/app/composition-options.d.ts +27 -0
  244. package/dist/app/composition-options.d.ts.map +1 -0
  245. package/dist/app/composition-options.js +2 -0
  246. package/dist/app/composition-options.js.map +1 -0
  247. package/dist/app/composition.d.ts +4 -58
  248. package/dist/app/composition.d.ts.map +1 -1
  249. package/dist/app/composition.js +14 -108
  250. package/dist/app/composition.js.map +1 -1
  251. package/dist/app/confidential-workspace-fork.d.ts +7 -0
  252. package/dist/app/confidential-workspace-fork.d.ts.map +1 -0
  253. package/dist/app/confidential-workspace-fork.js +26 -0
  254. package/dist/app/confidential-workspace-fork.js.map +1 -0
  255. package/dist/app/configuration-session.d.ts +9 -3
  256. package/dist/app/configuration-session.d.ts.map +1 -1
  257. package/dist/app/configuration-session.js +44 -2
  258. package/dist/app/configuration-session.js.map +1 -1
  259. package/dist/app/connections.d.ts.map +1 -1
  260. package/dist/app/connections.js +21 -0
  261. package/dist/app/connections.js.map +1 -1
  262. package/dist/app/conversation-branch-effects.d.ts +12 -0
  263. package/dist/app/conversation-branch-effects.d.ts.map +1 -0
  264. package/dist/app/conversation-branch-effects.js +820 -0
  265. package/dist/app/conversation-branch-effects.js.map +1 -0
  266. package/dist/app/conversation-branches.d.ts +1 -0
  267. package/dist/app/conversation-branches.d.ts.map +1 -1
  268. package/dist/app/conversation-branches.js +171 -26
  269. package/dist/app/conversation-branches.js.map +1 -1
  270. package/dist/app/conversation-composition.d.ts +4 -0
  271. package/dist/app/conversation-composition.d.ts.map +1 -1
  272. package/dist/app/conversation-composition.js +3 -0
  273. package/dist/app/conversation-composition.js.map +1 -1
  274. package/dist/app/conversation-context.d.ts +17 -0
  275. package/dist/app/conversation-context.d.ts.map +1 -1
  276. package/dist/app/conversation-context.js +299 -0
  277. package/dist/app/conversation-context.js.map +1 -1
  278. package/dist/app/conversation-import-builder.d.ts.map +1 -1
  279. package/dist/app/conversation-import-builder.js +1 -2
  280. package/dist/app/conversation-import-builder.js.map +1 -1
  281. package/dist/app/conversation-lifecycle.d.ts.map +1 -1
  282. package/dist/app/conversation-lifecycle.js +1 -3
  283. package/dist/app/conversation-lifecycle.js.map +1 -1
  284. package/dist/app/conversation-support.d.ts +0 -1
  285. package/dist/app/conversation-support.d.ts.map +1 -1
  286. package/dist/app/conversation-support.js +0 -5
  287. package/dist/app/conversation-support.js.map +1 -1
  288. package/dist/app/conversation-types.d.ts +36 -3
  289. package/dist/app/conversation-types.d.ts.map +1 -1
  290. package/dist/app/conversations.d.ts +1 -1
  291. package/dist/app/conversations.d.ts.map +1 -1
  292. package/dist/app/default-profiles.d.ts +4 -0
  293. package/dist/app/default-profiles.d.ts.map +1 -0
  294. package/dist/app/default-profiles.js +16 -0
  295. package/dist/app/default-profiles.js.map +1 -0
  296. package/dist/app/durable-send.d.ts +1 -1
  297. package/dist/app/durable-send.d.ts.map +1 -1
  298. package/dist/app/durable-send.js +18 -11
  299. package/dist/app/durable-send.js.map +1 -1
  300. package/dist/app/interaction-controller.d.ts.map +1 -1
  301. package/dist/app/interaction-controller.js +78 -39
  302. package/dist/app/interaction-controller.js.map +1 -1
  303. package/dist/app/interaction-response-replay.d.ts +9 -2
  304. package/dist/app/interaction-response-replay.d.ts.map +1 -1
  305. package/dist/app/interaction-response-replay.js +11 -4
  306. package/dist/app/interaction-response-replay.js.map +1 -1
  307. package/dist/app/legacy-cancel.js +1 -1
  308. package/dist/app/legacy-cancel.js.map +1 -1
  309. package/dist/app/production-composition.d.ts +6 -1
  310. package/dist/app/production-composition.d.ts.map +1 -1
  311. package/dist/app/production-composition.js +77 -4
  312. package/dist/app/production-composition.js.map +1 -1
  313. package/dist/app/profile-selection.d.ts.map +1 -1
  314. package/dist/app/profile-selection.js +12 -2
  315. package/dist/app/profile-selection.js.map +1 -1
  316. package/dist/app/provider-values.d.ts.map +1 -1
  317. package/dist/app/provider-values.js +16 -3
  318. package/dist/app/provider-values.js.map +1 -1
  319. package/dist/app/run-admission-context.d.ts +3 -0
  320. package/dist/app/run-admission-context.d.ts.map +1 -0
  321. package/dist/app/run-admission-context.js +74 -0
  322. package/dist/app/run-admission-context.js.map +1 -0
  323. package/dist/app/run-admission-continuation.d.ts +1 -0
  324. package/dist/app/run-admission-continuation.d.ts.map +1 -1
  325. package/dist/app/run-admission-continuation.js +26 -14
  326. package/dist/app/run-admission-continuation.js.map +1 -1
  327. package/dist/app/run-admission-dispatch.d.ts.map +1 -1
  328. package/dist/app/run-admission-dispatch.js +60 -16
  329. package/dist/app/run-admission-dispatch.js.map +1 -1
  330. package/dist/app/run-admission-receipt.d.ts.map +1 -1
  331. package/dist/app/run-admission-receipt.js +8 -2
  332. package/dist/app/run-admission-receipt.js.map +1 -1
  333. package/dist/app/run-admission-request.d.ts.map +1 -1
  334. package/dist/app/run-admission-request.js +19 -0
  335. package/dist/app/run-admission-request.js.map +1 -1
  336. package/dist/app/run-admission-validation.d.ts +3 -3
  337. package/dist/app/run-admission-validation.d.ts.map +1 -1
  338. package/dist/app/run-admission-validation.js +33 -30
  339. package/dist/app/run-admission-validation.js.map +1 -1
  340. package/dist/app/run-continuation.d.ts +10 -7
  341. package/dist/app/run-continuation.d.ts.map +1 -1
  342. package/dist/app/run-continuation.js +31 -17
  343. package/dist/app/run-continuation.js.map +1 -1
  344. package/dist/app/run-controls.d.ts.map +1 -1
  345. package/dist/app/run-controls.js +21 -13
  346. package/dist/app/run-controls.js.map +1 -1
  347. package/dist/app/run-event-mapper.d.ts +7 -1
  348. package/dist/app/run-event-mapper.d.ts.map +1 -1
  349. package/dist/app/run-event-mapper.js +31 -15
  350. package/dist/app/run-event-mapper.js.map +1 -1
  351. package/dist/app/run-execution-snapshot.d.ts +8 -2
  352. package/dist/app/run-execution-snapshot.d.ts.map +1 -1
  353. package/dist/app/run-execution-snapshot.js +13 -1
  354. package/dist/app/run-execution-snapshot.js.map +1 -1
  355. package/dist/app/run-execution.d.ts.map +1 -1
  356. package/dist/app/run-execution.js +78 -12
  357. package/dist/app/run-execution.js.map +1 -1
  358. package/dist/app/run-final-recovery.d.ts +34 -0
  359. package/dist/app/run-final-recovery.d.ts.map +1 -0
  360. package/dist/app/run-final-recovery.js +132 -0
  361. package/dist/app/run-final-recovery.js.map +1 -0
  362. package/dist/app/run-ingestion.js +26 -7
  363. package/dist/app/run-ingestion.js.map +1 -1
  364. package/dist/app/run-ledger.d.ts +1 -1
  365. package/dist/app/run-ledger.d.ts.map +1 -1
  366. package/dist/app/run-ledger.js +2 -4
  367. package/dist/app/run-ledger.js.map +1 -1
  368. package/dist/app/run-recovery-context.d.ts.map +1 -1
  369. package/dist/app/run-recovery-context.js +8 -1
  370. package/dist/app/run-recovery-context.js.map +1 -1
  371. package/dist/app/run-replay.d.ts +5 -2
  372. package/dist/app/run-replay.d.ts.map +1 -1
  373. package/dist/app/run-replay.js +23 -7
  374. package/dist/app/run-replay.js.map +1 -1
  375. package/dist/app/run-status.d.ts +9 -1
  376. package/dist/app/run-status.d.ts.map +1 -1
  377. package/dist/app/run-status.js +61 -10
  378. package/dist/app/run-status.js.map +1 -1
  379. package/dist/app/run-stream-sanitizer.d.ts +21 -0
  380. package/dist/app/run-stream-sanitizer.d.ts.map +1 -0
  381. package/dist/app/run-stream-sanitizer.js +73 -0
  382. package/dist/app/run-stream-sanitizer.js.map +1 -0
  383. package/dist/app/shutdown-controller.d.ts +1 -1
  384. package/dist/app/shutdown-controller.d.ts.map +1 -1
  385. package/dist/app/shutdown-controller.js +25 -15
  386. package/dist/app/shutdown-controller.js.map +1 -1
  387. package/dist/app/storage-journal-support.d.ts +1 -1
  388. package/dist/app/storage-journal-support.d.ts.map +1 -1
  389. package/dist/app/storage-journal-support.js +8 -2
  390. package/dist/app/storage-journal-support.js.map +1 -1
  391. package/dist/app/supervisor-projection.d.ts +8 -0
  392. package/dist/app/supervisor-projection.d.ts.map +1 -1
  393. package/dist/app/supervisor-projection.js +14 -0
  394. package/dist/app/supervisor-projection.js.map +1 -1
  395. package/dist/app/supervisor-service.d.ts +6 -5
  396. package/dist/app/supervisor-service.d.ts.map +1 -1
  397. package/dist/app/supervisor-service.js +10 -6
  398. package/dist/app/supervisor-service.js.map +1 -1
  399. package/dist/app/workspace-request.d.ts +3 -0
  400. package/dist/app/workspace-request.d.ts.map +1 -0
  401. package/dist/app/workspace-request.js +2 -0
  402. package/dist/app/workspace-request.js.map +1 -0
  403. package/dist/bin/args.d.ts +1 -1
  404. package/dist/bin/args.d.ts.map +1 -1
  405. package/dist/bin/args.js +4 -2
  406. package/dist/bin/args.js.map +1 -1
  407. package/dist/bin/braid-runtime.d.ts.map +1 -1
  408. package/dist/bin/braid-runtime.js +3 -17
  409. package/dist/bin/braid-runtime.js.map +1 -1
  410. package/dist/bin/fixture-application.d.ts +9 -0
  411. package/dist/bin/fixture-application.d.ts.map +1 -0
  412. package/dist/bin/fixture-application.js +36 -0
  413. package/dist/bin/fixture-application.js.map +1 -0
  414. package/dist/bin/interface-runner.d.ts.map +1 -1
  415. package/dist/bin/interface-runner.js +3 -0
  416. package/dist/bin/interface-runner.js.map +1 -1
  417. package/dist/bin/interface-state-recorder.d.ts.map +1 -1
  418. package/dist/bin/interface-state-recorder.js +6 -2
  419. package/dist/bin/interface-state-recorder.js.map +1 -1
  420. package/dist/bin/native-interactive-actions.d.ts +1 -1
  421. package/dist/bin/native-interactive-actions.d.ts.map +1 -1
  422. package/dist/bin/native-interactive-actions.js +123 -24
  423. package/dist/bin/native-interactive-actions.js.map +1 -1
  424. package/dist/bin/production-application.d.ts.map +1 -1
  425. package/dist/bin/production-application.js +3 -0
  426. package/dist/bin/production-application.js.map +1 -1
  427. package/dist/bin/production-setup-discovery.d.ts.map +1 -1
  428. package/dist/bin/production-setup-discovery.js +3 -0
  429. package/dist/bin/production-setup-discovery.js.map +1 -1
  430. package/dist/bin/production-setup-persistence.d.ts.map +1 -1
  431. package/dist/bin/production-setup-persistence.js +4 -0
  432. package/dist/bin/production-setup-persistence.js.map +1 -1
  433. package/dist/bin/production-setup-types.d.ts +5 -0
  434. package/dist/bin/production-setup-types.d.ts.map +1 -1
  435. package/dist/bin/production-setup-validation.d.ts.map +1 -1
  436. package/dist/bin/production-setup-validation.js +19 -1
  437. package/dist/bin/production-setup-validation.js.map +1 -1
  438. package/dist/bin/production-startup.d.ts +2 -0
  439. package/dist/bin/production-startup.d.ts.map +1 -1
  440. package/dist/bin/production-startup.js +19 -0
  441. package/dist/bin/production-startup.js.map +1 -1
  442. package/dist/domain/bounded-structured.d.ts.map +1 -1
  443. package/dist/domain/bounded-structured.js +19 -0
  444. package/dist/domain/bounded-structured.js.map +1 -1
  445. package/dist/domain/canonical-json.d.ts +12 -0
  446. package/dist/domain/canonical-json.d.ts.map +1 -0
  447. package/dist/domain/canonical-json.js +55 -0
  448. package/dist/domain/canonical-json.js.map +1 -0
  449. package/dist/domain/canonical.d.ts +3 -1
  450. package/dist/domain/canonical.d.ts.map +1 -1
  451. package/dist/domain/canonical.js +3 -44
  452. package/dist/domain/canonical.js.map +1 -1
  453. package/dist/domain/connection-removal.d.ts +1 -1
  454. package/dist/domain/connection-removal.d.ts.map +1 -1
  455. package/dist/domain/connection-removal.js +3 -2
  456. package/dist/domain/connection-removal.js.map +1 -1
  457. package/dist/domain/entities-core.d.ts +19 -1
  458. package/dist/domain/entities-core.d.ts.map +1 -1
  459. package/dist/domain/entities-core.js +2 -0
  460. package/dist/domain/entities-core.js.map +1 -1
  461. package/dist/domain/entities-interactions.d.ts +9 -0
  462. package/dist/domain/entities-interactions.d.ts.map +1 -1
  463. package/dist/domain/events-legacy.d.ts +5 -0
  464. package/dist/domain/events-legacy.d.ts.map +1 -1
  465. package/dist/domain/events.d.ts +15 -0
  466. package/dist/domain/events.d.ts.map +1 -1
  467. package/dist/domain/events.js +13 -2
  468. package/dist/domain/events.js.map +1 -1
  469. package/dist/domain/interaction-identity.d.ts +4 -0
  470. package/dist/domain/interaction-identity.d.ts.map +1 -0
  471. package/dist/domain/interaction-identity.js +7 -0
  472. package/dist/domain/interaction-identity.js.map +1 -0
  473. package/dist/domain/invariants-base.d.ts +7 -0
  474. package/dist/domain/invariants-base.d.ts.map +1 -1
  475. package/dist/domain/invariants-base.js +106 -0
  476. package/dist/domain/invariants-base.js.map +1 -1
  477. package/dist/domain/invariants-profile.d.ts.map +1 -1
  478. package/dist/domain/invariants-profile.js +73 -1
  479. package/dist/domain/invariants-profile.js.map +1 -1
  480. package/dist/domain/invariants-retained-admission.d.ts +1 -0
  481. package/dist/domain/invariants-retained-admission.d.ts.map +1 -1
  482. package/dist/domain/invariants-retained-admission.js +12 -1
  483. package/dist/domain/invariants-retained-admission.js.map +1 -1
  484. package/dist/domain/invariants-run.d.ts.map +1 -1
  485. package/dist/domain/invariants-run.js +32 -4
  486. package/dist/domain/invariants-run.js.map +1 -1
  487. package/dist/domain/invariants-state.d.ts +1 -1
  488. package/dist/domain/invariants-state.d.ts.map +1 -1
  489. package/dist/domain/invariants-state.js +26 -0
  490. package/dist/domain/invariants-state.js.map +1 -1
  491. package/dist/domain/legacy-interaction-snapshot.d.ts.map +1 -1
  492. package/dist/domain/legacy-interaction-snapshot.js +95 -29
  493. package/dist/domain/legacy-interaction-snapshot.js.map +1 -1
  494. package/dist/domain/materialized-state-snapshot.d.ts.map +1 -1
  495. package/dist/domain/materialized-state-snapshot.js +33 -4
  496. package/dist/domain/materialized-state-snapshot.js.map +1 -1
  497. package/dist/domain/materialized-state.d.ts +5 -0
  498. package/dist/domain/materialized-state.d.ts.map +1 -1
  499. package/dist/domain/receipts.d.ts +3 -0
  500. package/dist/domain/receipts.d.ts.map +1 -1
  501. package/dist/domain/receipts.js +6 -0
  502. package/dist/domain/receipts.js.map +1 -1
  503. package/dist/domain/redaction.d.ts +1 -0
  504. package/dist/domain/redaction.d.ts.map +1 -1
  505. package/dist/domain/redaction.js +43 -2
  506. package/dist/domain/redaction.js.map +1 -1
  507. package/dist/domain/reducer-conversation-events.d.ts +1 -1
  508. package/dist/domain/reducer-conversation-events.d.ts.map +1 -1
  509. package/dist/domain/reducer-conversation-events.js +9 -6
  510. package/dist/domain/reducer-conversation-events.js.map +1 -1
  511. package/dist/domain/reducer-domain-events.d.ts +1 -1
  512. package/dist/domain/reducer-domain-events.d.ts.map +1 -1
  513. package/dist/domain/reducer-domain-events.js +30 -0
  514. package/dist/domain/reducer-domain-events.js.map +1 -1
  515. package/dist/domain/reducer-helpers.d.ts +6 -3
  516. package/dist/domain/reducer-helpers.d.ts.map +1 -1
  517. package/dist/domain/reducer-helpers.js +9 -9
  518. package/dist/domain/reducer-helpers.js.map +1 -1
  519. package/dist/domain/reducer-interactions.d.ts.map +1 -1
  520. package/dist/domain/reducer-interactions.js +31 -16
  521. package/dist/domain/reducer-interactions.js.map +1 -1
  522. package/dist/domain/reducer-legacy.d.ts +1 -1
  523. package/dist/domain/reducer-legacy.d.ts.map +1 -1
  524. package/dist/domain/reducer-legacy.js +8 -4
  525. package/dist/domain/reducer-legacy.js.map +1 -1
  526. package/dist/domain/reducer-lifecycle.d.ts +1 -1
  527. package/dist/domain/reducer-lifecycle.d.ts.map +1 -1
  528. package/dist/domain/reducer-lifecycle.js +35 -30
  529. package/dist/domain/reducer-lifecycle.js.map +1 -1
  530. package/dist/domain/reducer-replay.d.ts.map +1 -1
  531. package/dist/domain/reducer-replay.js +4 -4
  532. package/dist/domain/reducer-replay.js.map +1 -1
  533. package/dist/domain/reducer-run-graph.d.ts.map +1 -1
  534. package/dist/domain/reducer-run-graph.js +2 -1
  535. package/dist/domain/reducer-run-graph.js.map +1 -1
  536. package/dist/domain/reducer-runtime.d.ts.map +1 -1
  537. package/dist/domain/reducer-runtime.js +22 -11
  538. package/dist/domain/reducer-runtime.js.map +1 -1
  539. package/dist/domain/reducer-support.js +1 -1
  540. package/dist/domain/reducer-support.js.map +1 -1
  541. package/dist/domain/run-contracts.d.ts +5 -9
  542. package/dist/domain/run-contracts.d.ts.map +1 -1
  543. package/dist/domain/runtime-projection.d.ts +5 -0
  544. package/dist/domain/runtime-projection.d.ts.map +1 -1
  545. package/dist/domain/runtime-projection.js.map +1 -1
  546. package/dist/domain/secret-sanitizer.d.ts +7 -0
  547. package/dist/domain/secret-sanitizer.d.ts.map +1 -1
  548. package/dist/domain/secret-sanitizer.js +505 -9
  549. package/dist/domain/secret-sanitizer.js.map +1 -1
  550. package/dist/domain/state.d.ts +23 -1
  551. package/dist/domain/state.d.ts.map +1 -1
  552. package/dist/domain/state.js +60 -0
  553. package/dist/domain/state.js.map +1 -1
  554. package/dist/domain/terminal-sanitizer.d.ts +1 -0
  555. package/dist/domain/terminal-sanitizer.d.ts.map +1 -1
  556. package/dist/domain/terminal-sanitizer.js +35 -10
  557. package/dist/domain/terminal-sanitizer.js.map +1 -1
  558. package/dist/domain/workspace-request.d.ts +11 -0
  559. package/dist/domain/workspace-request.d.ts.map +1 -0
  560. package/dist/domain/workspace-request.js +86 -0
  561. package/dist/domain/workspace-request.js.map +1 -0
  562. package/dist/eval/execution.d.ts +1 -1
  563. package/dist/eval/execution.d.ts.map +1 -1
  564. package/dist/eval/execution.js +6 -2
  565. package/dist/eval/execution.js.map +1 -1
  566. package/dist/eval/product-path.d.ts.map +1 -1
  567. package/dist/eval/product-path.js +4 -2
  568. package/dist/eval/product-path.js.map +1 -1
  569. package/dist/index.d.ts +6 -2
  570. package/dist/index.d.ts.map +1 -1
  571. package/dist/index.js +2 -0
  572. package/dist/index.js.map +1 -1
  573. package/dist/ports/execution.d.ts +44 -6
  574. package/dist/ports/execution.d.ts.map +1 -1
  575. package/dist/ports/execution.js +10 -0
  576. package/dist/ports/execution.js.map +1 -1
  577. package/dist/startup/durable-runtime.d.ts +36 -1
  578. package/dist/startup/durable-runtime.d.ts.map +1 -1
  579. package/dist/startup/durable-runtime.js +135 -1
  580. package/dist/startup/durable-runtime.js.map +1 -1
  581. package/dist/testing/supervision-fixture.d.ts +32 -0
  582. package/dist/testing/supervision-fixture.d.ts.map +1 -0
  583. package/dist/testing/supervision-fixture.js +115 -0
  584. package/dist/testing/supervision-fixture.js.map +1 -0
  585. package/dist/testing/supervision-ui-fixture.d.ts +4 -0
  586. package/dist/testing/supervision-ui-fixture.d.ts.map +1 -0
  587. package/dist/testing/supervision-ui-fixture.js +74 -0
  588. package/dist/testing/supervision-ui-fixture.js.map +1 -0
  589. package/dist/version.d.ts.map +1 -1
  590. package/dist/version.js +3 -1
  591. package/dist/version.js.map +1 -1
  592. package/dist/views/headless/protocol.d.ts +1 -1
  593. package/dist/views/headless/protocol.d.ts.map +1 -1
  594. package/dist/views/headless/rpc-parser.d.ts.map +1 -1
  595. package/dist/views/headless/rpc-parser.js +57 -5
  596. package/dist/views/headless/rpc-parser.js.map +1 -1
  597. package/dist/views/headless/rpc-types.d.ts +2 -1
  598. package/dist/views/headless/rpc-types.d.ts.map +1 -1
  599. package/dist/views/headless/rpc.d.ts.map +1 -1
  600. package/dist/views/headless/rpc.js +32 -18
  601. package/dist/views/headless/rpc.js.map +1 -1
  602. package/dist/views/shared/analysis-presentation.d.ts.map +1 -1
  603. package/dist/views/shared/analysis-presentation.js +42 -4
  604. package/dist/views/shared/analysis-presentation.js.map +1 -1
  605. package/dist/views/shared/canonical.d.ts +10 -5
  606. package/dist/views/shared/canonical.d.ts.map +1 -1
  607. package/dist/views/shared/canonical.js +11 -17
  608. package/dist/views/shared/canonical.js.map +1 -1
  609. package/dist/views/shared/command-registry.js +5 -5
  610. package/dist/views/shared/command-registry.js.map +1 -1
  611. package/dist/views/shared/duration.d.ts.map +1 -1
  612. package/dist/views/shared/duration.js +3 -1
  613. package/dist/views/shared/duration.js.map +1 -1
  614. package/dist/views/shared/headless-commands.d.ts +1 -1
  615. package/dist/views/shared/headless-commands.d.ts.map +1 -1
  616. package/dist/views/shared/headless-commands.js +13 -2
  617. package/dist/views/shared/headless-commands.js.map +1 -1
  618. package/dist/views/shared/intents.d.ts +6 -0
  619. package/dist/views/shared/intents.d.ts.map +1 -1
  620. package/dist/views/shared/models.d.ts +54 -0
  621. package/dist/views/shared/models.d.ts.map +1 -1
  622. package/dist/views/shared/models.js.map +1 -1
  623. package/dist/views/shared/native-interactive-actions.d.ts +19 -0
  624. package/dist/views/shared/native-interactive-actions.d.ts.map +1 -1
  625. package/dist/views/shared/run-selection.d.ts +11 -0
  626. package/dist/views/shared/run-selection.d.ts.map +1 -0
  627. package/dist/views/shared/run-selection.js +26 -0
  628. package/dist/views/shared/run-selection.js.map +1 -0
  629. package/dist/views/shared/semantic-activity.d.ts.map +1 -1
  630. package/dist/views/shared/semantic-activity.js +4 -1
  631. package/dist/views/shared/semantic-activity.js.map +1 -1
  632. package/dist/views/shared/semantic-projection.d.ts.map +1 -1
  633. package/dist/views/shared/semantic-projection.js +146 -1
  634. package/dist/views/shared/semantic-projection.js.map +1 -1
  635. package/dist/views/tui/activity-browser.d.ts +6 -2
  636. package/dist/views/tui/activity-browser.d.ts.map +1 -1
  637. package/dist/views/tui/activity-browser.js +50 -5
  638. package/dist/views/tui/activity-browser.js.map +1 -1
  639. package/dist/views/tui/command-palette.d.ts.map +1 -1
  640. package/dist/views/tui/command-palette.js +1 -0
  641. package/dist/views/tui/command-palette.js.map +1 -1
  642. package/dist/views/tui/configuration-wizard-presentation.d.ts +2 -1
  643. package/dist/views/tui/configuration-wizard-presentation.d.ts.map +1 -1
  644. package/dist/views/tui/configuration-wizard-presentation.js +45 -4
  645. package/dist/views/tui/configuration-wizard-presentation.js.map +1 -1
  646. package/dist/views/tui/configuration-wizard.d.ts.map +1 -1
  647. package/dist/views/tui/configuration-wizard.js +60 -65
  648. package/dist/views/tui/configuration-wizard.js.map +1 -1
  649. package/dist/views/tui/conversation-overlay-actions.d.ts.map +1 -1
  650. package/dist/views/tui/conversation-overlay-actions.js +8 -0
  651. package/dist/views/tui/conversation-overlay-actions.js.map +1 -1
  652. package/dist/views/tui/conversation-overlay-helpers.d.ts +0 -1
  653. package/dist/views/tui/conversation-overlay-helpers.d.ts.map +1 -1
  654. package/dist/views/tui/conversation-overlay-helpers.js +2 -5
  655. package/dist/views/tui/conversation-overlay-helpers.js.map +1 -1
  656. package/dist/views/tui/entity-browser-layout.js +9 -4
  657. package/dist/views/tui/entity-browser-layout.js.map +1 -1
  658. package/dist/views/tui/entity-browser.d.ts +2 -0
  659. package/dist/views/tui/entity-browser.d.ts.map +1 -1
  660. package/dist/views/tui/entity-browser.js +5 -0
  661. package/dist/views/tui/entity-browser.js.map +1 -1
  662. package/dist/views/tui/execution-target.d.ts.map +1 -1
  663. package/dist/views/tui/execution-target.js +6 -3
  664. package/dist/views/tui/execution-target.js.map +1 -1
  665. package/dist/views/tui/fork-preview.d.ts.map +1 -1
  666. package/dist/views/tui/fork-preview.js +10 -0
  667. package/dist/views/tui/fork-preview.js.map +1 -1
  668. package/dist/views/tui/profile-compatibility.js +2 -2
  669. package/dist/views/tui/profile-compatibility.js.map +1 -1
  670. package/dist/views/tui/selector.d.ts +10 -0
  671. package/dist/views/tui/selector.d.ts.map +1 -1
  672. package/dist/views/tui/selector.js +61 -2
  673. package/dist/views/tui/selector.js.map +1 -1
  674. package/dist/views/tui/setup-stage-rendering.d.ts +23 -0
  675. package/dist/views/tui/setup-stage-rendering.d.ts.map +1 -0
  676. package/dist/views/tui/setup-stage-rendering.js +60 -0
  677. package/dist/views/tui/setup-stage-rendering.js.map +1 -0
  678. package/dist/views/tui/supervisor-actions.d.ts +19 -0
  679. package/dist/views/tui/supervisor-actions.d.ts.map +1 -0
  680. package/dist/views/tui/supervisor-actions.js +59 -0
  681. package/dist/views/tui/supervisor-actions.js.map +1 -0
  682. package/dist/views/tui/terminal-app.d.ts.map +1 -1
  683. package/dist/views/tui/terminal-app.js +3 -0
  684. package/dist/views/tui/terminal-app.js.map +1 -1
  685. package/dist/views/tui/terminal-chrome.d.ts +1 -1
  686. package/dist/views/tui/terminal-chrome.d.ts.map +1 -1
  687. package/dist/views/tui/terminal-chrome.js +54 -4
  688. package/dist/views/tui/terminal-chrome.js.map +1 -1
  689. package/dist/views/tui/terminal-command-controller.d.ts.map +1 -1
  690. package/dist/views/tui/terminal-command-controller.js +10 -5
  691. package/dist/views/tui/terminal-command-controller.js.map +1 -1
  692. package/dist/views/tui/terminal-identity.js +1 -1
  693. package/dist/views/tui/terminal-identity.js.map +1 -1
  694. package/dist/views/tui/terminal-input-controller.d.ts.map +1 -1
  695. package/dist/views/tui/terminal-input-controller.js +26 -4
  696. package/dist/views/tui/terminal-input-controller.js.map +1 -1
  697. package/dist/views/tui/terminal-overlays.d.ts +2 -0
  698. package/dist/views/tui/terminal-overlays.d.ts.map +1 -1
  699. package/dist/views/tui/terminal-overlays.js +15 -0
  700. package/dist/views/tui/terminal-overlays.js.map +1 -1
  701. package/dist/views/tui/terminal-surface-overlays.d.ts +4 -0
  702. package/dist/views/tui/terminal-surface-overlays.d.ts.map +1 -1
  703. package/dist/views/tui/terminal-surface-overlays.js +243 -1
  704. package/dist/views/tui/terminal-surface-overlays.js.map +1 -1
  705. package/dist/views/tui/workspace-request-form.d.ts +19 -0
  706. package/dist/views/tui/workspace-request-form.d.ts.map +1 -0
  707. package/dist/views/tui/workspace-request-form.js +204 -0
  708. package/dist/views/tui/workspace-request-form.js.map +1 -0
  709. package/dist/views/tui/workspace-request-presentation.d.ts +4 -0
  710. package/dist/views/tui/workspace-request-presentation.d.ts.map +1 -0
  711. package/dist/views/tui/workspace-request-presentation.js +39 -0
  712. package/dist/views/tui/workspace-request-presentation.js.map +1 -0
  713. package/dist/views/tui/workspace-request-workflow.d.ts +17 -0
  714. package/dist/views/tui/workspace-request-workflow.d.ts.map +1 -0
  715. package/dist/views/tui/workspace-request-workflow.js +27 -0
  716. package/dist/views/tui/workspace-request-workflow.js.map +1 -0
  717. package/package.json +20 -13
package/README.md CHANGED
@@ -7,50 +7,59 @@
7
7
  </p>
8
8
  </div>
9
9
 
10
- Braid is one durable terminal for coding agents.
10
+ Braid is a durable terminal client for coding agents.
11
11
 
12
- A portable [`AgentProfile`](https://github.com/tangle-network/agent-sdk/tree/main/packages/agent-interface) selects the runner, model, instructions, tools, and permissions.
12
+ A portable [`AgentProfile`](https://github.com/tangle-network/agent-sdk/tree/main/packages/agent-interface) defines one agent's identity, instructions, model, runner preference, tools, and permissions.
13
13
 
14
- Braid sends every turn through [`agent-runtime`](https://github.com/tangle-network/agent-runtime), then keeps the transcript, branches, approvals, activity, graph, and trace analysis together.
14
+ Braid sends each turn through [`agent-runtime`](https://github.com/tangle-network/agent-runtime) and keeps the conversation, branches, runs, interactions, activity, graph, supervisors, and trace analyses together.
15
15
 
16
- ![Historical Braid recording through Local CLI Bridge and Claude Code](artifacts/demo/braid-live.gif)
16
+ Braid is a terminal client, not another agent loop.
17
17
 
18
- The checked-in recording and [capture manifest](artifacts/demo/braid-live.json) are historical Braid `0.1.3` evidence from Local CLI Bridge and Claude Code `opus`.
19
-
20
- They are not the current `0.2.0` Pi release claim.
21
-
22
- A fresh public recording requires a packed `0.2.0` Braid binary, a ready Pi backend, and measured usage from the exact run.
18
+ The [component design map](docs/components/README.md) links each visible surface to its owning contract and source component.
23
19
 
24
20
  ## Install
25
21
 
26
22
  Braid requires Node.js 22.19 or newer.
27
23
 
28
- Current validated release targets are Linux x64 and macOS arm64.
29
-
30
- The package rejects Windows installation until encrypted state meets the required path-race boundary there.
24
+ The published package currently targets Linux and macOS.
31
25
 
32
26
  ```bash
33
27
  npm install --global @tangle-network/braid
34
28
  braid
35
29
  ```
36
30
 
37
- The first-run flow selects an AgentProfile and a connection.
31
+ The first-run flow selects an `AgentProfile` and a connection.
32
+
33
+ A connection supplies transport and credential references.
38
34
 
39
- No runner-specific Braid configuration is required.
35
+ Credential values stay in the operating-system credential facility or their bounded response path.
40
36
 
41
- For a live terminal walkthrough, run the local CLI Bridge capture.
37
+ Use these launch forms when needed:
42
38
 
43
39
  ```bash
44
- pnpm capture:demo:live
40
+ braid --inline # keep normal terminal scrollback
41
+ braid --plain # readable non-interactive output
42
+ braid rpc # JSON Lines control interface
43
+ braid --conversation <id> # open a durable Braid conversation
45
44
  ```
46
45
 
47
- The capture routes a human prompt through Pi and records the measured result.
46
+ `--profile`, `--connection`, `--runner`, `--model`, and `--effort` select defaults for the opened or new branch.
47
+
48
+ They do not rewrite the profile source.
49
+
50
+ ## Operating model
51
+
52
+ The profile defines who the agent is.
48
53
 
49
- It requires a configured local CLI Bridge and a real provider credential.
54
+ The connection defines where requests go and which credentials they use.
50
55
 
51
- ## How it works
56
+ The runner defines which coding program executes one run.
52
57
 
53
- The core path is deliberately small.
58
+ The SDK field `harness` stores that runner preference.
59
+
60
+ Braid owns the user-visible conversation graph, durable event journal, branch choices, interaction decisions, activity views, and terminal/headless presentation.
61
+
62
+ The execution route is:
54
63
 
55
64
  ```text
56
65
  AgentProfile + user turn
@@ -61,27 +70,21 @@ AgentProfile + user turn
61
70
  ▼
62
71
  agent-runtime
63
72
  │
64
- ├── CLI Bridge ── Pi · Codex · Claude Code · Kimi Code · OpenCode · other runners
73
+ ├── CLI Bridge ── selected local runner
65
74
  ├── Tangle inference
66
- └── Tangle sandbox ── remote workspace and environment lifecycle
75
+ └── Tangle sandbox ── remote workspace
67
76
  │
68
77
  ▼
69
78
  normalized events, receipts, activity, and final output
70
79
  ```
71
80
 
72
- Braid does not implement an agent loop, spawn runner processes directly, parse private runner output, or invent another profile format.
73
-
74
- A concrete local route is `AgentProfile` with `harness: 'pi'` → Braid admission → `agent-runtime` → a CLI Bridge connection → Pi → normalized events back to Braid.
75
-
76
- ## AgentProfile is the configuration unit
81
+ Braid does not launch runner processes directly, parse private runner output, materialize profile files, schedule sandboxes, run trace judges, or implement billing.
77
82
 
78
- `AgentProfile` is the canonical portable definition of one agent.
83
+ An admitted run stores an immutable profile snapshot, effective runner, model, reasoning effort, configured output limits, connection, provider session, environment, and capability snapshot.
79
84
 
80
- It can contain the profile name, instructions, model hints, preferred runner, tools, permissions, resources, skills, MCP connections, modes, hooks, and subagent definitions.
85
+ Configured limits are not measured usage.
81
86
 
82
- The `harness` field in the SDK is a runner preference.
83
-
84
- Braid displays that preference as `runner` so the profile remains the agent identity while the execution route remains replaceable.
87
+ This is the shape of a profile using the current routed model example:
85
88
 
86
89
  ```ts
87
90
  import type { AgentProfile } from '@tangle-network/agent-interface'
@@ -91,11 +94,8 @@ const profile: AgentProfile = {
91
94
  harness: 'pi',
92
95
  model: {
93
96
  provider: 'tangle-router',
94
- default: 'tangle-router/glm-5.2',
97
+ default: 'tangle-router/glm-5.3',
95
98
  reasoningEffort: 'high',
96
- maxVisibleOutputTokens: 16_384,
97
- maxReasoningTokens: 32_768,
98
- maxTotalOutputTokens: 49_152,
99
99
  },
100
100
  prompt: {
101
101
  instructions: [
@@ -108,193 +108,256 @@ const profile: AgentProfile = {
108
108
  }
109
109
  ```
110
110
 
111
- A connection supplies transport and credential references.
111
+ ## Parallel work: Work Strip, activity, and focus
112
112
 
113
- The run binds the exact profile snapshot, selected connection, effective runner, model, reasoning effort, three configured output limits, and execution environment before dispatch.
113
+ Braid admits one run per conversation branch at a time.
114
114
 
115
- Visible output, reasoning output, and total output limits are separate configured dimensions.
115
+ Different branches and conversations can stream concurrently while each branch preserves its own turn order.
116
116
 
117
- Reasoning effort controls the requested thinking tier when the selected route supports it.
117
+ Inputs for an active run queue by default.
118
118
 
119
- Configured limits never stand in for measured usage.
119
+ `/queue <text>` always adds the next turn.
120
120
 
121
- ### Example effective run receipt
121
+ `/steer <text>` sends live steering only when that run reports steering support.
122
122
 
123
- The main shell and activity details keep these values together without confusing configuration with provider evidence.
123
+ `Alt+S` switches between queue and steer when both actions are available.
124
124
 
125
- The following values illustrate the shape of one receipt and are not a live run result.
125
+ The Work Strip appears when at least two active, queued, waiting, or detached work items need attention.
126
126
 
127
- | Field | Example value |
128
- | --- | --- |
129
- | Profile | `Release engineer` |
130
- | Runner | `pi` |
131
- | Model | `tangle-router/glm-5.2` |
132
- | Reasoning | `high` |
133
- | Max visible output | `16,384 tokens` |
134
- | Max reasoning output | `32,768 tokens` |
135
- | Max total output | `49,152 tokens` |
136
- | Connection | `Local CLI Bridge` |
137
- | Execution location | `local workspace through CLI Bridge` |
138
- | Environment | `local process; sandbox fields not applicable` |
127
+ Each item shows its branch, state, runner and model, pending interaction count, and available actions.
139
128
 
140
- When the route is a Tangle sandbox, Braid shows the environment lifecycle and the resources, placement, and machine details that the provider actually reports.
129
+ Standard terminals show up to three items, wide terminals show up to eight, and narrow terminals show one bounded count with `/activity to switch`.
141
130
 
142
- It labels requested, verified, sampled, estimated, and unavailable values separately.
131
+ `/activity` opens a full-screen browser instead of adding a permanent side panel.
143
132
 
144
- It never fills an unreported IP address, CPU allocation, RAM value, GPU lease, storage value, or cost with a guess.
133
+ `Tab` cycles `all`, `runs`, `analyses`, and `workers` scopes.
145
134
 
146
- ## One activity view, three kinds of work
135
+ In the `runs` scope, `Enter` opens details and focuses controls for that exact run.
147
136
 
148
- Braid keeps direct turns, trace analyses, and runtime workers distinct.
137
+ Changing focus does not pause, cancel, detach, or reassign another run.
149
138
 
150
- | Activity | What it means | Usage and control |
151
- | --- | --- | --- |
152
- | Turn | A user message admitted to the selected runner | Direct model, tool, latency, and cost values for that run |
153
- | Analysis | A separate `agent-eval` execution over a frozen run or branch | Its own analyst profile, model, tokens, latency, cost, citations, and cancellation |
154
- | Worker | A runtime-owned child under a supervisor | Its own status and usage when reported, with parent binding and control capability |
139
+ Controls carry the selected run identifier, so a background run cannot receive a focus-dependent action by accident.
155
140
 
156
- The activity browser can show all three in one timeline while preserving their separate totals.
141
+ Direct turns, trace analyses, supervisors, and workers remain separate activity records with separate usage totals.
157
142
 
158
- An unbound supervisor remains workspace activity and is not silently attributed to the current turn.
143
+ An unbound supervisor remains workspace activity and is not attributed to the current turn.
159
144
 
160
- Missing provider values remain unknown instead of becoming zero.
145
+ ## Continue, branch, and fork
161
146
 
162
- ## Trace analysis commands
147
+ ### Native continuation
163
148
 
164
- These commands inspect or compare recorded work rather than sending another ordinary prompt to the active coding runner.
149
+ An ordinary follow-up uses the exact provider session only when the current branch tip has the same profile and connection, the provider reports session continuation, and the provider proves the recorded message boundary with retry-safe request identity.
165
150
 
166
- | Command | Meaning |
167
- | --- | --- |
168
- | `/ask <question>` | Ask one free-form question about a selected frozen run or branch and return cited findings. |
169
- | `/analyze <recipe>` | Run a named recipe such as `failure`, `cost`, `tools`, or `improvement` through `agent-eval`. |
170
- | `/compare <left> <right>` | Freeze two run or branch sources, show their measured asymmetries, and create a paired comparison. |
151
+ Only the new user input is submitted because the provider session remains authoritative for its native context.
171
152
 
172
- `/ask` does not append a message to the analyzed branch.
153
+ If the provider cannot prove that boundary, Braid does not submit to the native session.
173
154
 
174
- Each analysis has its own run identity, source digest, analyst profile, model, budget, usage, latency, cost, completeness, and citations.
155
+ Choose a fresh provider session with an explicit portable context transfer when that provider supports it.
175
156
 
176
- The standard Braid install includes `uv` for `/ask`.
157
+ The transfer lists included, omitted, and transformed parts and requires acceptance when it changes the context.
177
158
 
178
- On first use, `uv` downloads a managed Python 3.12 runtime and runs `agent-eval-rpc[dspy]==0.145.15` in an isolated cached environment.
159
+ `--conversation <id>` attaches to Braid's durable record and recorded run bindings.
179
160
 
180
- Set `BRAID_PYTHON` only when an operator must use a preinstalled compatible environment instead.
161
+ It does not take over an arbitrary native runner process.
181
162
 
182
- Findings remain separate until the user explicitly sends selected findings to a branch or forks from the analysis.
163
+ `/interactive <prompt>` and `/attach [run-id]` are separate native-terminal operations.
183
164
 
184
- ## Interactive and headless modes
165
+ They require an interactive TUI and a retained provider session with native terminal support.
185
166
 
186
- Interactive mode is the full-screen terminal experience with a multiline composer, streaming transcript, selectors, and focused overlays.
167
+ ### Conversation operations
187
168
 
188
- Use inline mode when preserving normal terminal scrollback matters.
169
+ `/branch [message]` creates a new branch at a message boundary in the same conversation.
189
170
 
190
- ```bash
191
- braid
192
- braid --inline
193
- ```
171
+ It uses a new provider session and keeps the current environment shared.
194
172
 
195
- Headless mode is the same application core behind JSON Lines commands and state records.
173
+ Pending interactions and queued work after the boundary are not inherited.
196
174
 
197
- ```bash
198
- braid rpc
199
- ```
175
+ `/clone` creates a separate conversation from the active branch tip with new conversation, branch, and execution identities.
200
176
 
201
- Use plain mode for a readable non-interactive event stream without terminal control sequences.
177
+ It may retain a reference to the same workspace, but it does not copy provider process memory.
202
178
 
203
- ```bash
204
- braid --plain
205
- ```
179
+ `/fork` opens a provenance preview before creating a branch.
180
+
181
+ The preview shows the transcript boundary, profile, run overrides, provider session, environment, checkpoint, working-tree state, queued input, and pending interactions.
206
182
 
207
- The terminal and JSONL interfaces share command parsing, capability checks, operation identifiers, reducers, persistence, execution ports, and view projections.
183
+ The default is a conversation-only fork with a new provider session and shared environment.
208
184
 
209
- Headless clients can send, queue, steer, cancel, detach, reconnect, reconcile, inspect state, inspect activity, run analysis, compare sources, and export records through the versioned protocol.
185
+ `/fork --runner <name>` creates a cross-runner handoff with a new provider session and explicit portable context.
210
186
 
211
- Mutating headless requests carry stable operation identifiers so a retry can be recognized instead of dispatched twice.
187
+ Hidden process memory, runner-specific todos, opaque tool state, and opaque tool identifiers do not transfer.
212
188
 
213
- ## Attach, resume, and sandboxes
189
+ `/fork --workspace` requests a real provider checkpoint and destination environment.
214
190
 
215
- Opening Braid with `--conversation <id>` attaches the interface to a durable Braid conversation and its recorded run bindings.
191
+ It is available only when the provider reports retry-safe checkpoint and fork operations, lookup by idempotency key, and explicit cleanup.
216
192
 
217
- That operation restores Braid's journal and view state; it does not claim to take over an arbitrary native runner process.
193
+ The source environment remains unchanged, and a failed fork does not destroy its checkpoint or source.
218
194
 
219
- Braid reconnects a non-terminal run from the last committed event cursor only when the selected provider can prove replay or status.
195
+ The destination environment is not assumed to include external services, browser sessions, secrets, network connections, or provider process memory.
220
196
 
221
- If the provider cannot prove the live state, Braid displays detached, incomplete, expired, unauthorized, or unknown rather than calling the run completed.
197
+ ## Interactions and secrets
222
198
 
223
- Continuing a compatible native provider session requires provider evidence that its context boundary matches Braid's recorded message boundary.
199
+ An interaction is a provider request with a stable identifier, kind, prompt, subject, timeout, allowed outcomes, and canonical `answerSpec`.
224
200
 
225
- Changing runners creates a new provider session with an explicit portable-context handoff.
201
+ Known kinds include questions, permissions, and plans.
226
202
 
227
- It does not claim to transfer hidden process memory, runner-specific todos, opaque tool state, or native session internals.
203
+ Unknown kinds render through the generic answer specification and fail closed if Braid cannot validate a response.
228
204
 
229
- A Tangle sandbox connection provides an isolated remote workspace and reports only the lifecycle, replay, control, and resource capabilities that the current provider proves.
205
+ `/approve [scope]` accepts an allowed response.
230
206
 
231
- Braid shows those capabilities and their receipts through the same activity and graph surfaces.
207
+ `/reject [feedback]` declines it when the schema accepts feedback.
232
208
 
233
- New Tangle Sandbox connections default to one ephemeral cloud turn and delete that environment after the turn.
209
+ The terminal validates text, number, boolean, select, and secret answers before dispatch.
234
210
 
235
- Retained lifecycle is an explicit connection configuration option with a bounded idle limit.
211
+ Permission controls expose only scopes declared by the provider.
236
212
 
237
- Before retained execution creates a sandbox, Braid requires exact control plus provider-backed lookup for an unacknowledged dispatch.
213
+ Secret answers are masked and sent only through the bounded response path.
238
214
 
239
- The current provider reports both, so a fresh Braid process can recover before or after the six-field reference commits.
215
+ They are excluded from history, profiles, SQLite, logs, snapshots, screenshots, and trace artifacts.
240
216
 
241
- Native follow-up turns remain disabled until the provider also proves that its context boundary matches Braid's recorded boundary.
217
+ `/automate` manages scoped non-secret response rules.
242
218
 
243
- Checkpoint, environment fork, and interaction response remain unavailable until the shared provider reports and proves those operations.
219
+ An answer specification containing a secret field cannot create or match an automation rule.
244
220
 
245
- The user can inspect the requested and verified execution location, but provider-private machine details remain unavailable when they are not reported.
221
+ Concurrent interactions remain attached to their source runs and display in stable arrival order.
222
+
223
+ Response retries reuse the same operation identifier and never answer twice.
224
+
225
+ ## Trace analysis
226
+
227
+ Trace analysis reads a frozen run or branch record in a separate execution.
228
+
229
+ It does not send a question to the active agent and does not append a message to the analyzed branch.
230
+
231
+ ```text
232
+ /ask <question> cited free-form question about the last eligible source
233
+ /analyze failure,cost,tools run selected named recipes
234
+ /analyze all run every available trace analyst
235
+ /compare <left> <right> compare two frozen sources
236
+ ```
246
237
 
247
- On 2026-08-15, the default retained production cohort passed 3 of 3 Braid runs through OpenCode, GLM 5.2, and Tangle Sandbox at two-way concurrency.
238
+ `/ask` uses the last completed or failed run unless a source is selected explicitly.
248
239
 
249
- Each proof killed the first Braid process, reconnected once, continued in the same provider session, cancelled a later turn, replayed the same cancellation, and rejected changed input.
240
+ Each analysis records its source digest, analyst profile, model, recipe, progress, findings, citations, completeness, usage, latency, cost, and cancellation state.
250
241
 
251
- All three exact sandboxes were confirmed deleted, and the account's active Sandbox count returned to its starting value.
242
+ The analysis activity scope uses `p` to promote a supported cited finding and `x` to cancel active analysis.
252
243
 
253
- Individual proof duration was 82.3 seconds minimum, 89.0 seconds median, and 96.2 seconds maximum.
244
+ Promotion creates an explicit attachment or a branch fork; it never changes the source implicitly.
254
245
 
255
- Six completed turns reported 9,231 input tokens, 1,992 output tokens, and $0 provider cost; token and cost data were unavailable for three cancelled turns.
246
+ Comparisons show every measured field and asymmetry before any semantic interpretation.
256
247
 
257
- The provider exposed cgroup v2 memory samples with a 2,048 MB limit and 630–633 MB peak use.
248
+ ## Runtime supervisors and workers
258
249
 
259
- Machine identity, IP address, effective CPU and storage, placement, region, and per-sandbox cost remained unavailable because the provider did not report them.
250
+ `/activity` reads runtime-owned supervisor snapshots through the shared Runtime API.
260
251
 
261
- The earlier ephemeral stress proof completed 20 of 20 Braid turns at four-way concurrency.
252
+ It does not read `.agent/supervisor` files or infer identity from display text, timestamps, or row order.
262
253
 
263
- All 20 remote environments were unique and confirmed deleted, while the account's active Sandbox count returned from four to four.
254
+ In the `workers` scope, `r` refreshes the snapshot, `s` opens a worker steering prompt, `x` requests cancellation, and `a` attaches to a running worker's retained terminal when available.
264
255
 
265
- See the [ephemeral proof artifact](artifacts/verification/live/tangle-sandbox-braid-execution-stress-production-20260812.json) for every earlier run, token receipt, latency, environment observation, and cleanup result.
256
+ Worker steering sends the exact runtime worker identifier with a stable operation identifier and displays a queued or acknowledged effect.
266
257
 
267
- The [verification record](docs/08-verification.md#current-core-path-observations) keeps the full results, limits, and tracked platform work.
258
+ Worker cancellation and supervisor cancellation use runtime-owned idempotent operations and display the acknowledged effect and terminated descendants when reported.
268
259
 
269
- ## Commands users reach for first
260
+ Worker attachment resolves the projected Braid supervisor and worker to exact Runtime identifiers, then claims the retained interactive handle for that worker.
261
+
262
+ It is available only in the interactive TUI when the selected worker is running and its provider exposes a retained terminal binding.
263
+
264
+ That worker action is different from `/attach [run-id]`, which targets a retained native terminal session.
265
+
266
+ When the runtime cannot acknowledge a control, Braid leaves the result queued or unknown.
267
+
268
+ It never displays delivered steering or cancellation without the matching runtime effect.
269
+
270
+ ## Capability-aware commands
271
+
272
+ Braid asks the active provider and Runtime for capabilities before it enables an action.
273
+
274
+ Unavailable commands remain searchable and explain the exact missing capability.
275
+
276
+ Common reasons include:
277
+
278
+ | Action | Exact reason shown when the condition applies |
279
+ | --- | --- |
280
+ | Worker steer | `There is no running supervised worker to steer` |
281
+ | Worker cancel | `There is no running supervised worker to cancel` |
282
+ | Supervisor cancel | `There is no running supervisor to cancel` |
283
+ | Worker attach without an interactive TUI | `Worker terminals require an interactive TUI` |
284
+ | Worker attach without a running worker | `There is no running supervised worker to attach` |
285
+ | Worker attach with a stale selection | `The selected worker is not running` |
286
+ | Worker attach with a missing target | `The selected worker is not present under the selected supervisor` |
287
+ | Worker attach without a retained binding | `The worker has no retained terminal binding` |
288
+ | Worker attach without provider support | `The worker provider cannot attach a terminal` |
289
+ | Worker attach without a configured provider | `Select the worker's Tangle Sandbox connection first` |
290
+ | Native terminal | `Select a retained Tangle Sandbox connection with native terminal support` |
291
+ | Native session attach | `No retained native session is available` |
292
+ | Interaction response | `Interaction response is not exposed by the current runtime adapter` |
293
+ | Provider cancellation | `The current runtime does not acknowledge provider cancellation` |
294
+ | Live steering | `The current runtime does not report steering support` |
295
+ | Queued input | `The current runtime does not report queued input support` |
296
+
297
+ A missing capability never becomes a simulated success.
298
+
299
+ ## Tangle Sandbox lifecycle
300
+
301
+ New Tangle Sandbox connections default to one ephemeral cloud turn and delete the environment after the turn.
302
+
303
+ Retained execution is an explicit connection choice.
304
+
305
+ Braid requires exact retained-run control and provider-backed lookup before it creates a retained environment, so restart can recover an uncommitted dispatch.
306
+
307
+ The provider reports lifecycle, replay, control, interaction, continuation, workspace, placement, resource, and usage capabilities per run.
308
+
309
+ Braid shows requested, verified, sampled, estimated, and unavailable values separately.
310
+
311
+ It never guesses machine identity, IP address, effective resources, storage, or cost when the provider does not report them.
312
+
313
+ ## Commands at a glance
270
314
 
271
315
  | Need | Command or key |
272
316
  | --- | --- |
273
- | Select the agent and route | `/profile`, `/connection`, `/runner`, `/model`, `/effort` |
274
- | Inspect execution | `/activity`, `F2`, `/export` |
275
- | Navigate the work graph | `/graph`, `/fork`, `/branch`, `/clone` |
276
- | Answer or automate a request | `/approve`, `/reject`, `/automate` |
277
- | Control active work | `/queue`, `/steer`, `/cancel` |
317
+ | Select profile and route | `/profile`, `/connection`, `/runner`, `/model`, `/effort` |
318
+ | Open activity and focus a run | `/activity`, `F2`, `Enter` on a run row |
319
+ | Navigate conversation work | `/graph`, `/branch`, `/clone`, `/fork` |
320
+ | Answer an interaction | `/approve`, `/reject`, `/automate` |
321
+ | Queue, steer, or cancel a run | `/queue`, `/steer`, `/cancel` |
322
+ | Detach and recover retained work | `/detach`, `/reconnect`, `/reconcile` |
323
+ | Use a native terminal | `/interactive`, `/attach` |
324
+ | Analyze or compare work | `/ask`, `/analyze`, `/compare` |
278
325
  | Drive Braid from another process | `braid rpc` |
279
326
 
280
- Commands remain searchable when a provider does not support them.
327
+ Run `/help [query]` for the complete command and key registry.
328
+
329
+ The command palette uses the same capability explanations as direct invocation.
330
+
331
+ ## Headless mode
332
+
333
+ `braid rpc` exposes JSON Lines commands over the same application core as the terminal.
334
+
335
+ Headless clients can inspect state, send, queue, steer, cancel, detach, reconnect, reconcile, respond to interactions, manage automation, branch, clone, fork, analyze, compare, inspect activity, control workers, and export records.
281
336
 
282
- An unavailable command explains the missing capability instead of pretending that the operation succeeded.
337
+ Worker terminal attachment remains an interactive-TUI action.
283
338
 
284
- ## What Braid owns
339
+ Mutating requests carry stable operation identifiers, so retries can be recognized instead of dispatched twice.
340
+
341
+ Plain output and headless state contain no terminal control sequences.
342
+
343
+ ## Ownership and safety boundaries
285
344
 
286
345
  | Boundary | Owner |
287
346
  | --- | --- |
288
- | Portable agent definition and compatibility facts | `agent-interface` |
289
- | Run admission, lifecycle, normalized events, and runtime control | `agent-runtime` |
347
+ | Portable agent definition and compatibility helpers | `agent-interface` |
348
+ | Run admission, lifecycle, normalized events, replay, and runtime control | `agent-runtime` |
290
349
  | Local runner process and native profile materialization | CLI Bridge |
291
- | Tangle inference and remote workspace lifecycle | Tangle provider and sandbox packages |
350
+ | Inference and remote workspace lifecycle | Tangle provider and sandbox packages |
292
351
  | Trace analysis and paired comparison | `agent-eval` |
293
- | Conversation journal, branches, graph, approvals, projections, and terminal/headless interfaces | Braid |
352
+ | Conversation journal, branches, graph, interactions, projections, and interfaces | Braid |
353
+
354
+ Components render immutable view models and emit typed intents.
355
+
356
+ Controllers own workflows, cancellation, event reduction, and side effects through ports.
294
357
 
295
- Braid adapts these contracts through narrow ports.
358
+ Untrusted terminal content is sanitized before rendering, and OSC control sequences are suppressed by default.
296
359
 
297
- It does not duplicate execution, authentication, provider parsing, sandbox scheduling, trace judging, or billing logic.
360
+ No credential value, secret interaction answer, provider-private state, or raw secret-bearing trace enters a profile, SQLite record, log, snapshot, screenshot, or export.
298
361
 
299
362
  ## Development and proof
300
363
 
@@ -304,27 +367,21 @@ pnpm check
304
367
  pnpm capture:visual
305
368
  ```
306
369
 
307
- `pnpm check` covers formatting, linting, types, dependency boundaries, attribution, licenses, automated tests, live checks, and release checks configured by the repository.
370
+ `pnpm check` runs the repository's formatting, lint, type, boundary, dependency, attribution, license, test, live, and release checks.
308
371
 
309
- When a ready Pi backend is configured, `pnpm capture:visual` drives the packed CLI through a pseudo-terminal and records terminal state evidence plus a live Pi and CLI Bridge product capture.
310
-
311
- The checked-in W6 state captures prove rendering and keyboard paths.
312
-
313
- A successful product capture is the evidence for the live Pi, CLI Bridge, inference route, and sandbox run.
372
+ `pnpm capture:visual` records terminal state at 40×12, 80×24, 120×40, and 200×60 and exercises the keyboard path.
314
373
 
315
374
  The [verification plan](docs/08-verification.md) defines the required live, headless, terminal, security, installation, and release evidence.
316
375
 
317
376
  The [delivery plan](docs/09-delivery-plan.md) records dependency order and completion criteria.
318
377
 
319
- The [product contract](docs/01-product-contract.md), [experience specification](docs/02-experience-specification.md), and [architecture](docs/03-architecture.md) define the user-visible and ownership boundaries.
378
+ The [product contract](docs/01-product-contract.md), [experience specification](docs/02-experience-specification.md), [runtime contracts](docs/04-runtime-contracts.md), and [conversation/fork/analysis contract](docs/06-conversations-forks-and-analysis.md) define the behavior and ownership boundaries.
320
379
 
321
380
  ## Open-source foundation
322
381
 
323
382
  Braid uses the MIT-licensed [`@earendil-works/pi-tui`](https://www.npmjs.com/package/@earendil-works/pi-tui) package for terminal rendering and input primitives.
324
383
 
325
- Its interaction design takes narrow, application-level patterns from [Pi](https://github.com/earendil-works/pi), [OpenCode](https://github.com/anomalyco/opencode), and [Codex](https://github.com/openai/codex) without copying their agent loops, session stores, authentication systems, provider adapters, or model registries.
326
-
327
- See the [renderer decision](docs/decisions/001-pi-tui-renderer.md), [runtime boundary](docs/decisions/002-runtime-boundary.md), [upstream strategy](docs/10-upstream-strategy.md), and [third-party notices](THIRD_PARTY_NOTICES.md) for the exact reuse boundary.
384
+ See the [renderer decision](docs/decisions/001-pi-tui-renderer.md), [runtime boundary](docs/decisions/002-runtime-boundary.md), [upstream strategy](docs/10-upstream-strategy.md), and [third-party notices](THIRD_PARTY_NOTICES.md) for the reuse boundary.
328
385
 
329
386
  ## License
330
387
 
@@ -77,6 +77,10 @@
77
77
  "license": "MIT",
78
78
  "name": "@tangle-network/sandbox"
79
79
  },
80
+ {
81
+ "license": "Apache-2.0",
82
+ "name": "@tangle-network/tcloud-attestation"
83
+ },
80
84
  {
81
85
  "license": "MIT",
82
86
  "name": "@types/proper-lockfile"
@@ -213,6 +217,10 @@
213
217
  "license": "ISC",
214
218
  "name": "signal-exit"
215
219
  },
220
+ {
221
+ "license": "BSD-3-Clause",
222
+ "name": "smol-toml"
223
+ },
216
224
  {
217
225
  "license": "CC-BY-3.0",
218
226
  "name": "spdx-exceptions"
@@ -13,8 +13,8 @@ The implementation is expected to depend on and adapt behavior from the followin
13
13
  | [Hermes Agent](https://github.com/NousResearch/hermes-agent/tree/main/ui-tui) | Client/runtime separation and workflow reference only | `NousResearch/hermes-agent@f88ed6c71768cdc7ea3bfa8cf62d16654792fd2a` | MIT |
14
14
  | [Microsoft Aspire](https://github.com/dotnet/aspire) | Windows Job Object creation and cleanup pattern for portable release proof | `dotnet/aspire@be77aa36daf995fae0e72091141410c7082fcba3` | MIT |
15
15
  | [`better-sqlite3-multiple-ciphers`](https://github.com/m4heshd/better-sqlite3-multiple-ciphers) | Pinned production SQLite binding with SQLCipher-compatible encryption | `better-sqlite3-multiple-ciphers@13.0.3` | MIT |
16
- | [`@napi-rs/keyring`](https://github.com/Brooooooklyn/keyring-node) | Native macOS Keychain, Linux Secret Service, and Windows Credential Manager access without passing secrets through command arguments | `@napi-rs/keyring@1.3.0` | MIT |
17
- | [Koffi](https://github.com/Koromix/koffi) | Prebuilt Node FFI for operating system `openat`, `mkdirat`, `linkat`, `renameat`, and `unlinkat` calls | `koffi@3.1.4` | MIT |
16
+ | [`@napi-rs/keyring`](https://github.com/Brooooooklyn/keyring-node) | Native macOS Keychain, Linux Secret Service, and Windows Credential Manager access without passing secrets through command arguments | `@napi-rs/keyring@2.0.0` | MIT |
17
+ | [Koffi](https://github.com/Koromix/koffi) | Prebuilt Node FFI for operating system `openat`, `mkdirat`, `linkat`, `renameat`, and `unlinkat` calls | `koffi@3.1.6` | MIT |
18
18
 
19
19
  ## Attribution rule
20
20
 
@@ -23,13 +23,15 @@ Before copied or substantially adapted code is committed, add one row below with
23
23
  | Braid path | Upstream source | Source commit | License | Adaptation |
24
24
  | --- | --- | --- | --- | --- |
25
25
  | `test/support/virtual-terminal.ts` | [`earendil-works/pi`, `packages/tui/test/virtual-terminal.ts`](https://github.com/earendil-works/pi/blob/a6f7317dfca61e357aee65faafe012a1be6c3734/packages/tui/test/virtual-terminal.ts) | `a6f7317dfca61e357aee65faafe012a1be6c3734` | MIT, Copyright (c) 2025 Mario Zechner | Changed imports to the published Pi TUI package and applied Braid formatting; production code does not include this file. |
26
+ | `src/views/tui/selector.ts` | [`earendil-works/pi`, `packages/tui/src/components/select-list.ts`](https://github.com/earendil-works/pi/blob/a6f7317dfca61e357aee65faafe012a1be6c3734/packages/tui/src/components/select-list.ts) | `a6f7317dfca61e357aee65faafe012a1be6c3734` | MIT, Copyright (c) 2025 Mario Zechner | Reuses Pi's pinned column-width and truncation calculations to mark description overflow while preserving the shared selector behavior. |
26
27
  | `scripts/live-bridge/windows-job-host-source.mjs` | [`dotnet/aspire`, `src/Aspire.Cli/Processes/WindowsConsoleProcessJob.cs` and `WindowsProcessInterop.cs`](https://github.com/dotnet/aspire/tree/be77aa36daf995fae0e72091141410c7082fcba3/src/Aspire.Cli/Processes) | `be77aa36daf995fae0e72091141410c7082fcba3` | MIT, Copyright (c) .NET Foundation and contributors | Adapted atomic Job Object attachment, kill-on-close containment, and active-process drain checks for Braid's Windows release proof. |
28
+ | `test/fixtures/aws-nitro-document.cbor` | [`anchorageoss/awsnitroverifier`, `testdata/aws_nitro_document.cbor`](https://github.com/anchorageoss/awsnitroverifier/blob/2605f002296b40eadfee3c832c4826237147fa29/testdata/aws_nitro_document.cbor) | `2605f002296b40eadfee3c832c4826237147fa29` | Apache-2.0 (the upstream repository's full license text applies; it publishes no additional NOTICE file) | Public AWS Nitro COSE_Sign1 fixture used for deterministic adapter verification and mutation tests. |
27
29
 
28
30
  The original copyright and license notice must remain with every substantial copied portion.
29
31
 
30
32
  A dependency declared in `package.json` does not require a file-level source header, but its license must remain represented in the generated release license inventory.
31
33
 
32
- W5 adds the pinned `better-sqlite3-multiple-ciphers@13.0.3`, `@napi-rs/keyring@1.3.0`, and `koffi@3.1.4` production dependencies.
34
+ W5 adds the pinned `better-sqlite3-multiple-ciphers@13.0.3`, `@napi-rs/keyring@2.0.0`, and `koffi@3.1.6` production dependencies.
33
35
 
34
36
  It contains no copied source from these packages.
35
37
 
@@ -1 +1 @@
1
- {"version":3,"file":"eval-analyst.d.ts","sourceRoot":"","sources":["../../../src/adapters/analysis/eval-analyst.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EAGpB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAE3B,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC1F,OAAO,EAA2B,KAAK,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACnG,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAErE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE3D,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAE7B,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,aAAa,CAAC,iBAAiB,CAAC,CAAA;IACrD,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAA;CAC3D;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAA;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,uBAAuB,CAAA;IAClD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAC7B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,0BAA0B,KAClC,OAAO,CAAC,IAAI,CAAC,CAAA;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAA;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAA;CACxC;AAmCD,qBAAa,uBAAuB;;IAKlC,YACE,QAAQ,CAAC,EAAE,mBAAmB,EAC9B,gBAAgB,CAAC,EAAE,uBAAuB,EAC1C,mBAAmB,CAAC,EAAE,mBAAmB,EAK1C;IAED,eAAe,CAAC,KAAK,EAAE,MAAM,uGAE5B;IAED,IAAI,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAGvC;IAED,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,GAAG,YAAY,CAAC,GAAG,SAAS,MAAM,EAAE,CAuB/F;IAEM,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,cAAc,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,CAAC,CAmD7F;CACF;AAED,oFAAoF;AACpF,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,uBAAuB,GAC7B,uBAAuB,CAYzB"}
1
+ {"version":3,"file":"eval-analyst.d.ts","sourceRoot":"","sources":["../../../src/adapters/analysis/eval-analyst.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EAGpB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAE3B,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC1F,OAAO,EAA2B,KAAK,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACnG,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAErE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE3D,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAE7B,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,aAAa,CAAC,iBAAiB,CAAC,CAAA;IACrD,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAA;CAC3D;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAA;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,uBAAuB,CAAA;IAClD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAC7B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,0BAA0B,KAClC,OAAO,CAAC,IAAI,CAAC,CAAA;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAA;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAA;CACxC;AAmCD,qBAAa,uBAAuB;;IAKlC,YACE,QAAQ,CAAC,EAAE,mBAAmB,EAC9B,gBAAgB,CAAC,EAAE,uBAAuB,EAC1C,mBAAmB,CAAC,EAAE,mBAAmB,EAK1C;IAED,eAAe,CAAC,KAAK,EAAE,MAAM,uGAE5B;IAED,IAAI,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAGvC;IAED,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,GAAG,YAAY,CAAC,GAAG,SAAS,MAAM,EAAE,CAwC/F;IAEM,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,cAAc,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,CAAC,CAmD7F;CACF;AAED,oFAAoF;AACpF,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,uBAAuB,GAC7B,uBAAuB,CAYzB"}