@overdeck/desktop 0.45.23 → 0.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/drizzle/overdeck/0000_overdeck_init.sql +34 -0
- package/package.json +1 -1
- package/server/{acceptance-criteria-DOA0KgXx.js → acceptance-criteria-CCwFGICj.js} +2 -2
- package/server/activity-logger-CMthG6Vd.js +3 -0
- package/server/{activity-logger-DDlOIAML.js → activity-logger-CyteR4JO.js} +24 -13
- package/server/{advancing-selfheal-BBu6DSNm.js → advancing-selfheal-De1L-Sb4.js} +6 -6
- package/server/{agent-gc-BV1q_2EV.js → agent-gc-CBULruzm.js} +5 -5
- package/server/agent-state-VQk8fY9F.js +3 -0
- package/server/{agent-state-service-HoK8U4jW.js → agent-state-service-BlnSkRFA.js} +5 -5
- package/server/{agent-state-service-CnzFKSAQ.js → agent-state-service-hZpxIw1E.js} +1 -1
- package/server/agents-BKKkxKgK.js +3 -0
- package/server/{agents-B4Bjbkfv.js → agents-C5rWYhb6.js} +4 -4
- package/server/archive-planning-0FJ6Xd3b.js +2 -0
- package/server/{archive-planning-DYrYojxl.js → archive-planning-C0lAbNB_.js} +16 -24
- package/server/{artifact-index-jobs-C-xy7Z5v.js → artifact-index-jobs-ug6ZxIP5.js} +2 -2
- package/server/assemble-DnffNpOo.js +339 -0
- package/server/{backlog-auto-trigger-GtG71X8H.js → backlog-auto-trigger-Dh-i9PQf.js} +3 -3
- package/server/{behavior-B_-4EKF3.js → behavior-CfIg6pKp.js} +2 -2
- package/server/bridge-pool-patrol-CUFmjVDN.js +136 -0
- package/server/{briefing-freshness-DWdW7vUm.js → briefing-freshness-DHmCSLar.js} +2 -2
- package/server/{build-info-DgTqZkL5.js → build-info-BP160gU7.js} +1 -1
- package/server/{build-info-BT096lEl.js → build-info-CuFfxZxp.js} +5 -3
- package/server/{checkpoint-manager-DDqcGyu8.js → checkpoint-manager-DEWD82qK.js} +2 -2
- package/server/{checkpoint-manager-B7Bt29J0.js → checkpoint-manager-Dxh0FYsv.js} +1 -1
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-C-AXLfYT.js → checkpoints-CZvbtLnr.js} +2 -2
- package/server/{checkpoints-CpgCjAlN.js → checkpoints-DMTgXuLG.js} +1 -1
- package/server/{claude-hooks-provision-C8wdRnN1.js → claude-hooks-provision-CN-xo-do.js} +1 -1
- package/server/{claude-hooks-provision-but-_qGY.js → claude-hooks-provision-fvy4RD2b.js} +13 -2
- package/server/{claude-permissions-H_5wHQZQ.js → claude-permissions-CN0cSCPp.js} +2 -2
- package/server/{claude-settings-overlay-CbSz0Dvb.js → claude-settings-overlay-CJn35FHQ.js} +2 -2
- package/server/{claude-settings-overlay-BTENVmYf.js → claude-settings-overlay-Dabi9slj.js} +1 -1
- package/server/cli-DmXETsw-.js +3 -0
- package/server/{cli-vBeXbPrq.js → cli-oCWYA1pE.js} +9 -9
- package/server/{cliproxy-Bgb2XCqi.js → cliproxy-C8mB3KuB.js} +2 -2
- package/server/{cliproxy-DW0V86F8.js → cliproxy-PGwTX_o8.js} +1 -1
- package/server/{close-issue-Dn_4c4G8.js → close-issue-D5MF5GqF.js} +5 -5
- package/server/{closed-issue-reaper-CWpY2uBw.js → closed-issue-reaper-CJ24u0Zt.js} +1 -1
- package/server/{closed-issue-reaper-hANY_ehE.js → closed-issue-reaper-Cltx86x5.js} +37 -16
- package/server/{codex-Dg7Is5yb.js → codex-BdEsUFWh.js} +1 -1
- package/server/{codex-TmSi-yTv.js → codex-Drlf5Xhf.js} +37 -8
- package/server/{codex-parser-C4gSH-IR.js → codex-parser-DpB89Vqa.js} +2 -2
- package/server/compaction-continuation-K2AxQX4H.js +200 -0
- package/server/{config-DjLOdbgT.js → config-B2IMcBxx.js} +4 -3
- package/server/{config-DUIhMN_T.js → config-DV-grfQc.js} +1 -1
- package/server/{config-CCvjQf27.js → config-Dr3pW6w6.js} +2 -2
- package/server/{config-yaml-DvyMuOle.js → config-yaml-CmOPzmBb.js} +290 -22
- package/server/{conflict-gate-CmrYpa47.js → conflict-gate-B9cN3SBi.js} +4 -4
- package/server/{conflict-gate-BSJkNTdp.js → conflict-gate-Dh754uyA.js} +1 -1
- package/server/context-layers-D6LZo3l1.js +4 -0
- package/server/context-layers-dR5YxHYB.js +37 -0
- package/server/{control-settings-aP1ANIlI.js → control-settings-C7DUehE1.js} +49 -19
- package/server/{conversation-compaction-CNbTLB86.js → conversation-compaction-BoqdDXWF.js} +8 -8
- package/server/{conversation-compaction-DiG5zWQq.js → conversation-compaction-Dj4FAKoZ.js} +1 -1
- package/server/{conversation-service-Du-MTNpJ.js → conversation-service-5aCnq1zR.js} +331 -20
- package/server/conversation-service-BCxl4f8Z.js +3 -0
- package/server/{conversations-DbOs1e9Q.js → conversations-BUpYsOZg.js} +5 -5
- package/server/{conversations-6mPANqvL.js → conversations-C34dyIb9.js} +1 -1
- package/server/{cost-Ca0YTWDw.js → cost-Bgcub5kW.js} +12 -2
- package/server/{cost-CW4WSe72.js → cost-CvxRrucd.js} +3 -3
- package/server/{cost-sync-C0VdGme1.js → cost-sync-Dv3LUaNW.js} +3 -3
- package/server/{dag-CdOjJVDT.js → dag-ombYYt4s.js} +2 -2
- package/server/{dangerous-git-ops-CT-IypG3.js → dangerous-git-ops-BcJPC5Rr.js} +1 -1
- package/server/dashboard-db-worker.js +7 -7
- package/server/deacon-DrXqT9LQ.js +4 -0
- package/server/{deacon-pRnyD5w9.js → deacon-hi9KLPLT.js} +2998 -2659
- package/server/{deacon-nudge-log-Bjg8U4Y9.js → deacon-nudge-log-BNBebzeL.js} +3 -3
- package/server/deacon-pending-lifecycle-Cpk0k7Hi.js +33 -0
- package/server/{deacon-swarm-DftYRDo8.js → deacon-swarm-DBxUaO-A.js} +13 -13
- package/server/deacon-swarm-I2JfX5Tg.js +2 -0
- package/server/deacon.js +14 -19
- package/server/dead-end-trip-CQcP70ND.js +13 -0
- package/server/delivery-Da0zEMY4.js +3 -0
- package/server/{deploy-patrol-Bjsho_ha.js → deploy-patrol-Df-Tmaq0.js} +69 -18
- package/server/deploy-queue-9SrhZR63.js +3 -0
- package/server/deploy-queue-UjKGYsDe.js +169 -0
- package/server/deploy-window-jOiPRHL0.js +3 -0
- package/server/{deploy-window-DeP_OIRk.js → deploy-window-rpqpWqHA.js} +40 -16
- package/server/{dev-supervisor-BpMoHlkR.js → dev-supervisor-CC46Ig8q.js} +2 -2
- package/server/{devcontainer-renderer-CtUgrVKW.js → devcontainer-renderer-68CSCRnu.js} +3 -3
- package/server/{dist-DyRx4cI7.js → dist-CJy72uEg.js} +1 -1
- package/server/dist-DSlxIU1H.js +3 -0
- package/server/{dist-src-BSoS7mkd.js → dist-src-Bik83hFi.js} +1 -1
- package/server/docker-BMVTSFL5.js +3 -0
- package/server/{docker-BK7HIcBj.js → docker-Dam7mbIB.js} +2 -2
- package/server/{dod-BrSfUHm0.js → dod-Dar-yheg.js} +8 -4
- package/server/durable-review-pipeline-CGZ5QBxh.js +17 -0
- package/server/durable-review-pipeline-jpgCJZFp.js +3 -0
- package/server/{ensure-devcontainer-DseivYEy.js → ensure-devcontainer-B057YA81.js} +4 -4
- package/server/{ensure-devcontainer-DRqaAkBR.js → ensure-devcontainer-C98V8yW-.js} +1 -1
- package/server/{esm-shims-CbI3BVkl.js → esm-shims-Br9BPdkR.js} +1 -1
- package/server/{event-store-Cr5PQwFC.js → event-store-ELqkVOn0.js} +1 -1
- package/server/{event-store-tdiY5eDZ.js → event-store-zY5MJHgF.js} +23 -4
- package/server/{events-CvvGK6LT.js → events-D6pyqhzM.js} +1 -1
- package/server/{events-CC1dgUpx.js → events-D9PR1IC0.js} +3 -3
- package/server/{factory-CynerjXO.js → factory-CRoOpGsF.js} +5 -5
- package/server/{feature-registry-population-B0pmAz0a.js → feature-registry-population--YUXU999.js} +4 -4
- package/server/{feature-registry-storage-_wUBRD3J.js → feature-registry-storage-BORBTo0y.js} +2 -2
- package/server/{features-Dhxz-wLc.js → features--nFkJY8v.js} +2 -2
- package/server/{feedback-target-iygZwmMc.js → feedback-target-C0ZzyHvU.js} +1 -1
- package/server/{feedback-target-CPS15Vte.js → feedback-target-Dt9BsapX.js} +8 -8
- package/server/{feedback-writer-C9b6ccN1.js → feedback-writer-BG0RUZiu.js} +5 -5
- package/server/{feedback-writer-qmiMbqTZ.js → feedback-writer-D1fm-5Z8.js} +1 -1
- package/server/flywheel-BekukH4i.js +2 -0
- package/server/flywheel-BiT3odRb.js +1092 -0
- package/server/flywheel-CLVB55Be.js +478 -0
- package/server/flywheel-merge-order-BJv1DZz1.js +462 -0
- package/server/flywheel-merge-order-BKw9o6ku.js +2 -0
- package/server/forge-CZbSg6Ds.js +383 -0
- package/server/forge-DK3blQb_.js +3 -0
- package/server/{from-CJ_aH5jD.js → from-D_4_dk7i.js} +1 -1
- package/server/{fts-db-CKgg0VKg.js → fts-db-BeOomFa-.js} +2 -2
- package/server/{fts-operations-BrL_VTRr.js → fts-operations-BdewJ_g9.js} +2 -2
- package/server/git-utils-CI6cwyyC.js +3 -0
- package/server/{git-utils-BVa07a4a.js → git-utils-ameCgDdy.js} +93 -3
- package/server/{github-app-CMBdIFBQ.js → github-app-CQ1Lo6LA.js} +19 -8
- package/server/{github-app-CPfoFAdV.js → github-app-DtAsvwzK.js} +1 -1
- package/server/{github-client--XVlDpwM.js → github-client-BfyDxuRN.js} +2 -2
- package/server/{github-client-B4QsdE-X.js → github-client-Cj0yl_07.js} +1 -1
- package/server/github-pr-lookup-BDq6Wznz.js +58 -0
- package/server/{harness-binary-CVio2m-u.js → harness-binary-DqkftwTb.js} +32 -6
- package/server/{harness-resolve-qHJBhy3Z.js → harness-resolve-CqMqM1Mb.js} +18 -9
- package/server/{health-events-C9B8y1Hm.js → health-events-CazRxJUS.js} +2 -2
- package/server/{health-events-CpfvuVmm.js → health-events-_xfTaOUs.js} +1 -1
- package/server/{hooks-DUXw8A0-.js → hooks-BO3QT1sn.js} +2 -2
- package/server/{hooks-ltecuFqZ.js → hooks-BnJsxlSq.js} +1 -1
- package/server/{hume-BEq0bUDg.js → hume-CDYJxqx-.js} +2 -2
- package/server/hume-Dq--7rOQ.js +3 -0
- package/server/{idle-stack-reaper-D7w9t3fE.js → idle-stack-reaper-BYqERdkE.js} +1 -1
- package/server/{idle-stack-reaper-w1ISSlhs.js → idle-stack-reaper-CnGx_PO_.js} +99 -6
- package/server/in-flight-guard-Bq3epG58.js +45 -0
- package/server/{infra-CzaSOgul.js → infra-BjuxvjdS.js} +80 -5
- package/server/{injection-oNZeoDhL.js → injection-DZxlV2al.js} +1 -1
- package/server/{injection-DZ0PfYa4.js → injection-UCf8EsjX.js} +191 -183
- package/server/{inspect-agent-DJKLWcVT.js → inspect-agent-6kylZnrm.js} +139 -82
- package/server/inspect-agent-BVwDrVrz.js +2 -0
- package/server/{internal-token-Bb4XeV2x.js → internal-token-DvMTQSOS.js} +2 -2
- package/server/{internal-token-DXdfprGr.js → internal-token-M9omeXM1.js} +1 -1
- package/server/{io-B3_AHDfr.js → io-VHvc0Ssp.js} +43 -26
- package/server/{issue-closed-zhdvQicO.js → issue-closed-B6KJkmHZ.js} +7 -7
- package/server/{issue-lifecycle-Dy4vd0Oa.js → issue-lifecycle-9gk3fnXN.js} +1 -1
- package/server/{issue-lifecycle-CreaCkjW.js → issue-lifecycle-C4Zj0WmE.js} +34 -28
- package/server/{issue-service-singleton-B5ushCvE.js → issue-service-singleton-DmCh7EHj.js} +10 -10
- package/server/{issue-service-singleton-DabvBWUp.js → issue-service-singleton-PMx8F1jr.js} +1 -1
- package/server/{issues-B6ToV6x1.js → issues-CgnQ1OGQ.js} +2 -2
- package/server/{jsonl-parser-Dhflo1SH.js → jsonl-parser-DJOH_O-w.js} +5 -4
- package/server/{label-cleanup-BKPJm4Hv.js → label-cleanup-Dv7AV_R1.js} +3 -3
- package/server/{label-reconciler-DdWbHEBu.js → label-reconciler--F85rufp.js} +4 -4
- package/server/{lifecycle-DfeyBDwA.js → lifecycle-CTdOWYMi.js} +2 -2
- package/server/{lifecycle-sycO16hj.js → lifecycle-DDN8ApVY.js} +6 -7
- package/server/{lifecycle-io-D8iNBcux.js → lifecycle-io-D-lGdzK3.js} +5 -5
- package/server/{lifecycle-io-Bsnr2K4F.js → lifecycle-io-D_zTLvP1.js} +1 -1
- package/server/{linear-client-D4zqMnX7.js → linear-client-BQU36QqE.js} +2 -2
- package/server/{linear-client-DqhDQO9k.js → linear-client-CY4O_Tu3.js} +1 -1
- package/server/linear-mcp-auth-BnU4TYfY.js +280 -0
- package/server/linear-mcp-auth-NYBq_oHZ.js +2 -0
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-C_ZEhbqI.js → merge-Bpx4jjht.js} +13 -11
- package/server/{merge-agent-XrB80vfT.js → merge-agent-DdMVSV2Y.js} +233 -83
- package/server/{merge-agent-BQM3a8z5.js → merge-agent-DrXa1CpW.js} +1 -1
- package/server/{merge-batch-Bwoyr8Je.js → merge-batch-C5q1c1GX.js} +1 -1
- package/server/merge-completeness-BMm8tMyZ.js +277 -0
- package/server/merge-completeness-D0ljXbk3.js +3 -0
- package/server/{merge-DK23JEdS.js → merge-idOG--29.js} +1 -1
- package/server/merge-ops-DdpTiEMt.js +2 -0
- package/server/merge-rebase-DGQpYJU3.js +2 -0
- package/server/{merge-rebase-C1KIVr0s.js → merge-rebase-xLnMlw5h.js} +3 -3
- package/server/merge-set-DH7ot3yz.js +89 -0
- package/server/merge-set-DzsOTBg5.js +3 -0
- package/server/{merge-sync-DZ9dojJn.js → merge-sync-CQ-LgZ1_.js} +406 -153
- package/server/merge-sync-Ca7F5JnQ.js +3 -0
- package/server/{merge-train-DxDfBTjr.js → merge-train-DTEMyIu4.js} +18 -8
- package/server/{merge-train-deps-CyYQUksx.js → merge-train-deps-CNPJzepw.js} +4 -4
- package/server/merge-verification-x3JO8Dtz.js +220 -0
- package/server/merged-docker-cleanup-worker-CTpC27Bs.js +107 -0
- package/server/merged-docker-cleanup-worker-Cdi9apm-.js +3 -0
- package/server/{multipart-parser-Dt8YPN5S.js → multipart-parser-IMSBfePV.js} +2 -2
- package/server/{no-resume-mode-Cx3K0hHi.js → no-resume-mode-C5ULAXwO.js} +1 -1
- package/server/node_modules/.package-lock.json +27 -27
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +3 -3
- package/server/node_modules/@google-cloud/common/package.json +2 -2
- package/server/node_modules/gaxios/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/server/node_modules/gaxios/build/esm/tsconfig.tsbuildinfo +1 -1
- package/server/node_modules/gaxios/package.json +1 -1
- package/server/node_modules/google-auth-library/build/src/auth/googleauth.js +24 -19
- package/server/node_modules/google-auth-library/package.json +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/auth.proto +2 -1
- package/server/node_modules/google-gax/build/protos/google/api/backend.proto +12 -1
- package/server/node_modules/google-gax/build/protos/google/api/billing.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/client.proto +165 -53
- package/server/node_modules/google-gax/build/protos/google/api/cloudquotas/v1/resources.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/cloudquotas/v1beta/quota_adjuster_settings.proto +7 -3
- package/server/node_modules/google-gax/build/protos/google/api/cloudquotas/v1beta/resources.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/config_change.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/context.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/control.proto +3 -3
- package/server/node_modules/google-gax/build/protos/google/api/distribution.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/documentation.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/endpoint.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/error_reason.proto +186 -1
- package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/checked.proto +31 -3
- package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/eval.proto +8 -9
- package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/explain.proto +1 -2
- package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/syntax.proto +20 -22
- package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/value.proto +2 -3
- package/server/node_modules/google-gax/build/protos/google/api/field_behavior.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/field_info.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/http.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/httpbody.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/label.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/launch_stage.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/log.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/logging.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/metric.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/monitored_resource.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/monitoring.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/policy.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/quota.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/resource.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/routing.proto +8 -4
- package/server/node_modules/google-gax/build/protos/google/api/service.proto +2 -3
- package/server/node_modules/google-gax/build/protos/google/api/source_info.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/system_parameter.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/usage.proto +7 -27
- package/server/node_modules/google-gax/build/protos/google/api/visibility.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/longrunning/operations.proto +20 -1
- package/server/node_modules/google-gax/build/protos/google/protobuf/any.proto +52 -108
- package/server/node_modules/google-gax/build/protos/google/protobuf/compiler/ruby/ruby_generated_code.proto +2 -0
- package/server/node_modules/google-gax/build/protos/google/protobuf/cpp_features.proto +21 -1
- package/server/node_modules/google-gax/build/protos/google/protobuf/cpp_file_options.proto +24 -0
- package/server/node_modules/google-gax/build/protos/google/protobuf/cpp_options.proto +15 -0
- package/server/node_modules/google-gax/build/protos/google/protobuf/descriptor.proto +118 -30
- package/server/node_modules/google-gax/build/protos/google/protobuf/field_mask.proto +16 -18
- package/server/node_modules/google-gax/build/protos/google/protobuf/internal_options.proto +8 -1
- package/server/node_modules/google-gax/build/protos/google/protobuf/json/json_enumval_custom_string.proto +26 -0
- package/server/node_modules/google-gax/build/protos/google/protobuf/json_enumvalue_options.proto +29 -0
- package/server/node_modules/google-gax/build/protos/google/protobuf/json_options.proto +14 -0
- package/server/node_modules/google-gax/build/protos/google/protobuf/struct.proto +38 -22
- package/server/node_modules/google-gax/build/protos/google/protobuf/test_protos/forced_micro_string.proto +3 -0
- package/server/node_modules/google-gax/build/protos/google/protobuf/test_protos/repeated_field_proxy_import_message.proto +14 -0
- package/server/node_modules/google-gax/build/protos/google/protobuf/timestamp.proto +9 -8
- package/server/node_modules/google-gax/build/protos/google/protobuf/util/json_format_proto3.proto +18 -0
- package/server/node_modules/google-gax/build/protos/google/rpc/code.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/rpc/context/attribute_context.proto +7 -2
- package/server/node_modules/google-gax/build/protos/google/rpc/context/audit_context.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/rpc/error_details.proto +5 -5
- package/server/node_modules/google-gax/build/protos/google/rpc/http.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/rpc/status.proto +1 -2
- package/server/node_modules/google-gax/build/protos/google/type/calendar_period.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/type/color.proto +9 -10
- package/server/node_modules/google-gax/build/protos/google/type/date.proto +11 -9
- package/server/node_modules/google-gax/build/protos/google/type/datetime.proto +17 -17
- package/server/node_modules/google-gax/build/protos/google/type/dayofweek.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/type/decimal.proto +11 -13
- package/server/node_modules/google-gax/build/protos/google/type/expr.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/type/fraction.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/type/interval.proto +1 -2
- package/server/node_modules/google-gax/build/protos/google/type/latlng.proto +4 -5
- package/server/node_modules/google-gax/build/protos/google/type/localized_text.proto +3 -3
- package/server/node_modules/google-gax/build/protos/google/type/money.proto +1 -2
- package/server/node_modules/google-gax/build/protos/google/type/month.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/type/phone_number.proto +20 -15
- package/server/node_modules/google-gax/build/protos/google/type/postal_address.proto +39 -39
- package/server/node_modules/google-gax/build/protos/google/type/quaternion.proto +4 -4
- package/server/node_modules/google-gax/build/protos/google/type/timeofday.proto +11 -8
- package/server/node_modules/google-gax/package.json +5 -5
- package/server/node_modules/retry-request/package.json +4 -4
- package/server/node_modules/teeny-request/package.json +5 -5
- package/server/node_modules/undici/README.md +5 -0
- package/server/node_modules/undici/docs/docs/api/Client.md +4 -0
- package/server/node_modules/undici/docs/docs/api/Dispatcher.md +6 -0
- package/server/node_modules/undici/docs/docs/api/Interceptors.md +59 -0
- package/server/node_modules/undici/docs/docs/api/MockAgent.md +27 -0
- package/server/node_modules/undici/docs/docs/api/MockPool.md +28 -1
- package/server/node_modules/undici/docs/docs/index.md +5 -0
- package/server/node_modules/undici/lib/cache/memory-cache-store.js +54 -9
- package/server/node_modules/undici/lib/cache/sqlite-cache-store.js +7 -1
- package/server/node_modules/undici/lib/core/request.js +13 -2
- package/server/node_modules/undici/lib/core/util.js +6 -1
- package/server/node_modules/undici/lib/dispatcher/agent.js +3 -3
- package/server/node_modules/undici/lib/dispatcher/client-h1.js +42 -8
- package/server/node_modules/undici/lib/dispatcher/client-h2.js +34 -43
- package/server/node_modules/undici/lib/global.js +36 -16
- package/server/node_modules/undici/lib/handler/cache-handler.js +269 -61
- package/server/node_modules/undici/lib/handler/cache-revalidation-handler.js +13 -3
- package/server/node_modules/undici/lib/handler/redirect-handler.js +5 -2
- package/server/node_modules/undici/lib/handler/retry-handler.js +30 -4
- package/server/node_modules/undici/lib/interceptor/cache.js +159 -52
- package/server/node_modules/undici/lib/interceptor/decompress.js +9 -2
- package/server/node_modules/undici/lib/mock/mock-interceptor.js +25 -7
- package/server/node_modules/undici/lib/mock/mock-utils.js +39 -10
- package/server/node_modules/undici/lib/util/cache.js +372 -68
- package/server/node_modules/undici/lib/util/date.js +23 -6
- package/server/node_modules/undici/lib/web/cookies/util.js +78 -8
- package/server/node_modules/undici/lib/web/fetch/body.js +2 -1
- package/server/node_modules/undici/lib/web/fetch/response.js +1 -3
- package/server/node_modules/undici/package.json +2 -2
- package/server/node_modules/undici/types/client.d.ts +2 -2
- package/server/node_modules/undici/types/dispatcher.d.ts +3 -3
- package/server/node_modules/undici/types/mock-interceptor.d.ts +5 -1
- package/server/{orphan-proposed-reconciler-BTkDrl4R.js → orphan-proposed-reconciler-CWmOdM9-.js} +1 -1
- package/server/{orphan-proposed-reconciler-neK8dHQk.js → orphan-proposed-reconciler-Dg6U4ADZ.js} +24 -15
- package/server/package-lock.json +28 -28
- package/server/package.json +1 -1
- package/server/{pan-dir-DeVUgwA7.js → pan-dir-ubraCiUg.js} +24 -10
- package/server/{paths-_zEts6wc.js → paths-cXmOwSbh.js} +2 -2
- package/server/pending-lifecycle-claim-DEteYdS9.js +110 -0
- package/server/{pickup-Dd0Znxxy.js → pickup-D8xtG1J2.js} +17 -16
- package/server/pipeline-membership-BGSvkT2M.js +3 -0
- package/server/pipeline-membership-CrAPLYtf.js +57 -0
- package/server/{pipeline-membership-0HaEGDlH.js → pipeline-membership-gather-CET40frr.js} +177 -109
- package/server/pipeline-membership-gather-DTfcgxLl.js +3 -0
- package/server/{pipeline-notifier-D0ykk59O.js → pipeline-notifier-BuQ0e4hF.js} +2 -2
- package/server/{pipeline-notifier-6iCJplFZ.js → pipeline-notifier-ImNXknf0.js} +1 -1
- package/server/post-merge-lifecycle-worker-DbO10pum.js +50 -0
- package/server/{project-pipelines-2sK1apsO.js → project-pipelines-Bim6bThI.js} +2 -2
- package/server/project-repos-C0nuoBGv.js +98 -0
- package/server/project-repos-CRE6Ykow.js +3 -0
- package/server/projects-B03Wr-xc.js +3 -0
- package/server/{prompts-Dp4Tpk39.js → prompts-BEx08AIu.js} +2 -2
- package/server/{providers-DKkBXhxU.js → providers-D7IluJe0.js} +1 -1
- package/server/{providers-DV7ec8l7.js → providers-evXhiQeg.js} +7 -7
- package/server/public/assets/{chunk-BO2N2NFS-CltymLRg.js → chunk-BO2N2NFS-D1s4-Sqp.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-D2f6pjgA.js → diagram-OG6HWLK6-1gdMoSF7.js} +1 -1
- package/server/public/assets/{dist-BWR4qFiV.js → dist-CxAOHbil.js} +1 -1
- package/server/public/assets/{dist-DEmlBBNQ.js → dist-DqDRYW6P.js} +3 -3
- package/server/public/assets/{ganttDiagram-6RSMTGT7-DnfiViPK.js → ganttDiagram-6RSMTGT7-BYex-Ec7.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-B8Wrmj9H.js → highlighted-body-OFNGDK62-DlVkiG0S.js} +1 -1
- package/server/public/assets/index-Cc7cnFC4.css +1 -0
- package/server/public/assets/index-K0hAYCgV.js +807 -0
- package/server/public/assets/{linear-C9zFQpkX.js → linear-B4cuEFmO.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-DyDHFXHV.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-lR8H7Yjd.js → pieDiagram-4H26LBE5-CBHNBIJQ.js} +1 -1
- package/server/public/assets/{prod-B1jCQihw.js → prod-CN2nHBvX.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-CVQ2guem.js → quadrantDiagram-W4KKPZXB-Bom87VOQ.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-eD1RB4gm.js → sankeyDiagram-5OEKKPKP-UrBeyLxk.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-ChEC6dQn.js → xychartDiagram-2RQKCTM6-DhkbrIxR.js} +1 -1
- package/server/public/index.html +2 -2
- package/server/{pull-requests--Ib2jTgy.js → pull-requests-Cv7LxzUN.js} +1 -1
- package/server/{pull-requests-CXIhdCYD.js → pull-requests-DHWiKxo7.js} +19 -10
- package/server/{queries-6d7Cdtm7.js → queries-DHJm7bTd.js} +1134 -203
- package/server/{rally-B708-nZn.js → rally-B71M9f4o.js} +3 -3
- package/server/rally-YDjU513q.js +3 -0
- package/server/{rally-api-yjQ0TfHd.js → rally-api-D5uXN08-.js} +1 -1
- package/server/{rally-api-nY0ZANw3.js → rally-api-Dkqmok65.js} +2 -2
- package/server/{rally-client-B1EJhfV0.js → rally-client-Bfqm6XI4.js} +4 -4
- package/server/{rally-client-CULK2XAY.js → rally-client-CxsA6ExK.js} +1 -1
- package/server/{reap-terminal-sessions-MWnqdLCJ.js → reap-terminal-sessions-BQ23nriz.js} +2 -2
- package/server/{reap-terminal-sessions-N3BTkmX_.js → reap-terminal-sessions-CvmwaqKv.js} +2 -2
- package/server/{rebuild-stack-Dp4eLkt4.js → rebuild-stack-0EEYReVZ.js} +36 -36
- package/server/rebuild-stack-qeRqHZxH.js +4 -0
- package/server/{reconstruct-cache-uWbZfjms.js → reconstruct-cache-BbYFsqLa.js} +7 -6
- package/server/record-CtroO946.js +3 -0
- package/server/record-update-DH6dLJID.js +3 -0
- package/server/{record-update-Dq0t2uBG.js → record-update-Z0QCxmMp.js} +124 -34
- package/server/{recovery-trip-BJtIQuag.js → recovery-trip-eJe26h-f.js} +2 -2
- package/server/{release-engine-DZpmGGzb.js → release-engine-lPUp-MTd.js} +5 -5
- package/server/{release-set-hnXd_kga.js → release-set-BwGeyZKX.js} +3 -3
- package/server/{remote-Br-ZWVIP.js → remote-BCd02Es1.js} +3 -3
- package/server/{remote-4tiENDaI.js → remote-CVGUhXMV.js} +3 -3
- package/server/{remote-agents-CRCg1L4H.js → remote-agents-C1bssi41.js} +2 -2
- package/server/{remote-agents-nmty1mLu.js → remote-agents-C_VxssLU.js} +300 -46
- package/server/{remote-completion-BbWNd10K.js → remote-completion-DAB0P706.js} +12 -12
- package/server/resume-u9byntrq.js +3 -0
- package/server/{review-agent-DJRO8EG8.js → review-agent-CD4RCI0Y.js} +1 -1
- package/server/{review-agent-sKkE1FEL.js → review-agent-CHhI66UP.js} +61 -44
- package/server/{review-artifacts-BLbSC4ke.js → review-artifacts-DSMRIfuJ.js} +7 -6
- package/server/{review-context-BgX3lcCx.js → review-context-oFuBbiEE.js} +69 -25
- package/server/{in-flight-guard-aQ1IxeI3.js → review-convoy-liveness-CpzrcJ5F.js} +3 -44
- package/server/review-status-BZH8h-6W.js +3 -0
- package/server/review-status-emit-CUExtHd5.js +50 -0
- package/server/{review-status-enrichment-tbOn_A_u.js → review-status-enrichment-QV_hQkgS.js} +4 -4
- package/server/{review-status-source-CxuEjLGg.js → review-status-source-CpvJnvnQ.js} +24 -3
- package/server/review-status-source-ylw5QZUR.js +3 -0
- package/server/{review-status-sync-BhSQ0d0l.js → review-status-sync-483sujRo.js} +10 -5
- package/server/{review-status-sync-To3-iS-N.js → review-status-sync-NaWvI9Xf.js} +1 -1
- package/server/review-status-yljtTd-q.js +7521 -0
- package/server/{review-verdict-feedback-C1Kg8n7t.js → review-verdict-feedback-BPDn4li_.js} +1 -1
- package/server/{review-verdict-feedback-CTRNtzXO.js → review-verdict-feedback-CELeUinh.js} +48 -8
- package/server/{rollup-WA0VD-Rr.js → rollup-DTNvelz9.js} +8 -8
- package/server/{rollup-B53Y81xK.js → rollup-DYZfq1c4.js} +1 -1
- package/server/{scanner-D2743cp8.js → scanner-CV35oSn4.js} +42 -14
- package/server/{sequence-io-Cg0zYj_E.js → sequence-io-DF_8iuhV.js} +4 -4
- package/server/{sequencer-agent-BGY8gjg-.js → sequencer-agent-B2WeCtGi.js} +5 -5
- package/server/server.js +3899 -672
- package/server/{service-DCpB_SGd.js → service-Br9rpBNA.js} +83 -65
- package/server/{session-fork-BQ8_6H32.js → session-fork-D0LY152N.js} +2 -2
- package/server/{session-history-CVZDpS3c.js → session-history-BUyK29eq.js} +4 -4
- package/server/{settings-BZ5m1UCl.js → settings-Bse1Pdcj.js} +3 -3
- package/server/settings-CdvIF84R.js +2 -0
- package/server/{settings-ylxwqwQG.js → settings-CvVGqNEs.js} +3 -2
- package/server/{shadow-engineering-BlxG6Xye.js → shadow-engineering-BWLa8ODz.js} +2 -2
- package/server/{shadow-state-Dh-HzF2J.js → shadow-state-B4fpKxOO.js} +2 -2
- package/server/{shadow-state-C2_epgx2.js → shadow-state-FV6PHfEW.js} +1 -1
- package/server/{shadow-utils-4bvjn9b3.js → shadow-utils-D7asqxOZ.js} +2 -2
- package/server/{ship-log-ClSMIzZX.js → ship-log-xplJ8t75.js} +1 -1
- package/server/{smart-compaction-CHIxLr_d.js → smart-compaction-CPp2Ykf6.js} +1 -1
- package/server/{smart-compaction-r4pHQBIr.js → smart-compaction-D3U_79f-.js} +8 -7
- package/server/{spawn-planning-session-KC_UduxD.js → spawn-planning-session-1nFi3gfk.js} +1 -1
- package/server/{spawn-planning-session-DWAorh2B.js → spawn-planning-session-DGfZ5B8D.js} +30 -23
- package/server/{specialist-completion-BXhav38U.js → specialist-completion-Br48eiDP.js} +1 -1
- package/server/{specialist-context-DtrYvGJ-.js → specialist-context-cVbGnTa3.js} +5 -5
- package/server/{specialist-handoff-logger-C45ouoZ6.js → specialist-handoff-logger-DK-GTz4s.js} +2 -2
- package/server/{specialist-logs-DJ3RzKxW.js → specialist-logs-Cl5-hqT8.js} +3 -3
- package/server/{specialists-JVO00bs7.js → specialists-CNfYO3G2.js} +1634 -457
- package/server/{specialists-DyFeedjn.js → specialists-Cicieuzu.js} +21 -19
- package/server/{specialists-D5fRZXmN.js → specialists-JHsdU3pA.js} +1 -1
- package/server/{specialists-DVj0hvaL.js → specialists-Tdezg_6N.js} +1 -1
- package/server/specs-Bt7WJDoC.js +3 -0
- package/server/src-CRmCHlma.js +11408 -0
- package/server/{src-CG9mCkP6.js → src-Ck028hjO.js} +6 -6
- package/server/{src-CMTQGyCK.js → src-UWcGe0Ix.js} +5 -5
- package/server/stack-health-CJLMrLBl.js +3 -0
- package/server/{stack-health-puygdaMd.js → stack-health-DqSqx0zv.js} +68 -12
- package/server/{stale-task-claims-BbFwCTb0.js → stale-task-claims-CYFOUNlT.js} +4 -4
- package/server/{staleness-Cbl_w4Bw.js → staleness-BQ-0gMYK.js} +1 -1
- package/server/{staleness-Bpy41ngS.js → staleness-D47CUJok.js} +1 -1
- package/server/{state-home-CIGjwNfJ.js → state-home-BYV7qZTW.js} +2 -2
- package/server/{state-mapping-BL_-3Yt8.js → state-mapping-BVldLhBf.js} +1 -1
- package/server/{state-migrate-Dkzaxvny.js → state-migrate-CvvBtS0Y.js} +4 -4
- package/server/{stuck-remediation-sY_MHHgQ.js → stuck-remediation-Wt0UVvu1.js} +1 -1
- package/server/{stuck-remediation-CzEov_fq.js → stuck-remediation-mkLC6G_t.js} +360 -26
- package/server/{substrate-bug-weights-service-BH66lhm7.js → substrate-bug-weights-service-XfLAKnmK.js} +3 -3
- package/server/{summary-fork-D8bXjCr7.js → summary-fork-CD7GOts0.js} +2 -2
- package/server/{summary-fork-DHhJIsAL.js → summary-fork-xiXBnWG9.js} +78 -12
- package/server/supervisor/{injection-budget-C1iPirFS.js → injection-budget-B5SbvDx2.js} +2 -41
- package/server/supervisor/{paths-DehGY2Fj.js → paths-K3noE4N_.js} +1 -1
- package/server/supervisor/pty-supervisor.js +49 -2
- package/server/supervisor/pty-token-B7lp0ElT.js +43 -0
- package/server/{supervisor-BO-Zk_h-.js → supervisor-DL788vos.js} +3 -3
- package/server/supervisor-UWiQNK-y.js +2 -0
- package/server/{swarm-readiness-CQ_fwUWF.js → swarm-readiness-BV14DF5N.js} +3 -3
- package/server/{system-prerequisites-Bza0ffAh.js → system-prerequisites-pdWG6ZQs.js} +56 -29
- package/server/{teardown-workspace-CEgauF4U.js → teardown-workspace-l2F4_zim.js} +15 -16
- package/server/{test-agent-queue-DXDt0Xa-.js → test-agent-queue-qakFIIGz.js} +6 -6
- package/server/{test-verdict-CmUBK5cT.js → test-verdict-BJYDggMm.js} +1 -1
- package/server/{test-verdict-DFjjIHR5.js → test-verdict-Gw-btEfb.js} +1 -1
- package/server/{tldr-daemon-DL566HbH.js → tldr-daemon-BKOYB616.js} +1 -1
- package/server/{tldr-daemon-BDtLOIlO.js → tldr-daemon-CBaWkV9k.js} +2 -2
- package/server/{tmux-ftABRAmc.js → tmux-B1Wbxz5o.js} +3 -3
- package/server/{tmux-DoThH6aj.js → tmux-DQ6jB76i.js} +1 -1
- package/server/tmux-dedup-DbN6MGzM.js +892 -0
- package/server/{token-CsOhvw42.js → token-Cxbk023d.js} +2 -2
- package/server/{token-util-CTmczIfW.js → token-util-CLq2MmQt.js} +1 -1
- package/server/token-util-zlz9U0ki.js +3 -0
- package/server/{tracker-config-B4itFzDo.js → tracker-config-DZ8Zn2nQ.js} +2 -2
- package/server/{tracker-utils-tnxxqROg.js → tracker-utils-L0FKtjq2.js} +3 -3
- package/server/{traefik-connect-m73vGebA.js → traefik-connect-bNX6jKkb.js} +1 -1
- package/server/{tunnel-B2vxjx_b.js → tunnel-BAm1XgjG.js} +3 -3
- package/server/{tunnel-Cgj-IGIl.js → tunnel-CjSnHdTc.js} +1 -1
- package/server/{types-BBNjPcqU.js → types-q67TYYg5.js} +1 -1
- package/server/uat-promote-verification-CKB9ZrKC.js +92 -0
- package/server/uat-train-Cu-4nvbf.js +2 -0
- package/server/uat-train-D5UjcyAa.js +0 -0
- package/server/validate-Cxsx5Uz1.js +179 -0
- package/server/{validation-CIi6pnI2.js → validation-DEaTZafj.js} +1 -1
- package/server/{validation-B5JxoPUS.js → validation-VZgJxmqc.js} +4 -4
- package/server/{verification-artifact-C-lIHfUa.js → verification-artifact-C85cRTc_.js} +1 -1
- package/server/{verification-artifact-BcnIbigL.js → verification-artifact-g3yuxQDL.js} +1 -1
- package/server/{verification-runner-CDj4lD4t.js → verification-runner-DlZI8yhw.js} +1 -1
- package/server/{verification-runner-Br0S_Ous.js → verification-runner-KDZIsBj4.js} +114 -107
- package/server/{vtt-parser-DKpNNW5i.js → vtt-parser-Jr94BF3Y.js} +1 -1
- package/server/{work-agent-prompt-Yb2bd3Fq.js → work-agent-prompt-C-vuP3_J.js} +20 -9
- package/server/workflows-CHrx_hcW.js +2 -0
- package/server/{workflows-C9WmILql.js → workflows-D0oip4eV.js} +161 -78
- package/server/{workspace-DuUdndHe.js → workspace-BqFg__wH.js} +1 -1
- package/server/{workspace-BVl4rihN.js → workspace-C0fH3aek.js} +3 -3
- package/server/workspace-anchor-drift-B4gMRHl4.js +3 -0
- package/server/workspace-anchor-drift-CZKofakh.js +224 -0
- package/server/{workspace-config-cEGcO6UT.js → workspace-config-B123aZl-.js} +1 -1
- package/server/workspace-manager-CDTKjjdU.js +3 -0
- package/server/{workspace-manager-hLUv3ADC.js → workspace-manager-CwO-Hek7.js} +206 -116
- package/server/{workspace-metadata-CskwzzhL.js → workspace-metadata-CQv00QwK.js} +2 -2
- package/server/{workspace-metadata-DNpMixRq.js → workspace-metadata-D4M8BM4W.js} +1 -1
- package/server/{workspaces-hWvy9eKs.js → workspaces-j1e_6aAT.js} +736 -290
- package/sync-sources/dev-skills/pan-dashboard-restart/SKILL.md +34 -10
- package/sync-sources/hooks/linear-mcp-auth-hook +97 -0
- package/sync-sources/hooks/record-cost-event.js +6 -4
- package/sync-sources/rules/ask-user-question-self-contained.md +9 -0
- package/sync-sources/skills/okf/README.md +11 -3
- package/sync-sources/skills/okf/SKILL.md +12 -1
- package/sync-sources/skills/okf/docs/USAGE.md +15 -0
- package/sync-sources/skills/okf/references/overdeck.md +28 -0
- package/sync-sources/skills/pan-close/SKILL.md +5 -3
- package/sync-sources/skills/pan-flywheel/SKILL.md +18 -1
- package/sync-sources/skills/pan-knowledge/SKILL.md +10 -0
- package/sync-sources/skills/pan-orders/SKILL.md +33 -0
- package/sync-sources/skills/pan-peer-review/SKILL.md +195 -0
- package/sync-sources/skills/pan-reload/SKILL.md +3 -3
- package/sync-sources/skills/pan-restart/SKILL.md +5 -4
- package/sync-sources/skills/pan-review/SKILL.md +7 -1
- package/sync-sources/skills/pan-start/SKILL.md +4 -0
- package/sync-sources/skills/pan-sync-main/SKILL.md +9 -8
- package/sync-sources/skills/pipeline-status/SKILL.md +10 -1
- package/sync-sources/skills/workspace-add-repo/SKILL.md +16 -1
- package/sync-sources/templates/traefik/dynamic/overdeck.yml.template +10 -0
- package/server/activity-logger-OEUBdfZ8.js +0 -3
- package/server/agent-state-Bg0lhqwj.js +0 -3
- package/server/agents-FlIgQ3ql.js +0 -3
- package/server/archive-planning-zkJb3BeM.js +0 -3
- package/server/cli-BsVIHwzC.js +0 -3
- package/server/context-layers-B3Nt58jl.js +0 -4
- package/server/context-layers-ZYFcWiyc.js +0 -165
- package/server/conversation-service-Up7FEzIC.js +0 -3
- package/server/deacon-DYSEJb48.js +0 -4
- package/server/deacon-swarm-9jRLS5Ke.js +0 -2
- package/server/deploy-window-CM6W1-c6.js +0 -3
- package/server/dist-Bd3vn0Hw.js +0 -3
- package/server/flywheel-DMCUzDWg.js +0 -2
- package/server/flywheel-DSSpWmqF.js +0 -522
- package/server/flywheel-DcBkQvgE.js +0 -207
- package/server/flywheel-merge-order-C-6zRLvM.js +0 -2
- package/server/flywheel-merge-order-DxbQKE1d.js +0 -244
- package/server/forge-B-ZWyTRm.js +0 -2
- package/server/forge-Ch9gCFod.js +0 -270
- package/server/git-utils-Dry_Ka_D.js +0 -3
- package/server/github-pr-lookup-BRbDW-qk.js +0 -44
- package/server/hume-B_DbflNM.js +0 -3
- package/server/inspect-agent-ch-F-5Ci.js +0 -2
- package/server/launcher-generator-CHVm7bGT.js +0 -379
- package/server/layers-DzxSTGNA.js +0 -93
- package/server/merge-blockers-BsFjGrQ8.js +0 -41
- package/server/merge-ops-DlB1IM0Y.js +0 -2
- package/server/merge-set-DLz0MkGT.js +0 -139
- package/server/merge-set-DnSYdBEp.js +0 -3
- package/server/merge-sync-SSv3E-pl.js +0 -3
- package/server/merge-verification-CSizH3HY.js +0 -124
- package/server/projects-9SkRpES9.js +0 -3
- package/server/public/assets/index-CUr1xv8w.css +0 -1
- package/server/public/assets/index-CsSuZQBI.js +0 -802
- package/server/public/assets/mermaid-GHXKKRXX-BUAB8hqt.js +0 -1
- package/server/rally-njs_mJrt.js +0 -3
- package/server/rebuild-stack-kA7XngID.js +0 -3
- package/server/record-t6V-3Dcj.js +0 -3
- package/server/record-update-DACtKh6_.js +0 -3
- package/server/resume-CcKqnTvE.js +0 -3
- package/server/review-status-A7quS5KJ.js +0 -1454
- package/server/review-status-C6n6-9f_.js +0 -3
- package/server/settings-D0OSwos5.js +0 -2
- package/server/specs-nN45DG2X.js +0 -3
- package/server/src-U7_kTPEE.js +0 -4733
- package/server/stack-health-Df0YEZKa.js +0 -3
- package/server/supervisor-BPy-o1A8.js +0 -2
- package/server/token-util-DrHg8abn.js +0 -3
- package/server/tracker-utils-BePq_oj-.js +0 -3
- package/server/uat-train-CuEn0t9M.js +0 -2152
- package/server/uat-train-cKfM-_WW.js +0 -2
- package/server/workflows-D90rMOya.js +0 -2
- package/server/workspace-manager-ZTdJAy9M.js +0 -3
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
+
import { Qr as SYNC_SOURCES, ci as init_paths, si as getOverdeckHome } from "./config-yaml-CmOPzmBb.js";
|
|
3
|
+
import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "fs";
|
|
4
|
+
import { join } from "path";
|
|
5
|
+
//#region ../../lib/context-layers/layers.ts
|
|
6
|
+
/**
|
|
7
|
+
* Context layer model (PAN-1201).
|
|
8
|
+
*
|
|
9
|
+
* Three layers of context compose at sync time:
|
|
10
|
+
*
|
|
11
|
+
* global — ~/.overdeck/context/global.md (+ global/{skills,agents}/)
|
|
12
|
+
* Applies to every harness invocation, everywhere.
|
|
13
|
+
* project — <projectRoot>/.overdeck/context/project.md
|
|
14
|
+
* Applies when CWD is under a registered project. Committed.
|
|
15
|
+
* workspace — <workspace>/.overdeck/context/workspace.md
|
|
16
|
+
* Auto-assembled by Overdeck at spawn time. Gitignored.
|
|
17
|
+
*
|
|
18
|
+
* The global layer lives under ~/.overdeck (per-machine). Project and
|
|
19
|
+
* Project and workspace context live outside the permanent state plane under
|
|
20
|
+
* `.overdeck/`. Reads retain a `.pan/context/` compatibility fallback.
|
|
21
|
+
*/
|
|
22
|
+
/** `~/.overdeck/context` — the global layer directory. */
|
|
23
|
+
function globalContextDir() {
|
|
24
|
+
return join(getOverdeckHome(), "context");
|
|
25
|
+
}
|
|
26
|
+
/** `~/.overdeck/context/global.md` — the global layer's canonical source. */
|
|
27
|
+
function globalContextFile() {
|
|
28
|
+
return join(globalContextDir(), "global.md");
|
|
29
|
+
}
|
|
30
|
+
/** `<projectRoot>/.overdeck/context` — a registered project's layer directory. */
|
|
31
|
+
function projectContextDir(projectRoot) {
|
|
32
|
+
return join(projectRoot, ".overdeck", "context");
|
|
33
|
+
}
|
|
34
|
+
/** `<projectRoot>/.overdeck/context/project.md` — a project's canonical source. */
|
|
35
|
+
function projectContextFile(projectRoot) {
|
|
36
|
+
return join(projectContextDir(projectRoot), "project.md");
|
|
37
|
+
}
|
|
38
|
+
function legacyProjectContextFile(projectRoot) {
|
|
39
|
+
return join(projectRoot, ".pan", "context", "project.md");
|
|
40
|
+
}
|
|
41
|
+
function resolveProjectContextFile(projectRoot) {
|
|
42
|
+
const canonical = projectContextFile(projectRoot);
|
|
43
|
+
return existsSync(canonical) ? canonical : legacyProjectContextFile(projectRoot);
|
|
44
|
+
}
|
|
45
|
+
/** `<workspace>/.overdeck/context` — a workspace's layer directory. */
|
|
46
|
+
function workspaceContextDir(workspacePath) {
|
|
47
|
+
return join(workspacePath, ".overdeck", "context");
|
|
48
|
+
}
|
|
49
|
+
/** `<workspace>/.pan/context/workspace.md` — the auto-assembled bundle. */
|
|
50
|
+
function workspaceContextFile(workspacePath) {
|
|
51
|
+
return join(workspaceContextDir(workspacePath), "workspace.md");
|
|
52
|
+
}
|
|
53
|
+
function legacyWorkspaceContextFile(workspacePath) {
|
|
54
|
+
return join(workspacePath, ".pan", "context", "workspace.md");
|
|
55
|
+
}
|
|
56
|
+
function resolveWorkspaceContextFile(workspacePath) {
|
|
57
|
+
const canonical = workspaceContextFile(workspacePath);
|
|
58
|
+
return existsSync(canonical) ? canonical : legacyWorkspaceContextFile(workspacePath);
|
|
59
|
+
}
|
|
60
|
+
/** `~/.overdeck/context/pi-global.md` — the rendered global layer for Pi. */
|
|
61
|
+
function piGlobalContextFile() {
|
|
62
|
+
return join(getOverdeckHome(), "context", "pi-global.md");
|
|
63
|
+
}
|
|
64
|
+
/** `~/.overdeck/context/codex-global.md` — the rendered global layer for Codex. */
|
|
65
|
+
function codexGlobalContextFile() {
|
|
66
|
+
return join(getOverdeckHome(), "context", "codex-global.md");
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Ensure a project's layer dir exists with a stub `project.md`. Idempotent.
|
|
70
|
+
* Returns true when a file was created. Called by `pan projects add`.
|
|
71
|
+
*/
|
|
72
|
+
function ensureProjectLayer(projectRoot) {
|
|
73
|
+
const file = projectContextFile(projectRoot);
|
|
74
|
+
if (existsSync(file)) return false;
|
|
75
|
+
mkdirSync(projectContextDir(projectRoot), { recursive: true });
|
|
76
|
+
writeFileSync(file, PROJECT_STARTER, "utf-8");
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
/** Read a layer's canonical markdown, or '' when the file does not exist. */
|
|
80
|
+
function readLayerContent(file) {
|
|
81
|
+
return existsSync(file) ? readFileSync(file, "utf-8") : "";
|
|
82
|
+
}
|
|
83
|
+
var PROJECT_STARTER;
|
|
84
|
+
var init_layers = __esmMin((() => {
|
|
85
|
+
init_paths();
|
|
86
|
+
PROJECT_STARTER = `# Project Context
|
|
87
|
+
|
|
88
|
+
Context for this project specifically. \`pan sync\` renders it into the
|
|
89
|
+
project's CLAUDE.md (and equivalents) when CWD is under this project.
|
|
90
|
+
|
|
91
|
+
This file is committed to the repo; \`workspace.md\` is not.
|
|
92
|
+
`;
|
|
93
|
+
}));
|
|
94
|
+
//#endregion
|
|
95
|
+
//#region ../../lib/context-layers/harness.ts
|
|
96
|
+
/**
|
|
97
|
+
* Render a canonical layer body for a single harness.
|
|
98
|
+
*
|
|
99
|
+
* Strips every `{{#harness:*}}` / `{{/harness:*}}` marker and drops the spans
|
|
100
|
+
* that are not covered by the target harness. Runs of 3+ blank lines left by
|
|
101
|
+
* removed spans collapse to a single blank line so output stays tidy.
|
|
102
|
+
*/
|
|
103
|
+
function renderForHarness(content, harness) {
|
|
104
|
+
const target = HARNESS_MARKERS[harness];
|
|
105
|
+
const openCounts = /* @__PURE__ */ new Map();
|
|
106
|
+
let out = "";
|
|
107
|
+
let lastIndex = 0;
|
|
108
|
+
const emit = (text) => {
|
|
109
|
+
let covered = false;
|
|
110
|
+
let anyOpen = false;
|
|
111
|
+
for (const [name, count] of openCounts) if (count > 0) {
|
|
112
|
+
anyOpen = true;
|
|
113
|
+
if (name === target) covered = true;
|
|
114
|
+
}
|
|
115
|
+
if (!anyOpen || covered) out += text;
|
|
116
|
+
};
|
|
117
|
+
MARKER_RE.lastIndex = 0;
|
|
118
|
+
let m;
|
|
119
|
+
while ((m = MARKER_RE.exec(content)) !== null) {
|
|
120
|
+
emit(content.slice(lastIndex, m.index));
|
|
121
|
+
const [, kind, name] = m;
|
|
122
|
+
const delta = kind === "#" ? 1 : -1;
|
|
123
|
+
openCounts.set(name, (openCounts.get(name) ?? 0) + delta);
|
|
124
|
+
lastIndex = m.index + m[0].length;
|
|
125
|
+
}
|
|
126
|
+
emit(content.slice(lastIndex));
|
|
127
|
+
return out.replace(/\n{3,}/g, "\n\n");
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Lint a context-layer template for malformed harness blocks.
|
|
131
|
+
*
|
|
132
|
+
* Errors: an unclosed `{{#harness:x}}` or a stray `{{/harness:x}}` with no
|
|
133
|
+
* matching open. Warnings: a marker naming a harness Overdeck has no
|
|
134
|
+
* adapter for (allowed for forward compatibility, surfaced so typos —
|
|
135
|
+
* `{{#harness:clade}}` — do not pass silently).
|
|
136
|
+
*/
|
|
137
|
+
function validateTemplate(content) {
|
|
138
|
+
const issues = [];
|
|
139
|
+
const openCounts = /* @__PURE__ */ new Map();
|
|
140
|
+
const seen = /* @__PURE__ */ new Set();
|
|
141
|
+
MARKER_RE.lastIndex = 0;
|
|
142
|
+
let m;
|
|
143
|
+
while ((m = MARKER_RE.exec(content)) !== null) {
|
|
144
|
+
const [, kind, name] = m;
|
|
145
|
+
seen.add(name);
|
|
146
|
+
if (kind === "#") openCounts.set(name, (openCounts.get(name) ?? 0) + 1);
|
|
147
|
+
else {
|
|
148
|
+
const next = (openCounts.get(name) ?? 0) - 1;
|
|
149
|
+
openCounts.set(name, next);
|
|
150
|
+
if (next < 0) issues.push({
|
|
151
|
+
severity: "error",
|
|
152
|
+
message: `stray closing marker {{/harness:${name}}} with no matching {{#harness:${name}}}`
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
for (const [name, count] of openCounts) if (count > 0) issues.push({
|
|
157
|
+
severity: "error",
|
|
158
|
+
message: `unclosed block: {{#harness:${name}}} opened ${count} time(s) without a matching {{/harness:${name}}}`
|
|
159
|
+
});
|
|
160
|
+
for (const name of seen) if (!KNOWN_HARNESS_MARKERS.has(name)) issues.push({
|
|
161
|
+
severity: "warning",
|
|
162
|
+
message: `unknown harness "${name}" — Overdeck ships adapters for: ${[...KNOWN_HARNESS_MARKERS].join(", ")}`
|
|
163
|
+
});
|
|
164
|
+
return {
|
|
165
|
+
ok: !issues.some((i) => i.severity === "error"),
|
|
166
|
+
issues
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
var HARNESS_MARKERS, KNOWN_HARNESS_MARKERS, MARKER_RE;
|
|
170
|
+
var init_harness = __esmMin((() => {
|
|
171
|
+
HARNESS_MARKERS = {
|
|
172
|
+
"claude-code": "claude",
|
|
173
|
+
ohmypi: "ohmypi",
|
|
174
|
+
codex: "codex",
|
|
175
|
+
acp: "acp"
|
|
176
|
+
};
|
|
177
|
+
KNOWN_HARNESS_MARKERS = new Set([
|
|
178
|
+
"claude",
|
|
179
|
+
"pi",
|
|
180
|
+
"ohmypi",
|
|
181
|
+
"codex",
|
|
182
|
+
"acp"
|
|
183
|
+
]);
|
|
184
|
+
MARKER_RE = /\{\{([#/])harness:([a-zA-Z0-9_-]+)\}\}/g;
|
|
185
|
+
}));
|
|
186
|
+
//#endregion
|
|
187
|
+
//#region ../../lib/context-layers/rules.ts
|
|
188
|
+
/**
|
|
189
|
+
* Bundled engineering rules (PAN-1201).
|
|
190
|
+
*
|
|
191
|
+
* Overdeck ships a small set of engineering rules under sync-sources/rules/.
|
|
192
|
+
* Each rule carries a `scope:` frontmatter key:
|
|
193
|
+
*
|
|
194
|
+
* universal — distributed everywhere (relevant to anyone running agents)
|
|
195
|
+
* dev — distributed only on a overdeck checkout (rules about
|
|
196
|
+
* developing Overdeck itself)
|
|
197
|
+
*
|
|
198
|
+
* `pan sync` folds the applicable rules into the rendered global CLAUDE.md.
|
|
199
|
+
* Their `paths:` frontmatter (Claude Code path-scoping) is dropped on fold —
|
|
200
|
+
* a folded rule is always-on.
|
|
201
|
+
*/
|
|
202
|
+
/**
|
|
203
|
+
* Parse a rule file into `{ scope, body }`. Rules with no frontmatter, or
|
|
204
|
+
* frontmatter without a recognised `scope:`, default to `universal`.
|
|
205
|
+
*/
|
|
206
|
+
function parseRule(name, raw) {
|
|
207
|
+
const m = FRONTMATTER_RE.exec(raw);
|
|
208
|
+
let scope = "universal";
|
|
209
|
+
let body = raw;
|
|
210
|
+
if (m) {
|
|
211
|
+
body = raw.slice(m[0].length);
|
|
212
|
+
const value = m[1].split(/\r?\n/).find((l) => /^\s*scope\s*:/.test(l))?.split(":")[1]?.trim().replace(/['"]/g, "");
|
|
213
|
+
if (value === "dev" || value === "universal") scope = value;
|
|
214
|
+
}
|
|
215
|
+
return {
|
|
216
|
+
name,
|
|
217
|
+
scope,
|
|
218
|
+
body: body.trim()
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
/** Read every bundled rule from sync-sources/rules/, sorted by name. */
|
|
222
|
+
function readBundledRules() {
|
|
223
|
+
const dir = SYNC_SOURCES.rules;
|
|
224
|
+
if (!existsSync(dir)) return [];
|
|
225
|
+
return readdirSync(dir).filter((f) => f.endsWith(".md")).sort().map((f) => parseRule(f.replace(/\.md$/, ""), readFileSync(join(dir, f), "utf-8")));
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Render the applicable bundled rules into one CLAUDE.md section.
|
|
229
|
+
*
|
|
230
|
+
* `includeDev` admits `scope: dev` rules — set it from `isDevMode()` so they
|
|
231
|
+
* only fold in on a overdeck checkout. Each rule body is rendered for
|
|
232
|
+
* the target harness so any `{{#harness:*}}` blocks resolve. Returns '' when
|
|
233
|
+
* no rules apply.
|
|
234
|
+
*/
|
|
235
|
+
function renderBundledRules(harness, includeDev) {
|
|
236
|
+
const sections = readBundledRules().filter((r) => includeDev || r.scope === "universal").map((r) => renderForHarness(r.body, harness).trim()).filter((s) => s.length > 0);
|
|
237
|
+
if (sections.length === 0) return "";
|
|
238
|
+
return `## Overdeck Engineering Rules\n\n${sections.join("\n\n")}`;
|
|
239
|
+
}
|
|
240
|
+
var FRONTMATTER_RE;
|
|
241
|
+
var init_rules = __esmMin((() => {
|
|
242
|
+
init_paths();
|
|
243
|
+
init_harness();
|
|
244
|
+
FRONTMATTER_RE = /^---\r?\n([\s\S]*?)\r?\n---\r?\n?/;
|
|
245
|
+
}));
|
|
246
|
+
//#endregion
|
|
247
|
+
//#region ../../lib/context-layers/render.ts
|
|
248
|
+
/** True when `existing` already contains a Overdeck-managed region. */
|
|
249
|
+
function hasManagedRegion(existing) {
|
|
250
|
+
const beginIdx = existing.indexOf(REGION_BEGIN);
|
|
251
|
+
const endIdx = existing.indexOf(REGION_END);
|
|
252
|
+
return beginIdx !== -1 && endIdx !== -1 && endIdx > beginIdx;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Return `existing` with the Overdeck-managed region removed — i.e. only the
|
|
256
|
+
* hand-authored content the user owns, trimmed. When there is no region, the
|
|
257
|
+
* whole (trimmed) file is the user's. Used to decide whether a target file has
|
|
258
|
+
* pre-existing content worth preserving and backing up before first injection.
|
|
259
|
+
*/
|
|
260
|
+
function userContentOutsideRegion(existing) {
|
|
261
|
+
const beginIdx = existing.indexOf(REGION_BEGIN);
|
|
262
|
+
const endIdx = existing.lastIndexOf(REGION_END);
|
|
263
|
+
if (beginIdx !== -1 && endIdx !== -1 && endIdx > beginIdx) return (existing.slice(0, beginIdx) + existing.slice(endIdx + 29)).trim();
|
|
264
|
+
return existing.trim();
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Render the global layer for one harness: `global.md` rendered, with the
|
|
268
|
+
* applicable bundled engineering rules folded in below it.
|
|
269
|
+
*
|
|
270
|
+
* The result is the *managed content* — caller wraps it via
|
|
271
|
+
* {@link applyManagedRegion} when writing the harness's CLAUDE.md.
|
|
272
|
+
*/
|
|
273
|
+
function renderGlobalLayer(harness, includeDevRules) {
|
|
274
|
+
return [renderForHarness(readLayerContent(globalContextFile()), harness).trim(), renderBundledRules(harness, includeDevRules)].filter((s) => s.length > 0).join("\n\n---\n\n");
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Render a project layer for one harness. Returns '' when the project has no
|
|
278
|
+
* `project.md` — sync then leaves that project's CLAUDE.md alone.
|
|
279
|
+
*/
|
|
280
|
+
function renderProjectLayer(projectRoot, harness) {
|
|
281
|
+
const raw = readLayerContent(resolveProjectContextFile(projectRoot));
|
|
282
|
+
if (raw.trim().length === 0) return "";
|
|
283
|
+
return renderForHarness(raw, harness).trim();
|
|
284
|
+
}
|
|
285
|
+
var REGION_BEGIN, REGION_END;
|
|
286
|
+
var init_render = __esmMin((() => {
|
|
287
|
+
init_harness();
|
|
288
|
+
init_rules();
|
|
289
|
+
init_layers();
|
|
290
|
+
REGION_BEGIN = "<!-- BEGIN OVERDECK CONTEXT — managed by `pan sync`; edit the layer source, not this region -->";
|
|
291
|
+
REGION_END = "<!-- END OVERDECK CONTEXT -->";
|
|
292
|
+
}));
|
|
293
|
+
//#endregion
|
|
294
|
+
//#region ../../lib/context-layers/assemble.ts
|
|
295
|
+
function removeMarkedProjectLayer(content) {
|
|
296
|
+
const start = content.indexOf(PROJECT_LAYER_START);
|
|
297
|
+
if (start < 0) return null;
|
|
298
|
+
const markerEnd = content.indexOf("-->", start + 33);
|
|
299
|
+
if (markerEnd < 0) return null;
|
|
300
|
+
const marker = content.slice(start, markerEnd + 3);
|
|
301
|
+
const lengthMatch = /\schars=(\d+)\s-->$/.exec(marker);
|
|
302
|
+
if (!lengthMatch) return null;
|
|
303
|
+
const projectEnd = markerEnd + 4 + Number(lengthMatch[1]);
|
|
304
|
+
if (content[markerEnd + 3] !== "\n") return null;
|
|
305
|
+
if (content.slice(projectEnd, projectEnd + 1 + 35) !== `\n<!-- overdeck:project-layer:end -->`) return null;
|
|
306
|
+
const end = projectEnd + 1;
|
|
307
|
+
let before = content.slice(0, start);
|
|
308
|
+
let after = content.slice(end + 35);
|
|
309
|
+
if (before.endsWith(SECTION_SEPARATOR) && after.startsWith(SECTION_SEPARATOR)) before = before.slice(0, -7);
|
|
310
|
+
else if (before.endsWith(SECTION_SEPARATOR)) before = before.slice(0, -7);
|
|
311
|
+
else if (after.startsWith(SECTION_SEPARATOR)) after = after.slice(7);
|
|
312
|
+
return `${before}${after}`.trim();
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Remove the project layer embedded in a workspace bundle.
|
|
316
|
+
*
|
|
317
|
+
* New bundles carry reserved structural markers, so project Markdown can contain
|
|
318
|
+
* horizontal rules without becoming ambiguous. Legacy bundles predate those
|
|
319
|
+
* markers; their only safely identifiable workspace-owned section is the
|
|
320
|
+
* generated header before the first top-level separator. Keeping that header is
|
|
321
|
+
* preferable to forwarding an unknown amount of stale, harness-specific text.
|
|
322
|
+
*/
|
|
323
|
+
function workspaceContextWithoutProjectLayer(content) {
|
|
324
|
+
const marked = removeMarkedProjectLayer(content);
|
|
325
|
+
if (marked !== null) return marked;
|
|
326
|
+
const firstSeparator = content.indexOf(SECTION_SEPARATOR);
|
|
327
|
+
return (firstSeparator < 0 ? content : content.slice(0, firstSeparator)).trim();
|
|
328
|
+
}
|
|
329
|
+
var SECTION_SEPARATOR, PROJECT_LAYER_START, PROJECT_LAYER_END;
|
|
330
|
+
var init_assemble = __esmMin((() => {
|
|
331
|
+
init_render();
|
|
332
|
+
SECTION_SEPARATOR = "\n\n---\n\n";
|
|
333
|
+
PROJECT_LAYER_START = "<!-- overdeck:project-layer:start";
|
|
334
|
+
PROJECT_LAYER_END = "<!-- overdeck:project-layer:end -->";
|
|
335
|
+
}));
|
|
336
|
+
//#endregion
|
|
337
|
+
export { projectContextDir as A, ensureProjectLayer as C, legacyProjectContextFile as D, init_layers as E, workspaceContextDir as F, workspaceContextFile as I, readLayerContent as M, resolveProjectContextFile as N, legacyWorkspaceContextFile as O, resolveWorkspaceContextFile as P, codexGlobalContextFile as S, globalContextFile as T, KNOWN_HARNESS_MARKERS as _, REGION_BEGIN as a, validateTemplate as b, init_render as c, userContentOutsideRegion as d, init_rules as f, HARNESS_MARKERS as g, renderBundledRules as h, workspaceContextWithoutProjectLayer as i, projectContextFile as j, piGlobalContextFile as k, renderGlobalLayer as l, readBundledRules as m, PROJECT_LAYER_START as n, REGION_END as o, parseRule as p, init_assemble as r, hasManagedRegion as s, PROJECT_LAYER_END as t, renderProjectLayer as u, init_harness as v, globalContextDir as w, PROJECT_STARTER as x, renderForHarness as y };
|
|
338
|
+
|
|
339
|
+
//# sourceMappingURL=assemble-DnffNpOo.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { r as isNoResumeValueEnabled, t as init_no_resume_mode } from "./no-resume-mode-
|
|
3
|
-
import { a as spawnSequencerAgent, i as init_sequencer_agent } from "./sequencer-agent-
|
|
2
|
+
import { r as isNoResumeValueEnabled, t as init_no_resume_mode } from "./no-resume-mode-C5ULAXwO.js";
|
|
3
|
+
import { a as spawnSequencerAgent, i as init_sequencer_agent } from "./sequencer-agent-B2WeCtGi.js";
|
|
4
4
|
//#region ../../lib/backlog/backlog-auto-trigger.ts
|
|
5
5
|
/**
|
|
6
6
|
* PAN-2396: --no-resume is the operator's full-quiescence escape hatch —
|
|
@@ -37,4 +37,4 @@ __esmMin((() => {
|
|
|
37
37
|
}))();
|
|
38
38
|
export { triggerDebouncedIncrementalPass };
|
|
39
39
|
|
|
40
|
-
//# sourceMappingURL=backlog-auto-trigger-
|
|
40
|
+
//# sourceMappingURL=backlog-auto-trigger-Dh-i9PQf.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { t as init_src } from "./src-
|
|
2
|
+
import { t as init_src } from "./src-CRmCHlma.js";
|
|
3
3
|
//#region ../../lib/runtimes/behavior.ts
|
|
4
4
|
var init_behavior = __esmMin((() => {
|
|
5
5
|
init_src();
|
|
@@ -7,4 +7,4 @@ var init_behavior = __esmMin((() => {
|
|
|
7
7
|
//#endregion
|
|
8
8
|
export { init_behavior as t };
|
|
9
9
|
|
|
10
|
-
//# sourceMappingURL=behavior-
|
|
10
|
+
//# sourceMappingURL=behavior-CfIg6pKp.js.map
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { o as init_activity_logger, r as emitActivityEntrySync } from "./activity-logger-CyteR4JO.js";
|
|
2
|
+
import { promises } from "fs";
|
|
3
|
+
import { exec } from "child_process";
|
|
4
|
+
import { promisify } from "util";
|
|
5
|
+
//#region ../../lib/docker-bridge-pool.ts
|
|
6
|
+
init_activity_logger();
|
|
7
|
+
/** Lists every bridge network on the host, one name per line. */
|
|
8
|
+
const LIST_BRIDGE_NETWORKS_COMMAND = `docker network ls --filter driver=bridge --format '{{.Name}}'`;
|
|
9
|
+
const DOCKER_DAEMON_JSON_PATH = "/etc/docker/daemon.json";
|
|
10
|
+
/** `overdeck-feature-pan-2997_devnet`, `myn-feature-min-852_default`, … */
|
|
11
|
+
const FEATURE_NETWORK_RE = /^(.+?)-feature-[a-z0-9]+-\d+_(?:devnet|default)$/i;
|
|
12
|
+
function parseBridgeNetworkNames(stdout) {
|
|
13
|
+
return stdout.split("\n").map((line) => line.trim()).filter(Boolean);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Groups networks by the project prefix of their compose project name so the
|
|
17
|
+
* message names which project is consuming the pool. Anything that is not a
|
|
18
|
+
* workspace stack network (`bridge`, `overdeck`, a project's main stack) lands
|
|
19
|
+
* in `other`.
|
|
20
|
+
*/
|
|
21
|
+
function groupBridgeNetworkNames(names) {
|
|
22
|
+
const counts = /* @__PURE__ */ new Map();
|
|
23
|
+
for (const name of names) {
|
|
24
|
+
const match = name.match(FEATURE_NETWORK_RE);
|
|
25
|
+
const label = match ? `${match[1]}-feature-*` : "other";
|
|
26
|
+
counts.set(label, (counts.get(label) ?? 0) + 1);
|
|
27
|
+
}
|
|
28
|
+
return [...counts.entries()].map(([label, count]) => ({
|
|
29
|
+
label,
|
|
30
|
+
count
|
|
31
|
+
})).sort((a, b) => b.count - a.count || a.label.localeCompare(b.label));
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Capacity declared by `default-address-pools`: each pool yields
|
|
35
|
+
* `2^(size - baseMaskBits)` subnets. Returns null when the config is absent or
|
|
36
|
+
* malformed so the caller falls back to the measured default limit rather than
|
|
37
|
+
* trusting a number it could not derive.
|
|
38
|
+
*/
|
|
39
|
+
function bridgePoolLimitFromPools(pools) {
|
|
40
|
+
if (!Array.isArray(pools) || pools.length === 0) return null;
|
|
41
|
+
let capacity = 0;
|
|
42
|
+
for (const pool of pools) {
|
|
43
|
+
const entry = pool;
|
|
44
|
+
if (typeof entry?.base !== "string" || typeof entry?.size !== "number") return null;
|
|
45
|
+
const baseMask = Number(entry.base.split("/")[1]);
|
|
46
|
+
if (!Number.isInteger(baseMask) || baseMask < 0 || baseMask > 32) return null;
|
|
47
|
+
if (!Number.isInteger(entry.size) || entry.size < baseMask || entry.size > 32) return null;
|
|
48
|
+
capacity += 2 ** (entry.size - baseMask);
|
|
49
|
+
}
|
|
50
|
+
return capacity > 0 ? capacity : null;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Reads `default-address-pools` from daemon.json. Returns null when the file is
|
|
54
|
+
* missing, unreadable, or declares no pools — which is itself the signal that
|
|
55
|
+
* the host is on Docker's narrow built-in pools.
|
|
56
|
+
*/
|
|
57
|
+
async function readDockerDaemonPools() {
|
|
58
|
+
try {
|
|
59
|
+
const text = await promises.readFile(DOCKER_DAEMON_JSON_PATH, "utf-8");
|
|
60
|
+
const pools = JSON.parse(text)["default-address-pools"];
|
|
61
|
+
return Array.isArray(pools) ? pools : null;
|
|
62
|
+
} catch {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function assessBridgePoolPressure(names, limit = 31) {
|
|
67
|
+
const total = names.length;
|
|
68
|
+
const effectiveLimit = Math.max(1, limit);
|
|
69
|
+
return {
|
|
70
|
+
total,
|
|
71
|
+
limit: effectiveLimit,
|
|
72
|
+
headroom: Math.max(0, effectiveLimit - total),
|
|
73
|
+
underPressure: total >= effectiveLimit - 5,
|
|
74
|
+
exhausted: total >= effectiveLimit,
|
|
75
|
+
groups: groupBridgeNetworkNames(names)
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/** `myn-feature-* 13, overdeck-feature-* 6, other 5` — empty when nothing to show. */
|
|
79
|
+
function formatBridgePoolBreakdown(groups) {
|
|
80
|
+
return groups.map((group) => `${group.label} ${group.count}`).join(", ");
|
|
81
|
+
}
|
|
82
|
+
//#endregion
|
|
83
|
+
//#region ../../lib/cloister/bridge-pool-patrol.ts
|
|
84
|
+
const execAsync = promisify(exec);
|
|
85
|
+
/** Last reported level. Module-level so it survives across patrol cycles. */
|
|
86
|
+
let lastLevel = "ok";
|
|
87
|
+
function defaultDeps() {
|
|
88
|
+
return {
|
|
89
|
+
listBridgeNetworkNames: async () => {
|
|
90
|
+
const { stdout } = await execAsync(LIST_BRIDGE_NETWORKS_COMMAND, { timeout: 15e3 });
|
|
91
|
+
return parseBridgeNetworkNames(stdout);
|
|
92
|
+
},
|
|
93
|
+
readPools: readDockerDaemonPools,
|
|
94
|
+
emit: (level, message) => {
|
|
95
|
+
emitActivityEntrySync({
|
|
96
|
+
source: "cloister",
|
|
97
|
+
level,
|
|
98
|
+
message
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
async function patrolDockerBridgePool(deps = {}) {
|
|
104
|
+
const d = {
|
|
105
|
+
...defaultDeps(),
|
|
106
|
+
...deps
|
|
107
|
+
};
|
|
108
|
+
let names;
|
|
109
|
+
try {
|
|
110
|
+
names = await d.listBridgeNetworkNames();
|
|
111
|
+
} catch {
|
|
112
|
+
return [];
|
|
113
|
+
}
|
|
114
|
+
const pools = await d.readPools().catch(() => null);
|
|
115
|
+
const pressure = assessBridgePoolPressure(names, bridgePoolLimitFromPools(pools) ?? 31);
|
|
116
|
+
const level = pressure.exhausted ? "exhausted" : pressure.underPressure ? "warn" : "ok";
|
|
117
|
+
if (level === lastLevel) return [];
|
|
118
|
+
const previous = lastLevel;
|
|
119
|
+
lastLevel = level;
|
|
120
|
+
const breakdown = formatBridgePoolBreakdown(pressure.groups);
|
|
121
|
+
const detail = breakdown ? ` (${breakdown})` : "";
|
|
122
|
+
if (level === "ok") {
|
|
123
|
+
const action = `Docker bridge network pool recovered — ${pressure.total} of ~${pressure.limit} slots used, ${pressure.headroom} free${detail}`;
|
|
124
|
+
d.emit("info", `[deacon] ${action}`);
|
|
125
|
+
console.log(`[deacon] ${action}`);
|
|
126
|
+
return [action];
|
|
127
|
+
}
|
|
128
|
+
const action = level === "exhausted" ? `Docker bridge network pool EXHAUSTED — ${pressure.total} of ~${pressure.limit} slots used; workspace stacks cannot be rebuilt and queued agent feedback will not be delivered${detail}` : `Docker bridge network pool under pressure — ${pressure.total} of ~${pressure.limit} slots used, only ${pressure.headroom} left${detail}`;
|
|
129
|
+
d.emit(level === "exhausted" ? "error" : "warn", `[deacon] ${action}`);
|
|
130
|
+
console.warn(`[deacon] ${action} (was ${previous})`);
|
|
131
|
+
return [action];
|
|
132
|
+
}
|
|
133
|
+
//#endregion
|
|
134
|
+
export { patrolDockerBridgePool };
|
|
135
|
+
|
|
136
|
+
//# sourceMappingURL=bridge-pool-patrol-CUFmjVDN.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { ci as init_paths, si as getOverdeckHome } from "./config-yaml-CmOPzmBb.js";
|
|
3
3
|
import { dirname, join } from "path";
|
|
4
4
|
import { randomUUID } from "crypto";
|
|
5
5
|
import { mkdir, readFile, rename, stat, writeFile } from "fs/promises";
|
|
@@ -128,4 +128,4 @@ var init_briefing_freshness = __esmMin((() => {
|
|
|
128
128
|
//#endregion
|
|
129
129
|
export { resolveSessionContextBriefingPath as a, recordBriefingSessionStart as i, ensureSessionContextBriefingFile as n, init_briefing_freshness as r, appendFreshBriefingUpdate as t };
|
|
130
130
|
|
|
131
|
-
//# sourceMappingURL=briefing-freshness-
|
|
131
|
+
//# sourceMappingURL=briefing-freshness-DHmCSLar.js.map
|
|
@@ -2,12 +2,14 @@ import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
|
2
2
|
//#region ../../lib/deploy/build-info.ts
|
|
3
3
|
function getBuildInfo() {
|
|
4
4
|
return {
|
|
5
|
-
buildCommit: "
|
|
6
|
-
builtAt: "2026-07-
|
|
5
|
+
buildCommit: "5d0b41f1bfcdabdec46ca1212b17f0d4b6edb14a",
|
|
6
|
+
builtAt: "2026-07-27T02:12:59.776Z",
|
|
7
|
+
buildDirty: false,
|
|
8
|
+
buildBranch: null
|
|
7
9
|
};
|
|
8
10
|
}
|
|
9
11
|
var init_build_info = __esmMin((() => {}));
|
|
10
12
|
//#endregion
|
|
11
13
|
export { init_build_info as n, getBuildInfo as t };
|
|
12
14
|
|
|
13
|
-
//# sourceMappingURL=build-info-
|
|
15
|
+
//# sourceMappingURL=build-info-CuFfxZxp.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Fr as init_errors, Or as InvalidAgentIdError, Pr as VcsError, Sr as CheckpointError, fn as STATE_BRANCH_PATHS, hn as init_state_plane } from "./config-yaml-CmOPzmBb.js";
|
|
3
3
|
import { Effect, Layer } from "effect";
|
|
4
4
|
import { join } from "path";
|
|
5
5
|
import { tmpdir } from "os";
|
|
@@ -663,4 +663,4 @@ var init_checkpoint_manager = __esmMin((() => {
|
|
|
663
663
|
//#endregion
|
|
664
664
|
export { pruneStaleCheckpointRefs as _, diffAgainstMain as a, diffCheckpoints as c, diffPatchSinceCommit as d, findCommitAtTime as f, pruneCheckpointRefsForAgents as g, listCheckpoints as h, deleteLegacyCheckpointRefs as i, diffFilesAgainstHead as l, init_checkpoint_manager as m, checkpointStateExclusions as n, diffAgainstMainFiles as o, getCheckpointTimestamp as p, deleteCheckpoint as r, diffCheckpointFiles as s, captureCheckpoint as t, diffPatchFilesAgainstHead as u };
|
|
665
665
|
|
|
666
|
-
//# sourceMappingURL=checkpoint-manager-
|
|
666
|
+
//# sourceMappingURL=checkpoint-manager-DEWD82qK.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { _ as pruneStaleCheckpointRefs, g as pruneCheckpointRefsForAgents, h as listCheckpoints, i as deleteLegacyCheckpointRefs, m as init_checkpoint_manager, p as getCheckpointTimestamp, s as diffCheckpointFiles } from "./checkpoint-manager-
|
|
1
|
+
import { _ as pruneStaleCheckpointRefs, g as pruneCheckpointRefsForAgents, h as listCheckpoints, i as deleteLegacyCheckpointRefs, m as init_checkpoint_manager, p as getCheckpointTimestamp, s as diffCheckpointFiles } from "./checkpoint-manager-DEWD82qK.js";
|
|
2
2
|
init_checkpoint_manager();
|
|
3
3
|
export { deleteLegacyCheckpointRefs, diffCheckpointFiles, getCheckpointTimestamp, listCheckpoints, pruneCheckpointRefsForAgents, pruneStaleCheckpointRefs };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as releaseTranscriptRange, i as listTranscriptCheckpoints, n as commitTranscriptRange, r as getTranscriptCheckpoint, t as claimTranscriptRange } from "./checkpoints-
|
|
1
|
+
import { a as releaseTranscriptRange, i as listTranscriptCheckpoints, n as commitTranscriptRange, r as getTranscriptCheckpoint, t as claimTranscriptRange } from "./checkpoints-CZvbtLnr.js";
|
|
2
2
|
import { parentPort } from "node:worker_threads";
|
|
3
3
|
//#region ../../lib/memory/checkpoint-worker.ts
|
|
4
4
|
function runOperation(operation, payload) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-
|
|
1
|
+
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-BjuxvjdS.js";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
//#region ../../lib/overdeck/transcript-checkpoint-sync.ts
|
|
4
4
|
/**
|
|
@@ -195,4 +195,4 @@ function getTranscriptCheckpoint(sessionId) {
|
|
|
195
195
|
//#endregion
|
|
196
196
|
export { releaseTranscriptRange as a, listTranscriptCheckpoints as i, commitTranscriptRange as n, getTranscriptCheckpoint as r, claimTranscriptRange as t };
|
|
197
197
|
|
|
198
|
-
//# sourceMappingURL=checkpoints-
|
|
198
|
+
//# sourceMappingURL=checkpoints-CZvbtLnr.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as releaseTranscriptRange, i as listTranscriptCheckpoints, n as commitTranscriptRange, r as getTranscriptCheckpoint, t as claimTranscriptRange } from "./checkpoints-
|
|
1
|
+
import { a as releaseTranscriptRange, i as listTranscriptCheckpoints, n as commitTranscriptRange, r as getTranscriptCheckpoint, t as claimTranscriptRange } from "./checkpoints-CZvbtLnr.js";
|
|
2
2
|
export { claimTranscriptRange, commitTranscriptRange, getTranscriptCheckpoint, listTranscriptCheckpoints, releaseTranscriptRange };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as provisionClaudeHooks, t as init_claude_hooks_provision } from "./claude-hooks-provision-
|
|
1
|
+
import { n as provisionClaudeHooks, t as init_claude_hooks_provision } from "./claude-hooks-provision-fvy4RD2b.js";
|
|
2
2
|
init_claude_hooks_provision();
|
|
3
3
|
export { provisionClaudeHooks };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Qr as SYNC_SOURCES, Rr as BIN_DIR, ci as init_paths } from "./config-yaml-CmOPzmBb.js";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { copyFileSync, existsSync, mkdirSync, readdirSync, renameSync, unlinkSync, writeFileSync } from "fs";
|
|
5
5
|
import { basename as basename$1, dirname as dirname$1, join as join$1 } from "path";
|
|
@@ -104,6 +104,7 @@ var init_claude_hooks_registration = __esmMin((() => {
|
|
|
104
104
|
"pan-hook-lib.sh",
|
|
105
105
|
"pre-tool-hook",
|
|
106
106
|
"ask-user-question-hook",
|
|
107
|
+
"linear-mcp-auth-hook",
|
|
107
108
|
"auto-approve-hook",
|
|
108
109
|
"heartbeat-hook",
|
|
109
110
|
"stop-hook",
|
|
@@ -151,6 +152,16 @@ var init_claude_hooks_registration = __esmMin((() => {
|
|
|
151
152
|
hookType: "PostToolUse",
|
|
152
153
|
scriptName: "heartbeat-hook"
|
|
153
154
|
},
|
|
155
|
+
{
|
|
156
|
+
hookType: "PostToolUse",
|
|
157
|
+
scriptName: "linear-mcp-auth-hook",
|
|
158
|
+
matcher: "mcp__linear__.*"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
hookType: "PostToolUseFailure",
|
|
162
|
+
scriptName: "linear-mcp-auth-hook",
|
|
163
|
+
matcher: "mcp__linear__.*"
|
|
164
|
+
},
|
|
154
165
|
{
|
|
155
166
|
hookType: "PostToolUse",
|
|
156
167
|
scriptName: "permission-event-hook"
|
|
@@ -375,4 +386,4 @@ var init_claude_hooks_provision = __esmMin((() => {
|
|
|
375
386
|
//#endregion
|
|
376
387
|
export { provisionClaudeHooks as n, init_claude_hooks_provision as t };
|
|
377
388
|
|
|
378
|
-
//# sourceMappingURL=claude-hooks-provision-
|
|
389
|
+
//# sourceMappingURL=claude-hooks-provision-fvy4RD2b.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { f as loadConfigSync, t as init_config_yaml } from "./config-yaml-
|
|
2
|
+
import { f as loadConfigSync, t as init_config_yaml } from "./config-yaml-CmOPzmBb.js";
|
|
3
3
|
import "effect";
|
|
4
4
|
//#region ../../lib/claude-permissions.ts
|
|
5
5
|
/** Read PAN_YOLO from the current process env. Returns the implied mode, or undefined if unset/unparseable. */
|
|
@@ -94,4 +94,4 @@ var init_claude_permissions = __esmMin((() => {
|
|
|
94
94
|
//#endregion
|
|
95
95
|
export { init_claude_permissions as a, getClaudePermissionFlagsSync as i, buildClaudeUserSettingsSync as n, resolvePermissionModeSync as o, getClaudePermissionFlagsStringSync as r, BYPASS_PERMISSION_MODE as t };
|
|
96
96
|
|
|
97
|
-
//# sourceMappingURL=claude-permissions-
|
|
97
|
+
//# sourceMappingURL=claude-permissions-CN0cSCPp.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Fr as init_errors, Tr as FsError } from "./config-yaml-CmOPzmBb.js";
|
|
3
3
|
import { Effect, FileSystem } from "effect";
|
|
4
4
|
import { join } from "path";
|
|
5
5
|
import { homedir, tmpdir } from "os";
|
|
@@ -142,4 +142,4 @@ var init_claude_settings_overlay = __esmMin((() => {
|
|
|
142
142
|
//#endregion
|
|
143
143
|
export { init_claude_settings_overlay as n, injectOverdeckInfraDeny as r, detectProviderEnvConflicts as t };
|
|
144
144
|
|
|
145
|
-
//# sourceMappingURL=claude-settings-overlay-
|
|
145
|
+
//# sourceMappingURL=claude-settings-overlay-CJn35FHQ.js.map
|