@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
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { n as __esmMin, r as __exportAll } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Gn as init_projects, ar as resolveProjectFromIssueSync, f as loadConfigSync, t as init_config_yaml } from "./config-yaml-CmOPzmBb.js";
|
|
3
3
|
import { n as openDatabase, t as init_driver } from "./driver-CKVGi51s.js";
|
|
4
|
-
import { f as
|
|
5
|
-
import { a as init_tracker_config, n as getLinearApiKey, o as validateRallyConfig, r as getRallyConfig, t as getGitHubConfig } from "./tracker-config-
|
|
6
|
-
import { n as init_dist_src, t as Octokit } from "./dist-src-
|
|
7
|
-
import { n as mapGitHubStateToCanonical, t as init_state_mapping } from "./state-mapping-
|
|
8
|
-
import { o as init_io, p as readWorkspacePlan, r as findPlan } from "./io-
|
|
4
|
+
import { f as init_review_status, h as loadReviewStatusesForIssues } from "./review-status-yljtTd-q.js";
|
|
5
|
+
import { a as init_tracker_config, n as getLinearApiKey, o as validateRallyConfig, r as getRallyConfig, t as getGitHubConfig } from "./tracker-config-DZ8Zn2nQ.js";
|
|
6
|
+
import { n as init_dist_src, t as Octokit } from "./dist-src-Bik83hFi.js";
|
|
7
|
+
import { n as mapGitHubStateToCanonical, t as init_state_mapping } from "./state-mapping-BVldLhBf.js";
|
|
8
|
+
import { o as init_io, p as readWorkspacePlan, r as findPlan } from "./io-VHvc0Ssp.js";
|
|
9
9
|
import { Effect } from "effect";
|
|
10
10
|
import { existsSync } from "fs";
|
|
11
11
|
import { join } from "path";
|
|
@@ -865,7 +865,7 @@ var init_issue_data_service = __esmMin((() => {
|
|
|
865
865
|
async ensureShadowStateLoaded() {
|
|
866
866
|
if (this.shadowStateModule) return;
|
|
867
867
|
try {
|
|
868
|
-
this.shadowStateModule = await import("./shadow-state-
|
|
868
|
+
this.shadowStateModule = await import("./shadow-state-FV6PHfEW.js");
|
|
869
869
|
await this.refreshShadowStatesCache();
|
|
870
870
|
} catch {}
|
|
871
871
|
}
|
|
@@ -1408,8 +1408,8 @@ var init_issue_data_service = __esmMin((() => {
|
|
|
1408
1408
|
}
|
|
1409
1409
|
if (!this.cache.isStale("rally", "issues") && this.trackers.rally.lastFetchedIssues.length > 0) return;
|
|
1410
1410
|
try {
|
|
1411
|
-
const { RallyTracker } = await import("./rally-
|
|
1412
|
-
const { findProjectsByRallyProject } = await import("./projects-
|
|
1411
|
+
const { RallyTracker } = await import("./rally-YDjU513q.js");
|
|
1412
|
+
const { findProjectsByRallyProject } = await import("./projects-B03Wr-xc.js");
|
|
1413
1413
|
const rallyProjects = findProjectsByRallyProject();
|
|
1414
1414
|
let allFormatted = [];
|
|
1415
1415
|
if (rallyProjects.length > 0) {
|
|
@@ -1504,4 +1504,4 @@ var init_issue_service_singleton = __esmMin((() => {
|
|
|
1504
1504
|
//#endregion
|
|
1505
1505
|
export { CacheService as a, startSharedIssueService as i, init_issue_service_singleton as n, init_cache_service as o, issue_service_singleton_exports as r, parseIntegerHeader as s, getSharedIssueService as t };
|
|
1506
1506
|
|
|
1507
|
-
//# sourceMappingURL=issue-service-singleton-
|
|
1507
|
+
//# sourceMappingURL=issue-service-singleton-DmCh7EHj.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { i as startSharedIssueService, n as init_issue_service_singleton, t as getSharedIssueService } from "./issue-service-singleton-
|
|
1
|
+
import { i as startSharedIssueService, n as init_issue_service_singleton, t as getSharedIssueService } from "./issue-service-singleton-DmCh7EHj.js";
|
|
2
2
|
init_issue_service_singleton();
|
|
3
3
|
export { getSharedIssueService, startSharedIssueService };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { _ as integer, a as EventBus, c as Records, 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-
|
|
2
|
+
import { _ as integer, a as EventBus, c as Records, 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-BjuxvjdS.js";
|
|
3
3
|
import { Context, Effect, Layer, Schema } from "effect";
|
|
4
4
|
import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
|
|
5
5
|
//#region ../../lib/overdeck/issues.ts
|
|
@@ -350,4 +350,4 @@ var init_issues = __esmMin((() => {
|
|
|
350
350
|
//#endregion
|
|
351
351
|
export { init_issues as n, IssueId as t };
|
|
352
352
|
|
|
353
|
-
//# sourceMappingURL=issues-
|
|
353
|
+
//# sourceMappingURL=issues-CgnQ1OGQ.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-
|
|
2
|
+
import { Fr as init_errors, ci as init_paths, ei as encodeClaudeProjectDir } from "./config-yaml-CmOPzmBb.js";
|
|
3
|
+
import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-Bgcub5kW.js";
|
|
4
4
|
import "effect";
|
|
5
5
|
import { existsSync, readFileSync, readdirSync, statSync } from "fs";
|
|
6
6
|
import { basename, join } from "path";
|
|
@@ -63,7 +63,8 @@ function normalizeModelName(model) {
|
|
|
63
63
|
if (model.includes("claude")) {
|
|
64
64
|
let normalizedModel = model;
|
|
65
65
|
if (model.includes("fable-5") || model.includes("fable.5") || model.includes("fable")) normalizedModel = "claude-fable-5";
|
|
66
|
-
if (model.includes("opus-
|
|
66
|
+
if (model.includes("opus-5") || model.includes("opus.5")) normalizedModel = "claude-opus-5";
|
|
67
|
+
else if (model.includes("opus-4-8") || model.includes("opus-4.8")) normalizedModel = "claude-opus-4-8";
|
|
67
68
|
else if (model.includes("opus-4-7") || model.includes("opus-4.7")) normalizedModel = "claude-opus-4-7";
|
|
68
69
|
else if (model.includes("opus-4-6") || model.includes("opus-4.6")) normalizedModel = "claude-opus-4-6";
|
|
69
70
|
else if (model.includes("opus-4-1") || model.includes("opus-4.1")) normalizedModel = "claude-opus-4-1";
|
|
@@ -242,4 +243,4 @@ var init_jsonl_parser = __esmMin((() => {
|
|
|
242
243
|
//#endregion
|
|
243
244
|
export { init_jsonl_parser as a, getSessionFilesSync as i, getAllSessionFilesSync as n, normalizeModelName as o, getProjectDirsSync as r, parseClaudeSessionSync as s, getActiveSessionModelSync as t };
|
|
244
245
|
|
|
245
|
-
//# sourceMappingURL=jsonl-parser-
|
|
246
|
+
//# sourceMappingURL=jsonl-parser-DJOH_O-w.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed, t as getLinearApiKey } from "./types-
|
|
2
|
+
import { gr as init_issue_id, hr as extractPrefixSync, mr as extractNumberSync } from "./config-yaml-CmOPzmBb.js";
|
|
3
|
+
import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed, t as getLinearApiKey } from "./types-q67TYYg5.js";
|
|
4
4
|
import { Effect } from "effect";
|
|
5
5
|
import { exec } from "child_process";
|
|
6
6
|
import { promisify } from "util";
|
|
@@ -106,4 +106,4 @@ __esmMin((() => {
|
|
|
106
106
|
}))();
|
|
107
107
|
export { cleanupMergedLabels };
|
|
108
108
|
|
|
109
|
-
//# sourceMappingURL=label-cleanup-
|
|
109
|
+
//# sourceMappingURL=label-cleanup-Dv7AV_R1.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { a as READY_LABEL, i as PARKED_LABEL, m as init_pickup, o as RELEASED_LABEL, r as OBJECTION_LABEL, s as VETOED_LABEL, t as BLOCKS_MAIN_LABEL } from "./pickup-
|
|
2
|
+
import { Gn as init_projects, In as getIssuePrefix, Pt as init_record, Rt as readIssueRecordForWorkspaceSync, Yn as listProjectsSync } from "./config-yaml-CmOPzmBb.js";
|
|
3
|
+
import { n as resolveGitHubIssueSync, t as init_tracker_utils } from "./tracker-utils-L0FKtjq2.js";
|
|
4
|
+
import { a as READY_LABEL, i as PARKED_LABEL, m as init_pickup, o as RELEASED_LABEL, r as OBJECTION_LABEL, s as VETOED_LABEL, t as BLOCKS_MAIN_LABEL } from "./pickup-D8xtG1J2.js";
|
|
5
5
|
import { exec } from "node:child_process";
|
|
6
6
|
import { promisify } from "node:util";
|
|
7
7
|
//#region ../../lib/backlog/label-ops.ts
|
|
@@ -110,4 +110,4 @@ var init_label_reconciler = __esmMin((() => {
|
|
|
110
110
|
//#endregion
|
|
111
111
|
export { applyIssueObjectionLabel as a, applyIssueReleasedLabel as c, removeIssueBlocksMainLabel as d, removeIssueObjectionLabel as f, removeIssueVetoedLabel as g, removeIssueReleasedLabel as h, applyIssueBlocksMainLabel as i, applyIssueVetoedLabel as l, removeIssueReadyLabel as m, init_label_reconciler as n, applyIssueParkedLabel as o, removeIssueParkedLabel as p, reconcilePipelineLabelsPatrol as r, applyIssueReadyLabel as s, STALE_PIPELINE_LABELS as t, init_label_ops as u };
|
|
112
112
|
|
|
113
|
-
//# sourceMappingURL=label-reconciler
|
|
113
|
+
//# sourceMappingURL=label-reconciler--F85rufp.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 } from "./config-yaml-CmOPzmBb.js";
|
|
3
3
|
import "effect";
|
|
4
4
|
import { mkdirSync } from "fs";
|
|
5
5
|
import { join } from "path";
|
|
@@ -118,4 +118,4 @@ var init_lifecycle = __esmMin((() => {
|
|
|
118
118
|
//#endregion
|
|
119
119
|
export { generateXBriefFilename as a, parseXBriefFilename as c, ensureXBriefDirsSync as i, resolveXBriefDir as l, LEGACY_VBRIEF_LIFECYCLE_DIRS as n, init_lifecycle as o, XBRIEF_FILENAME_SUFFIX as r, isXBriefFilename as s, LEGACY_VBRIEF_FILENAME_SUFFIX as t, slugify as u };
|
|
120
120
|
|
|
121
|
-
//# sourceMappingURL=lifecycle-
|
|
121
|
+
//# sourceMappingURL=lifecycle-CTdOWYMi.js.map
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-
|
|
3
|
-
import { t as closeIssue } from "./close-issue-
|
|
4
|
-
import { t as teardownWorkspace } from "./teardown-workspace-
|
|
5
|
-
import { a as deepWipe, i as closeOut, n as cancelIssueWorkflow, o as resetToTodo, r as close, t as approve } from "./workflows-
|
|
1
|
+
import { t as archivePlanning } from "./archive-planning-C0lAbNB_.js";
|
|
2
|
+
import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-q67TYYg5.js";
|
|
3
|
+
import { t as closeIssue } from "./close-issue-D5MF5GqF.js";
|
|
4
|
+
import { t as teardownWorkspace } from "./teardown-workspace-l2F4_zim.js";
|
|
5
|
+
import { a as deepWipe, i as closeOut, n as cancelIssueWorkflow, o as resetToTodo, r as close, t as approve } from "./workflows-D0oip4eV.js";
|
|
6
6
|
//#region ../../lib/lifecycle/index.ts
|
|
7
7
|
init_types();
|
|
8
|
-
init_archive_planning();
|
|
9
8
|
//#endregion
|
|
10
9
|
export { approve, archivePlanning, cancelIssueWorkflow, close, closeIssue, closeOut, deepWipe, resetToTodo, stepFailed, stepOk, stepSkipped, teardownWorkspace };
|
|
11
10
|
|
|
12
|
-
//# sourceMappingURL=lifecycle-
|
|
11
|
+
//# sourceMappingURL=lifecycle-DDN8ApVY.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { a as generateXBriefFilename, c as parseXBriefFilename, i as ensureXBriefDirsSync, l as resolveXBriefDir, n as LEGACY_VBRIEF_LIFECYCLE_DIRS, o as init_lifecycle, u as slugify } from "./lifecycle-
|
|
4
|
-
import { A as
|
|
5
|
-
import { t as init_pan_dir } from "./pan-dir-
|
|
2
|
+
import { Bt as readRecordContinueViewSync, Et as clearRecordFeedbackSync, Fr as init_errors, Pt as init_record, St as appendSessionEntrySync, Tr as FsError, bt as appendFeedbackEntrySync, cn as flushAutoCommits, ln as init_auto_commit, un as queueAutoCommit } from "./config-yaml-CmOPzmBb.js";
|
|
3
|
+
import { a as generateXBriefFilename, c as parseXBriefFilename, i as ensureXBriefDirsSync, l as resolveXBriefDir, n as LEGACY_VBRIEF_LIFECYCLE_DIRS, o as init_lifecycle, u as slugify } from "./lifecycle-CTdOWYMi.js";
|
|
4
|
+
import { A as invalidateXBriefIndex, M as getProjectPanPaths, S as init_specs, d as readPlanSync, g as serializeXBriefDocument, k as init_xbrief_index, l as normalizeXBriefEnvelope, o as init_io } from "./io-VHvc0Ssp.js";
|
|
5
|
+
import { t as init_pan_dir } from "./pan-dir-ubraCiUg.js";
|
|
6
6
|
import { Effect } from "effect";
|
|
7
7
|
import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, unlinkSync, writeFileSync } from "fs";
|
|
8
8
|
import { basename, join } from "path";
|
|
@@ -264,4 +264,4 @@ var init_lifecycle_io = __esmMin((() => {
|
|
|
264
264
|
//#endregion
|
|
265
265
|
export { init_lifecycle_io as a, updatePlanStatus as c, findXBriefByIssueSync as i, appendFeedbackEntryForIssue as n, readContinueStateForIssue as o, clearFeedbackForIssue as r, transitionXBriefOnMain as s, appendContinueSessionEntryForIssue as t };
|
|
266
266
|
|
|
267
|
-
//# sourceMappingURL=lifecycle-io-
|
|
267
|
+
//# sourceMappingURL=lifecycle-io-D-lGdzK3.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { a as init_tracker_config, n as getLinearApiKey } from "./tracker-config-
|
|
2
|
+
import { a as init_tracker_config, n as getLinearApiKey } from "./tracker-config-DZ8Zn2nQ.js";
|
|
3
3
|
import { a as RateLimited, c as TrackerNotConfigured, d as init_typed_errors, r as IssueNotFound, s as TrackerApiError } from "./typed-errors-2BTMxkZq.js";
|
|
4
4
|
import { Context, Duration, Effect, Layer, Schedule } from "effect";
|
|
5
5
|
import { LinearClient } from "@linear/sdk";
|
|
@@ -192,4 +192,4 @@ var init_linear_client = __esmMin((() => {
|
|
|
192
192
|
//#endregion
|
|
193
193
|
export { init_linear_client as i, LinearClientLive as n, LinearClientOptionalLive as r, LinearClient$1 as t };
|
|
194
194
|
|
|
195
|
-
//# sourceMappingURL=linear-client-
|
|
195
|
+
//# sourceMappingURL=linear-client-BQU36QqE.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { i as init_linear_client, n as LinearClientLive, r as LinearClientOptionalLive, t as LinearClient } from "./linear-client-
|
|
1
|
+
import { i as init_linear_client, n as LinearClientLive, r as LinearClientOptionalLive, t as LinearClient } from "./linear-client-BQU36QqE.js";
|
|
2
2
|
init_linear_client();
|
|
3
3
|
export { LinearClient, LinearClientLive, LinearClientOptionalLive };
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
import { a as init_event_store, i as initEventStore } from "./event-store-zY5MJHgF.js";
|
|
2
|
+
import { $n as getAgentDir, At as AmbiguousKeyedDeliveryError, It as init_delivery, Y as init_messaging, Z as messageAgentWithOutcome, ir as init_agent_state } from "./queries-DHJm7bTd.js";
|
|
3
|
+
import { l as init_tmux_dedup, n as KeyedSubmitTargetDeadError, t as KeyedMarkerVerificationError } from "./tmux-dedup-DbN6MGzM.js";
|
|
4
|
+
import { n as createPromiseCoalescer, r as init_in_flight_guard } from "./in-flight-guard-Bq3epG58.js";
|
|
5
|
+
import { join } from "node:path";
|
|
6
|
+
import { mkdir, readFile, rename, writeFile } from "node:fs/promises";
|
|
7
|
+
//#region ../../lib/linear-mcp-auth.ts
|
|
8
|
+
init_event_store();
|
|
9
|
+
init_agent_state();
|
|
10
|
+
init_delivery();
|
|
11
|
+
init_messaging();
|
|
12
|
+
init_tmux_dedup();
|
|
13
|
+
init_in_flight_guard();
|
|
14
|
+
const LINEAR_MCP_AUTH_URL_TTL_MS = 1800 * 1e3;
|
|
15
|
+
const LINEAR_MCP_AUTH_WAKE_COPY = "Linear MCP authentication has been restored — the operator completed OAuth. Re-check access now with one lightweight read (e.g. mcp__linear__list_issues). If it succeeds, resume your canonical task. If it still returns an authentication error, call mcp__linear__authenticate once and wait; do not retry in a loop.";
|
|
16
|
+
const linearMcpAuthWakeCoalescer = createPromiseCoalescer();
|
|
17
|
+
const LINEAR_MCP_AUTH_EVENT_TYPES = [
|
|
18
|
+
"linear_mcp_auth.required",
|
|
19
|
+
"linear_mcp_auth.healthy",
|
|
20
|
+
"linear_mcp_auth.notified",
|
|
21
|
+
"linear_mcp_auth.callback_relayed"
|
|
22
|
+
];
|
|
23
|
+
function defaultExpiresAt(declaredAt) {
|
|
24
|
+
return new Date(Date.parse(declaredAt) + LINEAR_MCP_AUTH_URL_TTL_MS).toISOString();
|
|
25
|
+
}
|
|
26
|
+
function foldLinearMcpAuthEvents(events, initial = {
|
|
27
|
+
open: null,
|
|
28
|
+
lastCompleted: null
|
|
29
|
+
}) {
|
|
30
|
+
let open = initial.open;
|
|
31
|
+
let lastCompleted = initial.lastCompleted;
|
|
32
|
+
for (const event of events) switch (event.type) {
|
|
33
|
+
case "linear_mcp_auth.required": {
|
|
34
|
+
const payload = event.payload;
|
|
35
|
+
open ??= {
|
|
36
|
+
id: `seq-${event.sequence}`,
|
|
37
|
+
declaredAt: event.timestamp,
|
|
38
|
+
authUrl: null,
|
|
39
|
+
authUrlAgentId: null,
|
|
40
|
+
authUrlExpiresAt: null,
|
|
41
|
+
agents: /* @__PURE__ */ new Map()
|
|
42
|
+
};
|
|
43
|
+
const expiresAt = payload.expiresAt ?? defaultExpiresAt(event.timestamp);
|
|
44
|
+
open.agents.set(payload.agentId, {
|
|
45
|
+
agentId: payload.agentId,
|
|
46
|
+
issueId: payload.issueId,
|
|
47
|
+
declaredAt: event.timestamp,
|
|
48
|
+
expiresAt,
|
|
49
|
+
notifiedAt: null
|
|
50
|
+
});
|
|
51
|
+
if (payload.authUrl !== null) {
|
|
52
|
+
open.authUrl = payload.authUrl;
|
|
53
|
+
open.authUrlAgentId = payload.agentId;
|
|
54
|
+
open.authUrlExpiresAt = expiresAt;
|
|
55
|
+
}
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
case "linear_mcp_auth.healthy":
|
|
59
|
+
if (open !== null) {
|
|
60
|
+
lastCompleted = open;
|
|
61
|
+
open = null;
|
|
62
|
+
}
|
|
63
|
+
break;
|
|
64
|
+
case "linear_mcp_auth.notified": {
|
|
65
|
+
const payload = event.payload;
|
|
66
|
+
const lifecycle = payload.lifecycleId !== void 0 ? open?.id === payload.lifecycleId ? open : lastCompleted?.id === payload.lifecycleId ? lastCompleted : null : open ?? lastCompleted;
|
|
67
|
+
const agent = lifecycle?.agents.get(payload.agentId);
|
|
68
|
+
if (agent !== void 0 && payload.outcome !== "delivering") lifecycle?.agents.set(payload.agentId, {
|
|
69
|
+
...agent,
|
|
70
|
+
notifiedAt: event.timestamp
|
|
71
|
+
});
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
case "linear_mcp_auth.callback_relayed": break;
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
open,
|
|
78
|
+
lastCompleted
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
let projectionCache = null;
|
|
82
|
+
/**
|
|
83
|
+
* Read the lifecycle fold from a maintained projection rather than rebuilding
|
|
84
|
+
* it per poll. The projection advances incrementally: each read fetches only
|
|
85
|
+
* auth-typed events newer than the covered sequence via an indexed SQL query
|
|
86
|
+
* (`queryByTypesSince`), so unrelated retained history is never materialized
|
|
87
|
+
* — a full `readFrom(0)` on the seven-day event table has blown the heap in
|
|
88
|
+
* smoke testing, and the banner calls this path every 5–30 seconds per
|
|
89
|
+
* connected client.
|
|
90
|
+
*/
|
|
91
|
+
async function readLinearMcpAuthFold() {
|
|
92
|
+
const store = await initEventStore();
|
|
93
|
+
if (projectionCache !== null && store.getLatestSequence() < projectionCache.coveredSequence) projectionCache = null;
|
|
94
|
+
const afterSequence = projectionCache?.coveredSequence ?? 0;
|
|
95
|
+
const delta = store.queryByTypesSince([...LINEAR_MCP_AUTH_EVENT_TYPES], afterSequence);
|
|
96
|
+
if (delta.length === 0 && projectionCache !== null) return projectionCache.fold;
|
|
97
|
+
const fold = foldLinearMcpAuthEvents(delta, projectionCache?.fold);
|
|
98
|
+
const lastEvent = delta[delta.length - 1];
|
|
99
|
+
projectionCache = {
|
|
100
|
+
fold,
|
|
101
|
+
coveredSequence: lastEvent !== void 0 ? lastEvent.sequence : afterSequence
|
|
102
|
+
};
|
|
103
|
+
return fold;
|
|
104
|
+
}
|
|
105
|
+
function projectLifecycle(lifecycle, nowIso) {
|
|
106
|
+
if (lifecycle === null) return {
|
|
107
|
+
status: "none",
|
|
108
|
+
authUrl: null,
|
|
109
|
+
authUrlAgentId: null,
|
|
110
|
+
authUrlExpiresAt: null,
|
|
111
|
+
declaredAt: null,
|
|
112
|
+
blockedAgents: []
|
|
113
|
+
};
|
|
114
|
+
return {
|
|
115
|
+
status: lifecycle.authUrlExpiresAt !== null && lifecycle.authUrlExpiresAt < nowIso ? "expired" : "active",
|
|
116
|
+
authUrl: lifecycle.authUrl,
|
|
117
|
+
authUrlAgentId: lifecycle.authUrlAgentId,
|
|
118
|
+
authUrlExpiresAt: lifecycle.authUrlExpiresAt,
|
|
119
|
+
declaredAt: lifecycle.declaredAt,
|
|
120
|
+
blockedAgents: [...lifecycle.agents.values()]
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
function linearMcpAuthEvent(input) {
|
|
124
|
+
return {
|
|
125
|
+
type: input.type,
|
|
126
|
+
timestamp: input.timestamp ?? (/* @__PURE__ */ new Date()).toISOString(),
|
|
127
|
+
payload: input.payload
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
async function appendLinearMcpAuthEvent(input) {
|
|
131
|
+
return (await initEventStore()).appendAsync(linearMcpAuthEvent(input));
|
|
132
|
+
}
|
|
133
|
+
function appendLinearMcpAuthHealthyEvent(payload, timestamp) {
|
|
134
|
+
return appendLinearMcpAuthEvent({
|
|
135
|
+
type: "linear_mcp_auth.healthy",
|
|
136
|
+
payload,
|
|
137
|
+
timestamp
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
function appendLinearMcpAuthNotifiedEvent(payload, timestamp) {
|
|
141
|
+
return appendLinearMcpAuthEvent({
|
|
142
|
+
type: "linear_mcp_auth.notified",
|
|
143
|
+
payload,
|
|
144
|
+
timestamp
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
function appendLinearMcpAuthCallbackRelayedEvent(payload, timestamp) {
|
|
148
|
+
return appendLinearMcpAuthEvent({
|
|
149
|
+
type: "linear_mcp_auth.callback_relayed",
|
|
150
|
+
payload,
|
|
151
|
+
timestamp
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
async function resolveLinearMcpAuthIntervention(nowIso = (/* @__PURE__ */ new Date()).toISOString()) {
|
|
155
|
+
const { open } = await readLinearMcpAuthFold();
|
|
156
|
+
return projectLifecycle(open, nowIso);
|
|
157
|
+
}
|
|
158
|
+
async function computeLinearMcpAuthWakeSet() {
|
|
159
|
+
const { lastCompleted } = await readLinearMcpAuthFold();
|
|
160
|
+
if (lastCompleted === null) return null;
|
|
161
|
+
const agents = [...lastCompleted.agents.values()].filter((agent) => agent.notifiedAt === null);
|
|
162
|
+
return {
|
|
163
|
+
lifecycleId: lastCompleted.id,
|
|
164
|
+
agents
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
const MAX_WAKE_PASSES = 10;
|
|
168
|
+
const WAKE_FOLLOW_UP_MIN_DELAY_MS = 1e3;
|
|
169
|
+
const WAKE_FOLLOW_UP_MAX_DELAY_MS = 6e4;
|
|
170
|
+
let wakeFollowUpDelayMs = WAKE_FOLLOW_UP_MIN_DELAY_MS;
|
|
171
|
+
function wakeOutboxPath(agentId, lifecycleId) {
|
|
172
|
+
return join(getAgentDir(agentId), "linear-mcp-wake", `${lifecycleId}.json`);
|
|
173
|
+
}
|
|
174
|
+
async function readWakeOutbox(agentId, lifecycleId) {
|
|
175
|
+
try {
|
|
176
|
+
const raw = await readFile(wakeOutboxPath(agentId, lifecycleId), "utf-8");
|
|
177
|
+
return JSON.parse(raw);
|
|
178
|
+
} catch {
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
async function writeWakeOutbox(entry) {
|
|
183
|
+
const path = wakeOutboxPath(entry.agentId, entry.lifecycleId);
|
|
184
|
+
await mkdir(join(getAgentDir(entry.agentId), "linear-mcp-wake"), { recursive: true });
|
|
185
|
+
const tmpPath = `${path}.${process.pid}.tmp`;
|
|
186
|
+
await writeFile(tmpPath, JSON.stringify(entry, null, 2), "utf-8");
|
|
187
|
+
await rename(tmpPath, path);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Deliver one lifecycle's wake through the keyed outbox. An acknowledged
|
|
191
|
+
* entry suppresses the replay and replays only its recorded outcome — a
|
|
192
|
+
* crash after the ack write never produces a second send, and the recorded
|
|
193
|
+
* outcome stays faithful ('queued' is never upgraded to 'delivered'). A
|
|
194
|
+
* pending or missing entry is (re)driven: a crash before the ack write
|
|
195
|
+
* replays the send, which is correct because that send was never
|
|
196
|
+
* acknowledged.
|
|
197
|
+
*/
|
|
198
|
+
async function deliverWakeWithOutbox(agentId, lifecycleId) {
|
|
199
|
+
const existing = await readWakeOutbox(agentId, lifecycleId);
|
|
200
|
+
if (existing?.state === "acknowledged" && existing.outcome !== void 0) return {
|
|
201
|
+
sent: false,
|
|
202
|
+
outcome: existing.outcome
|
|
203
|
+
};
|
|
204
|
+
if (existing === null) await writeWakeOutbox({
|
|
205
|
+
lifecycleId,
|
|
206
|
+
agentId,
|
|
207
|
+
message: LINEAR_MCP_AUTH_WAKE_COPY,
|
|
208
|
+
state: "pending",
|
|
209
|
+
createdAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
210
|
+
});
|
|
211
|
+
let outcome;
|
|
212
|
+
try {
|
|
213
|
+
outcome = await messageAgentWithOutcome(agentId, LINEAR_MCP_AUTH_WAKE_COPY, "linear-mcp-auth-wake", { dedupKey: `linear-mcp-auth-wake:${lifecycleId}` });
|
|
214
|
+
} catch (error) {
|
|
215
|
+
if (error instanceof AmbiguousKeyedDeliveryError || error instanceof KeyedSubmitTargetDeadError || error instanceof KeyedMarkerVerificationError) throw error;
|
|
216
|
+
outcome = "failed";
|
|
217
|
+
}
|
|
218
|
+
await writeWakeOutbox({
|
|
219
|
+
lifecycleId,
|
|
220
|
+
agentId,
|
|
221
|
+
message: LINEAR_MCP_AUTH_WAKE_COPY,
|
|
222
|
+
state: "acknowledged",
|
|
223
|
+
outcome,
|
|
224
|
+
createdAt: existing?.createdAt ?? (/* @__PURE__ */ new Date()).toISOString(),
|
|
225
|
+
acknowledgedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
226
|
+
});
|
|
227
|
+
return {
|
|
228
|
+
sent: true,
|
|
229
|
+
outcome
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Record the completion of a delivery attempt in the lifecycle event log —
|
|
234
|
+
* this, not the outbox receipt, is what removes the agent from the wake set.
|
|
235
|
+
* If the append fails, the agent stays in the wake set but the acknowledged
|
|
236
|
+
* outbox entry suppresses any replay: the next pass only retries this
|
|
237
|
+
* completion record.
|
|
238
|
+
*/
|
|
239
|
+
async function recordWakeCompletion(blockedAgent, lifecycleId, outcome) {
|
|
240
|
+
try {
|
|
241
|
+
await appendLinearMcpAuthNotifiedEvent({
|
|
242
|
+
agentId: blockedAgent.agentId,
|
|
243
|
+
issueId: blockedAgent.issueId,
|
|
244
|
+
outcome,
|
|
245
|
+
lifecycleId
|
|
246
|
+
});
|
|
247
|
+
} catch (completionError) {
|
|
248
|
+
console.error(`[linear-mcp-auth] failed to record wake outcome for ${blockedAgent.agentId}:`, completionError);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
function processLinearMcpAuthWake() {
|
|
252
|
+
return linearMcpAuthWakeCoalescer.run("global", async () => {
|
|
253
|
+
let stabilized = false;
|
|
254
|
+
for (let pass = 0; pass < MAX_WAKE_PASSES; pass++) {
|
|
255
|
+
const wakeSet = await computeLinearMcpAuthWakeSet();
|
|
256
|
+
if (wakeSet === null || wakeSet.agents.length === 0) {
|
|
257
|
+
stabilized = true;
|
|
258
|
+
wakeFollowUpDelayMs = WAKE_FOLLOW_UP_MIN_DELAY_MS;
|
|
259
|
+
break;
|
|
260
|
+
}
|
|
261
|
+
for (const blockedAgent of wakeSet.agents) try {
|
|
262
|
+
const delivery = await deliverWakeWithOutbox(blockedAgent.agentId, wakeSet.lifecycleId);
|
|
263
|
+
await recordWakeCompletion(blockedAgent, wakeSet.lifecycleId, delivery.outcome);
|
|
264
|
+
} catch (deliveryError) {
|
|
265
|
+
console.error(`[linear-mcp-auth] wake outbox failure for ${blockedAgent.agentId}; skipping this pass:`, deliveryError);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
if (!stabilized) {
|
|
269
|
+
console.error(`[linear-mcp-auth] wake pass did not stabilize after ${MAX_WAKE_PASSES} passes — scheduling a follow-up run in ${wakeFollowUpDelayMs}ms`);
|
|
270
|
+
setTimeout(() => {
|
|
271
|
+
processLinearMcpAuthWake();
|
|
272
|
+
}, wakeFollowUpDelayMs).unref();
|
|
273
|
+
wakeFollowUpDelayMs = Math.min(wakeFollowUpDelayMs * 2, WAKE_FOLLOW_UP_MAX_DELAY_MS);
|
|
274
|
+
}
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
//#endregion
|
|
278
|
+
export { appendLinearMcpAuthHealthyEvent as a, linearMcpAuthEvent as c, appendLinearMcpAuthEvent as i, processLinearMcpAuthWake as l, LINEAR_MCP_AUTH_WAKE_COPY as n, appendLinearMcpAuthNotifiedEvent as o, appendLinearMcpAuthCallbackRelayedEvent as r, computeLinearMcpAuthWakeSet as s, LINEAR_MCP_AUTH_URL_TTL_MS as t, resolveLinearMcpAuthIntervention as u };
|
|
279
|
+
|
|
280
|
+
//# sourceMappingURL=linear-mcp-auth-BnU4TYfY.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as runMemoryFtsTransactionSync, i as runMemoryFtsStatementSync, n as getMemoryFtsDatabaseSync, r as init_fts_operations, t as closeMemoryFtsDatabasesInProcess } from "./fts-operations-
|
|
1
|
+
import { a as runMemoryFtsTransactionSync, i as runMemoryFtsStatementSync, n as getMemoryFtsDatabaseSync, r as init_fts_operations, t as closeMemoryFtsDatabasesInProcess } from "./fts-operations-BdewJ_g9.js";
|
|
2
2
|
import { parentPort } from "node:worker_threads";
|
|
3
3
|
//#region ../../lib/memory/fts-worker.ts
|
|
4
4
|
init_fts_operations();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as inArray, _ as integer, a as EventBus, b as and, d as getOverdeckDatabaseSync, f as init_infra, h as text, m as sqliteTable, p as init_sqlite_core, r as Db, s as Forge, v as init_drizzle_orm, x as eq } from "./infra-
|
|
2
|
-
import { n as init_issues, t as IssueId } from "./issues-
|
|
1
|
+
import { C as inArray, _ as integer, a as EventBus, b as and, d as getOverdeckDatabaseSync, f as init_infra, h as text, m as sqliteTable, p as init_sqlite_core, r as Db, s as Forge, v as init_drizzle_orm, x as eq } from "./infra-BjuxvjdS.js";
|
|
2
|
+
import { n as init_issues, t as IssueId } from "./issues-CgnQ1OGQ.js";
|
|
3
3
|
import { Context, Effect, Layer, Schema } from "effect";
|
|
4
4
|
import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
|
|
5
5
|
//#region ../../lib/overdeck/merge.ts
|
|
@@ -87,7 +87,9 @@ const uatGenerationResolutions = sqliteTable("uat_generation_resolutions", {
|
|
|
87
87
|
uatName: text("uat_name").notNull(),
|
|
88
88
|
issueIds: text("issue_ids", { mode: "json" }).notNull(),
|
|
89
89
|
files: text("files", { mode: "json" }).notNull(),
|
|
90
|
-
commitSha: text("commit_sha").notNull()
|
|
90
|
+
commitSha: text("commit_sha").notNull(),
|
|
91
|
+
kind: text("kind"),
|
|
92
|
+
note: text("note")
|
|
91
93
|
});
|
|
92
94
|
const ProjectKey = Schema.String.pipe(Schema.brand("ProjectKey"));
|
|
93
95
|
const RepoKey = Schema.String.pipe(Schema.brand("RepoKey"));
|
|
@@ -573,7 +575,7 @@ const MergeApi = HttpApiGroup.make("merge").add(HttpApiEndpoint.get("getMergeSet
|
|
|
573
575
|
})).add(HttpApiEndpoint.get("listQueues", "/merge-queue", { success: Schema.Array(QueueView) })).add(HttpApiEndpoint.get("listAutoMerges", "/flywheel/auto-merge", {
|
|
574
576
|
query: AutoMergeFilter,
|
|
575
577
|
success: Schema.Array(AutoMerge)
|
|
576
|
-
})).add(HttpApiEndpoint.get("listBlockers", "/flywheel/merge-blockers", { success: Schema.Array(AutoMerge) })).add(HttpApiEndpoint.get("listUatGenerations", "/
|
|
578
|
+
})).add(HttpApiEndpoint.get("listBlockers", "/flywheel/merge-blockers", { success: Schema.Array(AutoMerge) })).add(HttpApiEndpoint.get("listUatGenerations", "/merge-train/generations", {
|
|
577
579
|
query: UatGenerationFilter,
|
|
578
580
|
success: Schema.Array(UatGeneration)
|
|
579
581
|
})).add(HttpApiEndpoint.post("merge", "/issues/:id/merge", {
|
|
@@ -593,7 +595,7 @@ const MergeApi = HttpApiGroup.make("merge").add(HttpApiEndpoint.get("getMergeSet
|
|
|
593
595
|
params: { id: IssueId },
|
|
594
596
|
success: MergeSet,
|
|
595
597
|
error: MergeSetNotFound
|
|
596
|
-
})).add(HttpApiEndpoint.post("mergeNext", "/
|
|
598
|
+
})).add(HttpApiEndpoint.post("mergeNext", "/merge-train/merge-next", {
|
|
597
599
|
payload: Schema.Struct({ projectKey: ProjectKey }),
|
|
598
600
|
success: Schema.NullOr(MergeSet),
|
|
599
601
|
error: Schema.Union([
|
|
@@ -617,11 +619,11 @@ const MergeApi = HttpApiGroup.make("merge").add(HttpApiEndpoint.get("getMergeSet
|
|
|
617
619
|
payload: Schema.Struct({ cancelledBy: Schema.String }),
|
|
618
620
|
success: AutoMerge,
|
|
619
621
|
error: AutoMergeNotFound
|
|
620
|
-
})).add(HttpApiEndpoint.post("assembleUat", "/
|
|
622
|
+
})).add(HttpApiEndpoint.post("assembleUat", "/merge-train/assemble", { success: Schema.Array(UatGeneration) })).add(HttpApiEndpoint.post("startUatStack", "/merge-train/generations/:name/stack", {
|
|
621
623
|
params: { name: UatName },
|
|
622
624
|
success: UatGeneration,
|
|
623
625
|
error: Schema.Union([UatGenerationNotFound, UatNotPromotable])
|
|
624
|
-
})).add(HttpApiEndpoint.post("promoteUat", "/
|
|
626
|
+
})).add(HttpApiEndpoint.post("promoteUat", "/merge-train/generations/:name/promote", {
|
|
625
627
|
params: { name: UatName },
|
|
626
628
|
success: UatGeneration,
|
|
627
629
|
error: Schema.Union([UatGenerationNotFound, UatNotPromotable])
|
|
@@ -642,9 +644,9 @@ function enqueueMerge(projectKey, issueId) {
|
|
|
642
644
|
db.prepare(`INSERT INTO merge_queue (project_key, issue_id, position, queued_at, status) VALUES (?, ?, ?, ?, 'queued')`).run(projectKey, normalized, position, nowIso());
|
|
643
645
|
return position;
|
|
644
646
|
}
|
|
645
|
-
/**
|
|
646
|
-
function markMergeProcessing(projectKey, issueId) {
|
|
647
|
-
overdeckDb().prepare(`UPDATE merge_queue SET status =
|
|
647
|
+
/** Toggle whether a queued merge is the project's current processing entry. */
|
|
648
|
+
function markMergeProcessing(projectKey, issueId, processing = true) {
|
|
649
|
+
overdeckDb().prepare(`UPDATE merge_queue SET status = ?, started_at = ? WHERE project_key = ? AND issue_id = ? AND status = ?`).run(processing ? "processing" : "queued", processing ? nowIso() : null, projectKey, issueId.toUpperCase(), processing ? "queued" : "processing");
|
|
648
650
|
}
|
|
649
651
|
/** Get the currently processing merge for a project, or null. */
|
|
650
652
|
function getCurrentMerge(projectKey) {
|
|
@@ -700,4 +702,4 @@ function getAllActiveQueues() {
|
|
|
700
702
|
//#endregion
|
|
701
703
|
export { UatNotPromotable as A, readyForMerge as B, RepoMergeStatus as C, UatMember as D, UatGenerationNotFound as E, enqueueMerge as F, getAllActiveQueues as I, getCurrentMerge as L, UatStatus as M, WorkspaceType as N, UatMemberRole as O, dequeueMerge as P, getQueueForProject as R, RepoKey as S, UatGenerationFilter as T, NotReadyForMerge as _, ForgeMergeFailed as a, QueueView as b, MergeInProgress as c, MergeSet as d, MergeSetNotFound as f, MergeWriterLive as g, MergeWriter as h, AutoMergeStatus as i, UatResolution as j, UatName as k, MergeResolver as l, MergeSetStatus as m, AutoMergeFilter as n, GateStatus as o, MergeSetRepo as p, AutoMergeNotFound as r, MergeApi as s, AutoMerge as t, MergeResolverLive as u, ProjectKey as v, UatGeneration as w, RebaseStatus as x, QueueEntryStatus as y, markMergeProcessing as z };
|
|
702
704
|
|
|
703
|
-
//# sourceMappingURL=merge-
|
|
705
|
+
//# sourceMappingURL=merge-Bpx4jjht.js.map
|