@tangle-network/braid 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (637) hide show
  1. package/README.md +69 -54
  2. package/THIRD_PARTY_LICENSES.json +16 -0
  3. package/THIRD_PARTY_NOTICES.md +4 -1
  4. package/dist/adapters/agent-interface/harness-runtime.d.ts +1 -0
  5. package/dist/adapters/agent-interface/harness-runtime.d.ts.map +1 -1
  6. package/dist/adapters/agent-interface/harness-runtime.js +3 -1
  7. package/dist/adapters/agent-interface/harness-runtime.js.map +1 -1
  8. package/dist/adapters/analysis/agent-eval-version.d.ts +1 -1
  9. package/dist/adapters/analysis/agent-eval-version.d.ts.map +1 -1
  10. package/dist/adapters/analysis/agent-eval-version.js +2 -1
  11. package/dist/adapters/analysis/agent-eval-version.js.map +1 -1
  12. package/dist/adapters/analysis/citations.d.ts.map +1 -1
  13. package/dist/adapters/analysis/citations.js +17 -14
  14. package/dist/adapters/analysis/citations.js.map +1 -1
  15. package/dist/adapters/analysis/eval-analyst.d.ts +2 -0
  16. package/dist/adapters/analysis/eval-analyst.d.ts.map +1 -1
  17. package/dist/adapters/analysis/eval-analyst.js.map +1 -1
  18. package/dist/adapters/analysis/managed-analysis-runtime.d.ts +19 -0
  19. package/dist/adapters/analysis/managed-analysis-runtime.d.ts.map +1 -0
  20. package/dist/adapters/analysis/managed-analysis-runtime.js +72 -0
  21. package/dist/adapters/analysis/managed-analysis-runtime.js.map +1 -0
  22. package/dist/adapters/analysis/production-analysis-analyst.d.ts +1 -1
  23. package/dist/adapters/analysis/production-analysis-analyst.d.ts.map +1 -1
  24. package/dist/adapters/analysis/production-analysis-analyst.js +18 -2
  25. package/dist/adapters/analysis/production-analysis-analyst.js.map +1 -1
  26. package/dist/adapters/analysis/python-runner.d.ts +3 -1
  27. package/dist/adapters/analysis/python-runner.d.ts.map +1 -1
  28. package/dist/adapters/analysis/python-runner.js +99 -1
  29. package/dist/adapters/analysis/python-runner.js.map +1 -1
  30. package/dist/adapters/analysis/question-analyst.js +2 -2
  31. package/dist/adapters/analysis/question-analyst.js.map +1 -1
  32. package/dist/adapters/analysis/runtime-model-owner.d.ts +2 -0
  33. package/dist/adapters/analysis/runtime-model-owner.d.ts.map +1 -1
  34. package/dist/adapters/analysis/runtime-model-owner.js +118 -34
  35. package/dist/adapters/analysis/runtime-model-owner.js.map +1 -1
  36. package/dist/adapters/analysis/runtime-retained-model-call.d.ts +27 -0
  37. package/dist/adapters/analysis/runtime-retained-model-call.d.ts.map +1 -0
  38. package/dist/adapters/analysis/runtime-retained-model-call.js +94 -0
  39. package/dist/adapters/analysis/runtime-retained-model-call.js.map +1 -0
  40. package/dist/adapters/analysis/trace-analysis-adapter.d.ts +4 -0
  41. package/dist/adapters/analysis/trace-analysis-adapter.d.ts.map +1 -1
  42. package/dist/adapters/analysis/trace-analysis-adapter.js +29 -7
  43. package/dist/adapters/analysis/trace-analysis-adapter.js.map +1 -1
  44. package/dist/adapters/analysis/trace-event-projection.js +1 -1
  45. package/dist/adapters/analysis/trace-event-projection.js.map +1 -1
  46. package/dist/adapters/analysis/trace-store.d.ts +1 -1
  47. package/dist/adapters/analysis/trace-store.d.ts.map +1 -1
  48. package/dist/adapters/analysis/trace-store.js +1 -1
  49. package/dist/adapters/analysis/trace-store.js.map +1 -1
  50. package/dist/adapters/connections/cli-bridge-model-route.d.ts +2 -2
  51. package/dist/adapters/connections/cli-bridge-model-route.d.ts.map +1 -1
  52. package/dist/adapters/connections/cli-bridge-model-route.js +17 -7
  53. package/dist/adapters/connections/cli-bridge-model-route.js.map +1 -1
  54. package/dist/adapters/connections/production-connection-providers.d.ts.map +1 -1
  55. package/dist/adapters/connections/production-connection-providers.js +34 -1
  56. package/dist/adapters/connections/production-connection-providers.js.map +1 -1
  57. package/dist/adapters/connections/production-connection-types.d.ts +12 -1
  58. package/dist/adapters/connections/production-connection-types.d.ts.map +1 -1
  59. package/dist/adapters/connections/production-connections.d.ts +1 -1
  60. package/dist/adapters/connections/production-connections.d.ts.map +1 -1
  61. package/dist/adapters/connections/production-connections.js.map +1 -1
  62. package/dist/adapters/connections/tangle-retained-control-lookup.d.ts +6 -0
  63. package/dist/adapters/connections/tangle-retained-control-lookup.d.ts.map +1 -0
  64. package/dist/adapters/connections/tangle-retained-control-lookup.js +98 -0
  65. package/dist/adapters/connections/tangle-retained-control-lookup.js.map +1 -0
  66. package/dist/adapters/credentials/headless-key.js +3 -2
  67. package/dist/adapters/credentials/headless-key.js.map +1 -1
  68. package/dist/adapters/persistence/posix-at.d.ts +8 -0
  69. package/dist/adapters/persistence/posix-at.d.ts.map +1 -0
  70. package/dist/adapters/persistence/posix-at.js +96 -0
  71. package/dist/adapters/persistence/posix-at.js.map +1 -0
  72. package/dist/adapters/persistence/safe-file-descriptor.d.ts +1 -1
  73. package/dist/adapters/persistence/safe-file-descriptor.d.ts.map +1 -1
  74. package/dist/adapters/persistence/safe-file-descriptor.js +29 -18
  75. package/dist/adapters/persistence/safe-file-descriptor.js.map +1 -1
  76. package/dist/adapters/persistence/safe-file-io.d.ts.map +1 -1
  77. package/dist/adapters/persistence/safe-file-io.js +9 -9
  78. package/dist/adapters/persistence/safe-file-io.js.map +1 -1
  79. package/dist/adapters/persistence/safe-file.d.ts +1 -1
  80. package/dist/adapters/persistence/safe-file.d.ts.map +1 -1
  81. package/dist/adapters/persistence/safe-file.js +4 -4
  82. package/dist/adapters/persistence/safe-file.js.map +1 -1
  83. package/dist/adapters/runtime/agent-runtime-version.d.ts +1 -1
  84. package/dist/adapters/runtime/agent-runtime-version.d.ts.map +1 -1
  85. package/dist/adapters/runtime/agent-runtime-version.js +2 -1
  86. package/dist/adapters/runtime/agent-runtime-version.js.map +1 -1
  87. package/dist/adapters/runtime/cli-bridge-retained-execution.d.ts +6 -32
  88. package/dist/adapters/runtime/cli-bridge-retained-execution.d.ts.map +1 -1
  89. package/dist/adapters/runtime/cli-bridge-retained-execution.js +11 -317
  90. package/dist/adapters/runtime/cli-bridge-retained-execution.js.map +1 -1
  91. package/dist/adapters/runtime/cli-bridge-retained-run.d.ts +4 -3
  92. package/dist/adapters/runtime/cli-bridge-retained-run.d.ts.map +1 -1
  93. package/dist/adapters/runtime/cli-bridge-retained-run.js +53 -16
  94. package/dist/adapters/runtime/cli-bridge-retained-run.js.map +1 -1
  95. package/dist/adapters/runtime/prepared-execution.d.ts +1 -0
  96. package/dist/adapters/runtime/prepared-execution.d.ts.map +1 -1
  97. package/dist/adapters/runtime/prepared-execution.js.map +1 -1
  98. package/dist/adapters/runtime/production-backend-common.d.ts +3 -1
  99. package/dist/adapters/runtime/production-backend-common.d.ts.map +1 -1
  100. package/dist/adapters/runtime/production-backend-common.js +3 -3
  101. package/dist/adapters/runtime/production-backend-common.js.map +1 -1
  102. package/dist/adapters/runtime/production-backend-resolver.d.ts +4 -1
  103. package/dist/adapters/runtime/production-backend-resolver.d.ts.map +1 -1
  104. package/dist/adapters/runtime/production-backend-resolver.js +13 -1
  105. package/dist/adapters/runtime/production-backend-resolver.js.map +1 -1
  106. package/dist/adapters/runtime/production-cli-bridge-backend.d.ts.map +1 -1
  107. package/dist/adapters/runtime/production-cli-bridge-backend.js +4 -2
  108. package/dist/adapters/runtime/production-cli-bridge-backend.js.map +1 -1
  109. package/dist/adapters/runtime/production-tangle-sandbox-backend.d.ts +21 -1
  110. package/dist/adapters/runtime/production-tangle-sandbox-backend.d.ts.map +1 -1
  111. package/dist/adapters/runtime/production-tangle-sandbox-backend.js +108 -11
  112. package/dist/adapters/runtime/production-tangle-sandbox-backend.js.map +1 -1
  113. package/dist/adapters/runtime/retained-execution-contract.d.ts +48 -0
  114. package/dist/adapters/runtime/retained-execution-contract.d.ts.map +1 -0
  115. package/dist/adapters/runtime/retained-execution-contract.js +2 -0
  116. package/dist/adapters/runtime/retained-execution-contract.js.map +1 -0
  117. package/dist/adapters/runtime/{cli-bridge-retained-projection.d.ts → retained-execution-projection.d.ts} +8 -7
  118. package/dist/adapters/runtime/retained-execution-projection.d.ts.map +1 -0
  119. package/dist/adapters/runtime/retained-execution-projection.js +108 -0
  120. package/dist/adapters/runtime/retained-execution-projection.js.map +1 -0
  121. package/dist/adapters/runtime/retained-execution-state.d.ts +31 -0
  122. package/dist/adapters/runtime/retained-execution-state.d.ts.map +1 -0
  123. package/dist/adapters/runtime/retained-execution-state.js +161 -0
  124. package/dist/adapters/runtime/retained-execution-state.js.map +1 -0
  125. package/dist/adapters/runtime/retained-execution-stream.d.ts +15 -0
  126. package/dist/adapters/runtime/retained-execution-stream.d.ts.map +1 -0
  127. package/dist/adapters/runtime/retained-execution-stream.js +47 -0
  128. package/dist/adapters/runtime/retained-execution-stream.js.map +1 -0
  129. package/dist/adapters/runtime/retained-execution.d.ts +39 -0
  130. package/dist/adapters/runtime/retained-execution.d.ts.map +1 -0
  131. package/dist/adapters/runtime/retained-execution.js +293 -0
  132. package/dist/adapters/runtime/retained-execution.js.map +1 -0
  133. package/dist/adapters/runtime/sandbox-observation.d.ts.map +1 -1
  134. package/dist/adapters/runtime/sandbox-observation.js +20 -13
  135. package/dist/adapters/runtime/sandbox-observation.js.map +1 -1
  136. package/dist/adapters/runtime/tangle-retained-execution.d.ts +17 -0
  137. package/dist/adapters/runtime/tangle-retained-execution.d.ts.map +1 -0
  138. package/dist/adapters/runtime/tangle-retained-execution.js +16 -0
  139. package/dist/adapters/runtime/tangle-retained-execution.js.map +1 -0
  140. package/dist/adapters/runtime/tangle-retained-run.d.ts +14 -0
  141. package/dist/adapters/runtime/tangle-retained-run.d.ts.map +1 -0
  142. package/dist/adapters/runtime/tangle-retained-run.js +75 -0
  143. package/dist/adapters/runtime/tangle-retained-run.js.map +1 -0
  144. package/dist/adapters/runtime/tangle-sandbox-retention.d.ts +19 -0
  145. package/dist/adapters/runtime/tangle-sandbox-retention.d.ts.map +1 -0
  146. package/dist/adapters/runtime/tangle-sandbox-retention.js +62 -0
  147. package/dist/adapters/runtime/tangle-sandbox-retention.js.map +1 -0
  148. package/dist/adapters/storage/sqlite-bound-open.d.ts +4 -4
  149. package/dist/adapters/storage/sqlite-bound-open.d.ts.map +1 -1
  150. package/dist/adapters/storage/sqlite-bound-open.js +49 -19
  151. package/dist/adapters/storage/sqlite-bound-open.js.map +1 -1
  152. package/dist/adapters/storage/sqlite-crypto.d.ts.map +1 -1
  153. package/dist/adapters/storage/sqlite-crypto.js +8 -1
  154. package/dist/adapters/storage/sqlite-crypto.js.map +1 -1
  155. package/dist/adapters/tui/application-ui-controller.d.ts.map +1 -1
  156. package/dist/adapters/tui/application-ui-controller.js +9 -2
  157. package/dist/adapters/tui/application-ui-controller.js.map +1 -1
  158. package/dist/adapters/tui/ui-capabilities.d.ts.map +1 -1
  159. package/dist/adapters/tui/ui-capabilities.js +14 -0
  160. package/dist/adapters/tui/ui-capabilities.js.map +1 -1
  161. package/dist/adapters/tui/ui-command-dispatch.d.ts.map +1 -1
  162. package/dist/adapters/tui/ui-command-dispatch.js +7 -1
  163. package/dist/adapters/tui/ui-command-dispatch.js.map +1 -1
  164. package/dist/adapters/tui/ui-conversation-dispatch.d.ts.map +1 -1
  165. package/dist/adapters/tui/ui-conversation-dispatch.js +40 -0
  166. package/dist/adapters/tui/ui-conversation-dispatch.js.map +1 -1
  167. package/dist/adapters/tui/ui-core-dispatch.d.ts.map +1 -1
  168. package/dist/adapters/tui/ui-core-dispatch.js +3 -9
  169. package/dist/adapters/tui/ui-core-dispatch.js.map +1 -1
  170. package/dist/adapters/tui/ui-dispatch-context.d.ts +1 -1
  171. package/dist/adapters/tui/ui-dispatch-context.d.ts.map +1 -1
  172. package/dist/adapters/tui/ui-entity-details.d.ts.map +1 -1
  173. package/dist/adapters/tui/ui-entity-details.js +10 -5
  174. package/dist/adapters/tui/ui-entity-details.js.map +1 -1
  175. package/dist/adapters/tui/ui-fixtures.d.ts.map +1 -1
  176. package/dist/adapters/tui/ui-fixtures.js +1 -0
  177. package/dist/adapters/tui/ui-fixtures.js.map +1 -1
  178. package/dist/adapters/tui/ui-headless-dispatch.d.ts.map +1 -1
  179. package/dist/adapters/tui/ui-headless-dispatch.js +2 -0
  180. package/dist/adapters/tui/ui-headless-dispatch.js.map +1 -1
  181. package/dist/adapters/tui/ui-intelligence-result-view.d.ts.map +1 -1
  182. package/dist/adapters/tui/ui-intelligence-result-view.js +2 -0
  183. package/dist/adapters/tui/ui-intelligence-result-view.js.map +1 -1
  184. package/dist/adapters/tui/ui-projection.d.ts +1 -1
  185. package/dist/adapters/tui/ui-projection.d.ts.map +1 -1
  186. package/dist/adapters/tui/ui-projection.js +114 -46
  187. package/dist/adapters/tui/ui-projection.js.map +1 -1
  188. package/dist/adapters/tui/ui-view-model.d.ts +1 -1
  189. package/dist/adapters/tui/ui-view-model.d.ts.map +1 -1
  190. package/dist/adapters/tui/ui-view-model.js +34 -17
  191. package/dist/adapters/tui/ui-view-model.js.map +1 -1
  192. package/dist/app/analysis-comparison-request.d.ts +1 -1
  193. package/dist/app/analysis-comparison-request.d.ts.map +1 -1
  194. package/dist/app/analysis-comparison-request.js +9 -5
  195. package/dist/app/analysis-comparison-request.js.map +1 -1
  196. package/dist/app/analysis-comparison.js +2 -2
  197. package/dist/app/analysis-comparison.js.map +1 -1
  198. package/dist/app/analysis-execution-session.d.ts +2 -0
  199. package/dist/app/analysis-execution-session.d.ts.map +1 -1
  200. package/dist/app/analysis-execution-session.js +1 -0
  201. package/dist/app/analysis-execution-session.js.map +1 -1
  202. package/dist/app/analysis-lifecycle.d.ts +2 -0
  203. package/dist/app/analysis-lifecycle.d.ts.map +1 -1
  204. package/dist/app/analysis-lifecycle.js +20 -10
  205. package/dist/app/analysis-lifecycle.js.map +1 -1
  206. package/dist/app/analysis-promotion.d.ts.map +1 -1
  207. package/dist/app/analysis-promotion.js +4 -5
  208. package/dist/app/analysis-promotion.js.map +1 -1
  209. package/dist/app/analysis-request.d.ts +1 -1
  210. package/dist/app/analysis-request.d.ts.map +1 -1
  211. package/dist/app/analysis-request.js +3 -7
  212. package/dist/app/analysis-request.js.map +1 -1
  213. package/dist/app/analysis-retained-admission.d.ts +6 -0
  214. package/dist/app/analysis-retained-admission.d.ts.map +1 -0
  215. package/dist/app/analysis-retained-admission.js +87 -0
  216. package/dist/app/analysis-retained-admission.js.map +1 -0
  217. package/dist/app/analysis-service.d.ts.map +1 -1
  218. package/dist/app/analysis-service.js +2 -1
  219. package/dist/app/analysis-service.js.map +1 -1
  220. package/dist/app/analysis-source.d.ts +4 -1
  221. package/dist/app/analysis-source.d.ts.map +1 -1
  222. package/dist/app/analysis-source.js +18 -0
  223. package/dist/app/analysis-source.js.map +1 -1
  224. package/dist/app/analysis-types.d.ts +1 -0
  225. package/dist/app/analysis-types.d.ts.map +1 -1
  226. package/dist/app/analysis-types.js.map +1 -1
  227. package/dist/app/application-interaction-actions.d.ts.map +1 -1
  228. package/dist/app/application-interaction-actions.js +17 -0
  229. package/dist/app/application-interaction-actions.js.map +1 -1
  230. package/dist/app/application-support.d.ts +4 -0
  231. package/dist/app/application-support.d.ts.map +1 -1
  232. package/dist/app/application-support.js +59 -17
  233. package/dist/app/application-support.js.map +1 -1
  234. package/dist/app/application-types.d.ts +1 -0
  235. package/dist/app/application-types.d.ts.map +1 -1
  236. package/dist/app/application.d.ts.map +1 -1
  237. package/dist/app/application.js +31 -8
  238. package/dist/app/application.js.map +1 -1
  239. package/dist/app/connections.js +1 -0
  240. package/dist/app/connections.js.map +1 -1
  241. package/dist/app/conversation-branches.d.ts +2 -1
  242. package/dist/app/conversation-branches.d.ts.map +1 -1
  243. package/dist/app/conversation-branches.js +66 -9
  244. package/dist/app/conversation-branches.js.map +1 -1
  245. package/dist/app/conversation-lifecycle.js +9 -4
  246. package/dist/app/conversation-lifecycle.js.map +1 -1
  247. package/dist/app/conversation-records.d.ts +1 -0
  248. package/dist/app/conversation-records.d.ts.map +1 -1
  249. package/dist/app/conversation-records.js +32 -15
  250. package/dist/app/conversation-records.js.map +1 -1
  251. package/dist/app/conversation-types.d.ts +11 -0
  252. package/dist/app/conversation-types.d.ts.map +1 -1
  253. package/dist/app/conversations.d.ts +1 -1
  254. package/dist/app/conversations.d.ts.map +1 -1
  255. package/dist/app/effective-run-configuration.d.ts +13 -0
  256. package/dist/app/effective-run-configuration.d.ts.map +1 -0
  257. package/dist/app/effective-run-configuration.js +47 -0
  258. package/dist/app/effective-run-configuration.js.map +1 -0
  259. package/dist/app/fail-closed-journal.d.ts.map +1 -1
  260. package/dist/app/fail-closed-journal.js +4 -0
  261. package/dist/app/fail-closed-journal.js.map +1 -1
  262. package/dist/app/interaction-controller.d.ts +4 -4
  263. package/dist/app/interaction-controller.d.ts.map +1 -1
  264. package/dist/app/interaction-controller.js +3 -5
  265. package/dist/app/interaction-controller.js.map +1 -1
  266. package/dist/app/journal.d.ts +4 -0
  267. package/dist/app/journal.d.ts.map +1 -1
  268. package/dist/app/journal.js +10 -1
  269. package/dist/app/journal.js.map +1 -1
  270. package/dist/app/production-composition.d.ts.map +1 -1
  271. package/dist/app/production-composition.js +28 -20
  272. package/dist/app/production-composition.js.map +1 -1
  273. package/dist/app/profile-types.d.ts +1 -1
  274. package/dist/app/profile-types.d.ts.map +1 -1
  275. package/dist/app/provider-values.d.ts +0 -5
  276. package/dist/app/provider-values.d.ts.map +1 -1
  277. package/dist/app/provider-values.js +27 -15
  278. package/dist/app/provider-values.js.map +1 -1
  279. package/dist/app/run-controls.js +6 -0
  280. package/dist/app/run-controls.js.map +1 -1
  281. package/dist/app/run-event-mapper.d.ts.map +1 -1
  282. package/dist/app/run-event-mapper.js +2 -0
  283. package/dist/app/run-event-mapper.js.map +1 -1
  284. package/dist/app/run-execution.d.ts.map +1 -1
  285. package/dist/app/run-execution.js +11 -1
  286. package/dist/app/run-execution.js.map +1 -1
  287. package/dist/app/run-replay.d.ts +6 -2
  288. package/dist/app/run-replay.d.ts.map +1 -1
  289. package/dist/app/run-replay.js +9 -3
  290. package/dist/app/run-replay.js.map +1 -1
  291. package/dist/app/storage-journal-support.d.ts.map +1 -1
  292. package/dist/app/storage-journal-support.js +1 -0
  293. package/dist/app/storage-journal-support.js.map +1 -1
  294. package/dist/app/storage-journal.d.ts +4 -1
  295. package/dist/app/storage-journal.d.ts.map +1 -1
  296. package/dist/app/storage-journal.js +13 -2
  297. package/dist/app/storage-journal.js.map +1 -1
  298. package/dist/bin/braid-runtime.d.ts.map +1 -1
  299. package/dist/bin/braid-runtime.js +5 -7
  300. package/dist/bin/braid-runtime.js.map +1 -1
  301. package/dist/bin/plain.js +1 -1
  302. package/dist/bin/plain.js.map +1 -1
  303. package/dist/bin/production-profile-projection.d.ts.map +1 -1
  304. package/dist/bin/production-profile-projection.js +7 -10
  305. package/dist/bin/production-profile-projection.js.map +1 -1
  306. package/dist/bin/production-setup-discovery.d.ts +4 -0
  307. package/dist/bin/production-setup-discovery.d.ts.map +1 -1
  308. package/dist/bin/production-setup-discovery.js +33 -0
  309. package/dist/bin/production-setup-discovery.js.map +1 -1
  310. package/dist/bin/production-setup.d.ts +1 -1
  311. package/dist/bin/production-setup.d.ts.map +1 -1
  312. package/dist/bin/production-setup.js +1 -1
  313. package/dist/bin/production-setup.js.map +1 -1
  314. package/dist/domain/bounded-structured.d.ts.map +1 -1
  315. package/dist/domain/bounded-structured.js +2 -0
  316. package/dist/domain/bounded-structured.js.map +1 -1
  317. package/dist/domain/entities-core.d.ts +9 -2
  318. package/dist/domain/entities-core.d.ts.map +1 -1
  319. package/dist/domain/entities-core.js +3 -1
  320. package/dist/domain/entities-core.js.map +1 -1
  321. package/dist/domain/entities-graph.d.ts +1 -1
  322. package/dist/domain/entities-graph.d.ts.map +1 -1
  323. package/dist/domain/entities-interactions.d.ts +2 -51
  324. package/dist/domain/entities-interactions.d.ts.map +1 -1
  325. package/dist/domain/entities-messages.d.ts +2 -0
  326. package/dist/domain/entities-messages.d.ts.map +1 -1
  327. package/dist/domain/events.d.ts +9 -27
  328. package/dist/domain/events.d.ts.map +1 -1
  329. package/dist/domain/events.js +7 -7
  330. package/dist/domain/events.js.map +1 -1
  331. package/dist/domain/ids-core.d.ts +1 -1
  332. package/dist/domain/ids-core.d.ts.map +1 -1
  333. package/dist/domain/ids-core.js +5 -2
  334. package/dist/domain/ids-core.js.map +1 -1
  335. package/dist/domain/interaction-timeout.d.ts +2 -0
  336. package/dist/domain/interaction-timeout.d.ts.map +1 -0
  337. package/dist/domain/interaction-timeout.js +11 -0
  338. package/dist/domain/interaction-timeout.js.map +1 -0
  339. package/dist/domain/invariants-base.d.ts.map +1 -1
  340. package/dist/domain/invariants-base.js +1 -0
  341. package/dist/domain/invariants-base.js.map +1 -1
  342. package/dist/domain/invariants-conversation.d.ts.map +1 -1
  343. package/dist/domain/invariants-conversation.js +21 -1
  344. package/dist/domain/invariants-conversation.js.map +1 -1
  345. package/dist/domain/invariants-profile.d.ts.map +1 -1
  346. package/dist/domain/invariants-profile.js +35 -1
  347. package/dist/domain/invariants-profile.js.map +1 -1
  348. package/dist/domain/invariants-retained-admission.d.ts +3 -0
  349. package/dist/domain/invariants-retained-admission.d.ts.map +1 -0
  350. package/dist/domain/invariants-retained-admission.js +40 -0
  351. package/dist/domain/invariants-retained-admission.js.map +1 -0
  352. package/dist/domain/invariants-run.d.ts +1 -3
  353. package/dist/domain/invariants-run.d.ts.map +1 -1
  354. package/dist/domain/invariants-run.js +124 -77
  355. package/dist/domain/invariants-run.js.map +1 -1
  356. package/dist/domain/invariants-runtime.d.ts.map +1 -1
  357. package/dist/domain/invariants-runtime.js +2 -1
  358. package/dist/domain/invariants-runtime.js.map +1 -1
  359. package/dist/domain/invariants-state.d.ts.map +1 -1
  360. package/dist/domain/invariants-state.js +1 -4
  361. package/dist/domain/invariants-state.js.map +1 -1
  362. package/dist/domain/legacy-interaction-snapshot.d.ts +7 -0
  363. package/dist/domain/legacy-interaction-snapshot.d.ts.map +1 -0
  364. package/dist/domain/legacy-interaction-snapshot.js +227 -0
  365. package/dist/domain/legacy-interaction-snapshot.js.map +1 -0
  366. package/dist/domain/materialized-state-snapshot.d.ts +3 -47
  367. package/dist/domain/materialized-state-snapshot.d.ts.map +1 -1
  368. package/dist/domain/materialized-state-snapshot.js +5 -4
  369. package/dist/domain/materialized-state-snapshot.js.map +1 -1
  370. package/dist/domain/materialized-state.d.ts +48 -0
  371. package/dist/domain/materialized-state.d.ts.map +1 -0
  372. package/dist/domain/materialized-state.js +2 -0
  373. package/dist/domain/materialized-state.js.map +1 -0
  374. package/dist/domain/reducer-conversation-events.d.ts.map +1 -1
  375. package/dist/domain/reducer-conversation-events.js +14 -3
  376. package/dist/domain/reducer-conversation-events.js.map +1 -1
  377. package/dist/domain/reducer-domain-events.d.ts.map +1 -1
  378. package/dist/domain/reducer-domain-events.js +3 -52
  379. package/dist/domain/reducer-domain-events.js.map +1 -1
  380. package/dist/domain/reducer-interactions.d.ts.map +1 -1
  381. package/dist/domain/reducer-interactions.js +180 -43
  382. package/dist/domain/reducer-interactions.js.map +1 -1
  383. package/dist/domain/reducer-lifecycle.d.ts.map +1 -1
  384. package/dist/domain/reducer-lifecycle.js +46 -4
  385. package/dist/domain/reducer-lifecycle.js.map +1 -1
  386. package/dist/domain/reducer-retained-admission.d.ts +8 -0
  387. package/dist/domain/reducer-retained-admission.d.ts.map +1 -0
  388. package/dist/domain/reducer-retained-admission.js +55 -0
  389. package/dist/domain/reducer-retained-admission.js.map +1 -0
  390. package/dist/domain/reducer-runtime.d.ts.map +1 -1
  391. package/dist/domain/reducer-runtime.js +29 -6
  392. package/dist/domain/reducer-runtime.js.map +1 -1
  393. package/dist/domain/reducer-support.d.ts +6 -0
  394. package/dist/domain/reducer-support.d.ts.map +1 -1
  395. package/dist/domain/reducer-support.js +24 -0
  396. package/dist/domain/reducer-support.js.map +1 -1
  397. package/dist/domain/run-contracts.d.ts +19 -1
  398. package/dist/domain/run-contracts.d.ts.map +1 -1
  399. package/dist/domain/runtime-events.d.ts +10 -4
  400. package/dist/domain/runtime-events.d.ts.map +1 -1
  401. package/dist/domain/runtime-events.js.map +1 -1
  402. package/dist/domain/runtime-projection.d.ts +9 -3
  403. package/dist/domain/runtime-projection.d.ts.map +1 -1
  404. package/dist/domain/runtime-projection.js.map +1 -1
  405. package/dist/domain/secret-sanitizer.js +2 -2
  406. package/dist/domain/secret-sanitizer.js.map +1 -1
  407. package/dist/domain/state.d.ts +1 -2
  408. package/dist/domain/state.d.ts.map +1 -1
  409. package/dist/domain/state.js +0 -1
  410. package/dist/domain/state.js.map +1 -1
  411. package/dist/index.d.ts +1 -2
  412. package/dist/index.d.ts.map +1 -1
  413. package/dist/index.js +1 -2
  414. package/dist/index.js.map +1 -1
  415. package/dist/installed-package-version.d.ts +3 -0
  416. package/dist/installed-package-version.d.ts.map +1 -0
  417. package/dist/installed-package-version.js +34 -0
  418. package/dist/installed-package-version.js.map +1 -0
  419. package/dist/ports/effect-storage.d.ts +5 -0
  420. package/dist/ports/effect-storage.d.ts.map +1 -1
  421. package/dist/ports/execution.d.ts +3 -1
  422. package/dist/ports/execution.d.ts.map +1 -1
  423. package/dist/ports/execution.js.map +1 -1
  424. package/dist/startup/durable-runtime.js +2 -344
  425. package/dist/startup/durable-runtime.js.map +1 -6
  426. package/dist/startup/preview-runtime.d.ts.map +1 -1
  427. package/dist/startup/preview-runtime.js +161 -6
  428. package/dist/startup/preview-runtime.js.map +1 -6
  429. package/dist/startup/terminal-runtime.js +5 -13
  430. package/dist/startup/terminal-runtime.js.map +1 -6
  431. package/dist/testing/deterministic-backend.js +1 -1
  432. package/dist/testing/deterministic-backend.js.map +1 -1
  433. package/dist/version.d.ts +1 -1
  434. package/dist/version.d.ts.map +1 -1
  435. package/dist/version.js +21 -1
  436. package/dist/version.js.map +1 -1
  437. package/dist/views/headless/rpc.d.ts.map +1 -1
  438. package/dist/views/headless/rpc.js +5 -0
  439. package/dist/views/headless/rpc.js.map +1 -1
  440. package/dist/views/shared/analysis-model-call-presentation.js +2 -2
  441. package/dist/views/shared/analysis-model-call-presentation.js.map +1 -1
  442. package/dist/views/shared/analysis-presentation.d.ts.map +1 -1
  443. package/dist/views/shared/analysis-presentation.js +5 -0
  444. package/dist/views/shared/analysis-presentation.js.map +1 -1
  445. package/dist/views/shared/command-registry.d.ts.map +1 -1
  446. package/dist/views/shared/command-registry.js +9 -5
  447. package/dist/views/shared/command-registry.js.map +1 -1
  448. package/dist/views/shared/models.d.ts +42 -0
  449. package/dist/views/shared/models.d.ts.map +1 -1
  450. package/dist/views/shared/models.js.map +1 -1
  451. package/dist/views/shared/semantic-activity.d.ts.map +1 -1
  452. package/dist/views/shared/semantic-activity.js +6 -21
  453. package/dist/views/shared/semantic-activity.js.map +1 -1
  454. package/dist/views/shared/semantic-details.d.ts.map +1 -1
  455. package/dist/views/shared/semantic-details.js +8 -0
  456. package/dist/views/shared/semantic-details.js.map +1 -1
  457. package/dist/views/shared/semantic-projection.d.ts.map +1 -1
  458. package/dist/views/shared/semantic-projection.js +15 -2
  459. package/dist/views/shared/semantic-projection.js.map +1 -1
  460. package/dist/views/shared/usage-projection.d.ts +2 -2
  461. package/dist/views/shared/usage-projection.d.ts.map +1 -1
  462. package/dist/views/shared/usage-projection.js +25 -14
  463. package/dist/views/shared/usage-projection.js.map +1 -1
  464. package/dist/views/tui/activity-browser.d.ts +1 -1
  465. package/dist/views/tui/activity-browser.d.ts.map +1 -1
  466. package/dist/views/tui/activity-browser.js +35 -112
  467. package/dist/views/tui/activity-browser.js.map +1 -1
  468. package/dist/views/tui/activity.d.ts +1 -0
  469. package/dist/views/tui/activity.d.ts.map +1 -1
  470. package/dist/views/tui/activity.js +25 -26
  471. package/dist/views/tui/activity.js.map +1 -1
  472. package/dist/views/tui/composer-view.d.ts +3 -1
  473. package/dist/views/tui/composer-view.d.ts.map +1 -1
  474. package/dist/views/tui/composer-view.js +57 -33
  475. package/dist/views/tui/composer-view.js.map +1 -1
  476. package/dist/views/tui/entity-browser.d.ts +1 -1
  477. package/dist/views/tui/entity-browser.d.ts.map +1 -1
  478. package/dist/views/tui/entity-browser.js +7 -3
  479. package/dist/views/tui/entity-browser.js.map +1 -1
  480. package/dist/views/tui/execution-target.d.ts +3 -1
  481. package/dist/views/tui/execution-target.d.ts.map +1 -1
  482. package/dist/views/tui/execution-target.js +57 -0
  483. package/dist/views/tui/execution-target.js.map +1 -1
  484. package/dist/views/tui/fork-preview.d.ts.map +1 -1
  485. package/dist/views/tui/fork-preview.js +50 -10
  486. package/dist/views/tui/fork-preview.js.map +1 -1
  487. package/dist/views/tui/graph.d.ts +4 -2
  488. package/dist/views/tui/graph.d.ts.map +1 -1
  489. package/dist/views/tui/graph.js +115 -8
  490. package/dist/views/tui/graph.js.map +1 -1
  491. package/dist/views/tui/help.js +1 -1
  492. package/dist/views/tui/help.js.map +1 -1
  493. package/dist/views/tui/interaction-presentation.d.ts +2 -1
  494. package/dist/views/tui/interaction-presentation.d.ts.map +1 -1
  495. package/dist/views/tui/interaction-presentation.js +13 -14
  496. package/dist/views/tui/interaction-presentation.js.map +1 -1
  497. package/dist/views/tui/interaction.d.ts +1 -0
  498. package/dist/views/tui/interaction.d.ts.map +1 -1
  499. package/dist/views/tui/interaction.js +11 -11
  500. package/dist/views/tui/interaction.js.map +1 -1
  501. package/dist/views/tui/keyboard.d.ts +1 -1
  502. package/dist/views/tui/keyboard.d.ts.map +1 -1
  503. package/dist/views/tui/keyboard.js +4 -1
  504. package/dist/views/tui/keyboard.js.map +1 -1
  505. package/dist/views/tui/measurement-display.d.ts +3 -0
  506. package/dist/views/tui/measurement-display.d.ts.map +1 -0
  507. package/dist/views/tui/measurement-display.js +11 -0
  508. package/dist/views/tui/measurement-display.js.map +1 -0
  509. package/dist/views/tui/modal-coordinator.d.ts +1 -0
  510. package/dist/views/tui/modal-coordinator.d.ts.map +1 -1
  511. package/dist/views/tui/modal-coordinator.js +8 -1
  512. package/dist/views/tui/modal-coordinator.js.map +1 -1
  513. package/dist/views/tui/profile-editor.d.ts.map +1 -1
  514. package/dist/views/tui/profile-editor.js +2 -31
  515. package/dist/views/tui/profile-editor.js.map +1 -1
  516. package/dist/views/tui/terminal-app.d.ts.map +1 -1
  517. package/dist/views/tui/terminal-app.js +3 -0
  518. package/dist/views/tui/terminal-app.js.map +1 -1
  519. package/dist/views/tui/terminal-chrome.d.ts +3 -1
  520. package/dist/views/tui/terminal-chrome.d.ts.map +1 -1
  521. package/dist/views/tui/terminal-chrome.js +107 -57
  522. package/dist/views/tui/terminal-chrome.js.map +1 -1
  523. package/dist/views/tui/terminal-command-controller.d.ts +2 -0
  524. package/dist/views/tui/terminal-command-controller.d.ts.map +1 -1
  525. package/dist/views/tui/terminal-command-controller.js +16 -7
  526. package/dist/views/tui/terminal-command-controller.js.map +1 -1
  527. package/dist/views/tui/terminal-identity.d.ts +3 -1
  528. package/dist/views/tui/terminal-identity.d.ts.map +1 -1
  529. package/dist/views/tui/terminal-identity.js +22 -80
  530. package/dist/views/tui/terminal-identity.js.map +1 -1
  531. package/dist/views/tui/terminal-input-controller.d.ts +4 -2
  532. package/dist/views/tui/terminal-input-controller.d.ts.map +1 -1
  533. package/dist/views/tui/terminal-input-controller.js +36 -6
  534. package/dist/views/tui/terminal-input-controller.js.map +1 -1
  535. package/dist/views/tui/terminal-interaction-controller.d.ts +2 -0
  536. package/dist/views/tui/terminal-interaction-controller.d.ts.map +1 -1
  537. package/dist/views/tui/terminal-interaction-controller.js +43 -0
  538. package/dist/views/tui/terminal-interaction-controller.js.map +1 -1
  539. package/dist/views/tui/terminal-overlays.d.ts +1 -0
  540. package/dist/views/tui/terminal-overlays.d.ts.map +1 -1
  541. package/dist/views/tui/terminal-overlays.js +57 -15
  542. package/dist/views/tui/terminal-overlays.js.map +1 -1
  543. package/dist/views/tui/terminal-shell.d.ts +2 -0
  544. package/dist/views/tui/terminal-shell.d.ts.map +1 -1
  545. package/dist/views/tui/terminal-shell.js +15 -4
  546. package/dist/views/tui/terminal-shell.js.map +1 -1
  547. package/dist/views/tui/terminal-usage.d.ts +1 -0
  548. package/dist/views/tui/terminal-usage.d.ts.map +1 -1
  549. package/dist/views/tui/terminal-usage.js +44 -123
  550. package/dist/views/tui/terminal-usage.js.map +1 -1
  551. package/dist/views/tui/transcript.d.ts.map +1 -1
  552. package/dist/views/tui/transcript.js +3 -5
  553. package/dist/views/tui/transcript.js.map +1 -1
  554. package/package.json +20 -13
  555. package/dist/adapters/runtime/cli-bridge-retained-projection.d.ts.map +0 -1
  556. package/dist/adapters/runtime/cli-bridge-retained-projection.js +0 -101
  557. package/dist/adapters/runtime/cli-bridge-retained-projection.js.map +0 -1
  558. package/dist/app/view-model.d.ts +0 -37
  559. package/dist/app/view-model.d.ts.map +0 -1
  560. package/dist/app/view-model.js +0 -103
  561. package/dist/app/view-model.js.map +0 -1
  562. package/dist/startup/chunks/analysis-comparison-facts-BYZX2KTR.js +0 -2
  563. package/dist/startup/chunks/analysis-comparison-facts-BYZX2KTR.js.map +0 -6
  564. package/dist/startup/chunks/analysis-comparison-record-VMUVZPUV.js +0 -2
  565. package/dist/startup/chunks/analysis-comparison-record-VMUVZPUV.js.map +0 -6
  566. package/dist/startup/chunks/chunk-2B6P3EZQ.js +0 -2
  567. package/dist/startup/chunks/chunk-2B6P3EZQ.js.map +0 -6
  568. package/dist/startup/chunks/chunk-3SLVNOQZ.js +0 -2
  569. package/dist/startup/chunks/chunk-3SLVNOQZ.js.map +0 -6
  570. package/dist/startup/chunks/chunk-5ZIGORCF.js +0 -6
  571. package/dist/startup/chunks/chunk-5ZIGORCF.js.map +0 -6
  572. package/dist/startup/chunks/chunk-6G7QKB6J.js +0 -2
  573. package/dist/startup/chunks/chunk-6G7QKB6J.js.map +0 -6
  574. package/dist/startup/chunks/chunk-AUAERYTD.js +0 -2
  575. package/dist/startup/chunks/chunk-AUAERYTD.js.map +0 -6
  576. package/dist/startup/chunks/chunk-BCT2WD5R.js +0 -2
  577. package/dist/startup/chunks/chunk-BCT2WD5R.js.map +0 -6
  578. package/dist/startup/chunks/chunk-ECYRVU25.js +0 -2
  579. package/dist/startup/chunks/chunk-ECYRVU25.js.map +0 -6
  580. package/dist/startup/chunks/chunk-EQDIVTWX.js +0 -2
  581. package/dist/startup/chunks/chunk-EQDIVTWX.js.map +0 -6
  582. package/dist/startup/chunks/chunk-FRHYXPNB.js +0 -2
  583. package/dist/startup/chunks/chunk-FRHYXPNB.js.map +0 -6
  584. package/dist/startup/chunks/chunk-GZKMBTCI.js +0 -3
  585. package/dist/startup/chunks/chunk-GZKMBTCI.js.map +0 -6
  586. package/dist/startup/chunks/chunk-GZLREBOD.js +0 -2
  587. package/dist/startup/chunks/chunk-GZLREBOD.js.map +0 -6
  588. package/dist/startup/chunks/chunk-HFZ5Q3X5.js +0 -2
  589. package/dist/startup/chunks/chunk-HFZ5Q3X5.js.map +0 -6
  590. package/dist/startup/chunks/chunk-ICFZ5GZR.js +0 -2
  591. package/dist/startup/chunks/chunk-ICFZ5GZR.js.map +0 -6
  592. package/dist/startup/chunks/chunk-JR4A5QXZ.js +0 -2
  593. package/dist/startup/chunks/chunk-JR4A5QXZ.js.map +0 -6
  594. package/dist/startup/chunks/chunk-LUXHNCKY.js +0 -2
  595. package/dist/startup/chunks/chunk-LUXHNCKY.js.map +0 -6
  596. package/dist/startup/chunks/chunk-NDSFD5HI.js +0 -2
  597. package/dist/startup/chunks/chunk-NDSFD5HI.js.map +0 -6
  598. package/dist/startup/chunks/chunk-NWDQFVYZ.js +0 -6
  599. package/dist/startup/chunks/chunk-NWDQFVYZ.js.map +0 -6
  600. package/dist/startup/chunks/chunk-PAPTIOCL.js +0 -2
  601. package/dist/startup/chunks/chunk-PAPTIOCL.js.map +0 -6
  602. package/dist/startup/chunks/chunk-PIJUYQ3B.js +0 -2
  603. package/dist/startup/chunks/chunk-PIJUYQ3B.js.map +0 -6
  604. package/dist/startup/chunks/chunk-PXRVFPRL.js +0 -2
  605. package/dist/startup/chunks/chunk-PXRVFPRL.js.map +0 -6
  606. package/dist/startup/chunks/chunk-RELMHYIG.js +0 -3
  607. package/dist/startup/chunks/chunk-RELMHYIG.js.map +0 -6
  608. package/dist/startup/chunks/chunk-RJAXEI5Z.js +0 -2
  609. package/dist/startup/chunks/chunk-RJAXEI5Z.js.map +0 -6
  610. package/dist/startup/chunks/chunk-RPJ2AWHI.js +0 -2
  611. package/dist/startup/chunks/chunk-RPJ2AWHI.js.map +0 -6
  612. package/dist/startup/chunks/chunk-TW2LBTSL.js +0 -2
  613. package/dist/startup/chunks/chunk-TW2LBTSL.js.map +0 -6
  614. package/dist/startup/chunks/chunk-TYNDYSMP.js +0 -2
  615. package/dist/startup/chunks/chunk-TYNDYSMP.js.map +0 -6
  616. package/dist/startup/chunks/chunk-TZNTMUGF.js +0 -117
  617. package/dist/startup/chunks/chunk-TZNTMUGF.js.map +0 -6
  618. package/dist/startup/chunks/chunk-UT4NB43O.js +0 -2
  619. package/dist/startup/chunks/chunk-UT4NB43O.js.map +0 -6
  620. package/dist/startup/chunks/chunk-VTNLVERY.js +0 -2
  621. package/dist/startup/chunks/chunk-VTNLVERY.js.map +0 -6
  622. package/dist/startup/chunks/configuration-wizard-G5VQFNBR.js +0 -3
  623. package/dist/startup/chunks/configuration-wizard-G5VQFNBR.js.map +0 -6
  624. package/dist/startup/chunks/production-connection-providers-3BNIYUIS.js +0 -2
  625. package/dist/startup/chunks/production-connection-providers-3BNIYUIS.js.map +0 -6
  626. package/dist/startup/chunks/production-connections-27KWJIR6.js +0 -2
  627. package/dist/startup/chunks/production-connections-27KWJIR6.js.map +0 -6
  628. package/dist/startup/chunks/profile-connection-dispatch-HFTWSEIR.js +0 -2
  629. package/dist/startup/chunks/profile-connection-dispatch-HFTWSEIR.js.map +0 -6
  630. package/dist/startup/chunks/supervisor-control-VPVKE7NI.js +0 -2
  631. package/dist/startup/chunks/supervisor-control-VPVKE7NI.js.map +0 -6
  632. package/dist/startup/chunks/supervisor-watch-X6TXO6GN.js +0 -2
  633. package/dist/startup/chunks/supervisor-watch-X6TXO6GN.js.map +0 -6
  634. package/dist/startup/chunks/trace-store-ZIU4S2VR.js +0 -6
  635. package/dist/startup/chunks/trace-store-ZIU4S2VR.js.map +0 -6
  636. package/dist/startup/chunks/ui-dispatch-NV3XTZDR.js +0 -3
  637. package/dist/startup/chunks/ui-dispatch-NV3XTZDR.js.map +0 -6
@@ -11,7 +11,7 @@ export class ProductionAnalysisAnalyst {
11
11
  const connectionOptions = input.connectionOptions ?? {};
12
12
  this.#create =
13
13
  input.create ??
14
- (async (target) => {
14
+ (async (target, request) => {
15
15
  if (target.connection === undefined) {
16
16
  return createUnavailableTraceAnalysisAnalyst('The captured analysis route has no matching connection record.');
17
17
  }
@@ -23,6 +23,14 @@ export class ProductionAnalysisAnalyst {
23
23
  ? {}
24
24
  : { maxOutputTokens: modelSettings.maxOutputTokens }),
25
25
  ...connectionOptions,
26
+ managedRuntimeReadiness: 'complete',
27
+ ...(request.onRetainedAdmission === undefined
28
+ ? {}
29
+ : { onRetainedAdmission: request.onRetainedAdmission }),
30
+ ...(request.signal === undefined ? {} : { signal: request.signal }),
31
+ ...(request.totalTimeoutMs === undefined
32
+ ? {}
33
+ : { pythonProbeTimeoutMs: request.totalTimeoutMs }),
26
34
  }));
27
35
  });
28
36
  }
@@ -43,7 +51,15 @@ export class ProductionAnalysisAnalyst {
43
51
  const target = request.executionTarget;
44
52
  const analyst = target === undefined
45
53
  ? createUnavailableTraceAnalysisAnalyst('The analysis request has no captured execution route.')
46
- : await this.#create(target);
54
+ : await this.#create(target, {
55
+ ...(request.onRetainedAdmission === undefined
56
+ ? {}
57
+ : { onRetainedAdmission: request.onRetainedAdmission }),
58
+ ...(request.signal === undefined ? {} : { signal: request.signal }),
59
+ ...(request.totalTimeoutMs === undefined
60
+ ? {}
61
+ : { totalTimeoutMs: request.totalTimeoutMs }),
62
+ });
47
63
  try {
48
64
  for await (const item of analyst.stream(request))
49
65
  yield item;
@@ -1 +1 @@
1
- {"version":3,"file":"production-analysis-analyst.js","sourceRoot":"","sources":["../../../src/adapters/analysis/production-analysis-analyst.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"production-analysis-analyst.js","sourceRoot":"","sources":["../../../src/adapters/analysis/production-analysis-analyst.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export interface PythonRunnerSpec {
3
3
  readonly args?: readonly string[];
4
4
  }
5
5
  export interface PythonRunnerIdentity extends PythonRunnerSpec {
6
- readonly source: 'explicit' | 'detected';
6
+ readonly source: 'explicit' | 'detected' | 'managed';
7
7
  }
8
8
  export type PythonCommandProbeStatus = 'ok' | 'not-found' | 'failed' | 'timed-out';
9
9
  export interface PythonCommandProbeResult {
@@ -18,6 +18,8 @@ export interface ResolvePythonRunnerOptions {
18
18
  readonly candidates?: readonly string[];
19
19
  readonly probe?: PythonCommandProbe;
20
20
  readonly timeoutMs?: number;
21
+ readonly managedRuntimeReadiness?: 'launcher' | 'complete';
22
+ readonly signal?: AbortSignal;
21
23
  }
22
24
  export type PythonRunnerResolution = {
23
25
  readonly status: 'ready';
@@ -1 +1 @@
1
- {"version":3,"file":"python-runner.d.ts","sourceRoot":"","sources":["../../../src/adapters/analysis/python-runner.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAClC;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAA;CACzC;AAED,MAAM,MAAM,wBAAwB,GAAG,IAAI,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAA;AAElF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAA;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,MAAM,kBAAkB,GAAG,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,wBAAwB,CAAC,CAAA;AAEtC,MAAM,WAAW,0BAA0B;IACzC,gFAAgF;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,MAAM,sBAAsB,GAC9B;IACE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;CACtC,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAA;IACzC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAA;IACtC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAA;AAiGL,uEAAuE;AACvE,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,sBAAsB,CAAC,CAyCjC;AAED,eAAO,MAAM,mCAAmC,QAAgB,CAAA"}
1
+ {"version":3,"file":"python-runner.d.ts","sourceRoot":"","sources":["../../../src/adapters/analysis/python-runner.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAClC;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAA;CACrD;AAED,MAAM,MAAM,wBAAwB,GAAG,IAAI,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAA;AAElF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAA;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,MAAM,kBAAkB,GAAG,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,wBAAwB,CAAC,CAAA;AAEtC,MAAM,WAAW,0BAA0B;IACzC,gFAAgF;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,uBAAuB,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAC9B;AAED,MAAM,MAAM,sBAAsB,GAC9B;IACE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;CACtC,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAA;IACzC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAA;IACtC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAA;AAyKL,uEAAuE;AACvE,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,sBAAsB,CAAC,CA6FjC;AAED,eAAO,MAAM,mCAAmC,QAAgB,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { spawn } from 'node:child_process';
2
+ import { managedAnalysisRunner } from './managed-analysis-runtime.js';
2
3
  const PACKAGE_PROBE = [
3
4
  'import importlib.util',
4
5
  "required = ('agent_eval_rpc.dspy_rlm_bridge', 'dspy')",
@@ -14,6 +15,7 @@ const PACKAGE_PROBE = [
14
15
  ].join('\n');
15
16
  const PACKAGE_MISSING_EXIT_CODE = 13;
16
17
  const DEFAULT_PROBE_TIMEOUT_MS = 2_000;
18
+ const DEFAULT_MANAGED_RUNTIME_PROBE_TIMEOUT_MS = 120_000;
17
19
  function defaultCandidates() {
18
20
  const configured = process.env.BRAID_PYTHON?.trim();
19
21
  return [...new Set([configured, 'python3', 'python'].filter((value) => !!value))];
@@ -60,6 +62,61 @@ async function defaultProbe(command, args, timeoutMs) {
60
62
  });
61
63
  });
62
64
  }
65
+ const completeManagedRuntimeProbes = new WeakMap();
66
+ function waitForProbe(pending, timeoutMs, signal) {
67
+ return new Promise((resolve, reject) => {
68
+ let settled = false;
69
+ const finish = (result) => {
70
+ if (settled)
71
+ return;
72
+ settled = true;
73
+ clearTimeout(timer);
74
+ signal?.removeEventListener('abort', aborted);
75
+ resolve(result);
76
+ };
77
+ const fail = (error) => {
78
+ if (settled)
79
+ return;
80
+ settled = true;
81
+ clearTimeout(timer);
82
+ signal?.removeEventListener('abort', aborted);
83
+ reject(error);
84
+ };
85
+ const aborted = () => {
86
+ fail(signal?.reason instanceof Error
87
+ ? signal.reason
88
+ : new DOMException('The operation was aborted', 'AbortError'));
89
+ };
90
+ const timer = setTimeout(() => finish({ status: 'timed-out' }), timeoutMs);
91
+ if (signal?.aborted) {
92
+ aborted();
93
+ return;
94
+ }
95
+ signal?.addEventListener('abort', aborted, { once: true });
96
+ pending.then(finish, fail);
97
+ });
98
+ }
99
+ async function probeCompleteManagedRuntime(command, args, probe, timeoutMs, signal) {
100
+ const key = JSON.stringify([command, args]);
101
+ let probes = completeManagedRuntimeProbes.get(probe);
102
+ if (probes === undefined) {
103
+ probes = new Map();
104
+ completeManagedRuntimeProbes.set(probe, probes);
105
+ }
106
+ let pending = probes.get(key);
107
+ if (pending === undefined) {
108
+ pending = probe(command, args, DEFAULT_MANAGED_RUNTIME_PROBE_TIMEOUT_MS);
109
+ probes.set(key, pending);
110
+ void pending.then((result) => {
111
+ if (result.status !== 'ok' && probes.get(key) === pending)
112
+ probes.delete(key);
113
+ }, () => {
114
+ if (probes.get(key) === pending)
115
+ probes.delete(key);
116
+ });
117
+ }
118
+ return waitForProbe(pending, timeoutMs, signal);
119
+ }
63
120
  async function probeRunner(runner, probe, timeoutMs) {
64
121
  const prefix = runner.args ?? [];
65
122
  const version = await probe(runner.command, [...prefix, '--version'], timeoutMs);
@@ -94,8 +151,17 @@ async function probeRunner(runner, probe, timeoutMs) {
94
151
  }
95
152
  /** Resolve and verify a Python executable without invoking a shell. */
96
153
  export async function resolvePythonRunner(options = {}) {
154
+ if (options.signal?.aborted) {
155
+ throw options.signal.reason instanceof Error
156
+ ? options.signal.reason
157
+ : new DOMException('The operation was aborted', 'AbortError');
158
+ }
97
159
  const probe = options.probe ?? defaultProbe;
98
- const timeoutMs = options.timeoutMs ?? DEFAULT_PROBE_TIMEOUT_MS;
160
+ const managedRuntimeReadiness = options.managedRuntimeReadiness ?? 'launcher';
161
+ const timeoutMs = options.timeoutMs ??
162
+ (managedRuntimeReadiness === 'complete'
163
+ ? DEFAULT_MANAGED_RUNTIME_PROBE_TIMEOUT_MS
164
+ : DEFAULT_PROBE_TIMEOUT_MS);
99
165
  if (!Number.isSafeInteger(timeoutMs) || timeoutMs <= 0) {
100
166
  throw new RangeError('Python readiness probe timeout must be a positive safe integer');
101
167
  }
@@ -112,6 +178,38 @@ export async function resolvePythonRunner(options = {}) {
112
178
  }
113
179
  let packageMissing;
114
180
  let probeFailed;
181
+ if (options.candidates === undefined && !process.env.BRAID_PYTHON?.trim()) {
182
+ const managed = managedAnalysisRunner();
183
+ if (managed !== undefined) {
184
+ const readinessArgs = managedRuntimeReadiness === 'complete'
185
+ ? managed.runtimeProbeArgs
186
+ : managed.launcherProbeArgs;
187
+ const readiness = managedRuntimeReadiness === 'complete'
188
+ ? await probeCompleteManagedRuntime(managed.command, readinessArgs, probe, timeoutMs, options.signal)
189
+ : await probe(managed.command, readinessArgs, timeoutMs);
190
+ if (readiness.status === 'ok') {
191
+ return {
192
+ status: 'ready',
193
+ runner: {
194
+ command: managed.command,
195
+ args: managed.args,
196
+ source: 'managed',
197
+ },
198
+ };
199
+ }
200
+ probeFailed = {
201
+ status: 'python-probe-failed',
202
+ runner: {
203
+ command: managed.command,
204
+ args: managed.args,
205
+ source: 'managed',
206
+ },
207
+ message: managedRuntimeReadiness === 'complete'
208
+ ? 'The managed trace-analysis runtime could not resolve Python 3.12 and the pinned Agent Eval package.'
209
+ : 'The managed trace-analysis launcher could not be started.',
210
+ };
211
+ }
212
+ }
115
213
  for (const candidate of options.candidates ?? defaultCandidates()) {
116
214
  const runner = normalizedRunner({ command: candidate }, 'detected');
117
215
  if (runner === undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"python-runner.js","sourceRoot":"","sources":["../../../src/adapters/analysis/python-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"python-runner.js","sourceRoot":"","sources":["../../../src/adapters/analysis/python-runner.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,8 @@ async function prepareQuestionContext(store) {
18
18
  'Never use an attribute label or a constructed JSON fragment as an excerpt.',
19
19
  'For numeric facts, quote a related model, status, or output string from the same span.',
20
20
  'Before SUBMIT, ensure each distinct request in Focus has one finding or one explicit limit.',
21
- 'The final call must be SUBMIT(answer, json.dumps(findings)).',
22
- 'Never pass the findings list directly to SUBMIT.',
21
+ 'The final call must be SUBMIT(answer=answer, findings_json=json.dumps(findings)).',
22
+ 'Never pass either output positionally or pass the findings list without JSON encoding.',
23
23
  ].join('\n');
24
24
  }
25
25
  export const BRAID_QUESTION_ANALYST_DEFINITION = Object.freeze({
@@ -1 +1 @@
1
- {"version":3,"file":"question-analyst.js","sourceRoot":"","sources":["../../../src/adapters/analysis/question-analyst.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,kBAAkB,GAInB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEzD,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAA;AAEnD,KAAK,UAAU,sBAAsB,CAAC,KAAyB;IAC7D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACtF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,mFAAmF,CAAA;IAC5F,CAAC;IACD,OAAO;QACL,+CAA+C;QAC/C,mBAAmB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG;QAC7C,2DAA2D;QAC3D,0EAA0E;QAC1E,qBAAqB;QACrB,kCAAkC;QAClC,yFAAyF;QACzF,4EAA4E;QAC5E,wFAAwF;QACxF,6FAA6F;QAC7F,8DAA8D;QAC9D,kDAAkD;KACnD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7D,EAAE,EAAE,yBAAyB;IAC7B,WAAW,EAAE,2EAA2E;IACxF,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,qDAAqD;IAC/D,YAAY,EAAE;QACZ,yDAAyD;QACzD,wCAAwC;QACxC,+DAA+D;QAC/D,8BAA8B;QAC9B,0FAA0F;QAC1F,qEAAqE;QACrE,qDAAqD;QACrD,wCAAwC;QACxC,0DAA0D;QAC1D,iFAAiF;QACjF,gEAAgE;QAChE,sEAAsE;QACtE,mDAAmD;QACnD,wFAAwF;QACxF,iEAAiE;QACjE,wEAAwE;QACxE,0FAA0F;QAC1F,wFAAwF;KACzF,CAAC,IAAI,CAAC,IAAI,CAAC;IACZ,cAAc,EAAE,sBAAsB;IACtC,SAAS,EAAE,aAAa;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,aAAa,EAAE,EAAE;QACjB,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,MAAM;KACvB,CAAC;IACF,wBAAwB,EAAE,CAAC;IAC3B,yBAAyB,EAAE,IAAI;CAChC,CAAkC,CAAA;AAEnC,SAAS,gBAAgB,CAAC,OAAuB;IAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAmB,CAAA;AAC7D,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,4BAA4B,CAC1C,QAAyB,EACzB,MAA2B;IAE3B,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,yBAAyB,CAAC;QAAE,OAAM;IACvF,MAAM,OAAO,GAAG,kBAAkB,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IACjF,QAAQ,CAAC,QAAQ,CAAC;QAChB,GAAG,OAAO;QACV,OAAO,EAAE,KAAK,EAAE,KAAyB,EAAE,OAAuB,EAAE,EAAE,CACpE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;KAChE,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"question-analyst.js","sourceRoot":"","sources":["../../../src/adapters/analysis/question-analyst.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,kBAAkB,GAInB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEzD,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAA;AAEnD,KAAK,UAAU,sBAAsB,CAAC,KAAyB;IAC7D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACtF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,mFAAmF,CAAA;IAC5F,CAAC;IACD,OAAO;QACL,+CAA+C;QAC/C,mBAAmB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG;QAC7C,2DAA2D;QAC3D,0EAA0E;QAC1E,qBAAqB;QACrB,kCAAkC;QAClC,yFAAyF;QACzF,4EAA4E;QAC5E,wFAAwF;QACxF,6FAA6F;QAC7F,mFAAmF;QACnF,wFAAwF;KACzF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7D,EAAE,EAAE,yBAAyB;IAC7B,WAAW,EAAE,2EAA2E;IACxF,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,qDAAqD;IAC/D,YAAY,EAAE;QACZ,yDAAyD;QACzD,wCAAwC;QACxC,+DAA+D;QAC/D,8BAA8B;QAC9B,0FAA0F;QAC1F,qEAAqE;QACrE,qDAAqD;QACrD,wCAAwC;QACxC,0DAA0D;QAC1D,iFAAiF;QACjF,gEAAgE;QAChE,sEAAsE;QACtE,mDAAmD;QACnD,wFAAwF;QACxF,iEAAiE;QACjE,wEAAwE;QACxE,0FAA0F;QAC1F,wFAAwF;KACzF,CAAC,IAAI,CAAC,IAAI,CAAC;IACZ,cAAc,EAAE,sBAAsB;IACtC,SAAS,EAAE,aAAa;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,aAAa,EAAE,EAAE;QACjB,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,MAAM;KACvB,CAAC;IACF,wBAAwB,EAAE,CAAC;IAC3B,yBAAyB,EAAE,IAAI;CAChC,CAAkC,CAAA;AAEnC,SAAS,gBAAgB,CAAC,OAAuB;IAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAmB,CAAA;AAC7D,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,4BAA4B,CAC1C,QAAyB,EACzB,MAA2B;IAE3B,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,yBAAyB,CAAC;QAAE,OAAM;IACvF,MAAM,OAAO,GAAG,kBAAkB,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IACjF,QAAQ,CAAC,QAAQ,CAAC;QAChB,GAAG,OAAO;QACV,OAAO,EAAE,KAAK,EAAE,KAAyB,EAAE,OAAuB,EAAE,EAAE,CACpE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;KAChE,CAAC,CAAA;AACJ,CAAC"}
@@ -3,6 +3,7 @@ import type { ExternalOptimizerModelCall, ExternalOptimizerModelExecutionObserva
3
3
  import { type AgentProfile } from '@tangle-network/agent-interface';
4
4
  import type { RouterTransportConfig } from '@tangle-network/agent-runtime/kernel';
5
5
  import type { ConnectionRecord } from '../../domain/entities.js';
6
+ import type { RetainedRunAdmissionRecord } from '../../domain/run-contracts.js';
6
7
  export interface RuntimeRouterRetryPolicy {
7
8
  readonly maxAttempts?: number;
8
9
  readonly initialBackoffMs?: number;
@@ -22,6 +23,7 @@ export interface RuntimeTraceModelOwnerOptions {
22
23
  readonly complete?: RouterTransportConfig['complete'];
23
24
  readonly retry?: RuntimeRouterRetryPolicy;
24
25
  readonly recordExecution?: ModelExecutionRecorder;
26
+ readonly onRetainedAdmission?: (callId: string, admission: RetainedRunAdmissionRecord) => Promise<void>;
25
27
  }
26
28
  export interface RuntimeTraceModelOwner {
27
29
  readonly call: ExternalOptimizerModelCall;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-model-owner.d.ts","sourceRoot":"","sources":["../../../src/adapters/analysis/runtime-model-owner.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EACV,0BAA0B,EAE1B,0CAA0C,EAC3C,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,KAAK,YAAY,EAA8B,MAAM,iCAAiC,CAAA;AAE/F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAEjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAgChE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACnC;AAED,KAAK,sBAAsB,GAAG,CAAC,WAAW,EAAE,0CAA0C,KAAK,IAAI,CAAA;AAE/F,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;IACxC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAA;IAClF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAA;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAA;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,wBAAwB,CAAA;IACzC,QAAQ,CAAC,eAAe,CAAC,EAAE,sBAAsB,CAAA;CAClD;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAA;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAA;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,SAAS,0CAA0C,EAAE,CAAA;CACjF;AAidD;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,6BAA6B,GACrC,sBAAsB,CAuJxB"}
1
+ {"version":3,"file":"runtime-model-owner.d.ts","sourceRoot":"","sources":["../../../src/adapters/analysis/runtime-model-owner.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EACV,0BAA0B,EAE1B,0CAA0C,EAC3C,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,iCAAiC,CAAA;AAExC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAEjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAwC/E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACnC;AAED,KAAK,sBAAsB,GAAG,CAAC,WAAW,EAAE,0CAA0C,KAAK,IAAI,CAAA;AAE/F,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;IACxC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAA;IAClF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAA;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAA;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,wBAAwB,CAAA;IACzC,QAAQ,CAAC,eAAe,CAAC,EAAE,sBAAsB,CAAA;IACjD,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,IAAI,EAAE,0BAA0B,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAA;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAA;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,SAAS,0CAA0C,EAAE,CAAA;CACjF;AAqhBD;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,6BAA6B,GACrC,sBAAsB,CA4KxB"}
@@ -1,29 +1,34 @@
1
1
  import { costForTokenPricing, resolveModelPricing, } from '@tangle-network/agent-eval';
2
- import { harnessSystemPromptIntents } from '@tangle-network/agent-interface';
2
+ import { harnessSystemPromptIntents, } from '@tangle-network/agent-interface';
3
3
  import { canonicalDigest } from '../../domain/canonical.js';
4
4
  import { safePublicIdentifier } from '../../domain/provider-values.js';
5
5
  import { redactProviderError } from '../../domain/redaction.js';
6
6
  import { canonicalAgentProfileDigestHex, snapshotAgentProfile, } from '../agent-interface/profile-runtime.js';
7
7
  import { portableBridgeModel } from '../connections/cli-bridge-model-route.js';
8
8
  import { AGENT_RUNTIME_VERSION } from '../runtime/agent-runtime-version.js';
9
+ import { RetainedModelCallError, runRetainedCliBridgeModelCall, } from './runtime-retained-model-call.js';
9
10
  const MAX_RETAINED_EXECUTIONS = 256;
10
11
  const LOCAL_ROUTER_BEARER = 'braid-local-analysis';
11
- const ANALYST_MODEL_PROFILE_POLICY_VERSION = 3;
12
+ const ANALYST_MODEL_PROFILE_POLICY_VERSION = 4;
12
13
  const ANALYST_MODEL_INSTRUCTIONS = Object.freeze([
13
14
  'You are a text-generation endpoint inside a trace-analysis program.',
14
- 'Treat the supplied message array as the complete conversation.',
15
- 'Return only the assistant response requested by that conversation.',
15
+ 'Parse the supplied JSON object and treat its messages array as the complete conversation.',
16
+ 'Follow those messages in order, including every system message and output contract.',
17
+ 'Return only the requested assistant message, without a preface or explanation.',
18
+ 'When the messages require a machine format, emit exactly that format without Markdown fences.',
19
+ 'Never replace a requested structured field with prose.',
20
+ 'A format-repair request must preserve every exact identifier and quoted evidence string.',
16
21
  'Do not inspect files, use tools, modify workspaces, or perform unrelated work.',
17
22
  ]);
18
23
  const ANALYST_MODEL_TOOLS = Object.freeze({
19
24
  read: false,
20
- shell: false,
25
+ bash: false,
21
26
  edit: false,
22
27
  write: false,
23
28
  });
24
29
  const ANALYST_MODEL_PERMISSIONS = Object.freeze({
25
30
  read: 'deny',
26
- shell: 'deny',
31
+ bash: 'deny',
27
32
  edit: 'deny',
28
33
  write: 'deny',
29
34
  });
@@ -80,6 +85,7 @@ function summarizeRuntimeEvents(events, startedAt) {
80
85
  const promptCache = promptCacheFacts(calls);
81
86
  const cachedTokens = sumPromptCache(promptCache, ['cachedTokens', 'cacheReadTokens']);
82
87
  const cacheWriteTokens = sumPromptCache(promptCache, ['cacheWriteTokens']);
88
+ const reasoningTokens = finiteTokenCount(final.metadata?.reasoningTokens);
83
89
  const observedCostUsd = completeCallAmount(calls, 'costUsd', (event) => event.usdKnown !== false);
84
90
  const estimatedCostUsd = completeCallAmount(calls, 'estimatedCostUsd');
85
91
  return {
@@ -101,6 +107,7 @@ function summarizeRuntimeEvents(events, startedAt) {
101
107
  : 0,
102
108
  ...(cachedTokens === undefined ? {} : { cachedTokens }),
103
109
  ...(cacheWriteTokens === undefined ? {} : { cacheWriteTokens }),
110
+ ...(reasoningTokens === undefined ? {} : { reasoningTokens }),
104
111
  ...(Object.keys(promptCache).length === 0 ? {} : { promptCache }),
105
112
  ...(observedCostUsd === undefined ? {} : { observedCostUsd }),
106
113
  ...(estimatedCostUsd === undefined ? {} : { estimatedCostUsd }),
@@ -111,6 +118,40 @@ function summarizeRuntimeEvents(events, startedAt) {
111
118
  ...(errorStatus === undefined ? {} : { errorStatus }),
112
119
  };
113
120
  }
121
+ function summarizeRetainedResult(result, model, startedAt) {
122
+ const endedAt = Date.now();
123
+ const inputTokens = finiteTokenCount(result.usage?.inputTokens);
124
+ const outputTokens = finiteTokenCount(result.usage?.outputTokens);
125
+ const usageCaptured = inputTokens !== undefined && outputTokens !== undefined;
126
+ const errorStatus = result.error === undefined ? undefined : httpStatusFromReason(result.error);
127
+ const cachedTokens = finiteTokenCount(result.usage?.cacheReadInputTokens);
128
+ const cacheWriteTokens = finiteTokenCount(result.usage?.cacheCreationInputTokens);
129
+ const observedCostUsd = finiteNumber(result.usage?.cost);
130
+ const reasoningTokens = finiteTokenCount(result.usage?.reasoningTokens);
131
+ return {
132
+ events: [],
133
+ status: result.success ? 'completed' : 'failed',
134
+ reason: result.success
135
+ ? 'Retained model execution completed'
136
+ : (result.error ?? 'Retained model execution failed'),
137
+ content: result.text,
138
+ durationMs: Math.max(0, endedAt - startedAt),
139
+ endedAt,
140
+ inputTokens: inputTokens ?? 0,
141
+ outputTokens: outputTokens ?? 0,
142
+ ...(cachedTokens === undefined ? {} : { cachedTokens }),
143
+ ...(cacheWriteTokens === undefined ? {} : { cacheWriteTokens }),
144
+ ...(observedCostUsd === undefined ? {} : { observedCostUsd }),
145
+ ...(reasoningTokens === undefined ? {} : { reasoningTokens }),
146
+ usageCaptured,
147
+ reportedModel: model,
148
+ ...(!result.success ? { errorKind: 'backend' } : {}),
149
+ ...(errorStatus === undefined ? {} : { errorStatus }),
150
+ };
151
+ }
152
+ function finiteTokenCount(value) {
153
+ return typeof value === 'number' && Number.isSafeInteger(value) && value >= 0 ? value : undefined;
154
+ }
114
155
  function finiteNumber(value) {
115
156
  return typeof value === 'number' && Number.isFinite(value) && value >= 0 ? value : undefined;
116
157
  }
@@ -169,6 +210,7 @@ function receiptFor(model, pricing, usage, knownNoExecution = false) {
169
210
  outputTokens: usage.outputTokens,
170
211
  ...(usage.cachedTokens === undefined ? {} : { cachedTokens: usage.cachedTokens }),
171
212
  ...(usage.cacheWriteTokens === undefined ? {} : { cacheWriteTokens: usage.cacheWriteTokens }),
213
+ ...(usage.reasoningTokens === undefined ? {} : { reasoningTokens: usage.reasoningTokens }),
172
214
  };
173
215
  if (usage.observedCostUsd !== undefined) {
174
216
  return { ...receipt, actualCostUsd: usage.observedCostUsd };
@@ -183,6 +225,7 @@ function receiptFor(model, pricing, usage, knownNoExecution = false) {
183
225
  function responseFor(request, summary, pricing) {
184
226
  const model = safeModelRoute(request.request.model);
185
227
  const receipt = receiptFor(model, pricing, summary);
228
+ const promptTokens = summary.inputTokens + (summary.cachedTokens ?? 0);
186
229
  const costUsd = summary.observedCostUsd ??
187
230
  (summary.usageCaptured && pricing !== undefined ? costForTokenPricing(pricing, receipt) : null);
188
231
  const raw = {
@@ -197,10 +240,14 @@ function responseFor(request, summary, pricing) {
197
240
  return {
198
241
  content: summary.content,
199
242
  usage: {
200
- promptTokens: summary.inputTokens,
243
+ promptTokens,
201
244
  completionTokens: summary.outputTokens,
202
- totalTokens: summary.inputTokens + summary.outputTokens,
245
+ totalTokens: promptTokens + summary.outputTokens,
203
246
  captured: summary.usageCaptured,
247
+ ...(summary.cachedTokens === undefined ? {} : { cachedPromptTokens: summary.cachedTokens }),
248
+ ...(summary.reasoningTokens === undefined
249
+ ? {}
250
+ : { reasoningTokens: summary.reasoningTokens }),
204
251
  },
205
252
  costUsd,
206
253
  model,
@@ -219,7 +266,7 @@ function executionEvidence(input) {
219
266
  runtime: {
220
267
  package: '@tangle-network/agent-runtime',
221
268
  version: AGENT_RUNTIME_VERSION,
222
- operation: 'streamAgentTurn',
269
+ operation: input.operation,
223
270
  },
224
271
  ...(input.provider === undefined ? {} : { provider: input.provider }),
225
272
  callId: input.request.callId,
@@ -245,6 +292,17 @@ function executionEvidence(input) {
245
292
  durationMs: summary?.durationMs ?? Math.max(0, endedAt - input.startedAt),
246
293
  billing: cost,
247
294
  dispatched: input.dispatched,
295
+ ...(input.controlRef === undefined
296
+ ? {}
297
+ : {
298
+ retained: {
299
+ runId: input.controlRef.runId,
300
+ environmentId: input.controlRef.environmentId,
301
+ sessionId: input.controlRef.sessionId,
302
+ executionId: input.controlRef.executionId,
303
+ requestDigest: input.controlRef.requestDigest,
304
+ },
305
+ }),
248
306
  ...(summary === undefined
249
307
  ? {}
250
308
  : {
@@ -262,6 +320,9 @@ function executionEvidence(input) {
262
320
  ...(summary.cacheWriteTokens === undefined
263
321
  ? {}
264
322
  : { cacheWriteTokens: summary.cacheWriteTokens }),
323
+ ...(summary.reasoningTokens === undefined
324
+ ? {}
325
+ : { reasoningTokens: summary.reasoningTokens }),
265
326
  ...(summary.promptCache === undefined ? {} : { promptCache: summary.promptCache }),
266
327
  ...(summary.reportedModel === undefined
267
328
  ? {}
@@ -315,10 +376,10 @@ function publicError(value) {
315
376
  function analystCallProfile(options, request, retry) {
316
377
  const source = snapshotAgentProfile(options.profile);
317
378
  const provider = source.model?.provider?.trim();
318
- if (!provider) {
379
+ const bridge = options.connection.kind === 'cli-bridge';
380
+ if (!bridge && !provider) {
319
381
  throw new TypeError('Trace analysis requires AgentProfile.model.provider before model execution');
320
382
  }
321
- const bridge = options.connection.kind === 'cli-bridge';
322
383
  let harness = 'cli-base';
323
384
  let model = safeModelRoute(options.model);
324
385
  let prompt;
@@ -357,7 +418,7 @@ function analystCallProfile(options, request, retry) {
357
418
  : {}),
358
419
  model: {
359
420
  default: model,
360
- provider,
421
+ ...(provider === undefined ? {} : { provider }),
361
422
  ...(reasoningEffort === undefined ? {} : { reasoningEffort }),
362
423
  metadata: {
363
424
  ...(bridge ? {} : { retry }),
@@ -414,6 +475,8 @@ export function createRuntimeTraceModelOwner(options) {
414
475
  let dispatched = false;
415
476
  let summary;
416
477
  let executionProfileDigest = sourceProfileDigest;
478
+ const operation = options.connection.kind === 'cli-bridge' ? 'startRetainedRun' : 'streamAgentTurn';
479
+ let controlRef;
417
480
  try {
418
481
  const configuredModel = safePublicIdentifier(options.model);
419
482
  if (configuredModel === undefined) {
@@ -425,34 +488,49 @@ export function createRuntimeTraceModelOwner(options) {
425
488
  const messages = textMessages(request.request);
426
489
  const profile = analystCallProfile(options, request.request, retry);
427
490
  executionProfileDigest = canonicalAgentProfileDigestHex(profile);
428
- const { createExecutor, streamAgentTurn } = await import('@tangle-network/agent-runtime/kernel');
429
- const executor = options.connection.kind === 'cli-bridge'
430
- ? createExecutor({
431
- backend: 'bridge',
432
- bridgeUrl: options.baseUrl,
433
- bridgeBearer: options.credential ?? LOCAL_ROUTER_BEARER,
434
- })
435
- : createExecutor({
491
+ if (options.connection.kind === 'cli-bridge') {
492
+ const onRetainedAdmission = options.onRetainedAdmission;
493
+ if (onRetainedAdmission === undefined) {
494
+ throw new TypeError('CLI Bridge trace analysis requires durable admission storage');
495
+ }
496
+ dispatched = true;
497
+ const retained = await runRetainedCliBridgeModelCall({
498
+ baseUrl: options.baseUrl,
499
+ bearerToken: options.credential ?? LOCAL_ROUTER_BEARER,
500
+ profile,
501
+ model: configuredModel,
502
+ messages,
503
+ callId: request.callId,
504
+ signal: request.signal,
505
+ onAdmission: (admission) => onRetainedAdmission(request.callId, admission),
506
+ });
507
+ controlRef = retained.controlRef;
508
+ summary = summarizeRetainedResult(retained.result, configuredModel, startedAt);
509
+ }
510
+ else {
511
+ dispatched = true;
512
+ const { createExecutor, streamAgentTurn } = await import('@tangle-network/agent-runtime/kernel');
513
+ const executor = createExecutor({
436
514
  backend: 'router',
437
515
  routerBaseUrl: options.baseUrl,
438
516
  routerKey: options.credential ?? LOCAL_ROUTER_BEARER,
439
517
  ...(options.complete === undefined ? {} : { complete: options.complete }),
440
518
  });
441
- const backend = Object.freeze({
442
- kind: 'executor',
443
- factory: executor,
444
- profile,
445
- agentRunName: configuredModel,
446
- });
447
- dispatched = true;
448
- for await (const event of streamAgentTurn(backend, { messages }, {
449
- signal: request.signal,
450
- callId: request.callId,
451
- correlationId: `braid-analysis-${request.callId}`,
452
- })) {
453
- events.push(event);
519
+ const backend = Object.freeze({
520
+ kind: 'executor',
521
+ factory: executor,
522
+ profile,
523
+ agentRunName: configuredModel,
524
+ });
525
+ for await (const event of streamAgentTurn(backend, { messages }, {
526
+ signal: request.signal,
527
+ callId: request.callId,
528
+ correlationId: `braid-analysis-${request.callId}`,
529
+ })) {
530
+ events.push(event);
531
+ }
532
+ summary = summarizeRuntimeEvents(events, startedAt);
454
533
  }
455
- summary = summarizeRuntimeEvents(events, startedAt);
456
534
  const receipt = receiptFor(options.model, pricing, summary);
457
535
  const evidence = executionEvidence({
458
536
  request,
@@ -466,6 +544,8 @@ export function createRuntimeTraceModelOwner(options) {
466
544
  summary,
467
545
  dispatched,
468
546
  startedAt,
547
+ operation,
548
+ ...(controlRef === undefined ? {} : { controlRef }),
469
549
  });
470
550
  if (summary.status !== 'completed') {
471
551
  return {
@@ -483,6 +563,8 @@ export function createRuntimeTraceModelOwner(options) {
483
563
  };
484
564
  }
485
565
  catch (error) {
566
+ if (error instanceof RetainedModelCallError)
567
+ controlRef = error.controlRef;
486
568
  const message = publicError(error);
487
569
  const receipt = receiptFor(options.model, pricing, summary ?? { inputTokens: 0, outputTokens: 0, usageCaptured: false }, !dispatched);
488
570
  return {
@@ -504,6 +586,8 @@ export function createRuntimeTraceModelOwner(options) {
504
586
  dispatched,
505
587
  ...(events.length === 0 ? {} : { partialEvents: events }),
506
588
  startedAt,
589
+ operation,
590
+ ...(controlRef === undefined ? {} : { controlRef }),
507
591
  failure: message,
508
592
  }),
509
593
  };