cli-jaw 2.0.10 → 2.0.16

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 (718) hide show
  1. package/README.ja.md +8 -5
  2. package/README.ko.md +8 -5
  3. package/README.md +31 -14
  4. package/README.zh-CN.md +8 -5
  5. package/dist/bin/commands/browser-web-ai.js +1 -0
  6. package/dist/bin/commands/browser-web-ai.js.map +1 -1
  7. package/dist/bin/commands/browser.js +1 -1
  8. package/dist/bin/commands/dashboard-memory.js +1 -0
  9. package/dist/bin/commands/dashboard-memory.js.map +1 -1
  10. package/dist/bin/commands/dispatch.js +34 -7
  11. package/dist/bin/commands/dispatch.js.map +1 -1
  12. package/dist/bin/commands/doctor.js +12 -6
  13. package/dist/bin/commands/doctor.js.map +1 -1
  14. package/dist/bin/commands/init.js +1 -2
  15. package/dist/bin/commands/init.js.map +1 -1
  16. package/dist/bin/commands/orchestrate.js +6 -4
  17. package/dist/bin/commands/orchestrate.js.map +1 -1
  18. package/dist/bin/commands/serve.js +3 -1
  19. package/dist/bin/commands/serve.js.map +1 -1
  20. package/dist/bin/commands/tui/overlays.js +4 -4
  21. package/dist/bin/commands/tui/overlays.js.map +1 -1
  22. package/dist/bin/commands/tui/types.js +2 -0
  23. package/dist/bin/commands/tui/types.js.map +1 -1
  24. package/dist/bin/postinstall.js +0 -176
  25. package/dist/bin/postinstall.js.map +1 -1
  26. package/dist/scripts/fresh-install-smoke.js +1 -2
  27. package/dist/scripts/fresh-install-smoke.js.map +1 -1
  28. package/dist/server.js +52 -18
  29. package/dist/server.js.map +1 -1
  30. package/dist/src/agent/agy-runtime.js +4 -0
  31. package/dist/src/agent/agy-runtime.js.map +1 -1
  32. package/dist/src/agent/alert-escalation.js +8 -2
  33. package/dist/src/agent/alert-escalation.js.map +1 -1
  34. package/dist/src/agent/args.js +35 -2
  35. package/dist/src/agent/args.js.map +1 -1
  36. package/dist/src/agent/codex-app-client.js +3 -0
  37. package/dist/src/agent/codex-app-client.js.map +1 -1
  38. package/dist/src/agent/cursor-runtime.js +240 -0
  39. package/dist/src/agent/cursor-runtime.js.map +1 -0
  40. package/dist/src/agent/events/acp.js +7 -3
  41. package/dist/src/agent/events/acp.js.map +1 -1
  42. package/dist/src/agent/events/claude.js +5 -2
  43. package/dist/src/agent/events/claude.js.map +1 -1
  44. package/dist/src/agent/events/codex.js +21 -13
  45. package/dist/src/agent/events/codex.js.map +1 -1
  46. package/dist/src/agent/events/cursor.js +176 -0
  47. package/dist/src/agent/events/cursor.js.map +1 -0
  48. package/dist/src/agent/events/grok.js +13 -3
  49. package/dist/src/agent/events/grok.js.map +1 -1
  50. package/dist/src/agent/events/index.js +27 -0
  51. package/dist/src/agent/events/index.js.map +1 -1
  52. package/dist/src/agent/events/tool-labels.js +13 -6
  53. package/dist/src/agent/events/tool-labels.js.map +1 -1
  54. package/dist/src/agent/lifecycle-handler.js +150 -5
  55. package/dist/src/agent/lifecycle-handler.js.map +1 -1
  56. package/dist/src/agent/resume-classifier.js +2 -0
  57. package/dist/src/agent/resume-classifier.js.map +1 -1
  58. package/dist/src/agent/spawn/resume.js +13 -2
  59. package/dist/src/agent/spawn/resume.js.map +1 -1
  60. package/dist/src/agent/spawn.js +44 -17
  61. package/dist/src/agent/spawn.js.map +1 -1
  62. package/dist/src/cli/claude-models.js +3 -0
  63. package/dist/src/cli/claude-models.js.map +1 -1
  64. package/dist/src/cli/commands.js +66 -10
  65. package/dist/src/cli/commands.js.map +1 -1
  66. package/dist/src/cli/handlers-runtime.js +2 -2
  67. package/dist/src/cli/handlers-runtime.js.map +1 -1
  68. package/dist/src/cli/handlers-workflows.js +339 -0
  69. package/dist/src/cli/handlers-workflows.js.map +1 -0
  70. package/dist/src/cli/handlers.js +11 -1
  71. package/dist/src/cli/handlers.js.map +1 -1
  72. package/dist/src/cli/readiness.js +22 -1
  73. package/dist/src/cli/readiness.js.map +1 -1
  74. package/dist/src/cli/registry.js +12 -0
  75. package/dist/src/cli/registry.js.map +1 -1
  76. package/dist/src/cli/tui/overlay.js +2 -2
  77. package/dist/src/cli/tui/overlay.js.map +1 -1
  78. package/dist/src/command-contract/catalog.js +3 -1
  79. package/dist/src/command-contract/catalog.js.map +1 -1
  80. package/dist/src/core/cli-detection.js +203 -0
  81. package/dist/src/core/cli-detection.js.map +1 -0
  82. package/dist/src/core/config.js +2 -140
  83. package/dist/src/core/config.js.map +1 -1
  84. package/dist/src/core/runtime-settings.js +31 -0
  85. package/dist/src/core/runtime-settings.js.map +1 -1
  86. package/dist/src/discord/bot.js +47 -26
  87. package/dist/src/discord/bot.js.map +1 -1
  88. package/dist/src/discord/commands.js +4 -10
  89. package/dist/src/discord/commands.js.map +1 -1
  90. package/dist/src/discord/send-only-client.js +79 -0
  91. package/dist/src/discord/send-only-client.js.map +1 -0
  92. package/dist/src/goal/heartbeat.js +51 -0
  93. package/dist/src/goal/heartbeat.js.map +1 -0
  94. package/dist/src/goal/runtime.js +31 -0
  95. package/dist/src/goal/runtime.js.map +1 -0
  96. package/dist/src/goal/store.js +153 -0
  97. package/dist/src/goal/store.js.map +1 -0
  98. package/dist/src/goal/types.js +2 -0
  99. package/dist/src/goal/types.js.map +1 -0
  100. package/dist/src/goal-run/controller.js +113 -0
  101. package/dist/src/goal-run/controller.js.map +1 -0
  102. package/dist/src/goal-run/events.js +25 -0
  103. package/dist/src/goal-run/events.js.map +1 -0
  104. package/dist/src/goal-run/failure-matrix.js +26 -0
  105. package/dist/src/goal-run/failure-matrix.js.map +1 -0
  106. package/dist/src/goal-run/policy.js +46 -0
  107. package/dist/src/goal-run/policy.js.map +1 -0
  108. package/dist/src/goal-run/types.js +2 -0
  109. package/dist/src/goal-run/types.js.map +1 -0
  110. package/dist/src/manager/git/diff-service.js +202 -0
  111. package/dist/src/manager/git/diff-service.js.map +1 -0
  112. package/dist/src/manager/notes/assets.js +11 -4
  113. package/dist/src/manager/notes/assets.js.map +1 -1
  114. package/dist/src/manager/notes/auth.js +123 -0
  115. package/dist/src/manager/notes/auth.js.map +1 -0
  116. package/dist/src/manager/notes/git.js +154 -0
  117. package/dist/src/manager/notes/git.js.map +1 -0
  118. package/dist/src/manager/notes/plugins.js +107 -0
  119. package/dist/src/manager/notes/plugins.js.map +1 -0
  120. package/dist/src/manager/notes/routes.js +91 -2
  121. package/dist/src/manager/notes/routes.js.map +1 -1
  122. package/dist/src/manager/notes/store.js +71 -1
  123. package/dist/src/manager/notes/store.js.map +1 -1
  124. package/dist/src/manager/notes/watcher.js +40 -4
  125. package/dist/src/manager/notes/watcher.js.map +1 -1
  126. package/dist/src/manager/notes/wiki-links.js +99 -10
  127. package/dist/src/manager/notes/wiki-links.js.map +1 -1
  128. package/dist/src/manager/notes/ws.js +62 -0
  129. package/dist/src/manager/notes/ws.js.map +1 -0
  130. package/dist/src/manager/preview-link-policy.js +46 -0
  131. package/dist/src/manager/preview-link-policy.js.map +1 -0
  132. package/dist/src/manager/preview-origin-proxy.js +28 -5
  133. package/dist/src/manager/preview-origin-proxy.js.map +1 -1
  134. package/dist/src/manager/preview-ports.js +12 -0
  135. package/dist/src/manager/preview-ports.js.map +1 -0
  136. package/dist/src/manager/proxy.js +15 -3
  137. package/dist/src/manager/proxy.js.map +1 -1
  138. package/dist/src/manager/registry.js +115 -0
  139. package/dist/src/manager/registry.js.map +1 -1
  140. package/dist/src/manager/routes/dashboard-git.js +106 -0
  141. package/dist/src/manager/routes/dashboard-git.js.map +1 -0
  142. package/dist/src/manager/server.js +60 -4
  143. package/dist/src/manager/server.js.map +1 -1
  144. package/dist/src/memory/heartbeat.js +4 -1
  145. package/dist/src/memory/heartbeat.js.map +1 -1
  146. package/dist/src/messaging/channel-health.js +54 -0
  147. package/dist/src/messaging/channel-health.js.map +1 -0
  148. package/dist/src/messaging/runtime.js +1 -0
  149. package/dist/src/messaging/runtime.js.map +1 -1
  150. package/dist/src/messaging/send-result.js +9 -0
  151. package/dist/src/messaging/send-result.js.map +1 -0
  152. package/dist/src/orchestrator/pipeline.js +45 -0
  153. package/dist/src/orchestrator/pipeline.js.map +1 -1
  154. package/dist/src/orchestrator/state-machine.js +50 -1
  155. package/dist/src/orchestrator/state-machine.js.map +1 -1
  156. package/dist/src/prompt/templates/a1-system.md +16 -8
  157. package/dist/src/prompt/templates/employee.md +3 -1
  158. package/dist/src/prompt/templates/orchestration.md +15 -5
  159. package/dist/src/routes/goal-run.js +86 -0
  160. package/dist/src/routes/goal-run.js.map +1 -0
  161. package/dist/src/routes/goal.js +118 -0
  162. package/dist/src/routes/goal.js.map +1 -0
  163. package/dist/src/routes/messaging.js +17 -11
  164. package/dist/src/routes/messaging.js.map +1 -1
  165. package/dist/src/routes/orchestrate.js +47 -17
  166. package/dist/src/routes/orchestrate.js.map +1 -1
  167. package/dist/src/routes/quota-agy-reverse.js +133 -0
  168. package/dist/src/routes/quota-agy-reverse.js.map +1 -0
  169. package/dist/src/routes/quota-cursor-dashboard.js +200 -0
  170. package/dist/src/routes/quota-cursor-dashboard.js.map +1 -0
  171. package/dist/src/routes/settings.js +6 -6
  172. package/dist/src/routes/settings.js.map +1 -1
  173. package/dist/src/team/collector.js +45 -0
  174. package/dist/src/team/collector.js.map +1 -0
  175. package/dist/src/team/dispatcher.js +35 -0
  176. package/dist/src/team/dispatcher.js.map +1 -0
  177. package/dist/src/team/planner.js +58 -0
  178. package/dist/src/team/planner.js.map +1 -0
  179. package/dist/src/team/preflight.js +46 -0
  180. package/dist/src/team/preflight.js.map +1 -0
  181. package/dist/src/team/types.js +12 -0
  182. package/dist/src/team/types.js.map +1 -0
  183. package/dist/src/telegram/bot.js +41 -10
  184. package/dist/src/telegram/bot.js.map +1 -1
  185. package/dist/src/types/cli-engine.js +1 -0
  186. package/dist/src/types/cli-engine.js.map +1 -1
  187. package/dist/src/types/cli-events.js +1 -1
  188. package/dist/src/types/cli-events.js.map +1 -1
  189. package/dist/src/workflows/artifacts.js +148 -0
  190. package/dist/src/workflows/artifacts.js.map +1 -0
  191. package/dist/src/workflows/browser-web-ai.js +18 -0
  192. package/dist/src/workflows/browser-web-ai.js.map +1 -0
  193. package/dist/src/workflows/checkpoint/store.js +31 -0
  194. package/dist/src/workflows/checkpoint/store.js.map +1 -0
  195. package/dist/src/workflows/checkpoint/types.js +4 -0
  196. package/dist/src/workflows/checkpoint/types.js.map +1 -0
  197. package/dist/src/workflows/competitive-gap.js +96 -0
  198. package/dist/src/workflows/competitive-gap.js.map +1 -0
  199. package/dist/src/workflows/context-map/builder.js +61 -0
  200. package/dist/src/workflows/context-map/builder.js.map +1 -0
  201. package/dist/src/workflows/context.js +19 -0
  202. package/dist/src/workflows/context.js.map +1 -0
  203. package/dist/src/workflows/deliberate.js +67 -0
  204. package/dist/src/workflows/deliberate.js.map +1 -0
  205. package/dist/src/workflows/employee-boundary.js +33 -0
  206. package/dist/src/workflows/employee-boundary.js.map +1 -0
  207. package/dist/src/workflows/events.js +24 -0
  208. package/dist/src/workflows/events.js.map +1 -0
  209. package/dist/src/workflows/guards.js +18 -0
  210. package/dist/src/workflows/guards.js.map +1 -0
  211. package/dist/src/workflows/handoff.js +48 -0
  212. package/dist/src/workflows/handoff.js.map +1 -0
  213. package/dist/src/workflows/index.js +6 -0
  214. package/dist/src/workflows/index.js.map +1 -0
  215. package/dist/src/workflows/permissions/policy.js +25 -0
  216. package/dist/src/workflows/permissions/policy.js.map +1 -0
  217. package/dist/src/workflows/permissions/types.js +26 -0
  218. package/dist/src/workflows/permissions/types.js.map +1 -0
  219. package/dist/src/workflows/plan.js +70 -0
  220. package/dist/src/workflows/plan.js.map +1 -0
  221. package/dist/src/workflows/planaudit.js +64 -0
  222. package/dist/src/workflows/planaudit.js.map +1 -0
  223. package/dist/src/workflows/runtime-guards.js +46 -0
  224. package/dist/src/workflows/runtime-guards.js.map +1 -0
  225. package/dist/src/workflows/runtime.js +25 -0
  226. package/dist/src/workflows/runtime.js.map +1 -0
  227. package/dist/src/workflows/status.js +49 -0
  228. package/dist/src/workflows/status.js.map +1 -0
  229. package/dist/src/workflows/types.js +4 -0
  230. package/dist/src/workflows/types.js.map +1 -0
  231. package/dist/src/workflows/web-ai-guards.js +22 -0
  232. package/dist/src/workflows/web-ai-guards.js.map +1 -0
  233. package/package.json +9 -4
  234. package/public/assets/providers/cursor-color.svg +2 -0
  235. package/public/assets/providers/cursor.svg +2 -0
  236. package/public/css/chat.css +99 -0
  237. package/public/css/orc-state.css +11 -1
  238. package/public/css/sidebar.css +34 -0
  239. package/public/css/variables.css +23 -2
  240. package/public/css/workflow-cockpit.css +62 -0
  241. package/public/dist/assets/{AdvancedExport-CZEVPqHb.js → AdvancedExport-DLCgT_ZP.js} +1 -1
  242. package/public/dist/assets/{Agent-BBrJGd5m.js → Agent-CIUGaUVn.js} +1 -1
  243. package/public/dist/assets/{Browser-dBaU9G9D.js → Browser-C4TCAhKR.js} +1 -1
  244. package/public/dist/assets/BrowserPanel-BN01Lfc5.css +1 -0
  245. package/public/dist/assets/BrowserPanel-weeCb2qu.js +1 -0
  246. package/public/dist/assets/ChannelsDiscord-Bwt2-Jva.js +1 -0
  247. package/public/dist/assets/ChannelsTelegram-xjA3-Mr8.js +1 -0
  248. package/public/dist/assets/{DashboardMeta-LVAL7TtE.js → DashboardMeta-CBckkL_V.js} +1 -1
  249. package/public/dist/assets/DiffPanel-BHvC0wCX.css +1 -0
  250. package/public/dist/assets/DiffPanel-DZ4-3QSH.js +3 -0
  251. package/public/dist/assets/{Display-CFm1UmEo.js → Display-BPbCVOoi.js} +1 -1
  252. package/public/dist/assets/DocPanel-C1pGgE-S.js +1 -0
  253. package/public/dist/assets/DocPanel-CL1scIfq.css +1 -0
  254. package/public/dist/assets/Employees-BL9MAzzx.js +1 -0
  255. package/public/dist/assets/FolderPanel-DSkanaGN.js +1 -0
  256. package/public/dist/assets/FolderPanel-XCno5AI9.css +1 -0
  257. package/public/dist/assets/Heartbeat-D64JCg4t.js +1 -0
  258. package/public/dist/assets/MarkdownRenderer-CS6jvLpf.js +15 -0
  259. package/public/dist/assets/{Mcp-9NU4YkKO.js → Mcp-wYwJA_61.js} +1 -1
  260. package/public/dist/assets/{Memory-uZT30fww.js → Memory-BgN8djV4.js} +1 -1
  261. package/public/dist/assets/MilkdownWysiwygEditor-Btwmr5Re.js +160 -0
  262. package/public/dist/assets/{ModelProvider-CsIOyoZP.js → ModelProvider-DHQ1Zvw0.js} +1 -1
  263. package/public/dist/assets/{Network-D7hGwnyG.js → Network-B-WvB6R5.js} +1 -1
  264. package/public/dist/assets/NotesGraphWorkspace-CK8kKY8A.js +1 -0
  265. package/public/dist/assets/{Permissions-DwdU3wi8.js → Permissions-BvtVczZS.js} +1 -1
  266. package/public/dist/assets/Permissions-QxvByCop.js +1 -0
  267. package/public/dist/assets/{Profile-BNTKD_Ex.js → Profile-D_6kFj73.js} +1 -1
  268. package/public/dist/assets/{Prompts-D_mCfYiu.js → Prompts--4CM3enz.js} +1 -1
  269. package/public/dist/assets/{SpeechKeys-BTXCM-Fs.js → SpeechKeys-Cx4_SXTM.js} +1 -1
  270. package/public/dist/assets/TerminalPanel-AKKXu8dJ.js +36 -0
  271. package/public/dist/assets/TerminalPanel-DdE69MNo.css +1 -0
  272. package/public/dist/assets/TransportStatusChips-BwR7Sq4s.js +1 -0
  273. package/public/dist/assets/agent-meta-BhEbjy4P.js +1 -0
  274. package/public/dist/assets/api-30EcU_Lb.js +1 -0
  275. package/public/dist/assets/app-DLDdZ41k.js +48 -0
  276. package/public/dist/assets/app-RpnKs-sT.css +1 -0
  277. package/public/dist/assets/architecture-7EHR7CIX-GHIeXYpv.js +1 -0
  278. package/public/dist/assets/{architectureDiagram-3BPJPVTR-CJCPEsxo.js → architectureDiagram-3BPJPVTR-ByOUFrxp.js} +1 -1
  279. package/public/dist/assets/{blockDiagram-GPEHLZMM-CO1bkn0E.js → blockDiagram-GPEHLZMM-BcefwseF.js} +2 -2
  280. package/public/dist/assets/{c4Diagram-AAUBKEIU-D2R36Xu6.js → c4Diagram-AAUBKEIU-C9FinBRA.js} +1 -1
  281. package/public/dist/assets/channel-5QxFRU5l.js +1 -0
  282. package/public/dist/assets/{chunk-2J33WTMH-xiPJWKcl.js → chunk-2J33WTMH-N9wxleFR.js} +1 -1
  283. package/public/dist/assets/{chunk-3OPIFGDE-DixnEkZw.js → chunk-3OPIFGDE-B1qdy3mP.js} +1 -1
  284. package/public/dist/assets/{chunk-4BX2VUAB-6lTRwyT0.js → chunk-4BX2VUAB-Dbg5PjGD.js} +1 -1
  285. package/public/dist/assets/{chunk-4EGX6M5U-DXtAEgX6.js → chunk-4EGX6M5U-BIFnMXqg.js} +1 -1
  286. package/public/dist/assets/chunk-55IACEB6-C9gRJHcb.js +1 -0
  287. package/public/dist/assets/{chunk-5DO6E6H7-DDcMHB95.js → chunk-5DO6E6H7-Dc9k92pO.js} +1 -1
  288. package/public/dist/assets/{chunk-5ZQYHXKU-Bli4k6GI.js → chunk-5ZQYHXKU-BOYB4Qmp.js} +2 -2
  289. package/public/dist/assets/{chunk-727SXJPM-sp4W8bhf.js → chunk-727SXJPM-2OgKkBMF.js} +1 -1
  290. package/public/dist/assets/{chunk-AQP2D5EJ-Co6ucdGq.js → chunk-AQP2D5EJ-CIXopxD6.js} +1 -1
  291. package/public/dist/assets/{chunk-BR22UD5L-CVuYkAd1.js → chunk-BR22UD5L-DlNCrhSA.js} +1 -1
  292. package/public/dist/assets/{chunk-BSJP7CBP-B47GpxcW.js → chunk-BSJP7CBP-CpgaSqhR.js} +1 -1
  293. package/public/dist/assets/{chunk-CSCIHK7Q-CAE1p4Em.js → chunk-CSCIHK7Q-R-Y9ue5N.js} +1 -1
  294. package/public/dist/assets/{chunk-FHYWG6QK-CxZt-yZZ.js → chunk-FHYWG6QK-DVrRFYRd.js} +1 -1
  295. package/public/dist/assets/{chunk-FMBD7UC4-CwqBlx0l.js → chunk-FMBD7UC4-jn5b6_kv.js} +1 -1
  296. package/public/dist/assets/{chunk-KSCS5N6A-Beq1s5eO.js → chunk-KSCS5N6A-DayXQgYz.js} +2 -2
  297. package/public/dist/assets/{chunk-L5ZTLDWV-DfUlBdXN.js → chunk-L5ZTLDWV-CtcQ12uz.js} +1 -1
  298. package/public/dist/assets/{chunk-LZXEDZCA-B_yP4UKw.js → chunk-LZXEDZCA-BuEa86aU.js} +1 -1
  299. package/public/dist/assets/{chunk-MPE355IW-Bp4qAOUf.js → chunk-MPE355IW-Be8tT5FQ.js} +1 -1
  300. package/public/dist/assets/{chunk-MZUSXYTE-DAU-v-0c.js → chunk-MZUSXYTE-bFnwST0F.js} +1 -1
  301. package/public/dist/assets/{chunk-N66VUXT2-CpPz1L5u.js → chunk-N66VUXT2-BSpsJq6A.js} +1 -1
  302. package/public/dist/assets/{chunk-ND2GUHAM-3qbNb7I9.js → chunk-ND2GUHAM-CnEcVn6T.js} +1 -1
  303. package/public/dist/assets/{chunk-NZK2D7GU-CTqFQ8K5.js → chunk-NZK2D7GU-asW9Yrwq.js} +1 -1
  304. package/public/dist/assets/{chunk-O5CBEL6O-D-jDqsN2.js → chunk-O5CBEL6O-BVoXQ09V.js} +1 -1
  305. package/public/dist/assets/{chunk-PUPMXCY4-ppZvktf-.js → chunk-PUPMXCY4-BU48euO5.js} +1 -1
  306. package/public/dist/assets/chunk-QZHKN3VN-CC7ecfZE.js +1 -0
  307. package/public/dist/assets/{chunk-UIBZB4QT-rJZEVBX0.js → chunk-UIBZB4QT-aXCea_7h.js} +1 -1
  308. package/public/dist/assets/{chunk-WCWK7LTN-CGvUyB8h.js → chunk-WCWK7LTN-fR0CutHV.js} +1 -1
  309. package/public/dist/assets/chunk-WU5MYG2G-CDC6hlhk.js +1 -0
  310. package/public/dist/assets/{chunk-XPW4576I-BaQfzRci.js → chunk-XPW4576I-CFkDqujt.js} +1 -1
  311. package/public/dist/assets/classDiagram-4FO5ZUOK-Bfu4_8Yk.js +1 -0
  312. package/public/dist/assets/classDiagram-v2-Q7XG4LA2-_XyS72AY.js +1 -0
  313. package/public/dist/assets/constants-ahKI_aEG.js +1 -0
  314. package/public/dist/assets/{cose-bilkent-S5V4N54A-Bt9AAJCx.js → cose-bilkent-S5V4N54A-CZbCTJt4.js} +1 -1
  315. package/public/dist/assets/{dagre-BM42HDAG-CXEA1wvZ.js → dagre-BM42HDAG-BB0IJKjW.js} +1 -1
  316. package/public/dist/assets/{dagre-Ve-IAfyz.js → dagre-D4AB5Dyv.js} +1 -1
  317. package/public/dist/assets/desktop-bridge-CrqidwSb.js +1 -0
  318. package/public/dist/assets/{diagram-2AECGRRQ-CCB0OKc2.js → diagram-2AECGRRQ-CHUQ78BD.js} +1 -1
  319. package/public/dist/assets/{diagram-5GNKFQAL-Cki9HABy.js → diagram-5GNKFQAL-onxHMGMn.js} +1 -1
  320. package/public/dist/assets/{diagram-KO2AKTUF-DNBDjE2o.js → diagram-KO2AKTUF-BlgkTTwi.js} +1 -1
  321. package/public/dist/assets/{diagram-LMA3HP47-Cy23RDPa.js → diagram-LMA3HP47-BVWYubzU.js} +1 -1
  322. package/public/dist/assets/{diagram-OG6HWLK6-CT_YF8cA.js → diagram-OG6HWLK6-BM7IcJ6z.js} +1 -1
  323. package/public/dist/assets/dist-2S2B_MeU.js +1 -0
  324. package/public/dist/assets/dist-B2d2NOJ3.js +1 -0
  325. package/public/dist/assets/dist-BSF2Z7j1.js +6 -0
  326. package/public/dist/assets/dist-BZh7LRrp.js +1 -0
  327. package/public/dist/assets/dist-BaazPVzw.js +1 -0
  328. package/public/dist/assets/dist-Bn4kv_Se.js +1 -0
  329. package/public/dist/assets/dist-CB1fgeSN.js +1 -0
  330. package/public/dist/assets/dist-CG0XIeov.js +1 -0
  331. package/public/dist/assets/dist-CG65f_qI.js +1 -0
  332. package/public/dist/assets/dist-CJwXuDux.js +39 -0
  333. package/public/dist/assets/dist-CU9b0vPA.js +1 -0
  334. package/public/dist/assets/dist-CkWMWu5F.js +23 -0
  335. package/public/dist/assets/dist-CsK9fYYW.js +1 -0
  336. package/public/dist/assets/dist-CuNACpdD.js +1 -0
  337. package/public/dist/assets/dist-CzDHA1yv.js +1 -0
  338. package/public/dist/assets/dist-D0mdXpwq.js +1 -0
  339. package/public/dist/assets/{dist-3R3GxjCf.js → dist-DCefgfkj.js} +5 -5
  340. package/public/dist/assets/dist-DJ5byDHS2.js +1 -0
  341. package/public/dist/assets/dist-DLSl_Nbu.js +1 -0
  342. package/public/dist/assets/dist-DLa7--1u.js +1 -0
  343. package/public/dist/assets/dist-DZ1vWpde.js +1 -0
  344. package/public/dist/assets/dist-D_ULP6ER.js +1 -0
  345. package/public/dist/assets/dist-Dgo6P711.js +1 -0
  346. package/public/dist/assets/dist-DtkJvqbT.js +9 -0
  347. package/public/dist/assets/dist-DwzmyMDC.js +1 -0
  348. package/public/dist/assets/dist-H3yurMdo.js +11 -0
  349. package/public/dist/assets/dist-HtoUbUb4.js +1 -0
  350. package/public/dist/assets/dist-P76w4V8t.js +2 -0
  351. package/public/dist/assets/{dist-DuuoJfRB.js → dist-SWkyI5gN.js} +2 -2
  352. package/public/dist/assets/dist-w85EQGWO.js +1 -0
  353. package/public/dist/assets/{dockerfile-DAfh5qoE.js → dockerfile-O79f3xVO.js} +1 -1
  354. package/public/dist/assets/employees-DZSPGlaH.js +33 -0
  355. package/public/dist/assets/{erDiagram-TEJ5UH35-Cq7oHdXg.js → erDiagram-TEJ5UH35-Dr-3ziJG.js} +1 -1
  356. package/public/dist/assets/eventmodeling-FCH6USID-Du0rADZ8.js +1 -0
  357. package/public/dist/assets/{factor-BpoYJieo.js → factor-2MJ0aFHQ.js} +1 -1
  358. package/public/dist/assets/{flowDiagram-I6XJVG4X-D8CdEnfM.js → flowDiagram-I6XJVG4X-COxvv8bU.js} +1 -1
  359. package/public/dist/assets/{ganttDiagram-6RSMTGT7-B1rzKXi_.js → ganttDiagram-6RSMTGT7-BztWk1Ow.js} +2 -2
  360. package/public/dist/assets/gitGraph-WXDBUCRP-Cw5oPUI1.js +1 -0
  361. package/public/dist/assets/{gitGraphDiagram-PVQCEYII-CqLh-joi.js → gitGraphDiagram-PVQCEYII-Dw-pLiB8.js} +1 -1
  362. package/public/dist/assets/{graphlib-W5bESv3F.js → graphlib-DCNdUnXF.js} +1 -1
  363. package/public/dist/assets/info-J43DQDTF-bda--3fv.js +1 -0
  364. package/public/dist/assets/{infoDiagram-5YYISTIA-C1zVxumj.js → infoDiagram-5YYISTIA-BSM5RFYV.js} +1 -1
  365. package/public/dist/assets/{ishikawaDiagram-YF4QCWOH-x-9J6xPM.js → ishikawaDiagram-YF4QCWOH-DGqEaMN9.js} +1 -1
  366. package/public/dist/assets/javascript-BIzwdG_f.js +1 -0
  367. package/public/dist/assets/{journeyDiagram-JHISSGLW-BDYzHrtn.js → journeyDiagram-JHISSGLW-CBGlHr__.js} +1 -1
  368. package/public/dist/assets/{kanban-definition-UN3LZRKU-BJ-06i6Z.js → kanban-definition-UN3LZRKU-CtvwD90I.js} +1 -1
  369. package/public/dist/assets/manager-CFxbpg7j.css +1 -0
  370. package/public/dist/assets/manager-wAHlX68t.js +12 -0
  371. package/public/dist/assets/memory-B4RpXXJ7.js +20 -0
  372. package/public/dist/assets/memory-C9EVOb_D.js +1 -0
  373. package/public/dist/assets/mermaid-loader-BPeAxEES.js +1 -0
  374. package/public/dist/assets/{mermaid-parser.core-C62NUJRb.js → mermaid-parser.core-BB62R3s0.js} +1 -1
  375. package/public/dist/assets/mermaid.core-86z3EI0c.js +1 -0
  376. package/public/dist/assets/{mermaid.core-D8VnfThU.js → mermaid.core-Eh0d41ge.js} +2 -2
  377. package/public/dist/assets/{mindmap-definition-RKZ34NQL-D8NDuIhn.js → mindmap-definition-RKZ34NQL-Cg1Nirgc.js} +1 -1
  378. package/public/dist/assets/notes-graph-settings-CznA-Qu0.js +1 -0
  379. package/public/dist/assets/{nsis-Ch4QINLN.js → nsis-CVYtDIFk.js} +1 -1
  380. package/public/dist/assets/packet-YPE3B663-CdmMldz9.js +1 -0
  381. package/public/dist/assets/pie-LRSECV5Y-Bh7evnjl.js +1 -0
  382. package/public/dist/assets/{pieDiagram-4H26LBE5-CpBePil_.js → pieDiagram-4H26LBE5--PRag7Te.js} +1 -1
  383. package/public/dist/assets/{provider-icons-ClVd2suJ.js → provider-icons-XEfJPGTe.js} +9 -5
  384. package/public/dist/assets/{pug-CXYqmmpP.js → pug-DplZiQL-.js} +1 -1
  385. package/public/dist/assets/{quadrantDiagram-W4KKPZXB-C1WWpn88.js → quadrantDiagram-W4KKPZXB-BTql-Bsn.js} +1 -1
  386. package/public/dist/assets/radar-GUYGQ44K-Bi6iY53d.js +1 -0
  387. package/public/dist/assets/render-DnylWKO1.js +28 -0
  388. package/public/dist/assets/{requirementDiagram-4Y6WPE33-C_D5VbNk.js → requirementDiagram-4Y6WPE33-43_zBMme.js} +1 -1
  389. package/public/dist/assets/{sankeyDiagram-5OEKKPKP--RH3Es8R.js → sankeyDiagram-5OEKKPKP-Bhvu7fVp.js} +1 -1
  390. package/public/dist/assets/{sequenceDiagram-3UESZ5HK-CVI4AjhN.js → sequenceDiagram-3UESZ5HK-DiT6UbHL.js} +1 -1
  391. package/public/dist/assets/settings-DIG_i79X.js +1 -0
  392. package/public/dist/assets/settings-VCXKhhhz.js +66 -0
  393. package/public/dist/assets/sidebar-Bi_ktFVw.js +18 -0
  394. package/public/dist/assets/{skills-DbRVI-zf.js → skills-CW7NEhew.js} +2 -2
  395. package/public/dist/assets/skills-RjRqvykb.js +1 -0
  396. package/public/dist/assets/slash-commands-CAydTUgf.js +19 -0
  397. package/public/dist/assets/slash-commands-DdXu96Zd.js +1 -0
  398. package/public/dist/assets/{state-xhhyIPlq.js → state-D04-chBy.js} +1 -1
  399. package/public/dist/assets/{stateDiagram-AJRCARHV-4bx1rPZ3.js → stateDiagram-AJRCARHV-EdHNB699.js} +1 -1
  400. package/public/dist/assets/stateDiagram-v2-BHNVJYJU-CwXjV0-w.js +1 -0
  401. package/public/dist/assets/{timeline-definition-PNZ67QCA-DeQoGRE2.js → timeline-definition-PNZ67QCA-DLCG8ciJ.js} +1 -1
  402. package/public/dist/assets/{trace-drawer-CIVBXyRH.js → trace-drawer-G-KP3IbQ.js} +1 -1
  403. package/public/dist/assets/treeView-BLDUP644-gIRuNooA.js +1 -0
  404. package/public/dist/assets/treemap-LRROVOQU-DGFQnuQ3.js +1 -0
  405. package/public/dist/assets/ui-CIQjTLzc.js +1 -0
  406. package/public/dist/assets/ui-CkHB9Jmo.js +140 -0
  407. package/public/dist/assets/vendor-utils-BydMkEGM.js +1 -0
  408. package/public/dist/assets/{vennDiagram-CIIHVFJN-CejyJK0L.js → vennDiagram-CIIHVFJN-C93tL0id.js} +1 -1
  409. package/public/dist/assets/wardley-L42UT6IY-D7Pv8rzC.js +1 -0
  410. package/public/dist/assets/{wardleyDiagram-YWT4CUSO-DqXV0sa1.js → wardleyDiagram-YWT4CUSO-BQQr2bW2.js} +1 -1
  411. package/public/dist/assets/wiki-link-resolver-CQwLeKpN.js +22 -0
  412. package/public/dist/assets/wiki-link-suggestions-DnVtu7Jb.js +2 -0
  413. package/public/dist/assets/{xychartDiagram-2RQKCTM6-CWLoVl2b.js → xychartDiagram-2RQKCTM6-DGZ5VpP9.js} +2 -2
  414. package/public/dist/index.html +36 -10
  415. package/public/dist/manager/index.html +2 -2
  416. package/public/index.html +35 -8
  417. package/public/js/constants.ts +22 -1
  418. package/public/js/diagram/iframe-renderer.ts +2 -1
  419. package/public/js/features/chat-messages.ts +2 -2
  420. package/public/js/features/chat.ts +144 -17
  421. package/public/js/features/copy-text.ts +39 -0
  422. package/public/js/features/employees.ts +5 -5
  423. package/public/js/features/memory.ts +3 -4
  424. package/public/js/features/message-actions.ts +3 -2
  425. package/public/js/features/message-history.ts +2 -2
  426. package/public/js/features/pending-queue.ts +3 -2
  427. package/public/js/features/preview-shortcut-bridge.ts +25 -10
  428. package/public/js/features/settings-channel.ts +3 -0
  429. package/public/js/features/settings-cli-status.ts +254 -45
  430. package/public/js/features/settings-core.ts +8 -0
  431. package/public/js/features/settings.ts +1 -1
  432. package/public/js/features/slash-commands.ts +34 -2
  433. package/public/js/features/theme.ts +34 -6
  434. package/public/js/features/transport-status-row.ts +91 -0
  435. package/public/js/features/workflow-event-adapter.ts +77 -0
  436. package/public/js/main.ts +21 -4
  437. package/public/js/preview-parent-origin.ts +38 -0
  438. package/public/js/provider-icons.ts +6 -1
  439. package/public/js/render/code-copy.ts +16 -18
  440. package/public/js/render/file-links.ts +127 -30
  441. package/public/js/render/notes-vault-path.ts +64 -0
  442. package/public/js/render/post-render.ts +2 -2
  443. package/public/js/render/svg-actions.ts +4 -1
  444. package/public/js/render.ts +1 -0
  445. package/public/js/state.ts +19 -1
  446. package/public/js/ws.ts +121 -8
  447. package/public/locales/en.json +40 -0
  448. package/public/locales/ja.json +31 -0
  449. package/public/locales/ko.json +40 -0
  450. package/public/locales/zh.json +31 -0
  451. package/public/manager/src/App.tsx +65 -64
  452. package/public/manager/src/AppChrome.tsx +14 -5
  453. package/public/manager/src/InstancePreview.tsx +113 -2
  454. package/public/manager/src/SidebarRailRouter.tsx +67 -4
  455. package/public/manager/src/api.ts +46 -0
  456. package/public/manager/src/browser-panel/BrowserPanel.tsx +445 -0
  457. package/public/manager/src/browser-panel/browser-panel.css +241 -0
  458. package/public/manager/src/browser-panel/browser-url.ts +55 -0
  459. package/public/manager/src/clipboard/copy-text.ts +27 -0
  460. package/public/manager/src/components/CommandBar.tsx +2 -0
  461. package/public/manager/src/components/CommandCenter.tsx +3 -1
  462. package/public/manager/src/components/DesktopPanelControls.tsx +79 -0
  463. package/public/manager/src/components/SidebarRail.tsx +1 -1
  464. package/public/manager/src/components/WorkspaceLayout.tsx +71 -1
  465. package/public/manager/src/dashboard-settings/DashboardDeveloperSettingsSection.tsx +123 -0
  466. package/public/manager/src/dashboard-settings/DashboardSettingsSidebar.tsx +6 -2
  467. package/public/manager/src/dashboard-settings/DashboardSettingsWorkspace.tsx +4 -1
  468. package/public/manager/src/dashboard-settings/dashboard-settings-ui.ts +8 -0
  469. package/public/manager/src/desktop-link.tsx +6 -1
  470. package/public/manager/src/diff-panel/DiffPanel.tsx +219 -0
  471. package/public/manager/src/diff-panel/diff-client.ts +46 -0
  472. package/public/manager/src/diff-panel/diff-panel.css +163 -0
  473. package/public/manager/src/diff-panel/diff-root-candidates.ts +54 -0
  474. package/public/manager/src/doc-panel/DocPanel.tsx +113 -0
  475. package/public/manager/src/doc-panel/doc-panel.css +57 -0
  476. package/public/manager/src/folder-panel/FolderPanel.tsx +144 -0
  477. package/public/manager/src/folder-panel/folder-panel.css +82 -0
  478. package/public/manager/src/folder-panel/folder-sources.ts +93 -0
  479. package/public/manager/src/help/helpContent.tsx +3 -0
  480. package/public/manager/src/hooks/useDashboardView.ts +22 -1
  481. package/public/manager/src/main.tsx +2 -0
  482. package/public/manager/src/manager-components.css +12 -0
  483. package/public/manager/src/manager-dashboard-reminders-priority.css +11 -0
  484. package/public/manager/src/manager-dashboard-reminders.css +29 -0
  485. package/public/manager/src/manager-layout.css +68 -22
  486. package/public/manager/src/manager-notes.css +181 -0
  487. package/public/manager/src/manager-p0-1-1.css +118 -1
  488. package/public/manager/src/manager-polish.css +15 -12
  489. package/public/manager/src/manager-shortcuts.ts +17 -0
  490. package/public/manager/src/manager-tokens.css +25 -0
  491. package/public/manager/src/notes/MarkdownEditor.tsx +26 -3
  492. package/public/manager/src/notes/NotesFileTree.tsx +24 -2
  493. package/public/manager/src/notes/NotesGraphView.tsx +1 -145
  494. package/public/manager/src/notes/NotesSidebar.tsx +4 -0
  495. package/public/manager/src/notes/NotesThemeLoader.tsx +104 -0
  496. package/public/manager/src/notes/NotesWorkspace.tsx +33 -5
  497. package/public/manager/src/notes/graph/NotesGraphCanvas.tsx +195 -0
  498. package/public/manager/src/notes/graph/NotesGraphControlsPanel.tsx +172 -0
  499. package/public/manager/src/notes/graph/NotesGraphWorkspace.tsx +116 -0
  500. package/public/manager/src/notes/graph/notes-graph-filter.ts +192 -0
  501. package/public/manager/src/notes/graph/notes-graph-force.ts +36 -0
  502. package/public/manager/src/notes/graph/notes-graph-settings.ts +121 -0
  503. package/public/manager/src/notes/notes-graph.css +382 -0
  504. package/public/manager/src/notes/rendering/CodeBlock.tsx +5 -4
  505. package/public/manager/src/notes/rendering/MarkdownRenderer.tsx +3 -0
  506. package/public/manager/src/notes/useNoteSync.ts +67 -0
  507. package/public/manager/src/notes/wysiwyg/MilkdownWysiwygEditor.tsx +4 -0
  508. package/public/manager/src/notes/wysiwyg/milkdown-code-block-view.ts +5 -1
  509. package/public/manager/src/notes/wysiwyg/milkdown-slash-menu.ts +192 -0
  510. package/public/manager/src/notes/wysiwyg/milkdown-table-menu.ts +120 -0
  511. package/public/manager/src/panels/BottomPanel.tsx +61 -0
  512. package/public/manager/src/panels/BottomPanelTabBar.tsx +71 -0
  513. package/public/manager/src/panels/PanelLayoutProvider.tsx +288 -0
  514. package/public/manager/src/panels/PanelResizer.tsx +71 -0
  515. package/public/manager/src/panels/RightSidebar.tsx +192 -0
  516. package/public/manager/src/panels/desktop-bridge.ts +112 -0
  517. package/public/manager/src/panels/panel-capabilities.ts +44 -0
  518. package/public/manager/src/panels/panel-layout-registry-state.ts +38 -0
  519. package/public/manager/src/panels/panel-shortcut-bus.ts +15 -0
  520. package/public/manager/src/panels/panels.css +274 -0
  521. package/public/manager/src/panels/types.ts +16 -0
  522. package/public/manager/src/preview.ts +11 -1
  523. package/public/manager/src/settings/pages/ChannelsDiscord.tsx +3 -1
  524. package/public/manager/src/settings/pages/ChannelsTelegram.tsx +3 -1
  525. package/public/manager/src/settings/pages/components/ActiveChannelToggle.tsx +2 -2
  526. package/public/manager/src/settings/pages/components/TransportStatusChips.tsx +108 -0
  527. package/public/manager/src/settings/pages/components/agent/agent-meta.ts +22 -3
  528. package/public/manager/src/settings/pages/components/employees-helpers.ts +1 -0
  529. package/public/manager/src/settings/pages/components/heartbeat-helpers.ts +1 -0
  530. package/public/manager/src/settings-controls.css +57 -0
  531. package/public/manager/src/settings-embedding.css +3 -3
  532. package/public/manager/src/terminal/TerminalPanel.tsx +362 -0
  533. package/public/manager/src/terminal/terminal-bridge.ts +12 -0
  534. package/public/manager/src/terminal/terminal.css +175 -0
  535. package/public/manager/src/types.ts +66 -2
  536. package/public/manager/src/usePreviewShortcutMessages.ts +12 -3
  537. package/scripts/fresh-install-smoke.ts +1 -2
  538. package/scripts/install-risk-gate.mjs +0 -18
  539. package/scripts/install-wsl.sh +0 -46
  540. package/scripts/install.sh +0 -28
  541. package/scripts/release-gates.mjs +52 -0
  542. package/scripts/release.sh +9 -1
  543. package/scripts/require-release-evidence.mjs +0 -2
  544. package/public/dist/assets/ChannelsDiscord-CbmWms9-.js +0 -1
  545. package/public/dist/assets/ChannelsTelegram-BD4Eyztg.js +0 -1
  546. package/public/dist/assets/Employees-DcMChleU.js +0 -1
  547. package/public/dist/assets/HealthBadge-CfLTPTPW.js +0 -1
  548. package/public/dist/assets/Heartbeat-BoobN35p.js +0 -1
  549. package/public/dist/assets/MilkdownWysiwygEditor-Otw40DDF.js +0 -160
  550. package/public/dist/assets/NotesGraphView-CwdEnL7d.js +0 -1
  551. package/public/dist/assets/Permissions-CcIBptg3.js +0 -1
  552. package/public/dist/assets/agent-meta-BC7mLqo6.js +0 -1
  553. package/public/dist/assets/app-C7MAcAMu.js +0 -39
  554. package/public/dist/assets/app-CkFBKUf8.css +0 -1
  555. package/public/dist/assets/architecture-7EHR7CIX-wVaUQezY.js +0 -1
  556. package/public/dist/assets/channel-CCQujL1n.js +0 -1
  557. package/public/dist/assets/chunk-55IACEB6-DhWWzzdj.js +0 -1
  558. package/public/dist/assets/chunk-QZHKN3VN-CBAtPPT7.js +0 -1
  559. package/public/dist/assets/chunk-WU5MYG2G-DlBJtD7-.js +0 -1
  560. package/public/dist/assets/classDiagram-4FO5ZUOK-DmPJvqRM.js +0 -1
  561. package/public/dist/assets/classDiagram-v2-Q7XG4LA2-ECmTUt7U.js +0 -1
  562. package/public/dist/assets/constants-BXWl7LTi.js +0 -1
  563. package/public/dist/assets/dist-BLd7xdyq.js +0 -1
  564. package/public/dist/assets/dist-BaRrwDy3.js +0 -1
  565. package/public/dist/assets/dist-Bbsp4OF7.js +0 -1
  566. package/public/dist/assets/dist-BkBGlG70.js +0 -1
  567. package/public/dist/assets/dist-BkJ_1mj9.js +0 -1
  568. package/public/dist/assets/dist-BxCRVW5D.js +0 -1
  569. package/public/dist/assets/dist-C-v7Rm67.js +0 -23
  570. package/public/dist/assets/dist-CNgDEAy8.js +0 -1
  571. package/public/dist/assets/dist-CO_W5rr2.js +0 -1
  572. package/public/dist/assets/dist-ChAUfTbO.js +0 -1
  573. package/public/dist/assets/dist-D-k-lzQT.js +0 -1
  574. package/public/dist/assets/dist-D1hPukqY.js +0 -1
  575. package/public/dist/assets/dist-D5Qx-jQQ.js +0 -1
  576. package/public/dist/assets/dist-D7VNzYBv.js +0 -6
  577. package/public/dist/assets/dist-DAxnodoa.js +0 -1
  578. package/public/dist/assets/dist-DHSyODkR.js +0 -1
  579. package/public/dist/assets/dist-DaYTPjbb2.js +0 -1
  580. package/public/dist/assets/dist-DlWi9tVO.js +0 -1
  581. package/public/dist/assets/dist-Dv36UUXz.js +0 -1
  582. package/public/dist/assets/dist-F4CVhitP.js +0 -9
  583. package/public/dist/assets/dist-LHbJYy3N.js +0 -1
  584. package/public/dist/assets/dist-VIlx7JdU.js +0 -1
  585. package/public/dist/assets/dist-cgDt2PmY.js +0 -11
  586. package/public/dist/assets/dist-eW2LjRIK.js +0 -1
  587. package/public/dist/assets/dist-vGn3_sWA.js +0 -1
  588. package/public/dist/assets/employees-BmxY8Mw3.js +0 -33
  589. package/public/dist/assets/eventmodeling-FCH6USID-Cq0nylxO.js +0 -1
  590. package/public/dist/assets/gitGraph-WXDBUCRP-DDq6-3D3.js +0 -1
  591. package/public/dist/assets/info-J43DQDTF-OUnqwpUV.js +0 -1
  592. package/public/dist/assets/javascript-CZjRNq5R.js +0 -1
  593. package/public/dist/assets/manager-B2NWzG7j.css +0 -1
  594. package/public/dist/assets/manager-q68thm66.js +0 -25
  595. package/public/dist/assets/memory-BqqibBIE.js +0 -1
  596. package/public/dist/assets/memory-CRL72HB-.js +0 -20
  597. package/public/dist/assets/mermaid-loader-Dqb4ZUz6.js +0 -1
  598. package/public/dist/assets/mermaid.core-DYHvk6Pd.js +0 -1
  599. package/public/dist/assets/packet-YPE3B663-Bb9hBQ06.js +0 -1
  600. package/public/dist/assets/pie-LRSECV5Y-CNRQnRNZ.js +0 -1
  601. package/public/dist/assets/radar-GUYGQ44K-BxngU2v0.js +0 -1
  602. package/public/dist/assets/render-o_YEiCEO.js +0 -28
  603. package/public/dist/assets/settings-B0RlyAkI.js +0 -1
  604. package/public/dist/assets/settings-CCXRL5Ar.js +0 -46
  605. package/public/dist/assets/sidebar-DRJffqO1.js +0 -14
  606. package/public/dist/assets/skills-CFdzXbtK.js +0 -1
  607. package/public/dist/assets/slash-commands-BUM6u-Ex.js +0 -1
  608. package/public/dist/assets/slash-commands-C2YBMaQV.js +0 -14
  609. package/public/dist/assets/stateDiagram-v2-BHNVJYJU-CrfGPzHb.js +0 -1
  610. package/public/dist/assets/treeView-BLDUP644-cXRzPGzz.js +0 -1
  611. package/public/dist/assets/treemap-LRROVOQU-BsZE5HPE.js +0 -1
  612. package/public/dist/assets/ui-C3ArwMhv.js +0 -140
  613. package/public/dist/assets/ui-CboUuc_E.js +0 -1
  614. package/public/dist/assets/vendor-utils-rVejrfMR.js +0 -1
  615. package/public/dist/assets/wardley-L42UT6IY-D_qm0cZD.js +0 -1
  616. package/public/dist/assets/wiki-link-suggestions-e5BzJAZH.js +0 -23
  617. /package/public/dist/assets/{DashboardEmbeddingSection-6F8zSSja.js → DashboardEmbeddingSection-ChF63KXJ.js} +0 -0
  618. /package/public/dist/assets/{InlineWarn-C7ISyzDI.js → InlineWarn-CY6dBBMq.js} +0 -0
  619. /package/public/dist/assets/{apl-CieDeb7B.js → apl-CQGZdmVU.js} +0 -0
  620. /package/public/dist/assets/{asciiarmor-BRTyulZY.js → asciiarmor-6rdc1JOx.js} +0 -0
  621. /package/public/dist/assets/{asn1-DoNAtQ5o.js → asn1-D8iCH-On.js} +0 -0
  622. /package/public/dist/assets/{asterisk-CR7oKPxi.js → asterisk-ChqZLgq_.js} +0 -0
  623. /package/public/dist/assets/{brainfuck-abzPcrOz.js → brainfuck-CDmGO_27.js} +0 -0
  624. /package/public/dist/assets/{chunk-AGHRB4JF-CYdXVA2-.js → chunk-AGHRB4JF-BgIXD8KY.js} +0 -0
  625. /package/public/dist/assets/{chunk-NNHCCRGN-BaiX9a5F.js → chunk-NNHCCRGN-BPmsUfnh.js} +0 -0
  626. /package/public/dist/assets/{clike-B71Zq38G.js → clike-CSGpadKW.js} +0 -0
  627. /package/public/dist/assets/{clojure-Zm0UzHPq.js → clojure-CST35Ic-.js} +0 -0
  628. /package/public/dist/assets/{cmake-D3UNdg6L.js → cmake-BVvLLL-M.js} +0 -0
  629. /package/public/dist/assets/{cobol-4fYvwQR0.js → cobol-Ck6DkJOz.js} +0 -0
  630. /package/public/dist/assets/{coffeescript-Ct6bZdRU.js → coffeescript-D_Wxovbg.js} +0 -0
  631. /package/public/dist/assets/{commonlisp-CrgXVPcd.js → commonlisp-B8ANOF1p.js} +0 -0
  632. /package/public/dist/assets/{crystal-bGOl67VM.js → crystal-Daoo63FI.js} +0 -0
  633. /package/public/dist/assets/{css-B_EV3Xq2.js → css-BLiiJuyL.js} +0 -0
  634. /package/public/dist/assets/{cypher-DXDlHTYf.js → cypher-BMqftmWo.js} +0 -0
  635. /package/public/dist/assets/{cytoscape.esm-BK7ao2Ti.js → cytoscape.esm-Dgu56jtY.js} +0 -0
  636. /package/public/dist/assets/{d-RL5ynsiz.js → d-DOGkwbDi.js} +0 -0
  637. /package/public/dist/assets/{diff-B5McBGjz.js → diff-VsLDmRbo.js} +0 -0
  638. /package/public/dist/assets/{dist-DrIWh2fi.js → dist-DJlNCT5R.js} +0 -0
  639. /package/public/dist/assets/{dtd-l3sK4p_C.js → dtd-CxrLPib8.js} +0 -0
  640. /package/public/dist/assets/{dylan-WjJGY-rW.js → dylan-QB82VE9N.js} +0 -0
  641. /package/public/dist/assets/{ebnf-BGY79HOS.js → ebnf-B6cp6Red.js} +0 -0
  642. /package/public/dist/assets/{ecl-BKh7OE1d.js → ecl-zYbBq-k7.js} +0 -0
  643. /package/public/dist/assets/{eiffel-Bzvlg3oK.js → eiffel-DnQZC9e4.js} +0 -0
  644. /package/public/dist/assets/{elm-5_BqNmKu.js → elm-Cx44SA5e.js} +0 -0
  645. /package/public/dist/assets/{erlang-BdVwz8I8.js → erlang-CEHBsR_g.js} +0 -0
  646. /package/public/dist/assets/{fcl-B9cnfODD.js → fcl-D0vOEWq5.js} +0 -0
  647. /package/public/dist/assets/{fields-BwD_NGxe.js → fields-C-y_8RgA.js} +0 -0
  648. /package/public/dist/assets/{forth-wZbbnGzb.js → forth-KL0mdDBU.js} +0 -0
  649. /package/public/dist/assets/{fortran-BAJZrRfU.js → fortran-Dq4mvV2Z.js} +0 -0
  650. /package/public/dist/assets/{gas-D60ZhBat.js → gas-C1IQIiP2.js} +0 -0
  651. /package/public/dist/assets/{gherkin-B8tKjAAi.js → gherkin-DJavHCGq.js} +0 -0
  652. /package/public/dist/assets/{groovy-BAG9eJUD.js → groovy-DYXu3zX-.js} +0 -0
  653. /package/public/dist/assets/{haskell-Cj4TmWbg.js → haskell-CEbLR9qt.js} +0 -0
  654. /package/public/dist/assets/{haxe-8chnvz-o.js → haxe-BpJF7A4A.js} +0 -0
  655. /package/public/dist/assets/{http-DDYeO71z.js → http-DWdENtd1.js} +0 -0
  656. /package/public/dist/assets/{idl-D1hY-Gp_.js → idl-CE1kS3NQ.js} +0 -0
  657. /package/public/dist/assets/{javascript-Sh0ZUMP2.js → javascript-CJNkmBfh.js} +0 -0
  658. /package/public/dist/assets/{julia-BibioBF2.js → julia-BJgPYrDa.js} +0 -0
  659. /package/public/dist/assets/{livescript-CSZrB6F4.js → livescript-DsrJVqPX.js} +0 -0
  660. /package/public/dist/assets/{lua-BvTlo5w3.js → lua-C7UuQSXZ.js} +0 -0
  661. /package/public/dist/assets/{mathematica-Bexv8BWZ.js → mathematica-DUerNKxF.js} +0 -0
  662. /package/public/dist/assets/{mbox-BAhbA8z2.js → mbox-l0MV8RAb.js} +0 -0
  663. /package/public/dist/assets/{mirc-BzT5Kh4S.js → mirc-Bs-bacTk.js} +0 -0
  664. /package/public/dist/assets/{mllike-DeoJnUZQ.js → mllike-DDa-ra-x.js} +0 -0
  665. /package/public/dist/assets/{modelica-FD_-Fxlc.js → modelica-DorVekoh.js} +0 -0
  666. /package/public/dist/assets/{mscgen-C-OyhbwB.js → mscgen-Bu9Rmf5j.js} +0 -0
  667. /package/public/dist/assets/{mumps-BxkCDTK7.js → mumps-BERv0OoY.js} +0 -0
  668. /package/public/dist/assets/{nginx-2JaV__gC.js → nginx-Bsa-KRWy.js} +0 -0
  669. /package/public/dist/assets/{ntriples--rhhCzqb.js → ntriples-CQMTRhrZ.js} +0 -0
  670. /package/public/dist/assets/{octave-rS4nMzRe.js → octave-Bl83K6Ag.js} +0 -0
  671. /package/public/dist/assets/{oz-I4fMb_NC.js → oz-CCTboWOh.js} +0 -0
  672. /package/public/dist/assets/{page-shell-uNOxwdbr.js → page-shell-k5-hYhKb.js} +0 -0
  673. /package/public/dist/assets/{pascal-BEghJs8t.js → pascal-D-i7gVLf.js} +0 -0
  674. /package/public/dist/assets/{path-utils-h2GAj3hH.js → path-utils-ztBHV7MX.js} +0 -0
  675. /package/public/dist/assets/{perl-BRO9ZFo9.js → perl-BiLLXF9c.js} +0 -0
  676. /package/public/dist/assets/{pig-L4Ii6KI0.js → pig-D_F2azNe.js} +0 -0
  677. /package/public/dist/assets/{powershell-BBeqUCRp.js → powershell-AJ59gf0u.js} +0 -0
  678. /package/public/dist/assets/{properties-Boi0jF2J.js → properties-CPYgUZZu.js} +0 -0
  679. /package/public/dist/assets/{protobuf-fB2aGypX.js → protobuf-BTkGCn64.js} +0 -0
  680. /package/public/dist/assets/{puppet-BRmsErtO.js → puppet-CQcFSvge.js} +0 -0
  681. /package/public/dist/assets/{python-Be4P9Dgp.js → python-txj4co98.js} +0 -0
  682. /package/public/dist/assets/{q-DZGhDLYt.js → q-D48iiS-J.js} +0 -0
  683. /package/public/dist/assets/{r-B4NERjRM.js → r-KvgSjvcw.js} +0 -0
  684. /package/public/dist/assets/{rough.esm-C0Gkx4O1.js → rough.esm-DEk5_dnJ.js} +0 -0
  685. /package/public/dist/assets/{rpm-e-QbHJ1q.js → rpm-BcHYZFkz.js} +0 -0
  686. /package/public/dist/assets/{ruby-BSVP_v59.js → ruby-C_Hj_59H.js} +0 -0
  687. /package/public/dist/assets/{sas-DHlU4v4g.js → sas-iqYBvleh.js} +0 -0
  688. /package/public/dist/assets/{scheme-BGXbz5Hz.js → scheme-BIcb4en6.js} +0 -0
  689. /package/public/dist/assets/{shell-yonx6xY2.js → shell-CJbQRqgD.js} +0 -0
  690. /package/public/dist/assets/{sieve-ClPJUZyi.js → sieve-CEVqHONw.js} +0 -0
  691. /package/public/dist/assets/{simple-mode-CjViblDK.js → simple-mode-CyEi8-qy.js} +0 -0
  692. /package/public/dist/assets/{smalltalk-CHXubeqS.js → smalltalk-CzJ9RPAW.js} +0 -0
  693. /package/public/dist/assets/{solr-C6q6YwPz.js → solr-DhrIF5tD.js} +0 -0
  694. /package/public/dist/assets/{sparql-CcspZvEd.js → sparql-p9uHdCLs.js} +0 -0
  695. /package/public/dist/assets/{spreadsheet-DH3a4LBS.js → spreadsheet-BEYojJ7u.js} +0 -0
  696. /package/public/dist/assets/{sql-meoY6gNi.js → sql-CnA4GIza.js} +0 -0
  697. /package/public/dist/assets/{stex-D2bn6Zsh.js → stex-6IVJg-2X.js} +0 -0
  698. /package/public/dist/assets/{stylus-DbXGih0S.js → stylus-fqPouKsv.js} +0 -0
  699. /package/public/dist/assets/{swift-Ch391uOd.js → swift-DHXFQ55a.js} +0 -0
  700. /package/public/dist/assets/{tcl-CQBgGWDP.js → tcl-DI621_2I.js} +0 -0
  701. /package/public/dist/assets/{textile-4i3oG3tg.js → textile-CpiPRB46.js} +0 -0
  702. /package/public/dist/assets/{tiddlywiki-CXG1-CcK.js → tiddlywiki-DASPoia0.js} +0 -0
  703. /package/public/dist/assets/{tiki-DJqKUhA-.js → tiki-H2_-xfcb.js} +0 -0
  704. /package/public/dist/assets/{toml-C1FnyICQ.js → toml-BLGegqRu.js} +0 -0
  705. /package/public/dist/assets/{troff-Cp8NvRO0.js → troff-BH_j1MPi.js} +0 -0
  706. /package/public/dist/assets/{ttcn-cfg-BVuxfGZf.js → ttcn-cfg-kxhuYjqY.js} +0 -0
  707. /package/public/dist/assets/{ttcn-NlmW_fji.js → ttcn-q84VxP8I.js} +0 -0
  708. /package/public/dist/assets/{turtle-Ba9ERlnm.js → turtle-COu2Ajrp.js} +0 -0
  709. /package/public/dist/assets/{vb-DDs4gjJb.js → vb-7GRadaxb.js} +0 -0
  710. /package/public/dist/assets/{vbscript-gOFmdMJN.js → vbscript-Bibo3Rcb.js} +0 -0
  711. /package/public/dist/assets/{velocity-DtSNZA7i.js → velocity-CRfDkZn8.js} +0 -0
  712. /package/public/dist/assets/{verilog-Pldmtxe7.js → verilog-B1kgqsBR.js} +0 -0
  713. /package/public/dist/assets/{vhdl-BFfSgWGp.js → vhdl-qL7iOc7c.js} +0 -0
  714. /package/public/dist/assets/{w3c-keyname-BggQEPNo.js → w3c-keyname-BkTDclMX.js} +0 -0
  715. /package/public/dist/assets/{webidl-B6ZFYE2L.js → webidl-Bpu8XQq2.js} +0 -0
  716. /package/public/dist/assets/{xquery-DhxUT98N.js → xquery-C_ocxvPR.js} +0 -0
  717. /package/public/dist/assets/{yacas-jSkQeF1Q.js → yacas-DByFiVRK.js} +0 -0
  718. /package/public/dist/assets/{z80-D7Lt6v61.js → z80-CKuzqVbN.js} +0 -0
@@ -0,0 +1,113 @@
1
+ // Goal-run controller: manages run state and drives forward-only PABCD transitions.
2
+ // Does NOT import provider SDKs.
3
+ import { checkPreflightGates, allGatesPassed, checkBudget } from './policy.js';
4
+ import { classifyFailure } from './failure-matrix.js';
5
+ import { getActiveGoal } from '../goal/store.js';
6
+ import { getState } from '../orchestrator/state-machine.js';
7
+ import { getActiveWorkers, hasPendingWorkerReplays } from '../orchestrator/worker-registry.js';
8
+ let activeRun = null;
9
+ const DEFAULT_BUDGET = {
10
+ maxTurns: 10,
11
+ maxMinutes: 60,
12
+ maxDispatches: 5,
13
+ turnsUsed: 0,
14
+ minutesUsed: 0,
15
+ dispatchesUsed: 0,
16
+ };
17
+ export function getActiveRun() {
18
+ return activeRun;
19
+ }
20
+ export function preflight(mode = 'assist') {
21
+ const goal = getActiveGoal();
22
+ const gates = checkPreflightGates({
23
+ hasGoal: !!goal,
24
+ orcState: getState(),
25
+ workerBusy: getActiveWorkers().length > 0,
26
+ pendingReplay: hasPendingWorkerReplays(),
27
+ });
28
+ const budgetGate = checkBudget(DEFAULT_BUDGET);
29
+ gates.push(budgetGate);
30
+ return {
31
+ goalId: goal?.id ?? '',
32
+ mode,
33
+ status: 'preflight',
34
+ budget: { ...DEFAULT_BUDGET },
35
+ gates,
36
+ };
37
+ }
38
+ export function startRun(mode = 'assist') {
39
+ const state = preflight(mode);
40
+ if (!allGatesPassed(state.gates)) {
41
+ state.status = 'failed';
42
+ state.lastError = state.gates.filter(g => !g.passed).map(g => g.reason).join('; ');
43
+ return state;
44
+ }
45
+ state.status = 'running';
46
+ state.startedAt = new Date().toISOString();
47
+ activeRun = state;
48
+ return state;
49
+ }
50
+ export function pauseRun() {
51
+ if (!activeRun || activeRun.status !== 'running')
52
+ return null;
53
+ activeRun.status = 'paused';
54
+ return activeRun;
55
+ }
56
+ export function resumeRun() {
57
+ if (!activeRun || activeRun.status !== 'paused')
58
+ return null;
59
+ const gates = checkPreflightGates({
60
+ hasGoal: !!getActiveGoal(),
61
+ orcState: getState(),
62
+ workerBusy: getActiveWorkers().length > 0,
63
+ pendingReplay: hasPendingWorkerReplays(),
64
+ });
65
+ const budgetGate = checkBudget(activeRun.budget);
66
+ gates.push(budgetGate);
67
+ if (!allGatesPassed(gates)) {
68
+ activeRun.gates = gates;
69
+ activeRun.lastError = gates.filter(g => !g.passed).map(g => g.reason).join('; ');
70
+ return activeRun;
71
+ }
72
+ activeRun.status = 'running';
73
+ activeRun.gates = gates;
74
+ return activeRun;
75
+ }
76
+ export function stopRun(reason) {
77
+ if (!activeRun)
78
+ return null;
79
+ activeRun.status = 'stopped';
80
+ activeRun.stoppedAt = new Date().toISOString();
81
+ if (reason)
82
+ activeRun.lastError = reason;
83
+ const result = activeRun;
84
+ activeRun = null;
85
+ return result;
86
+ }
87
+ export function completeRun() {
88
+ if (!activeRun)
89
+ return null;
90
+ activeRun.status = 'completed';
91
+ activeRun.stoppedAt = new Date().toISOString();
92
+ const result = activeRun;
93
+ activeRun = null;
94
+ return result;
95
+ }
96
+ export function recordTurn() {
97
+ if (activeRun?.status === 'running') {
98
+ activeRun.budget.turnsUsed++;
99
+ }
100
+ }
101
+ export function recordDispatch() {
102
+ if (activeRun?.status === 'running') {
103
+ activeRun.budget.dispatchesUsed++;
104
+ }
105
+ }
106
+ export function handleFailure(phase, failureType, retryCount = 0) {
107
+ const decision = classifyFailure({ phase, failureType, retryCount });
108
+ if (decision.action === 'stop' && activeRun) {
109
+ stopRun(decision.reason);
110
+ }
111
+ return decision;
112
+ }
113
+ //# sourceMappingURL=controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/goal-run/controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ // Converts goal-run decisions into WorkflowEvent records.
2
+ // Does NOT import provider SDKs.
3
+ import { createWorkflowEvent } from '../workflows/events.js';
4
+ export function goalRunStartedEvent(goalId, mode) {
5
+ return createWorkflowEvent(goalId, 'goal-run', 'started', `Goal run started in ${mode} mode`);
6
+ }
7
+ export function goalRunPhaseEvent(goalId, phase, status) {
8
+ return createWorkflowEvent(goalId, 'goal-run', status, `Phase ${phase} ${status}`);
9
+ }
10
+ export function goalRunGuardEvent(goalId, guardCode, passed) {
11
+ return createWorkflowEvent(goalId, 'guard', passed ? 'done' : 'blocked', `Guard ${guardCode}: ${passed ? 'passed' : 'blocked'}`);
12
+ }
13
+ export function goalRunHandoffEvent(goalId, employee, phase) {
14
+ return createWorkflowEvent(goalId, 'handoff', 'started', `Handoff to ${employee} in phase ${phase}`);
15
+ }
16
+ export function goalRunCheckpointEvent(goalId, summary) {
17
+ return createWorkflowEvent(goalId, 'checkpoint', 'done', summary);
18
+ }
19
+ export function goalRunFailedEvent(goalId, reason) {
20
+ return createWorkflowEvent(goalId, 'goal-run', 'failed', reason);
21
+ }
22
+ export function goalRunCompletedEvent(goalId) {
23
+ return createWorkflowEvent(goalId, 'goal-run', 'done', 'Goal run completed');
24
+ }
25
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/goal-run/events.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,iCAAiC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,IAAY;IAC5D,OAAO,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,uBAAuB,IAAI,OAAO,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,KAAa,EAAE,MAAsC;IACnG,OAAO,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,SAAiB,EAAE,MAAe;IAChF,OAAO,mBAAmB,CACtB,MAAM,EACN,OAAO,EACP,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC3B,SAAS,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CACzD,CAAC;AACN,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,QAAgB,EAAE,KAAa;IAC/E,OAAO,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,QAAQ,aAAa,KAAK,EAAE,CAAC,CAAC;AACzG,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAc,EAAE,OAAe;IAClE,OAAO,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,MAAc;IAC7D,OAAO,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAChD,OAAO,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;AACjF,CAAC"}
@@ -0,0 +1,26 @@
1
+ export function classifyFailure(context) {
2
+ const { phase, failureType, retryCount } = context;
3
+ if (failureType === 'audit-fail') {
4
+ return { action: 'follow-up-plan', reason: 'Audit found issues. A revised plan is needed.' };
5
+ }
6
+ if (failureType === 'test-fail') {
7
+ if (retryCount < 2) {
8
+ return { action: 'retry', reason: 'Test failure — retrying with fixes.', maxRetries: 2 };
9
+ }
10
+ return { action: 'stop', reason: 'Test failures persist after retries.' };
11
+ }
12
+ if (failureType === 'dispatch-fail') {
13
+ if (retryCount < 1) {
14
+ return { action: 'retry', reason: 'Dispatch failed — one retry allowed.', maxRetries: 1 };
15
+ }
16
+ return { action: 'ask', reason: 'Dispatch failed repeatedly. Needs user decision.' };
17
+ }
18
+ if (failureType === 'type-error') {
19
+ return { action: 'stop', reason: `Type error in ${phase} phase. Manual fix required.` };
20
+ }
21
+ if (failureType === 'timeout') {
22
+ return { action: 'stop', reason: 'Operation timed out.' };
23
+ }
24
+ return { action: 'stop', reason: `Unknown failure in ${phase} phase.` };
25
+ }
26
+ //# sourceMappingURL=failure-matrix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failure-matrix.js","sourceRoot":"","sources":["../../../src/goal-run/failure-matrix.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAAC,OAI/B;IACG,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAEnD,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;QAC/B,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,+CAA+C,EAAE,CAAC;IACjG,CAAC;IAED,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;QAC9B,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,qCAAqC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QAC7F,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAC;IAC9E,CAAC;IAED,IAAI,WAAW,KAAK,eAAe,EAAE,CAAC;QAClC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,sCAAsC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QAC9F,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,kDAAkD,EAAE,CAAC;IACzF,CAAC;IAED,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;QAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,KAAK,8BAA8B,EAAE,CAAC;IAC5F,CAAC;IAED,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAC9D,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,KAAK,SAAS,EAAE,CAAC;AAC5E,CAAC"}
@@ -0,0 +1,46 @@
1
+ export function checkPreflightGates(ctx) {
2
+ const gates = [];
3
+ gates.push({
4
+ gate: 'active-goal',
5
+ passed: ctx.hasGoal,
6
+ reason: ctx.hasGoal ? undefined : 'No active goal. Use /goal set <objective> first.',
7
+ });
8
+ gates.push({
9
+ gate: 'idle-state',
10
+ passed: ctx.orcState === 'IDLE',
11
+ reason: ctx.orcState === 'IDLE' ? undefined : `PABCD is in ${ctx.orcState} phase. Reset or complete it first.`,
12
+ });
13
+ gates.push({
14
+ gate: 'no-busy-worker',
15
+ passed: !ctx.workerBusy,
16
+ reason: ctx.workerBusy ? 'An employee is currently busy.' : undefined,
17
+ });
18
+ gates.push({
19
+ gate: 'no-pending-replay',
20
+ passed: !ctx.pendingReplay,
21
+ reason: ctx.pendingReplay ? 'Pending worker results exist.' : undefined,
22
+ });
23
+ return gates;
24
+ }
25
+ export function allGatesPassed(gates) {
26
+ return gates.every(g => g.passed);
27
+ }
28
+ export function checkBudget(budget) {
29
+ const overTurns = budget.turnsUsed >= budget.maxTurns;
30
+ const overMinutes = budget.minutesUsed >= budget.maxMinutes;
31
+ const overDispatches = budget.dispatchesUsed >= budget.maxDispatches;
32
+ const exceeded = overTurns || overMinutes || overDispatches;
33
+ const reasons = [];
34
+ if (overTurns)
35
+ reasons.push(`turns: ${budget.turnsUsed}/${budget.maxTurns}`);
36
+ if (overMinutes)
37
+ reasons.push(`minutes: ${budget.minutesUsed}/${budget.maxMinutes}`);
38
+ if (overDispatches)
39
+ reasons.push(`dispatches: ${budget.dispatchesUsed}/${budget.maxDispatches}`);
40
+ return {
41
+ gate: 'budget',
42
+ passed: !exceeded,
43
+ reason: exceeded ? `Budget exceeded: ${reasons.join(', ')}` : undefined,
44
+ };
45
+ }
46
+ //# sourceMappingURL=policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/goal-run/policy.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAC,GAKnC;IACG,MAAM,KAAK,GAAwB,EAAE,CAAC;IAEtC,KAAK,CAAC,IAAI,CAAC;QACP,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kDAAkD;KACvF,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACP,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,GAAG,CAAC,QAAQ,KAAK,MAAM;QAC/B,MAAM,EAAE,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,QAAQ,qCAAqC;KACjH,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACP,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,CAAC,GAAG,CAAC,UAAU;QACvB,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,SAAS;KACxE,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACP,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,CAAC,GAAG,CAAC,aAAa;QAC1B,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,SAAS;KAC1E,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAA0B;IACrD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAqB;IAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC;IACtD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC;IAC5D,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,aAAa,CAAC;IACrE,MAAM,QAAQ,GAAG,SAAS,IAAI,WAAW,IAAI,cAAc,CAAC;IAC5D,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7E,IAAI,WAAW;QAAE,OAAO,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IACrF,IAAI,cAAc;QAAE,OAAO,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IACjG,OAAO;QACH,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,CAAC,QAAQ;QACjB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,oBAAoB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;KAC1E,CAAC;AACN,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/goal-run/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,202 @@
1
+ import { execFile } from 'node:child_process';
2
+ import { existsSync, realpathSync } from 'node:fs';
3
+ import { homedir } from 'node:os';
4
+ import { isAbsolute, relative, resolve, sep } from 'node:path';
5
+ const OUTPUT_CAP = 1024 * 1024;
6
+ const DIFF_MODES = new Set(['unstaged', 'staged', 'head', 'base']);
7
+ const CANDIDATE_SOURCES = new Set(['project', 'working-dir', 'pinned', 'home']);
8
+ function git(args, cwd, allowExitCodes = [0]) {
9
+ return new Promise((res, rej) => {
10
+ execFile('git', args, { cwd, maxBuffer: OUTPUT_CAP, timeout: 30_000 }, (err, stdout, stderr) => {
11
+ if (!err) {
12
+ res(stdout);
13
+ return;
14
+ }
15
+ const exitCode = typeof err.code === 'number' ? err.code : null;
16
+ if (exitCode !== null && allowExitCodes.includes(exitCode)) {
17
+ res(stdout);
18
+ return;
19
+ }
20
+ rej(new Error(stderr.trim() || err.message));
21
+ });
22
+ });
23
+ }
24
+ function isRecord(value) {
25
+ return Boolean(value) && typeof value === 'object' && !Array.isArray(value);
26
+ }
27
+ function resolvedHome() {
28
+ try {
29
+ return realpathSync(homedir());
30
+ }
31
+ catch {
32
+ return resolve(homedir());
33
+ }
34
+ }
35
+ export function isWithinHome(target) {
36
+ const home = resolvedHome();
37
+ let realTarget;
38
+ try {
39
+ realTarget = realpathSync(resolve(target));
40
+ }
41
+ catch {
42
+ const resolved = resolve(target);
43
+ return resolved === home || resolved.startsWith(home + sep);
44
+ }
45
+ return realTarget === home || realTarget.startsWith(home + sep);
46
+ }
47
+ export function assertContainedLexical(base, target) {
48
+ let realBase;
49
+ try {
50
+ realBase = realpathSync(resolve(base));
51
+ }
52
+ catch {
53
+ return false;
54
+ }
55
+ const resolved = resolve(realBase, target);
56
+ const rel = relative(realBase, resolved);
57
+ if (!rel || rel === '.')
58
+ return false;
59
+ return !rel.startsWith('..') && !isAbsolute(rel);
60
+ }
61
+ export function isValidRef(ref) {
62
+ if (!ref || ref.startsWith('-'))
63
+ return false;
64
+ return /^[a-zA-Z0-9_.\/~^@{}\-]+$/.test(ref);
65
+ }
66
+ export function readDiffOptions(value) {
67
+ const input = isRecord(value) ? value : {};
68
+ const mode = DIFF_MODES.has(String(input['mode'])) ? input['mode'] : 'unstaged';
69
+ const rawRef = typeof input['ref'] === 'string' && input['ref'].trim() ? input['ref'].trim() : undefined;
70
+ if (rawRef !== undefined && !isValidRef(rawRef))
71
+ return { ok: false, error: 'invalid ref' };
72
+ return {
73
+ ok: true,
74
+ options: {
75
+ mode,
76
+ includeUntracked: input['includeUntracked'] === true,
77
+ ...((mode === 'base' || mode === 'head') ? { ref: mode === 'base' ? rawRef ?? 'HEAD' : 'HEAD' } : {}),
78
+ },
79
+ };
80
+ }
81
+ export function readCandidate(value) {
82
+ if (!isRecord(value))
83
+ return null;
84
+ const path = typeof value['path'] === 'string' ? value['path'].trim() : '';
85
+ const label = typeof value['label'] === 'string' && value['label'].trim() ? value['label'].trim() : path;
86
+ const source = CANDIDATE_SOURCES.has(String(value['source'])) ? value['source'] : 'project';
87
+ if (!path)
88
+ return null;
89
+ return { path, label: label.slice(0, 120), source };
90
+ }
91
+ function pushCandidate(candidates, seen, candidate) {
92
+ const path = candidate.path.trim();
93
+ if (!path || seen.has(path))
94
+ return;
95
+ seen.add(path);
96
+ candidates.push({ ...candidate, path });
97
+ }
98
+ export function buildDiffRootCandidates(instance, homePath, settings) {
99
+ const candidates = [];
100
+ const seen = new Set();
101
+ const port = instance?.port == null ? null : String(instance.port);
102
+ const pinned = port ? settings.diffPinnedRootByPort[port] : null;
103
+ const projectDirs = instance?.projectDirs?.filter(Boolean) ?? [];
104
+ const workingDir = instance?.workingDir ?? null;
105
+ if (settings.diffRootPolicy === 'manual' && pinned)
106
+ pushCandidate(candidates, seen, { path: pinned, label: 'Pinned root', source: 'pinned' });
107
+ const projectCandidates = projectDirs.map((path, index) => ({ path, label: index === 0 ? 'Project root' : `Project root ${index + 1}`, source: 'project' }));
108
+ const workingCandidates = workingDir ? [{ path: workingDir, label: 'Working dir', source: 'working-dir' }] : [];
109
+ const ordered = settings.diffRootPolicy === 'working-dir-first' ? [...workingCandidates, ...projectCandidates] : [...projectCandidates, ...workingCandidates];
110
+ for (const candidate of ordered)
111
+ pushCandidate(candidates, seen, candidate);
112
+ if (settings.diffRootPolicy !== 'manual' && pinned)
113
+ pushCandidate(candidates, seen, { path: pinned, label: 'Pinned root', source: 'pinned' });
114
+ if (homePath)
115
+ pushCandidate(candidates, seen, { path: homePath, label: 'Home fallback', source: 'home' });
116
+ return candidates;
117
+ }
118
+ function pushDiffModeArgs(args, options) {
119
+ if (options.mode === 'staged')
120
+ args.push('--cached');
121
+ if (options.ref)
122
+ args.push('--end-of-options', options.ref);
123
+ }
124
+ function parseNumstat(output) {
125
+ return output.trim().split('\n').filter(Boolean).map(line => {
126
+ const parts = line.split('\t');
127
+ const ins = parseInt(parts[0] ?? '0', 10) || 0;
128
+ const del = parseInt(parts[1] ?? '0', 10) || 0;
129
+ const path = parts[2] ?? '';
130
+ const status = ins > 0 && del === 0 ? 'added'
131
+ : ins === 0 && del > 0 ? 'deleted'
132
+ : 'modified';
133
+ return { path, status, insertions: ins, deletions: del };
134
+ }).filter(f => f.path);
135
+ }
136
+ async function listUntracked(repoRoot) {
137
+ const output = await git(['-c', 'core.quotepath=false', 'ls-files', '--others', '--exclude-standard'], repoRoot);
138
+ return output.trim().split('\n').filter(Boolean).map(path => ({ path, status: 'untracked', insertions: 0, deletions: 0 }));
139
+ }
140
+ async function isUntracked(repoRoot, filePath) {
141
+ const output = await git(['-c', 'core.quotepath=false', 'ls-files', '--others', '--exclude-standard', '--', filePath], repoRoot);
142
+ return output.trim().split('\n').includes(filePath);
143
+ }
144
+ export async function resolveRepoCandidates(candidates) {
145
+ const seen = new Set();
146
+ const resolvedCandidates = [];
147
+ for (const candidate of candidates) {
148
+ if (!isWithinHome(candidate.path))
149
+ continue;
150
+ const resolved = resolve(candidate.path);
151
+ if (!existsSync(resolved))
152
+ continue;
153
+ try {
154
+ const root = (await git(['rev-parse', '--show-toplevel'], resolved)).trim();
155
+ if (!root || seen.has(root) || !isWithinHome(root))
156
+ continue;
157
+ seen.add(root);
158
+ const branch = (await git(['branch', '--show-current'], root).catch(() => '')).trim() || null;
159
+ const head = (await git(['rev-parse', '--short', 'HEAD'], root).catch(() => '')).trim() || null;
160
+ const dirty = Boolean((await git(['status', '--porcelain'], root).catch(() => '')).trim());
161
+ resolvedCandidates.push({ ...candidate, root, branch, head, dirty });
162
+ }
163
+ catch {
164
+ // Candidate is not a git repository.
165
+ }
166
+ }
167
+ return resolvedCandidates;
168
+ }
169
+ export async function getRepoRoot(cwd) {
170
+ if (!isWithinHome(cwd))
171
+ throw new Error('path not allowed');
172
+ const resolved = resolve(cwd);
173
+ if (!existsSync(resolved))
174
+ throw new Error('path does not exist');
175
+ return (await git(['rev-parse', '--show-toplevel'], resolved)).trim();
176
+ }
177
+ export async function getDiffSummary(repoRoot, options) {
178
+ if (!isWithinHome(repoRoot))
179
+ throw new Error('path not allowed');
180
+ const args = ['-c', 'core.quotepath=false', 'diff', '--numstat'];
181
+ pushDiffModeArgs(args, options);
182
+ args.push('--');
183
+ const output = await git(args, repoRoot);
184
+ const files = parseNumstat(output);
185
+ if (options.includeUntracked)
186
+ files.push(...await listUntracked(repoRoot));
187
+ return files;
188
+ }
189
+ export async function getFileDiff(repoRoot, filePath, options) {
190
+ if (!isWithinHome(repoRoot))
191
+ throw new Error('path not allowed');
192
+ if (!assertContainedLexical(repoRoot, filePath))
193
+ throw new Error('path traversal');
194
+ if (await isUntracked(repoRoot, filePath)) {
195
+ return await git(['-c', 'core.quotepath=false', 'diff', '--no-color', '--no-index', '--', '/dev/null', filePath], repoRoot, [0, 1]);
196
+ }
197
+ const args = ['-c', 'core.quotepath=false', 'diff', '--no-color'];
198
+ pushDiffModeArgs(args, options);
199
+ args.push('--', filePath);
200
+ return await git(args, repoRoot);
201
+ }
202
+ //# sourceMappingURL=diff-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-service.js","sourceRoot":"","sources":["../../../../src/manager/git/diff-service.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,14 @@ import { dashboardPath } from '../dashboard-home.js';
7
7
  import { assertNoteRelPath, assertNotSymlink, assertRealPathInside, isPathInside, notePathError, resolveNotePath, } from './path-guards.js';
8
8
  export const NOTES_ASSET_ROOT = '.assets';
9
9
  export const MAX_NOTE_ASSET_BYTES = 5 * 1024 * 1024;
10
- export const NOTE_ASSET_JSON_LIMIT = '8mb';
10
+ export const MAX_NOTE_PDF_BYTES = 10 * 1024 * 1024;
11
+ export const NOTE_ASSET_JSON_LIMIT = '15mb';
11
12
  const ALLOWED_NOTE_ASSET_TYPES = {
12
13
  'image/png': '.png',
13
14
  'image/jpeg': '.jpg',
14
15
  'image/webp': '.webp',
15
16
  'image/gif': '.gif',
17
+ 'application/pdf': '.pdf',
16
18
  };
17
19
  const DEFAULT_FS = {
18
20
  existsSync,
@@ -39,7 +41,8 @@ function decodeBase64(input) {
39
41
  if (decoded.length === 0) {
40
42
  throw notePathError(400, 'note_asset_invalid_base64', 'Asset data must not be empty.');
41
43
  }
42
- if (decoded.length > MAX_NOTE_ASSET_BYTES) {
44
+ const maxBytes = detectMime(decoded) === 'application/pdf' ? MAX_NOTE_PDF_BYTES : MAX_NOTE_ASSET_BYTES;
45
+ if (decoded.length > maxBytes) {
43
46
  throw notePathError(413, 'note_asset_too_large', 'Asset exceeds the maximum supported size.');
44
47
  }
45
48
  return decoded;
@@ -60,6 +63,9 @@ function detectMime(buffer) {
60
63
  && buffer.subarray(8, 12).toString('ascii') === 'WEBP') {
61
64
  return 'image/webp';
62
65
  }
66
+ if (buffer.length >= 5 && buffer.subarray(0, 5).toString('ascii') === '%PDF-') {
67
+ return 'application/pdf';
68
+ }
63
69
  return null;
64
70
  }
65
71
  function slugForNotePath(notePath) {
@@ -175,10 +181,11 @@ export class NotesAssetStore {
175
181
  if (!fileStat.isFile()) {
176
182
  throw notePathError(400, 'note_asset_not_file', 'Asset path must be a file.');
177
183
  }
178
- if (fileStat.size > MAX_NOTE_ASSET_BYTES) {
184
+ const expectedMime = mimeForExtension(relPath);
185
+ const sizeLimit = expectedMime === 'application/pdf' ? MAX_NOTE_PDF_BYTES : MAX_NOTE_ASSET_BYTES;
186
+ if (fileStat.size > sizeLimit) {
179
187
  throw notePathError(413, 'note_asset_too_large', 'Asset exceeds the maximum supported size.');
180
188
  }
181
- const expectedMime = mimeForExtension(relPath);
182
189
  const detectedMime = detectMime(await this.fs.readFile(target));
183
190
  if (detectedMime !== expectedMime) {
184
191
  throw notePathError(415, 'note_asset_mime_mismatch', 'Asset MIME does not match its content.');
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../../src/manager/notes/assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../../src/manager/notes/assets.ts"],"names":[],"mappings":"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"}