@tangle-network/braid 0.1.3 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (593) hide show
  1. package/README.md +25 -22
  2. package/THIRD_PARTY_LICENSES.json +8 -0
  3. package/dist/adapters/analysis/eval-analyst.d.ts +1 -1
  4. package/dist/adapters/analysis/eval-analyst.d.ts.map +1 -1
  5. package/dist/adapters/analysis/eval-analyst.js.map +1 -1
  6. package/dist/adapters/analysis/managed-analysis-runtime.d.ts +1 -1
  7. package/dist/adapters/analysis/managed-analysis-runtime.js +1 -1
  8. package/dist/adapters/analysis/production-analysis-analyst.d.ts.map +1 -1
  9. package/dist/adapters/analysis/production-analysis-analyst.js +8 -2
  10. package/dist/adapters/analysis/production-analysis-analyst.js.map +1 -1
  11. package/dist/adapters/analysis/runtime-model-owner.d.ts +3 -0
  12. package/dist/adapters/analysis/runtime-model-owner.d.ts.map +1 -1
  13. package/dist/adapters/analysis/runtime-model-owner.js +17 -2
  14. package/dist/adapters/analysis/runtime-model-owner.js.map +1 -1
  15. package/dist/adapters/analysis/trace-analysis-adapter.d.ts +1 -0
  16. package/dist/adapters/analysis/trace-analysis-adapter.d.ts.map +1 -1
  17. package/dist/adapters/analysis/trace-analysis-adapter.js +26 -2
  18. package/dist/adapters/analysis/trace-analysis-adapter.js.map +1 -1
  19. package/dist/adapters/analysis/trace-event-projection.d.ts.map +1 -1
  20. package/dist/adapters/analysis/trace-event-projection.js +6 -2
  21. package/dist/adapters/analysis/trace-event-projection.js.map +1 -1
  22. package/dist/adapters/connections/cli-bridge-model-validation.d.ts.map +1 -1
  23. package/dist/adapters/connections/cli-bridge-model-validation.js +2 -1
  24. package/dist/adapters/connections/cli-bridge-model-validation.js.map +1 -1
  25. package/dist/adapters/connections/production-connection-providers.d.ts.map +1 -1
  26. package/dist/adapters/connections/production-connection-providers.js +2 -4
  27. package/dist/adapters/connections/production-connection-providers.js.map +1 -1
  28. package/dist/adapters/connections/production-connection-types.d.ts +3 -2
  29. package/dist/adapters/connections/production-connection-types.d.ts.map +1 -1
  30. package/dist/adapters/connections/production-connection-types.js.map +1 -1
  31. package/dist/adapters/connections/tangle-retained-control-lookup.d.ts.map +1 -1
  32. package/dist/adapters/connections/tangle-retained-control-lookup.js +10 -7
  33. package/dist/adapters/connections/tangle-retained-control-lookup.js.map +1 -1
  34. package/dist/adapters/runtime/agent-runtime-execution.d.ts.map +1 -1
  35. package/dist/adapters/runtime/agent-runtime-execution.js +46 -19
  36. package/dist/adapters/runtime/agent-runtime-execution.js.map +1 -1
  37. package/dist/adapters/runtime/cli-bridge-retained-execution.d.ts +3 -2
  38. package/dist/adapters/runtime/cli-bridge-retained-execution.d.ts.map +1 -1
  39. package/dist/adapters/runtime/cli-bridge-retained-execution.js +4 -2
  40. package/dist/adapters/runtime/cli-bridge-retained-execution.js.map +1 -1
  41. package/dist/adapters/runtime/cli-bridge-retained-run.d.ts +7 -7
  42. package/dist/adapters/runtime/cli-bridge-retained-run.d.ts.map +1 -1
  43. package/dist/adapters/runtime/cli-bridge-retained-run.js +94 -75
  44. package/dist/adapters/runtime/cli-bridge-retained-run.js.map +1 -1
  45. package/dist/adapters/runtime/mode-routing-execution.d.ts +42 -0
  46. package/dist/adapters/runtime/mode-routing-execution.d.ts.map +1 -0
  47. package/dist/adapters/runtime/mode-routing-execution.js +161 -0
  48. package/dist/adapters/runtime/mode-routing-execution.js.map +1 -0
  49. package/dist/adapters/runtime/native-interactive-run-broker.d.ts +21 -0
  50. package/dist/adapters/runtime/native-interactive-run-broker.d.ts.map +1 -0
  51. package/dist/adapters/runtime/native-interactive-run-broker.js +97 -0
  52. package/dist/adapters/runtime/native-interactive-run-broker.js.map +1 -0
  53. package/dist/adapters/runtime/production-backend-common.d.ts +2 -0
  54. package/dist/adapters/runtime/production-backend-common.d.ts.map +1 -1
  55. package/dist/adapters/runtime/production-backend-common.js +14 -1
  56. package/dist/adapters/runtime/production-backend-common.js.map +1 -1
  57. package/dist/adapters/runtime/production-backend-resolver.d.ts.map +1 -1
  58. package/dist/adapters/runtime/production-backend-resolver.js +4 -3
  59. package/dist/adapters/runtime/production-backend-resolver.js.map +1 -1
  60. package/dist/adapters/runtime/production-cli-bridge-backend.d.ts +4 -1
  61. package/dist/adapters/runtime/production-cli-bridge-backend.d.ts.map +1 -1
  62. package/dist/adapters/runtime/production-cli-bridge-backend.js +81 -30
  63. package/dist/adapters/runtime/production-cli-bridge-backend.js.map +1 -1
  64. package/dist/adapters/runtime/production-tangle-sandbox-backend.d.ts.map +1 -1
  65. package/dist/adapters/runtime/production-tangle-sandbox-backend.js +6 -7
  66. package/dist/adapters/runtime/production-tangle-sandbox-backend.js.map +1 -1
  67. package/dist/adapters/runtime/retained-execution-contract.d.ts +9 -2
  68. package/dist/adapters/runtime/retained-execution-contract.d.ts.map +1 -1
  69. package/dist/adapters/runtime/retained-execution-projection.d.ts.map +1 -1
  70. package/dist/adapters/runtime/retained-execution-projection.js +4 -1
  71. package/dist/adapters/runtime/retained-execution-projection.js.map +1 -1
  72. package/dist/adapters/runtime/retained-execution-state.d.ts +3 -1
  73. package/dist/adapters/runtime/retained-execution-state.d.ts.map +1 -1
  74. package/dist/adapters/runtime/retained-execution-state.js +8 -1
  75. package/dist/adapters/runtime/retained-execution-state.js.map +1 -1
  76. package/dist/adapters/runtime/retained-execution.d.ts +11 -4
  77. package/dist/adapters/runtime/retained-execution.d.ts.map +1 -1
  78. package/dist/adapters/runtime/retained-execution.js +213 -16
  79. package/dist/adapters/runtime/retained-execution.js.map +1 -1
  80. package/dist/adapters/runtime/sandbox-observation.d.ts.map +1 -1
  81. package/dist/adapters/runtime/sandbox-observation.js +5 -0
  82. package/dist/adapters/runtime/sandbox-observation.js.map +1 -1
  83. package/dist/adapters/runtime/tangle-retained-execution.d.ts +3 -2
  84. package/dist/adapters/runtime/tangle-retained-execution.d.ts.map +1 -1
  85. package/dist/adapters/runtime/tangle-retained-execution.js +3 -1
  86. package/dist/adapters/runtime/tangle-retained-execution.js.map +1 -1
  87. package/dist/adapters/runtime/tangle-retained-interactive-contract.d.ts +37 -0
  88. package/dist/adapters/runtime/tangle-retained-interactive-contract.d.ts.map +1 -0
  89. package/dist/adapters/runtime/tangle-retained-interactive-contract.js +135 -0
  90. package/dist/adapters/runtime/tangle-retained-interactive-contract.js.map +1 -0
  91. package/dist/adapters/runtime/tangle-retained-interactive-execution.d.ts +35 -0
  92. package/dist/adapters/runtime/tangle-retained-interactive-execution.d.ts.map +1 -0
  93. package/dist/adapters/runtime/tangle-retained-interactive-execution.js +456 -0
  94. package/dist/adapters/runtime/tangle-retained-interactive-execution.js.map +1 -0
  95. package/dist/adapters/runtime/tangle-retained-interactive-projection.d.ts +19 -0
  96. package/dist/adapters/runtime/tangle-retained-interactive-projection.d.ts.map +1 -0
  97. package/dist/adapters/runtime/tangle-retained-interactive-projection.js +110 -0
  98. package/dist/adapters/runtime/tangle-retained-interactive-projection.js.map +1 -0
  99. package/dist/adapters/runtime/tangle-retained-run.d.ts.map +1 -1
  100. package/dist/adapters/runtime/tangle-retained-run.js +7 -5
  101. package/dist/adapters/runtime/tangle-retained-run.js.map +1 -1
  102. package/dist/adapters/runtime/tangle-sandbox-retention.d.ts.map +1 -1
  103. package/dist/adapters/runtime/tangle-sandbox-retention.js +8 -4
  104. package/dist/adapters/runtime/tangle-sandbox-retention.js.map +1 -1
  105. package/dist/adapters/storage/memory-effects.d.ts.map +1 -1
  106. package/dist/adapters/storage/memory-effects.js +1 -1
  107. package/dist/adapters/storage/memory-effects.js.map +1 -1
  108. package/dist/adapters/storage/memory-maintenance.d.ts.map +1 -1
  109. package/dist/adapters/storage/memory-maintenance.js +2 -2
  110. package/dist/adapters/storage/memory-maintenance.js.map +1 -1
  111. package/dist/adapters/storage/memory-operations.d.ts.map +1 -1
  112. package/dist/adapters/storage/memory-operations.js +2 -2
  113. package/dist/adapters/storage/memory-operations.js.map +1 -1
  114. package/dist/adapters/storage/memory-retention.d.ts.map +1 -1
  115. package/dist/adapters/storage/memory-retention.js +2 -2
  116. package/dist/adapters/storage/memory-retention.js.map +1 -1
  117. package/dist/adapters/storage/memory.d.ts +1 -1
  118. package/dist/adapters/storage/memory.d.ts.map +1 -1
  119. package/dist/adapters/storage/memory.js.map +1 -1
  120. package/dist/adapters/storage/sqlite-effects.d.ts.map +1 -1
  121. package/dist/adapters/storage/sqlite-effects.js +3 -3
  122. package/dist/adapters/storage/sqlite-effects.js.map +1 -1
  123. package/dist/adapters/storage/sqlite-initialization.js +1 -1
  124. package/dist/adapters/storage/sqlite-initialization.js.map +1 -1
  125. package/dist/adapters/storage/sqlite-maintenance.d.ts.map +1 -1
  126. package/dist/adapters/storage/sqlite-maintenance.js +5 -6
  127. package/dist/adapters/storage/sqlite-maintenance.js.map +1 -1
  128. package/dist/adapters/storage/sqlite-operations.d.ts.map +1 -1
  129. package/dist/adapters/storage/sqlite-operations.js +2 -2
  130. package/dist/adapters/storage/sqlite-operations.js.map +1 -1
  131. package/dist/adapters/storage/sqlite-rows.d.ts.map +1 -1
  132. package/dist/adapters/storage/sqlite-rows.js +1 -1
  133. package/dist/adapters/storage/sqlite-rows.js.map +1 -1
  134. package/dist/adapters/storage/sqlite.d.ts.map +1 -1
  135. package/dist/adapters/tui/application-ui-controller.d.ts.map +1 -1
  136. package/dist/adapters/tui/application-ui-controller.js +4 -3
  137. package/dist/adapters/tui/application-ui-controller.js.map +1 -1
  138. package/dist/adapters/tui/native-terminal-transport.d.ts +3 -0
  139. package/dist/adapters/tui/native-terminal-transport.d.ts.map +1 -0
  140. package/dist/adapters/tui/native-terminal-transport.js +270 -0
  141. package/dist/adapters/tui/native-terminal-transport.js.map +1 -0
  142. package/dist/adapters/tui/profile-connection-dispatch.d.ts.map +1 -1
  143. package/dist/adapters/tui/profile-connection-dispatch.js.map +1 -1
  144. package/dist/adapters/tui/ui-capabilities.d.ts +2 -0
  145. package/dist/adapters/tui/ui-capabilities.d.ts.map +1 -1
  146. package/dist/adapters/tui/ui-capabilities.js +2 -0
  147. package/dist/adapters/tui/ui-capabilities.js.map +1 -1
  148. package/dist/adapters/tui/ui-core-dispatch.js +2 -2
  149. package/dist/adapters/tui/ui-core-dispatch.js.map +1 -1
  150. package/dist/adapters/tui/ui-headless-dispatch.d.ts.map +1 -1
  151. package/dist/adapters/tui/ui-headless-dispatch.js +7 -0
  152. package/dist/adapters/tui/ui-headless-dispatch.js.map +1 -1
  153. package/dist/adapters/tui/ui-intelligence-result-view.d.ts.map +1 -1
  154. package/dist/adapters/tui/ui-intelligence-result-view.js.map +1 -1
  155. package/dist/adapters/tui/ui-projection.d.ts.map +1 -1
  156. package/dist/adapters/tui/ui-projection.js +17 -2
  157. package/dist/adapters/tui/ui-projection.js.map +1 -1
  158. package/dist/adapters/tui/ui-view-model.d.ts.map +1 -1
  159. package/dist/adapters/tui/ui-view-model.js +8 -2
  160. package/dist/adapters/tui/ui-view-model.js.map +1 -1
  161. package/dist/app/analysis-execution-session.d.ts +1 -1
  162. package/dist/app/analysis-execution-session.d.ts.map +1 -1
  163. package/dist/app/analysis-lifecycle.d.ts.map +1 -1
  164. package/dist/app/analysis-lifecycle.js +1 -1
  165. package/dist/app/analysis-lifecycle.js.map +1 -1
  166. package/dist/app/analysis-retained-admission.d.ts.map +1 -1
  167. package/dist/app/analysis-retained-admission.js +2 -25
  168. package/dist/app/analysis-retained-admission.js.map +1 -1
  169. package/dist/app/analysis-source.d.ts.map +1 -1
  170. package/dist/app/analysis-source.js.map +1 -1
  171. package/dist/app/application-guards.d.ts.map +1 -1
  172. package/dist/app/application-guards.js.map +1 -1
  173. package/dist/app/application-interaction-actions.d.ts +2 -2
  174. package/dist/app/application-interaction-actions.d.ts.map +1 -1
  175. package/dist/app/application-interaction-actions.js +15 -9
  176. package/dist/app/application-interaction-actions.js.map +1 -1
  177. package/dist/app/application-ports.d.ts +2 -1
  178. package/dist/app/application-ports.d.ts.map +1 -1
  179. package/dist/app/application-support.d.ts.map +1 -1
  180. package/dist/app/application-support.js +8 -0
  181. package/dist/app/application-support.js.map +1 -1
  182. package/dist/app/application-types.d.ts +2 -0
  183. package/dist/app/application-types.d.ts.map +1 -1
  184. package/dist/app/application.d.ts +1 -1
  185. package/dist/app/application.d.ts.map +1 -1
  186. package/dist/app/application.js +4 -4
  187. package/dist/app/application.js.map +1 -1
  188. package/dist/app/automation-actions.d.ts +1 -1
  189. package/dist/app/automation-actions.d.ts.map +1 -1
  190. package/dist/app/automation-actions.js +9 -2
  191. package/dist/app/automation-actions.js.map +1 -1
  192. package/dist/app/automation-matching.d.ts +1 -1
  193. package/dist/app/automation-matching.d.ts.map +1 -1
  194. package/dist/app/composition.d.ts +3 -1
  195. package/dist/app/composition.d.ts.map +1 -1
  196. package/dist/app/composition.js +7 -1
  197. package/dist/app/composition.js.map +1 -1
  198. package/dist/app/configuration-action-transition.d.ts.map +1 -1
  199. package/dist/app/configuration-action-transition.js.map +1 -1
  200. package/dist/app/configuration-session.d.ts.map +1 -1
  201. package/dist/app/configuration-session.js.map +1 -1
  202. package/dist/app/connection-record-factory.d.ts.map +1 -1
  203. package/dist/app/connection-record-factory.js.map +1 -1
  204. package/dist/app/control-effects.js +8 -1
  205. package/dist/app/control-effects.js.map +1 -1
  206. package/dist/app/conversation-branches.d.ts.map +1 -1
  207. package/dist/app/conversation-branches.js.map +1 -1
  208. package/dist/app/conversation-import-runs.js +1 -0
  209. package/dist/app/conversation-import-runs.js.map +1 -1
  210. package/dist/app/conversation-lifecycle.js.map +1 -1
  211. package/dist/app/effective-run-configuration.d.ts +1 -1
  212. package/dist/app/effective-run-configuration.d.ts.map +1 -1
  213. package/dist/app/effective-run-configuration.js +1 -0
  214. package/dist/app/effective-run-configuration.js.map +1 -1
  215. package/dist/app/intelligence-actions.d.ts +1 -1
  216. package/dist/app/intelligence-actions.d.ts.map +1 -1
  217. package/dist/app/intelligence-actions.js.map +1 -1
  218. package/dist/app/interaction-controller.d.ts +1 -1
  219. package/dist/app/interaction-controller.d.ts.map +1 -1
  220. package/dist/app/interaction-controller.js +5 -0
  221. package/dist/app/interaction-controller.js.map +1 -1
  222. package/dist/app/interaction-effects.d.ts +2 -1
  223. package/dist/app/interaction-effects.d.ts.map +1 -1
  224. package/dist/app/interaction-effects.js +8 -4
  225. package/dist/app/interaction-effects.js.map +1 -1
  226. package/dist/app/journal.d.ts.map +1 -1
  227. package/dist/app/journal.js +1 -2
  228. package/dist/app/journal.js.map +1 -1
  229. package/dist/app/production-composition.d.ts +2 -0
  230. package/dist/app/production-composition.d.ts.map +1 -1
  231. package/dist/app/production-composition.js +50 -13
  232. package/dist/app/production-composition.js.map +1 -1
  233. package/dist/app/profile-action-support.d.ts +3 -1
  234. package/dist/app/profile-action-support.d.ts.map +1 -1
  235. package/dist/app/profile-actions.d.ts +1 -1
  236. package/dist/app/profile-actions.d.ts.map +1 -1
  237. package/dist/app/profile-actions.js.map +1 -1
  238. package/dist/app/profile-draft.d.ts.map +1 -1
  239. package/dist/app/profile-draft.js +1 -1
  240. package/dist/app/profile-draft.js.map +1 -1
  241. package/dist/app/profile-model-settings.d.ts +3 -1
  242. package/dist/app/profile-model-settings.d.ts.map +1 -1
  243. package/dist/app/profile-model-settings.js +9 -5
  244. package/dist/app/profile-model-settings.js.map +1 -1
  245. package/dist/app/profile-selection.d.ts.map +1 -1
  246. package/dist/app/profile-selection.js.map +1 -1
  247. package/dist/app/profile-sources.d.ts +1 -1
  248. package/dist/app/profile-sources.d.ts.map +1 -1
  249. package/dist/app/profile-sources.js +2 -2
  250. package/dist/app/profile-sources.js.map +1 -1
  251. package/dist/app/profiles.d.ts +3 -1
  252. package/dist/app/profiles.d.ts.map +1 -1
  253. package/dist/app/profiles.js.map +1 -1
  254. package/dist/app/run-admission-dispatch.d.ts.map +1 -1
  255. package/dist/app/run-admission-dispatch.js +2 -0
  256. package/dist/app/run-admission-dispatch.js.map +1 -1
  257. package/dist/app/run-admission-receipt.d.ts.map +1 -1
  258. package/dist/app/run-admission-receipt.js +9 -0
  259. package/dist/app/run-admission-receipt.js.map +1 -1
  260. package/dist/app/run-admission-request.d.ts.map +1 -1
  261. package/dist/app/run-admission-request.js +3 -0
  262. package/dist/app/run-admission-request.js.map +1 -1
  263. package/dist/app/run-admission.d.ts +2 -2
  264. package/dist/app/run-admission.d.ts.map +1 -1
  265. package/dist/app/run-admission.js +2 -2
  266. package/dist/app/run-admission.js.map +1 -1
  267. package/dist/app/run-controls.d.ts.map +1 -1
  268. package/dist/app/run-controls.js +3 -0
  269. package/dist/app/run-controls.js.map +1 -1
  270. package/dist/app/run-execution-snapshot.d.ts +2 -1
  271. package/dist/app/run-execution-snapshot.d.ts.map +1 -1
  272. package/dist/app/run-execution-snapshot.js +2 -1
  273. package/dist/app/run-execution-snapshot.js.map +1 -1
  274. package/dist/app/run-execution.d.ts.map +1 -1
  275. package/dist/app/run-execution.js +2 -0
  276. package/dist/app/run-execution.js.map +1 -1
  277. package/dist/app/run-ingestion.d.ts.map +1 -1
  278. package/dist/app/run-ingestion.js +2 -2
  279. package/dist/app/run-ingestion.js.map +1 -1
  280. package/dist/app/run-recovery-context.d.ts +5 -0
  281. package/dist/app/run-recovery-context.d.ts.map +1 -0
  282. package/dist/app/run-recovery-context.js +11 -0
  283. package/dist/app/run-recovery-context.js.map +1 -0
  284. package/dist/app/run-replay.d.ts.map +1 -1
  285. package/dist/app/run-replay.js +12 -0
  286. package/dist/app/run-replay.js.map +1 -1
  287. package/dist/app/supervisor-service.d.ts +1 -1
  288. package/dist/app/supervisor-service.d.ts.map +1 -1
  289. package/dist/app/unavailable-analyst.d.ts +1 -1
  290. package/dist/app/unavailable-analyst.d.ts.map +1 -1
  291. package/dist/app/unavailable-analyst.js +1 -1
  292. package/dist/app/unavailable-analyst.js.map +1 -1
  293. package/dist/bin/braid-runtime.d.ts.map +1 -1
  294. package/dist/bin/braid-runtime.js +3 -0
  295. package/dist/bin/braid-runtime.js.map +1 -1
  296. package/dist/bin/interface-runner.d.ts.map +1 -1
  297. package/dist/bin/interface-runner.js +18 -0
  298. package/dist/bin/interface-runner.js.map +1 -1
  299. package/dist/bin/interface-signal-lifecycle.d.ts +3 -1
  300. package/dist/bin/interface-signal-lifecycle.d.ts.map +1 -1
  301. package/dist/bin/interface-signal-lifecycle.js +31 -4
  302. package/dist/bin/interface-signal-lifecycle.js.map +1 -1
  303. package/dist/bin/native-interactive-actions.d.ts +21 -0
  304. package/dist/bin/native-interactive-actions.d.ts.map +1 -0
  305. package/dist/bin/native-interactive-actions.js +173 -0
  306. package/dist/bin/native-interactive-actions.js.map +1 -0
  307. package/dist/bin/production-application.d.ts +2 -0
  308. package/dist/bin/production-application.d.ts.map +1 -1
  309. package/dist/bin/production-application.js +13 -3
  310. package/dist/bin/production-application.js.map +1 -1
  311. package/dist/bin/production-connection-actions.d.ts.map +1 -1
  312. package/dist/bin/production-connection-actions.js +2 -2
  313. package/dist/bin/production-connection-actions.js.map +1 -1
  314. package/dist/bin/production-connection-credential-cleanup.d.ts.map +1 -1
  315. package/dist/bin/production-connection-credential-cleanup.js +1 -1
  316. package/dist/bin/production-connection-credential-cleanup.js.map +1 -1
  317. package/dist/bin/production-connection-removal.d.ts.map +1 -1
  318. package/dist/bin/production-connection-removal.js.map +1 -1
  319. package/dist/bin/production-setup-discovery.d.ts +1 -1
  320. package/dist/bin/production-setup-discovery.d.ts.map +1 -1
  321. package/dist/bin/production-setup-discovery.js +1 -1
  322. package/dist/bin/production-setup-discovery.js.map +1 -1
  323. package/dist/bin/production-setup-transition.d.ts +3 -1
  324. package/dist/bin/production-setup-transition.d.ts.map +1 -1
  325. package/dist/bin/production-setup-transition.js.map +1 -1
  326. package/dist/bin/production-setup-types.d.ts +2 -0
  327. package/dist/bin/production-setup-types.d.ts.map +1 -1
  328. package/dist/bin/production-startup.d.ts.map +1 -1
  329. package/dist/bin/production-startup.js +3 -0
  330. package/dist/bin/production-startup.js.map +1 -1
  331. package/dist/bin/runtime-startup-options.d.ts.map +1 -1
  332. package/dist/bin/runtime-startup-options.js +12 -0
  333. package/dist/bin/runtime-startup-options.js.map +1 -1
  334. package/dist/domain/bounded-structured.d.ts.map +1 -1
  335. package/dist/domain/bounded-structured.js +2 -0
  336. package/dist/domain/bounded-structured.js.map +1 -1
  337. package/dist/domain/entities-core.d.ts +1 -1
  338. package/dist/domain/entities-core.d.ts.map +1 -1
  339. package/dist/domain/entities-messages.d.ts +1 -1
  340. package/dist/domain/entities-messages.d.ts.map +1 -1
  341. package/dist/domain/entities-runtime.d.ts +2 -2
  342. package/dist/domain/entities-runtime.d.ts.map +1 -1
  343. package/dist/domain/entities.d.ts +3 -3
  344. package/dist/domain/entities.d.ts.map +1 -1
  345. package/dist/domain/entities.js +3 -3
  346. package/dist/domain/entities.js.map +1 -1
  347. package/dist/domain/events-legacy.d.ts +3 -3
  348. package/dist/domain/events-legacy.d.ts.map +1 -1
  349. package/dist/domain/events.d.ts +1 -1
  350. package/dist/domain/events.d.ts.map +1 -1
  351. package/dist/domain/ids-values.d.ts +1 -1
  352. package/dist/domain/ids-values.d.ts.map +1 -1
  353. package/dist/domain/ids-values.js.map +1 -1
  354. package/dist/domain/ids.d.ts.map +1 -1
  355. package/dist/domain/ids.js.map +1 -1
  356. package/dist/domain/invariants-relations.d.ts.map +1 -1
  357. package/dist/domain/invariants-relations.js.map +1 -1
  358. package/dist/domain/invariants-retained-admission.d.ts.map +1 -1
  359. package/dist/domain/invariants-retained-admission.js +84 -24
  360. package/dist/domain/invariants-retained-admission.js.map +1 -1
  361. package/dist/domain/invariants-run.d.ts.map +1 -1
  362. package/dist/domain/invariants-run.js +2 -2
  363. package/dist/domain/invariants-run.js.map +1 -1
  364. package/dist/domain/invariants-runtime.d.ts.map +1 -1
  365. package/dist/domain/invariants-runtime.js +1 -1
  366. package/dist/domain/invariants-runtime.js.map +1 -1
  367. package/dist/domain/invariants.d.ts +1 -1
  368. package/dist/domain/invariants.d.ts.map +1 -1
  369. package/dist/domain/invariants.js +1 -1
  370. package/dist/domain/invariants.js.map +1 -1
  371. package/dist/domain/legacy-interaction-snapshot.d.ts.map +1 -1
  372. package/dist/domain/legacy-interaction-snapshot.js.map +1 -1
  373. package/dist/domain/materialized-state-snapshot.d.ts.map +1 -1
  374. package/dist/domain/materialized-state-snapshot.js +1 -1
  375. package/dist/domain/materialized-state-snapshot.js.map +1 -1
  376. package/dist/domain/receipts.d.ts +4 -2
  377. package/dist/domain/receipts.d.ts.map +1 -1
  378. package/dist/domain/receipts.js +4 -0
  379. package/dist/domain/receipts.js.map +1 -1
  380. package/dist/domain/redaction.d.ts.map +1 -1
  381. package/dist/domain/redaction.js +2 -2
  382. package/dist/domain/redaction.js.map +1 -1
  383. package/dist/domain/reducer-content.d.ts +1 -1
  384. package/dist/domain/reducer-content.d.ts.map +1 -1
  385. package/dist/domain/reducer-content.js +1 -1
  386. package/dist/domain/reducer-content.js.map +1 -1
  387. package/dist/domain/reducer-domain-events.d.ts.map +1 -1
  388. package/dist/domain/reducer-domain-events.js +1 -1
  389. package/dist/domain/reducer-domain-events.js.map +1 -1
  390. package/dist/domain/reducer-execution-observation.js.map +1 -1
  391. package/dist/domain/reducer-helpers.d.ts.map +1 -1
  392. package/dist/domain/reducer-helpers.js +1 -1
  393. package/dist/domain/reducer-helpers.js.map +1 -1
  394. package/dist/domain/reducer-interactions.d.ts +1 -1
  395. package/dist/domain/reducer-interactions.d.ts.map +1 -1
  396. package/dist/domain/reducer-interactions.js +4 -4
  397. package/dist/domain/reducer-interactions.js.map +1 -1
  398. package/dist/domain/reducer-legacy.d.ts.map +1 -1
  399. package/dist/domain/reducer-legacy.js +1 -1
  400. package/dist/domain/reducer-legacy.js.map +1 -1
  401. package/dist/domain/reducer-retained-admission.d.ts.map +1 -1
  402. package/dist/domain/reducer-retained-admission.js +117 -21
  403. package/dist/domain/reducer-retained-admission.js.map +1 -1
  404. package/dist/domain/reducer-run-graph.d.ts.map +1 -1
  405. package/dist/domain/reducer-run-graph.js.map +1 -1
  406. package/dist/domain/reducer-support.d.ts +1 -1
  407. package/dist/domain/reducer-support.d.ts.map +1 -1
  408. package/dist/domain/reducer.d.ts +1 -1
  409. package/dist/domain/reducer.d.ts.map +1 -1
  410. package/dist/domain/reducer.js.map +1 -1
  411. package/dist/domain/run-contracts.d.ts +7 -18
  412. package/dist/domain/run-contracts.d.ts.map +1 -1
  413. package/dist/domain/run-interactions.d.ts +4 -0
  414. package/dist/domain/run-interactions.d.ts.map +1 -0
  415. package/dist/domain/run-interactions.js +13 -0
  416. package/dist/domain/run-interactions.js.map +1 -0
  417. package/dist/eval/calibration.js +1 -1
  418. package/dist/eval/calibration.js.map +1 -1
  419. package/dist/eval/cases.d.ts.map +1 -1
  420. package/dist/eval/cases.js.map +1 -1
  421. package/dist/eval/execution.d.ts.map +1 -1
  422. package/dist/eval/execution.js +6 -3
  423. package/dist/eval/execution.js.map +1 -1
  424. package/dist/eval/fixtures.js +1 -1
  425. package/dist/eval/fixtures.js.map +1 -1
  426. package/dist/eval/product-path.js.map +1 -1
  427. package/dist/index.d.ts +25 -23
  428. package/dist/index.d.ts.map +1 -1
  429. package/dist/index.js +15 -14
  430. package/dist/index.js.map +1 -1
  431. package/dist/ports/execution.d.ts +28 -8
  432. package/dist/ports/execution.d.ts.map +1 -1
  433. package/dist/ports/execution.js +11 -0
  434. package/dist/ports/execution.js.map +1 -1
  435. package/dist/ports/native-interactive-execution.d.ts +19 -0
  436. package/dist/ports/native-interactive-execution.d.ts.map +1 -0
  437. package/dist/ports/native-interactive-execution.js +2 -0
  438. package/dist/ports/native-interactive-execution.js.map +1 -0
  439. package/dist/ports/native-terminal-transport.d.ts +65 -0
  440. package/dist/ports/native-terminal-transport.d.ts.map +1 -0
  441. package/dist/ports/native-terminal-transport.js +2 -0
  442. package/dist/ports/native-terminal-transport.js.map +1 -0
  443. package/dist/startup/preview-runtime.d.ts +4 -2
  444. package/dist/startup/preview-runtime.d.ts.map +1 -1
  445. package/dist/startup/preview-runtime.js +9 -3
  446. package/dist/startup/preview-runtime.js.map +1 -1
  447. package/dist/testing/runtime-contract-fixtures.d.ts.map +1 -1
  448. package/dist/testing/runtime-contract-fixtures.js.map +1 -1
  449. package/dist/views/headless/protocol.d.ts +2 -2
  450. package/dist/views/headless/protocol.d.ts.map +1 -1
  451. package/dist/views/headless/protocol.js.map +1 -1
  452. package/dist/views/shared/analysis-model-call-presentation.d.ts +4 -0
  453. package/dist/views/shared/analysis-model-call-presentation.d.ts.map +1 -1
  454. package/dist/views/shared/analysis-model-call-presentation.js +50 -1
  455. package/dist/views/shared/analysis-model-call-presentation.js.map +1 -1
  456. package/dist/views/shared/analysis-presentation.d.ts.map +1 -1
  457. package/dist/views/shared/analysis-presentation.js +5 -11
  458. package/dist/views/shared/analysis-presentation.js.map +1 -1
  459. package/dist/views/shared/command-registry.d.ts +1 -1
  460. package/dist/views/shared/command-registry.d.ts.map +1 -1
  461. package/dist/views/shared/command-registry.js +19 -1
  462. package/dist/views/shared/command-registry.js.map +1 -1
  463. package/dist/views/shared/command-table.d.ts +10 -0
  464. package/dist/views/shared/command-table.d.ts.map +1 -1
  465. package/dist/views/shared/command-table.js +12 -0
  466. package/dist/views/shared/command-table.js.map +1 -1
  467. package/dist/views/shared/models.d.ts +6 -2
  468. package/dist/views/shared/models.d.ts.map +1 -1
  469. package/dist/views/shared/models.js.map +1 -1
  470. package/dist/views/shared/native-interactive-actions.d.ts +28 -0
  471. package/dist/views/shared/native-interactive-actions.d.ts.map +1 -0
  472. package/dist/views/shared/native-interactive-actions.js +2 -0
  473. package/dist/views/shared/native-interactive-actions.js.map +1 -0
  474. package/dist/views/tui/activity-browser.d.ts +1 -1
  475. package/dist/views/tui/activity-browser.d.ts.map +1 -1
  476. package/dist/views/tui/activity-browser.js +17 -22
  477. package/dist/views/tui/activity-browser.js.map +1 -1
  478. package/dist/views/tui/automation-rule-panel.js +4 -4
  479. package/dist/views/tui/automation-rule-panel.js.map +1 -1
  480. package/dist/views/tui/composer-view.d.ts.map +1 -1
  481. package/dist/views/tui/composer-view.js +20 -7
  482. package/dist/views/tui/composer-view.js.map +1 -1
  483. package/dist/views/tui/configuration-credential.d.ts.map +1 -1
  484. package/dist/views/tui/configuration-credential.js.map +1 -1
  485. package/dist/views/tui/configuration-presenters.d.ts.map +1 -1
  486. package/dist/views/tui/configuration-presenters.js +35 -14
  487. package/dist/views/tui/configuration-presenters.js.map +1 -1
  488. package/dist/views/tui/configuration-review.d.ts.map +1 -1
  489. package/dist/views/tui/configuration-review.js +8 -2
  490. package/dist/views/tui/configuration-review.js.map +1 -1
  491. package/dist/views/tui/configuration-wizard-presentation.d.ts.map +1 -1
  492. package/dist/views/tui/configuration-wizard-presentation.js +9 -5
  493. package/dist/views/tui/configuration-wizard-presentation.js.map +1 -1
  494. package/dist/views/tui/configuration-wizard.d.ts.map +1 -1
  495. package/dist/views/tui/configuration-wizard.js +4 -4
  496. package/dist/views/tui/configuration-wizard.js.map +1 -1
  497. package/dist/views/tui/connection-metadata-editor-actions.js +1 -1
  498. package/dist/views/tui/connection-metadata-editor-actions.js.map +1 -1
  499. package/dist/views/tui/connection-metadata-editor-rendering.js +3 -3
  500. package/dist/views/tui/connection-metadata-editor-rendering.js.map +1 -1
  501. package/dist/views/tui/connection-metadata-editor.d.ts.map +1 -1
  502. package/dist/views/tui/connection-metadata-editor.js +9 -1
  503. package/dist/views/tui/connection-metadata-editor.js.map +1 -1
  504. package/dist/views/tui/connection-overlay-workflow.d.ts.map +1 -1
  505. package/dist/views/tui/connection-overlay-workflow.js +1 -1
  506. package/dist/views/tui/connection-overlay-workflow.js.map +1 -1
  507. package/dist/views/tui/connection-setup.js +2 -2
  508. package/dist/views/tui/connection-setup.js.map +1 -1
  509. package/dist/views/tui/conversation-dialogs.d.ts.map +1 -1
  510. package/dist/views/tui/conversation-dialogs.js +5 -2
  511. package/dist/views/tui/conversation-dialogs.js.map +1 -1
  512. package/dist/views/tui/conversation-overlay-actions.js +4 -4
  513. package/dist/views/tui/conversation-overlay-actions.js.map +1 -1
  514. package/dist/views/tui/conversation-overlays.d.ts.map +1 -1
  515. package/dist/views/tui/conversation-overlays.js +2 -2
  516. package/dist/views/tui/conversation-overlays.js.map +1 -1
  517. package/dist/views/tui/entity-browser-layout.d.ts +12 -0
  518. package/dist/views/tui/entity-browser-layout.d.ts.map +1 -0
  519. package/dist/views/tui/entity-browser-layout.js +63 -0
  520. package/dist/views/tui/entity-browser-layout.js.map +1 -0
  521. package/dist/views/tui/entity-browser.d.ts.map +1 -1
  522. package/dist/views/tui/entity-browser.js +28 -35
  523. package/dist/views/tui/entity-browser.js.map +1 -1
  524. package/dist/views/tui/execution-target.d.ts +4 -1
  525. package/dist/views/tui/execution-target.d.ts.map +1 -1
  526. package/dist/views/tui/execution-target.js +18 -2
  527. package/dist/views/tui/execution-target.js.map +1 -1
  528. package/dist/views/tui/interaction-presentation.d.ts.map +1 -1
  529. package/dist/views/tui/interaction-presentation.js +4 -9
  530. package/dist/views/tui/interaction-presentation.js.map +1 -1
  531. package/dist/views/tui/interaction.d.ts.map +1 -1
  532. package/dist/views/tui/interaction.js +1 -3
  533. package/dist/views/tui/interaction.js.map +1 -1
  534. package/dist/views/tui/modal-coordinator.d.ts +1 -0
  535. package/dist/views/tui/modal-coordinator.d.ts.map +1 -1
  536. package/dist/views/tui/modal-coordinator.js +15 -2
  537. package/dist/views/tui/modal-coordinator.js.map +1 -1
  538. package/dist/views/tui/profile-editor-rendering.d.ts.map +1 -1
  539. package/dist/views/tui/profile-editor-rendering.js +2 -2
  540. package/dist/views/tui/profile-editor-rendering.js.map +1 -1
  541. package/dist/views/tui/profile-editor.d.ts +2 -0
  542. package/dist/views/tui/profile-editor.d.ts.map +1 -1
  543. package/dist/views/tui/profile-editor.js +32 -6
  544. package/dist/views/tui/profile-editor.js.map +1 -1
  545. package/dist/views/tui/secret-input.d.ts.map +1 -1
  546. package/dist/views/tui/secret-input.js.map +1 -1
  547. package/dist/views/tui/selector.js +2 -2
  548. package/dist/views/tui/selector.js.map +1 -1
  549. package/dist/views/tui/terminal-app.d.ts +6 -0
  550. package/dist/views/tui/terminal-app.d.ts.map +1 -1
  551. package/dist/views/tui/terminal-app.js +44 -2
  552. package/dist/views/tui/terminal-app.js.map +1 -1
  553. package/dist/views/tui/terminal-chrome.d.ts +1 -1
  554. package/dist/views/tui/terminal-chrome.d.ts.map +1 -1
  555. package/dist/views/tui/terminal-chrome.js +126 -49
  556. package/dist/views/tui/terminal-chrome.js.map +1 -1
  557. package/dist/views/tui/terminal-command-controller.d.ts +3 -1
  558. package/dist/views/tui/terminal-command-controller.d.ts.map +1 -1
  559. package/dist/views/tui/terminal-command-controller.js +39 -0
  560. package/dist/views/tui/terminal-command-controller.js.map +1 -1
  561. package/dist/views/tui/terminal-identity.d.ts +7 -1
  562. package/dist/views/tui/terminal-identity.d.ts.map +1 -1
  563. package/dist/views/tui/terminal-identity.js +92 -16
  564. package/dist/views/tui/terminal-identity.js.map +1 -1
  565. package/dist/views/tui/terminal-input-controller.d.ts +0 -4
  566. package/dist/views/tui/terminal-input-controller.d.ts.map +1 -1
  567. package/dist/views/tui/terminal-input-controller.js +6 -12
  568. package/dist/views/tui/terminal-input-controller.js.map +1 -1
  569. package/dist/views/tui/terminal-interaction-controller.d.ts.map +1 -1
  570. package/dist/views/tui/terminal-interaction-controller.js +1 -0
  571. package/dist/views/tui/terminal-interaction-controller.js.map +1 -1
  572. package/dist/views/tui/terminal-overlays.d.ts +1 -0
  573. package/dist/views/tui/terminal-overlays.d.ts.map +1 -1
  574. package/dist/views/tui/terminal-overlays.js +24 -3
  575. package/dist/views/tui/terminal-overlays.js.map +1 -1
  576. package/dist/views/tui/terminal-shell.d.ts +0 -1
  577. package/dist/views/tui/terminal-shell.d.ts.map +1 -1
  578. package/dist/views/tui/terminal-shell.js +9 -39
  579. package/dist/views/tui/terminal-shell.js.map +1 -1
  580. package/dist/views/tui/terminal-surface-overlays.js +1 -1
  581. package/dist/views/tui/terminal-surface-overlays.js.map +1 -1
  582. package/dist/views/tui/terminal-usage.d.ts +2 -0
  583. package/dist/views/tui/terminal-usage.d.ts.map +1 -1
  584. package/dist/views/tui/terminal-usage.js +20 -1
  585. package/dist/views/tui/terminal-usage.js.map +1 -1
  586. package/dist/views/tui/transcript.d.ts.map +1 -1
  587. package/dist/views/tui/transcript.js +7 -2
  588. package/dist/views/tui/transcript.js.map +1 -1
  589. package/package.json +9 -8
  590. package/dist/adapters/runtime/sandbox-result-projection.d.ts +0 -10
  591. package/dist/adapters/runtime/sandbox-result-projection.d.ts.map +0 -1
  592. package/dist/adapters/runtime/sandbox-result-projection.js +0 -205
  593. package/dist/adapters/runtime/sandbox-result-projection.js.map +0 -1
@@ -1,40 +1,55 @@
1
- import { AgentExactRunControlRefSchema, } from '@tangle-network/agent-interface';
2
- import { reconnectRetainedRun, startRetainedRun, } from '@tangle-network/agent-runtime/kernel';
1
+ import { reconnectRetainedRun, recoverRetainedRun, startRetainedRun, } from '@tangle-network/agent-runtime/kernel';
2
+ import { canonicalDigest } from '../../domain/canonical.js';
3
3
  import { publicMaterializationReceipt } from '../../domain/materialization-receipt.js';
4
- import { safeExecutionId } from './production-backend-common.js';
4
+ import { safeExecutionId, stableProviderId } from './production-backend-common.js';
5
5
  import { finalRetainedEnvelope, isTerminalRetainedStatus, modelRequestsFromResult, retainedCapabilities, retainedStatus, retainedTurnUsage, } from './retained-execution-projection.js';
6
- const MAX_STATUS_BYTES = 64 * 1024;
7
- export async function createCliBridgeRetainedPlan(prepared, runId, controlRef) {
8
- const { createCliBridgeProvider } = await import('@tangle-network/agent-provider-cli-bridge');
9
- const provider = createCliBridgeProvider({
10
- baseUrl: prepared.bridgeUrl,
11
- bearerToken: prepared.bearerToken,
12
- defaultModel: prepared.route,
13
- ...(prepared.fetch === undefined ? {} : { fetch: prepared.fetch }),
14
- });
15
- const environmentId = controlRef?.environmentId ?? retainedEnvironmentId(runId);
16
- const executionId = controlRef?.executionId ?? safeExecutionId(runId);
6
+ export async function createCliBridgeRetainedPlan(prepared, runId, controlRef, recovery) {
7
+ const provider = prepared.provider;
8
+ const admission = headlessRetainedAdmission(recovery?.retainedAdmission);
9
+ if (admission !== undefined && admissionProvider(admission) !== provider.name) {
10
+ throw new Error('retained CLI Bridge admission belongs to another provider');
11
+ }
12
+ const persistedControlRef = admission?.phase === 'dispatched' ? admission.controlRef : undefined;
13
+ if (controlRef !== undefined &&
14
+ persistedControlRef !== undefined &&
15
+ canonicalDigest(controlRef) !== canonicalDigest(persistedControlRef)) {
16
+ throw new Error('retained CLI Bridge control reference conflicts with the persisted run');
17
+ }
18
+ const exactControlRef = controlRef ?? persistedControlRef;
19
+ const environmentId = exactControlRef?.environmentId ??
20
+ (admission?.phase === 'environment' ? admission.environmentId : undefined);
21
+ const executionId = exactControlRef?.executionId ??
22
+ (admission?.phase === 'intent' || admission?.phase === 'environment'
23
+ ? admission.executionId
24
+ : safeExecutionId(runId));
25
+ const providerSessionId = exactControlRef?.sessionId ??
26
+ (admission?.phase === 'intent' || admission?.phase === 'environment'
27
+ ? admission.sessionId
28
+ : prepared.providerSessionId);
29
+ const environmentIdempotencyKey = admission?.idempotencyKey ?? retainedEnvironmentIdempotencyKey(providerSessionId);
17
30
  const providerName = provider.name;
18
- const capabilities = retainedCapabilities(prepared.capabilities);
31
+ const capabilities = retainedCapabilities(await provider.capabilities());
19
32
  const materializationReceipt = publicMaterializationReceipt({
20
33
  ...prepared.materializationReceipt,
21
34
  backend: 'environment-provider',
22
- environmentId,
23
- providerRunId: controlRef?.runId ?? executionId,
35
+ ...(environmentId === undefined ? {} : { environmentId }),
36
+ providerRunId: exactControlRef?.runId ?? executionId,
24
37
  retainedControl: 'exact-after-dispatch',
25
38
  });
26
39
  const plan = {
27
40
  prepared,
28
41
  provider,
29
- environmentId,
42
+ ...(environmentId === undefined ? {} : { environmentId }),
43
+ environmentIdempotencyKey,
30
44
  executionId,
31
45
  providerName,
32
- providerSessionId: controlRef?.sessionId ?? prepared.providerSessionId,
46
+ providerSessionId,
33
47
  model: prepared.route,
34
48
  capabilities,
35
49
  materializationReceipt,
36
50
  start: (input) => startCliBridgeRetainedRun(plan, input),
37
51
  reconnect: (controlRef) => reconnectCliBridgeRetainedRun(plan, controlRef),
52
+ recover: (input) => recoverCliBridgeRetainedRun(plan, input),
38
53
  discover: (braidRunId, signal) => discoverCliBridgeControlRef(plan, braidRunId, signal),
39
54
  observe: () => prepared.observation.snapshot(),
40
55
  projectStatus: ({ status, detached }) => retainedStatus(status, detached),
@@ -58,11 +73,12 @@ export async function startCliBridgeRetainedRun(plan, input) {
58
73
  profile: plan.prepared.profile,
59
74
  backend: plan.prepared.runner,
60
75
  workspace: { cwd: plan.prepared.workspace },
61
- idempotencyKey: plan.environmentId,
76
+ idempotencyKey: plan.environmentIdempotencyKey,
62
77
  },
63
78
  turn: {
64
79
  prompt: input.text,
65
80
  turnId: safeExecutionId(input.operationId),
81
+ interactions: input.interactions ?? {},
66
82
  signal: input.signal,
67
83
  },
68
84
  identity: {
@@ -75,70 +91,73 @@ export async function startCliBridgeRetainedRun(plan, input) {
75
91
  export async function reconnectCliBridgeRetainedRun(plan, controlRef) {
76
92
  return reconnectRetainedRun({ provider: plan.provider, controlRef });
77
93
  }
94
+ async function recoverCliBridgeRetainedRun(plan, input) {
95
+ const admission = headlessRetainedAdmission(input.admission);
96
+ if (admission === undefined)
97
+ return null;
98
+ if (admission.phase === 'intent') {
99
+ if (input.receipt === undefined || input.onRetainedAdmission === undefined)
100
+ return null;
101
+ const result = await recoverRetainedRun({
102
+ provider: plan.provider,
103
+ admission,
104
+ replay: {
105
+ environment: {
106
+ profile: plan.prepared.profile,
107
+ backend: plan.prepared.runner,
108
+ workspace: { cwd: plan.prepared.workspace },
109
+ idempotencyKey: admission.idempotencyKey,
110
+ },
111
+ turn: {
112
+ prompt: input.receipt.requested.text,
113
+ turnId: admission.turnId,
114
+ interactions: input.receipt.requested.interactions ?? {},
115
+ ...(input.signal === undefined ? {} : { signal: input.signal }),
116
+ },
117
+ identity: {
118
+ sessionId: admission.sessionId,
119
+ executionId: admission.executionId,
120
+ },
121
+ },
122
+ onAdmission: input.onRetainedAdmission,
123
+ });
124
+ return result.outcome === 'recovered' ? result.handle : null;
125
+ }
126
+ if (admission.phase !== 'environment')
127
+ return null;
128
+ const result = await recoverRetainedRun({
129
+ provider: plan.provider,
130
+ environmentId: admission.environmentId,
131
+ sessionId: admission.sessionId,
132
+ executionId: admission.executionId,
133
+ });
134
+ return result.outcome === 'recovered' ? result.handle : null;
135
+ }
78
136
  /** Recover the exact server-issued digest after a client crashed during dispatch. */
79
137
  export async function discoverCliBridgeControlRef(plan, _braidRunId, signal) {
80
- const providerRunId = plan.executionId;
81
- const response = await (plan.prepared.fetch ?? globalThis.fetch)(`${plan.prepared.bridgeUrl}/v1/runs/${encodeURIComponent(providerRunId)}`, {
82
- method: 'GET',
83
- headers: { authorization: `Bearer ${plan.prepared.bearerToken}` },
84
- ...(signal === undefined ? {} : { signal }),
85
- });
86
- if (response.status === 404)
138
+ if (plan.environmentId === undefined || plan.providerSessionId === undefined)
87
139
  return null;
88
- if (!response.ok) {
89
- throw new Error(`cli-bridge run discovery returned HTTP ${response.status}`);
90
- }
91
- const body = await boundedResponseText(response);
92
- let value;
93
- try {
94
- value = JSON.parse(body);
95
- }
96
- catch {
97
- throw new Error('cli-bridge run discovery returned invalid JSON');
98
- }
99
- if (value === null || typeof value !== 'object' || Array.isArray(value)) {
100
- throw new Error('cli-bridge run discovery returned an invalid run snapshot');
101
- }
102
- const snapshot = value;
103
- if (snapshot.id !== providerRunId) {
104
- throw new Error('cli-bridge run discovery returned another run identity');
105
- }
106
- return AgentExactRunControlRefSchema.parse({
107
- runId: snapshot.id,
108
- provider: plan.provider.name,
140
+ return plan.provider.lookupRun({
141
+ runId: plan.executionId,
109
142
  environmentId: plan.environmentId,
110
143
  sessionId: plan.providerSessionId,
111
144
  executionId: plan.executionId,
112
- requestDigest: snapshot.requestDigest,
145
+ ...(signal === undefined ? {} : { signal }),
113
146
  });
114
147
  }
115
- export function retainedEnvironmentId(runId) {
116
- return `environment-braid-${safeExecutionId(runId)}`;
148
+ /** One provider session keeps one Bridge environment across every retained turn. */
149
+ function retainedEnvironmentIdempotencyKey(providerSessionId) {
150
+ return stableProviderId('environment-braid-', providerSessionId);
117
151
  }
118
- async function boundedResponseText(response) {
119
- if (response.body === null)
120
- return '';
121
- const reader = response.body.getReader();
122
- const decoder = new TextDecoder();
123
- const chunks = [];
124
- let byteLength = 0;
125
- try {
126
- while (true) {
127
- const next = await reader.read();
128
- if (next.done)
129
- break;
130
- byteLength += next.value.byteLength;
131
- if (byteLength > MAX_STATUS_BYTES) {
132
- await reader.cancel('CLI Bridge run discovery response exceeded 64 KiB');
133
- throw new Error('cli-bridge run discovery response exceeded 64 KiB');
134
- }
135
- chunks.push(decoder.decode(next.value, { stream: true }));
136
- }
137
- chunks.push(decoder.decode());
138
- return chunks.join('');
139
- }
140
- finally {
141
- reader.releaseLock();
152
+ function headlessRetainedAdmission(admission) {
153
+ if (admission?.phase !== 'intent' &&
154
+ admission?.phase !== 'environment' &&
155
+ admission?.phase !== 'dispatched') {
156
+ return undefined;
142
157
  }
158
+ return admission;
159
+ }
160
+ function admissionProvider(admission) {
161
+ return admission.phase === 'dispatched' ? admission.controlRef.provider : admission.provider;
143
162
  }
144
163
  //# sourceMappingURL=cli-bridge-retained-run.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-bridge-retained-run.js","sourceRoot":"","sources":["../../../src/adapters/runtime/cli-bridge-retained-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-bridge-retained-run.js","sourceRoot":"","sources":["../../../src/adapters/runtime/cli-bridge-retained-run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { InteractionResponseCommand } from '@tangle-network/agent-interface';
2
+ import type { ExecuteTurnInput, ExecutionPort, NormalizedExecutionEvent, RetainedExecutionRecoveryContext } from '../../ports/execution.js';
3
+ type StatusInput = Parameters<NonNullable<ExecutionPort['status']>>[0];
4
+ type ReconnectInput = Parameters<NonNullable<ExecutionPort['reconnect']>>[0];
5
+ type ReconnectEvent = Awaited<ReturnType<NonNullable<ExecutionPort['reconnect']>>> extends AsyncIterable<infer Event> ? Event : never;
6
+ type CancelInput = Parameters<NonNullable<ExecutionPort['cancelRun']>>[0];
7
+ type DetachInput = Parameters<NonNullable<ExecutionPort['detachRun']>>[0];
8
+ type SteerInput = Parameters<NonNullable<ExecutionPort['steerRun']>>[0];
9
+ type NativeBoundaryInput = Parameters<NonNullable<ExecutionPort['nativeBoundary']>>[0];
10
+ export interface ModeRoutingExecutionOptions {
11
+ readonly headless: ExecutionPort;
12
+ readonly interactive: ExecutionPort;
13
+ /** Supplies durable mode state after Braid has restarted. */
14
+ readonly isInteractiveRun?: (runId: string) => boolean;
15
+ }
16
+ /** Routes one run by its explicit mode or canonical retained admission. */
17
+ export declare class ModeRoutingExecutionPort implements ExecutionPort {
18
+ #private;
19
+ readonly admissionMode: 'sync' | 'async';
20
+ readonly capabilities: NonNullable<ExecutionPort['capabilities']>;
21
+ readonly environmentCapabilities?: NonNullable<ExecutionPort['environmentCapabilities']>;
22
+ constructor(options: ModeRoutingExecutionOptions);
23
+ admit(input: ExecuteTurnInput): Promise<import("../../ports/execution.js").ExecutionAdmission>;
24
+ streamTurn(input: ExecuteTurnInput): AsyncIterable<NormalizedExecutionEvent>;
25
+ cancelRun(input: CancelInput): Promise<import("../../ports/execution.js").ControlAcknowledgement | import("../../ports/execution.js").CancelRunResult>;
26
+ detachRun(input: DetachInput): Promise<import("../../ports/execution.js").ControlAcknowledgement>;
27
+ steerRun(input: SteerInput): Promise<import("../../ports/execution.js").ControlAcknowledgement>;
28
+ status(input: StatusInput): Promise<import("../../ports/execution.js").ProviderRunSnapshot | null>;
29
+ respondInteraction(input: {
30
+ readonly command: InteractionResponseCommand;
31
+ readonly signal?: AbortSignal;
32
+ readonly recovery?: RetainedExecutionRecoveryContext;
33
+ }): Promise<import("../../ports/execution.js").ControlAcknowledgement>;
34
+ reconnect(input: ReconnectInput): AsyncIterable<ReconnectEvent>;
35
+ nativeBoundary(input: NativeBoundaryInput): Promise<{
36
+ readonly boundary: string;
37
+ readonly digest: string;
38
+ readonly revision?: string;
39
+ } | null>;
40
+ }
41
+ export {};
42
+ //# sourceMappingURL=mode-routing-execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode-routing-execution.d.ts","sourceRoot":"","sources":["../../../src/adapters/runtime/mode-routing-execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AACjF,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,wBAAwB,EACxB,gCAAgC,EAEjC,MAAM,0BAA0B,CAAA;AAGjC,KAAK,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACtE,KAAK,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5E,KAAK,cAAc,GACjB,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,KAAK,CAAC,GAC3F,KAAK,GACL,KAAK,CAAA;AACX,KAAK,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACzE,KAAK,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACzE,KAAK,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACvE,KAAK,mBAAmB,GAAG,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAEtF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAA;IACnC,6DAA6D;IAC7D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;CACvD;AAED,2EAA2E;AAC3E,qBAAa,wBAAyB,YAAW,aAAa;;IAK5D,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAA;IACxC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,uBAAuB,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAA;IAExF,YAAY,OAAO,EAAE,2BAA2B,EAY/C;IAEK,KAAK,CAAC,KAAK,EAAE,gBAAgB,kEAQlC;IAEM,UAAU,CAAC,KAAK,EAAE,gBAAgB,GAAG,aAAa,CAAC,wBAAwB,CAAC,CAGlF;IAEK,SAAS,CAAC,KAAK,EAAE,WAAW,2HAMjC;IAEK,SAAS,CAAC,KAAK,EAAE,WAAW,sEAMjC;IAEK,QAAQ,CAAC,KAAK,EAAE,UAAU,sEAM/B;IAEK,MAAM,CAAC,KAAK,EAAE,WAAW,0EAM9B;IAEK,kBAAkB,CAAC,KAAK,EAAE;QAC9B,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAA;QAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;QAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,gCAAgC,CAAA;KACrD,sEAYA;IAEM,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC,CAMrE;IAEK,cAAc,CAAC,KAAK,EAAE,mBAAmB;;;;cAI9C;CA8DF"}
@@ -0,0 +1,161 @@
1
+ import { UNKNOWN_RUN_CAPABILITIES } from '../../ports/execution.js';
2
+ /** Routes one run by its explicit mode or canonical retained admission. */
3
+ export class ModeRoutingExecutionPort {
4
+ #headless;
5
+ #interactive;
6
+ #isInteractiveRun;
7
+ #interactiveRuns = new Set();
8
+ admissionMode;
9
+ capabilities;
10
+ environmentCapabilities;
11
+ constructor(options) {
12
+ this.#headless = options.headless;
13
+ this.#interactive = options.interactive;
14
+ this.#isInteractiveRun = options.isInteractiveRun ?? (() => false);
15
+ this.admissionMode =
16
+ options.headless.admissionMode === 'async' || options.interactive.admissionMode === 'async'
17
+ ? 'async'
18
+ : 'sync';
19
+ this.capabilities = this.#capabilities();
20
+ if (options.headless.environmentCapabilities !== undefined) {
21
+ this.environmentCapabilities = options.headless.environmentCapabilities.bind(options.headless);
22
+ }
23
+ }
24
+ async admit(input) {
25
+ const port = this.#portForInput(input);
26
+ if (port.admit === undefined) {
27
+ throw new Error('The selected execution port does not support admission');
28
+ }
29
+ const admission = await port.admit(input);
30
+ if (this.#isInteractivePort(port))
31
+ this.#interactiveRuns.add(input.runId);
32
+ return admission;
33
+ }
34
+ async *streamTurn(input) {
35
+ const port = this.#portForInput(input);
36
+ yield* port.streamTurn(input);
37
+ }
38
+ async cancelRun(input) {
39
+ const port = this.#portForInput(input);
40
+ if (port.cancelRun === undefined) {
41
+ throw new Error('The selected execution port does not support cancellation');
42
+ }
43
+ return port.cancelRun(input);
44
+ }
45
+ async detachRun(input) {
46
+ const port = this.#portForInput(input);
47
+ if (port.detachRun === undefined) {
48
+ throw new Error('The selected execution port does not support detachment');
49
+ }
50
+ return port.detachRun(input);
51
+ }
52
+ async steerRun(input) {
53
+ const port = this.#portForRun(input.runId);
54
+ if (port.steerRun === undefined) {
55
+ throw new Error('The selected execution port does not support steering');
56
+ }
57
+ return port.steerRun(input);
58
+ }
59
+ async status(input) {
60
+ const port = this.#portForRecovery(input);
61
+ if (port.status === undefined) {
62
+ throw new Error('The selected execution port does not support status');
63
+ }
64
+ return port.status(input);
65
+ }
66
+ async respondInteraction(input) {
67
+ const port = this.#portForInput({
68
+ runId: input.command.binding.runId,
69
+ ...(input.recovery?.retainedAdmission === undefined
70
+ ? {}
71
+ : { retainedAdmission: input.recovery.retainedAdmission }),
72
+ ...(input.recovery?.receipt === undefined ? {} : { receipt: input.recovery.receipt }),
73
+ });
74
+ if (port.respondInteraction === undefined) {
75
+ throw new Error('The selected execution port does not support interaction responses');
76
+ }
77
+ return port.respondInteraction(input);
78
+ }
79
+ async *reconnect(input) {
80
+ const port = this.#portForRecovery(input);
81
+ if (port.reconnect === undefined) {
82
+ throw new Error('The selected execution port does not support reconnection');
83
+ }
84
+ yield* port.reconnect(input);
85
+ }
86
+ async nativeBoundary(input) {
87
+ const port = this.#portForRun(input.runId);
88
+ if (port.nativeBoundary === undefined)
89
+ return null;
90
+ return port.nativeBoundary(input);
91
+ }
92
+ #capabilities() {
93
+ return ((input) => {
94
+ const selected = this.#portForInput(input).capabilities;
95
+ if (selected === undefined)
96
+ return UNKNOWN_RUN_CAPABILITIES;
97
+ if (typeof selected === 'function')
98
+ return selected(input);
99
+ return legacyCapabilities(selected);
100
+ });
101
+ }
102
+ #portForRecovery(input) {
103
+ const port = this.#portForInput(input);
104
+ if (this.#isInteractivePort(port))
105
+ this.#interactiveRuns.add(input.runId);
106
+ return port;
107
+ }
108
+ #portForRun(runId, _controlRef) {
109
+ const known = this.#interactiveRuns.has(runId) || this.#isInteractiveRun(runId);
110
+ if (known) {
111
+ this.#interactiveRuns.add(runId);
112
+ return this.#interactive;
113
+ }
114
+ return this.#headless;
115
+ }
116
+ #portForInput(input) {
117
+ const admissionMode = retainedAdmissionMode(input.retainedAdmission);
118
+ const receiptMode = input.receipt?.requested?.mode;
119
+ if (input.mode === 'interactive' && admissionMode === 'headless') {
120
+ throw new Error('Interactive mode conflicts with a headless retained admission');
121
+ }
122
+ if (input.mode !== undefined &&
123
+ input.mode !== 'interactive' &&
124
+ admissionMode === 'interactive') {
125
+ throw new Error('Headless mode conflicts with an interactive retained admission');
126
+ }
127
+ if (input.mode === 'interactive' ||
128
+ admissionMode === 'interactive' ||
129
+ receiptMode === 'interactive') {
130
+ this.#interactiveRuns.add(input.runId);
131
+ return this.#interactive;
132
+ }
133
+ if (this.#interactiveRuns.has(input.runId) || this.#isInteractiveRun(input.runId)) {
134
+ this.#interactiveRuns.add(input.runId);
135
+ return this.#interactive;
136
+ }
137
+ return this.#headless;
138
+ }
139
+ #isInteractivePort(port) {
140
+ return port === this.#interactive;
141
+ }
142
+ }
143
+ function legacyCapabilities(capabilities) {
144
+ return {
145
+ ...UNKNOWN_RUN_CAPABILITIES,
146
+ controls: { ...UNKNOWN_RUN_CAPABILITIES.controls, cancel: capabilities.cancel },
147
+ };
148
+ }
149
+ function retainedAdmissionMode(value) {
150
+ if (value === null || typeof value !== 'object' || Array.isArray(value))
151
+ return undefined;
152
+ const phase = value.phase;
153
+ if (typeof phase !== 'string')
154
+ return undefined;
155
+ if (phase.startsWith('interactive_'))
156
+ return 'interactive';
157
+ if (phase === 'intent' || phase === 'environment' || phase === 'dispatched')
158
+ return 'headless';
159
+ return undefined;
160
+ }
161
+ //# sourceMappingURL=mode-routing-execution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode-routing-execution.js","sourceRoot":"","sources":["../../../src/adapters/runtime/mode-routing-execution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { RetainedInteractiveRunHandle } from '@tangle-network/agent-runtime/kernel';
2
+ import type { NativeInteractiveExecutionControl, NativeInteractiveRunOutcome } from '../../ports/native-interactive-execution.js';
3
+ export type NativeInteractiveRunSettlement = 'settled' | 'absent' | 'already-settled';
4
+ export interface NativeInteractiveRunLease {
5
+ publish(handle: RetainedInteractiveRunHandle): void;
6
+ outcome(options?: {
7
+ readonly signal?: AbortSignal;
8
+ }): Promise<NativeInteractiveRunOutcome>;
9
+ fail(error: unknown): void;
10
+ close(): void;
11
+ }
12
+ /** One in-memory rendezvous only; Runtime and Braid's journal remain the durable owners. */
13
+ export declare class NativeInteractiveRunBroker implements NativeInteractiveExecutionControl {
14
+ #private;
15
+ open(runId: string): NativeInteractiveRunLease;
16
+ waitForHandle(runId: string, options?: {
17
+ readonly signal?: AbortSignal;
18
+ }): Promise<RetainedInteractiveRunHandle>;
19
+ settle(runId: string, outcome: NativeInteractiveRunOutcome): NativeInteractiveRunSettlement;
20
+ }
21
+ //# sourceMappingURL=native-interactive-run-broker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-interactive-run-broker.d.ts","sourceRoot":"","sources":["../../../src/adapters/runtime/native-interactive-run-broker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AACxF,OAAO,KAAK,EACV,iCAAiC,EACjC,2BAA2B,EAC5B,MAAM,6CAA6C,CAAA;AAepD,MAAM,MAAM,8BAA8B,GAAG,SAAS,GAAG,QAAQ,GAAG,iBAAiB,CAAA;AAErF,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,MAAM,EAAE,4BAA4B,GAAG,IAAI,CAAA;IACnD,OAAO,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAC1F,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,KAAK,IAAI,IAAI,CAAA;CACd;AAED,4FAA4F;AAC5F,qBAAa,0BAA2B,YAAW,iCAAiC;;IAGlF,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,yBAAyB,CAwB7C;IAED,aAAa,CACX,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC1C,OAAO,CAAC,4BAA4B,CAAC,CAEvC;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,GAAG,8BAA8B,CAM1F;CAcF"}
@@ -0,0 +1,97 @@
1
+ /** One in-memory rendezvous only; Runtime and Braid's journal remain the durable owners. */
2
+ export class NativeInteractiveRunBroker {
3
+ #entries = new Map();
4
+ open(runId) {
5
+ const entry = this.#entry(runId);
6
+ if (entry.opened)
7
+ throw new Error(`Interactive run ${runId} already has an active execution`);
8
+ entry.opened = true;
9
+ let closed = false;
10
+ return Object.freeze({
11
+ publish: (handle) => {
12
+ if (closed)
13
+ throw new Error(`Interactive run ${runId} execution is closed`);
14
+ entry.handle.resolve(handle);
15
+ },
16
+ outcome: (options) => abortable(entry.outcome.promise, options?.signal),
17
+ fail: (error) => {
18
+ entry.handle.reject(asError(error));
19
+ entry.outcome.reject(asError(error));
20
+ },
21
+ close: () => {
22
+ if (closed)
23
+ return;
24
+ closed = true;
25
+ entry.handle.reject(new Error(`Interactive run ${runId} ended before terminal attach`));
26
+ entry.outcome.reject(new Error(`Interactive run ${runId} ended without a terminal outcome`));
27
+ if (this.#entries.get(runId) === entry)
28
+ this.#entries.delete(runId);
29
+ },
30
+ });
31
+ }
32
+ waitForHandle(runId, options) {
33
+ return abortable(this.#entry(runId).handle.promise, options?.signal);
34
+ }
35
+ settle(runId, outcome) {
36
+ const entry = this.#entries.get(runId);
37
+ if (entry === undefined || !entry.opened)
38
+ return 'absent';
39
+ if (entry.outcome.settled)
40
+ return 'already-settled';
41
+ entry.outcome.resolve(structuredClone(outcome));
42
+ return 'settled';
43
+ }
44
+ #entry(runId) {
45
+ if (runId.trim().length === 0)
46
+ throw new Error('Interactive run id must not be empty');
47
+ const current = this.#entries.get(runId);
48
+ if (current !== undefined)
49
+ return current;
50
+ const entry = {
51
+ handle: deferred(),
52
+ outcome: deferred(),
53
+ opened: false,
54
+ };
55
+ this.#entries.set(runId, entry);
56
+ return entry;
57
+ }
58
+ }
59
+ function deferred() {
60
+ let resolvePromise = () => { };
61
+ let rejectPromise = () => { };
62
+ const value = {
63
+ promise: new Promise((resolve, reject) => {
64
+ resolvePromise = resolve;
65
+ rejectPromise = reject;
66
+ }),
67
+ resolve: (next) => {
68
+ if (value.settled)
69
+ return;
70
+ value.settled = true;
71
+ resolvePromise(next);
72
+ },
73
+ reject: (error) => {
74
+ if (value.settled)
75
+ return;
76
+ value.settled = true;
77
+ rejectPromise(error);
78
+ },
79
+ settled: false,
80
+ };
81
+ void value.promise.catch(() => undefined);
82
+ return value;
83
+ }
84
+ function asError(error) {
85
+ return error instanceof Error ? error : new Error(String(error));
86
+ }
87
+ async function abortable(promise, signal) {
88
+ signal?.throwIfAborted();
89
+ if (signal === undefined)
90
+ return promise;
91
+ return new Promise((resolve, reject) => {
92
+ const abort = () => reject(signal.reason);
93
+ signal.addEventListener('abort', abort, { once: true });
94
+ void promise.then(resolve, reject).finally(() => signal.removeEventListener('abort', abort));
95
+ });
96
+ }
97
+ //# sourceMappingURL=native-interactive-run-broker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-interactive-run-broker.js","sourceRoot":"","sources":["../../../src/adapters/runtime/native-interactive-run-broker.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ export declare function requiredProfileModel(profile: Readonly<AgentProfile>, co
22
22
  export declare function requiredProfileRunner(profile: Readonly<AgentProfile>, connectionId: ConnectionId): HarnessType;
23
23
  export declare function requiredWorkspaceCwd(inputRoot: string | undefined, configuredRoot: string | undefined): string;
24
24
  export declare function safeExecutionId(value: string): string;
25
+ /** Build a readable provider key without collisions or overlong truncation. */
26
+ export declare function stableProviderId(prefix: string, value: string): string;
25
27
  export declare function freezeExecution<T>(value: T): T;
26
28
  export declare function connectionRecord(connectionId: ConnectionId, options: ProductionBackendResolverOptions): ConnectionRecord;
27
29
  //# sourceMappingURL=production-backend-common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"production-backend-common.d.ts","sourceRoot":"","sources":["../../../src/adapters/runtime/production-backend-common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAEhF,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAA;AAEhG,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAA;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAC9B;AAED,MAAM,MAAM,2BAA2B,GAAG,CACxC,KAAK,EAAE,gBAAgB,KACpB,4BAA4B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAA;AAEzE,MAAM,WAAW,gCAAiC,SAAQ,2BAA2B;IACnF,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAA;IAC5C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC9B,SAAS,EAAE,4BAA4B,EACvC,YAAY,EAAE,YAAY,EAC1B,OAAO,GAAE;IAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,OAAO,CAAC,YAAY,CAAC,CA4BvB;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC/B,YAAY,EAAE,YAAY,GACzB,MAAM,CAUR;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC/B,YAAY,EAAE,YAAY,GACzB,WAAW,CASb;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,MAAM,CASR;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAM9C;AAED,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,gCAAgC,GACxC,gBAAgB,CAQlB"}
1
+ {"version":3,"file":"production-backend-common.d.ts","sourceRoot":"","sources":["../../../src/adapters/runtime/production-backend-common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAEhF,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAE3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAA;AAEhG,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAA;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAC9B;AAED,MAAM,MAAM,2BAA2B,GAAG,CACxC,KAAK,EAAE,gBAAgB,KACpB,4BAA4B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAA;AAEzE,MAAM,WAAW,gCAAiC,SAAQ,2BAA2B;IACnF,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAA;IAC5C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC9B,SAAS,EAAE,4BAA4B,EACvC,YAAY,EAAE,YAAY,EAC1B,OAAO,GAAE;IAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,OAAO,CAAC,YAAY,CAAC,CA4BvB;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC/B,YAAY,EAAE,YAAY,GACzB,MAAM,CAUR;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC/B,YAAY,EAAE,YAAY,GACzB,WAAW,CASb;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,MAAM,CASR;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAKtE;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAM9C;AAED,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,gCAAgC,GACxC,gBAAgB,CAQlB"}