botmux 3.10.0 → 3.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (539) hide show
  1. package/dist/.runtime-build-id +1 -1
  2. package/dist/adapters/backend/herdr-backend.d.ts +4 -3
  3. package/dist/adapters/backend/herdr-backend.d.ts.map +1 -1
  4. package/dist/adapters/backend/herdr-backend.js +11 -8
  5. package/dist/adapters/backend/herdr-backend.js.map +1 -1
  6. package/dist/adapters/backend/pty-backend.d.ts +1 -1
  7. package/dist/adapters/backend/pty-backend.d.ts.map +1 -1
  8. package/dist/adapters/backend/pty-backend.js +4 -1
  9. package/dist/adapters/backend/pty-backend.js.map +1 -1
  10. package/dist/adapters/backend/riff-backend.d.ts +29 -5
  11. package/dist/adapters/backend/riff-backend.d.ts.map +1 -1
  12. package/dist/adapters/backend/riff-backend.js +302 -31
  13. package/dist/adapters/backend/riff-backend.js.map +1 -1
  14. package/dist/adapters/backend/sandbox.d.ts +6 -0
  15. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  16. package/dist/adapters/backend/sandbox.js +7 -0
  17. package/dist/adapters/backend/sandbox.js.map +1 -1
  18. package/dist/adapters/backend/tmux-backend.d.ts +1 -1
  19. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  20. package/dist/adapters/backend/tmux-backend.js +4 -1
  21. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  22. package/dist/adapters/backend/tmux-pipe-backend.d.ts +1 -1
  23. package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
  24. package/dist/adapters/backend/tmux-pipe-backend.js +1 -1
  25. package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
  26. package/dist/adapters/backend/types.d.ts +37 -3
  27. package/dist/adapters/backend/types.d.ts.map +1 -1
  28. package/dist/adapters/backend/types.js.map +1 -1
  29. package/dist/adapters/backend/zellij-backend.d.ts +3 -3
  30. package/dist/adapters/backend/zellij-backend.d.ts.map +1 -1
  31. package/dist/adapters/backend/zellij-backend.js +9 -3
  32. package/dist/adapters/backend/zellij-backend.js.map +1 -1
  33. package/dist/adapters/backend/zellij-observe-backend.d.ts +3 -3
  34. package/dist/adapters/backend/zellij-observe-backend.d.ts.map +1 -1
  35. package/dist/adapters/backend/zellij-observe-backend.js +12 -7
  36. package/dist/adapters/backend/zellij-observe-backend.js.map +1 -1
  37. package/dist/adapters/cli/codex-app.d.ts.map +1 -1
  38. package/dist/adapters/cli/codex-app.js +11 -2
  39. package/dist/adapters/cli/codex-app.js.map +1 -1
  40. package/dist/adapters/cli/read-isolation.d.ts +35 -2
  41. package/dist/adapters/cli/read-isolation.d.ts.map +1 -1
  42. package/dist/adapters/cli/read-isolation.js +88 -7
  43. package/dist/adapters/cli/read-isolation.js.map +1 -1
  44. package/dist/adapters/cli/runner-input.d.ts +15 -14
  45. package/dist/adapters/cli/runner-input.d.ts.map +1 -1
  46. package/dist/adapters/cli/runner-input.js +64 -26
  47. package/dist/adapters/cli/runner-input.js.map +1 -1
  48. package/dist/adapters/cli/types.d.ts +20 -5
  49. package/dist/adapters/cli/types.d.ts.map +1 -1
  50. package/dist/bot-registry.d.ts +24 -0
  51. package/dist/bot-registry.d.ts.map +1 -1
  52. package/dist/bot-registry.js +110 -5
  53. package/dist/bot-registry.js.map +1 -1
  54. package/dist/cli/fleet-shutdown.d.ts +47 -0
  55. package/dist/cli/fleet-shutdown.d.ts.map +1 -0
  56. package/dist/cli/fleet-shutdown.js +387 -0
  57. package/dist/cli/fleet-shutdown.js.map +1 -0
  58. package/dist/cli/pm2-descriptor-guard.d.ts +19 -0
  59. package/dist/cli/pm2-descriptor-guard.d.ts.map +1 -0
  60. package/dist/cli/pm2-descriptor-guard.js +122 -0
  61. package/dist/cli/pm2-descriptor-guard.js.map +1 -0
  62. package/dist/cli/pm2-exact-start.d.ts +16 -0
  63. package/dist/cli/pm2-exact-start.d.ts.map +1 -0
  64. package/dist/cli/pm2-exact-start.js +63 -0
  65. package/dist/cli/pm2-exact-start.js.map +1 -0
  66. package/dist/cli/pm2-god-admission.d.ts +8 -0
  67. package/dist/cli/pm2-god-admission.d.ts.map +1 -0
  68. package/dist/cli/pm2-god-admission.js +25 -0
  69. package/dist/cli/pm2-god-admission.js.map +1 -0
  70. package/dist/cli/pm2-jlist.d.ts +13 -0
  71. package/dist/cli/pm2-jlist.d.ts.map +1 -0
  72. package/dist/cli/pm2-jlist.js +108 -0
  73. package/dist/cli/pm2-jlist.js.map +1 -0
  74. package/dist/cli/pm2-preflight.d.ts +10 -0
  75. package/dist/cli/pm2-preflight.d.ts.map +1 -0
  76. package/dist/cli/pm2-preflight.js +23 -0
  77. package/dist/cli/pm2-preflight.js.map +1 -0
  78. package/dist/cli/pm2-shutdown-capability.d.ts +27 -0
  79. package/dist/cli/pm2-shutdown-capability.d.ts.map +1 -0
  80. package/dist/cli/pm2-shutdown-capability.js +161 -0
  81. package/dist/cli/pm2-shutdown-capability.js.map +1 -0
  82. package/dist/cli/pm2-start-transaction.d.ts +55 -0
  83. package/dist/cli/pm2-start-transaction.d.ts.map +1 -0
  84. package/dist/cli/pm2-start-transaction.js +220 -0
  85. package/dist/cli/pm2-start-transaction.js.map +1 -0
  86. package/dist/cli/send-dispatch.d.ts +12 -0
  87. package/dist/cli/send-dispatch.d.ts.map +1 -1
  88. package/dist/cli/send-dispatch.js +31 -4
  89. package/dist/cli/send-dispatch.js.map +1 -1
  90. package/dist/cli/session-list-liveness.d.ts +1 -0
  91. package/dist/cli/session-list-liveness.d.ts.map +1 -1
  92. package/dist/cli/session-list-liveness.js +6 -0
  93. package/dist/cli/session-list-liveness.js.map +1 -1
  94. package/dist/cli/session-picker-layout.d.ts +26 -0
  95. package/dist/cli/session-picker-layout.d.ts.map +1 -0
  96. package/dist/cli/session-picker-layout.js +123 -0
  97. package/dist/cli/session-picker-layout.js.map +1 -0
  98. package/dist/cli/session-picker-viewport.d.ts +49 -0
  99. package/dist/cli/session-picker-viewport.d.ts.map +1 -0
  100. package/dist/cli/session-picker-viewport.js +46 -0
  101. package/dist/cli/session-picker-viewport.js.map +1 -0
  102. package/dist/cli/supervisor-shutdown-client.d.ts +31 -0
  103. package/dist/cli/supervisor-shutdown-client.d.ts.map +1 -0
  104. package/dist/cli/supervisor-shutdown-client.js +146 -0
  105. package/dist/cli/supervisor-shutdown-client.js.map +1 -0
  106. package/dist/cli/terminal-width.d.ts +48 -0
  107. package/dist/cli/terminal-width.d.ts.map +1 -0
  108. package/dist/cli/terminal-width.js +119 -0
  109. package/dist/cli/terminal-width.js.map +1 -0
  110. package/dist/cli/vc-agent.d.ts.map +1 -1
  111. package/dist/cli/vc-agent.js +1 -1
  112. package/dist/cli/vc-agent.js.map +1 -1
  113. package/dist/cli.d.ts.map +1 -1
  114. package/dist/cli.js +2269 -716
  115. package/dist/cli.js.map +1 -1
  116. package/dist/codex-app-runner.js +1630 -125
  117. package/dist/codex-app-runner.js.map +1 -1
  118. package/dist/core/ask-api.d.ts +8 -1
  119. package/dist/core/ask-api.d.ts.map +1 -1
  120. package/dist/core/ask-api.js +18 -0
  121. package/dist/core/ask-api.js.map +1 -1
  122. package/dist/core/ask-broker.d.ts +20 -0
  123. package/dist/core/ask-broker.d.ts.map +1 -1
  124. package/dist/core/ask-broker.js +467 -47
  125. package/dist/core/ask-broker.js.map +1 -1
  126. package/dist/core/ask-persist-store.d.ts +126 -0
  127. package/dist/core/ask-persist-store.d.ts.map +1 -0
  128. package/dist/core/ask-persist-store.js +188 -0
  129. package/dist/core/ask-persist-store.js.map +1 -0
  130. package/dist/core/ask-types.d.ts +80 -0
  131. package/dist/core/ask-types.d.ts.map +1 -1
  132. package/dist/core/ask-types.js +62 -0
  133. package/dist/core/ask-types.js.map +1 -1
  134. package/dist/core/cli-session-id-publisher.d.ts +20 -0
  135. package/dist/core/cli-session-id-publisher.d.ts.map +1 -0
  136. package/dist/core/cli-session-id-publisher.js +21 -0
  137. package/dist/core/cli-session-id-publisher.js.map +1 -0
  138. package/dist/core/command-handler.d.ts.map +1 -1
  139. package/dist/core/command-handler.js +427 -255
  140. package/dist/core/command-handler.js.map +1 -1
  141. package/dist/core/cost-calculator.d.ts +13 -0
  142. package/dist/core/cost-calculator.d.ts.map +1 -1
  143. package/dist/core/cost-calculator.js +385 -26
  144. package/dist/core/cost-calculator.js.map +1 -1
  145. package/dist/core/dashboard-ipc-server.d.ts +9 -0
  146. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  147. package/dist/core/dashboard-ipc-server.js +842 -288
  148. package/dist/core/dashboard-ipc-server.js.map +1 -1
  149. package/dist/core/explicit-session-backing-cleanup.d.ts +49 -0
  150. package/dist/core/explicit-session-backing-cleanup.d.ts.map +1 -0
  151. package/dist/core/explicit-session-backing-cleanup.js +76 -0
  152. package/dist/core/explicit-session-backing-cleanup.js.map +1 -0
  153. package/dist/core/idle-worker-sweeper.d.ts +20 -0
  154. package/dist/core/idle-worker-sweeper.d.ts.map +1 -1
  155. package/dist/core/idle-worker-sweeper.js +18 -0
  156. package/dist/core/idle-worker-sweeper.js.map +1 -1
  157. package/dist/core/inflight-input-tracker.d.ts +10 -0
  158. package/dist/core/inflight-input-tracker.d.ts.map +1 -1
  159. package/dist/core/inflight-input-tracker.js +7 -0
  160. package/dist/core/inflight-input-tracker.js.map +1 -1
  161. package/dist/core/managed-origin-attestation.d.ts +51 -0
  162. package/dist/core/managed-origin-attestation.d.ts.map +1 -0
  163. package/dist/core/managed-origin-attestation.js +208 -0
  164. package/dist/core/managed-origin-attestation.js.map +1 -0
  165. package/dist/core/managed-origin-capability.d.ts +62 -3
  166. package/dist/core/managed-origin-capability.d.ts.map +1 -1
  167. package/dist/core/managed-origin-capability.js +419 -9
  168. package/dist/core/managed-origin-capability.js.map +1 -1
  169. package/dist/core/pending-repo-journal.d.ts +6 -0
  170. package/dist/core/pending-repo-journal.d.ts.map +1 -0
  171. package/dist/core/pending-repo-journal.js +85 -0
  172. package/dist/core/pending-repo-journal.js.map +1 -0
  173. package/dist/core/persistent-backend.d.ts +6 -1
  174. package/dist/core/persistent-backend.d.ts.map +1 -1
  175. package/dist/core/persistent-backend.js +12 -6
  176. package/dist/core/persistent-backend.js.map +1 -1
  177. package/dist/core/process-start-identity.d.ts +3 -0
  178. package/dist/core/process-start-identity.d.ts.map +1 -0
  179. package/dist/core/process-start-identity.js +62 -0
  180. package/dist/core/process-start-identity.js.map +1 -0
  181. package/dist/core/raw-command-writer.d.ts +34 -0
  182. package/dist/core/raw-command-writer.d.ts.map +1 -0
  183. package/dist/core/raw-command-writer.js +48 -0
  184. package/dist/core/raw-command-writer.js.map +1 -0
  185. package/dist/core/reply-target.d.ts +85 -22
  186. package/dist/core/reply-target.d.ts.map +1 -1
  187. package/dist/core/reply-target.js +267 -32
  188. package/dist/core/reply-target.js.map +1 -1
  189. package/dist/core/resource-monitor/runtime.d.ts.map +1 -1
  190. package/dist/core/resource-monitor/runtime.js +4 -1
  191. package/dist/core/resource-monitor/runtime.js.map +1 -1
  192. package/dist/core/restart-report.d.ts +6 -1
  193. package/dist/core/restart-report.d.ts.map +1 -1
  194. package/dist/core/restart-report.js +22 -4
  195. package/dist/core/restart-report.js.map +1 -1
  196. package/dist/core/riff-shutdown-detach.d.ts +164 -0
  197. package/dist/core/riff-shutdown-detach.d.ts.map +1 -0
  198. package/dist/core/riff-shutdown-detach.js +787 -0
  199. package/dist/core/riff-shutdown-detach.js.map +1 -0
  200. package/dist/core/riff-worker-shutdown-readiness.d.ts +17 -0
  201. package/dist/core/riff-worker-shutdown-readiness.d.ts.map +1 -0
  202. package/dist/core/riff-worker-shutdown-readiness.js +21 -0
  203. package/dist/core/riff-worker-shutdown-readiness.js.map +1 -0
  204. package/dist/core/session-manager.d.ts +6 -6
  205. package/dist/core/session-manager.d.ts.map +1 -1
  206. package/dist/core/session-manager.js +1227 -594
  207. package/dist/core/session-manager.js.map +1 -1
  208. package/dist/core/session-marker.d.ts +1 -1
  209. package/dist/core/session-marker.d.ts.map +1 -1
  210. package/dist/core/session-marker.js +2 -2
  211. package/dist/core/session-marker.js.map +1 -1
  212. package/dist/core/session-mutation-guard.d.ts +17 -0
  213. package/dist/core/session-mutation-guard.d.ts.map +1 -0
  214. package/dist/core/session-mutation-guard.js +33 -0
  215. package/dist/core/session-mutation-guard.js.map +1 -0
  216. package/dist/core/shutdown-budgets.d.ts +27 -0
  217. package/dist/core/shutdown-budgets.d.ts.map +1 -0
  218. package/dist/core/shutdown-budgets.js +47 -0
  219. package/dist/core/shutdown-budgets.js.map +1 -0
  220. package/dist/core/supervisor-shutdown-ipc.d.ts +10 -0
  221. package/dist/core/supervisor-shutdown-ipc.d.ts.map +1 -0
  222. package/dist/core/supervisor-shutdown-ipc.js +10 -0
  223. package/dist/core/supervisor-shutdown-ipc.js.map +1 -0
  224. package/dist/core/supervisor-shutdown-protocol.d.ts +16 -0
  225. package/dist/core/supervisor-shutdown-protocol.d.ts.map +1 -0
  226. package/dist/core/supervisor-shutdown-protocol.js +16 -0
  227. package/dist/core/supervisor-shutdown-protocol.js.map +1 -0
  228. package/dist/core/trigger-final-suppression.d.ts +4 -0
  229. package/dist/core/trigger-final-suppression.d.ts.map +1 -1
  230. package/dist/core/trigger-final-suppression.js +6 -11
  231. package/dist/core/trigger-final-suppression.js.map +1 -1
  232. package/dist/core/trigger-session.d.ts +70 -0
  233. package/dist/core/trigger-session.d.ts.map +1 -1
  234. package/dist/core/trigger-session.js +923 -145
  235. package/dist/core/trigger-session.js.map +1 -1
  236. package/dist/core/types.d.ts +94 -1
  237. package/dist/core/types.d.ts.map +1 -1
  238. package/dist/core/types.js +9 -0
  239. package/dist/core/types.js.map +1 -1
  240. package/dist/core/worker-pool.d.ts +194 -13
  241. package/dist/core/worker-pool.d.ts.map +1 -1
  242. package/dist/core/worker-pool.js +2597 -547
  243. package/dist/core/worker-pool.js.map +1 -1
  244. package/dist/daemon.d.ts +76 -2
  245. package/dist/daemon.d.ts.map +1 -1
  246. package/dist/daemon.js +2255 -773
  247. package/dist/daemon.js.map +1 -1
  248. package/dist/dashboard/bot-payload.d.ts +20 -0
  249. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  250. package/dist/dashboard/bot-payload.js +24 -0
  251. package/dist/dashboard/bot-payload.js.map +1 -1
  252. package/dist/dashboard/feed-groups.d.ts +17 -0
  253. package/dist/dashboard/feed-groups.d.ts.map +1 -0
  254. package/dist/dashboard/feed-groups.js +75 -0
  255. package/dist/dashboard/feed-groups.js.map +1 -0
  256. package/dist/dashboard/session-card-model.d.ts +1 -1
  257. package/dist/dashboard/session-card-model.d.ts.map +1 -1
  258. package/dist/dashboard/session-card-model.js +8 -5
  259. package/dist/dashboard/session-card-model.js.map +1 -1
  260. package/dist/dashboard/web/bot-defaults-page.d.ts +4 -0
  261. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  262. package/dist/dashboard/web/bot-defaults-page.js +139 -46
  263. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  264. package/dist/dashboard/web/bot-defaults.d.ts +4 -0
  265. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  266. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  267. package/dist/dashboard/web/connectors-page.d.ts.map +1 -1
  268. package/dist/dashboard/web/connectors-page.js +40 -3
  269. package/dist/dashboard/web/connectors-page.js.map +1 -1
  270. package/dist/dashboard/web/groups-page.d.ts.map +1 -1
  271. package/dist/dashboard/web/groups-page.js +95 -2
  272. package/dist/dashboard/web/groups-page.js.map +1 -1
  273. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  274. package/dist/dashboard/web/i18n.js +86 -40
  275. package/dist/dashboard/web/i18n.js.map +1 -1
  276. package/dist/dashboard/web/kanban-model.js +1 -1
  277. package/dist/dashboard/web/kanban-model.js.map +1 -1
  278. package/dist/dashboard/web/overview-page.d.ts.map +1 -1
  279. package/dist/dashboard/web/overview-page.js +3 -2
  280. package/dist/dashboard/web/overview-page.js.map +1 -1
  281. package/dist/dashboard/web/overview.d.ts +3 -0
  282. package/dist/dashboard/web/overview.d.ts.map +1 -1
  283. package/dist/dashboard/web/overview.js +2 -0
  284. package/dist/dashboard/web/overview.js.map +1 -1
  285. package/dist/dashboard/web/sessions-kanban.d.ts.map +1 -1
  286. package/dist/dashboard/web/sessions-kanban.js +2 -0
  287. package/dist/dashboard/web/sessions-kanban.js.map +1 -1
  288. package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
  289. package/dist/dashboard/web/sessions-page.js +103 -2
  290. package/dist/dashboard/web/sessions-page.js.map +1 -1
  291. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  292. package/dist/dashboard/web/sessions.js +3 -2
  293. package/dist/dashboard/web/sessions.js.map +1 -1
  294. package/dist/dashboard/web/ui.d.ts +8 -0
  295. package/dist/dashboard/web/ui.d.ts.map +1 -1
  296. package/dist/dashboard/web/ui.js +15 -0
  297. package/dist/dashboard/web/ui.js.map +1 -1
  298. package/dist/dashboard-web/app.js +1 -1
  299. package/dist/dashboard-web/chunks/bot-defaults-page-GED4FEMS.js +10 -0
  300. package/dist/dashboard-web/chunks/chunk-6J5LS5AU.js +51 -0
  301. package/dist/dashboard-web/chunks/{chunk-ZU3UUKAR.js → chunk-HK7NIBJG.js} +1 -1
  302. package/dist/dashboard-web/chunks/{chunk-3UE7S77S.js → chunk-KRHWZEXU.js} +1 -1
  303. package/dist/dashboard-web/chunks/chunk-VBXJOJFH.js +1 -0
  304. package/dist/dashboard-web/chunks/connectors-page-EELM66G3.js +1 -0
  305. package/dist/dashboard-web/chunks/groups-page-WKUV6E42.js +8 -0
  306. package/dist/dashboard-web/chunks/{insights-page-T2ZX2RWL.js → insights-page-54UBPPOC.js} +1 -1
  307. package/dist/dashboard-web/chunks/{monitor-room-YNVBAGR6.js → monitor-room-PORHVKRH.js} +1 -1
  308. package/dist/dashboard-web/chunks/{monitoring-page-LHM55YWN.js → monitoring-page-XGA7AXNL.js} +1 -1
  309. package/dist/dashboard-web/chunks/{office-page-ATXVP7PW.js → office-page-AO3AFG45.js} +1 -1
  310. package/dist/dashboard-web/chunks/overview-page-F5BUTYR6.js +1 -0
  311. package/dist/dashboard-web/chunks/{roles-page-56VWM6CD.js → roles-page-M5GIASJU.js} +1 -1
  312. package/dist/dashboard-web/chunks/{schedules-page-S5K6U4EO.js → schedules-page-O232WQRR.js} +1 -1
  313. package/dist/dashboard-web/chunks/sessions-page-YFRPSTIL.js +6 -0
  314. package/dist/dashboard-web/chunks/{settings-page-QUZDQARR.js → settings-page-OJAZLZQT.js} +1 -1
  315. package/dist/dashboard-web/chunks/{skills-page-IFY7AEND.js → skills-page-EFZQPWV4.js} +1 -1
  316. package/dist/dashboard-web/chunks/{team-federation-page-C7FJQPFZ.js → team-federation-page-ZJVAP7HW.js} +1 -1
  317. package/dist/dashboard-web/chunks/{v3-page-2LMF3WWR.js → v3-page-GYWTRGO2.js} +1 -1
  318. package/dist/dashboard-web/chunks/{whiteboards-page-3XC6QRMY.js → whiteboards-page-MSDAG6P7.js} +1 -1
  319. package/dist/dashboard-web/style.css +255 -0
  320. package/dist/dashboard.js +172 -7
  321. package/dist/dashboard.js.map +1 -1
  322. package/dist/desktop/renderer/app.js +21 -0
  323. package/dist/desktop/renderer/app.js.map +1 -1
  324. package/dist/i18n/en.d.ts.map +1 -1
  325. package/dist/i18n/en.js +35 -9
  326. package/dist/i18n/en.js.map +1 -1
  327. package/dist/i18n/zh.d.ts.map +1 -1
  328. package/dist/i18n/zh.js +35 -9
  329. package/dist/i18n/zh.js.map +1 -1
  330. package/dist/im/lark/ask-card.d.ts +23 -0
  331. package/dist/im/lark/ask-card.d.ts.map +1 -1
  332. package/dist/im/lark/ask-card.js +94 -4
  333. package/dist/im/lark/ask-card.js.map +1 -1
  334. package/dist/im/lark/card-builder.d.ts +6 -1
  335. package/dist/im/lark/card-builder.d.ts.map +1 -1
  336. package/dist/im/lark/card-builder.js +112 -15
  337. package/dist/im/lark/card-builder.js.map +1 -1
  338. package/dist/im/lark/card-handler.d.ts +1 -1
  339. package/dist/im/lark/card-handler.d.ts.map +1 -1
  340. package/dist/im/lark/card-handler.js +496 -310
  341. package/dist/im/lark/card-handler.js.map +1 -1
  342. package/dist/im/lark/client.d.ts +7 -0
  343. package/dist/im/lark/client.d.ts.map +1 -1
  344. package/dist/im/lark/client.js +39 -26
  345. package/dist/im/lark/client.js.map +1 -1
  346. package/dist/im/lark/doc-comment.d.ts +7 -4
  347. package/dist/im/lark/doc-comment.d.ts.map +1 -1
  348. package/dist/im/lark/doc-comment.js +19 -6
  349. package/dist/im/lark/doc-comment.js.map +1 -1
  350. package/dist/im/lark/event-dispatcher.d.ts +16 -0
  351. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  352. package/dist/im/lark/event-dispatcher.js +88 -23
  353. package/dist/im/lark/event-dispatcher.js.map +1 -1
  354. package/dist/im/lark/forward-followup-content.d.ts.map +1 -1
  355. package/dist/im/lark/forward-followup-content.js +9 -1
  356. package/dist/im/lark/forward-followup-content.js.map +1 -1
  357. package/dist/im/lark/grant-command.d.ts.map +1 -1
  358. package/dist/im/lark/grant-command.js +7 -4
  359. package/dist/im/lark/grant-command.js.map +1 -1
  360. package/dist/im/lark/md-card.d.ts +11 -0
  361. package/dist/im/lark/md-card.d.ts.map +1 -1
  362. package/dist/im/lark/md-card.js +46 -0
  363. package/dist/im/lark/md-card.js.map +1 -1
  364. package/dist/im/lark/message-parser.d.ts +23 -2
  365. package/dist/im/lark/message-parser.d.ts.map +1 -1
  366. package/dist/im/lark/message-parser.js +58 -3
  367. package/dist/im/lark/message-parser.js.map +1 -1
  368. package/dist/im/lark/overview-card.d.ts.map +1 -1
  369. package/dist/im/lark/overview-card.js +2 -1
  370. package/dist/im/lark/overview-card.js.map +1 -1
  371. package/dist/services/async-trigger-state.d.ts +6 -1
  372. package/dist/services/async-trigger-state.d.ts.map +1 -1
  373. package/dist/services/async-trigger-state.js +21 -0
  374. package/dist/services/async-trigger-state.js.map +1 -1
  375. package/dist/services/async-trigger-store.d.ts +23 -1
  376. package/dist/services/async-trigger-store.d.ts.map +1 -1
  377. package/dist/services/async-trigger-store.js +96 -13
  378. package/dist/services/async-trigger-store.js.map +1 -1
  379. package/dist/services/bridge-fallback-gate.d.ts +40 -0
  380. package/dist/services/bridge-fallback-gate.d.ts.map +1 -1
  381. package/dist/services/bridge-fallback-gate.js +124 -24
  382. package/dist/services/bridge-fallback-gate.js.map +1 -1
  383. package/dist/services/codex-app-runner-protocol.d.ts +8 -0
  384. package/dist/services/codex-app-runner-protocol.d.ts.map +1 -1
  385. package/dist/services/codex-app-runner-protocol.js +9 -2
  386. package/dist/services/codex-app-runner-protocol.js.map +1 -1
  387. package/dist/services/codex-bridge-queue.d.ts +1 -0
  388. package/dist/services/codex-bridge-queue.d.ts.map +1 -1
  389. package/dist/services/codex-bridge-queue.js +1 -0
  390. package/dist/services/codex-bridge-queue.js.map +1 -1
  391. package/dist/services/codex-service-tier.d.ts +2 -0
  392. package/dist/services/codex-service-tier.d.ts.map +1 -1
  393. package/dist/services/codex-service-tier.js +1 -0
  394. package/dist/services/codex-service-tier.js.map +1 -1
  395. package/dist/services/codex-transcript.d.ts +27 -0
  396. package/dist/services/codex-transcript.d.ts.map +1 -1
  397. package/dist/services/codex-transcript.js +340 -2
  398. package/dist/services/codex-transcript.js.map +1 -1
  399. package/dist/services/grant-policy.d.ts +3 -0
  400. package/dist/services/grant-policy.d.ts.map +1 -1
  401. package/dist/services/grant-policy.js +5 -0
  402. package/dist/services/grant-policy.js.map +1 -1
  403. package/dist/services/grant-prefs-store.d.ts +6 -3
  404. package/dist/services/grant-prefs-store.d.ts.map +1 -1
  405. package/dist/services/grant-prefs-store.js +42 -12
  406. package/dist/services/grant-prefs-store.js.map +1 -1
  407. package/dist/services/hook-runner.d.ts +20 -1
  408. package/dist/services/hook-runner.d.ts.map +1 -1
  409. package/dist/services/hook-runner.js +17 -13
  410. package/dist/services/hook-runner.js.map +1 -1
  411. package/dist/services/idempotency-store.d.ts +134 -0
  412. package/dist/services/idempotency-store.d.ts.map +1 -0
  413. package/dist/services/idempotency-store.js +299 -0
  414. package/dist/services/idempotency-store.js.map +1 -0
  415. package/dist/services/jsonl-cursor.d.ts +7 -3
  416. package/dist/services/jsonl-cursor.d.ts.map +1 -1
  417. package/dist/services/jsonl-cursor.js +55 -31
  418. package/dist/services/jsonl-cursor.js.map +1 -1
  419. package/dist/services/open-platform-rename.d.ts.map +1 -1
  420. package/dist/services/open-platform-rename.js +1 -108
  421. package/dist/services/open-platform-rename.js.map +1 -1
  422. package/dist/services/restart-intent-store.d.ts +22 -2
  423. package/dist/services/restart-intent-store.d.ts.map +1 -1
  424. package/dist/services/restart-intent-store.js +160 -18
  425. package/dist/services/restart-intent-store.js.map +1 -1
  426. package/dist/services/sandbox-store.d.ts +22 -0
  427. package/dist/services/sandbox-store.d.ts.map +1 -1
  428. package/dist/services/sandbox-store.js +37 -8
  429. package/dist/services/sandbox-store.js.map +1 -1
  430. package/dist/services/send-policy.d.ts +41 -33
  431. package/dist/services/send-policy.d.ts.map +1 -1
  432. package/dist/services/send-policy.js +39 -40
  433. package/dist/services/send-policy.js.map +1 -1
  434. package/dist/services/session-store.d.ts +66 -0
  435. package/dist/services/session-store.d.ts.map +1 -1
  436. package/dist/services/session-store.js +403 -67
  437. package/dist/services/session-store.js.map +1 -1
  438. package/dist/services/submit-notification.d.ts +3 -0
  439. package/dist/services/submit-notification.d.ts.map +1 -0
  440. package/dist/services/submit-notification.js +15 -0
  441. package/dist/services/submit-notification.js.map +1 -0
  442. package/dist/services/traex-transcript.d.ts +25 -2
  443. package/dist/services/traex-transcript.d.ts.map +1 -1
  444. package/dist/services/traex-transcript.js +133 -1
  445. package/dist/services/traex-transcript.js.map +1 -1
  446. package/dist/services/trigger-types.d.ts +13 -1
  447. package/dist/services/trigger-types.d.ts.map +1 -1
  448. package/dist/services/trigger-types.js +39 -0
  449. package/dist/services/trigger-types.js.map +1 -1
  450. package/dist/services/voice/index.d.ts +3 -2
  451. package/dist/services/voice/index.d.ts.map +1 -1
  452. package/dist/services/voice/index.js +5 -5
  453. package/dist/services/voice/index.js.map +1 -1
  454. package/dist/services/voice/openai.d.ts +2 -1
  455. package/dist/services/voice/openai.d.ts.map +1 -1
  456. package/dist/services/voice/openai.js +2 -1
  457. package/dist/services/voice/openai.js.map +1 -1
  458. package/dist/services/voice/sami.d.ts +5 -2
  459. package/dist/services/voice/sami.d.ts.map +1 -1
  460. package/dist/services/voice/sami.js +19 -4
  461. package/dist/services/voice/sami.js.map +1 -1
  462. package/dist/setup/bots-store.d.ts.map +1 -1
  463. package/dist/setup/bots-store.js +10 -4
  464. package/dist/setup/bots-store.js.map +1 -1
  465. package/dist/setup/lark-scopes.json +2 -0
  466. package/dist/setup/open-platform-automation.d.ts +9 -1
  467. package/dist/setup/open-platform-automation.d.ts.map +1 -1
  468. package/dist/setup/open-platform-automation.js +44 -15
  469. package/dist/setup/open-platform-automation.js.map +1 -1
  470. package/dist/setup/open-platform-visibility.d.ts +42 -0
  471. package/dist/setup/open-platform-visibility.d.ts.map +1 -0
  472. package/dist/setup/open-platform-visibility.js +133 -0
  473. package/dist/setup/open-platform-visibility.js.map +1 -0
  474. package/dist/setup/verify-permissions.d.ts.map +1 -1
  475. package/dist/setup/verify-permissions.js +6 -0
  476. package/dist/setup/verify-permissions.js.map +1 -1
  477. package/dist/skills/definitions.js +2 -2
  478. package/dist/types.d.ts +290 -13
  479. package/dist/types.d.ts.map +1 -1
  480. package/dist/utils/bot-routing.d.ts +1 -0
  481. package/dist/utils/bot-routing.d.ts.map +1 -1
  482. package/dist/utils/bot-routing.js +1 -1
  483. package/dist/utils/bot-routing.js.map +1 -1
  484. package/dist/utils/child-env.d.ts +1 -1
  485. package/dist/utils/child-env.d.ts.map +1 -1
  486. package/dist/utils/child-env.js +9 -0
  487. package/dist/utils/child-env.js.map +1 -1
  488. package/dist/utils/codex-app-control.d.ts +438 -0
  489. package/dist/utils/codex-app-control.d.ts.map +1 -0
  490. package/dist/utils/codex-app-control.js +2336 -0
  491. package/dist/utils/codex-app-control.js.map +1 -0
  492. package/dist/utils/codex-app-dispatch-ledger.d.ts +78 -0
  493. package/dist/utils/codex-app-dispatch-ledger.d.ts.map +1 -0
  494. package/dist/utils/codex-app-dispatch-ledger.js +149 -0
  495. package/dist/utils/codex-app-dispatch-ledger.js.map +1 -0
  496. package/dist/utils/codex-app-turn-dispatch.d.ts +77 -0
  497. package/dist/utils/codex-app-turn-dispatch.d.ts.map +1 -0
  498. package/dist/utils/codex-app-turn-dispatch.js +141 -0
  499. package/dist/utils/codex-app-turn-dispatch.js.map +1 -0
  500. package/dist/utils/codex-app-turn-liveness.d.ts +125 -0
  501. package/dist/utils/codex-app-turn-liveness.d.ts.map +1 -0
  502. package/dist/utils/codex-app-turn-liveness.js +301 -0
  503. package/dist/utils/codex-app-turn-liveness.js.map +1 -0
  504. package/dist/utils/idle-detector.d.ts +12 -0
  505. package/dist/utils/idle-detector.d.ts.map +1 -1
  506. package/dist/utils/idle-detector.js +19 -0
  507. package/dist/utils/idle-detector.js.map +1 -1
  508. package/dist/utils/input-gate.d.ts +87 -0
  509. package/dist/utils/input-gate.d.ts.map +1 -1
  510. package/dist/utils/input-gate.js +86 -0
  511. package/dist/utils/input-gate.js.map +1 -1
  512. package/dist/utils/lark-upload.d.ts.map +1 -1
  513. package/dist/utils/lark-upload.js +52 -1
  514. package/dist/utils/lark-upload.js.map +1 -1
  515. package/dist/utils/pending-input-queue.d.ts +15 -0
  516. package/dist/utils/pending-input-queue.d.ts.map +1 -1
  517. package/dist/utils/pending-input-queue.js +5 -1
  518. package/dist/utils/pending-input-queue.js.map +1 -1
  519. package/dist/utils/user-token.d.ts.map +1 -1
  520. package/dist/utils/user-token.js +53 -2
  521. package/dist/utils/user-token.js.map +1 -1
  522. package/dist/worker-ipc-preload.d.ts +12 -0
  523. package/dist/worker-ipc-preload.d.ts.map +1 -0
  524. package/dist/worker-ipc-preload.js +44 -0
  525. package/dist/worker-ipc-preload.js.map +1 -0
  526. package/dist/worker.js +2604 -325
  527. package/dist/worker.js.map +1 -1
  528. package/dist/workflows/v3/session-relay-client.d.ts +1 -0
  529. package/dist/workflows/v3/session-relay-client.d.ts.map +1 -1
  530. package/dist/workflows/v3/session-relay-client.js +12 -3
  531. package/dist/workflows/v3/session-relay-client.js.map +1 -1
  532. package/package.json +1 -1
  533. package/dist/dashboard-web/chunks/bot-defaults-page-LTVOUDIS.js +0 -10
  534. package/dist/dashboard-web/chunks/chunk-DCS35UMD.js +0 -1
  535. package/dist/dashboard-web/chunks/chunk-MFQPCVHY.js +0 -51
  536. package/dist/dashboard-web/chunks/connectors-page-5KWDIMKC.js +0 -1
  537. package/dist/dashboard-web/chunks/groups-page-FHOKYXMW.js +0 -8
  538. package/dist/dashboard-web/chunks/overview-page-QYI3KBDD.js +0 -1
  539. package/dist/dashboard-web/chunks/sessions-page-WBP4N7D2.js +0 -6
@@ -205,10 +205,19 @@ export const BOTMUX_INJECTED_ENV_KEYS = [
205
205
  // session-scoped, capability-gated routes (v3 workflow relay, vc-agent).
206
206
  // A port marker, not a credential — every route authenticates independently.
207
207
  'BOTMUX_DAEMON_IPC_PORT',
208
+ // Fail-closed classification hint for macOS read isolation. This is never
209
+ // authority; cmdSend also checks the host-owned marker + live challenge.
210
+ 'BOTMUX_READ_ISOLATED',
211
+ // Unguessable pane/profile authority channel. It selects an exact read carve
212
+ // but is not sufficient without the daemon-rotated capability inside it.
213
+ 'BOTMUX_ORIGIN_CHANNEL_ID',
208
214
  // Keep `botmux bots list` and ready-gated CLIs aligned with daemon config.
209
215
  'BOTMUX_LARK_LIST_BOTS_API_ENABLED',
210
216
  'BOTMUX_LARK_LIST_BOTS_API_TIMEOUT_MS',
211
217
  'BOTMUX_READY_COMMAND',
218
+ // Path to a one-shot 0600 Codex App control bootstrap. Only the path reaches
219
+ // the pane; the runner consumes+unlinks the file before app-server starts.
220
+ 'BOTMUX_CODEX_APP_CONTROL_BOOTSTRAP',
212
221
  // Hermes profile roots must match the worker-side transcript reader.
213
222
  'HERMES_HOME',
214
223
  'HERMES_BOTMUX_SOURCE_HOME',
@@ -1 +1 @@
1
- {"version":3,"file":"child-env.js","sourceRoot":"","sources":["../../src/utils/child-env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"child-env.js","sourceRoot":"","sources":["../../src/utils/child-env.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,438 @@
1
+ import { type KeyObject } from 'node:crypto';
2
+ import { type SpawnSyncReturns } from 'node:child_process';
3
+ import type { BackendType } from '../adapters/backend/types.js';
4
+ import type { ScreenStatus } from '../types.js';
5
+ /**
6
+ * The launch boundary carries only a path to an owner-only, read-once file.
7
+ * That file contains a fresh Ed25519 private key. The runner consumes and
8
+ * unlinks it before app-server (and therefore model tools) can start. Only the
9
+ * public key is persisted by the worker.
10
+ */
11
+ export declare const CODEX_APP_CONTROL_BOOTSTRAP_ENV = "BOTMUX_CODEX_APP_CONTROL_BOOTSTRAP";
12
+ export declare const CODEX_APP_CONTROL_LINE_MAX_BYTES = 4096;
13
+ export declare const CODEX_APP_CONTROL_FINAL_MAX_BYTES = 1048576;
14
+ export declare const CODEX_APP_CONTROL_FINAL_CHUNK_BYTES = 1536;
15
+ /** Keep control bootstrap/proof alive for the worker's existing cold-start cap. */
16
+ export declare const CODEX_APP_CONTROL_STARTUP_TIMEOUT_MS = 90000;
17
+ /** Absolute per-connection challenge/accept deadline; transport activity does not extend it. */
18
+ export declare const CODEX_APP_CONTROL_HANDSHAKE_TIMEOUT_MS = 5000;
19
+ declare const CONTROL_STATE_VERSION: 3;
20
+ declare const CONTROL_WIRE_VERSION: 2;
21
+ declare const CONTROL_LOCATOR_VERSION: 1;
22
+ /**
23
+ * Arm the shared Codex App startup deadline. Keeping the scheduling in one
24
+ * helper prevents the runner auth gate, bootstrap cleanup, worker proof gate,
25
+ * and first-prompt hard cap from silently drifting to different lifetimes.
26
+ */
27
+ export declare function armCodexAppControlStartupTimeout(onTimeout: () => void, timeoutMs?: number): ReturnType<typeof setTimeout>;
28
+ export declare function armCodexAppControlHandshakeTimeout(onTimeout: () => void, timeoutMs?: number): ReturnType<typeof setTimeout>;
29
+ export type CodexAppSignedStateReadiness = 'invalid' | 'waiting' | 'ready';
30
+ /** Authentication and a signed busy/idle bit are not sufficient readiness.
31
+ * The runner must explicitly assert that its initialized stdin/app-server path
32
+ * accepts input. Missing/non-boolean values are protocol violations; `false`
33
+ * is a valid not-ready state that leaves the absolute proof deadline armed. */
34
+ export declare function codexAppSignedStateReadiness(payload: unknown): CodexAppSignedStateReadiness;
35
+ /** Re-armable proof deadline shared by startup and authenticated disconnects. */
36
+ export declare class CodexAppControlProofDeadline {
37
+ private timer;
38
+ arm(onTimeout: () => void, timeoutMs?: number): void;
39
+ clear(): void;
40
+ get armed(): boolean;
41
+ }
42
+ /**
43
+ * Coalesce one signed control record while its worker-side effects are still
44
+ * awaiting a durable daemon ACK. Endpoint replacement can replay the same
45
+ * generation/sequence before the replay window is committed; every replay
46
+ * must observe the first application result instead of running queue or
47
+ * liveness effects again.
48
+ *
49
+ * The caller releases the entry only after committing the replay window (or
50
+ * after a rejected application). Keeping release outside the promise closes
51
+ * the resolution -> replay-commit gap.
52
+ */
53
+ export declare class CodexAppControlRecordApplicationGate {
54
+ private readonly inFlight;
55
+ run(generation: string, seq: number, apply: () => boolean | Promise<boolean>): Promise<boolean>;
56
+ release(generation: string, seq: number, application: Promise<boolean>): void;
57
+ private key;
58
+ }
59
+ export type CodexAppRuntimeScreenStatus = Exclude<ScreenStatus, 'limited'>;
60
+ /** Authentication alone is not readiness. Until the active generation has
61
+ * published a signed accepting-input state, an idle screen is fail-closed to
62
+ * working so reconnect replay cannot expose a false-idle interval. */
63
+ export declare function projectCodexAppControlReadinessStatus(base: CodexAppRuntimeScreenStatus, readiness: {
64
+ controlProven: boolean;
65
+ signedStateObserved: boolean;
66
+ inputReady: boolean;
67
+ }): CodexAppRuntimeScreenStatus;
68
+ export interface CodexAppControlPathOptions {
69
+ platform?: NodeJS.Platform;
70
+ localAppData?: string;
71
+ homeDirectory?: string;
72
+ }
73
+ export interface CodexAppControlFilesystemPolicy {
74
+ useNoFollow: boolean;
75
+ verifyUid: boolean;
76
+ verifyExactMode: boolean;
77
+ chmodAfterCreate: boolean;
78
+ verifyPostUnlinkLinkCount: boolean;
79
+ fsyncDirectory: boolean;
80
+ }
81
+ export declare function codexAppControlFilesystemPolicy(platform?: NodeJS.Platform): CodexAppControlFilesystemPolicy;
82
+ /**
83
+ * Windows never places control material under SESSION_DATA_DIR: that setting
84
+ * is bot/user supplied and may point at a shared tree. The fixed root is
85
+ * instead anchored in the current Windows profile and hardened before any
86
+ * secret or locator is created beneath it.
87
+ */
88
+ export declare function codexAppWindowsControlRoot(options?: CodexAppControlPathOptions): string;
89
+ export declare function parseWindowsCurrentSid(output: string): string | undefined;
90
+ export declare function decodeWindowsAclSnapshot(raw: Buffer): string;
91
+ /** Locale-independent verification of the SDDL emitted by `icacls /save`. */
92
+ export declare function verifyWindowsCodexAppControlDacl(snapshot: string, currentSid: string, kind?: 'directory' | 'file'): boolean;
93
+ export type WindowsControlCommandRunner = (command: string, args: string[]) => Pick<SpawnSyncReturns<string>, 'status' | 'stdout' | 'stderr' | 'error'>;
94
+ /**
95
+ * Remove inherited ACLs, set the current SID as owner, grant only that SID and
96
+ * SYSTEM full control, and verify the protected DACL. Unknown explicit ACEs
97
+ * are retained by icacls but cause exact verification to fail closed.
98
+ */
99
+ export declare function hardenWindowsCodexAppControlDirectory(directory: string, runner?: WindowsControlCommandRunner): void;
100
+ /** Validate/harden a pre-existing fixed-name state file before trusting it. */
101
+ export declare function hardenWindowsCodexAppControlFile(path: string, runner?: WindowsControlCommandRunner): void;
102
+ /** Create/validate a non-symlink owner-only directory. */
103
+ export declare function ensureCodexAppControlDirectory(directory: string, platform?: NodeJS.Platform): void;
104
+ export declare function codexAppControlStatePath(sessionDataDir: string, sessionId: string): string;
105
+ export declare function codexAppControlStatePathForPlatform(sessionDataDir: string, sessionId: string, options?: CodexAppControlPathOptions): string;
106
+ export declare function codexAppControlSocketPath(directory: string, sessionId: string): string;
107
+ export declare function codexAppPosixControlRoot(uid?: number | undefined): string;
108
+ export declare function codexAppPosixOwnerLeaseDirectory(controlRoot: string, sessionId: string): string;
109
+ export declare function generateCodexAppPosixSocketEndpoint(socketDirectory: string): string;
110
+ export declare function codexAppControlLocatorPath(controlRoot: string, sessionId: string, platform?: NodeJS.Platform): string;
111
+ export declare function generateCodexAppWindowsPipeEndpoint(): string;
112
+ /**
113
+ * A fixed coordination pipe is held for the lifetime of one Windows worker
114
+ * process. It is not a control endpoint and is never put in a runner locator.
115
+ * Its only purpose is to serialize locator publishers across the daemon's
116
+ * kill-then-fork overlap window. The OS releases it if the old worker is
117
+ * terminated, avoiding a crash-stale filesystem lock.
118
+ */
119
+ export declare function codexAppWindowsOwnerPipeEndpoint(sessionId: string): string;
120
+ export interface CodexAppControlOwnerLeaseOptions<T> {
121
+ bind: () => Promise<T>;
122
+ timeoutMs?: number;
123
+ retryDelayMs?: number;
124
+ now?: () => number;
125
+ wait?: (delayMs: number) => Promise<void>;
126
+ }
127
+ /** Retry only a competing bind; every other owner-lease error fails closed. */
128
+ export declare function acquireCodexAppControlOwnerLease<T>(options: CodexAppControlOwnerLeaseOptions<T>): Promise<T>;
129
+ export type CodexAppOwnerProcessStatus = 'alive' | 'dead' | 'unknown';
130
+ export interface CodexAppPosixOwnerLease {
131
+ directory: string;
132
+ ownerRecordPath: string;
133
+ isOwned(): boolean;
134
+ release(): void;
135
+ }
136
+ export interface CodexAppPosixOwnerLeaseOptions {
137
+ controlRoot: string;
138
+ sessionId: string;
139
+ platform?: NodeJS.Platform;
140
+ timeoutMs?: number;
141
+ retryDelayMs?: number;
142
+ initializationGraceMs?: number;
143
+ pid?: number;
144
+ processStartToken?: string;
145
+ now?: () => number;
146
+ wait?: (delayMs: number) => Promise<void>;
147
+ inspectOwner?: (pid: number, processStartToken: string) => CodexAppOwnerProcessStatus;
148
+ /** Deterministic handoff-race seam: invoked after mkdir(EEXIST), before observation. */
149
+ onContended?: () => void;
150
+ /** Deterministic crash-resume seam: invoked after this creator pins the new directory inode. */
151
+ onOwnerDirectoryCreated?: (directory: string) => void | Promise<void>;
152
+ /** Deterministic crash-window seam: pauses after owner publication, before the directory CAS. */
153
+ onOwnerRecordPublished?: (directory: string, ownerRecordPath: string) => void | Promise<void>;
154
+ /** Deterministic replacement seam: pauses after a stale owner is pinned, before reaper publication. */
155
+ onBeforeReaperRecordPublished?: (directory: string) => void | Promise<void>;
156
+ /** Deterministic crash-window seam: pauses after reaper publication, before the directory CAS. */
157
+ onReaperRecordPublished?: (directory: string, reaperRecordPath: string) => void | Promise<void>;
158
+ }
159
+ export declare function codexAppPosixProcessProbeEnv(base?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
160
+ export declare function readCodexAppProcessStartToken(pid: number, platform?: NodeJS.Platform): string | undefined;
161
+ /**
162
+ * Process-lifetime publisher lease for POSIX.
163
+ *
164
+ * Both owners and stale cleaners publish complete, random-name actor records.
165
+ * An actor record is written to `.pending`, synced, and atomically renamed to
166
+ * `.json`, so SIGKILL cannot create a partial authoritative record. Existing
167
+ * partial records remain recoverable after a grace interval. Every complete
168
+ * actor is bound to the exact directory dev+ino it intended to mutate; reapers
169
+ * additionally bind the exact owner-record inode/process tuple. A cleaner moves
170
+ * the exact observed random-name inode out of the authority directory before
171
+ * deleting it; that rename is the CAS boundary which prevents a delayed actor
172
+ * from poisoning or deleting a successor's record after path replacement.
173
+ */
174
+ export declare function acquireCodexAppPosixOwnerLease(options: CodexAppPosixOwnerLeaseOptions): Promise<CodexAppPosixOwnerLease>;
175
+ export declare function generateCodexAppControlEpoch(): string;
176
+ export interface CodexAppControlLocator {
177
+ version: typeof CONTROL_LOCATOR_VERSION;
178
+ sessionId: string;
179
+ epoch: string;
180
+ endpoint: string;
181
+ }
182
+ export declare function isValidCodexAppWindowsPipeEndpoint(endpoint: unknown): endpoint is string;
183
+ export interface CodexAppControlLocatorValidationOptions {
184
+ platform?: NodeJS.Platform;
185
+ locatorPath?: string;
186
+ /** Trusted, worker-owned root; never derive this authority from locatorPath. */
187
+ expectedControlRoot?: string;
188
+ }
189
+ export declare function validateCodexAppControlLocator(value: unknown, expectedSessionId: string, options?: CodexAppControlLocatorValidationOptions): CodexAppControlLocator | undefined;
190
+ export interface CodexAppControlIdentity {
191
+ generation: string;
192
+ publicKey: string;
193
+ createdAtMs: number;
194
+ }
195
+ /**
196
+ * pending may contain an old live identity plus a fresh spawn candidate. The
197
+ * first identity that answers this worker's fresh socket challenge is atomically
198
+ * collapsed to the sole active identity. No private material is persisted.
199
+ */
200
+ export interface CodexAppControlState {
201
+ version: typeof CONTROL_STATE_VERSION;
202
+ status: 'pending' | 'active';
203
+ identities: CodexAppControlIdentity[];
204
+ updatedAtMs: number;
205
+ activatedAtMs?: number;
206
+ }
207
+ export declare function readCodexAppControlState(path: string, platform?: NodeJS.Platform): CodexAppControlState | undefined;
208
+ /** Symlink-safe atomic state replacement inside a private directory. */
209
+ export declare function writeCodexAppControlState(path: string, state: CodexAppControlState): void;
210
+ export declare function writeCodexAppControlStateForPlatform(path: string, state: CodexAppControlState, platform: NodeJS.Platform): void;
211
+ export declare function readCodexAppControlLocator(path: string, expectedSessionId: string, platform?: NodeJS.Platform, expectedControlRoot?: string | undefined): CodexAppControlLocator | undefined;
212
+ export declare function writeCodexAppControlLocator(path: string, locator: CodexAppControlLocator, platform?: NodeJS.Platform, expectedControlRoot?: string | undefined): void;
213
+ /**
214
+ * The ordering contract is security-sensitive on every platform: the random
215
+ * pipe/socket must already be bound before its locator becomes visible.
216
+ */
217
+ export declare function bindThenPublishCodexAppControlLocator(input: {
218
+ sessionId: string;
219
+ epoch: string;
220
+ endpoint: string;
221
+ listen: (endpoint: string) => Promise<void>;
222
+ publish: (locator: CodexAppControlLocator) => void;
223
+ platform?: NodeJS.Platform;
224
+ locatorPath?: string;
225
+ expectedControlRoot?: string;
226
+ isCurrent?: () => boolean;
227
+ retire?: () => void;
228
+ }): Promise<CodexAppControlLocator | undefined>;
229
+ export declare function shouldFailCodexAppControlChannel(input: {
230
+ channelId: number;
231
+ currentChannelId: number;
232
+ stopping: boolean;
233
+ }): boolean;
234
+ /**
235
+ * Runner-side endpoint policy for locator rotations. A never-accepted
236
+ * locator may be retried (the independently random, protected epoch is still
237
+ * required for acceptance) until the shared startup deadline. Once accepted,
238
+ * the pipe name is permanently burned and only a newly published endpoint can
239
+ * be used.
240
+ */
241
+ export declare class CodexAppControlEndpointTracker {
242
+ private readonly attemptsByEndpoint;
243
+ private readonly acceptedEndpoints;
244
+ take(locator: CodexAppControlLocator): string | undefined;
245
+ noteAccepted(endpoint: string): void;
246
+ wasAttempted(endpoint: string): boolean;
247
+ attemptCount(endpoint: string): number;
248
+ wasAccepted(endpoint: string): boolean;
249
+ }
250
+ /** Read and select one locator endpoint; missing/corrupt files are a poll miss. */
251
+ export declare function takeCodexAppControlLocatorEndpoint(input: {
252
+ locatorPath: string;
253
+ sessionId: string;
254
+ tracker: CodexAppControlEndpointTracker;
255
+ platform?: NodeJS.Platform;
256
+ expectedControlRoot?: string;
257
+ }): {
258
+ endpoint: string;
259
+ epoch: string;
260
+ } | undefined;
261
+ /** Missing/corrupt/legacy generations cannot prove a warm reattach. */
262
+ export declare function shouldColdStartCodexAppReattach(input: {
263
+ cliId?: string;
264
+ backendType: BackendType;
265
+ isReattach: boolean;
266
+ persistedState?: CodexAppControlState;
267
+ }): boolean;
268
+ export interface CodexAppControlBootstrap {
269
+ path: string;
270
+ identity: CodexAppControlIdentity;
271
+ }
272
+ export interface ConsumedCodexAppControlBootstrap {
273
+ generation: string;
274
+ privateKey: KeyObject;
275
+ socketPath?: string;
276
+ locatorPath?: string;
277
+ }
278
+ export type CodexAppControlBootstrapTarget = {
279
+ kind: 'endpoint';
280
+ socketPath: string;
281
+ } | {
282
+ kind: 'locator';
283
+ locatorPath: string;
284
+ };
285
+ /** Create a fresh asymmetric candidate and one O_EXCL private bootstrap. */
286
+ export declare function createCodexAppControlBootstrap(directory: string, sessionId: string, target?: string | CodexAppControlBootstrapTarget, platform?: NodeJS.Platform): CodexAppControlBootstrap;
287
+ /** Remove crash-orphaned one-shot files for exactly one session generation. */
288
+ export declare function cleanupStaleCodexAppControlBootstraps(directory: string, sessionId: string, platform?: NodeJS.Platform): void;
289
+ /**
290
+ * One-shot consume on one O_NOFOLLOW fd. The file is unlinked before its bytes
291
+ * are read and the post-unlink link count must be zero. The private key is
292
+ * imported here so callers do not retain or forward its encoded form.
293
+ */
294
+ export declare function consumeCodexAppControlBootstrap(path: string, expectedSessionId?: string, platform?: NodeJS.Platform): ConsumedCodexAppControlBootstrap;
295
+ export declare function mergeCodexAppControlCandidate(existing: CodexAppControlState | undefined, candidate: CodexAppControlIdentity, nowMs?: number): CodexAppControlState;
296
+ export declare function activateCodexAppControlIdentity(state: CodexAppControlState, generation: string, nowMs?: number): CodexAppControlState;
297
+ export declare function generateCodexAppControlChallenge(): string;
298
+ export interface CodexAppControlChallenge {
299
+ version: typeof CONTROL_WIRE_VERSION;
300
+ type: 'challenge';
301
+ sessionId: string;
302
+ challenge: string;
303
+ }
304
+ export interface CodexAppControlAuth {
305
+ version: typeof CONTROL_WIRE_VERSION;
306
+ type: 'auth';
307
+ sessionId: string;
308
+ generation: string;
309
+ challenge: string;
310
+ signature: string;
311
+ }
312
+ export interface CodexAppControlAccepted {
313
+ version: typeof CONTROL_WIRE_VERSION;
314
+ type: 'accepted';
315
+ sessionId: string;
316
+ generation: string;
317
+ challenge: string;
318
+ endpointEpoch?: string;
319
+ }
320
+ export interface CodexAppControlAck {
321
+ version: typeof CONTROL_WIRE_VERSION;
322
+ type: 'ack';
323
+ sessionId: string;
324
+ generation: string;
325
+ challenge: string;
326
+ seq: number;
327
+ }
328
+ export interface CodexAppSignedControlMarker {
329
+ version: typeof CONTROL_WIRE_VERSION;
330
+ type: 'marker';
331
+ sessionId: string;
332
+ generation: string;
333
+ challenge: string;
334
+ seq: number;
335
+ kind: string;
336
+ payload: Record<string, unknown>;
337
+ signature: string;
338
+ }
339
+ export type CodexAppControlWireRecord = CodexAppControlChallenge | CodexAppControlAuth | CodexAppControlAccepted | CodexAppControlAck | CodexAppSignedControlMarker;
340
+ export declare function encodeCodexAppControlChallenge(sessionId: string, challenge: string): string;
341
+ export declare function encodeCodexAppControlAccepted(sessionId: string, generation: string, challenge: string, endpointEpoch?: string): string;
342
+ export declare function encodeCodexAppControlAck(sessionId: string, generation: string, challenge: string, seq: number): string;
343
+ export declare function encodeCodexAppControlAuth(privateKey: KeyObject, sessionId: string, generation: string, challenge: string): string;
344
+ export declare function encodeCodexAppSignedControlMarker(privateKey: KeyObject, sessionId: string, generation: string, challenge: string, seq: number, kind: string, payload: Record<string, unknown>): string;
345
+ export declare function parseCodexAppControlWireRecord(line: string): CodexAppControlWireRecord | undefined;
346
+ export type CodexAppControlRunnerHandshakeAction = {
347
+ type: 'authenticate';
348
+ challenge: string;
349
+ } | {
350
+ type: 'accepted';
351
+ challenge: string;
352
+ } | {
353
+ type: 'ack';
354
+ seq: number;
355
+ } | {
356
+ type: 'reject';
357
+ };
358
+ /**
359
+ * Pure runner-side handshake state machine. Keeping the phase checks here
360
+ * makes repeated challenges, wrong locator epochs, and out-of-order ACKs
361
+ * executable in unit tests instead of relying on source-string assertions.
362
+ */
363
+ export declare class CodexAppControlRunnerHandshake {
364
+ private readonly expectedSessionId;
365
+ private readonly expectedGeneration;
366
+ private readonly expectedEndpointEpoch?;
367
+ private phase;
368
+ private challengeValue;
369
+ constructor(expectedSessionId: string, expectedGeneration: string, expectedEndpointEpoch?: string | undefined);
370
+ handle(record: CodexAppControlWireRecord | undefined, sentThrough: number): CodexAppControlRunnerHandshakeAction;
371
+ get active(): boolean;
372
+ }
373
+ export declare function verifyCodexAppControlAuth(auth: CodexAppControlAuth, publicKey: string): boolean;
374
+ export declare function authenticateCodexAppControlCandidate(input: {
375
+ state: CodexAppControlState | undefined;
376
+ auth: CodexAppControlAuth;
377
+ sessionId: string;
378
+ challenge: string;
379
+ }): CodexAppControlIdentity | undefined;
380
+ export declare function verifyCodexAppSignedControlMarker(marker: CodexAppSignedControlMarker, publicKey: string): boolean;
381
+ /**
382
+ * Marker sequences may begin above one after a worker replacement, but every
383
+ * record on one authenticated connection must then be contiguous. This keeps
384
+ * a skipped final fragment from being hidden by a later cumulative ACK.
385
+ */
386
+ export declare class CodexAppControlSequenceFence {
387
+ private previous;
388
+ accept(seq: number): boolean;
389
+ }
390
+ export type CodexAppFinalAssemblyResult = {
391
+ status: 'not-final';
392
+ } | {
393
+ status: 'accepted';
394
+ } | {
395
+ status: 'complete';
396
+ payload: Record<string, unknown>;
397
+ } | {
398
+ status: 'reject';
399
+ reason: string;
400
+ };
401
+ /**
402
+ * Per-connection final transaction assembler. Start and chunks deliberately
403
+ * remain unacknowledged; only a valid, complete end record is eligible for the
404
+ * cumulative ACK. Any gap or interleaving rejects the connection, so the
405
+ * runner must re-sign and replay the complete transaction under a new
406
+ * challenge.
407
+ */
408
+ export declare class CodexAppControlFinalAssembler {
409
+ private active;
410
+ accept(kind: string, payload: Record<string, unknown>): CodexAppFinalAssemblyResult;
411
+ clear(): void;
412
+ private reject;
413
+ }
414
+ /**
415
+ * Per-worker replay window for authenticated runner generations. A runner may
416
+ * reconnect after losing an ACK and legitimately re-sign the same sequence
417
+ * under the new connection challenge; the worker ACKs that retry without
418
+ * applying its lifecycle/final side effects twice.
419
+ */
420
+ export declare class CodexAppControlReplayWindow {
421
+ private readonly highWaterByGeneration;
422
+ highWater(generation: string): number;
423
+ hasSeen(generation: string, seq: number): boolean;
424
+ commit(generation: string, seq: number): void;
425
+ retainOnly(generation: string): void;
426
+ }
427
+ /** Bounded newline decoder; oversized attacker input is discarded until resync. */
428
+ export declare class CodexAppControlLineDecoder {
429
+ private pending;
430
+ private droppingOversized;
431
+ push(chunk: Buffer): {
432
+ lines: string[];
433
+ droppedMalformed: boolean;
434
+ };
435
+ clear(): void;
436
+ }
437
+ export {};
438
+ //# sourceMappingURL=codex-app-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-app-control.d.ts","sourceRoot":"","sources":["../../src/utils/codex-app-control.ts"],"names":[],"mappings":"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"}