@askexenow/exe-os 0.9.382 → 0.9.384
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/delivery/catalog.json +1254 -0
- package/deploy/compose/.env.customer.example +5 -5
- package/deploy/compose/.env.example +3 -3
- package/deploy/compose/docker-compose.yml +1 -1
- package/deploy/compose/generate-env.ts +65 -9
- package/deploy/compose/setup.sh +205 -7
- package/deploy/compose/sso-edge/default.conf.template +45 -0
- package/deploy/compose/sso-edge/sso-redirect.conf +11 -2
- package/deploy/stack-manifests/v0.9.30-apps.json +1 -1
- package/deploy/stack-manifests/v0.9.json +254 -2
- package/dist/.dist-verified.json +3 -3
- package/dist/{active-agent-GFUUCFLD.js → active-agent-F5V4E4UL.js} +7 -7
- package/dist/{active-agent-LE6FE6SO.js → active-agent-YTBB4ZQM.js} +7 -7
- package/dist/{agent-defs-generator-EIUA3SH5.js → agent-defs-generator-7TFISIJQ.js} +6 -6
- package/dist/{agent-loop-7ZRH56EX.js → agent-loop-EZ7LDAGD.js} +1 -1
- package/dist/{agentic-ontology-67JGSP7G.js → agentic-ontology-XVTUVV7W.js} +1 -1
- package/dist/{artifact-backup-NYXAYASJ.js → artifact-backup-TF6YWQT2.js} +5 -5
- package/dist/{backfill-gate-KWJQ35YX.js → backfill-gate-FWYLCGNJ.js} +3 -3
- package/dist/{backfill-metadata-RQYG2WUJ.js → backfill-metadata-J6MXIDCW.js} +10 -10
- package/dist/{background-jobs-6VMD55PK.js → background-jobs-V3DZRFKU.js} +3 -3
- package/dist/{backup-verify-HC4YDSGN.js → backup-verify-6DVBQMDP.js} +67 -18
- package/dist/{behavior-injection-6HSXP43Q.js → behavior-injection-XDA7ZCYN.js} +21 -20
- package/dist/{behavior-promotion-SJDQ2Y3U.js → behavior-promotion-4VLQ7LXK.js} +20 -19
- package/dist/{behaviors-6ITLA2CK.js → behaviors-SCCZP7RZ.js} +19 -18
- package/dist/bin/age-ontology-load.js +3 -3
- package/dist/bin/agentic-ontology-backfill.js +12 -12
- package/dist/bin/agentic-reflection-backfill.js +13 -13
- package/dist/bin/agentic-semantic-label.js +12 -12
- package/dist/bin/backfill-conversations.js +17 -16
- package/dist/bin/backfill-responses.js +17 -16
- package/dist/bin/backfill-vectors.js +23 -22
- package/dist/bin/bulk-sync-postgres.js +28 -27
- package/dist/bin/cc-doctor.js +17 -16
- package/dist/bin/cleanup-stale-review-tasks.js +29 -28
- package/dist/bin/cli.js +35 -26
- package/dist/bin/deferred-daemon-restart.js +124 -123
- package/dist/bin/exe-actions.js +1 -1
- package/dist/bin/exe-agent-config.js +6 -6
- package/dist/bin/exe-agent.js +22 -22
- package/dist/bin/exe-assign.js +19 -18
- package/dist/bin/exe-boot.js +57 -56
- package/dist/bin/exe-call.js +7 -7
- package/dist/bin/exe-cicd.js +38 -8
- package/dist/bin/exe-cloud.js +30 -29
- package/dist/bin/exe-config-dump.js +6 -6
- package/dist/bin/exe-dispatch.js +30 -29
- package/dist/bin/exe-doctor.js +11 -11
- package/dist/bin/exe-export-behaviors.js +23 -22
- package/dist/bin/exe-forget.js +13 -13
- package/dist/bin/exe-gateway.js +47 -14
- package/dist/bin/exe-grant.js +6 -6
- package/dist/bin/exe-healthcheck.js +17 -16
- package/dist/bin/exe-heartbeat.js +41 -35
- package/dist/bin/exe-kill.js +35 -34
- package/dist/bin/exe-launch-agent.js +43 -42
- package/dist/bin/exe-mcp.js +9 -9
- package/dist/bin/exe-memory-reads.js +10 -10
- package/dist/bin/exe-new-employee.js +11 -11
- package/dist/bin/exe-os-mcp-proxy.js +9 -9
- package/dist/bin/exe-pending-messages.js +30 -29
- package/dist/bin/exe-pending-notifications.js +29 -28
- package/dist/bin/exe-pending-reviews.js +30 -29
- package/dist/bin/exe-preflight.js +1 -1
- package/dist/bin/exe-rename.js +9 -9
- package/dist/bin/exe-review.js +34 -33
- package/dist/bin/exe-search.js +12 -12
- package/dist/bin/exe-session-cleanup.js +35 -34
- package/dist/bin/exe-settings.js +29 -28
- package/dist/bin/exe-start-codex.js +30 -29
- package/dist/bin/exe-start-opencode.js +27 -26
- package/dist/bin/exe-status.js +31 -30
- package/dist/bin/exe-support.js +5 -5
- package/dist/bin/exe-team.js +7 -7
- package/dist/bin/exe-verify-running-images.js +1 -1
- package/dist/bin/exe-watchdog.js +8 -8
- package/dist/bin/generate-hook-manifest.js +7 -1
- package/dist/bin/git-sweep.js +30 -29
- package/dist/bin/graph-backfill.js +12 -12
- package/dist/bin/graph-export.js +11 -11
- package/dist/bin/hooks-cli.js +1 -1
- package/dist/bin/import-history.js +15 -15
- package/dist/bin/install.js +130 -129
- package/dist/bin/intercom-check.js +11 -7
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +7 -7
- package/dist/bin/postgres-agentic-reflection-backfill.js +5 -5
- package/dist/bin/postgres-agentic-semantic-backfill.js +4 -4
- package/dist/bin/reconcile-backlog.js +2 -2
- package/dist/bin/registry-proxy.js +1 -1
- package/dist/bin/repair-document-chunks.js +161 -0
- package/dist/bin/scan-tasks.js +30 -29
- package/dist/bin/setup.js +5 -5
- package/dist/bin/shard-migrate.js +11 -11
- package/dist/bin/stack-update.js +625 -33
- package/dist/bin/update.js +96 -22
- package/dist/bin/verify-stack.js +2 -2
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/{boot-generation-L55QANCX.js → boot-generation-Q7LGQ3AO.js} +6 -6
- package/dist/{boot-review-sections-AON5ZCR2.js → boot-review-sections-G5774FR5.js} +28 -27
- package/dist/{branch-hygiene-QLD77IMJ.js → branch-hygiene-44WLSOZR.js} +2 -2
- package/dist/{branding-I6KIMB7F.js → branding-KMWCY5HZ.js} +3 -3
- package/dist/build-manifest.json +1259 -1219
- package/dist/{capability-cards-WTOXY7O6.js → capability-cards-I3RHCF4F.js} +5 -5
- package/dist/{capacity-monitor-ZLG7FSWM.js → capacity-monitor-7I7GDONU.js} +30 -29
- package/dist/{catchup-brief-QHY7D7N2.js → catchup-brief-3T5PARIR.js} +39 -36
- package/dist/check-image-pullability-2AIVB4BX.js +338 -0
- package/dist/{chunk-CTCCYKOV.js → chunk-2FKU4ZEO.js} +55 -29
- package/dist/{chunk-M7O7TGGU.js → chunk-2NW4LRDU.js} +1 -1
- package/dist/{chunk-XTFM4KMW.js → chunk-2PZTMSMG.js} +6 -6
- package/dist/{chunk-UWX6MMCX.js → chunk-3B6FLNLV.js} +1 -1
- package/dist/{chunk-GPJIBLP4.js → chunk-3DAEZILW.js} +1 -1
- package/dist/{chunk-NY6SBR4O.js → chunk-3FGBBJYM.js} +15 -3
- package/dist/{chunk-C4OZVVSG.js → chunk-3OX34OC3.js} +50 -18
- package/dist/{chunk-TXTXC3QG.js → chunk-3RGTLZNO.js} +12 -12
- package/dist/{chunk-PYRO25A5.js → chunk-3SUPEE6H.js} +10 -11
- package/dist/{chunk-PPMGQFLJ.js → chunk-3XY57PKT.js} +2 -2
- package/dist/{chunk-CRHI5QTZ.js → chunk-46VSBDUW.js} +2 -2
- package/dist/{chunk-VZT66WWP.js → chunk-4AAMFWJT.js} +2 -2
- package/dist/{chunk-4GZTBLJG.js → chunk-4AR5XKCH.js} +1 -1
- package/dist/{chunk-IHXW4VUI.js → chunk-5IADGFGR.js} +1 -1
- package/dist/{chunk-GLQEJOXE.js → chunk-5MVKTNZP.js} +57 -0
- package/dist/{chunk-AVMLC2MR.js → chunk-5U2IJBFV.js} +290 -41
- package/dist/{chunk-JUKDL5MF.js → chunk-6BJCDWSM.js} +1 -1
- package/dist/{chunk-6WWNK7UX.js → chunk-6FIC57PH.js} +1 -1
- package/dist/{chunk-ASUICGPX.js → chunk-6YDY6ZTD.js} +4 -4
- package/dist/{chunk-FU5O2REK.js → chunk-72V3S44T.js} +108 -29
- package/dist/{chunk-LTIIZHNA.js → chunk-7J2ZQ4XN.js} +1 -1
- package/dist/{chunk-7RI2CNXJ.js → chunk-7OTR2OET.js} +1 -1
- package/dist/{chunk-ZVBVPX4W.js → chunk-7UHZBVP3.js} +82 -51
- package/dist/{chunk-PTY2N23C.js → chunk-AGC2V7JS.js} +26 -13
- package/dist/{chunk-44VR3PFW.js → chunk-AHESD3KW.js} +1 -1
- package/dist/{chunk-NPGV4MZ3.js → chunk-ALRHGEAJ.js} +1 -1
- package/dist/{chunk-WJC6AAJN.js → chunk-ANVHWV2X.js} +2 -2
- package/dist/{chunk-AGZSGAEN.js → chunk-APL7HUE3.js} +105 -32
- package/dist/{chunk-7UH2JWBF.js → chunk-AZSTIAVL.js} +176 -11
- package/dist/chunk-AZXMR25O.js +545 -0
- package/dist/{chunk-WPWEBZ37.js → chunk-B7AMNZTC.js} +2 -2
- package/dist/{chunk-4CF5KUWH.js → chunk-BPVFZ6Q4.js} +3 -3
- package/dist/{chunk-XTQ7R2PA.js → chunk-BV2IET6B.js} +73 -17
- package/dist/{chunk-4F5CNI65.js → chunk-C5ISP5FO.js} +2 -2
- package/dist/{chunk-NPWNXJ3U.js → chunk-CH7BUBP3.js} +7 -7
- package/dist/{chunk-X5Q66EOG.js → chunk-CHIUS5QB.js} +16 -16
- package/dist/{chunk-ZG62LIK3.js → chunk-CIPDQRFO.js} +1 -1
- package/dist/{chunk-4PYIRIU6.js → chunk-CM7N5MBY.js} +5 -5
- package/dist/{chunk-L5YDAFUH.js → chunk-CYCIX7AW.js} +5 -5
- package/dist/{chunk-76YRJKKF.js → chunk-D3LXVAIQ.js} +28 -16
- package/dist/{chunk-2GNAHBRD.js → chunk-DMUOTCDN.js} +1 -1
- package/dist/{chunk-QMUFSRQX.js → chunk-DN3ZR3UE.js} +1 -1
- package/dist/{chunk-V3WLC5TJ.js → chunk-DRTJCG6B.js} +1 -1
- package/dist/{chunk-275WHBEN.js → chunk-DYVLEMKS.js} +1 -1
- package/dist/{chunk-O34F5EP5.js → chunk-DZN7SDY2.js} +1 -1
- package/dist/{chunk-ZDIXMHY7.js → chunk-E3ZM32LF.js} +8 -8
- package/dist/{chunk-N2HXR5MB.js → chunk-E7C2WNR5.js} +4 -4
- package/dist/{chunk-VVGXWVZU.js → chunk-EGOEB42T.js} +3 -3
- package/dist/{chunk-QV5CQLQH.js → chunk-EIOGV75A.js} +2 -2
- package/dist/{chunk-ZY4IGUOS.js → chunk-ELCRJGCH.js} +3 -3
- package/dist/{chunk-5QCIWWFA.js → chunk-ELEGH4DX.js} +130 -14
- package/dist/{chunk-S7CTCPSW.js → chunk-EOTZSAQL.js} +1 -1
- package/dist/{chunk-PPLQ4ECD.js → chunk-EUGEFBGV.js} +3 -3
- package/dist/{chunk-UFNCL6MS.js → chunk-EYMFVITZ.js} +1 -1
- package/dist/{chunk-F6H7GP2O.js → chunk-F4BBMIPG.js} +3 -3
- package/dist/{chunk-FNEZ4BWT.js → chunk-FEU6QEEL.js} +1 -1
- package/dist/{chunk-JKOC2L6P.js → chunk-FHIFTSPL.js} +1 -1
- package/dist/{chunk-4RTKETV3.js → chunk-FMIYFHLE.js} +3 -3
- package/dist/{chunk-TK544DEW.js → chunk-FVLNNNH6.js} +3 -3
- package/dist/{chunk-AY2U4NZ5.js → chunk-GL47M7NY.js} +85 -17
- package/dist/{chunk-DN24VTS5.js → chunk-GSLFH4AI.js} +25 -13
- package/dist/{chunk-CHO5SNWR.js → chunk-HA63SH5W.js} +1 -1
- package/dist/{chunk-4IK2K3B3.js → chunk-HME6ITKV.js} +1 -1
- package/dist/{chunk-H2T6TFJZ.js → chunk-HU3VD4MQ.js} +2 -2
- package/dist/{chunk-ZW32RI66.js → chunk-I5XIW2BP.js} +49 -11
- package/dist/{chunk-3CL2I3RG.js → chunk-IGJMS7C5.js} +2 -2
- package/dist/{chunk-BRPO6GOH.js → chunk-JA3Y5TV6.js} +2 -2
- package/dist/{chunk-SFFXAPYK.js → chunk-JDDM6C57.js} +1 -1
- package/dist/{chunk-W4EGAQXW.js → chunk-JFJP6ATJ.js} +2 -2
- package/dist/{chunk-ENCUOZXX.js → chunk-JFTUAV4J.js} +1 -1
- package/dist/{chunk-3UOQH2DJ.js → chunk-JJTPPAZY.js} +2568 -345
- package/dist/{chunk-A6QBAUJH.js → chunk-KILR4FBR.js} +4 -4
- package/dist/{chunk-CGFGNHSP.js → chunk-KTKIFXIP.js} +1 -1
- package/dist/{chunk-NCJBPXGM.js → chunk-KXYKSLW4.js} +108 -24
- package/dist/{chunk-3MUARHPO.js → chunk-L3VUW5M4.js} +1 -1
- package/dist/{chunk-GZOG2MAX.js → chunk-L5EPGGDP.js} +1 -1
- package/dist/{chunk-T7VSKWES.js → chunk-L63V25HS.js} +6 -5
- package/dist/{chunk-R4VNGRKU.js → chunk-LFBLQE2P.js} +1 -1
- package/dist/{chunk-W5MCOZTW.js → chunk-LFUBEHFW.js} +12 -2
- package/dist/{chunk-AIBIEP4R.js → chunk-LKTN22L6.js} +61 -25
- package/dist/{chunk-3KFQCFQB.js → chunk-LR5O2XWZ.js} +5 -5
- package/dist/{chunk-VUOAPKPI.js → chunk-LSNBTGW4.js} +1 -1
- package/dist/{chunk-P5U3GAWU.js → chunk-MB47DRF5.js} +2 -2
- package/dist/{chunk-HZESME3B.js → chunk-MC4IM2CC.js} +16 -13
- package/dist/{chunk-ZKJ5S23O.js → chunk-MFAOAIUE.js} +12 -9
- package/dist/{chunk-62J64CHO.js → chunk-MKM6D7JM.js} +26 -7
- package/dist/{chunk-ZIG7VPJV.js → chunk-MMS2HBRT.js} +15 -3
- package/dist/{chunk-FHSV4BSW.js → chunk-MOANZQXF.js} +12 -4
- package/dist/{chunk-RTZZBWQC.js → chunk-MPZ2AVNS.js} +16 -5
- package/dist/{chunk-AZ6KLVDX.js → chunk-MROSARM5.js} +2 -2
- package/dist/{chunk-RV2FFCDS.js → chunk-MUAWCFW6.js} +6 -2
- package/dist/{chunk-K4ESASPL.js → chunk-MUCNYSJP.js} +1 -1
- package/dist/{chunk-5QGKMP6T.js → chunk-NF5FOSLD.js} +1 -1
- package/dist/{chunk-CKOJP7JI.js → chunk-NKEFYE4R.js} +2 -2
- package/dist/{chunk-3SXHEQ7X.js → chunk-NPXIS2RY.js} +1 -1
- package/dist/{chunk-A5USSF66.js → chunk-NVFNADTX.js} +12 -8
- package/dist/{chunk-VVUO3RJS.js → chunk-NYLJQ2M2.js} +4 -4
- package/dist/{chunk-HIVOLPLD.js → chunk-OAFENIHN.js} +1 -1
- package/dist/{chunk-PMZHZQ6K.js → chunk-OBBO6EJR.js} +1 -1
- package/dist/{chunk-SS6EMDLL.js → chunk-P2UY34XE.js} +6 -6
- package/dist/{chunk-Y4T5IUEP.js → chunk-P3QQ52QK.js} +2 -2
- package/dist/{chunk-GGEKMY6G.js → chunk-P3UX5EH4.js} +4 -4
- package/dist/{chunk-F7IRZU5G.js → chunk-P4PIZOL2.js} +3 -3
- package/dist/{chunk-GEPFKUUR.js → chunk-P4XLIPB7.js} +1 -1
- package/dist/{chunk-GPUOUUHA.js → chunk-PCV52RYM.js} +1 -1
- package/dist/{chunk-XR3773KZ.js → chunk-PL4CFSQ7.js} +1 -1
- package/dist/{chunk-LLZNPOGB.js → chunk-PLII76NJ.js} +58 -0
- package/dist/{chunk-FT5PPV2C.js → chunk-PRDDPQLC.js} +5 -5
- package/dist/{chunk-BZ546I4Q.js → chunk-PUBA5B4M.js} +24 -0
- package/dist/{chunk-2TGJ5XCV.js → chunk-PWC3C5ME.js} +4 -4
- package/dist/{chunk-A4YCLD3L.js → chunk-QFAFKEB5.js} +40 -4
- package/dist/{chunk-CL4J4757.js → chunk-QH5ZQ5SJ.js} +26 -0
- package/dist/{chunk-UJWZYK46.js → chunk-QNZ4562V.js} +1 -1
- package/dist/{chunk-IPHLUZ37.js → chunk-QPTSA4PP.js} +2 -2
- package/dist/{chunk-O3YJTHWI.js → chunk-R5E7WNAC.js} +3 -3
- package/dist/{chunk-V3M4LJRA.js → chunk-RB3J2WYQ.js} +1 -1
- package/dist/{chunk-IUCWOI4Y.js → chunk-RDWIKDMY.js} +237 -11
- package/dist/{chunk-ENN6DY4T.js → chunk-RVO5O5SR.js} +46 -21
- package/dist/{chunk-LY4AXCYJ.js → chunk-RZN2LEAK.js} +6 -6
- package/dist/{chunk-2YIB75UQ.js → chunk-S26CV7BE.js} +57 -13
- package/dist/{chunk-XC36HYP6.js → chunk-SDYWZRPN.js} +1 -1
- package/dist/{chunk-PHBU4LGO.js → chunk-SNHYZYGZ.js} +1 -1
- package/dist/{chunk-4KTTBKWQ.js → chunk-T5FEAQES.js} +1 -1
- package/dist/{chunk-XU57KFD6.js → chunk-T5SM4RXY.js} +5 -1
- package/dist/{chunk-KUV5VBAO.js → chunk-TKAU7IJ2.js} +1 -1
- package/dist/{chunk-KBR5LIWD.js → chunk-TKS5GMYA.js} +1 -1
- package/dist/{chunk-5DFE2NAF.js → chunk-TNS63ATU.js} +96 -22
- package/dist/{chunk-RFPMXR6B.js → chunk-U4GMOT4M.js} +1 -1
- package/dist/{chunk-CO5ZVE3D.js → chunk-UOPCVFVR.js} +17 -17
- package/dist/{chunk-22LNFCDF.js → chunk-UX2EO653.js} +1 -1
- package/dist/{chunk-LGC6TBA3.js → chunk-UXN4BICC.js} +2 -2
- package/dist/{chunk-7J5X4AK7.js → chunk-VF2KRROX.js} +1 -1
- package/dist/{chunk-7THUQU44.js → chunk-VF3BZOZK.js} +5 -2
- package/dist/{chunk-M2B35MUK.js → chunk-VHHX4UCP.js} +1 -1
- package/dist/{chunk-AZBJXATK.js → chunk-VJEJ7JNB.js} +1 -1
- package/dist/{chunk-4TRVALTR.js → chunk-VLBHZ6TF.js} +2 -2
- package/dist/{chunk-7BMSBACY.js → chunk-VOVFUKEB.js} +5 -5
- package/dist/{chunk-MDPGZS6C.js → chunk-VROK4X2L.js} +1 -1
- package/dist/{chunk-J6ABJDZ4.js → chunk-W3KPQE7H.js} +4 -4
- package/dist/{chunk-3Q7NEDHB.js → chunk-W6BZ4UGA.js} +48 -9
- package/dist/{chunk-IZ3IFLL2.js → chunk-XEBKIWI7.js} +14 -14
- package/dist/{chunk-UZDF6FLJ.js → chunk-XHU3KOKJ.js} +1 -1
- package/dist/{chunk-PA37MXV5.js → chunk-XSUALA32.js} +2 -2
- package/dist/{chunk-GR5WJPKF.js → chunk-XUZK23V7.js} +11 -6
- package/dist/{chunk-IDB3EZLW.js → chunk-YLB365YX.js} +148 -5
- package/dist/{chunk-JDQ7JU3A.js → chunk-YLFCH3VA.js} +24 -16
- package/dist/{chunk-ZJJL2Z23.js → chunk-YRQ26MNP.js} +4 -4
- package/dist/chunk-YRUZK2QA.js +35 -0
- package/dist/{chunk-7HLJ4BSF.js → chunk-ZAEUEDTN.js} +2 -2
- package/dist/{chunk-NY74W3S4.js → chunk-ZBPZDADW.js} +313 -43
- package/dist/{chunk-ZLPS3GR7.js → chunk-ZJQ56DZZ.js} +42 -1
- package/dist/{chunk-VMZZTFXT.js → chunk-ZOTTYCP5.js} +4 -4
- package/dist/{chunk-MP4ST7RO.js → chunk-ZPP63JSQ.js} +51 -11
- package/dist/{chunk-N4J5WHO2.js → chunk-ZT4LFTUJ.js} +1 -1
- package/dist/{cleanup-graph-garbage-GE2DYOTB.js → cleanup-graph-garbage-VQAJ2RBT.js} +11 -11
- package/dist/{cloud-sync-command-T6KF3ARK.js → cloud-sync-command-J7NEFUY7.js} +2 -2
- package/dist/{cloud-sync-db-init-RSHCCY74.js → cloud-sync-db-init-KWEMNMGA.js} +1 -1
- package/dist/{cloud-sync-shutdown-6IVCSLM5.js → cloud-sync-shutdown-P63AUTUI.js} +5 -5
- package/dist/{co-activation-AF7RCJPX.js → co-activation-7IHRPBZN.js} +5 -5
- package/dist/{co-occurrence-DMOOGBVV.js → co-occurrence-R5AG4OAU.js} +9 -9
- package/dist/{code-context-index-LIDOFKOR.js → code-context-index-WFLLZBVB.js} +10 -9
- package/dist/{code-context-watcher-4F7K2N3U.js → code-context-watcher-3QAPHO7N.js} +10 -9
- package/dist/{codex-consolidation-SH4UKFBQ.js → codex-consolidation-ONZ2AQFX.js} +2 -2
- package/dist/{consent-passphrase-WV7MZPMO.js → consent-passphrase-5ZBDJ5G7.js} +2 -2
- package/dist/{content-extractor-DJM5EUDA.js → content-extractor-ZLXC6GNR.js} +2 -2
- package/dist/{conversation-entity-extractor-4UG7BKWL.js → conversation-entity-extractor-7FRKLLBD.js} +4 -4
- package/dist/{conversation-wiki-populator-OS4C6W54.js → conversation-wiki-populator-YAOVCUGO.js} +1 -1
- package/dist/{crdt-sync-VL4KXZB7.js → crdt-sync-IFRZOEIS.js} +4 -4
- package/dist/{crm-webhook-IDBJ7X5Y.js → crm-webhook-L2S63ASV.js} +2 -2
- package/dist/{cto-delegation-gate-4FLSHSLO.js → cto-delegation-gate-3WU7OHX7.js} +29 -28
- package/dist/{daemon-auth-PNKHERLV.js → daemon-auth-OWLFYEFR.js} +3 -3
- package/dist/{daemon-orchestration-HFCB6OK4.js → daemon-orchestration-3VQYKLOR.js} +33 -32
- package/dist/{daemon-ready-BN6EZLTQ.js → daemon-ready-VZ6ZHA2C.js} +1 -1
- package/dist/{db-integrity-events-GYGANKZV.js → db-integrity-events-7NKWS5MT.js} +3 -3
- package/dist/{db-restore-events-G6NOQOVE.js → db-restore-events-XYL6CGPC.js} +2 -2
- package/dist/{destructive-data-guard-HHWUBIGS.js → destructive-data-guard-JDUJ2ULM.js} +58 -2
- package/dist/{dispatch-ack-X4DXUSKP.js → dispatch-ack-UYEAKON5.js} +2 -1
- package/dist/{doc-graph-extractor-E36PQUCS.js → doc-graph-extractor-YIR5E7OF.js} +9 -9
- package/dist/{documents-SCKKHDR7.js → documents-QEHPTYIY.js} +19 -18
- package/dist/{dreaming-Q26JBH56.js → dreaming-LNFE7DTN.js} +34 -33
- package/dist/{employee-boot-brief-XU6EI2EO.js → employee-boot-brief-ZTXDYNWM.js} +39 -38
- package/dist/{entity-boost-VNQLLR3Q.js → entity-boost-R5N6JWXD.js} +1 -1
- package/dist/{exe-drift-YZ6OIUAY.js → exe-drift-WYSJVZFO.js} +6 -6
- package/dist/{exe-export-HHRQMLSS.js → exe-export-GOLNAEAV.js} +20 -19
- package/dist/{exe-import-5XR4NQAB.js → exe-import-U4BSI6OH.js} +20 -19
- package/dist/{exe-key-5XOFVP3I.js → exe-key-V42G3NGO.js} +152 -130
- package/dist/{exe-org-TPAX4AAK.js → exe-org-U4GLQ6OP.js} +27 -27
- package/dist/{exe-snapshot-GIRP3XCJ.js → exe-snapshot-U7ONBYNY.js} +38 -37
- package/dist/{fast-db-init-MGY6VCLG.js → fast-db-init-W3NGKAEU.js} +1 -1
- package/dist/{founder-context-WD72OL2P.js → founder-context-ZSIBRVDM.js} +4 -4
- package/dist/{founder-monitor-envelope-XGYMHT4W.js → founder-monitor-envelope-L3IWZLFY.js} +7 -7
- package/dist/{fts-integrity-PLAL6NMG.js → fts-integrity-PHCKKOBC.js} +3 -3
- package/dist/gateway/index.js +23 -22
- package/dist/{gateway-client-VO3BRLV5.js → gateway-client-DJFCVIPT.js} +1 -1
- package/dist/{git-staleness-KGZABPP3.js → git-staleness-OF24QXFZ.js} +5 -5
- package/dist/{global-procedures-KOU6A5E5.js → global-procedures-WSIOWO43.js} +6 -6
- package/dist/{graph-auto-extract-OZNRDAHE.js → graph-auto-extract-IEVVN3L3.js} +9 -9
- package/dist/{graph-query-36K6VXFF.js → graph-query-JDZWAVCU.js} +1 -1
- package/dist/{graph-rag-TZLH3CTQ.js → graph-rag-BKAD2XQA.js} +4 -4
- package/dist/{hook-integrity-BWFFISJV.js → hook-integrity-TPWDGX2M.js} +3 -1
- package/dist/{hook-prefetch-MFUJRAIM.js → hook-prefetch-FD6VGJJA.js} +29 -28
- package/dist/hooks/bug-report-worker.js +34 -33
- package/dist/hooks/codex-stop-task-finalizer.js +36 -35
- package/dist/hooks/commit-complete.js +40 -36
- package/dist/hooks/error-recall.js +15 -15
- package/dist/hooks/exe-heartbeat-hook.js +8 -8
- package/dist/hooks/ingest-worker.js +21 -20
- package/dist/hooks/ingest.js +23 -23
- package/dist/hooks/instructions-loaded.js +10 -10
- package/dist/hooks/manifest.json +20 -20
- package/dist/hooks/notification.js +9 -9
- package/dist/hooks/post-compact.js +8 -8
- package/dist/hooks/post-tool-combined.js +15 -15
- package/dist/hooks/pre-compact.js +33 -32
- package/dist/hooks/pre-tool-use.js +2 -2
- package/dist/hooks/prompt-submit.js +52 -51
- package/dist/hooks/session-end.js +38 -37
- package/dist/hooks/session-start.js +25 -22
- package/dist/hooks/stop.js +40 -39
- package/dist/hooks/subagent-stop.js +36 -35
- package/dist/hooks/summary-worker.js +41 -40
- package/dist/index.js +43 -42
- package/dist/{inrun-inbox-DRKVDPLY.js → inrun-inbox-RGNFFGMU.js} +5 -0
- package/dist/{installer-RM4ASY7U.js → installer-NMOBSEZ2.js} +11 -11
- package/dist/{installer-IESPHXVH.js → installer-OTI5SA43.js} +11 -11
- package/dist/{installer-SQZRVD36.js → installer-SRJGE4GU.js} +11 -11
- package/dist/{intercom-queue-DGLAC224.js → intercom-queue-4FFXCBHO.js} +28 -27
- package/dist/{key-backup-status-LQPINQ3W.js → key-backup-status-6U7D5GOD.js} +2 -2
- package/dist/lib/agent-config.js +3 -3
- package/dist/lib/cloud-sync.js +28 -27
- package/dist/lib/config.js +4 -2
- package/dist/lib/consolidation.js +14 -12
- package/dist/lib/crypto.js +5 -3
- package/dist/lib/database.js +5 -5
- package/dist/lib/db-backup.js +11 -3
- package/dist/lib/db-daemon-client.js +11 -10
- package/dist/lib/db-write-worker.js +4 -4
- package/dist/lib/db.js +5 -5
- package/dist/lib/delivery-catalog.js +431 -0
- package/dist/lib/delivery-schemas.js +62 -0
- package/dist/lib/delivery-truth.js +1 -1
- package/dist/lib/device-registry.js +3 -3
- package/dist/lib/embed-worker.js +2 -2
- package/dist/lib/embedder.js +10 -9
- package/dist/lib/employee-templates.js +7 -7
- package/dist/lib/employees.js +5 -5
- package/dist/lib/exe-daemon-client.js +9 -8
- package/dist/lib/exe-daemon.js +186 -117
- package/dist/lib/hybrid-search.js +12 -12
- package/dist/lib/identity.js +5 -5
- package/dist/lib/keychain.js +13 -1
- package/dist/lib/license.js +8 -4
- package/dist/lib/messaging.js +39 -30
- package/dist/lib/post-tool-memory.js +9 -9
- package/dist/lib/registry-proxy.js +9 -1
- package/dist/lib/reminders.js +6 -6
- package/dist/lib/schedules.js +11 -11
- package/dist/lib/session-registry.js +7 -7
- package/dist/lib/skill-learning.js +20 -19
- package/dist/lib/status-brief.js +5 -4
- package/dist/lib/store.js +10 -10
- package/dist/lib/task-router.js +6 -6
- package/dist/lib/tasks.js +30 -29
- package/dist/lib/tmux-routing.js +28 -27
- package/dist/lib/tmux-status.js +3 -1
- package/dist/lib/token-spend.js +6 -6
- package/dist/lib/ws-client.js +1 -1
- package/dist/{license-gate-E6GTRYBA.js → license-gate-R4JWTWM4.js} +5 -5
- package/dist/{license-recheck-RBAO6Z2H.js → license-recheck-3MBJ4IJX.js} +1 -1
- package/dist/{license-sync-ZCZ2LIHK.js → license-sync-BVSG3WMW.js} +4 -4
- package/dist/local-secret-inventory-JWNBHZZ4.js +20 -0
- package/dist/mailbox-inbox-MTAT4MXX.js +13 -0
- package/dist/{mailbox-outbox-DNDDP2HW.js → mailbox-outbox-OY4IU6S4.js} +2 -1
- package/dist/mcp/register-tools.js +121 -120
- package/dist/mcp/server.js +123 -122
- package/dist/mcp/tools/complete-reminder.js +7 -7
- package/dist/mcp/tools/create-reminder.js +7 -7
- package/dist/mcp/tools/create-task.js +35 -32
- package/dist/mcp/tools/deactivate-behavior.js +22 -21
- package/dist/mcp/tools/list-reminders.js +7 -7
- package/dist/mcp/tools/list-tasks.js +33 -32
- package/dist/mcp/tools/send-message.js +32 -31
- package/dist/mcp/tools/update-task.js +31 -30
- package/dist/{mcp-child-registry-DVHYAHPW.js → mcp-child-registry-TIZERM7O.js} +5 -5
- package/dist/{mcp-health-B5EKRCZG.js → mcp-health-4ZHU67LM.js} +9 -3
- package/dist/{mcp-http-config-ME67QDOF.js → mcp-http-config-VUMSFWFH.js} +12 -12
- package/dist/{mcp-session-identity-DNG4ULAE.js → mcp-session-identity-DZHWEJRV.js} +28 -27
- package/dist/{memory-cards-WCISXY62.js → memory-cards-JVXTMSAT.js} +10 -10
- package/dist/{memory-graph-extractor-GXIK4QUF.js → memory-graph-extractor-PPBJMYFJ.js} +10 -10
- package/dist/{memory-poisoning-defense-25LZ5FJI.js → memory-poisoning-defense-K5Q74XQ4.js} +5 -5
- package/dist/{memory-pressure-watchdog-XGXI7WGE.js → memory-pressure-watchdog-YMJH5CSA.js} +29 -28
- package/dist/{memory-queue-YF7IDSFY.js → memory-queue-2MA67TAA.js} +3 -3
- package/dist/{memory-queue-client-QC2OTMJB.js → memory-queue-client-4G7HVRSX.js} +11 -10
- package/dist/{memory-reflection-GFGT44NT.js → memory-reflection-7BZWIHRE.js} +10 -10
- package/dist/{monitor-grants-Z2SEFE6E.js → monitor-grants-Q7X3MYQP.js} +6 -6
- package/dist/{monitor-identity-AEMHCVHV.js → monitor-identity-ZQB4IXEE.js} +2 -2
- package/dist/{notification-ledger-ETQBGRP7.js → notification-ledger-XRAXL5OI.js} +32 -29
- package/dist/{notifications-LPRCFJYY.js → notifications-JE3PX55X.js} +28 -27
- package/dist/{orchestration-events-T2GXV2NG.js → orchestration-events-JCQ5F5IJ.js} +6 -6
- package/dist/{orchestration-phase-T2WD45UA.js → orchestration-phase-QKTGQ2YT.js} +3 -3
- package/dist/{orchestrator-HY2IB3NA.js → orchestrator-X65INDTR.js} +30 -29
- package/dist/{org-brief-session-UWFCFEEB.js → org-brief-session-3PQ22UIX.js} +19 -18
- package/dist/{org-consent-policy-XXMST37J.js → org-consent-policy-VGELJ7K7.js} +7 -6
- package/dist/{org-join-72QKM7JR.js → org-join-6TO5ZYUZ.js} +12 -12
- package/dist/{org-key-admin-YCIAYP7V.js → org-key-admin-XHYVRRAZ.js} +12 -12
- package/dist/{org-key-pin-F7BQPI5P.js → org-key-pin-TTTYGTQL.js} +6 -6
- package/dist/{org-membership-JQSU4Z5P.js → org-membership-Y7T2BS57.js} +7 -7
- package/dist/{org-partner-config-PVJ45SLC.js → org-partner-config-OP4NEUNF.js} +10 -10
- package/dist/{org-partner-runtime-U4CTLWLC.js → org-partner-runtime-YNVUNT2R.js} +20 -19
- package/dist/{org-row-visibility-WUX4N3FX.js → org-row-visibility-JBBXNYXD.js} +1 -1
- package/dist/{pipeline-router-2RMBCBRM.js → pipeline-router-EIBB7QNG.js} +6 -6
- package/dist/{plan-limits-Z47XYEJR.js → plan-limits-MEWXYLEN.js} +8 -8
- package/dist/{postinstall-failure-O6TSSNJB.js → postinstall-failure-VETYYWEZ.js} +3 -3
- package/dist/{pre-tool-use-impl-JPE6XMRJ.js → pre-tool-use-impl-C6KJY22W.js} +60 -49
- package/dist/{project-boot-UFQDAFU5.js → project-boot-VEYFCCSL.js} +2 -2
- package/dist/{project-name-V4IREGHO.js → project-name-UYORSNGE.js} +6 -6
- package/dist/{projection-worker-HAD6H3VJ.js → projection-worker-WYFDWS57.js} +5 -5
- package/dist/{prospective-memory-KIF4JLFF.js → prospective-memory-E6XBQFJA.js} +5 -5
- package/dist/{push-notifications-GDKRTYXH.js → push-notifications-M7YU63FY.js} +29 -28
- package/dist/{reproject-worktree-memories-SG4BZJ3Z.js → reproject-worktree-memories-B5XMGJSD.js} +28 -27
- package/dist/{reranker-G2AZ67JP.js → reranker-SRA4BR7N.js} +3 -3
- package/dist/{retrieval-health-GBJRXTBZ.js → retrieval-health-P2JPZUPV.js} +4 -4
- package/dist/{review-polling-VUZPAAGT.js → review-polling-KQPN7IQE.js} +29 -28
- package/dist/runtime/index.js +37 -36
- package/dist/{session-events-BI6NIFIR.js → session-events-6LDDKKY3.js} +29 -28
- package/dist/{session-kill-telemetry-HPBDOPHT.js → session-kill-telemetry-5DSRGWCL.js} +29 -28
- package/dist/{session-mcp-config-WFZAH6R5.js → session-mcp-config-F7RCERUG.js} +3 -3
- package/dist/{session-scope-UB3HA5E7.js → session-scope-XG5R3P3D.js} +28 -27
- package/dist/{setup-wizard-6XULOT3L.js → setup-wizard-7QFLZIKT.js} +5 -5
- package/dist/{shard-manager-DYEJ6ETD.js → shard-manager-HHHHV2KZ.js} +3 -3
- package/dist/{skill-refinement-MKBQIWZ6.js → skill-refinement-I5RMAHSC.js} +6 -6
- package/dist/{stack-generate-manifest-7ODQ6W2O.js → stack-generate-manifest-AKMZ3AUX.js} +246 -13
- package/dist/stack-init-5VKL5PL5.js +136 -0
- package/dist/{stack-promote-3UKJBJSP.js → stack-promote-34CE2HHF.js} +7 -6
- package/dist/{stack-release-5CVXMJM5.js → stack-release-5PGWV5D4.js} +123 -12
- package/dist/{stack-update-Z53KG2P5.js → stack-update-ZQQ5YYPJ.js} +20 -5
- package/dist/{steward-gate-OKUYYIX6.js → steward-gate-AQJ6KT2C.js} +6 -6
- package/dist/{subagent-brief-injection-T2CVQLAS.js → subagent-brief-injection-3GU7YAWY.js} +50 -42
- package/dist/{subagent-spawn-ledger-E6U3OY6Z.js → subagent-spawn-ledger-52I66CLW.js} +3 -3
- package/dist/{supervisor-handoff-SGLEPOCY.js → supervisor-handoff-BWJW6CKZ.js} +4 -4
- package/dist/{support-inbox-WJIDCKJC.js → support-inbox-NY5TB3FN.js} +12 -12
- package/dist/{support-outbox-G2NG2U5K.js → support-outbox-KNI3FR3G.js} +3 -2
- package/dist/{task-enforcement-JL5ADPS6.js → task-enforcement-CAA6D2MH.js} +29 -28
- package/dist/{task-request-inbox-54BRRFHZ.js → task-request-inbox-QBZVU66E.js} +9 -6
- package/dist/{task-scope-OBPZBID5.js → task-scope-NHXB4ZRN.js} +32 -27
- package/dist/{tasks-crud-YBCPT7TY.js → tasks-crud-JHSWL5NM.js} +28 -27
- package/dist/{tasks-notify-CEEQSDJF.js → tasks-notify-7PBE4U7T.js} +29 -28
- package/dist/{tasks-review-JIEI656P.js → tasks-review-PPPVEE62.js} +28 -27
- package/dist/{telemetry-upload-ZZSEZR2U.js → telemetry-upload-YU2VRNHX.js} +10 -10
- package/dist/{token-budget-AUFMEMQ2.js → token-budget-QCMWKG3K.js} +6 -6
- package/dist/{tool-capability-index-6HLZU437.js → tool-capability-index-7AWQAJRP.js} +1 -1
- package/dist/{tool-gates-VXITVRFQ.js → tool-gates-5Q3RSQEG.js} +1 -1
- package/dist/{tool-gates-JWVSAYTW.js → tool-gates-QD26D2NE.js} +1 -1
- package/dist/{tool-telemetry-RHSEK2TO.js → tool-telemetry-LTOIC64I.js} +1 -1
- package/dist/tui/App.js +43 -42
- package/dist/{tui-data-PBZNN5YB.js → tui-data-NDBXD6U7.js} +32 -31
- package/dist/{update-support-V3ZCJR6L.js → update-support-BMJM4NG7.js} +27 -26
- package/dist/{whatsapp-NAM2CRVQ.js → whatsapp-QQLDAHUX.js} +2 -2
- package/dist/{wiki-acl-NUBAPLCD.js → wiki-acl-W6WDCVCP.js} +1 -1
- package/dist/{work-claims-Q2NU6JON.js → work-claims-6DM32MGO.js} +6 -6
- package/dist/{work-state-heartbeat-HAQRV3RK.js → work-state-heartbeat-HG7D4AWJ.js} +1 -1
- package/dist/{worker-gate-NUUSQMBT.js → worker-gate-FTMW7GBB.js} +3 -3
- package/dist/{workflow-engine-GEWPU5YR.js → workflow-engine-ZWC6CCXE.js} +2 -2
- package/dist/{worktree-C7LFMRKW.js → worktree-EMQCPGFE.js} +7 -7
- package/dist/{worktree-ownership-guard-4LKMW6PW.js → worktree-ownership-guard-O6JQF2CL.js} +2 -2
- package/dist/{worktree-sweep-SYF62ANH.js → worktree-sweep-XVUJZBXV.js} +8 -8
- package/package.json +23 -7
- package/release-notes.json +39 -12
- package/stack.release.json +4 -4
- package/dist/mailbox-inbox-XE72D3AX.js +0 -10
- /package/dist/{chunk-QIEYJ4KZ.js → chunk-2KY7WZZF.js} +0 -0
- /package/dist/{chunk-T3667X2B.js → chunk-2Q2CD6CD.js} +0 -0
- /package/dist/{chunk-JZJZYKMW.js → chunk-AJK2PVQW.js} +0 -0
- /package/dist/{chunk-ZEGEFBZV.js → chunk-AWWDKF22.js} +0 -0
- /package/dist/{chunk-QNTKRGJ6.js → chunk-GIRD7O5X.js} +0 -0
- /package/dist/{chunk-FWA4MYTA.js → chunk-JRIH6I7D.js} +0 -0
- /package/dist/{chunk-C7H2D7LX.js → chunk-M4XY4JRK.js} +0 -0
- /package/dist/{chunk-Q3DN5J6F.js → chunk-P2VVMGMI.js} +0 -0
- /package/dist/{chunk-BRAIWGMF.js → chunk-Q46NYJ77.js} +0 -0
- /package/dist/{chunk-3LQ2N4H7.js → chunk-U2D6PJ5T.js} +0 -0
- /package/dist/{chunk-3O6OGZL3.js → chunk-XDVOGDBC.js} +0 -0
- /package/dist/{core-memory-UNCAPGD4.js → core-memory-O6D5UC3T.js} +0 -0
- /package/dist/{hook-tamper-log-Z4PWC7N4.js → hook-tamper-log-ARGWCXKJ.js} +0 -0
- /package/dist/{memory-isolation-ALPJWLR5.js → memory-isolation-EBFFC6HF.js} +0 -0
- /package/dist/{oauth-server-AC2KB7NB.js → oauth-server-ZKBUHDFI.js} +0 -0
- /package/dist/{webhook-pipe-W2FVXY7M.js → webhook-pipe-PXH5MBRM.js} +0 -0
- /package/dist/{wiki-client-W65IOSWF.js → wiki-client-DD2NVWK2.js} +0 -0
package/dist/lib/exe-daemon.js
CHANGED
|
@@ -6,12 +6,12 @@ import {
|
|
|
6
6
|
restartBreakerAlertPath,
|
|
7
7
|
writeDaemonExitBreadcrumb
|
|
8
8
|
} from "../chunk-7INEFMVU.js";
|
|
9
|
-
import {
|
|
10
|
-
pushNotifyAsync
|
|
11
|
-
} from "../chunk-W4EGAQXW.js";
|
|
12
9
|
import {
|
|
13
10
|
isDbVerifyStampFresh
|
|
14
11
|
} from "../chunk-SVFNWBLF.js";
|
|
12
|
+
import {
|
|
13
|
+
pushNotifyAsync
|
|
14
|
+
} from "../chunk-JFJP6ATJ.js";
|
|
15
15
|
import {
|
|
16
16
|
disposeDbWriteWorker,
|
|
17
17
|
isDbWriteWorkerReady,
|
|
@@ -29,17 +29,20 @@ import {
|
|
|
29
29
|
decideBootBackoff,
|
|
30
30
|
decideDaemonSelfHeal,
|
|
31
31
|
decideOrchestrationTickSkip,
|
|
32
|
+
hostTickFractionFor,
|
|
32
33
|
isHostCpuStarved,
|
|
34
|
+
isHostSuspendedWindow,
|
|
35
|
+
totalHostCpuMs,
|
|
33
36
|
updateLoadWindow
|
|
34
|
-
} from "../chunk-
|
|
37
|
+
} from "../chunk-ZJQ56DZZ.js";
|
|
38
|
+
import {
|
|
39
|
+
outsideParkPortionMs
|
|
40
|
+
} from "../chunk-3OX5S7KZ.js";
|
|
35
41
|
import {
|
|
36
42
|
getMcpToolFamily,
|
|
37
43
|
inferMcpRuntime,
|
|
38
44
|
recordMcpHttpEvent
|
|
39
|
-
} from "../chunk-
|
|
40
|
-
import {
|
|
41
|
-
outsideParkPortionMs
|
|
42
|
-
} from "../chunk-3OX5S7KZ.js";
|
|
45
|
+
} from "../chunk-FEU6QEEL.js";
|
|
43
46
|
import {
|
|
44
47
|
hasPendingCloudSyncSlice,
|
|
45
48
|
readCloudSyncState,
|
|
@@ -56,16 +59,15 @@ import {
|
|
|
56
59
|
findScopedDuplicate,
|
|
57
60
|
governMemoryRecord,
|
|
58
61
|
schedulePostWriteMemoryHygiene
|
|
59
|
-
} from "../chunk-
|
|
62
|
+
} from "../chunk-VHHX4UCP.js";
|
|
60
63
|
import "../chunk-5MOYSU5A.js";
|
|
61
|
-
import "../chunk-
|
|
64
|
+
import "../chunk-ELEGH4DX.js";
|
|
62
65
|
import "../chunk-76CJBM36.js";
|
|
63
66
|
import {
|
|
64
67
|
BUSY_PATTERN
|
|
65
|
-
} from "../chunk-
|
|
66
|
-
import "../chunk-
|
|
67
|
-
import "../chunk-
|
|
68
|
-
import "../chunk-UJWZYK46.js";
|
|
68
|
+
} from "../chunk-7UHZBVP3.js";
|
|
69
|
+
import "../chunk-6BJCDWSM.js";
|
|
70
|
+
import "../chunk-JDDM6C57.js";
|
|
69
71
|
import {
|
|
70
72
|
currentPauseStartMs,
|
|
71
73
|
isTimerPausedNow,
|
|
@@ -74,31 +76,32 @@ import {
|
|
|
74
76
|
sweepPauseTotalMs,
|
|
75
77
|
timerPauseIntervalsSince
|
|
76
78
|
} from "../chunk-ZKGWHT56.js";
|
|
79
|
+
import "../chunk-QNZ4562V.js";
|
|
77
80
|
import "../chunk-WT4RI36X.js";
|
|
78
81
|
import "../chunk-E23LNUWJ.js";
|
|
79
82
|
import "../chunk-TDF2XKLK.js";
|
|
80
83
|
import "../chunk-EIKATSE4.js";
|
|
81
84
|
import "../chunk-MJCSEIFI.js";
|
|
82
|
-
import "../chunk-
|
|
85
|
+
import "../chunk-ALRHGEAJ.js";
|
|
86
|
+
import "../chunk-PUBA5B4M.js";
|
|
83
87
|
import "../chunk-VI4ATC6I.js";
|
|
84
88
|
import "../chunk-A27Q27CT.js";
|
|
85
|
-
import "../chunk-
|
|
86
|
-
import "../chunk-
|
|
87
|
-
import "../chunk-
|
|
88
|
-
import "../chunk-
|
|
89
|
-
import "../chunk-GZOG2MAX.js";
|
|
89
|
+
import "../chunk-LSNBTGW4.js";
|
|
90
|
+
import "../chunk-T5SM4RXY.js";
|
|
91
|
+
import "../chunk-VJEJ7JNB.js";
|
|
92
|
+
import "../chunk-L5EPGGDP.js";
|
|
90
93
|
import "../chunk-AM7S2TY6.js";
|
|
91
|
-
import "../chunk-
|
|
94
|
+
import "../chunk-BPVFZ6Q4.js";
|
|
92
95
|
import "../chunk-CVYC6DUW.js";
|
|
93
|
-
import "../chunk-
|
|
94
|
-
import "../chunk-
|
|
96
|
+
import "../chunk-ANVHWV2X.js";
|
|
97
|
+
import "../chunk-HME6ITKV.js";
|
|
95
98
|
import {
|
|
96
99
|
attributeSignalSource,
|
|
97
100
|
consumeRestartIntentDetail,
|
|
98
101
|
isRestartCooldownActive,
|
|
99
102
|
logRestartEvent,
|
|
100
103
|
noteRestartAttempt
|
|
101
|
-
} from "../chunk-
|
|
104
|
+
} from "../chunk-MFAOAIUE.js";
|
|
102
105
|
import {
|
|
103
106
|
AGENT_IDENTITY_TOKEN_HEADER,
|
|
104
107
|
assessInitialBindIdentity,
|
|
@@ -108,12 +111,9 @@ import {
|
|
|
108
111
|
reconcileSessionAgentIdentity,
|
|
109
112
|
shouldEnforceAgentIdentity,
|
|
110
113
|
shouldEnforceSessionIdentity
|
|
111
|
-
} from "../chunk-
|
|
114
|
+
} from "../chunk-PCV52RYM.js";
|
|
112
115
|
import "../chunk-BTSWFMEH.js";
|
|
113
|
-
import "../chunk-
|
|
114
|
-
import {
|
|
115
|
-
sanitizeDaemonKeyCustodyEnv
|
|
116
|
-
} from "../chunk-IMYGYIAI.js";
|
|
116
|
+
import "../chunk-CIPDQRFO.js";
|
|
117
117
|
import {
|
|
118
118
|
DAEMON_RSS_RESTART_DEBOUNCE,
|
|
119
119
|
DAEMON_RSS_STARTUP_GRACE_MS,
|
|
@@ -130,20 +130,24 @@ import {
|
|
|
130
130
|
resolveEmbedWorkerRssKillMb,
|
|
131
131
|
shouldRestartForRss
|
|
132
132
|
} from "../chunk-NLEW62VC.js";
|
|
133
|
+
import {
|
|
134
|
+
sanitizeDaemonKeyCustodyEnv
|
|
135
|
+
} from "../chunk-IMYGYIAI.js";
|
|
133
136
|
import {
|
|
134
137
|
killIfSameProcess,
|
|
135
138
|
ownProcessStartedAt,
|
|
136
139
|
processStartedAt
|
|
137
|
-
} from "../chunk-
|
|
140
|
+
} from "../chunk-3DAEZILW.js";
|
|
138
141
|
import {
|
|
139
142
|
killAttributionLogPath,
|
|
140
143
|
recordKillIntent
|
|
141
|
-
} from "../chunk-
|
|
142
|
-
import "../chunk-
|
|
144
|
+
} from "../chunk-DRTJCG6B.js";
|
|
145
|
+
import "../chunk-UX2EO653.js";
|
|
143
146
|
import "../chunk-HYZV25LY.js";
|
|
144
147
|
import "../chunk-GJV3WDWM.js";
|
|
145
148
|
import "../chunk-MP2AFCGL.js";
|
|
146
|
-
import "../chunk-
|
|
149
|
+
import "../chunk-YRUZK2QA.js";
|
|
150
|
+
import "../chunk-GL47M7NY.js";
|
|
147
151
|
import {
|
|
148
152
|
logBoot,
|
|
149
153
|
logCrash,
|
|
@@ -153,17 +157,20 @@ import {
|
|
|
153
157
|
} from "../chunk-BBMTVAE3.js";
|
|
154
158
|
import "../chunk-TKDITWDN.js";
|
|
155
159
|
import "../chunk-5YEUPUV4.js";
|
|
156
|
-
import "../chunk-
|
|
160
|
+
import "../chunk-72V3S44T.js";
|
|
157
161
|
import {
|
|
158
162
|
isPostgresBackendEnabled
|
|
159
163
|
} from "../chunk-YYB5PMTK.js";
|
|
160
164
|
import "../chunk-L5CGXEZC.js";
|
|
161
165
|
import {
|
|
162
166
|
getEventLoopLagMs,
|
|
167
|
+
getLastStall,
|
|
163
168
|
isEventLoopDegraded,
|
|
164
169
|
markAsDaemonProcess,
|
|
165
|
-
setEventLoopLagMs
|
|
166
|
-
|
|
170
|
+
setEventLoopLagMs,
|
|
171
|
+
setLastStallClass,
|
|
172
|
+
stallRemediation
|
|
173
|
+
} from "../chunk-QH5ZQ5SJ.js";
|
|
167
174
|
import {
|
|
168
175
|
clearDaemonReady,
|
|
169
176
|
eventLoopBlockedMarkerPath,
|
|
@@ -175,9 +182,9 @@ import {
|
|
|
175
182
|
EMBEDDING_DIM
|
|
176
183
|
} from "../chunk-FXU7JOXK.js";
|
|
177
184
|
import "../chunk-WNBZJSQT.js";
|
|
178
|
-
import "../chunk-
|
|
185
|
+
import "../chunk-TNS63ATU.js";
|
|
179
186
|
import "../chunk-A7XLR3K7.js";
|
|
180
|
-
import "../chunk-
|
|
187
|
+
import "../chunk-DZN7SDY2.js";
|
|
181
188
|
import "../chunk-A7JYF4RG.js";
|
|
182
189
|
import "../chunk-ARX6TAGN.js";
|
|
183
190
|
import {
|
|
@@ -185,9 +192,9 @@ import {
|
|
|
185
192
|
MODELS_DIR,
|
|
186
193
|
loadConfigSync,
|
|
187
194
|
resolveEmbedModelFile
|
|
188
|
-
} from "../chunk-
|
|
189
|
-
import "../chunk-HSGBZSCA.js";
|
|
195
|
+
} from "../chunk-MMS2HBRT.js";
|
|
190
196
|
import "../chunk-RH4AH3YB.js";
|
|
197
|
+
import "../chunk-HSGBZSCA.js";
|
|
191
198
|
import "../chunk-JKKZGDLP.js";
|
|
192
199
|
import "../chunk-MLKGABMK.js";
|
|
193
200
|
|
|
@@ -296,7 +303,17 @@ var DAEMON_ALLOWED_SCHEMA_SQL_RE = [
|
|
|
296
303
|
/^\s*CREATE\s+TABLE\s+IF\s+NOT\s+EXISTS\s+orchestration_events\s*\(/i,
|
|
297
304
|
/^\s*CREATE\s+INDEX\s+IF\s+NOT\s+EXISTS\s+idx_orch_events_(?:ts|task|agent|type)\s+ON\s+orchestration_events\s*\(/i,
|
|
298
305
|
// Cloud sync metadata table — created lazily by getCloudReuploadRequired().
|
|
299
|
-
/^\s*CREATE\s+TABLE\s+IF\s+NOT\s+EXISTS\s+sync_meta\s*\(/i
|
|
306
|
+
/^\s*CREATE\s+TABLE\s+IF\s+NOT\s+EXISTS\s+sync_meta\s*\(/i,
|
|
307
|
+
// Bug fc47a4ba: the orphan-message holding table, ensured lazily by
|
|
308
|
+
// messaging.ts ensureMessagesQuarantineTable(). Without these two entries the
|
|
309
|
+
// guard fell through to DAEMON_FORBIDDEN_SQL_RE (which matches any CREATE) and
|
|
310
|
+
// BOTH `message` MCP actions that touch it — `orphans` and `quarantine_orphans`
|
|
311
|
+
// — threw before doing any work on every daemon-routed client, i.e. on exactly
|
|
312
|
+
// the installs they exist to help. Routing the DDL one statement at a time
|
|
313
|
+
// instead of via executeMultiple did not change this: the rejection is on the
|
|
314
|
+
// SQL, not on the transport.
|
|
315
|
+
/^\s*CREATE\s+TABLE\s+IF\s+NOT\s+EXISTS\s+messages_quarantine\s*\(/i,
|
|
316
|
+
/^\s*CREATE\s+INDEX\s+IF\s+NOT\s+EXISTS\s+idx_messages_quarantine_target\s+ON\s+messages_quarantine\s*\(/i
|
|
300
317
|
];
|
|
301
318
|
var UPDATE_DELETE_RE = /^\s*(UPDATE|DELETE)\b/i;
|
|
302
319
|
var TAUTOLOGICAL_WHERE_RE = /\bWHERE\s+(?:\(?\s*)?(?:1\s*=\s*1|TRUE\b|'[^']*'\s*=\s*'[^']*'|"[^"]*"\s*=\s*"[^"]*")/i;
|
|
@@ -2656,7 +2673,7 @@ async function loadModel() {
|
|
|
2656
2673
|
void (async () => {
|
|
2657
2674
|
try {
|
|
2658
2675
|
if (_storeInitialized) {
|
|
2659
|
-
const { writeNotification } = await import("../notifications-
|
|
2676
|
+
const { writeNotification } = await import("../notifications-JE3PX55X.js");
|
|
2660
2677
|
await writeNotification({
|
|
2661
2678
|
agentId: "exe",
|
|
2662
2679
|
agentRole: "system",
|
|
@@ -2793,7 +2810,7 @@ function disableEmbeddingsForInferenceTimeouts() {
|
|
|
2793
2810
|
void (async () => {
|
|
2794
2811
|
try {
|
|
2795
2812
|
if (_storeInitialized) {
|
|
2796
|
-
const { writeNotification } = await import("../notifications-
|
|
2813
|
+
const { writeNotification } = await import("../notifications-JE3PX55X.js");
|
|
2797
2814
|
await writeNotification({
|
|
2798
2815
|
agentId: "exe",
|
|
2799
2816
|
agentRole: "system",
|
|
@@ -2960,7 +2977,7 @@ async function shutdown(exitCode = 0, reason = null, restartKind) {
|
|
|
2960
2977
|
_shuttingDown = true;
|
|
2961
2978
|
_drainingWrites = true;
|
|
2962
2979
|
try {
|
|
2963
|
-
const { stopOrgPartnerRuntime } = await import("../org-partner-runtime-
|
|
2980
|
+
const { stopOrgPartnerRuntime } = await import("../org-partner-runtime-YNVUNT2R.js");
|
|
2964
2981
|
stopOrgPartnerRuntime();
|
|
2965
2982
|
} catch {
|
|
2966
2983
|
}
|
|
@@ -3043,7 +3060,7 @@ async function shutdown(exitCode = 0, reason = null, restartKind) {
|
|
|
3043
3060
|
dbBytes = dbPath ? statSync4(dbPath).size : 0;
|
|
3044
3061
|
} catch {
|
|
3045
3062
|
}
|
|
3046
|
-
const { getAvailableMemoryBytesSync } = await import("../memory-pressure-watchdog-
|
|
3063
|
+
const { getAvailableMemoryBytesSync } = await import("../memory-pressure-watchdog-YMJH5CSA.js");
|
|
3047
3064
|
const freeBytes = getAvailableMemoryBytesSync();
|
|
3048
3065
|
if (shouldSkipBackupUnderMemoryPressure(freeBytes, dbBytes)) {
|
|
3049
3066
|
memoryGateSkip = true;
|
|
@@ -3096,17 +3113,17 @@ async function shutdown(exitCode = 0, reason = null, restartKind) {
|
|
|
3096
3113
|
`);
|
|
3097
3114
|
}
|
|
3098
3115
|
try {
|
|
3099
|
-
const { stopProjectionWorker } = await import("../projection-worker-
|
|
3116
|
+
const { stopProjectionWorker } = await import("../projection-worker-WYFDWS57.js");
|
|
3100
3117
|
stopProjectionWorker();
|
|
3101
3118
|
} catch {
|
|
3102
3119
|
}
|
|
3103
3120
|
try {
|
|
3104
|
-
const { disposeShards } = await import("../shard-manager-
|
|
3121
|
+
const { disposeShards } = await import("../shard-manager-HHHHV2KZ.js");
|
|
3105
3122
|
disposeShards();
|
|
3106
3123
|
} catch {
|
|
3107
3124
|
}
|
|
3108
3125
|
try {
|
|
3109
|
-
const { disposeAllCodeContextWatchers } = await import("../code-context-watcher-
|
|
3126
|
+
const { disposeAllCodeContextWatchers } = await import("../code-context-watcher-3QAPHO7N.js");
|
|
3110
3127
|
disposeAllCodeContextWatchers();
|
|
3111
3128
|
} catch {
|
|
3112
3129
|
}
|
|
@@ -3164,7 +3181,7 @@ async function handleHealthCheck(socket, requestId) {
|
|
|
3164
3181
|
let pipelineStatus = "unknown";
|
|
3165
3182
|
if (dbConnected) {
|
|
3166
3183
|
try {
|
|
3167
|
-
await import("../pipeline-router-
|
|
3184
|
+
await import("../pipeline-router-EIBB7QNG.js");
|
|
3168
3185
|
pipelineStatus = "ok";
|
|
3169
3186
|
} catch {
|
|
3170
3187
|
pipelineStatus = "unavailable";
|
|
@@ -3630,7 +3647,7 @@ async function _writeMemoryRecordInner(entry, syncOnly = false) {
|
|
|
3630
3647
|
const vRow = await client.execute({ sql: "SELECT version FROM memories WHERE id = ?", args: [id] });
|
|
3631
3648
|
const version = Number(vRow.rows[0]?.version) || 0;
|
|
3632
3649
|
try {
|
|
3633
|
-
const { insertOntologyForMemory } = await import("../agentic-ontology-
|
|
3650
|
+
const { insertOntologyForMemory } = await import("../agentic-ontology-XVTUVV7W.js");
|
|
3634
3651
|
await insertOntologyForMemory({
|
|
3635
3652
|
id,
|
|
3636
3653
|
agent_id: record.agent_id,
|
|
@@ -3660,7 +3677,7 @@ function startMemoryQueueDrain() {
|
|
|
3660
3677
|
fired("memory_queue_drain");
|
|
3661
3678
|
if (!await ensureStoreForPolling()) return;
|
|
3662
3679
|
try {
|
|
3663
|
-
const { ackQueue, claimQueue, retryQueueEntries, processQueueEntries } = await import("../memory-queue-
|
|
3680
|
+
const { ackQueue, claimQueue, retryQueueEntries, processQueueEntries } = await import("../memory-queue-2MA67TAA.js");
|
|
3664
3681
|
const lease = claimQueue();
|
|
3665
3682
|
if (!lease || lease.entries.length === 0) return;
|
|
3666
3683
|
acted("memory_queue_drain");
|
|
@@ -4325,7 +4342,7 @@ async function startMcpHttpServer() {
|
|
|
4325
4342
|
`);
|
|
4326
4343
|
}
|
|
4327
4344
|
try {
|
|
4328
|
-
void import("../mcp-child-registry-
|
|
4345
|
+
void import("../mcp-child-registry-TIZERM7O.js").then(({ reapOrphanedMcpChildren }) => reapOrphanedMcpChildren({
|
|
4329
4346
|
// A session the reaper cannot decide on must not vanish into a
|
|
4330
4347
|
// silent `continue` — an orphan nobody can see is worse than one
|
|
4331
4348
|
// that is reported. It is deliberately NOT terminated (unverified
|
|
@@ -4508,7 +4525,7 @@ async function startMcpHttpServer() {
|
|
|
4508
4525
|
setBootPhase("db_ready");
|
|
4509
4526
|
_storeInitialized = true;
|
|
4510
4527
|
markDbInitCompleted();
|
|
4511
|
-
const { initLicenseGate, getCachedLicenseGate } = await import("../license-gate-
|
|
4528
|
+
const { initLicenseGate, getCachedLicenseGate } = await import("../license-gate-R4JWTWM4.js");
|
|
4512
4529
|
const gateResult = await initLicenseGate();
|
|
4513
4530
|
if (!gateResult.hasKey) {
|
|
4514
4531
|
process.stderr.write(
|
|
@@ -4520,7 +4537,7 @@ async function startMcpHttpServer() {
|
|
|
4520
4537
|
`
|
|
4521
4538
|
);
|
|
4522
4539
|
}
|
|
4523
|
-
const { startLicenseRecheckTimer, LICENSE_RECHECK_INTERVAL_MS } = await import("../license-recheck-
|
|
4540
|
+
const { startLicenseRecheckTimer, LICENSE_RECHECK_INTERVAL_MS } = await import("../license-recheck-3MBJ4IJX.js");
|
|
4524
4541
|
startLicenseRecheckTimer();
|
|
4525
4542
|
process.stderr.write(
|
|
4526
4543
|
`[exed] License re-check timer started (every ${LICENSE_RECHECK_INTERVAL_MS / 6e4}m, throttled by cache freshness)
|
|
@@ -4529,14 +4546,14 @@ async function startMcpHttpServer() {
|
|
|
4529
4546
|
let _cachedWrapTelemetry = null;
|
|
4530
4547
|
async function getWrapTelemetry() {
|
|
4531
4548
|
if (!_cachedWrapTelemetry) {
|
|
4532
|
-
const { wrapServerWithTelemetry } = await import("../tool-telemetry-
|
|
4549
|
+
const { wrapServerWithTelemetry } = await import("../tool-telemetry-LTOIC64I.js");
|
|
4533
4550
|
_cachedWrapTelemetry = wrapServerWithTelemetry;
|
|
4534
4551
|
}
|
|
4535
4552
|
return _cachedWrapTelemetry;
|
|
4536
4553
|
}
|
|
4537
4554
|
Promise.all([
|
|
4538
|
-
import("../tool-capability-index-
|
|
4539
|
-
import("../tool-gates-
|
|
4555
|
+
import("../tool-capability-index-7AWQAJRP.js"),
|
|
4556
|
+
import("../tool-gates-5Q3RSQEG.js")
|
|
4540
4557
|
]).then(async ([{ getToolCapabilityIndex }, { TOOL_CATEGORIES }]) => {
|
|
4541
4558
|
const gateState = getCachedLicenseGate();
|
|
4542
4559
|
const index = getToolCapabilityIndex();
|
|
@@ -4601,7 +4618,7 @@ async function startMcpHttpServer() {
|
|
|
4601
4618
|
const expectedBuf = Buffer.from(_daemonToken);
|
|
4602
4619
|
if (tokenBuf.length === expectedBuf.length && timingSafeEqual(tokenBuf, expectedBuf)) return true;
|
|
4603
4620
|
try {
|
|
4604
|
-
const { verifyAccessToken } = await import("../oauth-server-
|
|
4621
|
+
const { verifyAccessToken } = await import("../oauth-server-ZKBUHDFI.js");
|
|
4605
4622
|
const result = verifyAccessToken(token);
|
|
4606
4623
|
return result.valid;
|
|
4607
4624
|
} catch {
|
|
@@ -4825,6 +4842,16 @@ async function startMcpHttpServer() {
|
|
|
4825
4842
|
// process: traceDaemonTimer writes tick *starts* to stderr only, never
|
|
4826
4843
|
// durably. When a tick blocks the loop this is the field that names it.
|
|
4827
4844
|
timersInFlight: [..._timerInFlight],
|
|
4845
|
+
// Bug 5c7c2e7b: "listening" vs "serving" was already answerable from
|
|
4846
|
+
// eventLoopLagMs/eventLoopBlockedNow, but neither says WHY — and the
|
|
4847
|
+
// remedy for starvation (shed load) is the opposite of the remedy for
|
|
4848
|
+
// a genuine block. Report the classification and the advice with it.
|
|
4849
|
+
lastStall: getLastStall(),
|
|
4850
|
+
...(() => {
|
|
4851
|
+
const st = getLastStall();
|
|
4852
|
+
const advice = stallRemediation(st.stallClass, st.lagMs);
|
|
4853
|
+
return advice ? { lastStallRemediation: advice } : {};
|
|
4854
|
+
})(),
|
|
4828
4855
|
...blockedNow && { warning: "A recent event-loop block was recorded; MCP requests remain enabled while the marker ages out (~10s)" },
|
|
4829
4856
|
...!blockedNow && degraded && { warning: `Event loop lag ${Math.round(elLag)}ms exceeds 5000ms threshold \u2014 daemon may be unresponsive` }
|
|
4830
4857
|
}));
|
|
@@ -4854,7 +4881,7 @@ async function startMcpHttpServer() {
|
|
|
4854
4881
|
return;
|
|
4855
4882
|
}
|
|
4856
4883
|
try {
|
|
4857
|
-
const { handleOAuthRoute } = await import("../oauth-server-
|
|
4884
|
+
const { handleOAuthRoute } = await import("../oauth-server-ZKBUHDFI.js");
|
|
4858
4885
|
const handled = await handleOAuthRoute(req, res, url, MCP_HTTP_PORT, _daemonToken);
|
|
4859
4886
|
if (handled) return;
|
|
4860
4887
|
} catch (err) {
|
|
@@ -4886,7 +4913,7 @@ async function startMcpHttpServer() {
|
|
|
4886
4913
|
for await (const chunk of req) chunks.push(typeof chunk === "string" ? Buffer.from(chunk) : chunk);
|
|
4887
4914
|
const rawBody = Buffer.concat(chunks);
|
|
4888
4915
|
try {
|
|
4889
|
-
const { loadWebhookConfig, verifyHmac, processWebhook } = await import("../webhook-pipe-
|
|
4916
|
+
const { loadWebhookConfig, verifyHmac, processWebhook } = await import("../webhook-pipe-PXH5MBRM.js");
|
|
4890
4917
|
const webhookConfig = await loadWebhookConfig();
|
|
4891
4918
|
const serviceConfig = webhookConfig[serviceName];
|
|
4892
4919
|
if (!serviceConfig) {
|
|
@@ -4982,7 +5009,7 @@ async function startMcpHttpServer() {
|
|
|
4982
5009
|
contextPct: body.context_pct
|
|
4983
5010
|
});
|
|
4984
5011
|
if (body.context_pct !== void 0 && body.context_pct > 70) {
|
|
4985
|
-
void import("../orchestration-events-
|
|
5012
|
+
void import("../orchestration-events-JCQ5F5IJ.js").then(({ recordOrchestrationEventBestEffort: recordOE }) => {
|
|
4986
5013
|
recordOE({
|
|
4987
5014
|
eventType: "context.pressure",
|
|
4988
5015
|
source: "exe-daemon.heartbeat",
|
|
@@ -5078,7 +5105,7 @@ async function startMcpHttpServer() {
|
|
|
5078
5105
|
let sessionHint = req.headers["x-exe-session-name"] || req.headers["x-exe-session"] || "";
|
|
5079
5106
|
if (sessionHint) {
|
|
5080
5107
|
try {
|
|
5081
|
-
const { sanitizeSessionHintHeader, rejectForgedSessionHint } = await import("../mcp-session-identity-
|
|
5108
|
+
const { sanitizeSessionHintHeader, rejectForgedSessionHint } = await import("../mcp-session-identity-DZHWEJRV.js");
|
|
5082
5109
|
const rawHint = sessionHint;
|
|
5083
5110
|
sessionHint = sanitizeSessionHintHeader(sessionHint);
|
|
5084
5111
|
if (!sessionHint) {
|
|
@@ -5117,7 +5144,7 @@ async function startMcpHttpServer() {
|
|
|
5117
5144
|
try {
|
|
5118
5145
|
const liveSessions = await getTmuxSessionsAsync();
|
|
5119
5146
|
const paneCommands = await getPaneCommandsAsync();
|
|
5120
|
-
const { resolveMcpSessionHint } = await import("../mcp-session-identity-
|
|
5147
|
+
const { resolveMcpSessionHint } = await import("../mcp-session-identity-DZHWEJRV.js");
|
|
5121
5148
|
let registrySessions = [];
|
|
5122
5149
|
try {
|
|
5123
5150
|
const { listSessions: listRegistrySessions } = await import("./session-registry.js");
|
|
@@ -5254,7 +5281,7 @@ async function startMcpHttpServer() {
|
|
|
5254
5281
|
bindLive = await getTmuxSessionsAsync();
|
|
5255
5282
|
} catch {
|
|
5256
5283
|
}
|
|
5257
|
-
const { isLauncherCorroboratedIdentity } = await import("../mcp-session-identity-
|
|
5284
|
+
const { isLauncherCorroboratedIdentity } = await import("../mcp-session-identity-DZHWEJRV.js");
|
|
5258
5285
|
const corroborated = isLauncherCorroboratedIdentity({
|
|
5259
5286
|
agentId,
|
|
5260
5287
|
registrySessions: bindRegistry,
|
|
@@ -5462,7 +5489,7 @@ async function startMcpHttpServer() {
|
|
|
5462
5489
|
const toolName = parsedRequest?.method === "tools/call" ? parsedRequest.params?.name : void 0;
|
|
5463
5490
|
if (toolName && agentRole) {
|
|
5464
5491
|
try {
|
|
5465
|
-
const { TOOL_CATEGORIES, TOOL_GATES } = await import("../tool-gates-
|
|
5492
|
+
const { TOOL_CATEGORIES, TOOL_GATES } = await import("../tool-gates-5Q3RSQEG.js");
|
|
5466
5493
|
const registerName = `register${toolName.charAt(0).toUpperCase()}${toolName.slice(1)}`;
|
|
5467
5494
|
const category = TOOL_CATEGORIES[registerName] || TOOL_CATEGORIES[toolName];
|
|
5468
5495
|
if (category) {
|
|
@@ -5497,7 +5524,7 @@ async function startMcpHttpServer() {
|
|
|
5497
5524
|
}
|
|
5498
5525
|
}
|
|
5499
5526
|
try {
|
|
5500
|
-
const { reconcileHintWithRegistryIdentity } = await import("../mcp-session-identity-
|
|
5527
|
+
const { reconcileHintWithRegistryIdentity } = await import("../mcp-session-identity-DZHWEJRV.js");
|
|
5501
5528
|
const { listSessions: listRegistrySessions } = await import("./session-registry.js");
|
|
5502
5529
|
const recon = reconcileHintWithRegistryIdentity({
|
|
5503
5530
|
agentId,
|
|
@@ -5757,9 +5784,9 @@ async function ensureStoreForPolling() {
|
|
|
5757
5784
|
await initDatabase({ dbPath: config.dbPath, encryptionKey: masterKey.toString("hex") });
|
|
5758
5785
|
await ensureSchema();
|
|
5759
5786
|
try {
|
|
5760
|
-
const { isLedgerEnabled } = await import("../notification-ledger-
|
|
5787
|
+
const { isLedgerEnabled } = await import("../notification-ledger-XRAXL5OI.js");
|
|
5761
5788
|
if (isLedgerEnabled()) {
|
|
5762
|
-
const { bumpBootGeneration } = await import("../boot-generation-
|
|
5789
|
+
const { bumpBootGeneration } = await import("../boot-generation-Q7LGQ3AO.js");
|
|
5763
5790
|
const { setDaemonReadyGeneration } = await import("../daemon-ready-signal-PNDMVKPJ.js");
|
|
5764
5791
|
const generation = await bumpBootGeneration();
|
|
5765
5792
|
setDaemonReadyGeneration(generation);
|
|
@@ -5800,13 +5827,13 @@ async function ensureStoreForPolling() {
|
|
|
5800
5827
|
}
|
|
5801
5828
|
}
|
|
5802
5829
|
async function startReviewPolling() {
|
|
5803
|
-
const polling = await import("../review-polling-
|
|
5830
|
+
const polling = await import("../review-polling-KQPN7IQE.js");
|
|
5804
5831
|
const state = {
|
|
5805
5832
|
lastIntercomSent: /* @__PURE__ */ new Map(),
|
|
5806
5833
|
lastNudgeSent: /* @__PURE__ */ new Map(),
|
|
5807
5834
|
intervalMs: REVIEW_POLL_INTERVAL_MS
|
|
5808
5835
|
};
|
|
5809
|
-
const { pollReviewNudge, createReviewNudgeRealDeps, loadNudgeState } = await import("../daemon-orchestration-
|
|
5836
|
+
const { pollReviewNudge, createReviewNudgeRealDeps, loadNudgeState } = await import("../daemon-orchestration-3VQYKLOR.js");
|
|
5810
5837
|
const nudgeState = loadNudgeState();
|
|
5811
5838
|
const tick = async () => traceDaemonTimer("review_polling", async () => {
|
|
5812
5839
|
fired("review_polling");
|
|
@@ -5814,7 +5841,7 @@ async function startReviewPolling() {
|
|
|
5814
5841
|
try {
|
|
5815
5842
|
const { getClient } = await import("./database.js");
|
|
5816
5843
|
const deps = polling.createRealDeps(getClient);
|
|
5817
|
-
const { strictSessionScopeFilter } = await import("../task-scope-
|
|
5844
|
+
const { strictSessionScopeFilter } = await import("../task-scope-NHXB4ZRN.js");
|
|
5818
5845
|
const { getCoordinatorName, DEFAULT_COORDINATOR_TEMPLATE_NAME } = await import("./employees.js");
|
|
5819
5846
|
deps.findOrphanedDoneTasks = async (sessionScope) => {
|
|
5820
5847
|
const coordinatorName = getCoordinatorName();
|
|
@@ -5834,7 +5861,7 @@ async function startReviewPolling() {
|
|
|
5834
5861
|
deps.findTieredReviewCandidates = async (sessionScope) => {
|
|
5835
5862
|
let project = null;
|
|
5836
5863
|
try {
|
|
5837
|
-
const { getProjectName } = await import("../project-name-
|
|
5864
|
+
const { getProjectName } = await import("../project-name-UYORSNGE.js");
|
|
5838
5865
|
project = getProjectName() || null;
|
|
5839
5866
|
} catch {
|
|
5840
5867
|
project = null;
|
|
@@ -5893,7 +5920,7 @@ function startSessionTTL() {
|
|
|
5893
5920
|
if (!await ensureStoreForPolling()) return;
|
|
5894
5921
|
if (inPostRestartDestructiveGrace("session_ttl")) return;
|
|
5895
5922
|
const { getClient } = await import("./database.js");
|
|
5896
|
-
const { checkSessionTTL, createSessionTTLRealDeps } = await import("../daemon-orchestration-
|
|
5923
|
+
const { checkSessionTTL, createSessionTTLRealDeps } = await import("../daemon-orchestration-3VQYKLOR.js");
|
|
5897
5924
|
const deps = createSessionTTLRealDeps(getClient);
|
|
5898
5925
|
const killed = await checkSessionTTL(deps, _wedgeObservations);
|
|
5899
5926
|
if (killed.length > 0) acted("session_ttl");
|
|
@@ -5953,7 +5980,7 @@ function startIdleKill() {
|
|
|
5953
5980
|
const cfg = await getCachedConfig();
|
|
5954
5981
|
if (!cfg) return;
|
|
5955
5982
|
const { getClient } = await import("./database.js");
|
|
5956
|
-
const { pollIdleKill, createIdleKillRealDeps } = await import("../daemon-orchestration-
|
|
5983
|
+
const { pollIdleKill, createIdleKillRealDeps } = await import("../daemon-orchestration-3VQYKLOR.js");
|
|
5957
5984
|
const { sessions: liveSessions, paneCache, aliveSessions } = await getSharedOrchestrationCaches();
|
|
5958
5985
|
const realDeps = createIdleKillRealDeps(
|
|
5959
5986
|
getClient,
|
|
@@ -6342,7 +6369,7 @@ function startSkillRefinement() {
|
|
|
6342
6369
|
if (!shouldRunHeavyJob("skill_refinement")) return;
|
|
6343
6370
|
try {
|
|
6344
6371
|
if (!await ensureStoreForPolling()) return;
|
|
6345
|
-
const { runSkillRefinement } = await import("../skill-refinement-
|
|
6372
|
+
const { runSkillRefinement } = await import("../skill-refinement-I5RMAHSC.js");
|
|
6346
6373
|
const result = await runSkillRefinement();
|
|
6347
6374
|
if (result.reviewed > 0) {
|
|
6348
6375
|
acted("skill_refinement");
|
|
@@ -6407,7 +6434,7 @@ function startStalledDispatchSweep() {
|
|
|
6407
6434
|
});
|
|
6408
6435
|
const { notifications, nextState } = decideStalledDispatchEscalations(intents, previousState);
|
|
6409
6436
|
if (notifications.length > 0 && _storeInitialized) {
|
|
6410
|
-
const { writeNotification } = await import("../notifications-
|
|
6437
|
+
const { writeNotification } = await import("../notifications-JE3PX55X.js");
|
|
6411
6438
|
for (const note of notifications) {
|
|
6412
6439
|
try {
|
|
6413
6440
|
await writeNotification({
|
|
@@ -6457,8 +6484,8 @@ function startStaleBranchSweep() {
|
|
|
6457
6484
|
fired("stale_branch_sweep");
|
|
6458
6485
|
if (sweepStarved("stale_branch_sweep")) return;
|
|
6459
6486
|
try {
|
|
6460
|
-
const { discoverRepoPathsAsync } = await import("../worktree-sweep-
|
|
6461
|
-
const { scanUnmergedBranchesCached } = await import("../branch-hygiene-
|
|
6487
|
+
const { discoverRepoPathsAsync } = await import("../worktree-sweep-XVUJZBXV.js");
|
|
6488
|
+
const { scanUnmergedBranchesCached } = await import("../branch-hygiene-44WLSOZR.js");
|
|
6462
6489
|
const { runBudgetedSweep } = await import("../sweep-budget-YGLCNXZZ.js");
|
|
6463
6490
|
const today = (/* @__PURE__ */ new Date()).toISOString().slice(0, 10);
|
|
6464
6491
|
for (const k of _staleBranchAlertedToday) {
|
|
@@ -6490,7 +6517,7 @@ function startStaleBranchSweep() {
|
|
|
6490
6517
|
if (!_storeInitialized) return;
|
|
6491
6518
|
const stale = scan.branches.filter((b) => b.ageHours >= STALE_BRANCH_HOURS).slice(0, 5).map((b) => `${b.name} (${b.aheadUnknown ? "+? commits" : `+${b.ahead} commits`}, ${(b.ageHours / 24).toFixed(1)}d)`).join("; ");
|
|
6492
6519
|
try {
|
|
6493
|
-
const { writeNotification } = await import("../notifications-
|
|
6520
|
+
const { writeNotification } = await import("../notifications-JE3PX55X.js");
|
|
6494
6521
|
await writeNotification({
|
|
6495
6522
|
agentId: "exe",
|
|
6496
6523
|
agentRole: "system",
|
|
@@ -6553,7 +6580,7 @@ function startWorkStateHeartbeat() {
|
|
|
6553
6580
|
const { getClient } = await import("./database.js");
|
|
6554
6581
|
const { listSessions } = await import("./session-registry.js");
|
|
6555
6582
|
const { isCoordinatorName } = await import("./employees.js");
|
|
6556
|
-
const { runWorkStateTick } = await import("../work-state-heartbeat-
|
|
6583
|
+
const { runWorkStateTick } = await import("../work-state-heartbeat-HG7D4AWJ.js");
|
|
6557
6584
|
let liveTmux = null;
|
|
6558
6585
|
const loadLiveTmux = async () => {
|
|
6559
6586
|
if (!liveTmux) liveTmux = await listTmuxSessionNamesAsync();
|
|
@@ -6619,7 +6646,7 @@ function startGraphExtraction() {
|
|
|
6619
6646
|
if (!await ensureStoreForPolling()) return;
|
|
6620
6647
|
const { getClient } = await import("./database.js");
|
|
6621
6648
|
const client = getClient();
|
|
6622
|
-
const { extractBatch } = await import("../graph-rag-
|
|
6649
|
+
const { extractBatch } = await import("../graph-rag-BKAD2XQA.js");
|
|
6623
6650
|
const result = await extractBatch(client, 50, config.selfQueryModel);
|
|
6624
6651
|
if (result.processed > 0) {
|
|
6625
6652
|
acted("graph_extraction");
|
|
@@ -6940,7 +6967,7 @@ async function refreshAgentData() {
|
|
|
6940
6967
|
const decision = evaluateSpendCapAlert(_lastSpendCapLevel, capStatus);
|
|
6941
6968
|
_lastSpendCapLevel = decision.level;
|
|
6942
6969
|
if (decision.shouldAlert && decision.summary) {
|
|
6943
|
-
const { writeNotification } = await import("../notifications-
|
|
6970
|
+
const { writeNotification } = await import("../notifications-JE3PX55X.js");
|
|
6944
6971
|
await writeNotification({
|
|
6945
6972
|
agentId: "system",
|
|
6946
6973
|
agentRole: "system",
|
|
@@ -7062,7 +7089,7 @@ function startReflectionSweep() {
|
|
|
7062
7089
|
);
|
|
7063
7090
|
let runReflection;
|
|
7064
7091
|
try {
|
|
7065
|
-
({ runReflection } = await import("../memory-reflection-
|
|
7092
|
+
({ runReflection } = await import("../memory-reflection-7BZWIHRE.js"));
|
|
7066
7093
|
} catch (importErr) {
|
|
7067
7094
|
_reflectionImportFailed = true;
|
|
7068
7095
|
process.stderr.write(`[exed] Reflection module unavailable (stale chunk hash?) \u2014 disabled until daemon restart: ${importErr instanceof Error ? importErr.message : String(importErr)}
|
|
@@ -7103,7 +7130,7 @@ function startReflectionSweep() {
|
|
|
7103
7130
|
if (memories > 100 && cards < memories * 0.1) {
|
|
7104
7131
|
process.stderr.write(`[exed] Memory cards sparse (${cards} cards / ${memories} memories) \u2014 running backfill...
|
|
7105
7132
|
`);
|
|
7106
|
-
const { insertMemoryCardsForBatch } = await import("../memory-cards-
|
|
7133
|
+
const { insertMemoryCardsForBatch } = await import("../memory-cards-JVXTMSAT.js");
|
|
7107
7134
|
const batchSize = 500;
|
|
7108
7135
|
let offset = 0;
|
|
7109
7136
|
let totalCards = 0;
|
|
@@ -7184,7 +7211,7 @@ function startDatabaseBackup() {
|
|
|
7184
7211
|
`
|
|
7185
7212
|
);
|
|
7186
7213
|
try {
|
|
7187
|
-
const { maybeVerifyDailyBackup } = await import("../backup-verify-
|
|
7214
|
+
const { maybeVerifyDailyBackup } = await import("../backup-verify-6DVBQMDP.js");
|
|
7188
7215
|
const verdict = await maybeVerifyDailyBackup(backupPath);
|
|
7189
7216
|
if (verdict && !verdict.ok) {
|
|
7190
7217
|
process.stderr.write(
|
|
@@ -7260,7 +7287,7 @@ function startSessionEventsRetention() {
|
|
|
7260
7287
|
fired("session_events_retention");
|
|
7261
7288
|
if (!await ensureStoreForPolling()) return;
|
|
7262
7289
|
try {
|
|
7263
|
-
const { DEFAULT_SESSION_EVENTS_RETENTION_DAYS, sessionEventsRetentionMode } = await import("../session-events-
|
|
7290
|
+
const { DEFAULT_SESSION_EVENTS_RETENTION_DAYS, sessionEventsRetentionMode } = await import("../session-events-6LDDKKY3.js");
|
|
7264
7291
|
const days = SESSION_EVENTS_RETENTION_DAYS ?? DEFAULT_SESSION_EVENTS_RETENTION_DAYS;
|
|
7265
7292
|
const decision = sessionEventsRetentionMode(isWriteWorkerEnabled(), isDbWriteWorkerReady());
|
|
7266
7293
|
if (decision.mode === "skip") {
|
|
@@ -7311,7 +7338,7 @@ function startConversationsRetention() {
|
|
|
7311
7338
|
if (!await ensureStoreForPolling()) return;
|
|
7312
7339
|
try {
|
|
7313
7340
|
const { DEFAULT_CONVERSATIONS_RETENTION_DAYS } = await import("../conversations-retention-C4BLKFEL.js");
|
|
7314
|
-
const { sessionEventsRetentionMode } = await import("../session-events-
|
|
7341
|
+
const { sessionEventsRetentionMode } = await import("../session-events-6LDDKKY3.js");
|
|
7315
7342
|
const days = CONVERSATIONS_RETENTION_DAYS ?? DEFAULT_CONVERSATIONS_RETENTION_DAYS;
|
|
7316
7343
|
const decision = sessionEventsRetentionMode(isWriteWorkerEnabled(), isDbWriteWorkerReady());
|
|
7317
7344
|
if (decision.mode === "skip") {
|
|
@@ -7359,7 +7386,7 @@ function startIntercomQueueDrain() {
|
|
|
7359
7386
|
const tick = async () => traceDaemonTimer("intercom_queue_drain", async () => {
|
|
7360
7387
|
fired("intercom_queue_drain");
|
|
7361
7388
|
try {
|
|
7362
|
-
const { drainQueueAsync, readQueue } = await import("../intercom-queue-
|
|
7389
|
+
const { drainQueueAsync, readQueue } = await import("../intercom-queue-4FFXCBHO.js");
|
|
7363
7390
|
const {
|
|
7364
7391
|
sendIntercomAsync: centralSendIntercomAsync,
|
|
7365
7392
|
countScopedPendingReviews,
|
|
@@ -7491,7 +7518,7 @@ function startLedgerDrain() {
|
|
|
7491
7518
|
const tick = async () => traceDaemonTimer("ledger_drain", async () => {
|
|
7492
7519
|
fired("ledger_drain");
|
|
7493
7520
|
try {
|
|
7494
|
-
const { isLedgerEnabled, drainLedger } = await import("../notification-ledger-
|
|
7521
|
+
const { isLedgerEnabled, drainLedger } = await import("../notification-ledger-XRAXL5OI.js");
|
|
7495
7522
|
if (!isLedgerEnabled()) return;
|
|
7496
7523
|
const result = await drainLedger({
|
|
7497
7524
|
// Shadow "would-deliver": idle target = would-deliver, busy = retry.
|
|
@@ -7531,7 +7558,7 @@ function startOrphanReaper() {
|
|
|
7531
7558
|
fired("orphan_reaper");
|
|
7532
7559
|
if (sweepStarved("orphan_reaper")) return;
|
|
7533
7560
|
try {
|
|
7534
|
-
const { reapOrphanedMcpProcesses, createOrphanReaperRealDepsAsync } = await import("../daemon-orchestration-
|
|
7561
|
+
const { reapOrphanedMcpProcesses, createOrphanReaperRealDepsAsync } = await import("../daemon-orchestration-3VQYKLOR.js");
|
|
7535
7562
|
const deps = await createOrphanReaperRealDepsAsync();
|
|
7536
7563
|
const reaped = await reapOrphanedMcpProcesses(deps);
|
|
7537
7564
|
if (reaped.length > 0) acted("orphan_reaper");
|
|
@@ -7557,7 +7584,7 @@ function startZombieAgentReaper() {
|
|
|
7557
7584
|
fired("zombie_agent_reaper");
|
|
7558
7585
|
if (sweepStarved("zombie_agent_reaper")) return;
|
|
7559
7586
|
try {
|
|
7560
|
-
const { reapZombieAgentProcesses, createZombieAgentReaperRealDepsAsync } = await import("../daemon-orchestration-
|
|
7587
|
+
const { reapZombieAgentProcesses, createZombieAgentReaperRealDepsAsync } = await import("../daemon-orchestration-3VQYKLOR.js");
|
|
7561
7588
|
const deps = await createZombieAgentReaperRealDepsAsync();
|
|
7562
7589
|
const reaped = reapZombieAgentProcesses(deps);
|
|
7563
7590
|
if (reaped.length > 0) acted("zombie_agent_reaper");
|
|
@@ -7581,7 +7608,7 @@ async function startDaemonMemoryPressureWatchdog() {
|
|
|
7581
7608
|
try {
|
|
7582
7609
|
const cfg = await getCachedConfig();
|
|
7583
7610
|
if (!cfg) return;
|
|
7584
|
-
const { startMemoryPressureWatchdog: startWatchdog, MEMORY_PRESSURE_WATCHDOG_DEFAULTS } = await import("../memory-pressure-watchdog-
|
|
7611
|
+
const { startMemoryPressureWatchdog: startWatchdog, MEMORY_PRESSURE_WATCHDOG_DEFAULTS } = await import("../memory-pressure-watchdog-YMJH5CSA.js");
|
|
7585
7612
|
const watchdogCfg = {
|
|
7586
7613
|
...MEMORY_PRESSURE_WATCHDOG_DEFAULTS,
|
|
7587
7614
|
...cfg.memoryPressureWatchdog ?? {}
|
|
@@ -7613,7 +7640,7 @@ function startWorktreeReaper() {
|
|
|
7613
7640
|
fired("worktree_reaper");
|
|
7614
7641
|
if (sweepStarved("worktree_reaper")) return;
|
|
7615
7642
|
try {
|
|
7616
|
-
const { reapOrphanedWorktrees, createWorktreeReaperRealDeps } = await import("../daemon-orchestration-
|
|
7643
|
+
const { reapOrphanedWorktrees, createWorktreeReaperRealDeps } = await import("../daemon-orchestration-3VQYKLOR.js");
|
|
7617
7644
|
const deps = await createWorktreeReaperRealDeps();
|
|
7618
7645
|
const result = await reapOrphanedWorktrees(deps);
|
|
7619
7646
|
if (result.pruned.length > 0) {
|
|
@@ -7657,8 +7684,8 @@ function startWorktreeReaper() {
|
|
|
7657
7684
|
}
|
|
7658
7685
|
return;
|
|
7659
7686
|
}
|
|
7660
|
-
const { cleanupAgentWorktree } = await import("../worktree-sweep-
|
|
7661
|
-
const { getMainRepoRootAsync } = await import("../worktree-
|
|
7687
|
+
const { cleanupAgentWorktree } = await import("../worktree-sweep-XVUJZBXV.js");
|
|
7688
|
+
const { getMainRepoRootAsync } = await import("../worktree-EMQCPGFE.js");
|
|
7662
7689
|
const repoRoot = await getMainRepoRootAsync(signal.worktreePath);
|
|
7663
7690
|
if (repoRoot && signal.agentId) {
|
|
7664
7691
|
const notes = await cleanupAgentWorktree(repoRoot, signal.agentId);
|
|
@@ -7695,7 +7722,7 @@ function startAutoWake() {
|
|
|
7695
7722
|
if (!await ensureStoreForPolling()) return;
|
|
7696
7723
|
try {
|
|
7697
7724
|
const { getClient } = await import("./database.js");
|
|
7698
|
-
const { pollOrphanedTasks, createAutoWakeRealDeps } = await import("../daemon-orchestration-
|
|
7725
|
+
const { pollOrphanedTasks, createAutoWakeRealDeps } = await import("../daemon-orchestration-3VQYKLOR.js");
|
|
7699
7726
|
const deps = createAutoWakeRealDeps(getClient, process.cwd(), getTmuxSessionsAsync);
|
|
7700
7727
|
const woken = await pollOrphanedTasks(deps);
|
|
7701
7728
|
if (woken.length > 0) acted("auto_wake");
|
|
@@ -7770,7 +7797,7 @@ function startAutoWake() {
|
|
|
7770
7797
|
if (age > 60 * 60 * 1e3) {
|
|
7771
7798
|
try {
|
|
7772
7799
|
await unlink(signalPath);
|
|
7773
|
-
void import("../orchestration-events-
|
|
7800
|
+
void import("../orchestration-events-JCQ5F5IJ.js").then(({ recordOrchestrationEventBestEffort: recordOE }) => {
|
|
7774
7801
|
recordOE({ eventType: "signal.stale", source: "exe-daemon.autoWake", severity: "warn", payload: { file, ageMinutes: Math.round(age / 6e4) } });
|
|
7775
7802
|
}).catch(() => {
|
|
7776
7803
|
});
|
|
@@ -7919,7 +7946,7 @@ function startStuckTaskRelease() {
|
|
|
7919
7946
|
createStaleClaimRealDeps,
|
|
7920
7947
|
escalateStuckBlockedTasks,
|
|
7921
7948
|
createStuckBlockedRealDeps
|
|
7922
|
-
} = await import("../daemon-orchestration-
|
|
7949
|
+
} = await import("../daemon-orchestration-3VQYKLOR.js");
|
|
7923
7950
|
const { runBudgetedSweep } = await import("../sweep-budget-YGLCNXZZ.js");
|
|
7924
7951
|
const steps = [
|
|
7925
7952
|
async () => {
|
|
@@ -8184,12 +8211,12 @@ function startTaskEnforcementScanner() {
|
|
|
8184
8211
|
const tick = async () => traceDaemonTimer("task_enforcement", async () => {
|
|
8185
8212
|
fired("task_enforcement");
|
|
8186
8213
|
try {
|
|
8187
|
-
const { runTaskEnforcementTick } = await import("../task-enforcement-
|
|
8214
|
+
const { runTaskEnforcementTick } = await import("../task-enforcement-CAA6D2MH.js");
|
|
8188
8215
|
const { getTransport } = await import("./transport.js");
|
|
8189
8216
|
const { loadAgentConfig } = await import("./agent-config.js");
|
|
8190
8217
|
const { getClient } = await import("./database.js");
|
|
8191
8218
|
const { loadEmployeesSync } = await import("./employees.js");
|
|
8192
|
-
const { sessionScopeFilter } = await import("../task-scope-
|
|
8219
|
+
const { sessionScopeFilter } = await import("../task-scope-NHXB4ZRN.js");
|
|
8193
8220
|
const transport = getTransport();
|
|
8194
8221
|
const { sessions: allSessions, paneCache, aliveSessions } = await getSharedOrchestrationCaches();
|
|
8195
8222
|
await yieldToEventLoop();
|
|
@@ -8200,10 +8227,10 @@ function startTaskEnforcementScanner() {
|
|
|
8200
8227
|
sendKeysLiteral: transport.sendKeysLiteral?.bind(transport),
|
|
8201
8228
|
isAlive: (session) => aliveSessions.has(session)
|
|
8202
8229
|
};
|
|
8203
|
-
const { checkAutoWakeGates } = await import("../daemon-orchestration-
|
|
8230
|
+
const { checkAutoWakeGates } = await import("../daemon-orchestration-3VQYKLOR.js");
|
|
8204
8231
|
const { ensureEmployeeAsync, employeeSessionName, sendIntercomAsync } = await import("./tmux-routing.js");
|
|
8205
8232
|
const { shouldAutoInstance } = await import("./employees.js");
|
|
8206
|
-
const { recordOrchestrationEventBestEffort } = await import("../orchestration-events-
|
|
8233
|
+
const { recordOrchestrationEventBestEffort } = await import("../orchestration-events-JCQ5F5IJ.js");
|
|
8207
8234
|
const projectDir = process.cwd();
|
|
8208
8235
|
await runTaskEnforcementTick({
|
|
8209
8236
|
transport: enforcementTransport,
|
|
@@ -8215,6 +8242,10 @@ function startTaskEnforcementScanner() {
|
|
|
8215
8242
|
paneCache,
|
|
8216
8243
|
// Reviewer auto-spawn: spawn dead reviewer sessions that have needs_review tasks.
|
|
8217
8244
|
// Uses the same gates as auto-wake (CPU pressure, crash loop, worker_gate limits).
|
|
8245
|
+
// Bug 05033d35: the autonomous-spawn kill switch for BOTH this and
|
|
8246
|
+
// zombieWorkerRecover is enforced at their call sites inside
|
|
8247
|
+
// runTaskEnforcementTick, so neither callback can be reached when
|
|
8248
|
+
// spawning is disabled.
|
|
8218
8249
|
reviewerSpawn: (reviewerName, sessionScope) => {
|
|
8219
8250
|
const gateReason = checkAutoWakeGates(`reviewer::${reviewerName}::${sessionScope}`, Date.now());
|
|
8220
8251
|
if (gateReason) {
|
|
@@ -8494,7 +8525,7 @@ function startBackgroundJobGuardrails() {
|
|
|
8494
8525
|
const tick = async () => traceDaemonTimer("background_job_guardrails", async () => {
|
|
8495
8526
|
fired("background_job_guardrails");
|
|
8496
8527
|
try {
|
|
8497
|
-
const { enforceBackgroundJobGuardrailsAsync } = await import("../background-jobs-
|
|
8528
|
+
const { enforceBackgroundJobGuardrailsAsync } = await import("../background-jobs-V3DZRFKU.js");
|
|
8498
8529
|
const actions = await enforceBackgroundJobGuardrailsAsync();
|
|
8499
8530
|
if (actions.length > 0) {
|
|
8500
8531
|
acted("background_job_guardrails");
|
|
@@ -8529,7 +8560,7 @@ async function sweepExpiredTracesFromDaemonTimer() {
|
|
|
8529
8560
|
const memoryIds = idsResult.rows.map((r) => String(r.id)).filter(Boolean);
|
|
8530
8561
|
if (memoryIds.length === 0) return 0;
|
|
8531
8562
|
const { getClient } = await import("./database.js");
|
|
8532
|
-
const { cleanupGraphLinksForMemories, cleanupCardsForMemories } = await import("../graph-rag-
|
|
8563
|
+
const { cleanupGraphLinksForMemories, cleanupCardsForMemories } = await import("../graph-rag-BKAD2XQA.js");
|
|
8533
8564
|
const client = getClient();
|
|
8534
8565
|
await cleanupGraphLinksForMemories(client, memoryIds);
|
|
8535
8566
|
await cleanupCardsForMemories(client, memoryIds);
|
|
@@ -9006,7 +9037,7 @@ function startAutoUpdateCheck() {
|
|
|
9006
9037
|
});
|
|
9007
9038
|
}
|
|
9008
9039
|
{
|
|
9009
|
-
const { reclaimSupervisionOnStart } = await import("../supervisor-handoff-
|
|
9040
|
+
const { reclaimSupervisionOnStart } = await import("../supervisor-handoff-BWJW6CKZ.js");
|
|
9010
9041
|
if (await reclaimSupervisionOnStart()) {
|
|
9011
9042
|
logDaemonHealth({
|
|
9012
9043
|
event: "supervisor_handoff",
|
|
@@ -9213,6 +9244,8 @@ function startEventLoopLagDetector() {
|
|
|
9213
9244
|
let lastTick = monotonicNowMs();
|
|
9214
9245
|
let clockProbe = captureClockProbe();
|
|
9215
9246
|
let lastCpu = process.cpuUsage();
|
|
9247
|
+
const sumHostCpuMs = () => totalHostCpuMs(os4.cpus());
|
|
9248
|
+
let lastHostCpuMs = sumHostCpuMs();
|
|
9216
9249
|
const SELF_CPU_BUSY_RATIO = parseFloat(process.env.EXE_SELF_CPU_BUSY_RATIO ?? "") || 0.5;
|
|
9217
9250
|
const SELF_INFLICTED_LIMIT = parseInt(process.env.EXE_SELF_INFLICTED_LIMIT ?? "") || 5;
|
|
9218
9251
|
const SELF_INFLICTED_SUPPRESS_CAP_MS = parseFloat(process.env.EXE_SELF_INFLICTED_SUPPRESS_CAP_MS ?? "") || 15e4;
|
|
@@ -9234,11 +9267,18 @@ function startEventLoopLagDetector() {
|
|
|
9234
9267
|
loadSamples = loadWindow.samples;
|
|
9235
9268
|
const cpuDelta = process.cpuUsage(lastCpu);
|
|
9236
9269
|
lastCpu = process.cpuUsage();
|
|
9270
|
+
const hostCpuNowMs = sumHostCpuMs();
|
|
9271
|
+
const previousHostCpuMs = lastHostCpuMs;
|
|
9272
|
+
lastHostCpuMs = hostCpuNowMs;
|
|
9273
|
+
const hostCoreCountRaw = os4.cpus().length;
|
|
9274
|
+
const hostCoreCount = hostCoreCountRaw > 0 ? hostCoreCountRaw : void 0;
|
|
9275
|
+
const hostTickFraction = hostTickFractionFor(previousHostCpuMs, hostCpuNowMs, hostCoreCount, wallElapsedMs);
|
|
9237
9276
|
const selfCpuBusyFraction = wallElapsedMs > 0 ? (cpuDelta.user + cpuDelta.system) / 1e3 / wallElapsedMs : 0;
|
|
9238
9277
|
const clockJump = looksLikeClockJump(clockProbe);
|
|
9278
|
+
const hostSuspended = isHostSuspendedWindow(lag, SELF_HEAL_THRESHOLD_MS, selfCpuBusyFraction, hostTickFraction);
|
|
9239
9279
|
lastTick = monotonicNowMs();
|
|
9240
9280
|
clockProbe = captureClockProbe();
|
|
9241
|
-
setEventLoopLagMs(clockJump ? 0 : Math.max(0, lag));
|
|
9281
|
+
setEventLoopLagMs(clockJump || hostSuspended ? 0 : Math.max(0, lag));
|
|
9242
9282
|
if (clockJump) {
|
|
9243
9283
|
consecutiveSevereBlocks = 0;
|
|
9244
9284
|
try {
|
|
@@ -9249,10 +9289,35 @@ function startEventLoopLagDetector() {
|
|
|
9249
9289
|
return;
|
|
9250
9290
|
}
|
|
9251
9291
|
if (lag > LAG_CRITICAL_MS) {
|
|
9292
|
+
if (hostSuspended) {
|
|
9293
|
+
setLastStallClass("host_suspended", lag);
|
|
9294
|
+
const nsMsg = `[exed] HOST SUSPENDED ${(lag / 1e3).toFixed(1)}s \u2014 host CPUs accrued ${((hostTickFraction ?? 0) * 100).toFixed(1)}% of a window's ticks and the daemon used ${(selfCpuBusyFraction * 100).toFixed(1)}% CPU: the machine was asleep. NOT an event-loop block; no restart.`;
|
|
9295
|
+
process.stderr.write(nsMsg + "\n");
|
|
9296
|
+
logDaemonHealth({
|
|
9297
|
+
event: "event_loop_host_suspended",
|
|
9298
|
+
pid: process.pid,
|
|
9299
|
+
message: nsMsg,
|
|
9300
|
+
data: { lagMs: lag, selfCpuBusyFraction, hostTickFraction, load1m: sampledLoad1m, cpuCount: hostCoreCount }
|
|
9301
|
+
});
|
|
9302
|
+
consecutiveSevereBlocks = 0;
|
|
9303
|
+
try {
|
|
9304
|
+
unlinkSync4(eventLoopBlockedMarkerPath());
|
|
9305
|
+
} catch {
|
|
9306
|
+
}
|
|
9307
|
+
try {
|
|
9308
|
+
const markerPath = starvationSuppressedMarkerPath();
|
|
9309
|
+
mkdirSync5(path4.dirname(markerPath), { recursive: true });
|
|
9310
|
+
writeFileSync5(markerPath, `host_suspended lag=${Math.round(lag)}ms selfCpu=${selfCpuBusyFraction.toFixed(4)} hostTicks=${(hostTickFraction ?? 0).toFixed(4)} at ${(/* @__PURE__ */ new Date()).toISOString()}
|
|
9311
|
+
`);
|
|
9312
|
+
} catch {
|
|
9313
|
+
}
|
|
9314
|
+
return;
|
|
9315
|
+
}
|
|
9252
9316
|
const msg = `[exed] EVENT LOOP BLOCKED ${(lag / 1e3).toFixed(1)}s \u2014 MCP UNRESPONSIVE. Sessions will die.`;
|
|
9317
|
+
setLastStallClass("blocked", lag);
|
|
9253
9318
|
process.stderr.write(msg + "\n");
|
|
9254
9319
|
logDaemonHealth({ event: "event_loop_blocked", pid: process.pid, message: msg, data: { lagMs: lag } });
|
|
9255
|
-
void import("../orchestration-events-
|
|
9320
|
+
void import("../orchestration-events-JCQ5F5IJ.js").then(({ recordOrchestrationEventBestEffort: recordOE }) => {
|
|
9256
9321
|
recordOE({ eventType: "daemon.event_loop_blocked", source: "exe-daemon.lagDetector", severity: "error", durationMs: lag });
|
|
9257
9322
|
}).catch(() => {
|
|
9258
9323
|
});
|
|
@@ -9295,6 +9360,9 @@ function startEventLoopLagDetector() {
|
|
|
9295
9360
|
// self-inflicted single-core block (let it drain) from a genuine wedge.
|
|
9296
9361
|
selfCpuBusyFraction,
|
|
9297
9362
|
selfCpuBusyRatio: SELF_CPU_BUSY_RATIO,
|
|
9363
|
+
// Bug 5c7c2e7b: host-suspend evidence, so the pure decision reaches the
|
|
9364
|
+
// same verdict as the reporting branch above rather than diverging.
|
|
9365
|
+
hostTickFraction,
|
|
9298
9366
|
catchUpActive,
|
|
9299
9367
|
// Fast-follow #341: thread the ROLLING-WINDOW self-inflicted ceiling.
|
|
9300
9368
|
nowMs: Date.now(),
|
|
@@ -9306,6 +9374,7 @@ function startEventLoopLagDetector() {
|
|
|
9306
9374
|
consecutiveSevereBlocks = decision.consecutiveSevereAfter;
|
|
9307
9375
|
selfInflictedWindow = decision.selfInflictedWindowAfter;
|
|
9308
9376
|
if (decision.reason === "starved_backoff") {
|
|
9377
|
+
setLastStallClass("starved", lag);
|
|
9309
9378
|
process.stderr.write(
|
|
9310
9379
|
`[exed] SELF-HEAL SUPPRESSED: load=${load1m.toFixed(2)} maxOverWindow=${maxLoad1mOverWindow.toFixed(2)} cpus=${cpuCount} \u2014 lag is CPU starvation, not internal hang. Skipping restart.
|
|
9311
9380
|
`
|
|
@@ -9453,7 +9522,7 @@ function startTaskFileResync() {
|
|
|
9453
9522
|
});
|
|
9454
9523
|
if (Number(res.rowsAffected ?? 0) > 0) {
|
|
9455
9524
|
synced++;
|
|
9456
|
-
void import("../orchestration-events-
|
|
9525
|
+
void import("../orchestration-events-JCQ5F5IJ.js").then(({ recordOrchestrationEventBestEffort: recordOE }) => {
|
|
9457
9526
|
recordOE({
|
|
9458
9527
|
eventType: "task_file.resynced",
|
|
9459
9528
|
source: "exe-daemon.taskFileResync",
|
|
@@ -9487,7 +9556,7 @@ function startTaskGroupBarriers() {
|
|
|
9487
9556
|
fired("task_group_barriers");
|
|
9488
9557
|
if (!await ensureStoreForPolling()) return;
|
|
9489
9558
|
try {
|
|
9490
|
-
const { pollTaskGroupBarriers } = await import("../daemon-orchestration-
|
|
9559
|
+
const { pollTaskGroupBarriers } = await import("../daemon-orchestration-3VQYKLOR.js");
|
|
9491
9560
|
const firedCount = await pollTaskGroupBarriers();
|
|
9492
9561
|
if (firedCount > 0) {
|
|
9493
9562
|
acted("task_group_barriers");
|
|
@@ -9509,7 +9578,7 @@ function startCheckpointGc() {
|
|
|
9509
9578
|
fired("checkpoint_gc");
|
|
9510
9579
|
if (!await ensureStoreForPolling()) return;
|
|
9511
9580
|
try {
|
|
9512
|
-
const { gcStaleCheckpoints } = await import("../daemon-orchestration-
|
|
9581
|
+
const { gcStaleCheckpoints } = await import("../daemon-orchestration-3VQYKLOR.js");
|
|
9513
9582
|
const cleared = await gcStaleCheckpoints();
|
|
9514
9583
|
if (cleared > 0) {
|
|
9515
9584
|
acted("checkpoint_gc");
|
|
@@ -9540,7 +9609,7 @@ function startDaemonHeartbeat() {
|
|
|
9540
9609
|
function startDispatchAckCleanup() {
|
|
9541
9610
|
setInterval(async () => {
|
|
9542
9611
|
try {
|
|
9543
|
-
const { cleanStaleDispatchAcks } = await import("../dispatch-ack-
|
|
9612
|
+
const { cleanStaleDispatchAcks } = await import("../dispatch-ack-UYEAKON5.js");
|
|
9544
9613
|
cleanStaleDispatchAcks();
|
|
9545
9614
|
} catch {
|
|
9546
9615
|
}
|
|
@@ -9549,14 +9618,14 @@ function startDispatchAckCleanup() {
|
|
|
9549
9618
|
function startProjectionWorkerDeferred() {
|
|
9550
9619
|
setTimeout(async () => {
|
|
9551
9620
|
try {
|
|
9552
|
-
const { startProjectionWorker } = await import("../projection-worker-
|
|
9621
|
+
const { startProjectionWorker } = await import("../projection-worker-WYFDWS57.js");
|
|
9553
9622
|
startProjectionWorker();
|
|
9554
9623
|
} catch {
|
|
9555
9624
|
}
|
|
9556
9625
|
}, 2e4);
|
|
9557
9626
|
}
|
|
9558
9627
|
async function startToolTelemetry() {
|
|
9559
|
-
const { startToolTelemetryFlush } = await import("../tool-telemetry-
|
|
9628
|
+
const { startToolTelemetryFlush } = await import("../tool-telemetry-LTOIC64I.js");
|
|
9560
9629
|
startToolTelemetryFlush();
|
|
9561
9630
|
process.stderr.write("[exed] Tool telemetry started (flush every 5m)\n");
|
|
9562
9631
|
}
|
|
@@ -9726,7 +9795,7 @@ function startLocalFirstTimers() {
|
|
|
9726
9795
|
fired("orphan_task_cleanup");
|
|
9727
9796
|
try {
|
|
9728
9797
|
if (!await ensureStoreForPolling()) return;
|
|
9729
|
-
const { cleanOrphanedTaskFiles } = await import("../tasks-crud-
|
|
9798
|
+
const { cleanOrphanedTaskFiles } = await import("../tasks-crud-JHSWL5NM.js");
|
|
9730
9799
|
const count = await cleanOrphanedTaskFiles();
|
|
9731
9800
|
if (count > 0) {
|
|
9732
9801
|
acted("orphan_task_cleanup");
|
|
@@ -9742,7 +9811,7 @@ function startLocalFirstTimers() {
|
|
|
9742
9811
|
fired("task_file_consistency");
|
|
9743
9812
|
try {
|
|
9744
9813
|
if (!await ensureStoreForPolling()) return;
|
|
9745
|
-
const { checkTaskFileConsistency } = await import("../tasks-crud-
|
|
9814
|
+
const { checkTaskFileConsistency } = await import("../tasks-crud-JHSWL5NM.js");
|
|
9746
9815
|
const mismatches = await checkTaskFileConsistency();
|
|
9747
9816
|
if (mismatches > 0) {
|
|
9748
9817
|
acted("task_file_consistency");
|
|
@@ -9761,7 +9830,7 @@ function startLocalFirstTimers() {
|
|
|
9761
9830
|
const TELEMETRY_DAILY_MS = 24 * 60 * 60 * 1e3;
|
|
9762
9831
|
const telemetryDaily = async () => {
|
|
9763
9832
|
try {
|
|
9764
|
-
const { sendTelemetry, isTelemetryEnabled } = await import("../telemetry-upload-
|
|
9833
|
+
const { sendTelemetry, isTelemetryEnabled } = await import("../telemetry-upload-YU2VRNHX.js");
|
|
9765
9834
|
if (!isTelemetryEnabled()) return;
|
|
9766
9835
|
const { upstream } = await sendTelemetry(24);
|
|
9767
9836
|
if (upstream.startsWith("sent")) {
|
|
@@ -10004,7 +10073,7 @@ try {
|
|
|
10004
10073
|
});
|
|
10005
10074
|
}
|
|
10006
10075
|
try {
|
|
10007
|
-
const { initOrgPartnerRuntime } = await import("../org-partner-runtime-
|
|
10076
|
+
const { initOrgPartnerRuntime } = await import("../org-partner-runtime-YNVUNT2R.js");
|
|
10008
10077
|
await initOrgPartnerRuntime();
|
|
10009
10078
|
} catch (err) {
|
|
10010
10079
|
process.stderr.write(
|