@overdeck/desktop 0.45.23 → 0.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/drizzle/overdeck/0000_overdeck_init.sql +34 -0
- package/package.json +1 -1
- package/server/{acceptance-criteria-DOA0KgXx.js → acceptance-criteria-CCwFGICj.js} +2 -2
- package/server/activity-logger-CMthG6Vd.js +3 -0
- package/server/{activity-logger-DDlOIAML.js → activity-logger-CyteR4JO.js} +24 -13
- package/server/{advancing-selfheal-BBu6DSNm.js → advancing-selfheal-De1L-Sb4.js} +6 -6
- package/server/{agent-gc-BV1q_2EV.js → agent-gc-CBULruzm.js} +5 -5
- package/server/agent-state-VQk8fY9F.js +3 -0
- package/server/{agent-state-service-HoK8U4jW.js → agent-state-service-BlnSkRFA.js} +5 -5
- package/server/{agent-state-service-CnzFKSAQ.js → agent-state-service-hZpxIw1E.js} +1 -1
- package/server/agents-BKKkxKgK.js +3 -0
- package/server/{agents-B4Bjbkfv.js → agents-C5rWYhb6.js} +4 -4
- package/server/archive-planning-0FJ6Xd3b.js +2 -0
- package/server/{archive-planning-DYrYojxl.js → archive-planning-C0lAbNB_.js} +16 -24
- package/server/{artifact-index-jobs-C-xy7Z5v.js → artifact-index-jobs-ug6ZxIP5.js} +2 -2
- package/server/assemble-DnffNpOo.js +339 -0
- package/server/{backlog-auto-trigger-GtG71X8H.js → backlog-auto-trigger-Dh-i9PQf.js} +3 -3
- package/server/{behavior-B_-4EKF3.js → behavior-CfIg6pKp.js} +2 -2
- package/server/bridge-pool-patrol-CUFmjVDN.js +136 -0
- package/server/{briefing-freshness-DWdW7vUm.js → briefing-freshness-DHmCSLar.js} +2 -2
- package/server/{build-info-DgTqZkL5.js → build-info-BP160gU7.js} +1 -1
- package/server/{build-info-BT096lEl.js → build-info-CuFfxZxp.js} +5 -3
- package/server/{checkpoint-manager-DDqcGyu8.js → checkpoint-manager-DEWD82qK.js} +2 -2
- package/server/{checkpoint-manager-B7Bt29J0.js → checkpoint-manager-Dxh0FYsv.js} +1 -1
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-C-AXLfYT.js → checkpoints-CZvbtLnr.js} +2 -2
- package/server/{checkpoints-CpgCjAlN.js → checkpoints-DMTgXuLG.js} +1 -1
- package/server/{claude-hooks-provision-C8wdRnN1.js → claude-hooks-provision-CN-xo-do.js} +1 -1
- package/server/{claude-hooks-provision-but-_qGY.js → claude-hooks-provision-fvy4RD2b.js} +13 -2
- package/server/{claude-permissions-H_5wHQZQ.js → claude-permissions-CN0cSCPp.js} +2 -2
- package/server/{claude-settings-overlay-CbSz0Dvb.js → claude-settings-overlay-CJn35FHQ.js} +2 -2
- package/server/{claude-settings-overlay-BTENVmYf.js → claude-settings-overlay-Dabi9slj.js} +1 -1
- package/server/cli-DmXETsw-.js +3 -0
- package/server/{cli-vBeXbPrq.js → cli-oCWYA1pE.js} +9 -9
- package/server/{cliproxy-Bgb2XCqi.js → cliproxy-C8mB3KuB.js} +2 -2
- package/server/{cliproxy-DW0V86F8.js → cliproxy-PGwTX_o8.js} +1 -1
- package/server/{close-issue-Dn_4c4G8.js → close-issue-D5MF5GqF.js} +5 -5
- package/server/{closed-issue-reaper-CWpY2uBw.js → closed-issue-reaper-CJ24u0Zt.js} +1 -1
- package/server/{closed-issue-reaper-hANY_ehE.js → closed-issue-reaper-Cltx86x5.js} +37 -16
- package/server/{codex-Dg7Is5yb.js → codex-BdEsUFWh.js} +1 -1
- package/server/{codex-TmSi-yTv.js → codex-Drlf5Xhf.js} +37 -8
- package/server/{codex-parser-C4gSH-IR.js → codex-parser-DpB89Vqa.js} +2 -2
- package/server/compaction-continuation-K2AxQX4H.js +200 -0
- package/server/{config-DjLOdbgT.js → config-B2IMcBxx.js} +4 -3
- package/server/{config-DUIhMN_T.js → config-DV-grfQc.js} +1 -1
- package/server/{config-CCvjQf27.js → config-Dr3pW6w6.js} +2 -2
- package/server/{config-yaml-DvyMuOle.js → config-yaml-CmOPzmBb.js} +290 -22
- package/server/{conflict-gate-CmrYpa47.js → conflict-gate-B9cN3SBi.js} +4 -4
- package/server/{conflict-gate-BSJkNTdp.js → conflict-gate-Dh754uyA.js} +1 -1
- package/server/context-layers-D6LZo3l1.js +4 -0
- package/server/context-layers-dR5YxHYB.js +37 -0
- package/server/{control-settings-aP1ANIlI.js → control-settings-C7DUehE1.js} +49 -19
- package/server/{conversation-compaction-CNbTLB86.js → conversation-compaction-BoqdDXWF.js} +8 -8
- package/server/{conversation-compaction-DiG5zWQq.js → conversation-compaction-Dj4FAKoZ.js} +1 -1
- package/server/{conversation-service-Du-MTNpJ.js → conversation-service-5aCnq1zR.js} +331 -20
- package/server/conversation-service-BCxl4f8Z.js +3 -0
- package/server/{conversations-DbOs1e9Q.js → conversations-BUpYsOZg.js} +5 -5
- package/server/{conversations-6mPANqvL.js → conversations-C34dyIb9.js} +1 -1
- package/server/{cost-Ca0YTWDw.js → cost-Bgcub5kW.js} +12 -2
- package/server/{cost-CW4WSe72.js → cost-CvxRrucd.js} +3 -3
- package/server/{cost-sync-C0VdGme1.js → cost-sync-Dv3LUaNW.js} +3 -3
- package/server/{dag-CdOjJVDT.js → dag-ombYYt4s.js} +2 -2
- package/server/{dangerous-git-ops-CT-IypG3.js → dangerous-git-ops-BcJPC5Rr.js} +1 -1
- package/server/dashboard-db-worker.js +7 -7
- package/server/deacon-DrXqT9LQ.js +4 -0
- package/server/{deacon-pRnyD5w9.js → deacon-hi9KLPLT.js} +2998 -2659
- package/server/{deacon-nudge-log-Bjg8U4Y9.js → deacon-nudge-log-BNBebzeL.js} +3 -3
- package/server/deacon-pending-lifecycle-Cpk0k7Hi.js +33 -0
- package/server/{deacon-swarm-DftYRDo8.js → deacon-swarm-DBxUaO-A.js} +13 -13
- package/server/deacon-swarm-I2JfX5Tg.js +2 -0
- package/server/deacon.js +14 -19
- package/server/dead-end-trip-CQcP70ND.js +13 -0
- package/server/delivery-Da0zEMY4.js +3 -0
- package/server/{deploy-patrol-Bjsho_ha.js → deploy-patrol-Df-Tmaq0.js} +69 -18
- package/server/deploy-queue-9SrhZR63.js +3 -0
- package/server/deploy-queue-UjKGYsDe.js +169 -0
- package/server/deploy-window-jOiPRHL0.js +3 -0
- package/server/{deploy-window-DeP_OIRk.js → deploy-window-rpqpWqHA.js} +40 -16
- package/server/{dev-supervisor-BpMoHlkR.js → dev-supervisor-CC46Ig8q.js} +2 -2
- package/server/{devcontainer-renderer-CtUgrVKW.js → devcontainer-renderer-68CSCRnu.js} +3 -3
- package/server/{dist-DyRx4cI7.js → dist-CJy72uEg.js} +1 -1
- package/server/dist-DSlxIU1H.js +3 -0
- package/server/{dist-src-BSoS7mkd.js → dist-src-Bik83hFi.js} +1 -1
- package/server/docker-BMVTSFL5.js +3 -0
- package/server/{docker-BK7HIcBj.js → docker-Dam7mbIB.js} +2 -2
- package/server/{dod-BrSfUHm0.js → dod-Dar-yheg.js} +8 -4
- package/server/durable-review-pipeline-CGZ5QBxh.js +17 -0
- package/server/durable-review-pipeline-jpgCJZFp.js +3 -0
- package/server/{ensure-devcontainer-DseivYEy.js → ensure-devcontainer-B057YA81.js} +4 -4
- package/server/{ensure-devcontainer-DRqaAkBR.js → ensure-devcontainer-C98V8yW-.js} +1 -1
- package/server/{esm-shims-CbI3BVkl.js → esm-shims-Br9BPdkR.js} +1 -1
- package/server/{event-store-Cr5PQwFC.js → event-store-ELqkVOn0.js} +1 -1
- package/server/{event-store-tdiY5eDZ.js → event-store-zY5MJHgF.js} +23 -4
- package/server/{events-CvvGK6LT.js → events-D6pyqhzM.js} +1 -1
- package/server/{events-CC1dgUpx.js → events-D9PR1IC0.js} +3 -3
- package/server/{factory-CynerjXO.js → factory-CRoOpGsF.js} +5 -5
- package/server/{feature-registry-population-B0pmAz0a.js → feature-registry-population--YUXU999.js} +4 -4
- package/server/{feature-registry-storage-_wUBRD3J.js → feature-registry-storage-BORBTo0y.js} +2 -2
- package/server/{features-Dhxz-wLc.js → features--nFkJY8v.js} +2 -2
- package/server/{feedback-target-iygZwmMc.js → feedback-target-C0ZzyHvU.js} +1 -1
- package/server/{feedback-target-CPS15Vte.js → feedback-target-Dt9BsapX.js} +8 -8
- package/server/{feedback-writer-C9b6ccN1.js → feedback-writer-BG0RUZiu.js} +5 -5
- package/server/{feedback-writer-qmiMbqTZ.js → feedback-writer-D1fm-5Z8.js} +1 -1
- package/server/flywheel-BekukH4i.js +2 -0
- package/server/flywheel-BiT3odRb.js +1092 -0
- package/server/flywheel-CLVB55Be.js +478 -0
- package/server/flywheel-merge-order-BJv1DZz1.js +462 -0
- package/server/flywheel-merge-order-BKw9o6ku.js +2 -0
- package/server/forge-CZbSg6Ds.js +383 -0
- package/server/forge-DK3blQb_.js +3 -0
- package/server/{from-CJ_aH5jD.js → from-D_4_dk7i.js} +1 -1
- package/server/{fts-db-CKgg0VKg.js → fts-db-BeOomFa-.js} +2 -2
- package/server/{fts-operations-BrL_VTRr.js → fts-operations-BdewJ_g9.js} +2 -2
- package/server/git-utils-CI6cwyyC.js +3 -0
- package/server/{git-utils-BVa07a4a.js → git-utils-ameCgDdy.js} +93 -3
- package/server/{github-app-CMBdIFBQ.js → github-app-CQ1Lo6LA.js} +19 -8
- package/server/{github-app-CPfoFAdV.js → github-app-DtAsvwzK.js} +1 -1
- package/server/{github-client--XVlDpwM.js → github-client-BfyDxuRN.js} +2 -2
- package/server/{github-client-B4QsdE-X.js → github-client-Cj0yl_07.js} +1 -1
- package/server/github-pr-lookup-BDq6Wznz.js +58 -0
- package/server/{harness-binary-CVio2m-u.js → harness-binary-DqkftwTb.js} +32 -6
- package/server/{harness-resolve-qHJBhy3Z.js → harness-resolve-CqMqM1Mb.js} +18 -9
- package/server/{health-events-C9B8y1Hm.js → health-events-CazRxJUS.js} +2 -2
- package/server/{health-events-CpfvuVmm.js → health-events-_xfTaOUs.js} +1 -1
- package/server/{hooks-DUXw8A0-.js → hooks-BO3QT1sn.js} +2 -2
- package/server/{hooks-ltecuFqZ.js → hooks-BnJsxlSq.js} +1 -1
- package/server/{hume-BEq0bUDg.js → hume-CDYJxqx-.js} +2 -2
- package/server/hume-Dq--7rOQ.js +3 -0
- package/server/{idle-stack-reaper-D7w9t3fE.js → idle-stack-reaper-BYqERdkE.js} +1 -1
- package/server/{idle-stack-reaper-w1ISSlhs.js → idle-stack-reaper-CnGx_PO_.js} +99 -6
- package/server/in-flight-guard-Bq3epG58.js +45 -0
- package/server/{infra-CzaSOgul.js → infra-BjuxvjdS.js} +80 -5
- package/server/{injection-oNZeoDhL.js → injection-DZxlV2al.js} +1 -1
- package/server/{injection-DZ0PfYa4.js → injection-UCf8EsjX.js} +191 -183
- package/server/{inspect-agent-DJKLWcVT.js → inspect-agent-6kylZnrm.js} +139 -82
- package/server/inspect-agent-BVwDrVrz.js +2 -0
- package/server/{internal-token-Bb4XeV2x.js → internal-token-DvMTQSOS.js} +2 -2
- package/server/{internal-token-DXdfprGr.js → internal-token-M9omeXM1.js} +1 -1
- package/server/{io-B3_AHDfr.js → io-VHvc0Ssp.js} +43 -26
- package/server/{issue-closed-zhdvQicO.js → issue-closed-B6KJkmHZ.js} +7 -7
- package/server/{issue-lifecycle-Dy4vd0Oa.js → issue-lifecycle-9gk3fnXN.js} +1 -1
- package/server/{issue-lifecycle-CreaCkjW.js → issue-lifecycle-C4Zj0WmE.js} +34 -28
- package/server/{issue-service-singleton-B5ushCvE.js → issue-service-singleton-DmCh7EHj.js} +10 -10
- package/server/{issue-service-singleton-DabvBWUp.js → issue-service-singleton-PMx8F1jr.js} +1 -1
- package/server/{issues-B6ToV6x1.js → issues-CgnQ1OGQ.js} +2 -2
- package/server/{jsonl-parser-Dhflo1SH.js → jsonl-parser-DJOH_O-w.js} +5 -4
- package/server/{label-cleanup-BKPJm4Hv.js → label-cleanup-Dv7AV_R1.js} +3 -3
- package/server/{label-reconciler-DdWbHEBu.js → label-reconciler--F85rufp.js} +4 -4
- package/server/{lifecycle-DfeyBDwA.js → lifecycle-CTdOWYMi.js} +2 -2
- package/server/{lifecycle-sycO16hj.js → lifecycle-DDN8ApVY.js} +6 -7
- package/server/{lifecycle-io-D8iNBcux.js → lifecycle-io-D-lGdzK3.js} +5 -5
- package/server/{lifecycle-io-Bsnr2K4F.js → lifecycle-io-D_zTLvP1.js} +1 -1
- package/server/{linear-client-D4zqMnX7.js → linear-client-BQU36QqE.js} +2 -2
- package/server/{linear-client-DqhDQO9k.js → linear-client-CY4O_Tu3.js} +1 -1
- package/server/linear-mcp-auth-BnU4TYfY.js +280 -0
- package/server/linear-mcp-auth-NYBq_oHZ.js +2 -0
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-C_ZEhbqI.js → merge-Bpx4jjht.js} +13 -11
- package/server/{merge-agent-XrB80vfT.js → merge-agent-DdMVSV2Y.js} +233 -83
- package/server/{merge-agent-BQM3a8z5.js → merge-agent-DrXa1CpW.js} +1 -1
- package/server/{merge-batch-Bwoyr8Je.js → merge-batch-C5q1c1GX.js} +1 -1
- package/server/merge-completeness-BMm8tMyZ.js +277 -0
- package/server/merge-completeness-D0ljXbk3.js +3 -0
- package/server/{merge-DK23JEdS.js → merge-idOG--29.js} +1 -1
- package/server/merge-ops-DdpTiEMt.js +2 -0
- package/server/merge-rebase-DGQpYJU3.js +2 -0
- package/server/{merge-rebase-C1KIVr0s.js → merge-rebase-xLnMlw5h.js} +3 -3
- package/server/merge-set-DH7ot3yz.js +89 -0
- package/server/merge-set-DzsOTBg5.js +3 -0
- package/server/{merge-sync-DZ9dojJn.js → merge-sync-CQ-LgZ1_.js} +406 -153
- package/server/merge-sync-Ca7F5JnQ.js +3 -0
- package/server/{merge-train-DxDfBTjr.js → merge-train-DTEMyIu4.js} +18 -8
- package/server/{merge-train-deps-CyYQUksx.js → merge-train-deps-CNPJzepw.js} +4 -4
- package/server/merge-verification-x3JO8Dtz.js +220 -0
- package/server/merged-docker-cleanup-worker-CTpC27Bs.js +107 -0
- package/server/merged-docker-cleanup-worker-Cdi9apm-.js +3 -0
- package/server/{multipart-parser-Dt8YPN5S.js → multipart-parser-IMSBfePV.js} +2 -2
- package/server/{no-resume-mode-Cx3K0hHi.js → no-resume-mode-C5ULAXwO.js} +1 -1
- package/server/node_modules/.package-lock.json +27 -27
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +3 -3
- package/server/node_modules/@google-cloud/common/package.json +2 -2
- package/server/node_modules/gaxios/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/server/node_modules/gaxios/build/esm/tsconfig.tsbuildinfo +1 -1
- package/server/node_modules/gaxios/package.json +1 -1
- package/server/node_modules/google-auth-library/build/src/auth/googleauth.js +24 -19
- package/server/node_modules/google-auth-library/package.json +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/auth.proto +2 -1
- package/server/node_modules/google-gax/build/protos/google/api/backend.proto +12 -1
- package/server/node_modules/google-gax/build/protos/google/api/billing.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/client.proto +165 -53
- package/server/node_modules/google-gax/build/protos/google/api/cloudquotas/v1/resources.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/cloudquotas/v1beta/quota_adjuster_settings.proto +7 -3
- package/server/node_modules/google-gax/build/protos/google/api/cloudquotas/v1beta/resources.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/config_change.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/context.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/control.proto +3 -3
- package/server/node_modules/google-gax/build/protos/google/api/distribution.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/documentation.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/endpoint.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/error_reason.proto +186 -1
- package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/checked.proto +31 -3
- package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/eval.proto +8 -9
- package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/explain.proto +1 -2
- package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/syntax.proto +20 -22
- package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/value.proto +2 -3
- package/server/node_modules/google-gax/build/protos/google/api/field_behavior.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/field_info.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/http.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/httpbody.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/label.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/launch_stage.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/log.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/logging.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/metric.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/monitored_resource.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/monitoring.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/policy.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/quota.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/resource.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/routing.proto +8 -4
- package/server/node_modules/google-gax/build/protos/google/api/service.proto +2 -3
- package/server/node_modules/google-gax/build/protos/google/api/source_info.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/system_parameter.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/api/usage.proto +7 -27
- package/server/node_modules/google-gax/build/protos/google/api/visibility.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/longrunning/operations.proto +20 -1
- package/server/node_modules/google-gax/build/protos/google/protobuf/any.proto +52 -108
- package/server/node_modules/google-gax/build/protos/google/protobuf/compiler/ruby/ruby_generated_code.proto +2 -0
- package/server/node_modules/google-gax/build/protos/google/protobuf/cpp_features.proto +21 -1
- package/server/node_modules/google-gax/build/protos/google/protobuf/cpp_file_options.proto +24 -0
- package/server/node_modules/google-gax/build/protos/google/protobuf/cpp_options.proto +15 -0
- package/server/node_modules/google-gax/build/protos/google/protobuf/descriptor.proto +118 -30
- package/server/node_modules/google-gax/build/protos/google/protobuf/field_mask.proto +16 -18
- package/server/node_modules/google-gax/build/protos/google/protobuf/internal_options.proto +8 -1
- package/server/node_modules/google-gax/build/protos/google/protobuf/json/json_enumval_custom_string.proto +26 -0
- package/server/node_modules/google-gax/build/protos/google/protobuf/json_enumvalue_options.proto +29 -0
- package/server/node_modules/google-gax/build/protos/google/protobuf/json_options.proto +14 -0
- package/server/node_modules/google-gax/build/protos/google/protobuf/struct.proto +38 -22
- package/server/node_modules/google-gax/build/protos/google/protobuf/test_protos/forced_micro_string.proto +3 -0
- package/server/node_modules/google-gax/build/protos/google/protobuf/test_protos/repeated_field_proxy_import_message.proto +14 -0
- package/server/node_modules/google-gax/build/protos/google/protobuf/timestamp.proto +9 -8
- package/server/node_modules/google-gax/build/protos/google/protobuf/util/json_format_proto3.proto +18 -0
- package/server/node_modules/google-gax/build/protos/google/rpc/code.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/rpc/context/attribute_context.proto +7 -2
- package/server/node_modules/google-gax/build/protos/google/rpc/context/audit_context.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/rpc/error_details.proto +5 -5
- package/server/node_modules/google-gax/build/protos/google/rpc/http.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/rpc/status.proto +1 -2
- package/server/node_modules/google-gax/build/protos/google/type/calendar_period.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/type/color.proto +9 -10
- package/server/node_modules/google-gax/build/protos/google/type/date.proto +11 -9
- package/server/node_modules/google-gax/build/protos/google/type/datetime.proto +17 -17
- package/server/node_modules/google-gax/build/protos/google/type/dayofweek.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/type/decimal.proto +11 -13
- package/server/node_modules/google-gax/build/protos/google/type/expr.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/type/fraction.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/type/interval.proto +1 -2
- package/server/node_modules/google-gax/build/protos/google/type/latlng.proto +4 -5
- package/server/node_modules/google-gax/build/protos/google/type/localized_text.proto +3 -3
- package/server/node_modules/google-gax/build/protos/google/type/money.proto +1 -2
- package/server/node_modules/google-gax/build/protos/google/type/month.proto +1 -1
- package/server/node_modules/google-gax/build/protos/google/type/phone_number.proto +20 -15
- package/server/node_modules/google-gax/build/protos/google/type/postal_address.proto +39 -39
- package/server/node_modules/google-gax/build/protos/google/type/quaternion.proto +4 -4
- package/server/node_modules/google-gax/build/protos/google/type/timeofday.proto +11 -8
- package/server/node_modules/google-gax/package.json +5 -5
- package/server/node_modules/retry-request/package.json +4 -4
- package/server/node_modules/teeny-request/package.json +5 -5
- package/server/node_modules/undici/README.md +5 -0
- package/server/node_modules/undici/docs/docs/api/Client.md +4 -0
- package/server/node_modules/undici/docs/docs/api/Dispatcher.md +6 -0
- package/server/node_modules/undici/docs/docs/api/Interceptors.md +59 -0
- package/server/node_modules/undici/docs/docs/api/MockAgent.md +27 -0
- package/server/node_modules/undici/docs/docs/api/MockPool.md +28 -1
- package/server/node_modules/undici/docs/docs/index.md +5 -0
- package/server/node_modules/undici/lib/cache/memory-cache-store.js +54 -9
- package/server/node_modules/undici/lib/cache/sqlite-cache-store.js +7 -1
- package/server/node_modules/undici/lib/core/request.js +13 -2
- package/server/node_modules/undici/lib/core/util.js +6 -1
- package/server/node_modules/undici/lib/dispatcher/agent.js +3 -3
- package/server/node_modules/undici/lib/dispatcher/client-h1.js +42 -8
- package/server/node_modules/undici/lib/dispatcher/client-h2.js +34 -43
- package/server/node_modules/undici/lib/global.js +36 -16
- package/server/node_modules/undici/lib/handler/cache-handler.js +269 -61
- package/server/node_modules/undici/lib/handler/cache-revalidation-handler.js +13 -3
- package/server/node_modules/undici/lib/handler/redirect-handler.js +5 -2
- package/server/node_modules/undici/lib/handler/retry-handler.js +30 -4
- package/server/node_modules/undici/lib/interceptor/cache.js +159 -52
- package/server/node_modules/undici/lib/interceptor/decompress.js +9 -2
- package/server/node_modules/undici/lib/mock/mock-interceptor.js +25 -7
- package/server/node_modules/undici/lib/mock/mock-utils.js +39 -10
- package/server/node_modules/undici/lib/util/cache.js +372 -68
- package/server/node_modules/undici/lib/util/date.js +23 -6
- package/server/node_modules/undici/lib/web/cookies/util.js +78 -8
- package/server/node_modules/undici/lib/web/fetch/body.js +2 -1
- package/server/node_modules/undici/lib/web/fetch/response.js +1 -3
- package/server/node_modules/undici/package.json +2 -2
- package/server/node_modules/undici/types/client.d.ts +2 -2
- package/server/node_modules/undici/types/dispatcher.d.ts +3 -3
- package/server/node_modules/undici/types/mock-interceptor.d.ts +5 -1
- package/server/{orphan-proposed-reconciler-BTkDrl4R.js → orphan-proposed-reconciler-CWmOdM9-.js} +1 -1
- package/server/{orphan-proposed-reconciler-neK8dHQk.js → orphan-proposed-reconciler-Dg6U4ADZ.js} +24 -15
- package/server/package-lock.json +28 -28
- package/server/package.json +1 -1
- package/server/{pan-dir-DeVUgwA7.js → pan-dir-ubraCiUg.js} +24 -10
- package/server/{paths-_zEts6wc.js → paths-cXmOwSbh.js} +2 -2
- package/server/pending-lifecycle-claim-DEteYdS9.js +110 -0
- package/server/{pickup-Dd0Znxxy.js → pickup-D8xtG1J2.js} +17 -16
- package/server/pipeline-membership-BGSvkT2M.js +3 -0
- package/server/pipeline-membership-CrAPLYtf.js +57 -0
- package/server/{pipeline-membership-0HaEGDlH.js → pipeline-membership-gather-CET40frr.js} +177 -109
- package/server/pipeline-membership-gather-DTfcgxLl.js +3 -0
- package/server/{pipeline-notifier-D0ykk59O.js → pipeline-notifier-BuQ0e4hF.js} +2 -2
- package/server/{pipeline-notifier-6iCJplFZ.js → pipeline-notifier-ImNXknf0.js} +1 -1
- package/server/post-merge-lifecycle-worker-DbO10pum.js +50 -0
- package/server/{project-pipelines-2sK1apsO.js → project-pipelines-Bim6bThI.js} +2 -2
- package/server/project-repos-C0nuoBGv.js +98 -0
- package/server/project-repos-CRE6Ykow.js +3 -0
- package/server/projects-B03Wr-xc.js +3 -0
- package/server/{prompts-Dp4Tpk39.js → prompts-BEx08AIu.js} +2 -2
- package/server/{providers-DKkBXhxU.js → providers-D7IluJe0.js} +1 -1
- package/server/{providers-DV7ec8l7.js → providers-evXhiQeg.js} +7 -7
- package/server/public/assets/{chunk-BO2N2NFS-CltymLRg.js → chunk-BO2N2NFS-D1s4-Sqp.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-D2f6pjgA.js → diagram-OG6HWLK6-1gdMoSF7.js} +1 -1
- package/server/public/assets/{dist-BWR4qFiV.js → dist-CxAOHbil.js} +1 -1
- package/server/public/assets/{dist-DEmlBBNQ.js → dist-DqDRYW6P.js} +3 -3
- package/server/public/assets/{ganttDiagram-6RSMTGT7-DnfiViPK.js → ganttDiagram-6RSMTGT7-BYex-Ec7.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-B8Wrmj9H.js → highlighted-body-OFNGDK62-DlVkiG0S.js} +1 -1
- package/server/public/assets/index-Cc7cnFC4.css +1 -0
- package/server/public/assets/index-K0hAYCgV.js +807 -0
- package/server/public/assets/{linear-C9zFQpkX.js → linear-B4cuEFmO.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-DyDHFXHV.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-lR8H7Yjd.js → pieDiagram-4H26LBE5-CBHNBIJQ.js} +1 -1
- package/server/public/assets/{prod-B1jCQihw.js → prod-CN2nHBvX.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-CVQ2guem.js → quadrantDiagram-W4KKPZXB-Bom87VOQ.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-eD1RB4gm.js → sankeyDiagram-5OEKKPKP-UrBeyLxk.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-ChEC6dQn.js → xychartDiagram-2RQKCTM6-DhkbrIxR.js} +1 -1
- package/server/public/index.html +2 -2
- package/server/{pull-requests--Ib2jTgy.js → pull-requests-Cv7LxzUN.js} +1 -1
- package/server/{pull-requests-CXIhdCYD.js → pull-requests-DHWiKxo7.js} +19 -10
- package/server/{queries-6d7Cdtm7.js → queries-DHJm7bTd.js} +1134 -203
- package/server/{rally-B708-nZn.js → rally-B71M9f4o.js} +3 -3
- package/server/rally-YDjU513q.js +3 -0
- package/server/{rally-api-yjQ0TfHd.js → rally-api-D5uXN08-.js} +1 -1
- package/server/{rally-api-nY0ZANw3.js → rally-api-Dkqmok65.js} +2 -2
- package/server/{rally-client-B1EJhfV0.js → rally-client-Bfqm6XI4.js} +4 -4
- package/server/{rally-client-CULK2XAY.js → rally-client-CxsA6ExK.js} +1 -1
- package/server/{reap-terminal-sessions-MWnqdLCJ.js → reap-terminal-sessions-BQ23nriz.js} +2 -2
- package/server/{reap-terminal-sessions-N3BTkmX_.js → reap-terminal-sessions-CvmwaqKv.js} +2 -2
- package/server/{rebuild-stack-Dp4eLkt4.js → rebuild-stack-0EEYReVZ.js} +36 -36
- package/server/rebuild-stack-qeRqHZxH.js +4 -0
- package/server/{reconstruct-cache-uWbZfjms.js → reconstruct-cache-BbYFsqLa.js} +7 -6
- package/server/record-CtroO946.js +3 -0
- package/server/record-update-DH6dLJID.js +3 -0
- package/server/{record-update-Dq0t2uBG.js → record-update-Z0QCxmMp.js} +124 -34
- package/server/{recovery-trip-BJtIQuag.js → recovery-trip-eJe26h-f.js} +2 -2
- package/server/{release-engine-DZpmGGzb.js → release-engine-lPUp-MTd.js} +5 -5
- package/server/{release-set-hnXd_kga.js → release-set-BwGeyZKX.js} +3 -3
- package/server/{remote-Br-ZWVIP.js → remote-BCd02Es1.js} +3 -3
- package/server/{remote-4tiENDaI.js → remote-CVGUhXMV.js} +3 -3
- package/server/{remote-agents-CRCg1L4H.js → remote-agents-C1bssi41.js} +2 -2
- package/server/{remote-agents-nmty1mLu.js → remote-agents-C_VxssLU.js} +300 -46
- package/server/{remote-completion-BbWNd10K.js → remote-completion-DAB0P706.js} +12 -12
- package/server/resume-u9byntrq.js +3 -0
- package/server/{review-agent-DJRO8EG8.js → review-agent-CD4RCI0Y.js} +1 -1
- package/server/{review-agent-sKkE1FEL.js → review-agent-CHhI66UP.js} +61 -44
- package/server/{review-artifacts-BLbSC4ke.js → review-artifacts-DSMRIfuJ.js} +7 -6
- package/server/{review-context-BgX3lcCx.js → review-context-oFuBbiEE.js} +69 -25
- package/server/{in-flight-guard-aQ1IxeI3.js → review-convoy-liveness-CpzrcJ5F.js} +3 -44
- package/server/review-status-BZH8h-6W.js +3 -0
- package/server/review-status-emit-CUExtHd5.js +50 -0
- package/server/{review-status-enrichment-tbOn_A_u.js → review-status-enrichment-QV_hQkgS.js} +4 -4
- package/server/{review-status-source-CxuEjLGg.js → review-status-source-CpvJnvnQ.js} +24 -3
- package/server/review-status-source-ylw5QZUR.js +3 -0
- package/server/{review-status-sync-BhSQ0d0l.js → review-status-sync-483sujRo.js} +10 -5
- package/server/{review-status-sync-To3-iS-N.js → review-status-sync-NaWvI9Xf.js} +1 -1
- package/server/review-status-yljtTd-q.js +7521 -0
- package/server/{review-verdict-feedback-C1Kg8n7t.js → review-verdict-feedback-BPDn4li_.js} +1 -1
- package/server/{review-verdict-feedback-CTRNtzXO.js → review-verdict-feedback-CELeUinh.js} +48 -8
- package/server/{rollup-WA0VD-Rr.js → rollup-DTNvelz9.js} +8 -8
- package/server/{rollup-B53Y81xK.js → rollup-DYZfq1c4.js} +1 -1
- package/server/{scanner-D2743cp8.js → scanner-CV35oSn4.js} +42 -14
- package/server/{sequence-io-Cg0zYj_E.js → sequence-io-DF_8iuhV.js} +4 -4
- package/server/{sequencer-agent-BGY8gjg-.js → sequencer-agent-B2WeCtGi.js} +5 -5
- package/server/server.js +3899 -672
- package/server/{service-DCpB_SGd.js → service-Br9rpBNA.js} +83 -65
- package/server/{session-fork-BQ8_6H32.js → session-fork-D0LY152N.js} +2 -2
- package/server/{session-history-CVZDpS3c.js → session-history-BUyK29eq.js} +4 -4
- package/server/{settings-BZ5m1UCl.js → settings-Bse1Pdcj.js} +3 -3
- package/server/settings-CdvIF84R.js +2 -0
- package/server/{settings-ylxwqwQG.js → settings-CvVGqNEs.js} +3 -2
- package/server/{shadow-engineering-BlxG6Xye.js → shadow-engineering-BWLa8ODz.js} +2 -2
- package/server/{shadow-state-Dh-HzF2J.js → shadow-state-B4fpKxOO.js} +2 -2
- package/server/{shadow-state-C2_epgx2.js → shadow-state-FV6PHfEW.js} +1 -1
- package/server/{shadow-utils-4bvjn9b3.js → shadow-utils-D7asqxOZ.js} +2 -2
- package/server/{ship-log-ClSMIzZX.js → ship-log-xplJ8t75.js} +1 -1
- package/server/{smart-compaction-CHIxLr_d.js → smart-compaction-CPp2Ykf6.js} +1 -1
- package/server/{smart-compaction-r4pHQBIr.js → smart-compaction-D3U_79f-.js} +8 -7
- package/server/{spawn-planning-session-KC_UduxD.js → spawn-planning-session-1nFi3gfk.js} +1 -1
- package/server/{spawn-planning-session-DWAorh2B.js → spawn-planning-session-DGfZ5B8D.js} +30 -23
- package/server/{specialist-completion-BXhav38U.js → specialist-completion-Br48eiDP.js} +1 -1
- package/server/{specialist-context-DtrYvGJ-.js → specialist-context-cVbGnTa3.js} +5 -5
- package/server/{specialist-handoff-logger-C45ouoZ6.js → specialist-handoff-logger-DK-GTz4s.js} +2 -2
- package/server/{specialist-logs-DJ3RzKxW.js → specialist-logs-Cl5-hqT8.js} +3 -3
- package/server/{specialists-JVO00bs7.js → specialists-CNfYO3G2.js} +1634 -457
- package/server/{specialists-DyFeedjn.js → specialists-Cicieuzu.js} +21 -19
- package/server/{specialists-D5fRZXmN.js → specialists-JHsdU3pA.js} +1 -1
- package/server/{specialists-DVj0hvaL.js → specialists-Tdezg_6N.js} +1 -1
- package/server/specs-Bt7WJDoC.js +3 -0
- package/server/src-CRmCHlma.js +11408 -0
- package/server/{src-CG9mCkP6.js → src-Ck028hjO.js} +6 -6
- package/server/{src-CMTQGyCK.js → src-UWcGe0Ix.js} +5 -5
- package/server/stack-health-CJLMrLBl.js +3 -0
- package/server/{stack-health-puygdaMd.js → stack-health-DqSqx0zv.js} +68 -12
- package/server/{stale-task-claims-BbFwCTb0.js → stale-task-claims-CYFOUNlT.js} +4 -4
- package/server/{staleness-Cbl_w4Bw.js → staleness-BQ-0gMYK.js} +1 -1
- package/server/{staleness-Bpy41ngS.js → staleness-D47CUJok.js} +1 -1
- package/server/{state-home-CIGjwNfJ.js → state-home-BYV7qZTW.js} +2 -2
- package/server/{state-mapping-BL_-3Yt8.js → state-mapping-BVldLhBf.js} +1 -1
- package/server/{state-migrate-Dkzaxvny.js → state-migrate-CvvBtS0Y.js} +4 -4
- package/server/{stuck-remediation-sY_MHHgQ.js → stuck-remediation-Wt0UVvu1.js} +1 -1
- package/server/{stuck-remediation-CzEov_fq.js → stuck-remediation-mkLC6G_t.js} +360 -26
- package/server/{substrate-bug-weights-service-BH66lhm7.js → substrate-bug-weights-service-XfLAKnmK.js} +3 -3
- package/server/{summary-fork-D8bXjCr7.js → summary-fork-CD7GOts0.js} +2 -2
- package/server/{summary-fork-DHhJIsAL.js → summary-fork-xiXBnWG9.js} +78 -12
- package/server/supervisor/{injection-budget-C1iPirFS.js → injection-budget-B5SbvDx2.js} +2 -41
- package/server/supervisor/{paths-DehGY2Fj.js → paths-K3noE4N_.js} +1 -1
- package/server/supervisor/pty-supervisor.js +49 -2
- package/server/supervisor/pty-token-B7lp0ElT.js +43 -0
- package/server/{supervisor-BO-Zk_h-.js → supervisor-DL788vos.js} +3 -3
- package/server/supervisor-UWiQNK-y.js +2 -0
- package/server/{swarm-readiness-CQ_fwUWF.js → swarm-readiness-BV14DF5N.js} +3 -3
- package/server/{system-prerequisites-Bza0ffAh.js → system-prerequisites-pdWG6ZQs.js} +56 -29
- package/server/{teardown-workspace-CEgauF4U.js → teardown-workspace-l2F4_zim.js} +15 -16
- package/server/{test-agent-queue-DXDt0Xa-.js → test-agent-queue-qakFIIGz.js} +6 -6
- package/server/{test-verdict-CmUBK5cT.js → test-verdict-BJYDggMm.js} +1 -1
- package/server/{test-verdict-DFjjIHR5.js → test-verdict-Gw-btEfb.js} +1 -1
- package/server/{tldr-daemon-DL566HbH.js → tldr-daemon-BKOYB616.js} +1 -1
- package/server/{tldr-daemon-BDtLOIlO.js → tldr-daemon-CBaWkV9k.js} +2 -2
- package/server/{tmux-ftABRAmc.js → tmux-B1Wbxz5o.js} +3 -3
- package/server/{tmux-DoThH6aj.js → tmux-DQ6jB76i.js} +1 -1
- package/server/tmux-dedup-DbN6MGzM.js +892 -0
- package/server/{token-CsOhvw42.js → token-Cxbk023d.js} +2 -2
- package/server/{token-util-CTmczIfW.js → token-util-CLq2MmQt.js} +1 -1
- package/server/token-util-zlz9U0ki.js +3 -0
- package/server/{tracker-config-B4itFzDo.js → tracker-config-DZ8Zn2nQ.js} +2 -2
- package/server/{tracker-utils-tnxxqROg.js → tracker-utils-L0FKtjq2.js} +3 -3
- package/server/{traefik-connect-m73vGebA.js → traefik-connect-bNX6jKkb.js} +1 -1
- package/server/{tunnel-B2vxjx_b.js → tunnel-BAm1XgjG.js} +3 -3
- package/server/{tunnel-Cgj-IGIl.js → tunnel-CjSnHdTc.js} +1 -1
- package/server/{types-BBNjPcqU.js → types-q67TYYg5.js} +1 -1
- package/server/uat-promote-verification-CKB9ZrKC.js +92 -0
- package/server/uat-train-Cu-4nvbf.js +2 -0
- package/server/uat-train-D5UjcyAa.js +0 -0
- package/server/validate-Cxsx5Uz1.js +179 -0
- package/server/{validation-CIi6pnI2.js → validation-DEaTZafj.js} +1 -1
- package/server/{validation-B5JxoPUS.js → validation-VZgJxmqc.js} +4 -4
- package/server/{verification-artifact-C-lIHfUa.js → verification-artifact-C85cRTc_.js} +1 -1
- package/server/{verification-artifact-BcnIbigL.js → verification-artifact-g3yuxQDL.js} +1 -1
- package/server/{verification-runner-CDj4lD4t.js → verification-runner-DlZI8yhw.js} +1 -1
- package/server/{verification-runner-Br0S_Ous.js → verification-runner-KDZIsBj4.js} +114 -107
- package/server/{vtt-parser-DKpNNW5i.js → vtt-parser-Jr94BF3Y.js} +1 -1
- package/server/{work-agent-prompt-Yb2bd3Fq.js → work-agent-prompt-C-vuP3_J.js} +20 -9
- package/server/workflows-CHrx_hcW.js +2 -0
- package/server/{workflows-C9WmILql.js → workflows-D0oip4eV.js} +161 -78
- package/server/{workspace-DuUdndHe.js → workspace-BqFg__wH.js} +1 -1
- package/server/{workspace-BVl4rihN.js → workspace-C0fH3aek.js} +3 -3
- package/server/workspace-anchor-drift-B4gMRHl4.js +3 -0
- package/server/workspace-anchor-drift-CZKofakh.js +224 -0
- package/server/{workspace-config-cEGcO6UT.js → workspace-config-B123aZl-.js} +1 -1
- package/server/workspace-manager-CDTKjjdU.js +3 -0
- package/server/{workspace-manager-hLUv3ADC.js → workspace-manager-CwO-Hek7.js} +206 -116
- package/server/{workspace-metadata-CskwzzhL.js → workspace-metadata-CQv00QwK.js} +2 -2
- package/server/{workspace-metadata-DNpMixRq.js → workspace-metadata-D4M8BM4W.js} +1 -1
- package/server/{workspaces-hWvy9eKs.js → workspaces-j1e_6aAT.js} +736 -290
- package/sync-sources/dev-skills/pan-dashboard-restart/SKILL.md +34 -10
- package/sync-sources/hooks/linear-mcp-auth-hook +97 -0
- package/sync-sources/hooks/record-cost-event.js +6 -4
- package/sync-sources/rules/ask-user-question-self-contained.md +9 -0
- package/sync-sources/skills/okf/README.md +11 -3
- package/sync-sources/skills/okf/SKILL.md +12 -1
- package/sync-sources/skills/okf/docs/USAGE.md +15 -0
- package/sync-sources/skills/okf/references/overdeck.md +28 -0
- package/sync-sources/skills/pan-close/SKILL.md +5 -3
- package/sync-sources/skills/pan-flywheel/SKILL.md +18 -1
- package/sync-sources/skills/pan-knowledge/SKILL.md +10 -0
- package/sync-sources/skills/pan-orders/SKILL.md +33 -0
- package/sync-sources/skills/pan-peer-review/SKILL.md +195 -0
- package/sync-sources/skills/pan-reload/SKILL.md +3 -3
- package/sync-sources/skills/pan-restart/SKILL.md +5 -4
- package/sync-sources/skills/pan-review/SKILL.md +7 -1
- package/sync-sources/skills/pan-start/SKILL.md +4 -0
- package/sync-sources/skills/pan-sync-main/SKILL.md +9 -8
- package/sync-sources/skills/pipeline-status/SKILL.md +10 -1
- package/sync-sources/skills/workspace-add-repo/SKILL.md +16 -1
- package/sync-sources/templates/traefik/dynamic/overdeck.yml.template +10 -0
- package/server/activity-logger-OEUBdfZ8.js +0 -3
- package/server/agent-state-Bg0lhqwj.js +0 -3
- package/server/agents-FlIgQ3ql.js +0 -3
- package/server/archive-planning-zkJb3BeM.js +0 -3
- package/server/cli-BsVIHwzC.js +0 -3
- package/server/context-layers-B3Nt58jl.js +0 -4
- package/server/context-layers-ZYFcWiyc.js +0 -165
- package/server/conversation-service-Up7FEzIC.js +0 -3
- package/server/deacon-DYSEJb48.js +0 -4
- package/server/deacon-swarm-9jRLS5Ke.js +0 -2
- package/server/deploy-window-CM6W1-c6.js +0 -3
- package/server/dist-Bd3vn0Hw.js +0 -3
- package/server/flywheel-DMCUzDWg.js +0 -2
- package/server/flywheel-DSSpWmqF.js +0 -522
- package/server/flywheel-DcBkQvgE.js +0 -207
- package/server/flywheel-merge-order-C-6zRLvM.js +0 -2
- package/server/flywheel-merge-order-DxbQKE1d.js +0 -244
- package/server/forge-B-ZWyTRm.js +0 -2
- package/server/forge-Ch9gCFod.js +0 -270
- package/server/git-utils-Dry_Ka_D.js +0 -3
- package/server/github-pr-lookup-BRbDW-qk.js +0 -44
- package/server/hume-B_DbflNM.js +0 -3
- package/server/inspect-agent-ch-F-5Ci.js +0 -2
- package/server/launcher-generator-CHVm7bGT.js +0 -379
- package/server/layers-DzxSTGNA.js +0 -93
- package/server/merge-blockers-BsFjGrQ8.js +0 -41
- package/server/merge-ops-DlB1IM0Y.js +0 -2
- package/server/merge-set-DLz0MkGT.js +0 -139
- package/server/merge-set-DnSYdBEp.js +0 -3
- package/server/merge-sync-SSv3E-pl.js +0 -3
- package/server/merge-verification-CSizH3HY.js +0 -124
- package/server/projects-9SkRpES9.js +0 -3
- package/server/public/assets/index-CUr1xv8w.css +0 -1
- package/server/public/assets/index-CsSuZQBI.js +0 -802
- package/server/public/assets/mermaid-GHXKKRXX-BUAB8hqt.js +0 -1
- package/server/rally-njs_mJrt.js +0 -3
- package/server/rebuild-stack-kA7XngID.js +0 -3
- package/server/record-t6V-3Dcj.js +0 -3
- package/server/record-update-DACtKh6_.js +0 -3
- package/server/resume-CcKqnTvE.js +0 -3
- package/server/review-status-A7quS5KJ.js +0 -1454
- package/server/review-status-C6n6-9f_.js +0 -3
- package/server/settings-D0OSwos5.js +0 -2
- package/server/specs-nN45DG2X.js +0 -3
- package/server/src-U7_kTPEE.js +0 -4733
- package/server/stack-health-Df0YEZKa.js +0 -3
- package/server/supervisor-BPy-o1A8.js +0 -2
- package/server/token-util-DrHg8abn.js +0 -3
- package/server/tracker-utils-BePq_oj-.js +0 -3
- package/server/uat-train-CuEn0t9M.js +0 -2152
- package/server/uat-train-cKfM-_WW.js +0 -2
- package/server/workflows-D90rMOya.js +0 -2
- package/server/workspace-manager-ZTdJAy9M.js +0 -3
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
+
import { S as parsePullRequestRef, d as getPullRequestState, f as init_github_app, p as isGitHubAppConfigured, v as listPullRequestsForHead, x as mergePullRequestWithApp } from "./github-app-CQ1Lo6LA.js";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { Data, Effect } from "effect";
|
|
5
|
+
import { tmpdir } from "node:os";
|
|
6
|
+
import { unlink, writeFile } from "node:fs/promises";
|
|
7
|
+
import { exec } from "node:child_process";
|
|
8
|
+
import { promisify } from "node:util";
|
|
9
|
+
//#region ../../lib/forge.ts
|
|
10
|
+
/**
|
|
11
|
+
* Parse a review-artifact URL into its forge type and numeric identifier.
|
|
12
|
+
* Detection is by path pattern (not host) so self-hosted GitLab is supported.
|
|
13
|
+
* Returns `null` for unrecognised input.
|
|
14
|
+
*/
|
|
15
|
+
function parseArtifactRef(url) {
|
|
16
|
+
if (!url) return null;
|
|
17
|
+
const gitlabMatch = url.match(/\/-\/merge_requests\/(\d+)(?:$|[/?#])/);
|
|
18
|
+
if (gitlabMatch) return {
|
|
19
|
+
forge: "gitlab",
|
|
20
|
+
number: Number.parseInt(gitlabMatch[1], 10)
|
|
21
|
+
};
|
|
22
|
+
const githubMatch = url.match(/\/pull\/(\d+)(?:$|[/?#])/);
|
|
23
|
+
if (githubMatch) return {
|
|
24
|
+
forge: "github",
|
|
25
|
+
number: Number.parseInt(githubMatch[1], 10)
|
|
26
|
+
};
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
async function withBodyFile(body, prefix, fn) {
|
|
30
|
+
if (!body) return fn(void 0);
|
|
31
|
+
const bodyFile = join(tmpdir(), `${prefix}-${Date.now()}.md`);
|
|
32
|
+
await writeFile(bodyFile, body, "utf-8");
|
|
33
|
+
try {
|
|
34
|
+
return await fn(bodyFile);
|
|
35
|
+
} finally {
|
|
36
|
+
await unlink(bodyFile).catch(() => {});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function buildRepositoryFlag(repository) {
|
|
40
|
+
return repository ? ` --repo ${repository}` : "";
|
|
41
|
+
}
|
|
42
|
+
function buildGitHubReviewTarget(input) {
|
|
43
|
+
return input.url || input.id || "";
|
|
44
|
+
}
|
|
45
|
+
function buildGitLabReviewTarget(input) {
|
|
46
|
+
return input.id || input.url || "";
|
|
47
|
+
}
|
|
48
|
+
function parseRepository(repository) {
|
|
49
|
+
const [owner, repo] = (repository ?? "").split("/");
|
|
50
|
+
return owner && repo ? {
|
|
51
|
+
owner,
|
|
52
|
+
repo
|
|
53
|
+
} : null;
|
|
54
|
+
}
|
|
55
|
+
async function getExistingGitHubArtifact(branchName, cwd, repository) {
|
|
56
|
+
const parsedRepo = parseRepository(repository);
|
|
57
|
+
if (isGitHubAppConfigured() && parsedRepo) {
|
|
58
|
+
const pr = (await Effect.runPromise(listPullRequestsForHead(parsedRepo.owner, parsedRepo.repo, branchName, "all")))[0];
|
|
59
|
+
if (!pr) return null;
|
|
60
|
+
return {
|
|
61
|
+
forge: "github",
|
|
62
|
+
created: false,
|
|
63
|
+
url: pr.url ?? `https://github.com/${parsedRepo.owner}/${parsedRepo.repo}/pull/${pr.number}`,
|
|
64
|
+
id: String(pr.number)
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
const { stdout } = await execAsync(`gh pr view ${branchName}${buildRepositoryFlag(repository)} --json url,number 2>/dev/null || true`, {
|
|
68
|
+
cwd,
|
|
69
|
+
encoding: "utf-8"
|
|
70
|
+
});
|
|
71
|
+
const trimmed = stdout.trim();
|
|
72
|
+
if (!trimmed) return null;
|
|
73
|
+
const parsed = JSON.parse(trimmed);
|
|
74
|
+
return {
|
|
75
|
+
forge: "github",
|
|
76
|
+
created: false,
|
|
77
|
+
url: parsed.url,
|
|
78
|
+
id: parsed.number ? String(parsed.number) : void 0
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
async function getExistingGitLabArtifact(branchName, cwd, repository) {
|
|
82
|
+
const { stdout } = await execAsync(`glab mr list --source-branch ${branchName}${buildRepositoryFlag(repository)} --output json 2>/dev/null || true`, {
|
|
83
|
+
cwd,
|
|
84
|
+
encoding: "utf-8"
|
|
85
|
+
});
|
|
86
|
+
const trimmed = stdout.trim();
|
|
87
|
+
if (!trimmed) return null;
|
|
88
|
+
const existing = JSON.parse(trimmed)[0];
|
|
89
|
+
if (!existing) return null;
|
|
90
|
+
return {
|
|
91
|
+
forge: "gitlab",
|
|
92
|
+
created: false,
|
|
93
|
+
url: existing.web_url,
|
|
94
|
+
id: existing.iid ? String(existing.iid) : void 0
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
function matchesCurrentArtifact(input, artifact) {
|
|
98
|
+
return artifact.sourceBranch === void 0 || artifact.sourceBranch === input.sourceBranch ? (input.targetBranch === void 0 || artifact.targetBranch === input.targetBranch) && (input.headSha === void 0 || artifact.headSha === input.headSha) : false;
|
|
99
|
+
}
|
|
100
|
+
async function findMergedGitHubArtifact(input) {
|
|
101
|
+
const parsedRepo = parseRepository(input.repository);
|
|
102
|
+
const parsedId = input.artifactId ? Number.parseInt(input.artifactId, 10) : NaN;
|
|
103
|
+
const parsedUrl = parseArtifactRef(input.artifactUrl);
|
|
104
|
+
const exactNumber = Number.isFinite(parsedId) ? parsedId : parsedUrl?.forge === "github" ? parsedUrl.number : void 0;
|
|
105
|
+
if (isGitHubAppConfigured() && parsedRepo) {
|
|
106
|
+
if (Number.isFinite(exactNumber)) {
|
|
107
|
+
const state = await Effect.runPromise(getPullRequestState(parsedRepo.owner, parsedRepo.repo, exactNumber));
|
|
108
|
+
if (!state.merged || !matchesCurrentArtifact(input, {
|
|
109
|
+
sourceBranch: input.sourceBranch,
|
|
110
|
+
targetBranch: state.baseBranch,
|
|
111
|
+
headSha: state.headSha
|
|
112
|
+
})) return null;
|
|
113
|
+
return {
|
|
114
|
+
forge: "github",
|
|
115
|
+
created: false,
|
|
116
|
+
url: state.url ?? input.artifactUrl,
|
|
117
|
+
id: String(state.number)
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
const prs = await Effect.runPromise(listPullRequestsForHead(parsedRepo.owner, parsedRepo.repo, input.sourceBranch, "all"));
|
|
121
|
+
for (const pr of prs.filter((candidate) => candidate.merged === true || candidate.mergedAt != null)) {
|
|
122
|
+
if (input.targetBranch === void 0 && input.headSha === void 0) return {
|
|
123
|
+
forge: "github",
|
|
124
|
+
created: false,
|
|
125
|
+
url: pr.url ?? `https://github.com/${parsedRepo.owner}/${parsedRepo.repo}/pull/${pr.number}`,
|
|
126
|
+
id: String(pr.number)
|
|
127
|
+
};
|
|
128
|
+
const state = await Effect.runPromise(getPullRequestState(parsedRepo.owner, parsedRepo.repo, pr.number));
|
|
129
|
+
if (state.merged && matchesCurrentArtifact(input, {
|
|
130
|
+
sourceBranch: input.sourceBranch,
|
|
131
|
+
targetBranch: state.baseBranch,
|
|
132
|
+
headSha: state.headSha
|
|
133
|
+
})) return {
|
|
134
|
+
forge: "github",
|
|
135
|
+
created: false,
|
|
136
|
+
url: state.url ?? pr.url,
|
|
137
|
+
id: String(pr.number)
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
if (Number.isFinite(exactNumber)) {
|
|
143
|
+
const { stdout } = await execAsync(`gh pr view ${input.artifactUrl || input.artifactId}${buildRepositoryFlag(input.repository)} --json url,number,state,mergedAt,headRefOid,baseRefName,headRefName`, {
|
|
144
|
+
cwd: input.cwd,
|
|
145
|
+
encoding: "utf-8",
|
|
146
|
+
timeout: FORGE_OBSERVATION_TIMEOUT_MS
|
|
147
|
+
});
|
|
148
|
+
const pr = JSON.parse(stdout.trim());
|
|
149
|
+
if (!pr.mergedAt || !matchesCurrentArtifact(input, {
|
|
150
|
+
sourceBranch: pr.headRefName,
|
|
151
|
+
targetBranch: pr.baseRefName,
|
|
152
|
+
headSha: pr.headRefOid
|
|
153
|
+
})) return null;
|
|
154
|
+
return {
|
|
155
|
+
forge: "github",
|
|
156
|
+
created: false,
|
|
157
|
+
url: pr.url,
|
|
158
|
+
id: pr.number ? String(pr.number) : input.artifactId
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
const { stdout } = await execAsync(`gh pr list --state merged --head ${input.sourceBranch}${buildRepositoryFlag(input.repository)} --json url,number,mergedAt,headRefOid,baseRefName,headRefName`, {
|
|
162
|
+
cwd: input.cwd,
|
|
163
|
+
encoding: "utf-8",
|
|
164
|
+
timeout: FORGE_OBSERVATION_TIMEOUT_MS
|
|
165
|
+
});
|
|
166
|
+
const merged = JSON.parse(stdout.trim() || "[]").find((pr) => pr.mergedAt && matchesCurrentArtifact(input, {
|
|
167
|
+
sourceBranch: pr.headRefName,
|
|
168
|
+
targetBranch: pr.baseRefName,
|
|
169
|
+
headSha: pr.headRefOid
|
|
170
|
+
}));
|
|
171
|
+
return merged ? {
|
|
172
|
+
forge: "github",
|
|
173
|
+
created: false,
|
|
174
|
+
url: merged.url,
|
|
175
|
+
id: merged.number ? String(merged.number) : void 0
|
|
176
|
+
} : null;
|
|
177
|
+
}
|
|
178
|
+
async function findMergedGitLabArtifact(input) {
|
|
179
|
+
const parsedId = input.artifactId ? Number.parseInt(input.artifactId, 10) : NaN;
|
|
180
|
+
const parsedUrl = parseArtifactRef(input.artifactUrl);
|
|
181
|
+
const target = Number.isFinite(parsedId) ? String(parsedId) : parsedUrl?.forge === "gitlab" ? String(parsedUrl.number) : void 0;
|
|
182
|
+
const { stdout } = await execAsync(target ? `glab mr view ${target}${buildRepositoryFlag(input.repository)} --output json` : `glab mr list --source-branch ${input.sourceBranch}${buildRepositoryFlag(input.repository)} --all --output json`, {
|
|
183
|
+
cwd: input.cwd,
|
|
184
|
+
encoding: "utf-8",
|
|
185
|
+
timeout: FORGE_OBSERVATION_TIMEOUT_MS
|
|
186
|
+
});
|
|
187
|
+
const merged = (target ? [JSON.parse(stdout.trim())] : JSON.parse(stdout.trim() || "[]")).find((artifact) => artifact.state === "merged" && matchesCurrentArtifact(input, {
|
|
188
|
+
sourceBranch: artifact.source_branch,
|
|
189
|
+
targetBranch: artifact.target_branch,
|
|
190
|
+
headSha: artifact.sha
|
|
191
|
+
}));
|
|
192
|
+
return merged ? {
|
|
193
|
+
forge: "gitlab",
|
|
194
|
+
created: false,
|
|
195
|
+
url: merged.web_url,
|
|
196
|
+
id: merged.iid ? String(merged.iid) : input.artifactId
|
|
197
|
+
} : null;
|
|
198
|
+
}
|
|
199
|
+
function delay(ms) {
|
|
200
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
201
|
+
}
|
|
202
|
+
function isTransientGitHubMergeState(state) {
|
|
203
|
+
if (state.merged) return false;
|
|
204
|
+
if (state.draft) return false;
|
|
205
|
+
if (state.checksFailed) return false;
|
|
206
|
+
if (state.checksPending) return true;
|
|
207
|
+
if (state.mergeable === null) return true;
|
|
208
|
+
return [
|
|
209
|
+
"unknown",
|
|
210
|
+
"blocked",
|
|
211
|
+
"behind",
|
|
212
|
+
"unstable",
|
|
213
|
+
"has_hooks"
|
|
214
|
+
].includes(state.mergeableState || "");
|
|
215
|
+
}
|
|
216
|
+
function getForgeAdapter(forge) {
|
|
217
|
+
return forge === "gitlab" ? gitlabForgeAdapter : githubForgeAdapter;
|
|
218
|
+
}
|
|
219
|
+
var execAsync, GITHUB_MERGE_POLL_INTERVAL_MS, FORGE_OBSERVATION_TIMEOUT_MS, GITHUB_MERGE_TIMEOUT_MS, githubForgeAdapter, gitlabForgeAdapter;
|
|
220
|
+
var init_forge = __esmMin((() => {
|
|
221
|
+
init_github_app();
|
|
222
|
+
Data.TaggedError("ForgeError");
|
|
223
|
+
execAsync = promisify(exec);
|
|
224
|
+
GITHUB_MERGE_POLL_INTERVAL_MS = 5e3;
|
|
225
|
+
FORGE_OBSERVATION_TIMEOUT_MS = 3e4;
|
|
226
|
+
GITHUB_MERGE_TIMEOUT_MS = 900 * 1e3;
|
|
227
|
+
githubForgeAdapter = {
|
|
228
|
+
forge: "github",
|
|
229
|
+
async createReviewArtifact(input) {
|
|
230
|
+
const existing = await getExistingGitHubArtifact(input.sourceBranch, input.cwd, input.repository);
|
|
231
|
+
if (existing) return existing;
|
|
232
|
+
return withBodyFile(input.body, "pan-gh-pr-body", async (bodyFile) => {
|
|
233
|
+
const bodyFlag = bodyFile ? ` --body-file "${bodyFile}"` : "";
|
|
234
|
+
const { stdout } = await execAsync(`gh pr create --head ${input.sourceBranch} --base ${input.targetBranch} --title "${input.title}"${bodyFlag}${buildRepositoryFlag(input.repository)}`, {
|
|
235
|
+
cwd: input.cwd,
|
|
236
|
+
encoding: "utf-8"
|
|
237
|
+
});
|
|
238
|
+
return {
|
|
239
|
+
forge: "github",
|
|
240
|
+
created: true,
|
|
241
|
+
url: stdout.trim().split("\n").pop()?.trim() || stdout.trim(),
|
|
242
|
+
id: (await getExistingGitHubArtifact(input.sourceBranch, input.cwd, input.repository))?.id
|
|
243
|
+
};
|
|
244
|
+
});
|
|
245
|
+
},
|
|
246
|
+
async mergeReviewArtifact(input) {
|
|
247
|
+
const target = buildGitHubReviewTarget(input);
|
|
248
|
+
const method = input.method || "squash";
|
|
249
|
+
console.log(`[forge] mergeReviewArtifact: ${input.forge} ${target} method=${method} repo=${input.repository ?? "default"}`);
|
|
250
|
+
if (!isGitHubAppConfigured()) try {
|
|
251
|
+
console.log(`[forge] gh pr merge: executing ${method} merge for ${target}`);
|
|
252
|
+
await execAsync(`gh pr merge ${target}${buildRepositoryFlag(input.repository)} --${method}`, {
|
|
253
|
+
cwd: input.cwd,
|
|
254
|
+
encoding: "utf-8"
|
|
255
|
+
});
|
|
256
|
+
console.log(`[forge] gh pr merge: completed successfully for ${target}`);
|
|
257
|
+
return;
|
|
258
|
+
} catch (err) {
|
|
259
|
+
console.error(`[forge] gh pr merge: failed for ${target}: exitCode=${err.code} message=${err.message}`);
|
|
260
|
+
throw err;
|
|
261
|
+
}
|
|
262
|
+
const ref = parsePullRequestRef(input);
|
|
263
|
+
const deadline = Date.now() + GITHUB_MERGE_TIMEOUT_MS;
|
|
264
|
+
console.log(`[forge] mergeReviewArtifact: GitHub App path for ${ref.owner}/${ref.repo}#${ref.number}, timeout=${GITHUB_MERGE_TIMEOUT_MS}ms`);
|
|
265
|
+
while (Date.now() < deadline) {
|
|
266
|
+
const state = await Effect.runPromise(getPullRequestState(ref.owner, ref.repo, ref.number));
|
|
267
|
+
console.log(`[forge] mergeReviewArtifact: PR #${ref.number} state=${state.state} merged=${state.merged} draft=${state.draft} checksFailed=${state.checksFailed}`);
|
|
268
|
+
if (state.merged) return;
|
|
269
|
+
if (state.state !== "OPEN") throw new Error(`GitHub PR #${ref.number} is closed but not merged`);
|
|
270
|
+
if (state.draft) throw new Error(`GitHub PR #${ref.number} is still marked as draft`);
|
|
271
|
+
if (state.checksFailed) throw new Error(`GitHub PR #${ref.number} has failing required checks`);
|
|
272
|
+
if (isTransientGitHubMergeState(state)) {
|
|
273
|
+
await delay(GITHUB_MERGE_POLL_INTERVAL_MS);
|
|
274
|
+
continue;
|
|
275
|
+
}
|
|
276
|
+
try {
|
|
277
|
+
const mergeResult = await Effect.runPromise(mergePullRequestWithApp(ref.owner, ref.repo, ref.number, method, state.headSha || void 0));
|
|
278
|
+
console.log(`[forge] mergePullRequestWithApp: result merged=${mergeResult.merged} for ${ref.owner}/${ref.repo}#${ref.number}`);
|
|
279
|
+
if (mergeResult.merged) return;
|
|
280
|
+
} catch (err) {
|
|
281
|
+
const message = String(err?.message || err);
|
|
282
|
+
console.error(`[forge] mergePullRequestWithApp: threw for ${ref.number}: ${message}`);
|
|
283
|
+
if (message.includes("405") || message.includes("409") || message.includes("422") || message.includes("not mergeable") || message.includes("Base branch was modified") || message.includes("required status check") || message.includes("Head branch was modified")) {
|
|
284
|
+
await delay(GITHUB_MERGE_POLL_INTERVAL_MS);
|
|
285
|
+
continue;
|
|
286
|
+
}
|
|
287
|
+
throw err;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
throw new Error(`Timed out waiting for GitHub PR #${ref.number} to become mergeable`);
|
|
291
|
+
},
|
|
292
|
+
async commentOnArtifact(input) {
|
|
293
|
+
const target = buildGitHubReviewTarget(input);
|
|
294
|
+
await withBodyFile(input.body, "pan-gh-pr-comment", async (bodyFile) => {
|
|
295
|
+
const bodyFlag = bodyFile ? ` --body-file "${bodyFile}"` : ` --body "${input.body.replace(/"/g, "\\\"")}"`;
|
|
296
|
+
await execAsync(`gh pr comment ${target}${buildRepositoryFlag(input.repository)}${bodyFlag}`, {
|
|
297
|
+
cwd: input.cwd,
|
|
298
|
+
encoding: "utf-8"
|
|
299
|
+
});
|
|
300
|
+
});
|
|
301
|
+
},
|
|
302
|
+
async approveReviewArtifact(input) {
|
|
303
|
+
await execAsync(`gh pr review ${buildGitHubReviewTarget(input)} --approve${buildRepositoryFlag(input.repository)}`, {
|
|
304
|
+
cwd: input.cwd,
|
|
305
|
+
encoding: "utf-8"
|
|
306
|
+
});
|
|
307
|
+
},
|
|
308
|
+
async discoverArtifact(input) {
|
|
309
|
+
return getExistingGitHubArtifact(input.sourceBranch, input.cwd, input.repository);
|
|
310
|
+
},
|
|
311
|
+
async findMergedArtifact(input) {
|
|
312
|
+
return findMergedGitHubArtifact(input);
|
|
313
|
+
}
|
|
314
|
+
};
|
|
315
|
+
gitlabForgeAdapter = {
|
|
316
|
+
forge: "gitlab",
|
|
317
|
+
async createReviewArtifact(input) {
|
|
318
|
+
const existing = await getExistingGitLabArtifact(input.sourceBranch, input.cwd, input.repository);
|
|
319
|
+
if (existing) return existing;
|
|
320
|
+
const bodyEnv = input.body ? { PAN_MR_BODY: input.body } : {};
|
|
321
|
+
const bodyFlag = input.body ? " --description \"$PAN_MR_BODY\"" : "";
|
|
322
|
+
let stdout;
|
|
323
|
+
try {
|
|
324
|
+
({stdout} = await execAsync(`glab mr create --source-branch ${input.sourceBranch} --target-branch ${input.targetBranch} --title "${input.title}"${bodyFlag}${buildRepositoryFlag(input.repository)}`, {
|
|
325
|
+
cwd: input.cwd,
|
|
326
|
+
encoding: "utf-8",
|
|
327
|
+
env: {
|
|
328
|
+
...process.env,
|
|
329
|
+
...bodyEnv
|
|
330
|
+
},
|
|
331
|
+
shell: "/bin/bash"
|
|
332
|
+
}));
|
|
333
|
+
} catch (error) {
|
|
334
|
+
const message = String(error?.message ?? error);
|
|
335
|
+
if (message.includes("409") && message.includes("open merge request already exists")) {
|
|
336
|
+
const existingAfterConflict = await getExistingGitLabArtifact(input.sourceBranch, input.cwd, input.repository);
|
|
337
|
+
if (existingAfterConflict) return existingAfterConflict;
|
|
338
|
+
}
|
|
339
|
+
throw error;
|
|
340
|
+
}
|
|
341
|
+
return {
|
|
342
|
+
forge: "gitlab",
|
|
343
|
+
created: true,
|
|
344
|
+
url: stdout.trim().split("\n").pop()?.trim() || stdout.trim(),
|
|
345
|
+
id: (await getExistingGitLabArtifact(input.sourceBranch, input.cwd, input.repository))?.id
|
|
346
|
+
};
|
|
347
|
+
},
|
|
348
|
+
async mergeReviewArtifact(input) {
|
|
349
|
+
const target = buildGitLabReviewTarget(input);
|
|
350
|
+
const squashFlag = input.method === "squash" || !input.method ? " --squash" : "";
|
|
351
|
+
await execAsync(`glab mr merge ${target}${buildRepositoryFlag(input.repository)}${squashFlag}`, {
|
|
352
|
+
cwd: input.cwd,
|
|
353
|
+
encoding: "utf-8"
|
|
354
|
+
});
|
|
355
|
+
},
|
|
356
|
+
async commentOnArtifact(input) {
|
|
357
|
+
const target = buildGitLabReviewTarget(input);
|
|
358
|
+
await withBodyFile(input.body, "pan-gl-mr-comment", async (bodyFile) => {
|
|
359
|
+
const bodyFlag = bodyFile ? ` --message-file "${bodyFile}"` : ` --message "${input.body.replace(/"/g, "\\\"")}"`;
|
|
360
|
+
await execAsync(`glab mr note ${target}${buildRepositoryFlag(input.repository)}${bodyFlag}`, {
|
|
361
|
+
cwd: input.cwd,
|
|
362
|
+
encoding: "utf-8"
|
|
363
|
+
});
|
|
364
|
+
});
|
|
365
|
+
},
|
|
366
|
+
async approveReviewArtifact(input) {
|
|
367
|
+
await execAsync(`glab mr approve ${buildGitLabReviewTarget(input)}${buildRepositoryFlag(input.repository)}`, {
|
|
368
|
+
cwd: input.cwd,
|
|
369
|
+
encoding: "utf-8"
|
|
370
|
+
});
|
|
371
|
+
},
|
|
372
|
+
async discoverArtifact(input) {
|
|
373
|
+
return getExistingGitLabArtifact(input.sourceBranch, input.cwd, input.repository);
|
|
374
|
+
},
|
|
375
|
+
async findMergedArtifact(input) {
|
|
376
|
+
return findMergedGitLabArtifact(input);
|
|
377
|
+
}
|
|
378
|
+
};
|
|
379
|
+
}));
|
|
380
|
+
//#endregion
|
|
381
|
+
export { parseArtifactRef as i, getForgeAdapter as n, init_forge as r, GITHUB_MERGE_TIMEOUT_MS as t };
|
|
382
|
+
|
|
383
|
+
//# sourceMappingURL=forge-CZbSg6Ds.js.map
|
|
@@ -3841,4 +3841,4 @@ var init_from = __esmMin((() => {
|
|
|
3841
3841
|
//#endregion
|
|
3842
3842
|
export { File as a, init_esm_min as i, FormData as n, Blob as o, formDataToBlob as r, init_fetch_blob as s, init_from as t };
|
|
3843
3843
|
|
|
3844
|
-
//# sourceMappingURL=from-
|
|
3844
|
+
//# sourceMappingURL=from-D_4_dk7i.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { a as runMemoryFtsTransactionSync, i as runMemoryFtsStatementSync, n as getMemoryFtsDatabaseSync, r as init_fts_operations, t as closeMemoryFtsDatabasesInProcess } from "./fts-operations-
|
|
2
|
+
import { a as runMemoryFtsTransactionSync, i as runMemoryFtsStatementSync, n as getMemoryFtsDatabaseSync, r as init_fts_operations, t as closeMemoryFtsDatabasesInProcess } from "./fts-operations-BdewJ_g9.js";
|
|
3
3
|
import { Worker } from "node:worker_threads";
|
|
4
4
|
//#region ../../lib/memory/fts-db.ts
|
|
5
5
|
async function getMemoryFtsDatabase(projectId) {
|
|
@@ -143,4 +143,4 @@ var init_fts_db = __esmMin((() => {
|
|
|
143
143
|
//#endregion
|
|
144
144
|
export { withMemoryFtsDatabase as a, runMemoryFtsTransaction as i, init_fts_db as n, runMemoryFtsStatement as r, closeMemoryFtsDatabases as t };
|
|
145
145
|
|
|
146
|
-
//# sourceMappingURL=fts-db-
|
|
146
|
+
//# sourceMappingURL=fts-db-BeOomFa-.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
2
|
import { n as openDatabase, t as init_driver } from "./driver-CKVGi51s.js";
|
|
3
|
-
import { i as init_paths, o as resolveFtsDbPath } from "./paths-
|
|
3
|
+
import { i as init_paths, o as resolveFtsDbPath } from "./paths-cXmOwSbh.js";
|
|
4
4
|
import { dirname } from "node:path";
|
|
5
5
|
import { mkdirSync } from "node:fs";
|
|
6
6
|
//#region ../../lib/memory/fts-operations.ts
|
|
@@ -131,4 +131,4 @@ var init_fts_operations = __esmMin((() => {
|
|
|
131
131
|
//#endregion
|
|
132
132
|
export { runMemoryFtsTransactionSync as a, runMemoryFtsStatementSync as i, getMemoryFtsDatabaseSync as n, init_fts_operations as r, closeMemoryFtsDatabasesInProcess as t };
|
|
133
133
|
|
|
134
|
-
//# sourceMappingURL=fts-operations-
|
|
134
|
+
//# sourceMappingURL=fts-operations-BdewJ_g9.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { a as init_git_utils, c as rehydrateHeadAnchor, i as hasStaleLocks, l as renderWorkspaceGitShowPromise, n as formatAnchorShort, o as parseCompositeSnapshot, r as getWorkspaceGitInfo, s as parseWorkspaceHeadAnchor, t as cleanupStaleLocks, u as snapshotWorkspaceHeadsPromise } from "./git-utils-ameCgDdy.js";
|
|
2
|
+
init_git_utils();
|
|
3
|
+
export { cleanupStaleLocks, formatAnchorShort, getWorkspaceGitInfo, hasStaleLocks, parseCompositeSnapshot, parseWorkspaceHeadAnchor, rehydrateHeadAnchor, renderWorkspaceGitShowPromise, snapshotWorkspaceHeadsPromise };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Er as GitError, Fr as init_errors, Tr as FsError } from "./config-yaml-CmOPzmBb.js";
|
|
3
3
|
import { Effect } from "effect";
|
|
4
4
|
import { existsSync, readdirSync, unlinkSync } from "fs";
|
|
5
5
|
import { join } from "path";
|
|
@@ -142,6 +142,43 @@ async function cleanupStaleLocksPromise(repoPath, options) {
|
|
|
142
142
|
}
|
|
143
143
|
return result;
|
|
144
144
|
}
|
|
145
|
+
/**
|
|
146
|
+
* Parse a polyrepo head anchor such as `fe@<sha> api@<sha>`.
|
|
147
|
+
* Plain single-repo refs return null. Malformed composite anchors fail before
|
|
148
|
+
* any caller can accidentally pass the whitespace-containing value to git.
|
|
149
|
+
*/
|
|
150
|
+
function parseWorkspaceHeadAnchor(anchor) {
|
|
151
|
+
const normalized = anchor.trim();
|
|
152
|
+
if (!normalized.includes("@")) {
|
|
153
|
+
if (/\s/.test(normalized)) throw new Error(`Invalid workspace head anchor: ${anchor}`);
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
return normalized.split(/\s+/).map((token) => {
|
|
157
|
+
const match = /^([^@\s]+)@([0-9a-fA-F]{40,64})$/.exec(token);
|
|
158
|
+
if (!match) throw new Error(`Invalid workspace head anchor token '${token}' in '${anchor}'`);
|
|
159
|
+
return {
|
|
160
|
+
repoKey: match[1],
|
|
161
|
+
sha: match[2]
|
|
162
|
+
};
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Render `git show` for a single-repo ref or every entry in a polyrepo anchor.
|
|
167
|
+
* Composite entries are resolved to their nested worktree and labeled using
|
|
168
|
+
* the same repo-section convention as review and inspect diff summaries.
|
|
169
|
+
*/
|
|
170
|
+
async function renderWorkspaceGitShowPromise(issueId, workspacePath, anchor, args, gitShow) {
|
|
171
|
+
const entries = parseWorkspaceHeadAnchor(anchor);
|
|
172
|
+
if (!entries) return gitShow(workspacePath, anchor.trim(), args);
|
|
173
|
+
if (!issueId) throw new Error(`Cannot resolve composite workspace head anchor '${anchor}' without an issue id`);
|
|
174
|
+
const { resolveWorkspaceRepoRootsSync } = await import("./project-repos-CRE6Ykow.js");
|
|
175
|
+
const rootsByKey = new Map(resolveWorkspaceRepoRootsSync(issueId, workspacePath).map((root) => [root.repoKey, root]));
|
|
176
|
+
return (await Promise.all(entries.map(async ({ repoKey, sha }) => {
|
|
177
|
+
const root = rootsByKey.get(repoKey);
|
|
178
|
+
if (!root) throw new Error(`Composite workspace head anchor repo '${repoKey}' was not found in ${workspacePath}`);
|
|
179
|
+
return `── ${repoKey} ──\n${(await gitShow(root.dir, sha, args)).trimEnd()}`;
|
|
180
|
+
}))).join("\n");
|
|
181
|
+
}
|
|
145
182
|
async function getWorkspaceGitInfoPromise(workspacePath) {
|
|
146
183
|
try {
|
|
147
184
|
const [headResult, branchResult] = await Promise.all([execAsync("git rev-parse HEAD", { cwd: workspacePath }), execAsync("git rev-parse --abbrev-ref HEAD", { cwd: workspacePath })]);
|
|
@@ -154,6 +191,59 @@ async function getWorkspaceGitInfoPromise(workspacePath) {
|
|
|
154
191
|
throw new Error(`getWorkspaceGitInfo failed for ${workspacePath}: ${msg}`);
|
|
155
192
|
}
|
|
156
193
|
}
|
|
194
|
+
/** Rehydrate a persisted anchor after it crosses an unbranded storage boundary. */
|
|
195
|
+
function rehydrateHeadAnchor(anchor) {
|
|
196
|
+
return anchor;
|
|
197
|
+
}
|
|
198
|
+
function parseCompositeSnapshot(snapshot) {
|
|
199
|
+
const heads = /* @__PURE__ */ new Map();
|
|
200
|
+
if (!snapshot) return heads;
|
|
201
|
+
for (const token of snapshot.split(/\s+/)) {
|
|
202
|
+
const separator = token.lastIndexOf("@");
|
|
203
|
+
if (separator <= 0 || separator === token.length - 1) continue;
|
|
204
|
+
heads.set(token.slice(0, separator), token.slice(separator + 1));
|
|
205
|
+
}
|
|
206
|
+
return heads;
|
|
207
|
+
}
|
|
208
|
+
function formatAnchorShort(anchor) {
|
|
209
|
+
return anchor.split(/\s+/).map((token) => {
|
|
210
|
+
const separator = token.lastIndexOf("@");
|
|
211
|
+
if (separator <= 0 || separator === token.length - 1) return token.substring(0, 8);
|
|
212
|
+
return `${token.slice(0, separator)}@${token.slice(separator + 1, separator + 9)}`;
|
|
213
|
+
}).join(" ");
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Snapshot the code HEAD(s) of a workspace for drift comparison (PAN-2948).
|
|
217
|
+
*
|
|
218
|
+
* Monorepo: returns the workspace HEAD SHA (unchanged behavior). Polyrepo:
|
|
219
|
+
* returns a composite `fe@<sha> api@<sha>` over the sub-repo worktrees —
|
|
220
|
+
* the wrapper repo at the workspace root is a one-commit artifacts repo whose
|
|
221
|
+
* SHA never changes, so snapshotting it makes every drift comparison
|
|
222
|
+
* (reviewedAtCommit vs lastVerifiedCommit, reviewer verdict anchors) report
|
|
223
|
+
* "no drift" forever. Composite snapshots compare equal iff every sub-repo
|
|
224
|
+
* head is unchanged; consumers that try to use the anchor as a git ref fail
|
|
225
|
+
* the ref lookup and fall back to their conservative full-rerun path.
|
|
226
|
+
*
|
|
227
|
+
* Its branded return value is the only legitimate source for reviewedAtCommit,
|
|
228
|
+
* lastVerifiedCommit, and roleRunHead. Persisted values regain that brand only
|
|
229
|
+
* through rehydrateHeadAnchor at an explicitly documented storage boundary.
|
|
230
|
+
*/
|
|
231
|
+
async function snapshotWorkspaceHeadsPromise(issueId, workspacePath) {
|
|
232
|
+
const { resolveWorkspaceRepoRootsSync } = await import("./project-repos-CRE6Ykow.js");
|
|
233
|
+
const roots = resolveWorkspaceRepoRootsSync(issueId, workspacePath);
|
|
234
|
+
const isPolyrepo = roots.some((root) => root.isPolyrepo);
|
|
235
|
+
const heads = [];
|
|
236
|
+
for (const root of roots) try {
|
|
237
|
+
const { stdout } = await execAsync("git rev-parse HEAD", {
|
|
238
|
+
cwd: root.dir,
|
|
239
|
+
encoding: "utf-8",
|
|
240
|
+
timeout: 1e4
|
|
241
|
+
});
|
|
242
|
+
const sha = stdout.trim();
|
|
243
|
+
if (sha) heads.push(isPolyrepo ? `${root.repoKey}@${sha}` : sha);
|
|
244
|
+
} catch {}
|
|
245
|
+
return heads.length > 0 ? heads.join(" ") : void 0;
|
|
246
|
+
}
|
|
157
247
|
async function hasStaleLocksPromise(repoPath) {
|
|
158
248
|
if (findGitLockFiles(repoPath).length === 0) return false;
|
|
159
249
|
return (await hasRunningGitProcesses(repoPath, {})).status === "idle";
|
|
@@ -193,6 +283,6 @@ var init_git_utils = __esmMin((() => {
|
|
|
193
283
|
hasStaleLocks = (repoPath) => Effect.promise(() => hasStaleLocksPromise(repoPath));
|
|
194
284
|
}));
|
|
195
285
|
//#endregion
|
|
196
|
-
export { init_git_utils as i,
|
|
286
|
+
export { init_git_utils as a, rehydrateHeadAnchor as c, hasStaleLocks as i, renderWorkspaceGitShowPromise as l, formatAnchorShort as n, parseCompositeSnapshot as o, getWorkspaceGitInfo as r, parseWorkspaceHeadAnchor as s, cleanupStaleLocks as t, snapshotWorkspaceHeadsPromise as u };
|
|
197
287
|
|
|
198
|
-
//# sourceMappingURL=git-utils-
|
|
288
|
+
//# sourceMappingURL=git-utils-ameCgDdy.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Dr as GitHubApiError, Fr as init_errors, Tr as FsError, wr as ConfigError } from "./config-yaml-CmOPzmBb.js";
|
|
3
3
|
import { Effect } from "effect";
|
|
4
4
|
import { existsSync, readFileSync } from "fs";
|
|
5
5
|
import { join } from "path";
|
|
@@ -88,6 +88,16 @@ var init_concurrency = __esmMin((() => {
|
|
|
88
88
|
withConcurrencyLimit = (tasks, max) => Effect.all(tasks, { concurrency: max });
|
|
89
89
|
}));
|
|
90
90
|
//#endregion
|
|
91
|
+
//#region ../../lib/advisory-checks.ts
|
|
92
|
+
function isAdvisoryCheckName(name) {
|
|
93
|
+
const normalized = name?.trim().toLowerCase().replace(/[^a-z0-9]/g, "");
|
|
94
|
+
return normalized != null && [...ADVISORY_CHECK_NAMES].some((advisory) => normalized.startsWith(advisory));
|
|
95
|
+
}
|
|
96
|
+
var ADVISORY_CHECK_NAMES;
|
|
97
|
+
var init_advisory_checks = __esmMin((() => {
|
|
98
|
+
ADVISORY_CHECK_NAMES = new Set(["coderabbit"]);
|
|
99
|
+
}));
|
|
100
|
+
//#endregion
|
|
91
101
|
//#region ../../lib/github-app.ts
|
|
92
102
|
/**
|
|
93
103
|
* GitHub App Integration (PAN-536)
|
|
@@ -190,7 +200,7 @@ function generateJWT(appId, privateKey) {
|
|
|
190
200
|
})).toString("base64url");
|
|
191
201
|
const payload = Buffer.from(JSON.stringify({
|
|
192
202
|
iat: now - 60,
|
|
193
|
-
exp: now +
|
|
203
|
+
exp: now + 540,
|
|
194
204
|
iss: appId
|
|
195
205
|
})).toString("base64url");
|
|
196
206
|
const signer = createSign("SHA256");
|
|
@@ -309,7 +319,7 @@ function parsePullRequestRef(input) {
|
|
|
309
319
|
throw new Error("GitHub PR reference requires either a PR URL or repository + numeric id");
|
|
310
320
|
}
|
|
311
321
|
function summarizeCiCheckRuns(runs) {
|
|
312
|
-
const checkRuns = runs.map((run) => ({
|
|
322
|
+
const checkRuns = runs.filter((run) => !isAdvisoryCheckName(run.name)).map((run) => ({
|
|
313
323
|
id: run.id,
|
|
314
324
|
name: run.name || "GitHub check run",
|
|
315
325
|
status: run.status || "unknown",
|
|
@@ -350,9 +360,9 @@ async function getCiCheckRunsStatePromise(owner, repo, sha) {
|
|
|
350
360
|
}
|
|
351
361
|
async function getCommitCheckState(owner, repo, sha) {
|
|
352
362
|
const [combinedStatus, checkRuns] = await Promise.all([githubApi(`/repos/${owner}/${repo}/commits/${sha}/status`), githubApi(`/repos/${owner}/${repo}/commits/${sha}/check-runs`)]);
|
|
353
|
-
const
|
|
354
|
-
const pendingStatus =
|
|
355
|
-
const failedStatus =
|
|
363
|
+
const statuses = (combinedStatus.statuses ?? []).filter((status) => !isAdvisoryCheckName(status.context));
|
|
364
|
+
const pendingStatus = statuses.some((status) => status.state === "pending");
|
|
365
|
+
const failedStatus = statuses.some((status) => status.state === "failure" || status.state === "error");
|
|
356
366
|
const ciState = summarizeCiCheckRuns(checkRuns.check_runs || []);
|
|
357
367
|
return {
|
|
358
368
|
pending: pendingStatus || ciState.pendingRuns.length > 0,
|
|
@@ -593,6 +603,7 @@ var execAsync, execFileAsync, APP_DIR, apiCatch, generateInstallationToken, getP
|
|
|
593
603
|
var init_github_app = __esmMin((() => {
|
|
594
604
|
init_errors();
|
|
595
605
|
init_concurrency();
|
|
606
|
+
init_advisory_checks();
|
|
596
607
|
execAsync = promisify(exec);
|
|
597
608
|
execFileAsync = promisify(execFile);
|
|
598
609
|
APP_DIR = join(homedir(), ".overdeck", "github-app");
|
|
@@ -651,6 +662,6 @@ var init_github_app = __esmMin((() => {
|
|
|
651
662
|
});
|
|
652
663
|
}));
|
|
653
664
|
//#endregion
|
|
654
|
-
export {
|
|
665
|
+
export { createSettledTtlPromiseCache as A, postOverdeckTestsStatus as C, init_advisory_checks as D, verifyAppCanMerge as E, withConcurrencyLimit as M, withConcurrencyLimitPromise as N, isAdvisoryCheckName as O, parsePullRequestRef as S, reportCommitStatus as T, listOpenIssuesWithLabelsPromise as _, getCiCheckRunsState as a, loadGitHubAppConfig as b, getIssueStatePromise as c, getPullRequestState as d, init_github_app as f, listOpenIssuesWithLabels as g, listIssuesWithAnyLabelPromise as h, getBotIdentity as i, init_concurrency as j, createPromiseConcurrencyLimiter as k, getMergeBackendStatus as l, isIntegrationPermissionError as m, generateInstallationToken as n, getCiCheckRunsStatePromise as o, isGitHubAppConfigured as p, getAppStatus as r, getIssueState as s, configureWorkspaceForBot as t, getPullRequestHeadState as u, listPullRequestsForHead as v, refreshWorkspaceToken as w, mergePullRequestWithApp as x, listPullRequestsForHeadPromise as y };
|
|
655
666
|
|
|
656
|
-
//# sourceMappingURL=github-app-
|
|
667
|
+
//# sourceMappingURL=github-app-CQ1Lo6LA.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { C as postOverdeckTestsStatus, E as verifyAppCanMerge, S as parsePullRequestRef, T as reportCommitStatus, _ as listOpenIssuesWithLabelsPromise, a as getCiCheckRunsState, b as loadGitHubAppConfig, c as getIssueStatePromise, d as getPullRequestState, f as init_github_app, g as listOpenIssuesWithLabels, h as listIssuesWithAnyLabelPromise, i as getBotIdentity, l as getMergeBackendStatus, m as isIntegrationPermissionError, n as generateInstallationToken, o as getCiCheckRunsStatePromise, p as isGitHubAppConfigured, r as getAppStatus, s as getIssueState, t as configureWorkspaceForBot, u as getPullRequestHeadState, v as listPullRequestsForHead, w as refreshWorkspaceToken, x as mergePullRequestWithApp, y as listPullRequestsForHeadPromise } from "./github-app-
|
|
1
|
+
import { C as postOverdeckTestsStatus, E as verifyAppCanMerge, S as parsePullRequestRef, T as reportCommitStatus, _ as listOpenIssuesWithLabelsPromise, a as getCiCheckRunsState, b as loadGitHubAppConfig, c as getIssueStatePromise, d as getPullRequestState, f as init_github_app, g as listOpenIssuesWithLabels, h as listIssuesWithAnyLabelPromise, i as getBotIdentity, l as getMergeBackendStatus, m as isIntegrationPermissionError, n as generateInstallationToken, o as getCiCheckRunsStatePromise, p as isGitHubAppConfigured, r as getAppStatus, s as getIssueState, t as configureWorkspaceForBot, u as getPullRequestHeadState, v as listPullRequestsForHead, w as refreshWorkspaceToken, x as mergePullRequestWithApp, y as listPullRequestsForHeadPromise } from "./github-app-CQ1Lo6LA.js";
|
|
2
2
|
init_github_app();
|
|
3
3
|
export { configureWorkspaceForBot, generateInstallationToken, getAppStatus, getBotIdentity, getCiCheckRunsState, getCiCheckRunsStatePromise, getIssueState, getIssueStatePromise, getMergeBackendStatus, getPullRequestHeadState, getPullRequestState, isGitHubAppConfigured, isIntegrationPermissionError, listIssuesWithAnyLabelPromise, listOpenIssuesWithLabels, listOpenIssuesWithLabelsPromise, listPullRequestsForHead, listPullRequestsForHeadPromise, loadGitHubAppConfig, mergePullRequestWithApp, parsePullRequestRef, postOverdeckTestsStatus, refreshWorkspaceToken, reportCommitStatus, verifyAppCanMerge };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-
|
|
2
|
+
import { a as init_tracker_config, t as getGitHubConfig } 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, Effect, Layer } from "effect";
|
|
5
5
|
//#region services/github-client.ts
|
|
@@ -241,4 +241,4 @@ var init_github_client = __esmMin((() => {
|
|
|
241
241
|
//#endregion
|
|
242
242
|
export { init_github_client as i, GitHubClientLive as n, GitHubClientOptionalLive as r, GitHubClient as t };
|
|
243
243
|
|
|
244
|
-
//# sourceMappingURL=github-client
|
|
244
|
+
//# sourceMappingURL=github-client-BfyDxuRN.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { i as init_github_client, n as GitHubClientLive, r as GitHubClientOptionalLive, t as GitHubClient } from "./github-client
|
|
1
|
+
import { i as init_github_client, n as GitHubClientLive, r as GitHubClientOptionalLive, t as GitHubClient } from "./github-client-BfyDxuRN.js";
|
|
2
2
|
init_github_client();
|
|
3
3
|
export { GitHubClient, GitHubClientLive, GitHubClientOptionalLive };
|