@overdeck/desktop 0.47.1 → 0.48.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 (444) hide show
  1. package/drizzle/overdeck/0000_overdeck_init.sql +59 -0
  2. package/package.json +1 -1
  3. package/server/{acceptance-criteria-Cd7ZGZCq.js → acceptance-criteria-DmtLDbtt.js} +2 -2
  4. package/server/{activity-logger-CyteR4JO.js → activity-logger-Co5qljIj.js} +55 -4
  5. package/server/activity-logger-K7FYGF_z.js +3 -0
  6. package/server/{advancing-selfheal-DieFp3qi.js → advancing-selfheal-8AR68Asf.js} +6 -6
  7. package/server/{agent-gc-BMcgTDl7.js → agent-gc-BmYeT6eH.js} +5 -5
  8. package/server/agent-state-Dq3s84-P.js +3 -0
  9. package/server/{agent-state-service-DFO6qvHp.js → agent-state-service-DK1Vay1E.js} +1 -1
  10. package/server/{agent-state-service-BOzQhLjU.js → agent-state-service-rjnzpHDx.js} +6 -6
  11. package/server/{agent-state-source-Ca_zCaII.js → agent-state-source-Ds968-j6.js} +1 -1
  12. package/server/{agents-CtACUuVG.js → agents-Dls7tfJH.js} +5 -5
  13. package/server/agents-IPSa5kzn.js +3 -0
  14. package/server/{archive-planning-Binfb99i.js → archive-planning-Cq7cyinS.js} +51 -24
  15. package/server/archive-planning-MbkGCBIY.js +2 -0
  16. package/server/{artifact-index-jobs-Jn7BGOtV.js → artifact-index-jobs-Dj_8kpTd.js} +3 -3
  17. package/server/{assemble-DsqK9OAq.js → assemble-BTCmbcfH.js} +20 -13
  18. package/server/{auto-spawn-consent-BooqhC3L.js → auto-spawn-consent-lXqRJ1Dr.js} +304 -121
  19. package/server/{backlog-auto-trigger-BADGPxov.js → backlog-auto-trigger-Dn-amzt6.js} +3 -3
  20. package/server/{behavior-B7biGtFT.js → behavior-DIMQMRzs.js} +2 -2
  21. package/server/{boot-reconciled-stop-events-bQUzU8ns.js → boot-reconciled-stop-events-D6SeUTIr.js} +1 -1
  22. package/server/{bridge-pool-patrol-DsPj6F7t.js → bridge-pool-patrol-BEjt-xF3.js} +2 -2
  23. package/server/{briefing-freshness-CUerZqWd.js → briefing-freshness-3PNmL_p3.js} +2 -2
  24. package/server/{build-info-D0q_i8WM.js → build-info-CJg813Hm.js} +3 -3
  25. package/server/{build-info-Du74MKiP.js → build-info-CXyeFsXu.js} +1 -1
  26. package/server/{checkpoint-manager-Cu-R5Uzg.js → checkpoint-manager-9t7G5c1V.js} +1 -1
  27. package/server/{checkpoint-manager-R5tnaxEY.js → checkpoint-manager-B2G38R3p.js} +3 -3
  28. package/server/checkpoint-worker.js +1 -1
  29. package/server/{checkpoints-wF84ubZ8.js → checkpoints-CuBgiXO-.js} +1 -1
  30. package/server/{checkpoints-DYtLu-PB.js → checkpoints-VTZMd4Qm.js} +2 -2
  31. package/server/{claude-hooks-provision-DXI3Wqlm.js → claude-hooks-provision-55SyQaPz.js} +2 -2
  32. package/server/{claude-hooks-provision-UKxCeOyj.js → claude-hooks-provision-CEUT-CZd.js} +1 -1
  33. package/server/{claude-permissions-DYVLnX9t.js → claude-permissions-Cn0dIu2i.js} +2 -2
  34. package/server/{claude-settings-overlay-DxP2F_gY.js → claude-settings-overlay-B19hdzSA.js} +1 -1
  35. package/server/{claude-settings-overlay-DsbpIq2d.js → claude-settings-overlay-Yg_ANh81.js} +2 -2
  36. package/server/{cli-DzRKxxP_.js → cli-C9S84iTy.js} +79 -22
  37. package/server/cli-M1cwZ__d.js +3 -0
  38. package/server/{cliproxy-CG4meRFc.js → cliproxy-CJq3KXU6.js} +2 -2
  39. package/server/{cliproxy-Cwzw39yN.js → cliproxy-DgEZlr7Y.js} +1 -1
  40. package/server/{close-issue-BX1bATJy.js → close-issue-DPxRddGR.js} +5 -5
  41. package/server/{closed-issue-reaper-hLt0W86J.js → closed-issue-reaper-C5Zn4GRS.js} +13 -13
  42. package/server/{closed-issue-reaper-DvnTSN6a.js → closed-issue-reaper-D-2B48Ri.js} +1 -1
  43. package/server/{codex-rnJN3v3_.js → codex-B3n_rkwn.js} +1 -1
  44. package/server/{codex-BYwi1uyW.js → codex-CjkD1PJu.js} +6 -6
  45. package/server/{codex-parser-Poyz29GE.js → codex-parser-DpB1Il-P.js} +2 -2
  46. package/server/{compaction-continuation-DtMfHN0f.js → compaction-continuation-DZD9ukSE.js} +3 -3
  47. package/server/{config-R793W0yA.js → config-C5saf4Ja.js} +1 -1
  48. package/server/{config-CX4vk1CV.js → config-DnLJATZk.js} +2 -2
  49. package/server/{config-ktAVnp4s.js → config-DvM8jtQK.js} +2 -2
  50. package/server/{config-yaml-CxdwhAIA.js → config-yaml-BSCqwmX0.js} +11299 -10972
  51. package/server/{conflict-gate-BSTlwCtF.js → conflict-gate-DXa_L28t.js} +1 -1
  52. package/server/{conflict-gate-BNv6UolH.js → conflict-gate-WfVqgalf.js} +4 -4
  53. package/server/{context-layers-DCdaGsRG.js → context-layers-D7UqH9Ab.js} +2 -2
  54. package/server/{context-layers-DlWsDiRF.js → context-layers-Dpz3Vd6d.js} +3 -3
  55. package/server/{control-settings-qYYHrIqy.js → control-settings-DVf6pKyv.js} +4 -4
  56. package/server/{conversation-compaction-BxUKObHb.js → conversation-compaction-5XuH6OBn.js} +1 -1
  57. package/server/{conversation-compaction-CXQrN3I_.js → conversation-compaction-COrbnX1J.js} +8 -8
  58. package/server/{conversation-service-CZiUE8Uw.js → conversation-service-BufdtnZF.js} +169 -10
  59. package/server/{conversation-service-CDnQ3ayN.js → conversation-service-DnUyIiLb.js} +1 -1
  60. package/server/{conversations-D7lR670u.js → conversations-B4rxz-Wl.js} +17 -10
  61. package/server/{conversations-DXl5YTf4.js → conversations-D1bwxQMy.js} +1 -1
  62. package/server/{cost-Aat8HfO_.js → cost-CpFDrJUS.js} +46 -2
  63. package/server/{cost-CWvN9FP2.js → cost-KLuwKCW9.js} +3 -3
  64. package/server/{cost-sync-DiUBXwl6.js → cost-sync-cesi9dp8.js} +3 -3
  65. package/server/{dag-5QlmH0oC.js → dag-BYiFMqpU.js} +2 -2
  66. package/server/{dangerous-git-ops-DWX6Og8c.js → dangerous-git-ops-BKvd3-Hk.js} +1 -1
  67. package/server/dashboard-db-worker.js +7 -7
  68. package/server/{deacon-PW_bg4uL.js → deacon-BbsWw8a6.js} +3 -3
  69. package/server/{deacon-B1LD5cJU.js → deacon-HdEh0Esp.js} +672 -181
  70. package/server/deacon-event-client-C93rvOT7.js +237 -0
  71. package/server/deacon-event-client-Ck5Ei7Mn.js +3 -0
  72. package/server/{deacon-nudge-log-DPHsO14z.js → deacon-nudge-log-BND_97Wo.js} +4 -3
  73. package/server/{deacon-pending-lifecycle-2ZflPxgo.js → deacon-pending-lifecycle-CD3YsiQK.js} +3 -3
  74. package/server/deacon-swarm-DgWADWd_.js +2 -0
  75. package/server/{deacon-swarm-DwGUgSVp.js → deacon-swarm-rqrl4TMs.js} +39 -18
  76. package/server/deacon.js +12 -210
  77. package/server/{dead-end-trip-B06RFIr2.js → dead-end-trip-DSF23CLX.js} +4 -3
  78. package/server/dead-end-trip-zKlS4v6f.js +2 -0
  79. package/server/delivery-CsbQdZkS.js +3 -0
  80. package/server/{deploy-patrol-BNjeCL8u.js → deploy-patrol-kARAkji4.js} +17 -21
  81. package/server/{deploy-queue-CKT_Ia9p.js → deploy-queue-Bj0HJT1i.js} +2 -2
  82. package/server/{deploy-queue-DMMYhFC8.js → deploy-queue-rjTUy1RM.js} +1 -1
  83. package/server/{deploy-window-DC8lze3d.js → deploy-window-B2IM-9G5.js} +10 -44
  84. package/server/{deploy-window-D_AimdNN.js → deploy-window-BNFWnA8D.js} +1 -1
  85. package/server/{dev-supervisor-C4F0vbno.js → dev-supervisor-B1mZYXz4.js} +2 -2
  86. package/server/{devcontainer-renderer-66sqMQIi.js → devcontainer-renderer-B-o68Z5B.js} +3 -3
  87. package/server/{dist-C5FT9lTG.js → dist-3W--cGMa.js} +1 -1
  88. package/server/dist-BR0QtwmS.js +3 -0
  89. package/server/{dist-src-B-AlGWSl.js → dist-src-C-Vk2jNk.js} +1 -1
  90. package/server/{docker-BxrFhTZ_.js → docker-DH3jUYg1.js} +1 -1
  91. package/server/{docker-CoAT8R0J.js → docker-meuLKLzV.js} +27 -20
  92. package/server/{dod-Bg6wsKTV.js → dod-D7-9dCOD.js} +1 -1
  93. package/server/{driver-CKVGi51s.js → driver-CmsY2RLl.js} +1 -1
  94. package/server/{durable-review-pipeline-D_DcfIGP.js → durable-review-pipeline-CStTgOAf.js} +1 -1
  95. package/server/{durable-review-pipeline-HkAgnx0L.js → durable-review-pipeline-Chq0lzjL.js} +1 -1
  96. package/server/{ensure-devcontainer-Bg5HJAcO.js → ensure-devcontainer-BE3llBWP.js} +1 -1
  97. package/server/{ensure-devcontainer-DTxChVuA.js → ensure-devcontainer-BXrY7C2Z.js} +4 -4
  98. package/server/{esm-shims-CaBWIR7f.js → esm-shims-Bzy4ZzNU.js} +1 -1
  99. package/server/event-store-COd2tOx8.js +3 -0
  100. package/server/{event-store-CrHcVC5_.js → event-store-D_AR-Y78.js} +184 -11
  101. package/server/{events-ChEFB7Jp.js → events-CCkFWa7X.js} +1 -1
  102. package/server/{events-DhRN-6vM.js → events-zjDQozet.js} +3 -3
  103. package/server/{factory-BezSPaTd.js → factory-DhavwKVc.js} +5 -5
  104. package/server/{feature-registry-population-DhswNiXx.js → feature-registry-population-DWGBKyWd.js} +4 -4
  105. package/server/{feature-registry-storage-CUVNpAso.js → feature-registry-storage-C5DkXmCM.js} +3 -3
  106. package/server/{features-B2CfNPFw.js → features-CC47YcCX.js} +2 -2
  107. package/server/{feedback-target-CMrEAoeA.js → feedback-target-D9Tex35_.js} +1 -1
  108. package/server/{feedback-target-VBr9gKgX.js → feedback-target-DoRCR3L-.js} +8 -8
  109. package/server/{feedback-writer-CY91ckuw.js → feedback-writer-CTSuA6lw.js} +1 -1
  110. package/server/{feedback-writer-xpFgU632.js → feedback-writer-DdsBdtNL.js} +5 -5
  111. package/server/{flywheel-DsICCjTR.js → flywheel-DHWHzaYK.js} +1 -1
  112. package/server/{flywheel-DQqsSm7P.js → flywheel-DJQa9az8.js} +14 -14
  113. package/server/{flywheel-CTVY3yCG.js → flywheel-TacAI9MA.js} +21 -17
  114. package/server/{flywheel-merge-order-C-TI4JGu.js → flywheel-merge-order-D2foPh88.js} +1 -1
  115. package/server/{flywheel-merge-order-CMGz-imq.js → flywheel-merge-order-DRtex2Dt.js} +7 -7
  116. package/server/forge-CdlCG9aS.js +3 -0
  117. package/server/{forge-RTNqJe6a.js → forge-c8LeC-tw.js} +2 -2
  118. package/server/{from-DxGcivc9.js → from-BogSwvr2.js} +1 -1
  119. package/server/{fs-lock-Bre3sGoz.js → fs-lock-D_GeJtXl.js} +3 -3
  120. package/server/{fts-operations-BuTdlZFA.js → fts-operations-DP9R-8Q3.js} +3 -3
  121. package/server/{git-utils-CedsVume.js → git-utils-C31x1lpE.js} +1 -1
  122. package/server/{git-utils-DtdoEXJk.js → git-utils-xQ74FoSn.js} +5 -4
  123. package/server/{github-app-DIE8BkHI.js → github-app-CpQSDlv8.js} +1 -1
  124. package/server/{github-app-gVnZcP9B.js → github-app-D2QuvZ3j.js} +3 -3
  125. package/server/{github-client-BrAC6ELh.js → github-client-D9YvJX5D.js} +3 -3
  126. package/server/{github-client-CBOkvBUl.js → github-client-Tpi3PmKX.js} +1 -1
  127. package/server/{github-pr-lookup-CgMULTPf.js → github-pr-lookup-DvBMv-IW.js} +2 -2
  128. package/server/{harness-binary-CnBHpd57.js → harness-binary-BHxWf_sX.js} +7 -6
  129. package/server/{harness-resolve-BVj6sI8m.js → harness-resolve-bj9WMABA.js} +4 -4
  130. package/server/{health-events-BBWO_Dh9.js → health-events-bCDPn59Z.js} +2 -2
  131. package/server/{health-events-Der6bOkm.js → health-events-qo7Ss34U.js} +1 -1
  132. package/server/{hooks-BOavco-e.js → hooks-Dyxtg5fk.js} +2 -2
  133. package/server/{hooks-BJNal-bs.js → hooks-X2XHBB2b.js} +1 -1
  134. package/server/{hume-DBocJFkA.js → hume-DrZEGpqc.js} +2 -2
  135. package/server/hume-YPsy4UA8.js +3 -0
  136. package/server/{idle-stack-reaper-DQFh8rDh.js → idle-stack-reaper-CJ1ygW0p.js} +37 -7
  137. package/server/{idle-stack-reaper-CyGxXOfC.js → idle-stack-reaper-uJGOb-vu.js} +1 -1
  138. package/server/{in-flight-guard-nXEKoxI7.js → in-flight-guard-CG2Eo-rr.js} +1 -1
  139. package/server/{infra-BDQDRopn.js → infra-CTrmVqc_.js} +111 -6
  140. package/server/{injection-DfFFEMKL.js → injection-BisQ0lpX.js} +1 -1
  141. package/server/{injection-CCopdUKz.js → injection-C9sxqbc2.js} +73 -193
  142. package/server/{inspect-agent-FCDlNT_i.js → inspect-agent-BoSO51YC.js} +12 -12
  143. package/server/inspect-agent-BykeOH4a.js +2 -0
  144. package/server/{internal-token-BG6yQKNL.js → internal-token-AvXePaQT.js} +2 -2
  145. package/server/{internal-token-BJZa40Ld.js → internal-token-Djkj-yqK.js} +1 -1
  146. package/server/{io-C0NV7y6C.js → io-mxOWMZ7I.js} +6 -6
  147. package/server/{issue-closed-CNNGbhWm.js → issue-closed-Bj_bCv_0.js} +7 -7
  148. package/server/{issue-lifecycle-DSH0GpWC.js → issue-lifecycle-A5YIpDZE.js} +1 -1
  149. package/server/{issue-lifecycle-BXfzxFCD.js → issue-lifecycle-BXUqaHzF.js} +32 -28
  150. package/server/{issue-service-singleton-F3A5VP6M.js → issue-service-singleton-BPNEXczv.js} +11 -11
  151. package/server/{issue-service-singleton-lwFJ4dHk.js → issue-service-singleton-CcaHjKPR.js} +1 -1
  152. package/server/{issues-DA-U_MpR.js → issues-AX-YBeAQ.js} +2 -2
  153. package/server/{jsonl-parser-BXiGANOh.js → jsonl-parser-CgYWQ20q.js} +7 -3
  154. package/server/kimi-code-BYbme0aV.js +579 -0
  155. package/server/kimi-code-D_Ppt82c.js +3 -0
  156. package/server/kimi-parser-B-JBg3Pv.js +147 -0
  157. package/server/{label-cleanup-BnxRk0Eo.js → label-cleanup-sXUlgdM0.js} +3 -3
  158. package/server/{lifecycle-DOgGnpIv.js → lifecycle-D2X3al0D.js} +2 -2
  159. package/server/{lifecycle-Di48-w4x.js → lifecycle-DjlljAZ1.js} +6 -6
  160. package/server/{lifecycle-io-eVG6v_8-.js → lifecycle-io-C5nVk55o.js} +1 -1
  161. package/server/{lifecycle-io-1XSeczTr.js → lifecycle-io-NPm1YtIG.js} +5 -5
  162. package/server/{linear-client-CvGo9n7M.js → linear-client--luYwCZg.js} +1 -1
  163. package/server/{linear-client-CYZRrcjp.js → linear-client-B8pLegW1.js} +3 -3
  164. package/server/{linear-mcp-auth-Cp0XaP96.js → linear-mcp-auth-BQVWV0I3.js} +6 -6
  165. package/server/{linear-mcp-auth-DoJnjdPZ.js → linear-mcp-auth-Dx81Zl4G.js} +1 -1
  166. package/server/memory-fts-worker.js +1 -1
  167. package/server/{merge-DO14mOr3.js → merge-Bx5Bh9pi.js} +3 -3
  168. package/server/{merge-ZF99ig6A.js → merge-Dqmh_zja.js} +1 -1
  169. package/server/{merge-agent-gpiRkcvj.js → merge-agent-DP9AUY29.js} +33 -33
  170. package/server/{merge-agent-C1-9zbP_.js → merge-agent-DWd0KfiS.js} +1 -1
  171. package/server/{merge-batch-C11ocNkO.js → merge-batch-BdmvTEAC.js} +1 -1
  172. package/server/{merge-completeness-CghMbyX7.js → merge-completeness-BfRwFjRx.js} +1 -1
  173. package/server/{merge-completeness-BUzPZy0E.js → merge-completeness-C1FevcDT.js} +4 -4
  174. package/server/merge-ops-B98tKc1e.js +2 -0
  175. package/server/merge-rebase-BLykMwPO.js +2 -0
  176. package/server/{merge-rebase-iwlUzZjr.js → merge-rebase-BX1xKsrE.js} +2 -2
  177. package/server/{merge-set-Dbnx4chw.js → merge-set-DsLjjLEV.js} +4 -4
  178. package/server/{merge-set-BymrheTj.js → merge-set-H6epHOsw.js} +1 -1
  179. package/server/{merge-sync-CM978zez.js → merge-sync-BEdfsQV4.js} +2 -2
  180. package/server/{merge-sync-CqEtqjI2.js → merge-sync-BebcWWGA.js} +1 -1
  181. package/server/{merge-train-DvLcAn1G.js → merge-train-D1I0lNOT.js} +4 -4
  182. package/server/{merge-train-deps-Cl_kcRbO.js → merge-train-deps-D_-C0Pk2.js} +4 -4
  183. package/server/{merge-verification-c9Y9mllw.js → merge-verification-DN1Ov9bU.js} +6 -6
  184. package/server/{merged-docker-cleanup-worker-CGiDOdv8.js → merged-docker-cleanup-worker-CfXSr2pA.js} +4 -4
  185. package/server/{merged-docker-cleanup-worker-DgsLOx3E.js → merged-docker-cleanup-worker-ybsPyHjB.js} +1 -1
  186. package/server/{multipart-parser-D0twwRjz.js → multipart-parser-CL5QG8iv.js} +2 -2
  187. package/server/{no-resume-mode-DZvP0M_S.js → no-resume-mode-DUR7Hi98.js} +1 -1
  188. package/server/node_modules/.package-lock.json +7 -7
  189. package/server/node_modules/brace-expansion/README.md +23 -1
  190. package/server/node_modules/brace-expansion/index.js +206 -85
  191. package/server/node_modules/brace-expansion/package.json +1 -1
  192. package/server/node_modules/msgpackr/dist/index-no-eval.cjs +34 -28
  193. package/server/node_modules/msgpackr/dist/index-no-eval.cjs.map +1 -1
  194. package/server/node_modules/msgpackr/dist/index-no-eval.min.js +1 -1
  195. package/server/node_modules/msgpackr/dist/index-no-eval.min.js.map +1 -1
  196. package/server/node_modules/msgpackr/dist/index.js +34 -28
  197. package/server/node_modules/msgpackr/dist/index.js.map +1 -1
  198. package/server/node_modules/msgpackr/dist/index.min.js +1 -1
  199. package/server/node_modules/msgpackr/dist/index.min.js.map +1 -1
  200. package/server/node_modules/msgpackr/dist/node.cjs +36 -29
  201. package/server/node_modules/msgpackr/dist/node.cjs.map +1 -1
  202. package/server/node_modules/msgpackr/dist/test.js +63 -32
  203. package/server/node_modules/msgpackr/dist/test.js.map +1 -1
  204. package/server/node_modules/msgpackr/dist/unpack-no-eval.cjs +34 -28
  205. package/server/node_modules/msgpackr/dist/unpack-no-eval.cjs.map +1 -1
  206. package/server/node_modules/msgpackr/package.json +1 -1
  207. package/server/node_modules/msgpackr/unpack.js +34 -28
  208. package/server/{orphan-proposed-reconciler-6r2OEfYd.js → orphan-proposed-reconciler-CEW1maPl.js} +1 -1
  209. package/server/{orphan-proposed-reconciler-DtQP6oE_.js → orphan-proposed-reconciler-DfqHZftT.js} +23 -22
  210. package/server/package-lock.json +8 -8
  211. package/server/package.json +1 -1
  212. package/server/{pan-dir-DAOb1V2-.js → pan-dir-DhgKfO86.js} +21 -6
  213. package/server/{paths-DuATV5iE.js → paths-BUuhi6jM.js} +17 -17
  214. package/server/{pending-lifecycle-claim-DQUHIDfX.js → pending-lifecycle-claim-DJlA1rTR.js} +2 -2
  215. package/server/{persistent-logger-CBj016pT.js → persistent-logger-s8cbpFNV.js} +2 -2
  216. package/server/{pickup-zXZl5lQI.js → pickup-2AxtB3dW.js} +1 -1
  217. package/server/{pipeline-membership-DHOXmvba.js → pipeline-membership-2_okL5bm.js} +1 -1
  218. package/server/{pipeline-membership-B2yUcBz7.js → pipeline-membership-Dqv6_0ig.js} +1 -1
  219. package/server/{pipeline-membership-gather-OkLXuvxR.js → pipeline-membership-gather-4F1-tXKI.js} +1 -1
  220. package/server/{pipeline-membership-gather-BIcJ-N0W.js → pipeline-membership-gather-CtJ_7aGf.js} +149 -17
  221. package/server/{pipeline-notifier-BmwrVKsO.js → pipeline-notifier-CO9rxJgB.js} +1 -1
  222. package/server/{pipeline-notifier-CxMes51i.js → pipeline-notifier-DDfVBJhJ.js} +2 -2
  223. package/server/{post-merge-lifecycle-worker-3u_rA4R0.js → post-merge-lifecycle-worker-DmSOkeNp.js} +3 -3
  224. package/server/{project-pipelines-C3SPFJ38.js → project-pipelines-72WE8GVK.js} +2 -2
  225. package/server/{project-repos-BOpBzkO6.js → project-repos-BAqDwtvi.js} +16 -11
  226. package/server/project-repos-Df90Zw7Y.js +3 -0
  227. package/server/projects-WqMWCdpa.js +3 -0
  228. package/server/{prompts-B0TtboFm.js → prompts-XkL10m8M.js} +2 -2
  229. package/server/{providers-O2smCvSz.js → providers-ClGPGkQ8.js} +15 -12
  230. package/server/providers-DFUOed8u.js +3 -0
  231. package/server/public/assets/{chunk-BO2N2NFS-D_pGACYN.js → chunk-BO2N2NFS-CeQUdPxr.js} +4 -4
  232. package/server/public/assets/{diagram-OG6HWLK6-BO6fe3hH.js → diagram-OG6HWLK6-B7rgk4yT.js} +1 -1
  233. package/server/public/assets/{dist-5zingMiA.js → dist-2RPazfXY.js} +3 -3
  234. package/server/public/assets/{dist-CVxhbI2E.js → dist-B9NInrVZ.js} +1 -1
  235. package/server/public/assets/{ganttDiagram-6RSMTGT7-Bgj4A7kp.js → ganttDiagram-6RSMTGT7-Bxp0gV14.js} +1 -1
  236. package/server/public/assets/{highlighted-body-OFNGDK62-DNPK7_cm.js → highlighted-body-OFNGDK62-CzoRTVlC.js} +1 -1
  237. package/server/public/assets/index-Cml-kHo6.css +1 -0
  238. package/server/public/assets/{index-DEpY-D1O.js → index-CvN8cEgs.js} +216 -215
  239. package/server/public/assets/{linear-BB0jQT16.js → linear-CFEEl3ND.js} +1 -1
  240. package/server/public/assets/mermaid-GHXKKRXX-CpV7nCBM.js +1 -0
  241. package/server/public/assets/{pieDiagram-4H26LBE5-DeGIzzpZ.js → pieDiagram-4H26LBE5-BeR8R0cr.js} +1 -1
  242. package/server/public/assets/{prod-XBLvikex.js → prod-CYjzjCrn.js} +4 -4
  243. package/server/public/assets/{quadrantDiagram-W4KKPZXB-BV9SLeWz.js → quadrantDiagram-W4KKPZXB-BpcTkFuW.js} +1 -1
  244. package/server/public/assets/{sankeyDiagram-5OEKKPKP-Dwja0gj8.js → sankeyDiagram-5OEKKPKP-Bx2ETEV5.js} +1 -1
  245. package/server/public/assets/{xychartDiagram-2RQKCTM6-DCB4qvfw.js → xychartDiagram-2RQKCTM6-BKgEAFaj.js} +1 -1
  246. package/server/public/index.html +2 -2
  247. package/server/{pull-requests-BonZ4WVG.js → pull-requests-B-KrUph5.js} +3 -3
  248. package/server/{pull-requests-DNcJUVWA.js → pull-requests-DK5k92B4.js} +1 -1
  249. package/server/{queries-DCX27GRr.js → queries-DVpl1vsU.js} +1212 -193
  250. package/server/{rally-Cxe7lKYX.js → rally-DbE561hD.js} +3 -3
  251. package/server/rally-O_st_X7n.js +3 -0
  252. package/server/{rally-api-CzkKenoi.js → rally-api-CZLeEd2C.js} +2 -2
  253. package/server/{rally-api-Cp50exEi.js → rally-api-DaHtn5QN.js} +1 -1
  254. package/server/{rally-client-Bu3Cekkw.js → rally-client-C-MAl8ur.js} +1 -1
  255. package/server/{rally-client-CyBBEDHu.js → rally-client-Ch3zRsBX.js} +5 -5
  256. package/server/{reap-terminal-sessions-CtAhr6L0.js → reap-terminal-sessions-C1n0ALRb.js} +2 -2
  257. package/server/{reap-terminal-sessions-DvFqQUnq.js → reap-terminal-sessions-DegFS2p1.js} +2 -2
  258. package/server/{rebuild-stack-hCQtprWC.js → rebuild-stack-C9Li44A3.js} +20 -10
  259. package/server/{rebuild-stack-BKYpIPDL.js → rebuild-stack-qC0jCNm6.js} +2 -2
  260. package/server/{reconstruct-cache-CF2avArx.js → reconstruct-cache-BHyiAg02.js} +7 -7
  261. package/server/record-aVzu-LGm.js +3 -0
  262. package/server/record-update-CZh46a2f.js +617 -0
  263. package/server/{record-update-DhI7eySG.js → record-update-DtdJK2Iw.js} +1 -1
  264. package/server/recovery-trip-CSNWSLDn.js +77 -0
  265. package/server/recovery-trip-_16hFKv4.js +3 -0
  266. package/server/{release-engine-_eO3VFth.js → release-engine-Be5MX5GP.js} +5 -5
  267. package/server/{release-set-vxgZwwZV.js → release-set-DJv_O6PS.js} +3 -3
  268. package/server/{remote-BienmcrZ.js → remote-BMM3uH2J.js} +3 -3
  269. package/server/{remote-CVPCc7Vy.js → remote-C0xVTHA5.js} +3 -3
  270. package/server/{remote-agents-kwsEZvXu.js → remote-agents-BIIoc5pD.js} +1 -1
  271. package/server/{remote-agents-kxraOCGT.js → remote-agents-EUiZ26bj.js} +7 -7
  272. package/server/{remote-completion-BtmZ42aP.js → remote-completion-BS4tJUn8.js} +13 -13
  273. package/server/resolver-BvHd6RE4.js +163 -0
  274. package/server/resume-9thEqAQR.js +3 -0
  275. package/server/{review-agent-CIRr0yYt.js → review-agent-BHGaBoBu.js} +29 -29
  276. package/server/{review-agent-UpAM4DmT.js → review-agent-CD3RQ-tc.js} +1 -1
  277. package/server/{review-artifacts-BCODM9ww.js → review-artifacts-DyhajWso.js} +6 -6
  278. package/server/{review-context-BBsNrDri.js → review-context-B-dlsPnx.js} +9 -9
  279. package/server/{review-convoy-liveness-l06_LYCt.js → review-convoy-liveness-D7M-s_nS.js} +2 -2
  280. package/server/{review-status-CacDM78F.js → review-status-B6wYcOtP.js} +1 -1
  281. package/server/{review-status-CwhA9wmd.js → review-status-CKLk5aZ-.js} +306 -59
  282. package/server/{review-status-emit-BPJwYcRy.js → review-status-emit-CJ7UmEVU.js} +3 -3
  283. package/server/{review-status-enrichment-DvyZAbGR.js → review-status-enrichment-DJRgGX7-.js} +3 -3
  284. package/server/review-status-limits-4EJDCGHO.js +7 -0
  285. package/server/{review-status-source-DWnFE0b6.js → review-status-source-7nU3Z2wL.js} +1 -1
  286. package/server/{review-status-source-B70ekARK.js → review-status-source-BsDYGfyv.js} +1 -1
  287. package/server/{review-status-sync-B0IS6Beh.js → review-status-sync-BLssMTEW.js} +1 -1
  288. package/server/{review-status-sync-h2CJX6ju.js → review-status-sync-BxBeHRde.js} +35 -11
  289. package/server/{review-verdict-feedback-yrrmgps_.js → review-verdict-feedback-5jWuzgpc.js} +22 -10
  290. package/server/{review-verdict-feedback-qRohbFG2.js → review-verdict-feedback-HRY9P4bN.js} +1 -1
  291. package/server/{rollup-CUoav0Op.js → rollup-BGIrCEkU.js} +79 -44
  292. package/server/rollup-CZB4UL9q.js +3 -0
  293. package/server/{scanner-ChURu_b-.js → scanner-DydjXPrz.js} +16 -9
  294. package/server/search-DdtIjAiu.js +395 -0
  295. package/server/{sequence-io-D9ITDxzq.js → sequence-io-Fw-cLyDs.js} +4 -4
  296. package/server/{sequencer-agent-m7gmaakW.js → sequencer-agent-BcpGMt5x.js} +15 -10
  297. package/server/server.js +1258 -438
  298. package/server/{service-BzFG0Us_.js → service-BFFkGsG4.js} +58 -58
  299. package/server/{session-fork-KBq4HIHF.js → session-fork-D0V-3e5P.js} +2 -2
  300. package/server/{session-history-C_EMhIIF.js → session-history-Bta5l9jY.js} +5 -5
  301. package/server/{settings-DejgzzLs.js → settings-Ce8B1daF.js} +2 -2
  302. package/server/{settings-BLbcDqUp.js → settings-E3FnEIUx.js} +3 -3
  303. package/server/settings-eOOJpxi_.js +2 -0
  304. package/server/{shadow-engineering-D8R9I8Yl.js → shadow-engineering-Mt9nJO4i.js} +3 -3
  305. package/server/{shadow-state-C0Af4clN.js → shadow-state-Bzj_AZCV.js} +1 -1
  306. package/server/{shadow-state-fzIqIMDD.js → shadow-state-DrkhoVSx.js} +2 -2
  307. package/server/{shadow-utils-Ugca_9ND.js → shadow-utils-H1GfqP06.js} +2 -2
  308. package/server/{ship-log-VAv-lHrF.js → ship-log-CFUIo4PR.js} +1 -1
  309. package/server/{smart-compaction-BcYY_Suf.js → smart-compaction-DSTq-Wua.js} +1 -1
  310. package/server/{smart-compaction-B2Xu5XEb.js → smart-compaction-Hzp3KCJX.js} +7 -7
  311. package/server/{spawn-planning-session-Dsv-350T.js → spawn-planning-session-C0uSA2SL.js} +2 -2
  312. package/server/{spawn-planning-session-DhCoBPct.js → spawn-planning-session-DN4son31.js} +23 -21
  313. package/server/{specialist-completion-z6v3ZqJE.js → specialist-completion-Cf6tpIh1.js} +1 -1
  314. package/server/{specialist-context-CrA5azkJ.js → specialist-context-DEUEkjIQ.js} +5 -5
  315. package/server/{specialist-handoff-logger-CmpZYJMB.js → specialist-handoff-logger-D_LmQDj3.js} +2 -2
  316. package/server/{specialist-logs-BorrIu0x.js → specialist-logs-7Ynue0R7.js} +3 -3
  317. package/server/{specialists-ZdrifiKx.js → specialists-CQwBEGlD.js} +1 -1
  318. package/server/{specialists-2yLmqph9.js → specialists-DAjPgYs_.js} +504 -238
  319. package/server/{specialists-Dfx9_Wzb.js → specialists-Hr6iW9fU.js} +18 -18
  320. package/server/{specialists-CH6ah6D-.js → specialists-MOoeB4A8.js} +1 -1
  321. package/server/specs-Dl88cbKY.js +3 -0
  322. package/server/{src-B948bGVR.js → src-BYdwL_n-.js} +668 -64
  323. package/server/{src-Dm_NV7f6.js → src-DQnkPN2i.js} +3 -3
  324. package/server/{src-B2e5rGu2.js → src-DhfDV0o4.js} +6 -6
  325. package/server/{stack-health-Bf2WdG4E.js → stack-health-D_iKwNRg.js} +107 -16
  326. package/server/stack-health-deVSdDwn.js +3 -0
  327. package/server/{stale-task-claims-D1Ll8fI5.js → stale-task-claims-BYJGqhLI.js} +5 -5
  328. package/server/{staleness-CuED1Psm.js → staleness-CopBDKnA.js} +1 -1
  329. package/server/{staleness-45qZ_a60.js → staleness-D8WeMUHd.js} +1 -1
  330. package/server/{state-home-B4EWfIxF.js → state-home-DjN8qduI.js} +24 -3
  331. package/server/{state-mapping-BEONzr8P.js → state-mapping-DlM7OYRW.js} +1 -1
  332. package/server/{state-migrate-Cd8BH33U.js → state-migrate-a2p1gtD7.js} +4 -4
  333. package/server/state-mirror-Cv_XgvT5.js +121 -0
  334. package/server/{stuck-remediation-ChcooZuk.js → stuck-remediation-CXJX_kki.js} +1 -1
  335. package/server/{stuck-remediation-DmY5UJLg.js → stuck-remediation-CbCRSz1v.js} +31 -732
  336. package/server/{substrate-bug-weights-service-BvTWrFUz.js → substrate-bug-weights-service-DxpopNd9.js} +3 -3
  337. package/server/{summary-fork--Jr8duYh.js → summary-fork-B61fjRJn.js} +2 -2
  338. package/server/{summary-fork-Ct514_Jl.js → summary-fork-B9pszUJN.js} +91 -10
  339. package/server/supervisor/{injection-budget-B3UyEONL.js → injection-budget-Ar7hgyJq.js} +1 -1
  340. package/server/supervisor/pty-supervisor.js +12 -3
  341. package/server/supervisor/{pty-token-CWRffcCa.js → pty-token-CXCFU0Z8.js} +1 -1
  342. package/server/{supervisor-B7BHGcNA.js → supervisor-BvnxbuuF.js} +6 -4
  343. package/server/supervisor-C69kpqvd.js +2 -0
  344. package/server/{swarm-readiness-MNE5O8hn.js → swarm-readiness-vTw1kqGa.js} +3 -3
  345. package/server/{system-prerequisites-Cin9ZgDx.js → system-prerequisites-LLzTEqsK.js} +3 -3
  346. package/server/{teardown-workspace-CvBpvc85.js → teardown-workspace-CqKKVJr1.js} +15 -15
  347. package/server/{test-agent-queue-DmSIqays.js → test-agent-queue-CWMq7oyG.js} +8 -7
  348. package/server/{test-verdict-BieVDAV1.js → test-verdict-NdtgRBuA.js} +1 -1
  349. package/server/{test-verdict-Cy2jJGTe.js → test-verdict-diIWE6hz.js} +15 -3
  350. package/server/{tldr-daemon-Ca0eovh3.js → tldr-daemon-B1Jhrtc8.js} +1 -1
  351. package/server/{tldr-daemon-IOssGwg7.js → tldr-daemon-Bpls1CJB.js} +2 -2
  352. package/server/{tmux-CfDHob9M.js → tmux-CImZaX4q.js} +10 -16
  353. package/server/tmux-Cjpx8L8u.js +4 -0
  354. package/server/{token-B10VFNOD.js → token-Bgpjo3tE.js} +2 -2
  355. package/server/token-util-BsjFll-k.js +3 -0
  356. package/server/{token-util-CZ8WPtdk.js → token-util-BymbpkJp.js} +1 -1
  357. package/server/{tracker-config-CHbrjg6m.js → tracker-config-4DaKVTfc.js} +2 -2
  358. package/server/{tracker-utils-DZZq_C0R.js → tracker-utils-BDeAXC-q.js} +2 -2
  359. package/server/{traefik-connect-GHomyBaD.js → traefik-connect-CC5FyxYj.js} +1 -1
  360. package/server/{tunnel-Dz7y434T.js → tunnel-CDWkeceJ.js} +1 -1
  361. package/server/{tunnel-Bdyb-sNq.js → tunnel-CPf5M-Pc.js} +3 -3
  362. package/server/{typed-errors-Bn_2WRU7.js → typed-errors-9K7Dq_Vn.js} +1 -1
  363. package/server/{typed-errors-BR_RmPS_.js → typed-errors-DrS5fb5z.js} +1 -1
  364. package/server/{types-D2ETIB8T.js → types-DzlUKiuf.js} +4 -3
  365. package/server/{types-Dh6RI5Vj.js → types-kI9ik8XO.js} +1 -1
  366. package/server/{uat-promote-verification-DyvQXvIn.js → uat-promote-verification-c_pxoxEc.js} +5 -5
  367. package/server/{uat-train-Dv0Bxer7.js → uat-train-CWGxBdJO.js} +0 -0
  368. package/server/{uat-train-diX_7shd.js → uat-train-CfCYd2ve.js} +1 -1
  369. package/server/{validate-606KcYZC.js → validate-f3ItVCfm.js} +3 -3
  370. package/server/{validation-Cf7aaV5A.js → validation-5G_wQtea.js} +1 -1
  371. package/server/{validation-CnrDul1x.js → validation-7tSiCM82.js} +4 -4
  372. package/server/{verification-artifact-GOaj8u2s.js → verification-artifact-9h9dH8uX.js} +1 -1
  373. package/server/{verification-artifact-D4b-bio9.js → verification-artifact-C_4WJnf6.js} +1 -1
  374. package/server/{verification-runner-DiPaUP-C.js → verification-runner-BV5F6wrA.js} +1 -1
  375. package/server/{verification-runner-B5MVxDvU.js → verification-runner-D58KmBhK.js} +18 -38
  376. package/server/{vtt-parser-CMU5EZ5R.js → vtt-parser-2iT9OHa9.js} +1 -1
  377. package/server/{work-agent-prompt-Csb3fbVR.js → work-agent-prompt-D03s4DD1.js} +9 -9
  378. package/server/{workflows-D87ajwV6.js → workflows-BMBwLYPV.js} +281 -98
  379. package/server/workflows-BOmWGpIh.js +2 -0
  380. package/server/{workspace-iD8oULqu.js → workspace-BgflNCH0.js} +3 -3
  381. package/server/{workspace-AIOM7n00.js → workspace-Cn9ywfSW.js} +1 -1
  382. package/server/{workspace-anchor-drift-19cJ1bH5.js → workspace-anchor-drift-C8Fy3shi.js} +1 -1
  383. package/server/{workspace-anchor-drift-C3mK5wNI.js → workspace-anchor-drift-CMiNncwq.js} +5 -8
  384. package/server/{workspace-config-CJ7RqQiP.js → workspace-config-aUc2nIz6.js} +1 -1
  385. package/server/{workspace-manager-CXfrw4rR.js → workspace-manager-Bem7ZBs9.js} +521 -292
  386. package/server/workspace-manager-C0CpNh3t.js +3 -0
  387. package/server/{workspace-metadata-BuMRco5P.js → workspace-metadata-C5iSlPRo.js} +1 -1
  388. package/server/{workspace-metadata-eHSj_NsP.js → workspace-metadata-UKmTYmDQ.js} +2 -2
  389. package/server/{workspaces-DbtMX2TM.js → workspaces-DqxgwDZ8.js} +143 -113
  390. package/sync-sources/hooks/notification-hook +12 -1
  391. package/sync-sources/hooks/pan-hook-lib.sh +226 -0
  392. package/sync-sources/hooks/session-start-hook +31 -4
  393. package/sync-sources/hooks/work-agent-stop-hook +23 -1
  394. package/sync-sources/skills/pan-memory/SKILL.md +19 -3
  395. package/sync-sources/skills/pan-projects/SKILL.md +9 -0
  396. package/sync-sources/skills/pan-restart/SKILL.md +26 -7
  397. package/sync-sources/skills/pan-workspace/SKILL.md +77 -0
  398. package/server/activity-logger-CMthG6Vd.js +0 -3
  399. package/server/agent-state-DyZJia9f.js +0 -3
  400. package/server/agents-Dnn4XgdB.js +0 -3
  401. package/server/archive-planning-BHCd_eL5.js +0 -2
  402. package/server/cli-D6mRfUE6.js +0 -3
  403. package/server/deacon-swarm-BkKR7SXu.js +0 -2
  404. package/server/delivery-C2M73sBg.js +0 -3
  405. package/server/dist-qcf9gAP0.js +0 -3
  406. package/server/event-store-5UKzh9Jf.js +0 -3
  407. package/server/forge-D647IMNa.js +0 -3
  408. package/server/fts-db-wROfFfje.js +0 -146
  409. package/server/hume-DtWN8oV5.js +0 -3
  410. package/server/inspect-agent-CPqXI81t.js +0 -2
  411. package/server/merge-ops-7QqziXAh.js +0 -2
  412. package/server/merge-rebase-B4pgzvQJ.js +0 -2
  413. package/server/node_modules/brace-expansion/.tap/coverage/8b906b8c-e21f-40b5-8c0d-214d8c2682c5.json +0 -757
  414. package/server/node_modules/brace-expansion/.tap/processinfo/8b906b8c-e21f-40b5-8c0d-214d8c2682c5.json +0 -719
  415. package/server/node_modules/brace-expansion/ADVISORY-CVE-2026-14257.md +0 -107
  416. package/server/node_modules/brace-expansion/dist/commonjs/index.d.ts +0 -8
  417. package/server/node_modules/brace-expansion/dist/commonjs/index.d.ts.map +0 -1
  418. package/server/node_modules/brace-expansion/dist/commonjs/index.js +0 -263
  419. package/server/node_modules/brace-expansion/dist/commonjs/index.js.map +0 -1
  420. package/server/node_modules/brace-expansion/dist/commonjs/package.json +0 -3
  421. package/server/node_modules/brace-expansion/dist/esm/index.d.ts +0 -8
  422. package/server/node_modules/brace-expansion/dist/esm/index.d.ts.map +0 -1
  423. package/server/node_modules/brace-expansion/dist/esm/index.js +0 -259
  424. package/server/node_modules/brace-expansion/dist/esm/index.js.map +0 -1
  425. package/server/node_modules/brace-expansion/dist/esm/package.json +0 -3
  426. package/server/project-repos-BgW4lcIa.js +0 -3
  427. package/server/projects-_n3Zui6K.js +0 -3
  428. package/server/providers-BI1mOBQ4.js +0 -3
  429. package/server/public/assets/index-Ddkcz3WT.css +0 -1
  430. package/server/public/assets/mermaid-GHXKKRXX-BzPfaQJ1.js +0 -1
  431. package/server/rally-x6ztTQo4.js +0 -3
  432. package/server/record-BTwWhtBb.js +0 -3
  433. package/server/record-update-DaOKS7Wb.js +0 -277
  434. package/server/recovery-trip-D-wM9EfB.js +0 -44
  435. package/server/resume-DXIIfJNk.js +0 -3
  436. package/server/rollup-DxCjJaAM.js +0 -3
  437. package/server/settings-9jSGHBPY.js +0 -2
  438. package/server/specs-DKV3jIEs.js +0 -3
  439. package/server/stack-health-CoWAhA99.js +0 -3
  440. package/server/supervisor-CyR_mW5B.js +0 -2
  441. package/server/tmux-Ctk6RV5l.js +0 -3
  442. package/server/token-util-CrfQ2FKf.js +0 -3
  443. package/server/workflows-DN6NyVGd.js +0 -2
  444. package/server/workspace-manager-B38rFWA1.js +0 -3
@@ -1,3 +1,3 @@
1
- import { i as init_conflict_gate, s as resolveConflictGate, t as buildRealConflictGateDeps } from "./conflict-gate-BNv6UolH.js";
1
+ import { i as init_conflict_gate, s as resolveConflictGate, t as buildRealConflictGateDeps } from "./conflict-gate-WfVqgalf.js";
2
2
  init_conflict_gate();
3
3
  export { buildRealConflictGateDeps, resolveConflictGate };
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { o as init_activity_logger, r as emitActivityEntrySync } from "./activity-logger-CyteR4JO.js";
3
- import { C as setReviewStatusSync, d as getReviewStatusSync, p as init_review_status } from "./review-status-CwhA9wmd.js";
4
- import { X as messageAgent, b as init_agents, dt as spawnRun } from "./queries-DCX27GRr.js";
2
+ import { a as emitActivityEntrySync, c as init_activity_logger } from "./activity-logger-Co5qljIj.js";
3
+ import { C as setReviewStatusSync, d as getReviewStatusSync, p as init_review_status } from "./review-status-CKLk5aZ-.js";
4
+ import { Et as spawnRun, b as init_agents, ft as messageAgent } from "./queries-DVpl1vsU.js";
5
5
  import { exec } from "node:child_process";
6
6
  import { promisify } from "node:util";
7
7
  //#region ../../lib/cloister/conflict-gate.ts
@@ -276,4 +276,4 @@ var init_conflict_gate = __esmMin((() => {
276
276
  //#endregion
277
277
  export { parseMergeTreeNameOnly as a, init_conflict_gate as i, checkBranchMergeability as n, probeBranchConflictPaths as o, getCachedConflictGateMergeability as r, resolveConflictGate as s, buildRealConflictGateDeps as t };
278
278
 
279
- //# sourceMappingURL=conflict-gate-BNv6UolH.js.map
279
+ //# sourceMappingURL=conflict-gate-WfVqgalf.js.map
@@ -1,4 +1,4 @@
1
- import { S as codexGlobalContextFile, k as piGlobalContextFile } from "./assemble-DsqK9OAq.js";
2
- import { t as init_context_layers } from "./context-layers-DlWsDiRF.js";
1
+ import { S as codexGlobalContextFile, k as piGlobalContextFile } from "./assemble-BTCmbcfH.js";
2
+ import { t as init_context_layers } from "./context-layers-Dpz3Vd6d.js";
3
3
  init_context_layers();
4
4
  export { codexGlobalContextFile, piGlobalContextFile };
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Fr as init_errors, li as init_paths } from "./config-yaml-CxdwhAIA.js";
3
- import { E as init_layers, c as init_render, f as init_rules, r as init_assemble } from "./assemble-DsqK9OAq.js";
2
+ import { Vr as init_errors, hi as init_paths } from "./config-yaml-BSCqwmX0.js";
3
+ import { E as init_layers, c as init_render, f as init_rules, r as init_assemble } from "./assemble-BTCmbcfH.js";
4
4
  import "effect";
5
5
  import "fs";
6
6
  import "path";
@@ -34,4 +34,4 @@ var init_context_layers = __esmMin((() => {
34
34
  //#endregion
35
35
  export { init_context_layers as t };
36
36
 
37
- //# sourceMappingURL=context-layers-DlWsDiRF.js.map
37
+ //# sourceMappingURL=context-layers-Dpz3Vd6d.js.map
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Gn as init_projects, Zn as loadProjectsConfigSync, zn as getProjectSync } from "./config-yaml-CxdwhAIA.js";
3
- import { _ as integer, a as EventBus, d as getOverdeckDatabaseSync, f as init_infra, h as text, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, x as eq } from "./infra-BDQDRopn.js";
4
- import { n as init_issues, t as IssueId } from "./issues-DA-U_MpR.js";
2
+ import { cn as init_projects, mn as loadProjectsConfigSync, nn as getProjectSync } from "./config-yaml-BSCqwmX0.js";
3
+ import { _ as integer, a as EventBus, d as getOverdeckDatabaseSync, f as init_infra, h as text, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, x as eq } from "./infra-CTrmVqc_.js";
4
+ import { n as init_issues, t as IssueId } from "./issues-AX-YBeAQ.js";
5
5
  import { Context, Effect, Layer, Schema } from "effect";
6
6
  import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
7
7
  //#region ../../lib/overdeck/control-settings.ts
@@ -440,4 +440,4 @@ var init_control_settings = __esmMin((() => {
440
440
  //#endregion
441
441
  export { setFlywheelGloballyPaused as C, setSetting as D, setMergeTrainEnabled as E, stampBootReconciliation as O, setFlywheelAutoPickupBacklog as S, setLastCleanShutdownAt as T, setBootReconciliationGrace as _, getFlywheelActiveRunIdSync as a, setDeaconGloballyPausedSync as b, init_control_settings as c, isDeaconGloballyPausedSync as d, isFlywheelAutoPickupBacklog as f, setBootReconciliationDecision as g, isMergeTrainEnabled as h, getFlywheelActiveRunId as i, isCloisterSpawnsPausedSync as l, isFlywheelRequireUatBeforeMerge as m, FLYWHEEL_GLOBAL_PAUSE_KEY as n, getLastCleanShutdownAt as o, isFlywheelGloballyPaused as p, getBootReconciliationState as r, getSetting as s, FLYWHEEL_ACTIVE_RUN_ID_KEY as t, isDeaconGloballyPaused as u, setCloisterSpawnsPausedSync as v, setFlywheelRequireUatBeforeMerge as w, setFlywheelActiveRunId as x, setDeaconGloballyPaused as y };
442
442
 
443
- //# sourceMappingURL=control-settings-qYYHrIqy.js.map
443
+ //# sourceMappingURL=control-settings-DVf6pKyv.js.map
@@ -1,3 +1,3 @@
1
- import { a as init_conversation_compaction, c as shouldInterceptManualCompact, i as getConversationCompactionSettings, n as compactConversationNative, o as isCompacting, r as estimateContextTokens, s as maybeCompactBeforeRespawn, t as buildCompactionRuntimeInfo } from "./conversation-compaction-CXQrN3I_.js";
1
+ import { a as init_conversation_compaction, c as shouldInterceptManualCompact, i as getConversationCompactionSettings, n as compactConversationNative, o as isCompacting, r as estimateContextTokens, s as maybeCompactBeforeRespawn, t as buildCompactionRuntimeInfo } from "./conversation-compaction-COrbnX1J.js";
2
2
  init_conversation_compaction();
3
3
  export { buildCompactionRuntimeInfo, compactConversationNative, estimateContextTokens, getConversationCompactionSettings, isCompacting, maybeCompactBeforeRespawn, shouldInterceptManualCompact };
@@ -1,11 +1,11 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { f as loadConfigSync, t as init_config_yaml } from "./config-yaml-CxdwhAIA.js";
3
- import { a as init_event_store, n as getEventStore } from "./event-store-CrHcVC5_.js";
4
- import { An as getProviderExportsForModel, b as init_agents, cn as getAgentRuntimeBaseCommand } from "./queries-DCX27GRr.js";
5
- import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-B2CfNPFw.js";
6
- import { t as init_conversation_service, u as findLastCompactBoundary } from "./conversation-service-CZiUE8Uw.js";
7
- import { r as init_smart_compaction, t as generateSmartSummary } from "./smart-compaction-B2Xu5XEb.js";
8
- import { a as generateFallbackSummary, l as init_summary_fork } from "./summary-fork-Ct514_Jl.js";
2
+ import { f as loadConfigSync, t as init_config_yaml } from "./config-yaml-BSCqwmX0.js";
3
+ import { a as init_event_store, n as getEventStore } from "./event-store-D_AR-Y78.js";
4
+ import { b as init_agents, qn as getProviderExportsForModel, wn as getAgentRuntimeBaseCommand } from "./queries-DVpl1vsU.js";
5
+ import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-CC47YcCX.js";
6
+ import { t as init_conversation_service, u as findLastCompactBoundary } from "./conversation-service-BufdtnZF.js";
7
+ import { r as init_smart_compaction, t as generateSmartSummary } from "./smart-compaction-Hzp3KCJX.js";
8
+ import { a as generateFallbackSummary, l as init_summary_fork } from "./summary-fork-B9pszUJN.js";
9
9
  import { dirname, join } from "node:path";
10
10
  import { Effect } from "effect";
11
11
  import { existsSync } from "node:fs";
@@ -179,4 +179,4 @@ var init_conversation_compaction = __esmMin((() => {
179
179
  //#endregion
180
180
  export { init_conversation_compaction as a, shouldInterceptManualCompact as c, getConversationCompactionSettings as i, compactConversationNative as n, isCompacting as o, estimateContextTokens as r, maybeCompactBeforeRespawn as s, buildCompactionRuntimeInfo as t };
181
181
 
182
- //# sourceMappingURL=conversation-compaction-CXQrN3I_.js.map
182
+ //# sourceMappingURL=conversation-compaction-COrbnX1J.js.map
@@ -1,9 +1,10 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { li as init_paths, lt as resolveModelIdSync, nt as MODEL_CAPABILITIES, st as init_model_capabilities } from "./config-yaml-CxdwhAIA.js";
3
- import { s as getHarnessBehavior } from "./src-B948bGVR.js";
4
- import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-Aat8HfO_.js";
5
- import { r as parseCodexSessionSync, t as init_codex_parser } from "./codex-parser-Poyz29GE.js";
6
- import { t as init_behavior } from "./behavior-B7biGtFT.js";
2
+ import { _r as init_model_capabilities, fr as MODEL_CAPABILITIES, hi as init_paths, yr as resolveModelIdSync } from "./config-yaml-BSCqwmX0.js";
3
+ import { s as getHarnessBehavior } from "./src-BYdwL_n-.js";
4
+ import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-CpFDrJUS.js";
5
+ import { r as parseCodexSessionSync, t as init_codex_parser } from "./codex-parser-DpB1Il-P.js";
6
+ import { t as init_behavior } from "./behavior-DIMQMRzs.js";
7
+ import { r as summarizeKimiEntries, t as init_kimi_parser } from "./kimi-parser-B-JBg3Pv.js";
7
8
  import "node:path";
8
9
  import "node:os";
9
10
  import { open, readFile, stat, watch } from "node:fs/promises";
@@ -326,7 +327,7 @@ var init_acp_conversation_parser = __esmMin((() => {
326
327
  * - `reasoning` — chain-of-thought; Codex encrypts it, so it is skipped.
327
328
  */
328
329
  /** Flatten a Codex tool output (usually a string) into display text. */
329
- function extractToolOutput(output) {
330
+ function extractToolOutput$1(output) {
330
331
  if (typeof output === "string") return output.trim();
331
332
  if (output && typeof output === "object") {
332
333
  const obj = output;
@@ -418,7 +419,7 @@ async function parseCodexConversationMessages(sessionFile) {
418
419
  if (callId) toolCallsByCallId.set(callId, wl);
419
420
  } else if (ptype === "function_call_output" || ptype === "custom_tool_call_output") {
420
421
  const callId = typeof payload.call_id === "string" ? payload.call_id : "";
421
- const output = extractToolOutput(payload.output);
422
+ const output = extractToolOutput$1(payload.output);
422
423
  const wl = callId ? toolCallsByCallId.get(callId) : void 0;
423
424
  if (wl) {
424
425
  if (output) wl.result = output;
@@ -976,6 +977,163 @@ var init_pi_conversation_parser = __esmMin((() => {
976
977
  STREAMING_RECENT_MS = 5e3;
977
978
  }));
978
979
  //#endregion
980
+ //#region services/kimi-conversation-parser.ts
981
+ /**
982
+ * Native Kimi Code CLI wire.jsonl → chat panel adapter (PAN-1837 wi8b).
983
+ *
984
+ * Kimi's wire protocol is an event stream, not a message-per-line JSONL like
985
+ * Claude Code's or Codex's rollout schema — see kimi-parser.ts and
986
+ * tests/fixtures/kimi/README.md for the full shape. For chat-panel display:
987
+ *
988
+ * - `turn.prompt` — the user's prompt for a turn.
989
+ * - `context.append_loop_event` wraps a per-step `event`:
990
+ * - `content.part` with `part.type === 'text'` — the assistant's
991
+ * visible reply for that step ('think' parts are hidden reasoning,
992
+ * intentionally skipped — Kimi does not expose it any more plainly
993
+ * than Codex's encrypted reasoning).
994
+ * - `tool.call` / `tool.result` — matched by toolCallId, same shape as
995
+ * Codex's function_call/function_call_output matching by call_id.
996
+ *
997
+ * v1 renders only the `main` agent's wire (out of scope: sub-agent
998
+ * transcripts under `agents/agent-0/...`, per the PRD).
999
+ */
1000
+ function extractPromptText(input) {
1001
+ if (!Array.isArray(input)) return "";
1002
+ return input.filter((part) => part?.type === "text" && typeof part.text === "string").map((part) => part.text.trim()).filter(Boolean).join("\n\n");
1003
+ }
1004
+ function extractToolOutput(result) {
1005
+ if (!result) return "";
1006
+ if (typeof result.output === "string") return result.output.trim();
1007
+ try {
1008
+ return JSON.stringify(result);
1009
+ } catch {
1010
+ return "";
1011
+ }
1012
+ }
1013
+ /**
1014
+ * Parse a native Kimi Code CLI wire.jsonl into the ParseResult shape the
1015
+ * chat panel already consumes. Always a full read (same tradeoff as the
1016
+ * Codex adapter); incremental-parse state fields are empty stubs.
1017
+ */
1018
+ async function parseKimiConversationMessages(sessionFile) {
1019
+ const fileStats = await stat(sessionFile);
1020
+ const lines = (await readFile(sessionFile, "utf-8")).split("\n").filter((line) => line.trim().length > 0);
1021
+ const messages = [];
1022
+ const workLog = [];
1023
+ const compactBoundaries = [];
1024
+ const toolCallsByCallId = /* @__PURE__ */ new Map();
1025
+ const parsedEntries = [];
1026
+ let sequence = 0;
1027
+ let lastAssistantCompletedAt;
1028
+ for (const line of lines) {
1029
+ let entry;
1030
+ try {
1031
+ entry = JSON.parse(line);
1032
+ } catch {
1033
+ continue;
1034
+ }
1035
+ if (!entry || typeof entry !== "object") continue;
1036
+ parsedEntries.push(entry);
1037
+ const createdAt = typeof entry.time === "number" ? new Date(entry.time).toISOString() : (/* @__PURE__ */ new Date()).toISOString();
1038
+ if (entry.type === "turn.prompt") {
1039
+ const text = extractPromptText(entry.input);
1040
+ if (!text) continue;
1041
+ sequence += 1;
1042
+ messages.push({
1043
+ id: `kimi-user-${sequence}`,
1044
+ role: "user",
1045
+ text,
1046
+ createdAt,
1047
+ completedAt: createdAt,
1048
+ streaming: false,
1049
+ sequence
1050
+ });
1051
+ continue;
1052
+ }
1053
+ if (entry.type !== "context.append_loop_event" || !entry.event) continue;
1054
+ const event = entry.event;
1055
+ if (event.type === "content.part" && event.part?.type === "text") {
1056
+ const text = event.part.text?.trim();
1057
+ if (!text) continue;
1058
+ sequence += 1;
1059
+ messages.push({
1060
+ id: `kimi-assistant-${sequence}`,
1061
+ role: "assistant",
1062
+ text,
1063
+ turnId: event.turnId,
1064
+ createdAt,
1065
+ completedAt: createdAt,
1066
+ streaming: false,
1067
+ sequence
1068
+ });
1069
+ lastAssistantCompletedAt = createdAt;
1070
+ continue;
1071
+ }
1072
+ if (event.type === "tool.call") {
1073
+ const callId = event.toolCallId ?? "";
1074
+ const name = event.name ?? "tool";
1075
+ sequence += 1;
1076
+ const wl = {
1077
+ id: callId || `kimi-tool-${sequence}`,
1078
+ createdAt,
1079
+ label: name,
1080
+ tone: "tool",
1081
+ sequence,
1082
+ ...event.args !== void 0 ? { toolInput: event.args } : {}
1083
+ };
1084
+ workLog.push(wl);
1085
+ if (callId) toolCallsByCallId.set(callId, wl);
1086
+ continue;
1087
+ }
1088
+ if (event.type === "tool.result") {
1089
+ const callId = event.toolCallId ?? "";
1090
+ const output = extractToolOutput(event.result);
1091
+ const wl = callId ? toolCallsByCallId.get(callId) : void 0;
1092
+ if (wl) {
1093
+ if (output) wl.result = output;
1094
+ if (callId) toolCallsByCallId.delete(callId);
1095
+ } else if (output) {
1096
+ sequence += 1;
1097
+ workLog.push({
1098
+ id: callId || `kimi-tool-out-${sequence}`,
1099
+ createdAt,
1100
+ label: "Tool result",
1101
+ result: output,
1102
+ tone: "tool",
1103
+ sequence
1104
+ });
1105
+ }
1106
+ continue;
1107
+ }
1108
+ }
1109
+ const streaming = false;
1110
+ const usage = summarizeKimiEntries(parsedEntries, sessionFile);
1111
+ const totalCost = usage?.cost_v2 ?? usage?.cost ?? 0;
1112
+ const totalTokens = usage ? usage.usage.inputTokens + usage.usage.outputTokens + (usage.usage.cacheReadTokens ?? 0) + (usage.usage.cacheWriteTokens ?? 0) : 0;
1113
+ return {
1114
+ messages,
1115
+ workLog,
1116
+ byteOffset: fileStats.size,
1117
+ streaming,
1118
+ lastTurnCompletedAt: lastAssistantCompletedAt,
1119
+ totalCost,
1120
+ totalTokens,
1121
+ latestAssistantUsage: null,
1122
+ contextBoundaryOffset: 0,
1123
+ contextActiveBytes: fileStats.size,
1124
+ pendingToolUse: /* @__PURE__ */ new Map(),
1125
+ unresolvedResults: /* @__PURE__ */ new Map(),
1126
+ lastSequence: sequence,
1127
+ mtimeMs: fileStats.mtimeMs,
1128
+ planToolUseIds: /* @__PURE__ */ new Set(),
1129
+ compactBoundaries,
1130
+ fileEditsByAssistantId: /* @__PURE__ */ new Map()
1131
+ };
1132
+ }
1133
+ var init_kimi_conversation_parser = __esmMin((() => {
1134
+ init_kimi_parser();
1135
+ }));
1136
+ //#endregion
979
1137
  //#region services/conversation/types.ts
980
1138
  var MAX_READ_BYTES, MAX_FALLBACK_BYTES;
981
1139
  var init_types = __esmMin((() => {
@@ -1764,7 +1922,7 @@ async function summarizeConversationActivity(sessionFile, options = {}) {
1764
1922
  };
1765
1923
  return cacheActivitySummary(cacheKey, fileStats.mtimeMs, fileStats.size, summary);
1766
1924
  }
1767
- const { messages, streaming, lastTurnCompletedAt, pendingToolUse, workLog, mtimeMs } = behavior.transcriptKind === "codex-rollout-jsonl" ? await parseCodexConversationMessages(sessionFile) : behavior.transcriptKind === "ohmypi-jsonl" || isOhmypiSessionFile(sessionFile) ? await parseOhmypiConversationMessages(sessionFile) : isPiSessionFile(sessionFile) ? await parsePiConversationMessages(sessionFile) : await parseFromLastCompactBoundary(sessionFile, {
1925
+ const { messages, streaming, lastTurnCompletedAt, pendingToolUse, workLog, mtimeMs } = behavior.transcriptKind === "codex-rollout-jsonl" ? await parseCodexConversationMessages(sessionFile) : behavior.transcriptKind === "ohmypi-jsonl" || isOhmypiSessionFile(sessionFile) ? await parseOhmypiConversationMessages(sessionFile) : behavior.transcriptKind === "kimi-wire-jsonl" ? await parseKimiConversationMessages(sessionFile) : isPiSessionFile(sessionFile) ? await parsePiConversationMessages(sessionFile) : await parseFromLastCompactBoundary(sessionFile, {
1768
1926
  pendingToolUse: /* @__PURE__ */ new Map(),
1769
1927
  unresolvedResults: /* @__PURE__ */ new Map(),
1770
1928
  lastSequence: 0
@@ -1801,6 +1959,7 @@ var init_activity_summary = __esmMin((() => {
1801
1959
  init_codex_conversation_parser();
1802
1960
  init_ohmypi_conversation_parser();
1803
1961
  init_pi_conversation_parser();
1962
+ init_kimi_conversation_parser();
1804
1963
  init_parser();
1805
1964
  WORKING_STALENESS_MS = 18e4;
1806
1965
  ACTIVITY_SUMMARY_CACHE_MAX = 100;
@@ -2061,6 +2220,6 @@ var init_conversation_service = __esmMin((() => {
2061
2220
  init_watch();
2062
2221
  }));
2063
2222
  //#endregion
2064
- export { init_codex_conversation_parser as _, contextUsageFromParseResult as a, parseAcpConversationMessages as b, parseEntireConversation as c, init_pi_conversation_parser as d, isPiSessionFile as f, parseOhmypiConversationMessages as g, isOhmypiSessionFile as h, computeContextUsage as i, parseFromLastCompactBoundary as l, init_ohmypi_conversation_parser as m, gateSnapshotEmission as n, summarizeConversationActivity as o, parsePiConversationMessages as p, watchConversation as r, parseConversationMessages as s, init_conversation_service as t, findLastCompactBoundary as u, parseCodexConversationMessages as v, init_acp_conversation_parser as y };
2223
+ export { parseAcpConversationMessages as S, isOhmypiSessionFile as _, contextUsageFromParseResult as a, parseCodexConversationMessages as b, parseEntireConversation as c, init_kimi_conversation_parser as d, parseKimiConversationMessages as f, init_ohmypi_conversation_parser as g, parsePiConversationMessages as h, computeContextUsage as i, parseFromLastCompactBoundary as l, isPiSessionFile as m, gateSnapshotEmission as n, summarizeConversationActivity as o, init_pi_conversation_parser as p, watchConversation as r, parseConversationMessages as s, init_conversation_service as t, findLastCompactBoundary as u, parseOhmypiConversationMessages as v, init_acp_conversation_parser as x, init_codex_conversation_parser as y };
2065
2224
 
2066
- //# sourceMappingURL=conversation-service-CZiUE8Uw.js.map
2225
+ //# sourceMappingURL=conversation-service-BufdtnZF.js.map
@@ -1,3 +1,3 @@
1
- import { i as computeContextUsage, t as init_conversation_service, u as findLastCompactBoundary } from "./conversation-service-CZiUE8Uw.js";
1
+ import { i as computeContextUsage, t as init_conversation_service, u as findLastCompactBoundary } from "./conversation-service-BufdtnZF.js";
2
2
  init_conversation_service();
3
3
  export { computeContextUsage, findLastCompactBoundary };
@@ -1,7 +1,8 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { ci as getOverdeckHome, li as init_paths } from "./config-yaml-CxdwhAIA.js";
3
- import { T as isNull, _ as integer, a as EventBus, b as and, d as getOverdeckDatabaseSync, f as init_infra, g as real, h as text, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, w as isNotNull, x as eq } from "./infra-BDQDRopn.js";
4
- import { a as init_event_store, n as getEventStore } from "./event-store-CrHcVC5_.js";
2
+ import { hi as init_paths, mi as getOverdeckHome } from "./config-yaml-BSCqwmX0.js";
3
+ import { T as isNull, _ as integer, a as EventBus, b as and, d as getOverdeckDatabaseSync, f as init_infra, g as real, h as text, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, w as isNotNull, x as eq } from "./infra-CTrmVqc_.js";
4
+ import { o as init_resolver, u as resolveWorkspaceForCwd } from "./resolver-BvHd6RE4.js";
5
+ import { a as init_event_store, n as getEventStore } from "./event-store-D_AR-Y78.js";
5
6
  import { join } from "node:path";
6
7
  import { Context, Effect, Layer, Schema, Stream } from "effect";
7
8
  import { readFileSync } from "node:fs";
@@ -672,7 +673,7 @@ function toMillis(value = /* @__PURE__ */ new Date()) {
672
673
  /** Map a raw DB harness string to a canonical RuntimeName, normalizing legacy 'pi' to 'ohmypi' on read. */
673
674
  function normalizeHarness(harness) {
674
675
  if (harness === "pi" || harness === "ohmypi") return "ohmypi";
675
- if (harness === "claude-code" || harness === "codex" || harness === "acp") return harness;
676
+ if (harness === "claude-code" || harness === "codex" || harness === "acp" || harness === "kimi-code") return harness;
676
677
  return null;
677
678
  }
678
679
  function legacyRowIdForConversationId(id) {
@@ -717,7 +718,8 @@ function rowToLegacyConversation(row) {
717
718
  forkFallbackReason: row.fork_fallback_reason ?? null,
718
719
  clearedToConvId: legacyRowIdForConversationId(row.cleared_to_conv_id),
719
720
  forkRequest: row.fork_request ?? null,
720
- forkRetryCount: row.fork_retry_count ?? 0
721
+ forkRetryCount: row.fork_retry_count ?? 0,
722
+ workspaceId: row.workspace_id ?? null
721
723
  };
722
724
  }
723
725
  function getConversationByUuid(id) {
@@ -961,15 +963,16 @@ function createConversation(opts) {
961
963
  const db = overdeckDb();
962
964
  const id = randomUUID();
963
965
  const now = toMillis();
966
+ const workspaceId = opts.workspaceId !== void 0 ? opts.workspaceId : resolveWorkspaceForCwd(opts.cwd)?.id ?? null;
964
967
  db.transaction(() => {
965
968
  db.prepare(`DELETE FROM conversation_files WHERE conversation_id IN (SELECT id FROM conversations WHERE name = ?)`).run(opts.name);
966
969
  db.prepare(`DELETE FROM conversations WHERE name = ?`).run(opts.name);
967
970
  db.prepare(`
968
971
  INSERT INTO conversations
969
972
  (id, name, cwd, issue_id, harness, model, effort, title, title_source, created_at, archived_at,
970
- tmux_session, status, fork_status, fork_retry_count, delivery_method, spawn_error)
971
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, ?, 'active', ?, 0, ?, ?)
972
- `).run(id, opts.name, opts.cwd, opts.issueId ?? null, opts.harness ?? null, opts.model ?? null, opts.effort ?? null, opts.title ?? null, opts.titleSource ?? (opts.title ? "auto" : null), now, opts.tmuxSession ?? null, opts.forkStatus ?? null, opts.deliveryMethod ?? null, null);
973
+ tmux_session, status, fork_status, fork_retry_count, delivery_method, spawn_error, workspace_id)
974
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, ?, 'active', ?, 0, ?, ?, ?)
975
+ `).run(id, opts.name, opts.cwd, opts.issueId ?? null, opts.harness ?? null, opts.model ?? null, opts.effort ?? null, opts.title ?? null, opts.titleSource ?? (opts.title ? "auto" : null), now, opts.tmuxSession ?? null, opts.forkStatus ?? null, opts.deliveryMethod ?? null, null, workspaceId);
973
976
  if (opts.claudeSessionId) db.prepare(`
974
977
  INSERT OR IGNORE INTO conversation_files (conversation_id, harness, locator, created_at)
975
978
  VALUES (?, ?, ?, ?)
@@ -1136,6 +1139,7 @@ var init_conversations = __esmMin((() => {
1136
1139
  init_sqlite_core();
1137
1140
  init_paths();
1138
1141
  init_infra();
1142
+ init_resolver();
1139
1143
  init_event_store();
1140
1144
  init_discovered_sessions();
1141
1145
  init_conversation_cost_session();
@@ -1200,8 +1204,10 @@ var init_conversations = __esmMin((() => {
1200
1204
  Harness = Schema.Literals([
1201
1205
  "claude-code",
1202
1206
  "pi",
1207
+ "ohmypi",
1203
1208
  "codex",
1204
- "kimi"
1209
+ "acp",
1210
+ "kimi-code"
1205
1211
  ]);
1206
1212
  TitleSource = Schema.Literals([
1207
1213
  "manual",
@@ -1567,6 +1573,7 @@ var init_conversations = __esmMin((() => {
1567
1573
  c.fork_fallback_reason,
1568
1574
  c.delivery_method,
1569
1575
  c.spawn_error,
1576
+ c.workspace_id,
1570
1577
  (
1571
1578
  SELECT cf.locator
1572
1579
  FROM conversation_files cf
@@ -1585,4 +1592,4 @@ var init_conversations = __esmMin((() => {
1585
1592
  //#endregion
1586
1593
  export { updateConversationForkFallbackReason as $, isAgentConversationName as A, removeFavorite as B, getConversationByTmuxSession as C, searchFtsSessions as Ct, importLegacyConversation as D, hasOtherActiveConversationOnTmuxSession as E, upsertDiscoveredSession as Et, markConversationEnded as F, setConversationHarness as G, setClearedToConvId as H, markConversationRunning as I, setForkRequest as J, setConversationModel as K, normalizeHarness as L, listConversations as M, listFavoritedIds as N, incrementForkRetryCount as O, markConversationActive as P, updateConversationDeliveryMethod as Q, reactivateConversationForSpawn as R, getConversationByName as S, markEnrichmentFailed as St, getStuckForks as T, updateEnrichment as Tt, setConversationClaudeSessionId as U, resolveLiveSessionId as V, setConversationEffort as W, unarchiveConversation as X, setImportedConversationLinks as Y, updateConversationCost as Z, canRefineTitle as _, getDiscoveredStats as _t, ConversationName as a, aggregateDiscoveredSessionCost as at, getConversationByClaudeSessionId as b, insertEmbedding as bt, ConversationsResolver as c, countDiscoveredSessions as ct, TitleSource as d, findDiscoveredSessionIds as dt, updateConversationTitle as et, Transcript as f, findDiscoveredSessions as ft, backfillConversationModel as g, getDiscoveredSessionBySessionId as gt, archiveConversation as h, getDiscoveredSessionByJsonlPath as ht, ConversationId as i, findConversationForCostSessionSync as it, listArchivedConversationsWithEnrichment as j, init_conversations as k, Harness as l, countFtsSessions as lt, TranscriptsWriter as m, getDiscoveredSessionById as mt, BackingFile as n, updateLastAttached as nt, ConversationNotFound as o, aggregateDiscoveredSessionCostBy as ot, TranscriptsResolver as p, findEnrichedSessionIdsMissingEmbedding as pt, setFavorite as q, Conversation as r, updateSpawnError as rt, ConversationWriter as s, buildFilterSql as st, AlreadyArchived as t, updateForkStatus as tt, NotArchived as u, ensureDiscoveredSessionsSchema as ut, canReplaceTitle as v, getEmbedding as vt, getConversationLedgerCosts as w, topKCosine as wt, getConversationById as x, loadEmbeddings as xt, createConversation as y, init_discovered_sessions as yt, recordConversationHandoff as z };
1587
1594
 
1588
- //# sourceMappingURL=conversations-D7lR670u.js.map
1595
+ //# sourceMappingURL=conversations-B4rxz-Wl.js.map
@@ -1,3 +1,3 @@
1
- import { M as listConversations, k as init_conversations } from "./conversations-D7lR670u.js";
1
+ import { M as listConversations, k as init_conversations } from "./conversations-B4rxz-Wl.js";
2
2
  init_conversations();
3
3
  export { listConversations };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Fr as init_errors, Ur as COSTS_DIR, li as init_paths } from "./config-yaml-CxdwhAIA.js";
2
+ import { Vr as init_errors, Yr as COSTS_DIR, hi as init_paths } from "./config-yaml-BSCqwmX0.js";
3
3
  import "effect";
4
4
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
5
5
  import { join } from "path";
@@ -483,6 +483,50 @@ var init_cost = __esmMin((() => {
483
483
  outputPer1k: .015,
484
484
  cacheReadPer1k: 3e-4,
485
485
  currency: "USD"
486
+ },
487
+ {
488
+ provider: "custom",
489
+ model: "k3-256k",
490
+ inputPer1k: .003,
491
+ outputPer1k: .015,
492
+ cacheReadPer1k: 3e-4,
493
+ currency: "USD"
494
+ },
495
+ {
496
+ provider: "custom",
497
+ model: "kimi-for-coding-highspeed",
498
+ inputPer1k: 6e-4,
499
+ outputPer1k: .002,
500
+ cacheReadPer1k: 6e-5,
501
+ cacheWrite5mPer1k: 75e-5,
502
+ currency: "USD"
503
+ },
504
+ {
505
+ provider: "custom",
506
+ model: "ql-reason-70b",
507
+ inputPer1k: .008,
508
+ outputPer1k: .024,
509
+ cacheReadPer1k: 8e-4,
510
+ cacheWrite5mPer1k: .01,
511
+ currency: "USD"
512
+ },
513
+ {
514
+ provider: "custom",
515
+ model: "ql-swift-8b",
516
+ inputPer1k: .002,
517
+ outputPer1k: .006,
518
+ cacheReadPer1k: 2e-4,
519
+ cacheWrite5mPer1k: .0025,
520
+ currency: "USD"
521
+ },
522
+ {
523
+ provider: "custom",
524
+ model: "ql-nano-1b",
525
+ inputPer1k: 4e-4,
526
+ outputPer1k: .0012,
527
+ cacheReadPer1k: 4e-5,
528
+ cacheWrite5mPer1k: 5e-4,
529
+ currency: "USD"
486
530
  }
487
531
  ];
488
532
  BUDGETS_FILE = join(COSTS_DIR, "budgets.json");
@@ -490,4 +534,4 @@ var init_cost = __esmMin((() => {
490
534
  //#endregion
491
535
  export { getAllBudgetsSync as a, deleteBudgetSync as i, checkBudgetSync as n, getPricingSync as o, createBudgetSync as r, init_cost as s, calculateCostSync as t };
492
536
 
493
- //# sourceMappingURL=cost-Aat8HfO_.js.map
537
+ //# sourceMappingURL=cost-CpFDrJUS.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { o as getPricingSync, s as init_cost$1, t as calculateCostSync } from "./cost-Aat8HfO_.js";
3
- import { i as init_events, t as appendCostEventSync } from "./events-DhRN-6vM.js";
2
+ import { o as getPricingSync, s as init_cost$1, t as calculateCostSync } from "./cost-CpFDrJUS.js";
3
+ import { i as init_events, t as appendCostEventSync } from "./events-zjDQozet.js";
4
4
  //#region ../../lib/background-ai/cost.ts
5
5
  /** The cost-source tag prefix used for every background AI event. */
6
6
  function backgroundCostSource(feature) {
@@ -52,4 +52,4 @@ var init_cost = __esmMin((() => {
52
52
  //#endregion
53
53
  export { recordBackgroundAiCost as n, init_cost as t };
54
54
 
55
- //# sourceMappingURL=cost-CWvN9FP2.js.map
55
+ //# sourceMappingURL=cost-KLuwKCW9.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { ci as getOverdeckHome, li as init_paths } from "./config-yaml-CxdwhAIA.js";
3
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-BDQDRopn.js";
2
+ import { hi as init_paths, mi as getOverdeckHome } from "./config-yaml-BSCqwmX0.js";
3
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CTrmVqc_.js";
4
4
  import { join } from "path";
5
5
  import { appendFile, mkdir } from "fs/promises";
6
6
  //#region ../../lib/agents/tier-metrics.ts
@@ -398,4 +398,4 @@ var init_cost_sync = __esmMin((() => {
398
398
  //#endregion
399
399
  export { init_tier_metrics as _, getCostForIssueAggregateSync as a, getDailyTrendsSync as c, init_cost_sync as d, insertCostEventSync as f, estimateFeedDeliveryTokens as g, deriveTieredAgentCostRole as h, getCostBreakdownByStageAndModelSync as i, getModelRollupSync as l, queryMemoryExtractionCostUsdSync as m, getBackgroundCostBySourceSync as n, getCostForIssueSync as o, queryCostEventsSync as p, getCavemanExperimentDataSync as r, getCostsByIssueSync as s, getAgentDailyCostSync as t, getTodayCostSync as u, recordTierFeedDelivery as v };
400
400
 
401
- //# sourceMappingURL=cost-sync-DiUBXwl6.js.map
401
+ //# sourceMappingURL=cost-sync-cesi9dp8.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { o as init_io, v as init_types, y as subItemsOf } from "./io-C0NV7y6C.js";
2
+ import { b as subItemsOf, s as init_io, y as init_types } from "./io-mxOWMZ7I.js";
3
3
  import { Data } from "effect";
4
4
  import "fs/promises";
5
5
  //#region ../../lib/xbrief/dag.ts
@@ -379,4 +379,4 @@ var init_dag = __esmMin((() => {
379
379
  //#endregion
380
380
  export { criticalPath as a, hasFileOverlap as c, createActiveSlice as i, init_dag as l, blockingParentCount as n, getDispatchableItems as o, compileGlob as r, groupItemsByWave as s, actionableDoc as t };
381
381
 
382
- //# sourceMappingURL=dag-5QlmH0oC.js.map
382
+ //# sourceMappingURL=dag-BYiFMqpU.js.map
@@ -108,4 +108,4 @@ const runGitResetHard = (opts) => Effect.tryPromise({
108
108
  //#endregion
109
109
  export { runGitResetHard };
110
110
 
111
- //# sourceMappingURL=dangerous-git-ops-DWX6Og8c.js.map
111
+ //# sourceMappingURL=dangerous-git-ops-BKvd3-Hk.js.map
@@ -1,7 +1,7 @@
1
- import { S as getConversationByName, _t as getDiscoveredStats, at as aggregateDiscoveredSessionCost, ct as countDiscoveredSessions, ft as findDiscoveredSessions, k as init_conversations, mt as getDiscoveredSessionById, ot as aggregateDiscoveredSessionCostBy, yt as init_discovered_sessions } from "./conversations-D7lR670u.js";
2
- import { D as setSetting, c as init_control_settings, s as getSetting } from "./control-settings-qYYHrIqy.js";
3
- import { a as enrichSessions, c as searchSessions, i as CostThresholdError, n as getSessionsFeedFacets, o as embedSessions, r as listSessionsFeed, t as scan } from "./scanner-ChURu_b-.js";
4
- import { t as listSubstrateBugWeights } from "./substrate-bug-weights-service-BvTWrFUz.js";
1
+ import { S as getConversationByName, _t as getDiscoveredStats, at as aggregateDiscoveredSessionCost, ct as countDiscoveredSessions, ft as findDiscoveredSessions, k as init_conversations, mt as getDiscoveredSessionById, ot as aggregateDiscoveredSessionCostBy, yt as init_discovered_sessions } from "./conversations-B4rxz-Wl.js";
2
+ import { D as setSetting, c as init_control_settings, s as getSetting } from "./control-settings-DVf6pKyv.js";
3
+ import { a as enrichSessions, c as searchSessions, i as CostThresholdError, n as getSessionsFeedFacets, o as embedSessions, r as listSessionsFeed, t as scan } from "./scanner-DydjXPrz.js";
4
+ import { t as listSubstrateBugWeights } from "./substrate-bug-weights-service-DxpopNd9.js";
5
5
  import { parentPort } from "node:worker_threads";
6
6
  //#region services/dashboard-db-worker.ts
7
7
  init_discovered_sessions();
@@ -67,15 +67,15 @@ async function runJob(id, operation, payload) {
67
67
  });
68
68
  }
69
69
  case "getArtifactBySlug": {
70
- const { getArtifactBySlugJob } = await import("./artifact-index-jobs-Jn7BGOtV.js");
70
+ const { getArtifactBySlugJob } = await import("./artifact-index-jobs-Dj_8kpTd.js");
71
71
  return getArtifactBySlugJob(payload);
72
72
  }
73
73
  case "listArtifactsForWorkspaceOrIssue": {
74
- const { listArtifactsForWorkspaceOrIssueJob } = await import("./artifact-index-jobs-Jn7BGOtV.js");
74
+ const { listArtifactsForWorkspaceOrIssueJob } = await import("./artifact-index-jobs-Dj_8kpTd.js");
75
75
  return listArtifactsForWorkspaceOrIssueJob(payload);
76
76
  }
77
77
  case "unshareArtifactBySlug": {
78
- const { unshareArtifactBySlugJob } = await import("./artifact-index-jobs-Jn7BGOtV.js");
78
+ const { unshareArtifactBySlugJob } = await import("./artifact-index-jobs-Dj_8kpTd.js");
79
79
  return unshareArtifactBySlugJob(payload);
80
80
  }
81
81
  }
@@ -1,4 +1,4 @@
1
- import "./config-yaml-CxdwhAIA.js";
2
- import { C as handleAgentHeartbeatDeadEvent, T as handleAgentStoppedForOrphanReviewerSessions, at as handleWorkCompleted, it as handleReviewCoordinatorDied, w as handleAgentStoppedEvent } from "./deacon-B1LD5cJU.js";
3
- import "./deacon-swarm-DwGUgSVp.js";
1
+ import "./config-yaml-BSCqwmX0.js";
2
+ import { C as handleAgentHeartbeatDeadEvent, T as handleAgentStoppedForOrphanReviewerSessions, at as handleWorkCompleted, it as handleReviewCoordinatorDied, w as handleAgentStoppedEvent } from "./deacon-HdEh0Esp.js";
3
+ import "./deacon-swarm-rqrl4TMs.js";
4
4
  export { handleAgentHeartbeatDeadEvent, handleAgentStoppedEvent, handleAgentStoppedForOrphanReviewerSessions, handleReviewCoordinatorDied, handleWorkCompleted };