@overdeck/desktop 0.49.2 → 0.50.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (554) hide show
  1. package/drizzle/overdeck/0000_overdeck_init.sql +1 -0
  2. package/package.json +1 -1
  3. package/server/{acceptance-criteria-CHtDkHEL.js → acceptance-criteria-DFyrgxW5.js} +2 -2
  4. package/server/{active-dashboard-bundle-Byh6sP-q.js → active-dashboard-bundle-DbfgP8TS.js} +2 -2
  5. package/server/{activity-logger-Ck8qoluj.js → activity-logger-DtdKxzPh.js} +1 -1
  6. package/server/{activity-logger-BWZhVphb.js → activity-logger-ru8ggv-d.js} +3 -3
  7. package/server/{advancing-selfheal-65W4yUQi.js → advancing-selfheal-BdZ1iFJf.js} +11 -6
  8. package/server/{agent-gc-BNUudFnt.js → agent-gc-DBMg1vIc.js} +11 -11
  9. package/server/{agent-idle-ONBssBN_.js → agent-idle-CQlwmcRR.js} +11 -11
  10. package/server/{agent-state-CM8iVw5B.js → agent-state-B0v3fvGI.js} +1 -1
  11. package/server/{agent-state-BJhGIJZe.js → agent-state-BnyNoDWQ.js} +345 -402
  12. package/server/{agent-state-service-CiIuwzIs.js → agent-state-service-D95wBjA3.js} +5 -5
  13. package/server/{agent-state-service-CzHfoqKQ.js → agent-state-service-GK2Uy8zc.js} +1 -1
  14. package/server/{agents-DpCuoF65.js → agents-BdkVgjxC.js} +1 -1
  15. package/server/{agents-jXgqpHca.js → agents-DMs1aLRU.js} +4 -4
  16. package/server/{archive-planning-CGkU6UeL.js → archive-planning-CFf5FVHQ.js} +5 -5
  17. package/server/archive-planning-CNSWQPvz.js +2 -0
  18. package/server/{artifact-index-jobs-Ck4NRRkY.js → artifact-index-jobs-BdeB5RIY.js} +2 -2
  19. package/server/{assemble-CyvEBmmq.js → assemble-D88iFkP-.js} +2 -2
  20. package/server/{auto-spawn-consent-Dc4mtM-B.js → auto-spawn-consent-C1avLtkk.js} +7 -7
  21. package/server/{backlog-auto-trigger-CCEpr4YT.js → backlog-auto-trigger-oKIGNBzZ.js} +3 -3
  22. package/server/{behavior-BiCQzqyT.js → behavior-CPX0E2Fj.js} +49 -7
  23. package/server/{bridge-pool-patrol-Ce8rNPym.js → bridge-pool-patrol-DstxbANA.js} +2 -2
  24. package/server/{briefing-freshness-e_OEYZEe.js → briefing-freshness-FF0WLPMc.js} +2 -2
  25. package/server/build-info-Df2tkRrB.js +2 -0
  26. package/server/{build-info-BRw4QlYO.js → build-info-DiA6h4T6.js} +3 -3
  27. package/server/{checkpoint-manager-DOwRGFff.js → checkpoint-manager-CkXA-F6Z.js} +2 -2
  28. package/server/{checkpoint-manager-CKr42Usw.js → checkpoint-manager-D74ueYZp.js} +1 -1
  29. package/server/checkpoint-worker.js +1 -1
  30. package/server/{checkpoints-Cszp_0Np.js → checkpoints-Ds83fUb1.js} +2 -2
  31. package/server/{checkpoints-Cb6CWT4S.js → checkpoints-JIKy0UFv.js} +1 -1
  32. package/server/{claude-hooks-provision-C5JHpxTS.js → claude-hooks-provision-BJ8LNIAe.js} +1 -1
  33. package/server/{claude-hooks-provision-Cer2eFfj.js → claude-hooks-provision-D7Z8kANm.js} +2 -2
  34. package/server/{claude-permissions-Bc5kjX1q.js → claude-permissions-Bn53HCXr.js} +18 -3
  35. package/server/{claude-settings-overlay-m-VVZej1.js → claude-settings-overlay-CqJZjFqv.js} +2 -2
  36. package/server/{claude-settings-overlay-C7rWsnya.js → claude-settings-overlay-QByq1SQa.js} +1 -1
  37. package/server/{cli-BmczsfD6.js → cli-BXmAb7vN.js} +11 -11
  38. package/server/cli-BjznnCC3.js +2 -0
  39. package/server/{cliproxy-BpYpkogS.js → cliproxy-L_2OxNJf.js} +2 -2
  40. package/server/{cliproxy-_yUU0HRY.js → cliproxy-ltFu5xfR.js} +1 -1
  41. package/server/{close-issue-CxvRD0UI.js → close-issue-BZAf0Ii-.js} +5 -5
  42. package/server/{closed-issue-reaper-nMLRi5de.js → closed-issue-reaper-BJa8SbvQ.js} +13 -13
  43. package/server/{closed-issue-reaper-omOcUDBl.js → closed-issue-reaper-DVtyOI4C.js} +1 -1
  44. package/server/{codex-DZhFfcWu.js → codex-BqLZKVNm.js} +1 -1
  45. package/server/{codex-KaSKE-R3.js → codex-DSs-3aOm.js} +6 -6
  46. package/server/{compaction-continuation-Bjfi70G-.js → compaction-continuation-TG0HYkOq.js} +3 -3
  47. package/server/{config-ZGjvuR6J.js → config-Cx3N6gWz.js} +2 -2
  48. package/server/{config-Doq_tF-f.js → config-DP0VV7rX.js} +2 -2
  49. package/server/{config-CH1AqqIQ.js → config-DURnId0k.js} +1 -1
  50. package/server/{config-yaml-D9nfpEx1.js → config-yaml-OoH-ZpTb.js} +48 -9
  51. package/server/{conflict-gate-DcUTY4Gb.js → conflict-gate-SgOELW84.js} +5 -5
  52. package/server/{conflict-gate-D4XCtrm2.js → conflict-gate-pMfhBEVB.js} +1 -1
  53. package/server/{context-layers-BGj2Y9l3.js → context-layers-D0QBOPJJ.js} +2 -2
  54. package/server/{context-layers-BBTKP-Y4.js → context-layers-LY5zt0da.js} +3 -3
  55. package/server/{continue-i7Revg8D.js → continue-Cmzd6leL.js} +2 -2
  56. package/server/{control-settings-BMoDHY1G.js → control-settings-Bdud_B1j.js} +308 -5
  57. package/server/{conversation-compaction-DzIjYMfg.js → conversation-compaction-BX9UR8nl.js} +1 -1
  58. package/server/{conversation-compaction-D4VOmF7p.js → conversation-compaction-dFx_2wpa.js} +8 -8
  59. package/server/{conversation-service-CzZUJFEx.js → conversation-service-B3h1erHm.js} +1 -1
  60. package/server/{conversation-service-tQCIbBVZ.js → conversation-service-zgLM2g2D.js} +37 -13
  61. package/server/{conversations-bFDaD5YN.js → conversations-Ch7UGi0F.js} +1 -1
  62. package/server/{conversations-C75EFFjf.js → conversations-JyrMSeOh.js} +5 -5
  63. package/server/{cost-CiIwxH1D.js → cost-CxXv7ei-.js} +10 -2
  64. package/server/cost-DR57uJFP.js +838 -0
  65. package/server/{cost-BCWEkvro.js → cost-MZ7EZFDc.js} +3 -3
  66. package/server/{cost-sync-DOkdE_yB.js → cost-sync-Bq_dyq9k.js} +3 -3
  67. package/server/{dag-BPc74hwj.js → dag-CKUsr8wB.js} +2 -2
  68. package/server/{dangerous-git-ops-By9iguTP.js → dangerous-git-ops-BOtXCFkT.js} +1 -1
  69. package/server/dashboard-db-worker.js +61 -11
  70. package/server/{deacon-CzSZMtb-.js → deacon-BUOpTnmQ.js} +3 -3
  71. package/server/{deacon-B24dNzr8.js → deacon-C7qZxRuW.js} +125 -165
  72. package/server/{deacon-canonical-state-CkvxRPck.js → deacon-canonical-state-hcaZgjoT.js} +2 -2
  73. package/server/{deacon-event-client-Do6Z2gKl.js → deacon-event-client-Coiopt4u.js} +2 -2
  74. package/server/{deacon-event-client-BYIQBu0T.js → deacon-event-client-DJ71Tifg.js} +1 -1
  75. package/server/{deacon-nudge-log-CzM9JA9t.js → deacon-nudge-log-pcliw8Dr.js} +1 -1
  76. package/server/{deacon-pending-lifecycle-BObEdT-L.js → deacon-pending-lifecycle-Dv0-8bZG.js} +3 -3
  77. package/server/deacon.js +11 -11
  78. package/server/dead-end-trip-B91w2PGV.js +2 -0
  79. package/server/{dead-end-trip-CnVmjnya.js → dead-end-trip-DH_hA7yS.js} +3 -3
  80. package/server/{delivery-gyce0vQ7.js → delivery-zJM4aIkf.js} +1 -1
  81. package/server/{deploy-patrol-CEwwEYDM.js → deploy-patrol-Cv96N0s6.js} +8 -8
  82. package/server/deploy-queue-2cN86Lg4.js +2 -0
  83. package/server/{deploy-queue-r96ojDI3.js → deploy-queue-EcksuKE2.js} +2 -2
  84. package/server/{deploy-window-D_3hhfxt.js → deploy-window-BXbzS0zN.js} +4 -4
  85. package/server/{deploy-window-DeJK8mTK.js → deploy-window-CHgL_TTN.js} +1 -1
  86. package/server/{dev-supervisor-DZWwpENk.js → dev-supervisor-lNaYB136.js} +2 -2
  87. package/server/{devcontainer-renderer-d-9dCV_2.js → devcontainer-renderer-q8q9aXRd.js} +3 -3
  88. package/server/{dist-DsLAsFSh.js → dist-CoR2sivG.js} +1 -1
  89. package/server/dist-FHv1s5ez.js +3 -0
  90. package/server/{docker-CRPHBylA.js → docker-BNd0tMdS.js} +1 -1
  91. package/server/{docker-B2mUBzGk.js → docker-Dk-shfga.js} +3 -3
  92. package/server/{dod-DWtilRLx.js → dod-BAk5arLF.js} +1 -1
  93. package/server/{done-preflight-BDVdWed5.js → done-preflight-AiXnYYAy.js} +1 -1
  94. package/server/{done-preflight-D4ukUf-S.js → done-preflight-CukR3Br8.js} +5 -5
  95. package/server/{durable-review-pipeline-CaCbEJSt.js → durable-review-pipeline-BOEZ0chh.js} +1 -1
  96. package/server/{durable-review-pipeline-B3OS2_He.js → durable-review-pipeline-Djx_lvFd.js} +1 -1
  97. package/server/{ensure-devcontainer-rGSh0JHK.js → ensure-devcontainer-BjMV_gdX.js} +1 -1
  98. package/server/{ensure-devcontainer-BUeBRjmm.js → ensure-devcontainer-YXncXZ5Q.js} +4 -4
  99. package/server/{esm-shims-oAaKIa-a.js → esm-shims-deFq5Hhl.js} +1 -1
  100. package/server/{event-store-Db4w4YIY.js → event-store-CFnLP8w-.js} +1 -1
  101. package/server/{event-store-BCSgMubf.js → event-store-DbjldlXW.js} +5 -5
  102. package/server/{event-store-provider-DlSQND3V.js → event-store-provider-Bu1Qrg6v.js} +1 -1
  103. package/server/{events-B6zioJA_.js → events-Bb2x5ijT.js} +3 -3
  104. package/server/{factory-BrdqXBeK.js → factory-DfIQG-qW.js} +4 -4
  105. package/server/{feature-registry-storage-zh3ZXW6f.js → feature-registry-storage-BzAGS4DA.js} +2 -2
  106. package/server/{features-BGntOWdy.js → features-KxOILHX8.js} +2 -2
  107. package/server/{feedback-stuck-retirement-DpA5u1kt.js → feedback-stuck-retirement-BqTHm-1Z.js} +2 -2
  108. package/server/{feedback-target-D7GxdUYG.js → feedback-target-BjLidX0M.js} +10 -10
  109. package/server/{feedback-target-Ddqk93NF.js → feedback-target-D2CIZFwc.js} +1 -1
  110. package/server/{feedback-writer-CH2846DP.js → feedback-writer-BrSQ4fC-.js} +1 -1
  111. package/server/{feedback-writer-C1gCLFmp.js → feedback-writer-Dgrma-L1.js} +5 -5
  112. package/server/{flywheel-CjW2L7BS.js → flywheel-D5FchYg4.js} +16 -16
  113. package/server/{flywheel-HJt7QdWP.js → flywheel-Ds0eOd1P.js} +1 -1
  114. package/server/{flywheel-v1cCOBx-.js → flywheel-X6kvGnf2.js} +15 -15
  115. package/server/{flywheel-merge-order-D_yyAlND.js → flywheel-merge-order-BTY73Efv.js} +17 -15
  116. package/server/{flywheel-merge-order-4fNRN2F2.js → flywheel-merge-order-PTHnouQS.js} +1 -1
  117. package/server/{forge-RVTCK_5X.js → forge-B08cRXEb.js} +2 -2
  118. package/server/forge-egNLsjVi.js +2 -0
  119. package/server/{from-BnLgKYvw.js → from-C3dzmjSO.js} +1 -1
  120. package/server/{fs-lock-C7J-ugIf.js → fs-lock-DfiYlr5u.js} +2 -2
  121. package/server/{fts-operations-CU0B5WUx.js → fts-operations-Do1SP0w4.js} +2 -2
  122. package/server/{git-info-BSrI9owC.js → git-info-DMOSfJ9I.js} +1 -1
  123. package/server/{git-utils-DW8-jIUJ.js → git-utils-DfpFkvwk.js} +4 -4
  124. package/server/{git-utils-CsKV0Dis.js → git-utils-fcK3ZRNj.js} +1 -1
  125. package/server/{github-app-7ywLhuZO.js → github-app-Co8ZhyUJ.js} +2 -2
  126. package/server/{github-app-Oi5hdn1n.js → github-app-HAqQZZRD.js} +1 -1
  127. package/server/{github-client-Cy0fSj1a.js → github-client-C7MUxFzX.js} +1 -1
  128. package/server/{github-client-DAbuXLuk.js → github-client-wqbDCmlL.js} +2 -2
  129. package/server/{github-pr-lookup-Dhh3ec1V.js → github-pr-lookup-DdLCDdu9.js} +2 -2
  130. package/server/{harness-binary-tMmgJfC1.js → harness-binary-BuakhXkB.js} +2 -2
  131. package/server/{harness-resolve-DusNpVEe.js → harness-resolve-CISjc9FR.js} +4 -4
  132. package/server/{health-events-BYDZ9n2i.js → health-events-9RhRGZK1.js} +1 -1
  133. package/server/{health-events-DNw9Mzw9.js → health-events-CIE7gy34.js} +2 -2
  134. package/server/{hooks-B4wj32l2.js → hooks-CmL3TXla.js} +1 -1
  135. package/server/{hooks-BjBjxqNh.js → hooks-D55VTdQS.js} +2 -2
  136. package/server/{hume-BP9YbxaE.js → hume-1FJmNDTq.js} +2 -2
  137. package/server/hume-gXLmRhmN.js +3 -0
  138. package/server/{identity-C23uY8dZ.js → identity-CZbJ0xpl.js} +3 -3
  139. package/server/{idle-stack-reaper-BSxb1bln.js → idle-stack-reaper-CjovDCet.js} +4 -4
  140. package/server/{idle-stack-reaper-Bw0rU9GC.js → idle-stack-reaper-DhbFdkWv.js} +1 -1
  141. package/server/{in-flight-guard-DuxabAHT.js → in-flight-guard-B7khcBdQ.js} +1 -1
  142. package/server/{infra-CHIvOb9q.js → infra-BbSWNOpH.js} +10 -4
  143. package/server/{injection-BYUt8ml1.js → injection-BSnn_10a.js} +8 -8
  144. package/server/{injection-BviePcm3.js → injection-DsQDBSEi.js} +1 -1
  145. package/server/inspect-agent-BuSYgRQs.js +2 -0
  146. package/server/{inspect-agent-sV_19NxZ.js → inspect-agent-DS8j2v6U.js} +12 -12
  147. package/server/{internal-token-DoVzb4b7.js → internal-token-CUKcTWSG.js} +2 -2
  148. package/server/{internal-token-BOtIRJU7.js → internal-token-CkrMLCLU.js} +1 -1
  149. package/server/{io-DKrWd3gX.js → io-BgzG56av.js} +4 -4
  150. package/server/{issue-closed-6RQsAjDX.js → issue-closed-DZEwD3ol.js} +7 -7
  151. package/server/{issue-lifecycle-DOPVv7xz.js → issue-lifecycle-Bnfbpkmk.js} +1 -1
  152. package/server/{issue-lifecycle-D9nLErvS.js → issue-lifecycle-LgYeE1o2.js} +25 -25
  153. package/server/{issue-service-singleton-B2xy-IS9.js → issue-service-singleton-Bsb0GaY8.js} +10 -10
  154. package/server/{issue-service-singleton-CvgNAWqK.js → issue-service-singleton-COEqWNKE.js} +1 -1
  155. package/server/{issue-title-fallback-DTSCQVu0.js → issue-title-fallback-D4_b2XwP.js} +3 -3
  156. package/server/{issues-e_Ck1Ln2.js → issues-DYAEUW45.js} +2 -2
  157. package/server/{jsonl-parser-DqxVCZ1k.js → jsonl-parser-1IqHI9Yb.js} +3 -3
  158. package/server/{jsonl-resolver-07OS3qOr.js → jsonl-resolver-BJ8Hg-yD.js} +8 -8
  159. package/server/{kimi-code-vtXl2DR5.js → kimi-code-Cdkk9vRU.js} +1 -1
  160. package/server/{kimi-code-BjtAHIz1.js → kimi-code-DwqLCWFw.js} +11 -11
  161. package/server/{kimi-parser-B1lgy2Vt.js → kimi-parser-DFsZQArz.js} +2 -2
  162. package/server/{label-cleanup-D2zUMasf.js → label-cleanup-Bej6xDZK.js} +3 -3
  163. package/server/{lifecycle-0NOEzomy.js → lifecycle-BibLMHBH.js} +2 -2
  164. package/server/{lifecycle-DaCovZwn.js → lifecycle-CMpSB9sn.js} +6 -6
  165. package/server/{lifecycle-io-6WL46dsB.js → lifecycle-io-CCCAMefe.js} +5 -5
  166. package/server/{lifecycle-io-BBMTaP7S.js → lifecycle-io-CLWwYZaR.js} +1 -1
  167. package/server/{linear-client-BTGApNLo.js → linear-client-BtYl16Cy.js} +1 -1
  168. package/server/{linear-client-7fQThJTc.js → linear-client-fpL-qJEa.js} +2 -2
  169. package/server/{linear-mcp-auth-B8pYRsiU.js → linear-mcp-auth-CQ7ROT1X.js} +1 -1
  170. package/server/{linear-mcp-auth-Nk5s3L9M.js → linear-mcp-auth-nAYWoUbH.js} +5 -5
  171. package/server/memory-fts-worker.js +1 -1
  172. package/server/{memory-governor-Cqvbusr4.js → memory-governor-Mi5zF5zw.js} +87 -21
  173. package/server/{memory-pressure-patrol-DPb8foam.js → memory-pressure-patrol-CDeDh46A.js} +38 -14
  174. package/server/{merge-BB_bjJ9a.js → merge-DCuDLiy9.js} +1 -1
  175. package/server/{merge-FZ78_cEz.js → merge-_XIivhkq.js} +3 -3
  176. package/server/{merge-agent-BuoC_PRZ.js → merge-agent-svBDRWB6.js} +2 -2
  177. package/server/{merge-agent-B3jRrlS1.js → merge-agent-zF9vqWqY.js} +31 -31
  178. package/server/{merge-batch-B8bVjFWS.js → merge-batch-BJjzUUL7.js} +1 -1
  179. package/server/{merge-completeness-DQt7Qa7i.js → merge-completeness-CQPqu-pI.js} +4 -4
  180. package/server/{merge-completeness-DkdabVch.js → merge-completeness-CeQheehh.js} +1 -1
  181. package/server/merge-eligibility-CJrBhQQe.js +3 -0
  182. package/server/merge-eligibility-DhxVE8qU.js +51 -0
  183. package/server/merge-ops-CUzpOPtO.js +2 -0
  184. package/server/{merge-rebase-qq40s91P.js → merge-rebase-Bjo45m3k.js} +2 -2
  185. package/server/merge-rebase-DkfcUT60.js +2 -0
  186. package/server/{merge-set-BmRRflt0.js → merge-set-COZvz2nx.js} +4 -4
  187. package/server/{merge-set-BTNYvxM3.js → merge-set-ChxZgjBB.js} +1 -1
  188. package/server/{merge-sync-CJpOa0cZ.js → merge-sync-CCi1Esdx.js} +2 -2
  189. package/server/{merge-sync-0m2Q087q.js → merge-sync-DuJ6Vkl3.js} +1 -1
  190. package/server/{merge-train-iwKqjtCF.js → merge-train-DTJXF8ph.js} +4 -4
  191. package/server/{merge-train-deps-CH5Mr3vN.js → merge-train-deps-C0P0qGKe.js} +4 -4
  192. package/server/{merge-verification-JJc5GC2t.js → merge-verification-C5FexOBZ.js} +6 -6
  193. package/server/{merged-docker-cleanup-worker-CrhTdxZV.js → merged-docker-cleanup-worker-0SEDG3Ao.js} +1 -1
  194. package/server/{merged-docker-cleanup-worker-BOqWA373.js → merged-docker-cleanup-worker-C-kSp_jw.js} +3 -3
  195. package/server/{messaging-nuwStbdQ.js → messaging-DQi-WEFB.js} +1 -1
  196. package/server/{multipart-parser-DxuW_rZV.js → multipart-parser-BYwfKOVU.js} +2 -2
  197. package/server/{no-resume-mode-xuYLFhLw.js → no-resume-mode-DjMQRkId.js} +1 -1
  198. package/server/node_modules/.package-lock.json +28 -28
  199. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/package.json +2 -2
  200. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/70_cli/10_basics.ts +4 -2
  201. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeClusterSocket.d.ts.map +1 -1
  202. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeClusterSocket.js +12 -9
  203. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeClusterSocket.js.map +1 -1
  204. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeSocket.js +1 -1
  205. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeSocket.js.map +1 -1
  206. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +6 -6
  207. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeClusterSocket.ts +15 -12
  208. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeSocket.ts +1 -1
  209. package/server/node_modules/@types/node/README.md +1 -1
  210. package/server/node_modules/@types/node/buffer.buffer.d.ts +10 -5
  211. package/server/node_modules/@types/node/buffer.d.ts +1 -0
  212. package/server/node_modules/@types/node/crypto.d.ts +2 -4
  213. package/server/node_modules/@types/node/dgram.d.ts +119 -4
  214. package/server/node_modules/@types/node/diagnostics_channel.d.ts +4 -4
  215. package/server/node_modules/@types/node/ffi.d.ts +1 -1
  216. package/server/node_modules/@types/node/fs/promises.d.ts +61 -65
  217. package/server/node_modules/@types/node/fs.d.ts +86 -76
  218. package/server/node_modules/@types/node/http.d.ts +18 -2
  219. package/server/node_modules/@types/node/http2.d.ts +12 -4
  220. package/server/node_modules/@types/node/index.d.ts +1 -0
  221. package/server/node_modules/@types/node/inspector.d.ts +2 -1
  222. package/server/node_modules/@types/node/net.d.ts +108 -16
  223. package/server/node_modules/@types/node/package.json +3 -3
  224. package/server/node_modules/@types/node/perf_hooks.d.ts +31 -19
  225. package/server/node_modules/@types/node/process.d.ts +52 -0
  226. package/server/node_modules/@types/node/quic.d.ts +252 -42
  227. package/server/node_modules/@types/node/sqlite.d.ts +6 -2
  228. package/server/node_modules/@types/node/stream/iter.d.ts +4 -4
  229. package/server/node_modules/@types/node/stream/web.d.ts +20 -0
  230. package/server/node_modules/@types/node/test.d.ts +36 -0
  231. package/server/node_modules/@types/node/tls.d.ts +50 -15
  232. package/server/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +5 -0
  233. package/server/node_modules/@types/node/ts5.6/index.d.ts +1 -0
  234. package/server/node_modules/@types/node/ts5.7/index.d.ts +1 -0
  235. package/server/node_modules/@types/node/tty.d.ts +4 -3
  236. package/server/node_modules/@types/node/vfs.d.ts +211 -0
  237. package/server/node_modules/@types/node/vm.d.ts +1 -1
  238. package/server/node_modules/@types/node/zlib.d.ts +17 -0
  239. package/server/node_modules/effect/node_modules/uuid/README.md +19 -19
  240. package/server/node_modules/effect/node_modules/uuid/dist/v1.js +7 -3
  241. package/server/node_modules/effect/node_modules/uuid/dist/v7.js +5 -2
  242. package/server/node_modules/effect/node_modules/uuid/dist-node/v1.js +7 -3
  243. package/server/node_modules/effect/node_modules/uuid/dist-node/v7.js +5 -2
  244. package/server/node_modules/effect/node_modules/uuid/package.json +4 -3
  245. package/server/node_modules/msgpackr/README.md +1 -0
  246. package/server/node_modules/msgpackr/dist/index-no-eval.cjs +13 -7
  247. package/server/node_modules/msgpackr/dist/index-no-eval.cjs.map +1 -1
  248. package/server/node_modules/msgpackr/dist/index-no-eval.min.js +1 -1
  249. package/server/node_modules/msgpackr/dist/index-no-eval.min.js.map +1 -1
  250. package/server/node_modules/msgpackr/dist/index.js +13 -7
  251. package/server/node_modules/msgpackr/dist/index.js.map +1 -1
  252. package/server/node_modules/msgpackr/dist/index.min.js +1 -1
  253. package/server/node_modules/msgpackr/dist/index.min.js.map +1 -1
  254. package/server/node_modules/msgpackr/dist/node.cjs +13 -7
  255. package/server/node_modules/msgpackr/dist/node.cjs.map +1 -1
  256. package/server/node_modules/msgpackr/dist/test.js +63 -7
  257. package/server/node_modules/msgpackr/dist/test.js.map +1 -1
  258. package/server/node_modules/msgpackr/dist/unpack-no-eval.cjs +11 -5
  259. package/server/node_modules/msgpackr/dist/unpack-no-eval.cjs.map +1 -1
  260. package/server/node_modules/msgpackr/index.d.cts +1 -0
  261. package/server/node_modules/msgpackr/index.d.ts +1 -0
  262. package/server/node_modules/msgpackr/pack.js +2 -2
  263. package/server/node_modules/msgpackr/package.json +1 -1
  264. package/server/node_modules/msgpackr/unpack.js +11 -5
  265. package/server/node_modules/picomatch/lib/parse.js +10 -1
  266. package/server/node_modules/picomatch/lib/scan.js +30 -18
  267. package/server/node_modules/picomatch/package.json +1 -1
  268. package/server/node_modules/protobufjs/dist/light/protobuf.js +59 -6
  269. package/server/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  270. package/server/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  271. package/server/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  272. package/server/node_modules/protobufjs/dist/minimal/protobuf.js +22 -2
  273. package/server/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  274. package/server/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  275. package/server/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  276. package/server/node_modules/protobufjs/dist/protobuf.js +59 -6
  277. package/server/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  278. package/server/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  279. package/server/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  280. package/server/node_modules/protobufjs/package.json +1 -1
  281. package/server/node_modules/protobufjs/src/decoder.js +32 -3
  282. package/server/node_modules/protobufjs/src/reader.js +20 -0
  283. package/server/node_modules/protobufjs/src/wrappers.js +5 -1
  284. package/server/node_modules/undici/docs/docs/api/Client.md +4 -0
  285. package/server/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +3 -2
  286. package/server/node_modules/undici/docs/docs/api/EventSource.md +4 -0
  287. package/server/node_modules/undici/docs/docs/api/Interceptors.md +7 -3
  288. package/server/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +7 -1
  289. package/server/node_modules/undici/lib/cache/memory-cache-store.js +2 -2
  290. package/server/node_modules/undici/lib/core/symbols.js +2 -0
  291. package/server/node_modules/undici/lib/dispatcher/agent.js +7 -2
  292. package/server/node_modules/undici/lib/dispatcher/balanced-pool.js +7 -4
  293. package/server/node_modules/undici/lib/dispatcher/client-h1.js +12 -4
  294. package/server/node_modules/undici/lib/dispatcher/client-h2.js +43 -3
  295. package/server/node_modules/undici/lib/dispatcher/client.js +3 -2
  296. package/server/node_modules/undici/lib/dispatcher/dispatcher-base.js +13 -1
  297. package/server/node_modules/undici/lib/dispatcher/dispatcher.js +15 -1
  298. package/server/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +3 -0
  299. package/server/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +10 -3
  300. package/server/node_modules/undici/lib/dispatcher/proxy-agent.js +18 -1
  301. package/server/node_modules/undici/lib/dispatcher/retry-agent.js +3 -0
  302. package/server/node_modules/undici/lib/dispatcher/round-robin-pool.js +1 -1
  303. package/server/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +91 -21
  304. package/server/node_modules/undici/lib/handler/cache-handler.js +29 -5
  305. package/server/node_modules/undici/lib/handler/decorator-handler.js +7 -1
  306. package/server/node_modules/undici/lib/handler/deduplication-handler.js +12 -6
  307. package/server/node_modules/undici/lib/handler/redirect-handler.js +21 -4
  308. package/server/node_modules/undici/lib/handler/retry-handler.js +148 -30
  309. package/server/node_modules/undici/lib/interceptor/cache.js +65 -12
  310. package/server/node_modules/undici/lib/interceptor/decompress.js +115 -13
  311. package/server/node_modules/undici/lib/interceptor/deduplicate.js +5 -4
  312. package/server/node_modules/undici/lib/interceptor/dns.js +7 -0
  313. package/server/node_modules/undici/lib/interceptor/dump.js +10 -23
  314. package/server/node_modules/undici/lib/mock/mock-agent.js +13 -1
  315. package/server/node_modules/undici/lib/mock/mock-utils.js +11 -10
  316. package/server/node_modules/undici/lib/util/cache.js +45 -3
  317. package/server/node_modules/undici/lib/web/cookies/parse.js +150 -147
  318. package/server/node_modules/undici/lib/web/eventsource/eventsource-stream.js +28 -1
  319. package/server/node_modules/undici/lib/web/eventsource/eventsource.js +13 -3
  320. package/server/node_modules/undici/lib/web/fetch/index.js +6 -0
  321. package/server/node_modules/undici/lib/web/fetch/request.js +2 -3
  322. package/server/node_modules/undici/lib/web/fetch/util.js +6 -1
  323. package/server/node_modules/undici/lib/web/webidl/index.js +3 -3
  324. package/server/node_modules/undici/lib/web/websocket/connection.js +1 -1
  325. package/server/node_modules/undici/lib/web/websocket/permessage-deflate.js +5 -0
  326. package/server/node_modules/undici/lib/web/websocket/stream/websocketstream.js +8 -10
  327. package/server/node_modules/undici/package.json +3 -3
  328. package/server/node_modules/undici/types/client.d.ts +10 -0
  329. package/server/node_modules/undici/types/interceptors.d.ts +2 -0
  330. package/server/node_modules/undici/types/mock-agent.d.ts +11 -10
  331. package/server/node_modules/undici/types/socks5-proxy-agent.d.ts +2 -0
  332. package/server/node_modules/undici-types/client.d.ts +8 -3
  333. package/server/node_modules/undici-types/connector.d.ts +1 -0
  334. package/server/node_modules/undici-types/cookies.d.ts +1 -1
  335. package/server/node_modules/undici-types/dispatcher.d.ts +3 -3
  336. package/server/node_modules/undici-types/errors.d.ts +10 -0
  337. package/server/node_modules/undici-types/fetch.d.ts +5 -1
  338. package/server/node_modules/undici-types/handlers.d.ts +2 -0
  339. package/server/node_modules/undici-types/interceptors.d.ts +1 -1
  340. package/server/node_modules/undici-types/mock-interceptor.d.ts +5 -1
  341. package/server/node_modules/undici-types/package.json +1 -1
  342. package/server/node_modules/undici-types/proxy-agent.d.ts +7 -0
  343. package/server/{orphan-proposed-reconciler-gf4TxfZb.js → orphan-proposed-reconciler--V8GIzmY.js} +2 -2
  344. package/server/{orphan-proposed-reconciler-Dmk0kO_p.js → orphan-proposed-reconciler-BSsKWmsB.js} +21 -21
  345. package/server/package-lock.json +29 -29
  346. package/server/package.json +1 -1
  347. package/server/{pan-dir-BMda7tQj.js → pan-dir-COaYhZel.js} +4 -4
  348. package/server/{parked-residue-BiHb8cD7.js → parked-residue-Dvr4W9P6.js} +68 -64
  349. package/server/{paths-DEe9j-kw.js → paths-Cm1Q7Old.js} +2 -2
  350. package/server/{pending-lifecycle-claim-J5uIIJPu.js → pending-lifecycle-claim-yAwDuGS4.js} +1 -1
  351. package/server/{pickup-D1UbSDPd.js → pickup-Dle6k9Xt.js} +1 -1
  352. package/server/{pipeline-agent-reader-D-6okryb.js → pipeline-agent-reader-DCCwbUj8.js} +3 -3
  353. package/server/{pipeline-membership-PGX3Pe8V.js → pipeline-membership-BV4hdkHm.js} +1 -1
  354. package/server/{pipeline-membership-CCbgBzNC.js → pipeline-membership-C9ykcjsn.js} +1 -1
  355. package/server/{pipeline-membership-gather-BRhU7XPx.js → pipeline-membership-gather-DGoDOfKO.js} +1 -1
  356. package/server/{pipeline-membership-gather-BK4dzh0X.js → pipeline-membership-gather-UN7kHpCD.js} +10 -10
  357. package/server/{pipeline-notifier-BNAV9kpa.js → pipeline-notifier-DfH2i_zP.js} +2 -2
  358. package/server/{pipeline-notifier-DvHLaXKb.js → pipeline-notifier-DsCfxoSU.js} +1 -1
  359. package/server/{post-merge-lifecycle-worker-DAWgzXQA.js → post-merge-lifecycle-worker-V51p8tSm.js} +2 -2
  360. package/server/{post-merge-state-DC2_0t12.js → post-merge-state-Cym5NVlB.js} +4 -4
  361. package/server/{prd-locations-BbAvqQmT.js → prd-locations-CPuMD55x.js} +3 -3
  362. package/server/{project-pipelines-By_5WcT4.js → project-pipelines-DdDKdXrG.js} +2 -2
  363. package/server/{project-repos-3bI6t4fO.js → project-repos-CNrLxJDg.js} +1 -1
  364. package/server/{project-repos--QeCg7yQ.js → project-repos-DqAT7YV6.js} +2 -2
  365. package/server/{project-resource-refresh-queue-BaZC79S3.js → project-resource-refresh-queue-C-umDazS.js} +1 -1
  366. package/server/{project-resource-refresh-queue-x-K9mvpP.js → project-resource-refresh-queue-Dh8k2SB7.js} +17 -17
  367. package/server/{projects-LftaVK99.js → projects-Crur9uCa.js} +1 -1
  368. package/server/{prompts-BotGu-6W.js → prompts-CvtVJUpG.js} +2 -2
  369. package/server/{providers-BL1I66sM.js → providers-1BlEh5x1.js} +7 -7
  370. package/server/{providers-Dqgz3MY5.js → providers-Bun8zer5.js} +1 -1
  371. package/server/public/assets/{chunk-BO2N2NFS-D5Fz5jND.js → chunk-BO2N2NFS-DzUNVdeo.js} +4 -4
  372. package/server/public/assets/{diagram-OG6HWLK6-Eux0gWFq.js → diagram-OG6HWLK6-D5iThVwA.js} +1 -1
  373. package/server/public/assets/{dist-D-JX_u7m.js → dist-BLq-IR2D.js} +3 -3
  374. package/server/public/assets/{dist-C3zShwhA.js → dist-RyrOs5EF.js} +1 -1
  375. package/server/public/assets/{ganttDiagram-6RSMTGT7-UH3aweia.js → ganttDiagram-6RSMTGT7-n8bUPXAS.js} +1 -1
  376. package/server/public/assets/{highlighted-body-OFNGDK62-ccIQ-WXS.js → highlighted-body-OFNGDK62-1npo3yiG.js} +1 -1
  377. package/server/public/assets/{index-BTVcdPve.js → index-BvN8bWpz.js} +149 -149
  378. package/server/public/assets/index-DgoS288w.css +1 -0
  379. package/server/public/assets/{linear-Cnnu4YQy.js → linear-Dd96gky1.js} +1 -1
  380. package/server/public/assets/mermaid-GHXKKRXX-fP93Za-W.js +1 -0
  381. package/server/public/assets/{pieDiagram-4H26LBE5-BD8-Tye6.js → pieDiagram-4H26LBE5-CynZvpYP.js} +1 -1
  382. package/server/public/assets/{prod-Ca6aKMts.js → prod-DBuCX9g-.js} +4 -4
  383. package/server/public/assets/{quadrantDiagram-W4KKPZXB-BmSrVyFD.js → quadrantDiagram-W4KKPZXB-BNlEKLKN.js} +1 -1
  384. package/server/public/assets/{sankeyDiagram-5OEKKPKP-CEGy8Das.js → sankeyDiagram-5OEKKPKP-Cq0AMnkD.js} +1 -1
  385. package/server/public/assets/{xychartDiagram-2RQKCTM6-VnQ8iY8s.js → xychartDiagram-2RQKCTM6-D7GXcBy2.js} +1 -1
  386. package/server/public/index.html +2 -2
  387. package/server/pull-requests-DV_rJ-1u.js +2 -0
  388. package/server/{pull-requests-Cp_FDT8-.js → pull-requests-DrhWU9MW.js} +3 -3
  389. package/server/{rally-bQpBzUNf.js → rally-D5QkIZeb.js} +3 -3
  390. package/server/rally-DlXjOIAG.js +3 -0
  391. package/server/{rally-api-Ij1Zt0NI.js → rally-api-BdNfpNGk.js} +1 -1
  392. package/server/{rally-api-CqAIJ8RX.js → rally-api-CNlcoTFM.js} +2 -2
  393. package/server/{rally-client-CN5vh4Ac.js → rally-client-BCU7mVWE.js} +1 -1
  394. package/server/{rally-client-qKbCNRVW.js → rally-client-C3eB9TM-.js} +4 -4
  395. package/server/{rebuild-stack-DrMyA_mA.js → rebuild-stack-BupKggo5.js} +2 -2
  396. package/server/{rebuild-stack-BNOMVh7C.js → rebuild-stack-CNknXJHL.js} +6 -6
  397. package/server/reconciler-ComAOr_F.js +657 -0
  398. package/server/{reconstruct-cache-mxIYCnqs.js → reconstruct-cache-DbjgwKRi.js} +7 -7
  399. package/server/{record-Ug18Cp4V.js → record-C4JJCL2f.js} +1 -1
  400. package/server/{record-update-WyhsREoH.js → record-update-CWwZsp9Y.js} +1 -1
  401. package/server/{record-update-dBGxL9OC.js → record-update-Cl56NqoQ.js} +5 -5
  402. package/server/{recovery-trip-BKLrL6NX.js → recovery-trip-DA7tCXbp.js} +3 -3
  403. package/server/{recovery-trip-wFAixKsg.js → recovery-trip-DFtSA8h5.js} +1 -1
  404. package/server/{release-engine-D9gaCBn9.js → release-engine-Dk99C48O.js} +5 -5
  405. package/server/{release-set-DPHHzEGx.js → release-set-x8KH3nrE.js} +3 -3
  406. package/server/{remote-BUEeUic6.js → remote-BMZmJC5E.js} +3 -3
  407. package/server/{remote-BU6ONLpv.js → remote-DyZIg94K.js} +3 -3
  408. package/server/{remote-agents-CSaTLi3u.js → remote-agents-Blb0vO_M.js} +6 -6
  409. package/server/{remote-agents-BVtASiOF.js → remote-agents-MbWzm5Fh.js} +1 -1
  410. package/server/{remote-completion-CBV3b9TI.js → remote-completion-Bcd13o-J.js} +12 -12
  411. package/server/{resolver-DvSMXty7.js → resolver-CZVWKCx0.js} +7 -7
  412. package/server/{resolver-gxv97jsQ.js → resolver-tJeEkPK5.js} +2 -2
  413. package/server/{resume-DvHuF-bm.js → resume-DmF2andq.js} +1 -1
  414. package/server/{review-agent-esZ0QXdY.js → review-agent-CmJeQc0K.js} +30 -30
  415. package/server/{review-agent-DgkUPRx0.js → review-agent-DM9S22BL.js} +2 -2
  416. package/server/{review-artifacts-DGGEobLp.js → review-artifacts-DCiaejJK.js} +6 -6
  417. package/server/{review-convoy-liveness-DmO8dIBH.js → review-convoy-liveness-C9F1Q1LN.js} +8 -8
  418. package/server/{review-run-recovery-Ct0q7FkE.js → review-run-recovery-C5TEICtx.js} +2 -2
  419. package/server/{review-run-recovery-DHiiw7d8.js → review-run-recovery-CRGBh7xs.js} +1 -1
  420. package/server/{review-status-yOGD2MuK.js → review-status-C3PJkfjv.js} +55 -45
  421. package/server/{review-status-C_kQeeX0.js → review-status-CDs0jQV6.js} +1 -1
  422. package/server/{review-status-emit-BZz1Y_22.js → review-status-emit-De6PF3ZH.js} +3 -3
  423. package/server/{review-status-enrichment-BWH0XW_m.js → review-status-enrichment-CclcG8jk.js} +3 -3
  424. package/server/{review-status-sync-Bq00Loey.js → review-status-sync-B3GKewT_.js} +1 -1
  425. package/server/{review-status-sync-2C9lk85r.js → review-status-sync-wvgdR1yZ.js} +11 -8
  426. package/server/{review-verdict-feedback-CE_tr2iQ.js → review-verdict-feedback-20s9pG0w.js} +7 -7
  427. package/server/{review-verdict-feedback-Brjaxoda.js → review-verdict-feedback-DkMx_cKj.js} +1 -1
  428. package/server/{review-verdict-writer-Ca2V7QSY.js → review-verdict-writer-BcG5RBWF.js} +7 -7
  429. package/server/{review-verdict-writer-CD-4kDVx.js → review-verdict-writer-CaJPCD-q.js} +1 -1
  430. package/server/{rollup-B6g9Nr6L.js → rollup-C-GXHbTG.js} +8 -8
  431. package/server/{rollup--g9ik1XQ.js → rollup-DR250WyW.js} +1 -1
  432. package/server/{scanner-YxIv-fG1.js → scanner-BEAzmMNs.js} +18 -11
  433. package/server/{search-DqMN4__-.js → search-BN0MYpZW.js} +2 -2
  434. package/server/{sequence-io--b3_PsWq.js → sequence-io-BmVO0K-_.js} +4 -4
  435. package/server/{sequencer-agent-CqouKVZG.js → sequencer-agent-CuA9PA_R.js} +6 -6
  436. package/server/server.js +599 -290
  437. package/server/{service-CEp-3iow.js → service-D1SZCxH8.js} +77 -772
  438. package/server/{session-fork-GtoeCh2H.js → session-fork--SMYFKVu.js} +2 -2
  439. package/server/{settings-Ch2pCVtt.js → settings-CETdzCl6.js} +3 -3
  440. package/server/{settings-CLQcdkoD.js → settings-CFi7CdJo.js} +2 -2
  441. package/server/settings-EGNbGKpP.js +2 -0
  442. package/server/{shadow-engineering-BxiFrIKv.js → shadow-engineering-CNTXaC9O.js} +2 -2
  443. package/server/{shadow-state-nGhCNXT2.js → shadow-state-6jSyeXQ7.js} +1 -1
  444. package/server/{shadow-state-CSA1vtxr.js → shadow-state-CtYJGNXt.js} +2 -2
  445. package/server/{shadow-utils-7q5QDmMj.js → shadow-utils-Cq5eMfwI.js} +2 -2
  446. package/server/{ship-log-ie0A_SqV.js → ship-log-D-CphNZx.js} +1 -1
  447. package/server/{ship-record-BM3oVvnL.js → ship-record-STA0P11l.js} +5 -5
  448. package/server/{ship-record-DHWH1hLz.js → ship-record-neN0oUI9.js} +1 -1
  449. package/server/{ship-status-BEkddXMT.js → ship-status-DzDpufmj.js} +2 -2
  450. package/server/{smart-compaction-BkzjVpWL.js → smart-compaction-CdtKIcDk.js} +1 -1
  451. package/server/{smart-compaction-D0TE1lBD.js → smart-compaction-tndAhwoc.js} +7 -7
  452. package/server/{spawn-planning-session-s406rw1N.js → spawn-planning-session-1XLgDLjR.js} +2 -2
  453. package/server/{spawn-planning-session-CkGweSCC.js → spawn-planning-session-CAncCBLX.js} +17 -17
  454. package/server/{specialist-completion-CTAjwH5j.js → specialist-completion-BMv3K54P.js} +1 -1
  455. package/server/{specialist-context-CKasRfYu.js → specialist-context-B054OP_a.js} +5 -5
  456. package/server/{specialist-handoff-logger-DrjrOmmn.js → specialist-handoff-logger-B7jzypoX.js} +2 -2
  457. package/server/{specialist-logs-Du6quZ0_.js → specialist-logs-DVhOLpwy.js} +3 -3
  458. package/server/{specialists-x-kPMhrL.js → specialists-8Pc--yZI.js} +2 -2
  459. package/server/{specialists-B-4zyE4Y.js → specialists-BVBIMc4L.js} +1 -1
  460. package/server/{specialists-b0dMMjWq.js → specialists-CC_Mnc47.js} +333 -118
  461. package/server/{specialists-CuDWiNdB.js → specialists-ChvCD2a-.js} +19 -19
  462. package/server/{specialists-registry-BYjs04iK.js → specialists-registry-Cim1fPcM.js} +2 -2
  463. package/server/{specialists-registry-1y6Rt_F1.js → specialists-registry-CoPNlhud.js} +1 -1
  464. package/server/specs-Dvq4sOy6.js +3 -0
  465. package/server/{src-CZsPs61V.js → src-C7gGe4KU.js} +6 -6
  466. package/server/{src-CY2Wl8IX.js → src-CdwN6WY6.js} +8 -2
  467. package/server/{src-DeQwpuh6.js → src-DMosbuSJ.js} +3 -3
  468. package/server/{stack-health-ypIKtkbE.js → stack-health-CvdnSVBV.js} +1 -1
  469. package/server/{stack-health-BQFSJc0l.js → stack-health-DPXaoAus.js} +3 -3
  470. package/server/{stale-task-claims-C2e1zdMT.js → stale-task-claims-UoNLemTn.js} +5 -5
  471. package/server/{staleness-Fzx_3_Hr.js → staleness-CxZaIhrn.js} +1 -1
  472. package/server/{staleness-CRDK6LFG.js → staleness-r_dkMyMG.js} +1 -1
  473. package/server/{stall-sweeper-QNk4h9m6.js → stall-sweeper-C9S8FYKz.js} +8 -8
  474. package/server/{state-home-DdG8erBI.js → state-home-BhI8O5lU.js} +2 -2
  475. package/server/{state-migrate-C6H3jfHE.js → state-migrate-DtFHcOVZ.js} +6 -6
  476. package/server/{state-mirror-DF4Lfxm0.js → state-mirror-CpuHFxHb.js} +3 -3
  477. package/server/{stuck-remediation-BDa_tXgB.js → stuck-remediation-B4nKm7B2.js} +13 -13
  478. package/server/{stuck-remediation-BVNd9txd.js → stuck-remediation-hSOOYB9B.js} +1 -1
  479. package/server/{substrate-bug-weights-service-BbbCZEtJ.js → substrate-bug-weights-service-B9f0063E.js} +3 -3
  480. package/server/{summary-fork-BvcW6bq0.js → summary-fork-CUyEqFyc.js} +14 -15
  481. package/server/{summary-fork-DIQmtOuV.js → summary-fork-DZcsOvDD.js} +2 -2
  482. package/server/{supervisor-D3jC2c7A.js → supervisor-CGtOs9Em.js} +4 -4
  483. package/server/supervisor-DoJpD33i.js +2 -0
  484. package/server/{swarm-readiness-CMWAQuWM.js → swarm-readiness-0N2p9d2C.js} +3 -3
  485. package/server/{synthesis-verdict-C-pJOPsn.js → synthesis-verdict-CJdseCuz.js} +1 -1
  486. package/server/{synthesis-verdict-DVlrLF9A.js → synthesis-verdict-CQdLbK1-.js} +2 -2
  487. package/server/{system-prerequisites-QKtIYXI2.js → system-prerequisites-DkDOEjQP.js} +2 -2
  488. package/server/{teardown-workspace-cJea1OLo.js → teardown-workspace-BxFMcWu7.js} +16 -16
  489. package/server/{test-agent-queue-C5DI_gWX.js → test-agent-queue-Dxeae55k.js} +6 -6
  490. package/server/{test-verdict-C7kmd2_Y.js → test-verdict-CJ-to_Hc.js} +1 -1
  491. package/server/{test-verdict-DUbDHqeD.js → test-verdict-hW5kILg7.js} +2 -2
  492. package/server/{tldr-daemon-BNQHwblU.js → tldr-daemon-DKCumqHU.js} +1 -1
  493. package/server/{tldr-daemon-CO08YlfQ.js → tldr-daemon-caxXegkF.js} +2 -2
  494. package/server/{tmux-B8zsqD_6.js → tmux-C-hxv71f.js} +2 -2
  495. package/server/{tmux-DWEc4Ld9.js → tmux-CvAEO9yo.js} +2 -2
  496. package/server/{token-Bez-qCB2.js → token-BdfZLRg1.js} +1 -1
  497. package/server/{tracker-config-CJzPhSHv.js → tracker-config-BjqwtkcT.js} +2 -2
  498. package/server/{tracker-utils-DJAOAuMN.js → tracker-utils-0cDe6yil.js} +2 -2
  499. package/server/{traefik-connect-D3H5I6b9.js → traefik-connect-DoQvQ6oJ.js} +1 -1
  500. package/server/{tunnel-BSdKnW0U.js → tunnel-BEM7-jgE.js} +1 -1
  501. package/server/{tunnel-Cr3ctqxp.js → tunnel-SgALz_Pi.js} +3 -3
  502. package/server/{types-fzBp9cYi.js → types-PW4zkxCM.js} +1 -1
  503. package/server/{uat-failure-feedback-IZQ-J8jt.js → uat-failure-feedback-BQzpUFQ6.js} +5 -5
  504. package/server/{uat-promote-verification-DXApKcc2.js → uat-promote-verification-BUltWC-b.js} +5 -5
  505. package/server/{uat-train-CycEzpbE.js → uat-train-B71QG16n.js} +1 -1
  506. package/server/{uat-train-IIZlz7r3.js → uat-train-BLJ0AAIc.js} +0 -0
  507. package/server/{validate-Ur4xH5bN.js → validate-DqEp2Yb9.js} +3 -3
  508. package/server/{validation-Dr6V4PXx.js → validation-DHEsL3RP.js} +4 -4
  509. package/server/{validation-CHovCoTT.js → validation-k4EpMHm0.js} +1 -1
  510. package/server/{verification-artifact-D3viYe_t.js → verification-artifact-Cmhgq4b_.js} +1 -1
  511. package/server/{verification-artifact-k5Ftpg0c.js → verification-artifact-DglwaHke.js} +1 -1
  512. package/server/{verification-runner-Dl13mmsI.js → verification-runner-BC_zNOq5.js} +16 -16
  513. package/server/{verification-runner-BuqGwm2t.js → verification-runner-Bbc-8BbR.js} +1 -1
  514. package/server/{vtt-parser-BSnAB-Og.js → vtt-parser-Va--tv27.js} +1 -1
  515. package/server/{work-agent-prompt-CJJ4tXci.js → work-agent-prompt-CQWlmw_y.js} +1 -1
  516. package/server/{work-agent-prompt-CioeOuM4.js → work-agent-prompt-DM3uza0_.js} +10 -10
  517. package/server/{work-agent-start-Ct1HVh6z.js → work-agent-start-BColr1oI.js} +1 -1
  518. package/server/{work-agent-start-B65Gqn9N.js → work-agent-start-cKf7rly8.js} +2 -2
  519. package/server/workflows-CLrEiTds.js +2 -0
  520. package/server/{workflows-AgFul1xc.js → workflows-DrC85n8j.js} +28 -28
  521. package/server/{workspace-Cy4sDd3q.js → workspace-ChRFy_F9.js} +3 -3
  522. package/server/{workspace-Cu3XlMXt.js → workspace-G3Cus8e9.js} +1 -1
  523. package/server/{workspace-anchor-drift-BI0Hz6zI.js → workspace-anchor-drift-DBbyK_Mf.js} +1 -1
  524. package/server/{workspace-anchor-drift-CMaqvizr.js → workspace-anchor-drift-z7TjOORC.js} +4 -4
  525. package/server/{workspace-config-DRYDO7Zr.js → workspace-config-D-bNq2CF.js} +1 -1
  526. package/server/{workspace-manager-CgovxDrO.js → workspace-manager-Db3pCmr7.js} +16 -16
  527. package/server/{workspace-manager-jfkKAEuO.js → workspace-manager-gz9Amovn.js} +1 -1
  528. package/server/{workspace-metadata-BNzODIv6.js → workspace-metadata-C5Ie2FMZ.js} +2 -2
  529. package/server/{workspace-metadata-BDqXzGGK.js → workspace-metadata-Do-L6GFP.js} +1 -1
  530. package/server/{workspaces-BJdPqx_J.js → workspaces-D0MWw7Mx.js} +123 -696
  531. package/sync-sources/rules/agent-message-delivery.md +21 -14
  532. package/sync-sources/rules/pan-handoff-focus-limit.md +3 -1
  533. package/sync-sources/skills/pan-gauntlet-loop/SKILL.md +94 -46
  534. package/sync-sources/skills/pan-handoff/SKILL.md +13 -2
  535. package/server/archive-planning-BW4MKNI7.js +0 -2
  536. package/server/build-info-Bj2vQEMh.js +0 -2
  537. package/server/cli-BRuzUT_I.js +0 -2
  538. package/server/dead-end-trip-6V_CwveT.js +0 -2
  539. package/server/deploy-queue-CjLErpgw.js +0 -2
  540. package/server/dist-fCA6y2bH.js +0 -3
  541. package/server/forge-bvak6vXJ.js +0 -2
  542. package/server/hume-TYTb6fDU.js +0 -3
  543. package/server/inspect-agent-JFEaYTRa.js +0 -2
  544. package/server/merge-ops-DabXHp2i.js +0 -2
  545. package/server/merge-rebase-CXq0qsgR.js +0 -2
  546. package/server/public/assets/index-2wV4ipy_.css +0 -1
  547. package/server/public/assets/mermaid-GHXKKRXX-Bjto8iJh.js +0 -1
  548. package/server/pull-requests-jVGcVq5G.js +0 -2
  549. package/server/rally-CxhVgIQ6.js +0 -3
  550. package/server/settings-DhtPDmmI.js +0 -2
  551. package/server/specs-IYsFlM-L.js +0 -3
  552. package/server/supervisor-v0cYN2Vp.js +0 -2
  553. package/server/workflows-CfHm8lVd.js +0 -2
  554. package/sync-sources/skills/pan-gauntlet-loop/references/lessons.md +0 -60
@@ -1,5 +1,5 @@
1
- import { Ri as init_paths, Ui as sessionFilePath } from "./config-yaml-D9nfpEx1.js";
2
- import { G as init_runtime_state, Si as init_supervisor_channels, W as getAgentRuntimeStateSync, _ as init_agent_state, g as getAgentStateSync, xi as hasCompletionMarkerForAgent } from "./agent-state-BJhGIJZe.js";
1
+ import { Wi as sessionFilePath, zi as init_paths } from "./config-yaml-OoH-ZpTb.js";
2
+ import { G as init_runtime_state, Si as init_supervisor_channels, W as getAgentRuntimeStateSync, _ as init_agent_state, g as getAgentStateSync, xi as hasCompletionMarkerForAgent } from "./agent-state-BnyNoDWQ.js";
3
3
  import { join } from "node:path";
4
4
  import { homedir } from "node:os";
5
5
  import { existsSync, readdirSync } from "node:fs";
@@ -237,4 +237,4 @@ async function continueCompactedAgentAfterHook(args) {
237
237
  //#endregion
238
238
  export { continueCompactedAgentAfterHook, maybeContinueCompactedAgent };
239
239
 
240
- //# sourceMappingURL=compaction-continuation-Bjfi70G-.js.map
240
+ //# sourceMappingURL=compaction-continuation-TG0HYkOq.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Ri as init_paths, Zr as FsError, ci as init_errors, hi as CONFIG_FILE, p as loadConfigSync$1, t as init_config_yaml } from "./config-yaml-D9nfpEx1.js";
2
+ import { Qr as FsError, gi as CONFIG_FILE, li as init_errors, p as loadConfigSync$1, t as init_config_yaml, zi as init_paths } from "./config-yaml-OoH-ZpTb.js";
3
3
  import { t as require_toml } from "./toml-CeLDATih.js";
4
4
  import { Effect } from "effect";
5
5
  import { existsSync, promises, readFileSync, writeFileSync } from "fs";
@@ -266,4 +266,4 @@ var init_config = __esmMin((() => {
266
266
  //#endregion
267
267
  export { saveConfig as _, getConversationsConfigSync as a, getDashboardLoopbackApiUrlSync as c, getDevrootPath as d, getDevrootPathSync as f, normalizeRemoteConfig as g, loadConfigSync as h, getConversationsConfig as i, getDefaultConfig as l, loadConfig as m, findDevrootForProject as n, getDashboardApiUrl as o, init_config as p, findDevrootForProjectSync as r, getDashboardApiUrlSync as s, checkDevrootDeprecation as t, getDefaultConfigSync as u, saveConfigSync as v };
268
268
 
269
- //# sourceMappingURL=config-ZGjvuR6J.js.map
269
+ //# sourceMappingURL=config-Cx3N6gWz.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Ri as init_paths, Xr as ConfigError, Zr as FsError, ci as init_errors, vi as OVERDECK_HOME } from "./config-yaml-D9nfpEx1.js";
2
+ import { Qr as FsError, Zr as ConfigError, li as init_errors, yi as OVERDECK_HOME, zi as init_paths } from "./config-yaml-OoH-ZpTb.js";
3
3
  import { t as require_toml } from "./toml-CeLDATih.js";
4
4
  import { Effect } from "effect";
5
5
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
@@ -290,4 +290,4 @@ var init_config = __esmMin((() => {
290
290
  //#endregion
291
291
  export { loadCloisterConfigSync as a, loadCloisterConfig as i, getHealthThresholdsMs as n, saveCloisterConfigSync as o, init_config as r, shouldAutoStart as s, DEFAULT_CLOISTER_CONFIG as t };
292
292
 
293
- //# sourceMappingURL=config-Doq_tF-f.js.map
293
+ //# sourceMappingURL=config-DP0VV7rX.js.map
@@ -1,3 +1,3 @@
1
- import { _ as saveConfig, a as getConversationsConfigSync, c as getDashboardLoopbackApiUrlSync, d as getDevrootPath, f as getDevrootPathSync, g as normalizeRemoteConfig, h as loadConfigSync, i as getConversationsConfig, l as getDefaultConfig, m as loadConfig, n as findDevrootForProject, o as getDashboardApiUrl, p as init_config, r as findDevrootForProjectSync, s as getDashboardApiUrlSync, t as checkDevrootDeprecation, u as getDefaultConfigSync, v as saveConfigSync } from "./config-ZGjvuR6J.js";
1
+ import { _ as saveConfig, a as getConversationsConfigSync, c as getDashboardLoopbackApiUrlSync, d as getDevrootPath, f as getDevrootPathSync, g as normalizeRemoteConfig, h as loadConfigSync, i as getConversationsConfig, l as getDefaultConfig, m as loadConfig, n as findDevrootForProject, o as getDashboardApiUrl, p as init_config, r as findDevrootForProjectSync, s as getDashboardApiUrlSync, t as checkDevrootDeprecation, u as getDefaultConfigSync, v as saveConfigSync } from "./config-Cx3N6gWz.js";
2
2
  init_config();
3
3
  export { checkDevrootDeprecation, findDevrootForProject, findDevrootForProjectSync, getConversationsConfig, getConversationsConfigSync, getDashboardApiUrl, getDashboardApiUrlSync, getDashboardLoopbackApiUrlSync, getDefaultConfig, getDefaultConfigSync, getDevrootPath, getDevrootPathSync, loadConfig, loadConfigSync, normalizeRemoteConfig, saveConfig, saveConfigSync };
@@ -414,7 +414,7 @@ var init_percent = __esmMin((() => {}));
414
414
  function apiLaunchModelIdSync(modelId) {
415
415
  return GPT56_LONG_CONTEXT_VARIANTS[modelId] ?? modelId;
416
416
  }
417
- var CLIPROXY_CODEX_CONTEXT_WINDOW, CLIPROXY_GPT56_CONTEXT_WINDOW, CLIPROXY_GPT56_LONG_CONTEXT_WINDOW, GPT56_LONG_CONTEXT_VARIANTS;
417
+ var CLIPROXY_CODEX_CONTEXT_WINDOW, CLIPROXY_GPT56_CONTEXT_WINDOW, CLIPROXY_GPT56_LONG_CONTEXT_WINDOW, GPT56_LONG_CONTEXT_VARIANTS, OPENROUTER_MODEL_CONTEXT_WINDOWS;
418
418
  var init_model_context_windows = __esmMin((() => {
419
419
  CLIPROXY_CODEX_CONTEXT_WINDOW = 15e4;
420
420
  CLIPROXY_GPT56_CONTEXT_WINDOW = 272e3;
@@ -424,6 +424,7 @@ var init_model_context_windows = __esmMin((() => {
424
424
  "gpt-5.6-terra[372k]": "gpt-5.6-terra",
425
425
  "gpt-5.6-luna[372k]": "gpt-5.6-luna"
426
426
  };
427
+ OPENROUTER_MODEL_CONTEXT_WINDOWS = { "stealth/ox-alpha": 1048576 };
427
428
  }));
428
429
  //#endregion
429
430
  //#region ../../lib/model-capabilities.ts
@@ -840,6 +841,28 @@ var init_model_capabilities = __esmMin((() => {
840
841
  },
841
842
  notes: "Most advanced OpenAI model. Enhanced reasoning and agentic capabilities over GPT-5.4. Pro subscribers only."
842
843
  },
844
+ "gpt-6-astra": {
845
+ model: "gpt-6-astra",
846
+ provider: "openai",
847
+ displayName: "GPT-6 Astra",
848
+ costPer1MTokens: 30,
849
+ contextWindow: CLIPROXY_GPT56_CONTEXT_WINDOW,
850
+ minTier: "plus",
851
+ skills: {
852
+ "code-generation": 99,
853
+ "code-review": 97,
854
+ debugging: 98,
855
+ planning: 98,
856
+ documentation: 95,
857
+ testing: 96,
858
+ security: 95,
859
+ performance: 95,
860
+ synthesis: 97,
861
+ speed: 55,
862
+ "context-length": 95
863
+ },
864
+ notes: "OpenAI flagship (September 2026), first GPT-6 generation. Codex catalog (`codex debug models`, 2026-09-07): context_window 272000, max_context_window 872000, default effort medium, efforts up to ultra, supported_in_api true. Pinned to the same 272K billing tier as the GPT-5.6 family (CLIPROXY_GPT56_CONTEXT_WINDOW) — >272K input is billed 2x in / 1.5x out for the full request (PAN-3388). No [372k] opt-in variant yet: the 372K pin was measured on gpt-5.6-sol and has not been re-measured for astra. 1.05M marketing context."
865
+ },
843
866
  "gpt-5.6-sol": {
844
867
  model: "gpt-5.6-sol",
845
868
  provider: "openai",
@@ -2627,6 +2650,7 @@ function getProviderForModelSync(modelId) {
2627
2650
  "claude-haiku-4-5"
2628
2651
  ].includes(modelId)) return PROVIDERS.anthropic;
2629
2652
  if ([
2653
+ "gpt-6-astra",
2630
2654
  "gpt-5.6-sol",
2631
2655
  "gpt-5.6-terra",
2632
2656
  "gpt-5.6-luna",
@@ -2873,6 +2897,7 @@ var init_providers = __esmMin((() => {
2873
2897
  compatibility: "direct",
2874
2898
  defaultHarness: "codex",
2875
2899
  models: [
2900
+ "gpt-6-astra",
2876
2901
  "gpt-5.6-sol",
2877
2902
  "gpt-5.6-terra",
2878
2903
  "gpt-5.6-luna",
@@ -2977,7 +3002,7 @@ var init_providers = __esmMin((() => {
2977
3002
  displayName: "OpenRouter",
2978
3003
  compatibility: "direct",
2979
3004
  defaultHarness: "ohmypi",
2980
- baseUrl: "https://openrouter.ai/api/v1",
3005
+ baseUrl: "https://openrouter.ai/api",
2981
3006
  authType: "static",
2982
3007
  models: [],
2983
3008
  tested: true,
@@ -12923,7 +12948,7 @@ var init_defaults = __esmMin((() => {
12923
12948
  }
12924
12949
  },
12925
12950
  conversationSearch: {
12926
- enabled: false,
12951
+ enabled: true,
12927
12952
  provider: "openai",
12928
12953
  model: "text-embedding-3-small",
12929
12954
  apiKeyRef: void 0,
@@ -13006,7 +13031,9 @@ var init_defaults = __esmMin((() => {
13006
13031
  governorFootprintDefaultTestGb: 1,
13007
13032
  governorSwapSoftFreePercent: 25,
13008
13033
  governorSwapRecoveryFreePercent: 50,
13009
- governorPsiFullShedAvg10: 1
13034
+ governorPsiFullShedAvg10: 1,
13035
+ governorPsiCalmReadmitAvg10: .05,
13036
+ governorPsiCalmWindowMs: 6e5
13010
13037
  },
13011
13038
  issues: { closedWindowDays: 14 },
13012
13039
  telemetry: { enabled: true },
@@ -13263,6 +13290,12 @@ function degradeInvalidTieredExecution(result, err) {
13263
13290
  enabled: false
13264
13291
  };
13265
13292
  }
13293
+ function warnInvalidClaudePermissionMode(raw, effective) {
13294
+ const shown = typeof raw === "string" ? raw : JSON.stringify(raw);
13295
+ if (warnedInvalidClaudePermissionModes.has(String(shown))) return;
13296
+ warnedInvalidClaudePermissionModes.add(String(shown));
13297
+ console.error(`[config] claude.permissionMode "${shown}" is not a valid value — valid values are 'auto' (Claude Code runs with --permission-mode default; needs the auto-approve hooks) and 'bypass' (--permission-mode bypassPermissions; no prompts). Ignoring it and using "${effective}".`);
13298
+ }
13266
13299
  function mergeConfigs(...configs) {
13267
13300
  const result = {
13268
13301
  ...DEFAULT_CONFIG,
@@ -13340,7 +13373,9 @@ function mergeConfigs(...configs) {
13340
13373
  governorFootprintDefaultTestGb: DEFAULT_CONFIG.resources.governorFootprintDefaultTestGb,
13341
13374
  governorSwapSoftFreePercent: DEFAULT_CONFIG.resources.governorSwapSoftFreePercent,
13342
13375
  governorSwapRecoveryFreePercent: DEFAULT_CONFIG.resources.governorSwapRecoveryFreePercent,
13343
- governorPsiFullShedAvg10: DEFAULT_CONFIG.resources.governorPsiFullShedAvg10
13376
+ governorPsiFullShedAvg10: DEFAULT_CONFIG.resources.governorPsiFullShedAvg10,
13377
+ governorPsiCalmReadmitAvg10: DEFAULT_CONFIG.resources.governorPsiCalmReadmitAvg10,
13378
+ governorPsiCalmWindowMs: DEFAULT_CONFIG.resources.governorPsiCalmWindowMs
13344
13379
  },
13345
13380
  issues: { closedWindowDays: DEFAULT_CONFIG.issues.closedWindowDays },
13346
13381
  telemetry: { enabled: DEFAULT_CONFIG.telemetry.enabled },
@@ -13590,6 +13625,8 @@ function mergeConfigs(...configs) {
13590
13625
  if (typeof config.resources.governor_swap_soft_free_percent === "number") result.resources.governorSwapSoftFreePercent = config.resources.governor_swap_soft_free_percent;
13591
13626
  if (typeof config.resources.governor_swap_recovery_free_percent === "number") result.resources.governorSwapRecoveryFreePercent = config.resources.governor_swap_recovery_free_percent;
13592
13627
  if (typeof config.resources.governor_psi_full_shed_avg10 === "number") result.resources.governorPsiFullShedAvg10 = config.resources.governor_psi_full_shed_avg10;
13628
+ if (typeof config.resources.governor_psi_calm_readmit_avg10 === "number" && Number.isFinite(config.resources.governor_psi_calm_readmit_avg10) && config.resources.governor_psi_calm_readmit_avg10 >= 0) result.resources.governorPsiCalmReadmitAvg10 = config.resources.governor_psi_calm_readmit_avg10;
13629
+ if (typeof config.resources.governor_psi_calm_window_ms === "number" && Number.isFinite(config.resources.governor_psi_calm_window_ms) && config.resources.governor_psi_calm_window_ms > 0) result.resources.governorPsiCalmWindowMs = config.resources.governor_psi_calm_window_ms;
13593
13630
  if (result.resources.governorRecoveryReserveGb <= result.resources.governorSoftReserveGb) result.resources.governorRecoveryReserveGb = result.resources.governorSoftReserveGb + 1;
13594
13631
  if (result.resources.governorWatchReserveGb <= result.resources.governorSoftReserveGb) result.resources.governorWatchReserveGb = result.resources.governorSoftReserveGb + 1;
13595
13632
  if (result.resources.governorSwapRecoveryFreePercent <= result.resources.governorSwapSoftFreePercent) result.resources.governorSwapRecoveryFreePercent = Math.min(result.resources.governorSwapSoftFreePercent + 10, 100);
@@ -13616,7 +13653,8 @@ function mergeConfigs(...configs) {
13616
13653
  if (typeof config.experimental.streamdownRenderer === "boolean") result.experimental.streamdownRenderer = config.experimental.streamdownRenderer;
13617
13654
  if (typeof config.experimental.showHarnessModelPermutations === "boolean") result.experimental.showHarnessModelPermutations = config.experimental.showHarnessModelPermutations;
13618
13655
  }
13619
- if (config.claude && (config.claude.permissionMode === "auto" || config.claude.permissionMode === "bypass")) result.claude.permissionMode = config.claude.permissionMode;
13656
+ if (config.claude?.permissionMode !== void 0) if (config.claude.permissionMode === "auto" || config.claude.permissionMode === "bypass") result.claude.permissionMode = config.claude.permissionMode;
13657
+ else warnInvalidClaudePermissionMode(config.claude.permissionMode, result.claude.permissionMode);
13620
13658
  if (config.codex && (config.codex.permissionMode === "read-only" || config.codex.permissionMode === "workspace" || config.codex.permissionMode === "auto-review" || config.codex.permissionMode === "full-access")) result.codex.permissionMode = config.codex.permissionMode;
13621
13659
  if (config.codex && (config.codex.transport === "app-server" || config.codex.transport === "tui")) result.codex.transport = config.codex.transport;
13622
13660
  if (config.acp?.permissionMode === "auto") result.acp.permissionMode = config.acp.permissionMode;
@@ -13646,7 +13684,7 @@ function mergeConfigs(...configs) {
13646
13684
  explicitlyDisabled
13647
13685
  };
13648
13686
  }
13649
- var lastTieredInvalidReasonWarned;
13687
+ var lastTieredInvalidReasonWarned, warnedInvalidClaudePermissionModes;
13650
13688
  var init_merge = __esmMin((() => {
13651
13689
  init_model_capabilities();
13652
13690
  init_registry();
@@ -13655,6 +13693,7 @@ var init_merge = __esmMin((() => {
13655
13693
  init_roles();
13656
13694
  init_domain_mergers();
13657
13695
  init_schema();
13696
+ warnedInvalidClaudePermissionModes = /* @__PURE__ */ new Set();
13658
13697
  }));
13659
13698
  //#endregion
13660
13699
  //#region ../../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.mjs
@@ -16135,6 +16174,6 @@ var init_config_yaml = __esmMin((() => {
16135
16174
  init_load();
16136
16175
  }));
16137
16176
  //#endregion
16138
- export { readIssueRecord as $, updateProjectsConfigText as $n, GitHubApiError as $r, findProjectByPathSync as $t, validateTieredExecutionConfig as A, getCanonicalOverdeckHome as Ai, resolveProjectKeyForCwdAsync as An, MODEL_DEPRECATIONS as Ar, STATE_PLANE_PATHS as At, clearIssueOwner as B, isDevMode as Bi, unregisterProject as Bn, apiLaunchModelIdSync as Br, init_state_migration_lock as Bt, DEFAULT_TIERED_EXECUTION_CONFIG as C, PROJECT_PRDS_SUBDIR as Ci, registerProjectSync as Cn, DEFAULT_ROLES as Cr, flushAllPendingAutoCommits as Ct, resolveTieredExecutionBlock as D, activeDeploymentRepoRoot as Di, resolveProjectFromIssue as Dn, init_roles as Dr, queueAutoCommit as Dt, init_tier_table as E, TRAEFIK_DIR as Ei, resolveInfraRepo as En, derefWorkhorse as Er, pushPendingStateCommits as Et, appendSessionEntry as F, getHandoffsDir as Fi, setProjectAutoMergeDefaultSync as Fn, modelSupportsImagesSync as Fr, isOverdeckWorkspaceRuntimePath as Ft, getIssueRecordPath as G, extractNumberSync as Gn, COMPLIANCE_MODES as Gr, shouldCommitLegacyWorkspaceArtifacts as Gt, ensureIssueRecord as H, resolveOhmypiExtensionPath as Hi, validateVersionSyncConfig as Hn, fmix32 as Hr, init_state_read_home as Ht, appendSessionEntrySync as I, getLegacyHome as Ii, setProjectMergeTrain as In, resolveModelIdSync as Ir, isStatePlaneOnlyStatus as It, getProjectConfigFromWorkspacePath as J, normalizeIssueIdSync as Jn, CheckpointError as Jr, PROJECTS_CONFIG_FILE as Jt, getIssueRecordPathForWorkspace as K, extractPrefixSync as Kn, PARENT_MODEL_REF as Kr, init_project_key as Kt, batchReadIssueRecords as L, getOverdeckHome as Li, setProjectMergeTrainSync as Ln, CLIPROXY_GPT56_CONTEXT_WINDOW as Lr, isStatePlanePath as Lt, RECORD_SCHEMA_VERSION as M, getDocsDisableStatePath as Mi, saveProjectsConfig as Mn, getModelEffortLevelsSync as Mr, init_state_plane as Mt, appendFeedbackEntry as N, getDocsIndexPath as Ni, saveProjectsConfigSync as Nn, hasModelCapabilitySync as Nr, isGeneratedGitHookPath as Nt, resolveTieredExecutionEnabled as O, claudeSessionTranscriptExists as Oi, resolveProjectFromIssueSync as On, resolveModel as Or, reconcileStatePlaneDrift as Ot, appendFeedbackEntrySync as P, getDocsTelemetryPath as Pi, setProjectAutoMergeDefault as Pn, init_model_capabilities as Pr, isOverdeckOwnedOnlyStatus as Pt, queueIssueRecordCommit as Q, init_projects_config_write as Qn, GitError as Qr, findProjectByPath as Qt, buildOwnUri as R, init_paths as Ri, setProjectSwarmPolicy as Rn, CLIPROXY_GPT56_LONG_CONTEXT_WINDOW as Rr, parsePorcelainStatusPaths as Rt, init_defaults as S, PROJECT_PRDS_PLANNED_SUBDIR as Si, registerProject as Sn, init_registry as Sr, deriveProjectRoot as St, TieredExecutionConfigError as T, SYNC_SOURCES as Ti, renameProjectSync as Tn, computeModelOrigin as Tr, init_auto_commit as Tt, ensureIssueRecordSync as U, sessionFilePath as Ui, init_projects_cache_events as Un, fnv1a32 as Ur, resolveStateReadHomeAsync as Ut, clearRecordFeedbackSync as V, packageRoot as Vi, unregisterProjectSync as Vn, init_model_context_windows as Vr, STATE_BRANCH as Vt, getIssueRecordBasePath as W, subscribeProjectsConfigInvalidation as Wn, init_percent as Wr, resolveStateReadHomeSync as Wt, markRecordPipelineClosedOutSync as X, resolveBareNumericIdSync as Xn, ConfigError as Xr, createDefaultProjectsConfig as Xt, init_record as Y, parseIssueIdSync as Yn, ClaudeCredentialParseError as Yr, ProjectRenameError as Yt, markRecordPipelineResidueClosedOutSync as Z, resolveIssueIdSync as Zn, FsError as Zr, extractTeamPrefix as Zt, mergeConfigs as _, LOGS_DIR as _i, listProjectsAsync as _n, setupCredentialFileAuthSync as _r, writeRecordTieredExecutionOverride as _t, getConversationsConfigSync as a, TmuxError as ai, getProjectSwarmHotspots as an, KIMI_PLATFORM_BASE_URL as ar, writeAgentHarnessModelSync as at, mergeTtsDaemonConfigs as b, PROJECT_PRDS_ACTIVE_SUBDIR as bi, loadProjectsConfigSync as bn, init_openai_compatible_proxy as br, writeStatusOverrideSync as bt, init_load as c, init_errors as ci, getSpecialistPromptOverride as cn, clearCredentialFileAuthSync as cr, writeIssueRecordForWorkspaceSync as ct, isTldrEnabledSync as d, BIN_DIR as di, hasProjectsSync as dn, getProviderEnvSync as dr, writeRecordDecisionsSync as dt, InvalidAgentIdError as ei, findProjectByTeam as en, require_dist as er, readIssueRecordForWorkspaceSync as et, loadConfigNoMigration as f, CACHE_AGENTS_DIR as fi, init_projects as fn, getProviderForModelSync as fr, writeRecordHazards as ft, jsYaml as g, COSTS_DIR as gi, listProjects as gn, resolveKimiCodeModelAlias as gr, writeRecordScopeDriftSync as gt, init_js_yaml as h, CONFIG_FILE as hi, invalidateProjectsConfigCache as hn, qualifyPiModel as hr, writeRecordResumePointSync as ht, getConversationsConfig as i, ProcessSpawnError as ii, getProject as in, KIMI_CODING_BASE_URL as ir, writeAgentHarnessModel as it, RECORD_DIRNAME as j, getDocsBudgetStatePath as ji, resolveProjectPath as jn, getModelCapabilitySync as jr, getMainDivergence as jt, resolveTieredExecutionEnabledForIssue as k, encodeClaudeProjectDir as ki, resolveProjectKeyForCwd as kn, MODEL_CAPABILITIES as kr, STATE_BRANCH_PATHS as kt, isClaudeCodeChannelsEnabled as l, AGENTS_DIR as li, getSpecialistRetention as ln, getBuiltInDefaultHarness as lr, writeIssueRecordSync as lt, updateConversationsConfig as m, CLAUDE_DIR as mi, initializeProjectsConfigSync as mn, piProviderForModel as mr, writeRecordResumePoint as mt, clearConfigCache as n, MergeConflictError as ni, findProjectsByRallyProject as nn, canUseModelWithAuthSync as nr, readRecordContinueViewSync as nt, getGlobalConfigPath as o, TrackerError as oi, getProjectSync as on, PROVIDERS as or, writeCloseOutDodGate as ot, loadConfigSync as p, CACHE_RULES_DIR as pi, initializeProjectsConfig as pn, init_providers as pr, writeRecordHazardsSync as pt, getIssueWorkspacePath as q, init_issue_id as qn, ROLE_EFFORTS as qr, projectKey as qt, getConversationSearchConfigSync as r, MessageDeliveryFailed as ri, getIssuePrefix as rn, init_harness_policy as rr, resolveProjectForIssue as rt, getOpenInEditorCommand as s, VcsError as si, getSpecialistConfig as sn, UnknownModelError as sr, writeCloseOutDodGateSync as st, init_config_yaml as t, LinearApiError as ti, findProjectByTeamSync as tn, canUseHarnessSync as tr, readIssueRecordSync as tt, isClaudeCodeChannelsMcpEnabled as u, ARCHIVES_DIR as ui, hasProjects as un, getKimiAnthropicBaseUrl as ur, writeRecordDecisions as ut, getDefaultDocsConfig as v, OVERDECK_HOME as vi, listProjectsSync as vn, ensureOpenAICompatibleProxyRunning as vr, writeRecordTieredExecutionOverrideSync as vt, TIERED_EXECUTION_DIFFICULTIES as w, SKILLS_DIR as wi, renameProject as wn, DEFAULT_WORKHORSES as wr, flushAutoCommits as wt, DEFAULT_CONFIG as x, PROJECT_PRDS_COMPLETED_SUBDIR as xi, projects_exports as xn, defaultBackgroundAiFeatures as xr, writeStatusOverridesSync as xt, getDefaultTtsDaemonConfig as y, PROJECT_DOCS_SUBDIR as yi, loadProjectsConfig as yn, getDashScopeUpstreamBaseUrl as yr, writeStatusOverride as yt, claimIssueOwner as z, isDeploymentGenerationRoot as zi, setProjectSwarmPolicySync as zn, GPT56_LONG_CONTEXT_VARIANTS as zr, acquireStateMigrationLock as zt };
16177
+ export { readIssueRecord as $, updateProjectsConfigText as $n, GitError as $r, findProjectByPathSync as $t, validateTieredExecutionConfig as A, encodeClaudeProjectDir as Ai, resolveProjectKeyForCwdAsync as An, MODEL_DEPRECATIONS as Ar, STATE_PLANE_PATHS as At, clearIssueOwner as B, isDeploymentGenerationRoot as Bi, unregisterProject as Bn, OPENROUTER_MODEL_CONTEXT_WINDOWS as Br, init_state_migration_lock as Bt, DEFAULT_TIERED_EXECUTION_CONFIG as C, PROJECT_PRDS_PLANNED_SUBDIR as Ci, registerProjectSync as Cn, DEFAULT_ROLES as Cr, flushAllPendingAutoCommits as Ct, resolveTieredExecutionBlock as D, TRAEFIK_DIR as Di, resolveProjectFromIssue as Dn, init_roles as Dr, queueAutoCommit as Dt, init_tier_table as E, SYNC_SOURCES as Ei, resolveInfraRepo as En, derefWorkhorse as Er, pushPendingStateCommits as Et, appendSessionEntry as F, getDocsTelemetryPath as Fi, setProjectAutoMergeDefaultSync as Fn, modelSupportsImagesSync as Fr, isOverdeckWorkspaceRuntimePath as Ft, getIssueRecordPath as G, extractNumberSync as Gn, init_percent as Gr, shouldCommitLegacyWorkspaceArtifacts as Gt, ensureIssueRecord as H, packageRoot as Hi, validateVersionSyncConfig as Hn, init_model_context_windows as Hr, init_state_read_home as Ht, appendSessionEntrySync as I, getHandoffsDir as Ii, setProjectMergeTrain as In, resolveModelIdSync as Ir, isStatePlaneOnlyStatus as It, getProjectConfigFromWorkspacePath as J, normalizeIssueIdSync as Jn, ROLE_EFFORTS as Jr, PROJECTS_CONFIG_FILE as Jt, getIssueRecordPathForWorkspace as K, extractPrefixSync as Kn, COMPLIANCE_MODES as Kr, init_project_key as Kt, batchReadIssueRecords as L, getLegacyHome as Li, setProjectMergeTrainSync as Ln, CLIPROXY_GPT56_CONTEXT_WINDOW as Lr, isStatePlanePath as Lt, RECORD_SCHEMA_VERSION as M, getDocsBudgetStatePath as Mi, saveProjectsConfig as Mn, getModelEffortLevelsSync as Mr, init_state_plane as Mt, appendFeedbackEntry as N, getDocsDisableStatePath as Ni, saveProjectsConfigSync as Nn, hasModelCapabilitySync as Nr, isGeneratedGitHookPath as Nt, resolveTieredExecutionEnabled as O, activeDeploymentRepoRoot as Oi, resolveProjectFromIssueSync as On, resolveModel as Or, reconcileStatePlaneDrift as Ot, appendFeedbackEntrySync as P, getDocsIndexPath as Pi, setProjectAutoMergeDefault as Pn, init_model_capabilities as Pr, isOverdeckOwnedOnlyStatus as Pt, queueIssueRecordCommit as Q, init_projects_config_write as Qn, FsError as Qr, findProjectByPath as Qt, buildOwnUri as R, getOverdeckHome as Ri, setProjectSwarmPolicy as Rn, CLIPROXY_GPT56_LONG_CONTEXT_WINDOW as Rr, parsePorcelainStatusPaths as Rt, init_defaults as S, PROJECT_PRDS_COMPLETED_SUBDIR as Si, registerProject as Sn, init_registry as Sr, deriveProjectRoot as St, TieredExecutionConfigError as T, SKILLS_DIR as Ti, renameProjectSync as Tn, computeModelOrigin as Tr, init_auto_commit as Tt, ensureIssueRecordSync as U, resolveOhmypiExtensionPath as Ui, init_projects_cache_events as Un, fmix32 as Ur, resolveStateReadHomeAsync as Ut, clearRecordFeedbackSync as V, isDevMode as Vi, unregisterProjectSync as Vn, apiLaunchModelIdSync as Vr, STATE_BRANCH as Vt, getIssueRecordBasePath as W, sessionFilePath as Wi, subscribeProjectsConfigInvalidation as Wn, fnv1a32 as Wr, resolveStateReadHomeSync as Wt, markRecordPipelineClosedOutSync as X, resolveBareNumericIdSync as Xn, ClaudeCredentialParseError as Xr, createDefaultProjectsConfig as Xt, init_record as Y, parseIssueIdSync as Yn, CheckpointError as Yr, ProjectRenameError as Yt, markRecordPipelineResidueClosedOutSync as Z, resolveIssueIdSync as Zn, ConfigError as Zr, extractTeamPrefix as Zt, mergeConfigs as _, COSTS_DIR as _i, listProjectsAsync as _n, setupCredentialFileAuthSync as _r, writeRecordTieredExecutionOverride as _t, getConversationsConfigSync as a, ProcessSpawnError as ai, getProjectSwarmHotspots as an, KIMI_PLATFORM_BASE_URL as ar, writeAgentHarnessModelSync as at, mergeTtsDaemonConfigs as b, PROJECT_DOCS_SUBDIR as bi, loadProjectsConfigSync as bn, init_openai_compatible_proxy as br, writeStatusOverrideSync as bt, init_load as c, VcsError as ci, getSpecialistPromptOverride as cn, clearCredentialFileAuthSync as cr, writeIssueRecordForWorkspaceSync as ct, isTldrEnabledSync as d, ARCHIVES_DIR as di, hasProjectsSync as dn, getProviderEnvSync as dr, writeRecordDecisionsSync as dt, GitHubApiError as ei, findProjectByTeam as en, require_dist as er, readIssueRecordForWorkspaceSync as et, loadConfigNoMigration as f, BIN_DIR as fi, init_projects as fn, getProviderForModelSync as fr, writeRecordHazards as ft, jsYaml as g, CONFIG_FILE as gi, listProjects as gn, resolveKimiCodeModelAlias as gr, writeRecordScopeDriftSync as gt, init_js_yaml as h, CLAUDE_DIR as hi, invalidateProjectsConfigCache as hn, qualifyPiModel as hr, writeRecordResumePointSync as ht, getConversationsConfig as i, MessageDeliveryFailed as ii, getProject as in, KIMI_CODING_BASE_URL as ir, writeAgentHarnessModel as it, RECORD_DIRNAME as j, getCanonicalOverdeckHome as ji, resolveProjectPath as jn, getModelCapabilitySync as jr, getMainDivergence as jt, resolveTieredExecutionEnabledForIssue as k, claudeSessionTranscriptExists as ki, resolveProjectKeyForCwd as kn, MODEL_CAPABILITIES as kr, STATE_BRANCH_PATHS as kt, isClaudeCodeChannelsEnabled as l, init_errors as li, getSpecialistRetention as ln, getBuiltInDefaultHarness as lr, writeIssueRecordSync as lt, updateConversationsConfig as m, CACHE_RULES_DIR as mi, initializeProjectsConfigSync as mn, piProviderForModel as mr, writeRecordResumePoint as mt, clearConfigCache as n, LinearApiError as ni, findProjectsByRallyProject as nn, canUseModelWithAuthSync as nr, readRecordContinueViewSync as nt, getGlobalConfigPath as o, TmuxError as oi, getProjectSync as on, PROVIDERS as or, writeCloseOutDodGate as ot, loadConfigSync as p, CACHE_AGENTS_DIR as pi, initializeProjectsConfig as pn, init_providers as pr, writeRecordHazardsSync as pt, getIssueWorkspacePath as q, init_issue_id as qn, PARENT_MODEL_REF as qr, projectKey as qt, getConversationSearchConfigSync as r, MergeConflictError as ri, getIssuePrefix as rn, init_harness_policy as rr, resolveProjectForIssue as rt, getOpenInEditorCommand as s, TrackerError as si, getSpecialistConfig as sn, UnknownModelError as sr, writeCloseOutDodGateSync as st, init_config_yaml as t, InvalidAgentIdError as ti, findProjectByTeamSync as tn, canUseHarnessSync as tr, readIssueRecordSync as tt, isClaudeCodeChannelsMcpEnabled as u, AGENTS_DIR as ui, hasProjects as un, getKimiAnthropicBaseUrl as ur, writeRecordDecisions as ut, getDefaultDocsConfig as v, LOGS_DIR as vi, listProjectsSync as vn, ensureOpenAICompatibleProxyRunning as vr, writeRecordTieredExecutionOverrideSync as vt, TIERED_EXECUTION_DIFFICULTIES as w, PROJECT_PRDS_SUBDIR as wi, renameProject as wn, DEFAULT_WORKHORSES as wr, flushAutoCommits as wt, DEFAULT_CONFIG as x, PROJECT_PRDS_ACTIVE_SUBDIR as xi, projects_exports as xn, defaultBackgroundAiFeatures as xr, writeStatusOverridesSync as xt, getDefaultTtsDaemonConfig as y, OVERDECK_HOME as yi, loadProjectsConfig as yn, getDashScopeUpstreamBaseUrl as yr, writeStatusOverride as yt, claimIssueOwner as z, init_paths as zi, setProjectSwarmPolicySync as zn, GPT56_LONG_CONTEXT_VARIANTS as zr, acquireStateMigrationLock as zt };
16139
16178
 
16140
- //# sourceMappingURL=config-yaml-D9nfpEx1.js.map
16179
+ //# sourceMappingURL=config-yaml-OoH-ZpTb.js.map
@@ -1,6 +1,6 @@
1
- import { l as init_activity_logger, o as emitActivityEntrySync } from "./activity-logger-BWZhVphb.js";
2
- import { Ht as init_messaging, Ut as messageAgent, an as init_spawn, sn as spawnRun } from "./agent-state-BJhGIJZe.js";
3
- import { d as getReviewStatusSync, p as init_review_status, w as setReviewStatusSync } from "./review-status-yOGD2MuK.js";
1
+ import { l as init_activity_logger, o as emitActivityEntrySync } from "./activity-logger-ru8ggv-d.js";
2
+ import { Ht as init_messaging, Ut as messageAgent, an as init_spawn, sn as spawnRun } from "./agent-state-BnyNoDWQ.js";
3
+ import { d as getReviewStatusSync, p as init_review_status, w as setReviewStatusSync } from "./review-status-C3PJkfjv.js";
4
4
  import { exec } from "node:child_process";
5
5
  import { promisify } from "node:util";
6
6
  //#region ../../lib/cloister/conflict-gate.ts
@@ -229,7 +229,7 @@ function buildConflictResolverPrompt(input) {
229
229
  "",
230
230
  "Resolve the conflict WITHOUT degrading either side of the change:",
231
231
  `1. Read what origin/${input.targetBranch} changed and what ${input.issueId} intended before editing.`,
232
- `2. Rebase this branch onto origin/${input.targetBranch} and resolve every conflict so BOTH intents are preserved.`,
232
+ `2. Run pan sync-main ${input.issueId} to merge origin/${input.targetBranch} through the repository-approved sync path, then resolve every conflict so BOTH intents are preserved.`,
233
233
  "3. Build, run the relevant tests, and commit the resolved state.",
234
234
  "4. Re-request review when the branch is clean (use pan done or pan review request as appropriate for this workspace).",
235
235
  "",
@@ -270,4 +270,4 @@ function shellQuote(value) {
270
270
  //#endregion
271
271
  export { probeBranchConflictPaths as a, parseMergeTreeNameOnly as i, checkBranchMergeability as n, resolveConflictGate as o, getCachedConflictGateMergeability as r, buildRealConflictGateDeps as t };
272
272
 
273
- //# sourceMappingURL=conflict-gate-DcUTY4Gb.js.map
273
+ //# sourceMappingURL=conflict-gate-SgOELW84.js.map
@@ -1,2 +1,2 @@
1
- import { o as resolveConflictGate, t as buildRealConflictGateDeps } from "./conflict-gate-DcUTY4Gb.js";
1
+ import { o as resolveConflictGate, t as buildRealConflictGateDeps } from "./conflict-gate-SgOELW84.js";
2
2
  export { buildRealConflictGateDeps, resolveConflictGate };
@@ -1,4 +1,4 @@
1
- import { A as piGlobalContextFile, C as codexGlobalContextFile } from "./assemble-CyvEBmmq.js";
2
- import { t as init_context_layers } from "./context-layers-BBTKP-Y4.js";
1
+ import { A as piGlobalContextFile, C as codexGlobalContextFile } from "./assemble-D88iFkP-.js";
2
+ import { t as init_context_layers } from "./context-layers-LY5zt0da.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 { Ri as init_paths, ci as init_errors } from "./config-yaml-D9nfpEx1.js";
3
- import { D as init_layers, l as init_render, p as init_rules, r as init_assemble } from "./assemble-CyvEBmmq.js";
2
+ import { li as init_errors, zi as init_paths } from "./config-yaml-OoH-ZpTb.js";
3
+ import { D as init_layers, l as init_render, p as init_rules, r as init_assemble } from "./assemble-D88iFkP-.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-BBTKP-Y4.js.map
37
+ //# sourceMappingURL=context-layers-LY5zt0da.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Zr as FsError, ci as init_errors } from "./config-yaml-D9nfpEx1.js";
2
+ import { Qr as FsError, li as init_errors } from "./config-yaml-OoH-ZpTb.js";
3
3
  import { c as PAN_SESSIONS_FILENAME, f as WORKSPACE_RUNTIME_DIRNAME, i as PAN_CONTINUE_FILENAME, m as init_types, n as PAN_CONTEXT_FILENAME, s as PAN_FEEDBACK_DIRNAME, t as LEGACY_WORKSPACE_RUNTIME_DIRNAME, u as PAN_SPEC_FILENAME } from "./types-pLpbsNto.js";
4
4
  import { Effect, FileSystem } from "effect";
5
5
  import { join } from "path";
@@ -60,4 +60,4 @@ var init_continue = __esmMin((() => {
60
60
  //#endregion
61
61
  export { init_continue as a, getWorkspacePanPaths as i, getLegacyWorkspacePanPaths as n, getReadableWorkspacePanPaths as r, ensureWorkspacePanDir as t };
62
62
 
63
- //# sourceMappingURL=continue-i7Revg8D.js.map
63
+ //# sourceMappingURL=continue-Cmzd6leL.js.map
@@ -1,9 +1,312 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { bn as loadProjectsConfigSync, fn as init_projects, on as getProjectSync } from "./config-yaml-D9nfpEx1.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-CHIvOb9q.js";
4
- import { n as init_issues, t as IssueId } from "./issues-e_Ck1Ln2.js";
2
+ import { bn as loadProjectsConfigSync, fn as init_projects, li as init_errors, on as getProjectSync } from "./config-yaml-OoH-ZpTb.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-BbSWNOpH.js";
4
+ import { n as init_issues, t as IssueId } from "./issues-DYAEUW45.js";
5
+ import { o as getPricingSync, s as init_cost } from "./cost-CxXv7ei-.js";
5
6
  import { Context, Effect, Layer, Schema } from "effect";
7
+ import { existsSync, readFileSync } from "fs";
6
8
  import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
9
+ //#region ../../lib/cost-parsers/ohmypi-parser.ts
10
+ /**
11
+ * oh-my-pi (omp) JSONL parser (PAN-1989). Forked from pi-parser.ts (PAN-636).
12
+ *
13
+ * omp sessions live at:
14
+ * ~/.omp/agent/sessions/<encoded-cwd>/<timestamp>_<session-id>.jsonl
15
+ *
16
+ * Format (omp v3 — same as Pi v3):
17
+ * - First line: { type: "session", version: 3, id, timestamp, cwd }
18
+ * - Subsequent: every entry has an opaque `id` and a `parentId`. parentId
19
+ * is null for the first non-session entry.
20
+ * - The graph is a tree (omp supports forking/branching), not a list.
21
+ *
22
+ * To compute usage for the *active* branch we walk leaf -> root via parentId
23
+ * from the latest leaf (max timestamp among entries that have no children).
24
+ * omp assistant messages report per-call usage — input/output tokens are NOT
25
+ * cumulative across the conversation — so summing along the active branch is
26
+ * correct without subtracting pre-compaction input.
27
+ *
28
+ * SessionUsage shape comes from jsonl-parser.ts (the Claude Code parser); we
29
+ * map into it unchanged so all upstream consumers keep working.
30
+ */
31
+ function isMessage(entry) {
32
+ return entry.type === "message";
33
+ }
34
+ function isAssistantMessage(entry) {
35
+ return isMessage(entry) && entry.message?.role === "assistant";
36
+ }
37
+ function pricingProviderFor(provider, model) {
38
+ const lowerProvider = provider?.toLowerCase() ?? "";
39
+ const lowerModel = model.toLowerCase();
40
+ if (lowerProvider === "openai" || lowerProvider === "openai-codex" || lowerModel.includes("gpt")) return "openai";
41
+ if (lowerProvider === "google" || lowerModel.includes("gemini")) return "google";
42
+ if (lowerProvider === "anthropic" || lowerModel.includes("claude")) return "anthropic";
43
+ if (lowerProvider === "kimi" || lowerProvider === "minimax" || lowerProvider === "zai" || lowerProvider === "zhipu" || lowerProvider === "custom" || lowerModel.includes("kimi") || lowerModel.includes("minimax") || lowerModel.includes("glm")) return "custom";
44
+ return null;
45
+ }
46
+ function computeCostFromPricing(provider, model, usage) {
47
+ const pricingProvider = pricingProviderFor(provider, model);
48
+ if (!pricingProvider) return {
49
+ cost: 0,
50
+ reason: "unknown-provider"
51
+ };
52
+ const pricing = getPricingSync(pricingProvider, model);
53
+ if (!pricing) return {
54
+ cost: 0,
55
+ reason: "unpriced-model"
56
+ };
57
+ return { cost: usage.inputTokens / 1e3 * pricing.inputPer1k + usage.outputTokens / 1e3 * pricing.outputPer1k + (usage.cacheReadTokens ?? 0) / 1e3 * (pricing.cacheReadPer1k ?? 0) + (usage.cacheWriteTokens ?? 0) / 1e3 * (pricing.cacheWrite5mPer1k ?? 0) };
58
+ }
59
+ function tsMs(timestamp) {
60
+ if (!timestamp) return 0;
61
+ const t = Date.parse(timestamp);
62
+ return Number.isFinite(t) ? t : 0;
63
+ }
64
+ /**
65
+ * Parse a Pi session JSONL file into a SessionUsage record.
66
+ *
67
+ * Returns null if the file does not exist, is empty, or is unparseable. Errors
68
+ * during line parsing are tolerated (the line is skipped); we never throw.
69
+ */
70
+ function parseOhmypiSessionSync(filePath) {
71
+ if (!existsSync(filePath)) return null;
72
+ const result = parseOhmypiSessionContent(readFileSync(filePath, "utf8"), filePath);
73
+ return result.ok ? result.usage : null;
74
+ }
75
+ function parseOhmypiSessionCostResultSync(filePath) {
76
+ if (!existsSync(filePath)) return {
77
+ ok: false,
78
+ reason: "unreadable"
79
+ };
80
+ try {
81
+ return parseOhmypiSessionContent(readFileSync(filePath, "utf8"), filePath);
82
+ } catch {
83
+ return {
84
+ ok: false,
85
+ reason: "unreadable"
86
+ };
87
+ }
88
+ }
89
+ /**
90
+ * Parse Pi session JSONL content. Exposed for tests and callers that already
91
+ * have the file content in memory.
92
+ */
93
+ function parseOhmypiSessionContent(content, filePath = "<inline>") {
94
+ const lines = content.split("\n").filter((l) => l.trim().length > 0);
95
+ if (lines.length === 0) return {
96
+ ok: false,
97
+ reason: "empty"
98
+ };
99
+ let root = null;
100
+ const entriesById = /* @__PURE__ */ new Map();
101
+ const childrenOf = /* @__PURE__ */ new Map();
102
+ const unknownTypesSeen = /* @__PURE__ */ new Set();
103
+ for (const line of lines) {
104
+ let parsed;
105
+ try {
106
+ parsed = JSON.parse(line);
107
+ } catch {
108
+ continue;
109
+ }
110
+ if (!parsed || typeof parsed !== "object") continue;
111
+ const entry = parsed;
112
+ if (entry.type === "session") {
113
+ root = entry;
114
+ continue;
115
+ }
116
+ if (!entry.id) continue;
117
+ if (!KNOWN_TYPES.has(entry.type)) {
118
+ if (!unknownTypesSeen.has(entry.type)) {
119
+ unknownTypesSeen.add(entry.type);
120
+ console.debug(`[ohmypi-parser] unknown entry type "${entry.type}" in ${filePath} — ignoring`);
121
+ }
122
+ }
123
+ entriesById.set(entry.id, entry);
124
+ const list = childrenOf.get(entry.parentId ?? null);
125
+ if (list) list.push(entry.id);
126
+ else childrenOf.set(entry.parentId ?? null, [entry.id]);
127
+ }
128
+ if (!root) return {
129
+ ok: false,
130
+ reason: "missing-session-root"
131
+ };
132
+ if (entriesById.size === 0) return {
133
+ ok: true,
134
+ usage: emptyUsage(filePath, root)
135
+ };
136
+ const leaves = [];
137
+ for (const entry of entriesById.values()) {
138
+ const kids = childrenOf.get(entry.id);
139
+ if (!kids || kids.length === 0) leaves.push(entry);
140
+ }
141
+ if (leaves.length === 0) leaves.push(...entriesById.values());
142
+ let latestLeaf = leaves[0];
143
+ for (const leaf of leaves) if (tsMs(leaf.timestamp) > tsMs(latestLeaf.timestamp)) latestLeaf = leaf;
144
+ const branch = [];
145
+ const visited = /* @__PURE__ */ new Set();
146
+ let cursor = latestLeaf;
147
+ while (cursor) {
148
+ if (visited.has(cursor.id)) break;
149
+ visited.add(cursor.id);
150
+ branch.push(cursor);
151
+ if (!cursor.parentId) break;
152
+ cursor = entriesById.get(cursor.parentId);
153
+ }
154
+ branch.reverse();
155
+ const totals = {
156
+ inputTokens: 0,
157
+ outputTokens: 0,
158
+ cacheReadTokens: 0,
159
+ cacheWriteTokens: 0
160
+ };
161
+ let costV2 = 0;
162
+ let messageCount = 0;
163
+ let costRecomputedFromTokens = 0;
164
+ const modelBreakdown = {};
165
+ const usageEvents = [];
166
+ const unpricedModels = [];
167
+ const modelsInOrder = [];
168
+ let compactionCount = 0;
169
+ let firstTs = null;
170
+ let lastTs = null;
171
+ for (const entry of branch) {
172
+ if (entry.type === "compaction_start" || entry.type === "session_compact") compactionCount += 1;
173
+ if (!firstTs && entry.timestamp) firstTs = entry.timestamp;
174
+ if (entry.timestamp) lastTs = entry.timestamp;
175
+ if (!isAssistantMessage(entry)) continue;
176
+ const usage = entry.message.usage;
177
+ if (!usage) continue;
178
+ const model = entry.message.model || "unknown";
179
+ const provider = typeof entry.message.provider === "string" ? entry.message.provider : null;
180
+ const input = usage.input ?? 0;
181
+ const output = usage.output ?? 0;
182
+ const cacheRead = usage.cacheRead ?? 0;
183
+ const cacheWrite = usage.cacheWrite ?? 0;
184
+ const tokenUsage = {
185
+ inputTokens: input,
186
+ outputTokens: output,
187
+ cacheReadTokens: cacheRead,
188
+ cacheWriteTokens: cacheWrite
189
+ };
190
+ const hasInlineCost = usage.cost?.total !== void 0;
191
+ let cost = usage.cost?.total ?? 0;
192
+ let warning;
193
+ if (!hasInlineCost && input + output + cacheRead + cacheWrite > 0) {
194
+ const computed = computeCostFromPricing(provider, model, tokenUsage);
195
+ cost = computed.cost;
196
+ if (computed.reason) {
197
+ unpricedModels.push({
198
+ provider,
199
+ model,
200
+ reason: computed.reason
201
+ });
202
+ warning = [{
203
+ type: "unpriced-model",
204
+ provider,
205
+ model,
206
+ reason: computed.reason
207
+ }];
208
+ }
209
+ }
210
+ const localComputed = hasInlineCost ? (usage.cost?.input ?? 0) + (usage.cost?.output ?? 0) + (usage.cost?.cacheRead ?? 0) + (usage.cost?.cacheWrite ?? 0) : cost;
211
+ totals.inputTokens += input;
212
+ totals.outputTokens += output;
213
+ totals.cacheReadTokens = (totals.cacheReadTokens ?? 0) + cacheRead;
214
+ totals.cacheWriteTokens = (totals.cacheWriteTokens ?? 0) + cacheWrite;
215
+ costV2 += cost;
216
+ costRecomputedFromTokens += localComputed;
217
+ messageCount += 1;
218
+ if (!modelBreakdown[model]) {
219
+ modelBreakdown[model] = {
220
+ cost: 0,
221
+ inputTokens: 0,
222
+ outputTokens: 0,
223
+ messageCount: 0,
224
+ cacheReadTokens: 0,
225
+ cacheWriteTokens: 0
226
+ };
227
+ modelsInOrder.push(model);
228
+ }
229
+ const slot = modelBreakdown[model];
230
+ slot.cost += cost;
231
+ slot.inputTokens += input;
232
+ slot.outputTokens += output;
233
+ slot.messageCount += 1;
234
+ slot.cacheReadTokens = (slot.cacheReadTokens ?? 0) + cacheRead;
235
+ slot.cacheWriteTokens = (slot.cacheWriteTokens ?? 0) + cacheWrite;
236
+ usageEvents.push({
237
+ requestId: `ohmypi:${root.id}:${entry.id}`,
238
+ timestamp: entry.timestamp || root.timestamp,
239
+ sessionId: root.id,
240
+ sessionFile: filePath,
241
+ provider,
242
+ model,
243
+ input,
244
+ output,
245
+ cacheRead,
246
+ cacheWrite,
247
+ cost,
248
+ ...warning ? { warnings: warning } : {}
249
+ });
250
+ }
251
+ if (Math.abs(costV2 - costRecomputedFromTokens) > 1e-9) console.debug(`[ohmypi-parser] inline cost vs sum-of-line-items delta=${(costV2 - costRecomputedFromTokens).toFixed(6)} in ${filePath}`);
252
+ if (compactionCount > 0) console.debug(`[ohmypi-parser] active branch in ${filePath} has ${compactionCount} compaction event(s) — usage summed per-message (no double-count)`);
253
+ const display = modelsInOrder.length === 0 ? "unknown" : modelsInOrder.length === 1 ? modelsInOrder[0] : modelsInOrder.join(" → ");
254
+ return {
255
+ ok: true,
256
+ usage: {
257
+ sessionId: root.id,
258
+ sessionFile: filePath,
259
+ startTime: firstTs ?? root.timestamp,
260
+ endTime: lastTs ?? root.timestamp,
261
+ model: display,
262
+ usage: totals,
263
+ cost: costV2,
264
+ cost_v2: costV2,
265
+ messageCount,
266
+ modelBreakdown
267
+ },
268
+ usageEvents,
269
+ unpricedModels
270
+ };
271
+ }
272
+ function emptyUsage(filePath, root) {
273
+ return {
274
+ sessionId: root.id,
275
+ sessionFile: filePath,
276
+ startTime: root.timestamp,
277
+ endTime: root.timestamp,
278
+ model: "unknown",
279
+ usage: {
280
+ inputTokens: 0,
281
+ outputTokens: 0,
282
+ cacheReadTokens: 0,
283
+ cacheWriteTokens: 0
284
+ },
285
+ cost: 0,
286
+ cost_v2: 0,
287
+ messageCount: 0,
288
+ modelBreakdown: {}
289
+ };
290
+ }
291
+ var KNOWN_TYPES;
292
+ var init_ohmypi_parser = __esmMin((() => {
293
+ init_cost();
294
+ init_errors();
295
+ KNOWN_TYPES = new Set([
296
+ "session",
297
+ "message",
298
+ "model_change",
299
+ "thinking_level_change",
300
+ "compaction_start",
301
+ "compaction_end",
302
+ "session_before_compact",
303
+ "session_compact",
304
+ "session_before_switch",
305
+ "session_before_fork",
306
+ "session_start"
307
+ ]);
308
+ }));
309
+ //#endregion
7
310
  //#region ../../lib/overdeck/control-settings.ts
8
311
  function mapProjectConfig(raw, key) {
9
312
  return {
@@ -438,6 +741,6 @@ var init_control_settings = __esmMin((() => {
438
741
  })).add(HttpApiEndpoint.get("listProjects", "/projects", { success: Schema.Array(ProjectConfig) }));
439
742
  }));
440
743
  //#endregion
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 };
744
+ export { parseOhmypiSessionCostResultSync as A, 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, parseOhmypiSessionSync as j, init_ohmypi_parser as k, 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
745
 
443
- //# sourceMappingURL=control-settings-BMoDHY1G.js.map
746
+ //# sourceMappingURL=control-settings-Bdud_B1j.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-D4VOmF7p.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-dFx_2wpa.js";
2
2
  init_conversation_compaction();
3
3
  export { buildCompactionRuntimeInfo, compactConversationNative, estimateContextTokens, getConversationCompactionSettings, isCompacting, maybeCompactBeforeRespawn, shouldInterceptManualCompact };