@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,21 +1,23 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { D as killSession, E as isPaneDead, M as listSessionNames, w as init_tmux } from "./tmux-
|
|
5
|
-
import {
|
|
6
|
-
import { l as removeAgentSync, o as init_agents, s as listAgentIdsByPrefixSync } from "./agents-
|
|
7
|
-
import {
|
|
2
|
+
import { Ir as AGENTS_DIR, Pt as init_record, Vt as resolveProjectForIssue, ci as init_paths, f as loadConfigSync, fi as sessionFilePath, t as init_config_yaml, tt as resolveModel, ui as packageRoot, zt as readIssueRecordSync } from "./config-yaml-CmOPzmBb.js";
|
|
3
|
+
import { o as init_activity_logger, r as emitActivityEntrySync } from "./activity-logger-CyteR4JO.js";
|
|
4
|
+
import { D as killSession, E as isPaneDead, M as listSessionNames, w as init_tmux } from "./tmux-B1Wbxz5o.js";
|
|
5
|
+
import { S as setReviewStatusSync, f as init_review_status, u as getReviewStatusSync } from "./review-status-yljtTd-q.js";
|
|
6
|
+
import { l as removeAgentSync, o as init_agents, s as listAgentIdsByPrefixSync } from "./agents-C5rWYhb6.js";
|
|
7
|
+
import { $t as providerDefaultHarnessSync, Qt as init_staffing, b as init_agents$1, ir as init_agent_state, rr as getAgentStateSync } from "./queries-DHJm7bTd.js";
|
|
8
8
|
import { a as PAN_DIRNAME, p as init_types } from "./types-hraoaQIp.js";
|
|
9
|
-
import { a as
|
|
10
|
-
import { n as
|
|
11
|
-
import { n as
|
|
12
|
-
import {
|
|
9
|
+
import { a as init_review_monitor, i as REVIEW_SUB_ROLES, n as init_review_convoy_liveness, t as evaluateReviewConvoyLiveness } from "./review-convoy-liveness-CpzrcJ5F.js";
|
|
10
|
+
import { n as init_merge_verification, r as shouldSkipDispatchAsMerged } from "./merge-verification-x3JO8Dtz.js";
|
|
11
|
+
import { n as createPromiseCoalescer, r as init_in_flight_guard } from "./in-flight-guard-Bq3epG58.js";
|
|
12
|
+
import { n as formatTier1Summary, o as init_review_context, t as buildReviewContext } from "./review-context-oFuBbiEE.js";
|
|
13
|
+
import { a as resolveConflictGate, i as init_conflict_gate, r as getCachedConflictGateMergeability, t as buildRealConflictGateDeps } from "./conflict-gate-B9cN3SBi.js";
|
|
13
14
|
import { Effect } from "effect";
|
|
14
15
|
import { existsSync } from "fs";
|
|
15
16
|
import { dirname, join } from "path";
|
|
16
17
|
import { mkdir, readFile, rm, writeFile } from "fs/promises";
|
|
17
18
|
import { exec } from "child_process";
|
|
18
19
|
import { promisify } from "util";
|
|
20
|
+
import { createHash } from "node:crypto";
|
|
19
21
|
//#region ../../lib/cloister/review-resume-decision.ts
|
|
20
22
|
/**
|
|
21
23
|
* PAN-1862 — the resume-vs-fresh decision for a review agent, as a PURE function so it is locked
|
|
@@ -151,7 +153,7 @@ async function buildConvoyPromptPromise(opts) {
|
|
|
151
153
|
}
|
|
152
154
|
async function spawnReviewSubRoleForIssuePromise(opts) {
|
|
153
155
|
try {
|
|
154
|
-
const { saveAgentState, spawnRun, getAgentStateSync, getLatestSessionIdSync, resumeAgent, stopAgent } = await import("./agents-
|
|
156
|
+
const { saveAgentState, spawnRun, getAgentStateSync, getLatestSessionIdSync, resumeAgent, stopAgent } = await import("./agents-BKKkxKgK.js");
|
|
155
157
|
const cfg = loadConfigSync().config;
|
|
156
158
|
const outputPath = opts.outputPath ?? reviewerAgentOutputPath(opts.workspace, opts.runId, opts.subRole);
|
|
157
159
|
const synthesisAgentId = opts.synthesisAgentId ?? `agent-${opts.issueId.toLowerCase()}-review`;
|
|
@@ -239,7 +241,7 @@ async function spawnReviewSubRoleForIssuePromise(opts) {
|
|
|
239
241
|
if (opts.forkedSessionId) run.reviewForkedFromParent = true;
|
|
240
242
|
await Effect.runPromise(saveAgentState(run));
|
|
241
243
|
try {
|
|
242
|
-
const { notifyPipelineSync } = await import("./pipeline-notifier-
|
|
244
|
+
const { notifyPipelineSync } = await import("./pipeline-notifier-ImNXknf0.js");
|
|
243
245
|
notifyPipelineSync({
|
|
244
246
|
type: "reviewer_started",
|
|
245
247
|
issueId: opts.issueId,
|
|
@@ -270,14 +272,16 @@ async function computeConvoyScope(issueId, workspace) {
|
|
|
270
272
|
let carried = [];
|
|
271
273
|
let scope = "changed";
|
|
272
274
|
try {
|
|
273
|
-
const { getReviewStatusSync } = await import("./review-status-
|
|
275
|
+
const { getReviewStatusSync } = await import("./review-status-BZH8h-6W.js");
|
|
274
276
|
scope = resolveReReviewScope(issueId);
|
|
275
277
|
const priorVerdicts = getReviewStatusSync(issueId)?.reviewerVerdicts;
|
|
276
278
|
let changedFiles;
|
|
277
279
|
const anchors = new Set(Object.values(priorVerdicts ?? {}).map((v) => v?.atCommit).filter((c) => !!c));
|
|
278
280
|
if (anchors.size === 1) try {
|
|
281
|
+
const { resolvePrimaryWorkspaceRepoDirSync } = await import("./project-repos-CRE6Ykow.js");
|
|
282
|
+
const primaryRepoDir = resolvePrimaryWorkspaceRepoDirSync(issueId, workspace);
|
|
279
283
|
const { stdout } = await execAsync$1(`git diff --name-only ${[...anchors][0]}..HEAD`, {
|
|
280
|
-
cwd:
|
|
284
|
+
cwd: primaryRepoDir,
|
|
281
285
|
encoding: "utf-8",
|
|
282
286
|
timeout: 15e3
|
|
283
287
|
});
|
|
@@ -313,13 +317,13 @@ async function computeConvoyScope(issueId, workspace) {
|
|
|
313
317
|
*/
|
|
314
318
|
async function forkParentSessionForReviewer(parentAgentId, workspace) {
|
|
315
319
|
try {
|
|
316
|
-
const { getLatestSessionIdSync } = await import("./agents-
|
|
320
|
+
const { getLatestSessionIdSync } = await import("./agents-BKKkxKgK.js");
|
|
317
321
|
const parentSessionId = getLatestSessionIdSync(parentAgentId);
|
|
318
322
|
if (!parentSessionId) return null;
|
|
319
323
|
const src = sessionFilePath(workspace, parentSessionId);
|
|
320
324
|
const { existsSync } = await import("fs");
|
|
321
325
|
if (!existsSync(src)) return null;
|
|
322
|
-
const { reserveForkSession, copySessionForFork } = await import("./session-fork-
|
|
326
|
+
const { reserveForkSession, copySessionForFork } = await import("./session-fork-D0LY152N.js");
|
|
323
327
|
const reserved = await reserveForkSession(workspace);
|
|
324
328
|
await copySessionForFork(src, reserved.sessionFile, { fullHistory: true });
|
|
325
329
|
return reserved.sessionId;
|
|
@@ -357,13 +361,13 @@ async function launchConvoyReviewersPromise(params) {
|
|
|
357
361
|
}
|
|
358
362
|
}
|
|
359
363
|
const cfg = loadConfigSync().config;
|
|
360
|
-
const { getAgentStateSync } = await import("./agents-
|
|
364
|
+
const { getAgentStateSync } = await import("./agents-BKKkxKgK.js");
|
|
361
365
|
const parentState = getAgentStateSync(params.synthesisAgentId);
|
|
362
366
|
const reviewerResults = await Promise.all(params.inScope.map(async (subRole) => {
|
|
363
367
|
const outputPath = reviewerAgentOutputPath(params.workspace, params.runId, subRole);
|
|
364
368
|
let forkedSessionId;
|
|
365
369
|
if (params.forkFromParent && parentState?.harness === "claude-code" && !params.harness) try {
|
|
366
|
-
const { getLatestSessionIdSync } = await import("./agents-
|
|
370
|
+
const { getLatestSessionIdSync } = await import("./agents-BKKkxKgK.js");
|
|
367
371
|
const reviewerModel = params.model ?? resolveModel("review", subRole, cfg);
|
|
368
372
|
if (!!!getLatestSessionIdSync(reviewerAgentId(params.issueId, subRole)) && reviewerModel === parentState.model) {
|
|
369
373
|
forkedSessionId = await forkParentSessionForReviewer(params.synthesisAgentId, params.workspace) ?? void 0;
|
|
@@ -384,7 +388,7 @@ async function launchConvoyReviewersPromise(params) {
|
|
|
384
388
|
allowHost: params.allowHost ?? false
|
|
385
389
|
}));
|
|
386
390
|
if (!result.success) try {
|
|
387
|
-
const { messageAgent } = await import("./agents-
|
|
391
|
+
const { messageAgent } = await import("./agents-BKKkxKgK.js");
|
|
388
392
|
await messageAgent(params.synthesisAgentId, `REVIEWER_FAILED ${subRole} ${result.error ?? result.message}`);
|
|
389
393
|
} catch (signalErr) {
|
|
390
394
|
console.warn(`[review-agent] Failed to signal ${subRole} spawn failure to ${params.synthesisAgentId}:`, signalErr);
|
|
@@ -411,7 +415,7 @@ async function launchConvoyReviewersPromise(params) {
|
|
|
411
415
|
async function handleReviewDiscoveryReady(issueId, opts = {}) {
|
|
412
416
|
const normalized = issueId.toUpperCase();
|
|
413
417
|
const parentId = `agent-${normalized.toLowerCase()}-review`;
|
|
414
|
-
const { saveAgentState, getAgentStateSync } = await import("./agents-
|
|
418
|
+
const { saveAgentState, getAgentStateSync } = await import("./agents-BKKkxKgK.js");
|
|
415
419
|
const parent = getAgentStateSync(parentId);
|
|
416
420
|
if (!parent) return {
|
|
417
421
|
success: false,
|
|
@@ -551,6 +555,30 @@ var init_review_convoy = __esmMin((() => {
|
|
|
551
555
|
* - killAllReviewSessions — kill ALL review sessions on shutdown
|
|
552
556
|
* (pan down)
|
|
553
557
|
*/
|
|
558
|
+
async function deriveReviewRunHead8(issueId, workspace) {
|
|
559
|
+
try {
|
|
560
|
+
const { resolvePrimaryWorkspaceRepoDirSync, resolveWorkspaceRepoRootsSync } = await import("./project-repos-CRE6Ykow.js");
|
|
561
|
+
if (resolveWorkspaceRepoRootsSync(issueId, workspace).some((root) => root.isPolyrepo)) {
|
|
562
|
+
const { snapshotWorkspaceHeadsPromise } = await import("./git-utils-CI6cwyyC.js");
|
|
563
|
+
const anchor = await snapshotWorkspaceHeadsPromise(issueId, workspace);
|
|
564
|
+
return anchor ? createHash("sha1").update(anchor).digest("hex").substring(0, 8) : "unknown";
|
|
565
|
+
}
|
|
566
|
+
const probeDir = resolvePrimaryWorkspaceRepoDirSync(issueId, workspace);
|
|
567
|
+
const { stdout } = await execAsync([
|
|
568
|
+
"git",
|
|
569
|
+
"rev-parse",
|
|
570
|
+
"--short=8",
|
|
571
|
+
"HEAD"
|
|
572
|
+
].join(" "), {
|
|
573
|
+
cwd: probeDir,
|
|
574
|
+
encoding: "utf-8",
|
|
575
|
+
timeout: 1e4
|
|
576
|
+
});
|
|
577
|
+
return stdout.trim() || "unknown";
|
|
578
|
+
} catch {
|
|
579
|
+
return "unknown";
|
|
580
|
+
}
|
|
581
|
+
}
|
|
554
582
|
function buildReviewRolePrompt(opts) {
|
|
555
583
|
const inScope = opts.inScopeSubRoles && opts.inScopeSubRoles.length > 0 ? opts.inScopeSubRoles : [...REVIEW_SUB_ROLES];
|
|
556
584
|
const carried = opts.carriedSubRoles ?? [];
|
|
@@ -639,8 +667,8 @@ function buildReviewRolePrompt(opts) {
|
|
|
639
667
|
"including a per-reviewer verdict for each sub-role that RAN this cycle",
|
|
640
668
|
"(PAN-1862 — this is what lets the next re-review skip provably-clean reviewers;",
|
|
641
669
|
"do NOT list carried-forward sub-roles, their verdicts are already recorded):",
|
|
642
|
-
` pan admin specialists done review ${opts.issueId} --status passed --notes "<one-line summary>" --reviewers "${inScope.map((r) => `${r}=passed`).join(",")}"`,
|
|
643
|
-
` pan admin specialists done review ${opts.issueId} --status blocked --notes "<one-line top blocker>" --reviewers "<subRole>=passed|blocked for each of: ${inScope.join(", ")}>"`,
|
|
670
|
+
` pan admin specialists done review ${opts.issueId} --status passed --notes "<one-line summary>" --run-id "${opts.runId}" --reviewers "${inScope.map((r) => `${r}=passed`).join(",")}"`,
|
|
671
|
+
` pan admin specialists done review ${opts.issueId} --status blocked --notes "<one-line top blocker>" --run-id "${opts.runId}" --reviewers "<subRole>=passed|blocked for each of: ${inScope.join(", ")}>"`,
|
|
644
672
|
"",
|
|
645
673
|
"After running the signal command above, STOP and wait — do not exit, do not run",
|
|
646
674
|
"any further commands. The session stays open for the next review cycle.",
|
|
@@ -687,8 +715,8 @@ function buildSelfReviewPrompt(opts) {
|
|
|
687
715
|
`3. Write your findings to ${reviewReportPath}.`,
|
|
688
716
|
"",
|
|
689
717
|
"Then signal the verdict with the Overdeck CLI (exactly one):",
|
|
690
|
-
` pan admin specialists done review ${opts.issueId} --status passed --notes "<one-line summary>"`,
|
|
691
|
-
` pan admin specialists done review ${opts.issueId} --status blocked --notes "<one-line top blocker>"`,
|
|
718
|
+
` pan admin specialists done review ${opts.issueId} --status passed --notes "<one-line summary>" --run-id "${opts.runId}"`,
|
|
719
|
+
` pan admin specialists done review ${opts.issueId} --status blocked --notes "<one-line top blocker>" --run-id "${opts.runId}"`,
|
|
692
720
|
"",
|
|
693
721
|
"After running the signal command above, STOP and wait — do not exit, do not run",
|
|
694
722
|
"any further commands. The session stays open for the next review cycle.",
|
|
@@ -749,12 +777,9 @@ async function spawnReviewRoleForIssuePromise(opts) {
|
|
|
749
777
|
let staleRunId = false;
|
|
750
778
|
let currentRunId;
|
|
751
779
|
if (!paneDead && !opts.force) try {
|
|
752
|
-
const
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
timeout: 1e4
|
|
756
|
-
});
|
|
757
|
-
currentRunId = `agent-${opts.issueId.toLowerCase()}-review-${stdout.trim()}`;
|
|
780
|
+
const head8 = await deriveReviewRunHead8(opts.issueId, opts.workspace);
|
|
781
|
+
if (head8 === "unknown") throw new Error("workspace HEAD unavailable");
|
|
782
|
+
currentRunId = `agent-${opts.issueId.toLowerCase()}-review-${head8}`;
|
|
758
783
|
const synthReviewRunId = getAgentStateSync(reviewSessionName)?.reviewRunId;
|
|
759
784
|
if (!synthReviewRunId || synthReviewRunId !== currentRunId) {
|
|
760
785
|
staleRunId = true;
|
|
@@ -826,7 +851,7 @@ async function spawnReviewRoleForIssuePromise(opts) {
|
|
|
826
851
|
};
|
|
827
852
|
}
|
|
828
853
|
try {
|
|
829
|
-
const { archiveFeedbackFiles } = await import("./feedback-writer-
|
|
854
|
+
const { archiveFeedbackFiles } = await import("./feedback-writer-D1fm-5Z8.js");
|
|
830
855
|
await Effect.runPromise(archiveFeedbackFiles(opts.workspace));
|
|
831
856
|
} catch {}
|
|
832
857
|
try {
|
|
@@ -843,7 +868,7 @@ async function spawnReviewRoleForIssuePromise(opts) {
|
|
|
843
868
|
};
|
|
844
869
|
}
|
|
845
870
|
try {
|
|
846
|
-
const { notifyPipelineSync } = await import("./pipeline-notifier-
|
|
871
|
+
const { notifyPipelineSync } = await import("./pipeline-notifier-ImNXknf0.js");
|
|
847
872
|
notifyPipelineSync({
|
|
848
873
|
type: "task_queued",
|
|
849
874
|
specialist: "review-agent",
|
|
@@ -851,19 +876,11 @@ async function spawnReviewRoleForIssuePromise(opts) {
|
|
|
851
876
|
});
|
|
852
877
|
} catch {}
|
|
853
878
|
try {
|
|
854
|
-
const { spawnRun, saveAgentState, getAgentState, getAgentStateSync, getLatestSessionIdSync, resumeAgent, wipeAgentStateDirs } = await import("./agents-
|
|
879
|
+
const { spawnRun, saveAgentState, getAgentState, getAgentStateSync, getLatestSessionIdSync, resumeAgent, wipeAgentStateDirs } = await import("./agents-BKKkxKgK.js");
|
|
855
880
|
const workAgentState = await Effect.runPromise(getAgentState(`agent-${opts.issueId.toLowerCase()}`));
|
|
856
881
|
const allowHost = opts.allowHost === true || workAgentState?.hostOverride === true;
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
const { stdout } = await execAsync("git rev-parse --short=8 HEAD", {
|
|
860
|
-
cwd: opts.workspace,
|
|
861
|
-
encoding: "utf-8",
|
|
862
|
-
timeout: 1e4
|
|
863
|
-
});
|
|
864
|
-
headSha = stdout.trim();
|
|
865
|
-
} catch {}
|
|
866
|
-
const runId = headSha !== "unknown" ? `agent-${opts.issueId.toLowerCase()}-review-${headSha}` : `agent-${opts.issueId.toLowerCase()}-review`;
|
|
882
|
+
const head8 = await deriveReviewRunHead8(opts.issueId, opts.workspace);
|
|
883
|
+
const runId = head8 !== "unknown" ? `agent-${opts.issueId.toLowerCase()}-review-${head8}` : `agent-${opts.issueId.toLowerCase()}-review`;
|
|
867
884
|
const reviewDir = join(opts.workspace, PAN_DIRNAME, "review", runId);
|
|
868
885
|
let contextManifestPath;
|
|
869
886
|
let tier1Summary;
|
|
@@ -1225,4 +1242,4 @@ var init_review_agent = __esmMin((() => {
|
|
|
1225
1242
|
//#endregion
|
|
1226
1243
|
export { isReviewStaleSync as a, purgeReviewAgentsForIssue as c, buildConvoyPrompt as d, handleReviewDiscoveryReady as f, reviewResumeDecision as h, isReviewSessionForIssue as i, resolveReviewMode as l, spawnReviewSubRoleForIssue as m, init_review_agent as n, killAllReviewSessions as o, resolveReReviewScope as p, isExtendedReviewEnabled as r, killAllReviewerSessions as s, PARENT_REVIEW_TIMEOUT_MS as t, spawnReviewRoleForIssue as u };
|
|
1227
1244
|
|
|
1228
|
-
//# sourceMappingURL=review-agent-
|
|
1245
|
+
//# sourceMappingURL=review-agent-CHhI66UP.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { i as findPlanSync, o as init_io } from "./io-
|
|
5
|
-
import { n as getForgeAdapter } from "./forge-
|
|
1
|
+
import { gr as init_issue_id, mr as extractNumberSync } from "./config-yaml-CmOPzmBb.js";
|
|
2
|
+
import { o as init_activity_logger, r as emitActivityEntrySync } from "./activity-logger-CyteR4JO.js";
|
|
3
|
+
import { c as withRepoArtifactUrlSync, i as init_merge_set, l as withRepoStateSync, n as ensureMergeSetForIssueSync, s as upsertMergeSetSync } from "./merge-set-DH7ot3yz.js";
|
|
4
|
+
import { i as findPlanSync, o as init_io } from "./io-VHvc0Ssp.js";
|
|
5
|
+
import { n as getForgeAdapter, r as init_forge } from "./forge-CZbSg6Ds.js";
|
|
6
6
|
import { join } from "node:path";
|
|
7
7
|
import { Data, Effect } from "effect";
|
|
8
8
|
import { existsSync } from "node:fs";
|
|
@@ -11,6 +11,7 @@ import { exec } from "node:child_process";
|
|
|
11
11
|
import { promisify } from "node:util";
|
|
12
12
|
//#region ../../lib/review-artifacts.ts
|
|
13
13
|
init_io();
|
|
14
|
+
init_forge();
|
|
14
15
|
init_issue_id();
|
|
15
16
|
init_merge_set();
|
|
16
17
|
init_activity_logger();
|
|
@@ -153,4 +154,4 @@ const createReviewArtifactsForIssue = (issueId, workspacePath) => Effect.tryProm
|
|
|
153
154
|
//#endregion
|
|
154
155
|
export { createReviewArtifactsForIssue };
|
|
155
156
|
|
|
156
|
-
//# sourceMappingURL=review-artifacts-
|
|
157
|
+
//# sourceMappingURL=review-artifacts-DSMRIfuJ.js.map
|
|
@@ -1,11 +1,12 @@
|
|
|
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 { a as PAN_DIRNAME, p as init_types } from "./types-hraoaQIp.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { n as
|
|
4
|
+
import { l as resolveWorkspaceRepoRootsSync, r as init_project_repos } from "./project-repos-C0nuoBGv.js";
|
|
5
|
+
import { i as findPlanSync, o as init_io, u as readPlan } from "./io-VHvc0Ssp.js";
|
|
6
|
+
import { d as getDevrootPathSync, f as init_config } from "./config-Dr3pW6w6.js";
|
|
7
|
+
import { a as init_lifecycle_io, i as findXBriefByIssueSync } from "./lifecycle-io-D-lGdzK3.js";
|
|
8
|
+
import { n as init_review_verdict_feedback } from "./review-verdict-feedback-CELeUinh.js";
|
|
9
|
+
import { i as lookupPullRequestNumberForBranch, n as init_github_pr_lookup } from "./github-pr-lookup-BDq6Wznz.js";
|
|
9
10
|
import { Effect } from "effect";
|
|
10
11
|
import { existsSync } from "fs";
|
|
11
12
|
import { join } from "path";
|
|
@@ -339,26 +340,26 @@ async function getCurrentBranch(cwd) {
|
|
|
339
340
|
return "unknown";
|
|
340
341
|
}
|
|
341
342
|
}
|
|
342
|
-
async function getDiffBase(cwd) {
|
|
343
|
+
async function getDiffBase(cwd, targetBranch = "main") {
|
|
343
344
|
try {
|
|
344
|
-
const { stdout } = await execAsync(
|
|
345
|
+
const { stdout } = await execAsync(`git merge-base origin/${targetBranch} HEAD`, {
|
|
345
346
|
cwd,
|
|
346
347
|
encoding: "utf-8"
|
|
347
348
|
});
|
|
348
349
|
return stdout.trim();
|
|
349
350
|
} catch {
|
|
350
351
|
try {
|
|
351
|
-
const { stdout } = await execAsync(
|
|
352
|
+
const { stdout } = await execAsync(`git merge-base ${targetBranch} HEAD`, {
|
|
352
353
|
cwd,
|
|
353
354
|
encoding: "utf-8"
|
|
354
355
|
});
|
|
355
356
|
return stdout.trim();
|
|
356
357
|
} catch {
|
|
357
|
-
return
|
|
358
|
+
return targetBranch;
|
|
358
359
|
}
|
|
359
360
|
}
|
|
360
361
|
}
|
|
361
|
-
async function getChangedFiles(cwd, base) {
|
|
362
|
+
async function getChangedFiles(cwd, base, pathPrefix = "") {
|
|
362
363
|
let nameStatus = "";
|
|
363
364
|
try {
|
|
364
365
|
const { stdout } = await execAsync(`git diff --name-status "${base}"...HEAD`, {
|
|
@@ -400,12 +401,13 @@ async function getChangedFiles(cwd, base) {
|
|
|
400
401
|
additions: 0,
|
|
401
402
|
deletions: 0
|
|
402
403
|
};
|
|
404
|
+
const prefixedPath = `${pathPrefix}${path}`;
|
|
403
405
|
files.push({
|
|
404
|
-
path,
|
|
406
|
+
path: prefixedPath,
|
|
405
407
|
status: statusLetter,
|
|
406
408
|
additions: counts.additions,
|
|
407
409
|
deletions: counts.deletions,
|
|
408
|
-
riskScore: riskScore(
|
|
410
|
+
riskScore: riskScore(prefixedPath)
|
|
409
411
|
});
|
|
410
412
|
}
|
|
411
413
|
return files.sort((a, b) => b.riskScore - a.riskScore);
|
|
@@ -515,6 +517,10 @@ function formatTier1Summary(manifest) {
|
|
|
515
517
|
lines.push(`Issue: ${manifest.issueId}`);
|
|
516
518
|
lines.push(`Branch: ${manifest.branch}`);
|
|
517
519
|
lines.push(`Head: ${manifest.headSha}`);
|
|
520
|
+
if (manifest.repos && manifest.repos.length > 1) {
|
|
521
|
+
lines.push("Polyrepo workspace — changed-file paths are prefixed with the sub-repo name:");
|
|
522
|
+
for (const repo of manifest.repos) lines.push(` ${repo.repoKey}: ${repo.branch} @ ${repo.headSha.slice(0, 8)} (${repo.fileCount} files changed)`);
|
|
523
|
+
}
|
|
518
524
|
const highRisk = manifest.changedFiles.filter((f) => f.riskScore >= 5);
|
|
519
525
|
const medRisk = manifest.changedFiles.filter((f) => f.riskScore >= 3 && f.riskScore < 5);
|
|
520
526
|
const lowRisk = manifest.changedFiles.filter((f) => f.riskScore < 3);
|
|
@@ -582,19 +588,55 @@ function formatTier1Summary(manifest) {
|
|
|
582
588
|
async function buildReviewContextPromise(opts) {
|
|
583
589
|
const { runId, issueId, workspace } = opts;
|
|
584
590
|
if (!existsSync(workspace)) throw new Error(`Workspace directory does not exist: ${workspace}`);
|
|
585
|
-
const
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
591
|
+
const roots = resolveWorkspaceRepoRootsSync(issueId, workspace);
|
|
592
|
+
const isPolyrepo = roots.some((root) => root.isPolyrepo);
|
|
593
|
+
const perRepo = await Promise.all(roots.map(async (root) => {
|
|
594
|
+
const prefix = isPolyrepo ? `${root.repoKey}/` : "";
|
|
595
|
+
const [headSha, branch, diffBase] = await Promise.all([
|
|
596
|
+
getHeadSha(root.dir),
|
|
597
|
+
getCurrentBranch(root.dir),
|
|
598
|
+
getDiffBase(root.dir, root.targetBranch)
|
|
599
|
+
]);
|
|
600
|
+
const [changedFiles, diffStat, stubUiFindings] = await Promise.all([
|
|
601
|
+
getChangedFiles(root.dir, diffBase, prefix),
|
|
602
|
+
getDiffStat(root.dir, diffBase),
|
|
603
|
+
scanStubUi(root.dir, diffBase).catch((err) => {
|
|
604
|
+
console.warn(`[buildReviewContext] scanStubUi failed for ${root.repoKey}: ${err instanceof Error ? err.message : String(err)}`);
|
|
605
|
+
return [];
|
|
606
|
+
})
|
|
607
|
+
]);
|
|
608
|
+
return {
|
|
609
|
+
root,
|
|
610
|
+
headSha,
|
|
611
|
+
branch,
|
|
612
|
+
diffBase,
|
|
613
|
+
changedFiles,
|
|
614
|
+
diffStat,
|
|
615
|
+
stubUiFindings: prefix ? stubUiFindings.map((finding) => ({
|
|
616
|
+
...finding,
|
|
617
|
+
filePath: `${prefix}${finding.filePath}`
|
|
618
|
+
})) : stubUiFindings
|
|
619
|
+
};
|
|
620
|
+
}));
|
|
621
|
+
const primary = perRepo.find((repo) => repo.changedFiles.length > 0) ?? perRepo[0];
|
|
622
|
+
const headSha = primary.headSha;
|
|
623
|
+
const currentBranch = isPolyrepo ? primary.branch : opts.branch ?? primary.branch;
|
|
624
|
+
const changedFiles = perRepo.flatMap((repo) => repo.changedFiles).sort((a, b) => b.riskScore - a.riskScore);
|
|
625
|
+
const diff = isPolyrepo ? {
|
|
626
|
+
stat: perRepo.filter((repo) => repo.changedFiles.length > 0).map((repo) => `── ${repo.root.repoKey} ──\n${repo.diffStat.stat}`).join("\n") || "No changes",
|
|
627
|
+
truncated: true
|
|
628
|
+
} : primary.diffStat;
|
|
629
|
+
const stubUiFindings = perRepo.flatMap((repo) => repo.stubUiFindings);
|
|
630
|
+
const repoContexts = perRepo.map((repo) => ({
|
|
631
|
+
repoKey: repo.root.repoKey,
|
|
632
|
+
branch: repo.branch,
|
|
633
|
+
headSha: repo.headSha,
|
|
634
|
+
diffBase: repo.diffBase,
|
|
635
|
+
fileCount: repo.changedFiles.length
|
|
636
|
+
}));
|
|
637
|
+
const [planRequirements, policyNotes, codeRabbitFindings] = await Promise.all([
|
|
592
638
|
extractPlanReviewRequirements(workspace, issueId),
|
|
593
639
|
readPolicyNotes(workspace),
|
|
594
|
-
scanStubUi(workspace, diffBase).catch((err) => {
|
|
595
|
-
console.warn(`[buildReviewContext] scanStubUi failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
596
|
-
return [];
|
|
597
|
-
}),
|
|
598
640
|
fetchCodeRabbitFindings({
|
|
599
641
|
workspace,
|
|
600
642
|
branch: currentBranch
|
|
@@ -619,6 +661,7 @@ async function buildReviewContextPromise(opts) {
|
|
|
619
661
|
generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
620
662
|
branch: currentBranch,
|
|
621
663
|
headSha,
|
|
664
|
+
...isPolyrepo ? { repos: repoContexts } : {},
|
|
622
665
|
diff,
|
|
623
666
|
changedFiles,
|
|
624
667
|
largeChangeset,
|
|
@@ -642,6 +685,7 @@ var init_review_context = __esmMin((() => {
|
|
|
642
685
|
init_lifecycle_io();
|
|
643
686
|
init_config();
|
|
644
687
|
init_errors();
|
|
688
|
+
init_project_repos();
|
|
645
689
|
execAsync = promisify$1(exec$1);
|
|
646
690
|
RISK_HIGH = 5;
|
|
647
691
|
RISK_MED = 3;
|
|
@@ -700,4 +744,4 @@ var init_review_context = __esmMin((() => {
|
|
|
700
744
|
//#endregion
|
|
701
745
|
export { getDiffStat as a, getDiffBase as i, formatTier1Summary as n, init_review_context as o, getChangedFiles as r, buildReviewContext as t };
|
|
702
746
|
|
|
703
|
-
//# sourceMappingURL=review-context-
|
|
747
|
+
//# sourceMappingURL=review-context-oFuBbiEE.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { w as init_tmux } from "./tmux-
|
|
2
|
+
import { w as init_tmux } from "./tmux-B1Wbxz5o.js";
|
|
3
3
|
import "effect";
|
|
4
4
|
import "fs";
|
|
5
5
|
import "path";
|
|
@@ -52,47 +52,6 @@ function evaluateReviewConvoyLiveness(issueId, status, agents, now = Date.now())
|
|
|
52
52
|
}
|
|
53
53
|
var init_review_convoy_liveness = __esmMin((() => {}));
|
|
54
54
|
//#endregion
|
|
55
|
-
|
|
56
|
-
function createPromiseCoalescer() {
|
|
57
|
-
const inFlight = /* @__PURE__ */ new Map();
|
|
58
|
-
return {
|
|
59
|
-
run(key, task) {
|
|
60
|
-
const existing = inFlight.get(key);
|
|
61
|
-
if (existing) return existing;
|
|
62
|
-
const p = task();
|
|
63
|
-
inFlight.set(key, p);
|
|
64
|
-
p.catch(() => {}).finally(() => inFlight.delete(key));
|
|
65
|
-
return p;
|
|
66
|
-
},
|
|
67
|
-
isInFlight(key) {
|
|
68
|
-
return inFlight.has(key);
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
function createInFlightGuard() {
|
|
73
|
-
const inFlight = /* @__PURE__ */ new Set();
|
|
74
|
-
return {
|
|
75
|
-
run(key, task, onError) {
|
|
76
|
-
if (inFlight.has(key)) return false;
|
|
77
|
-
inFlight.add(key);
|
|
78
|
-
(async () => {
|
|
79
|
-
try {
|
|
80
|
-
await task();
|
|
81
|
-
} catch (err) {
|
|
82
|
-
onError?.(err);
|
|
83
|
-
} finally {
|
|
84
|
-
inFlight.delete(key);
|
|
85
|
-
}
|
|
86
|
-
})();
|
|
87
|
-
return true;
|
|
88
|
-
},
|
|
89
|
-
isInFlight(key) {
|
|
90
|
-
return inFlight.has(key);
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
var init_in_flight_guard = __esmMin((() => {}));
|
|
95
|
-
//#endregion
|
|
96
|
-
export { init_review_convoy_liveness as a, init_review_monitor as c, evaluateReviewConvoyLiveness as i, createPromiseCoalescer as n, reviewTimestampMs as o, init_in_flight_guard as r, REVIEW_SUB_ROLES as s, createInFlightGuard as t };
|
|
55
|
+
export { init_review_monitor as a, REVIEW_SUB_ROLES as i, init_review_convoy_liveness as n, reviewTimestampMs as r, evaluateReviewConvoyLiveness as t };
|
|
97
56
|
|
|
98
|
-
//# sourceMappingURL=
|
|
57
|
+
//# sourceMappingURL=review-convoy-liveness-CpzrcJ5F.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { S as setReviewStatusSync, d as getReviewStatusesSync, f as init_review_status, g as markWorkspaceStuck, i as clearReviewStatus, m as loadReviewStatuses, t as FEEDBACK_DELIVERY_STUCK_REASON, u as getReviewStatusSync } from "./review-status-yljtTd-q.js";
|
|
2
|
+
init_review_status();
|
|
3
|
+
export { FEEDBACK_DELIVERY_STUCK_REASON, clearReviewStatus, getReviewStatusSync, getReviewStatusesSync, loadReviewStatuses, markWorkspaceStuck, setReviewStatusSync };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { f as init_review_status, u as getReviewStatusSync } from "./review-status-yljtTd-q.js";
|
|
2
|
+
import { t as enrichReviewStatus } from "./review-status-enrichment-QV_hQkgS.js";
|
|
3
|
+
import { Effect } from "effect";
|
|
4
|
+
import { isDeepStrictEqual } from "node:util";
|
|
5
|
+
//#region review-status-emit.ts
|
|
6
|
+
init_review_status();
|
|
7
|
+
function canonicalStatus(status) {
|
|
8
|
+
const canonical = { ...status };
|
|
9
|
+
delete canonical.reviewCoordinatorSessionName;
|
|
10
|
+
delete canonical.reviewSessionNames;
|
|
11
|
+
delete canonical.reviewSubStatuses;
|
|
12
|
+
return JSON.parse(JSON.stringify(canonical));
|
|
13
|
+
}
|
|
14
|
+
function sameCanonicalReviewStatus(left, right) {
|
|
15
|
+
return isDeepStrictEqual(canonicalStatus(left), canonicalStatus(right));
|
|
16
|
+
}
|
|
17
|
+
function emitReviewStatusChanged(append, issueId, status) {
|
|
18
|
+
append({
|
|
19
|
+
type: "review.status_changed",
|
|
20
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
21
|
+
payload: {
|
|
22
|
+
issueId,
|
|
23
|
+
status
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
(async () => {
|
|
27
|
+
const enriched = await Effect.runPromise(enrichReviewStatus(issueId, status).pipe(Effect.timeout("5 seconds"), Effect.catch(() => Effect.succeed(null))));
|
|
28
|
+
if (!enriched) {
|
|
29
|
+
console.warn(`[pipeline] review-status enrichment timed out or failed for ${issueId}; unenriched event already appended`);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
if (!((enriched.reviewSessionNames?.length ?? 0) > 0 || !!enriched.reviewCoordinatorSessionName || !!enriched.reviewSubStatuses)) return;
|
|
33
|
+
const current = getReviewStatusSync(issueId);
|
|
34
|
+
if (!current || !sameCanonicalReviewStatus(current, status)) return;
|
|
35
|
+
append({
|
|
36
|
+
type: "review.status_changed",
|
|
37
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
38
|
+
payload: {
|
|
39
|
+
issueId,
|
|
40
|
+
status: enriched
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
})().catch((err) => {
|
|
44
|
+
console.warn(`[pipeline] review-status enrichment patch failed for ${issueId}:`, err);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
//#endregion
|
|
48
|
+
export { sameCanonicalReviewStatus as n, emitReviewStatusChanged as t };
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=review-status-emit-CUExtHd5.js.map
|
package/server/{review-status-enrichment-tbOn_A_u.js → review-status-enrichment-QV_hQkgS.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { M as listSessionNames, w as init_tmux } from "./tmux-
|
|
1
|
+
import { Gn as init_projects, ar as resolveProjectFromIssueSync } from "./config-yaml-CmOPzmBb.js";
|
|
2
|
+
import { M as listSessionNames, w as init_tmux } from "./tmux-B1Wbxz5o.js";
|
|
3
3
|
import { Data, Effect } from "effect";
|
|
4
4
|
import { existsSync } from "fs";
|
|
5
5
|
import { join } from "path";
|
|
@@ -34,7 +34,7 @@ function mostRecentByTimestamp(sessionNames, parseTimestamp) {
|
|
|
34
34
|
async function enrichReviewStatusPromise(issueId, status) {
|
|
35
35
|
let allSessions = [];
|
|
36
36
|
try {
|
|
37
|
-
allSessions = [...await Effect.runPromise(listSessionNames())];
|
|
37
|
+
allSessions = [...await Effect.runPromise(listSessionNames().pipe(Effect.timeout("5 seconds")))];
|
|
38
38
|
} catch {
|
|
39
39
|
return status;
|
|
40
40
|
}
|
|
@@ -124,4 +124,4 @@ const enrichReviewStatus = (issueId, status) => Effect.tryPromise({
|
|
|
124
124
|
//#endregion
|
|
125
125
|
export { enrichReviewStatusFromSessions as n, enrichReviewStatus as t };
|
|
126
126
|
|
|
127
|
-
//# sourceMappingURL=review-status-enrichment-
|
|
127
|
+
//# sourceMappingURL=review-status-enrichment-QV_hQkgS.js.map
|
|
@@ -23,7 +23,27 @@ function readReviewStatusMap() {
|
|
|
23
23
|
return null;
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
function registerCanonicalReviewStatusResolver(fn) {
|
|
27
|
+
canonicalResolver = fn;
|
|
28
|
+
}
|
|
29
|
+
function resolveCanonicalReviewStatus(issueId) {
|
|
30
|
+
if (!canonicalResolver) return {
|
|
31
|
+
available: false,
|
|
32
|
+
status: null
|
|
33
|
+
};
|
|
34
|
+
try {
|
|
35
|
+
return {
|
|
36
|
+
available: true,
|
|
37
|
+
status: canonicalResolver(issueId)
|
|
38
|
+
};
|
|
39
|
+
} catch {
|
|
40
|
+
return {
|
|
41
|
+
available: false,
|
|
42
|
+
status: null
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
var TERMINAL_REVIEW, TERMINAL_TEST, reader, canonicalResolver;
|
|
27
47
|
var init_review_status_source = __esmMin((() => {
|
|
28
48
|
TERMINAL_REVIEW = new Set([
|
|
29
49
|
"passed",
|
|
@@ -32,8 +52,9 @@ var init_review_status_source = __esmMin((() => {
|
|
|
32
52
|
]);
|
|
33
53
|
TERMINAL_TEST = new Set(["passed", "failed"]);
|
|
34
54
|
reader = null;
|
|
55
|
+
canonicalResolver = null;
|
|
35
56
|
}));
|
|
36
57
|
//#endregion
|
|
37
|
-
export {
|
|
58
|
+
export { registerCanonicalReviewStatusResolver as a, readReviewStatusMap as i, init_review_status_source as n, registerReviewStatusMapReader as o, isRoleTerminal as r, resolveCanonicalReviewStatus as s, classifyAdvancingSessionLifecycle as t };
|
|
38
59
|
|
|
39
|
-
//# sourceMappingURL=review-status-source-
|
|
60
|
+
//# sourceMappingURL=review-status-source-CpvJnvnQ.js.map
|