@askexenow/exe-os 0.9.365 → 0.9.368
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/deploy/compose/.env.askexe-control-plane.example +3 -1
- package/deploy/compose/.env.customer.example +6 -2
- package/deploy/compose/.env.example +8 -2
- package/deploy/compose/docker-compose.yml +21 -2
- package/deploy/compose/generate-env.ts +21 -1
- package/dist/.dist-verified.json +3 -3
- package/dist/{active-agent-MGF7J3HB.js → active-agent-6WNC756A.js} +3 -3
- package/dist/{active-agent-C6DPH43L.js → active-agent-RDTJGZHP.js} +3 -3
- package/dist/{agent-defs-generator-X7TVMPVB.js → agent-defs-generator-M5AUL3WM.js} +2 -2
- package/dist/agent-heartbeat-CQPGJIFF.js +13 -0
- package/dist/{agent-loop-E7RZCFDB.js → agent-loop-FOK2IRZQ.js} +1 -1
- package/dist/{agentic-ontology-CARDCG37.js → agentic-ontology-ZJBRYETW.js} +1 -1
- package/dist/{backfill-metadata-ANCJA6LA.js → backfill-metadata-Q4X23XLR.js} +5 -5
- package/dist/{backup-verify-F7BHVEF7.js → backup-verify-UKLX6IEK.js} +1 -1
- package/dist/behavior-injection-C3HEKSJY.js +60 -0
- package/dist/{behaviors-R2IE3PEN.js → behaviors-UCMAREU3.js} +8 -6
- package/dist/bin/agentic-ontology-backfill.js +6 -6
- package/dist/bin/agentic-reflection-backfill.js +7 -7
- package/dist/bin/agentic-semantic-label.js +6 -6
- package/dist/bin/backfill-conversations.js +5 -5
- package/dist/bin/backfill-responses.js +5 -5
- package/dist/bin/backfill-vectors.js +6 -6
- package/dist/bin/bulk-sync-postgres.js +10 -10
- package/dist/bin/cc-doctor.js +5 -5
- package/dist/bin/cleanup-stale-review-tasks.js +15 -14
- package/dist/bin/cli.js +20 -20
- package/dist/bin/deferred-daemon-restart.js +88 -83
- package/dist/bin/exe-agent-config.js +2 -2
- package/dist/bin/exe-agent.js +252 -14
- package/dist/bin/exe-assign.js +6 -6
- package/dist/bin/exe-boot.js +33 -31
- package/dist/bin/exe-call.js +4 -4
- package/dist/bin/exe-cloud.js +11 -11
- package/dist/bin/exe-config-dump.js +2 -2
- package/dist/bin/exe-dispatch.js +16 -15
- package/dist/bin/exe-doctor.js +6 -6
- package/dist/bin/exe-export-behaviors.js +10 -8
- package/dist/bin/exe-forget.js +7 -7
- package/dist/bin/exe-gateway.js +7 -7
- package/dist/bin/exe-healthcheck.js +5 -5
- package/dist/bin/exe-heartbeat.js +18 -17
- package/dist/bin/exe-kill.js +19 -18
- package/dist/bin/exe-launch-agent.js +25 -23
- package/dist/bin/exe-mcp.js +3 -3
- package/dist/bin/exe-memory-reads.js +5 -5
- package/dist/bin/exe-new-employee.js +8 -8
- package/dist/bin/exe-os-mcp-proxy.js +3 -3
- package/dist/bin/exe-pending-messages.js +16 -15
- package/dist/bin/exe-pending-notifications.js +15 -14
- package/dist/bin/exe-pending-reviews.js +15 -14
- package/dist/bin/exe-rename.js +4 -4
- package/dist/bin/exe-review.js +18 -17
- package/dist/bin/exe-search.js +6 -6
- package/dist/bin/exe-session-cleanup.js +20 -18
- package/dist/bin/exe-settings.js +10 -10
- package/dist/bin/exe-start-codex.js +81 -19
- package/dist/bin/exe-start-opencode.js +11 -9
- package/dist/bin/exe-status.js +17 -16
- package/dist/bin/exe-support.js +3 -3
- package/dist/bin/exe-team.js +4 -4
- package/dist/bin/exe-verify-running-images.js +123 -4
- package/dist/bin/exe-watchdog.js +44 -3
- package/dist/bin/git-sweep.js +25 -15
- package/dist/bin/graph-backfill.js +7 -7
- package/dist/bin/graph-export.js +6 -6
- package/dist/bin/import-history.js +10 -10
- package/dist/bin/install.js +90 -85
- package/dist/bin/intercom-check.js +4 -4
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +4 -4
- package/dist/bin/postgres-agentic-reflection-backfill.js +4 -4
- package/dist/bin/postgres-agentic-semantic-backfill.js +4 -4
- package/dist/bin/reconcile-backlog.js +47 -6
- package/dist/bin/registry-proxy.js +1 -1
- package/dist/bin/scan-tasks.js +15 -14
- package/dist/bin/setup.js +1 -1
- package/dist/bin/shard-migrate.js +5 -5
- package/dist/bin/stack-update.js +35 -6
- package/dist/bin/verify-stack.js +11 -1
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/{boot-generation-X45BSVZY.js → boot-generation-7H7Y4KC2.js} +3 -3
- package/dist/{boot-review-sections-OBVRXXSF.js → boot-review-sections-4AGCECCP.js} +14 -13
- package/dist/build-manifest.json +910 -845
- package/dist/{capability-cards-57FURUMR.js → capability-cards-6KAC5D2Z.js} +2 -2
- package/dist/{capacity-monitor-QEL62JDO.js → capacity-monitor-J2Y4SFLA.js} +16 -15
- package/dist/{catchup-brief-PMXTCASA.js → catchup-brief-F2HKF2CU.js} +19 -18
- package/dist/{chunk-5CBGH6RA.js → chunk-2AS6FG6C.js} +3 -3
- package/dist/{chunk-TO6TB75E.js → chunk-2UBMXN4D.js} +2 -2
- package/dist/{chunk-J6I7X272.js → chunk-2UGU3V63.js} +1 -1
- package/dist/{chunk-45EQTS7B.js → chunk-34BMZTWV.js} +1 -1
- package/dist/{chunk-JYFYIGYK.js → chunk-4DGIOK6T.js} +1 -1
- package/dist/{chunk-T6S45OLV.js → chunk-4GVJIMMK.js} +12 -6
- package/dist/{chunk-IXEFO6HD.js → chunk-4L732DE5.js} +3 -3
- package/dist/{chunk-MXEIZUXG.js → chunk-4RRMZJLG.js} +1 -1
- package/dist/{chunk-3JNVB5LG.js → chunk-5IVLOOJR.js} +1 -1
- package/dist/chunk-5YKNEL3W.js +356 -0
- package/dist/{chunk-EMZHB767.js → chunk-6EXOW5ZA.js} +9 -9
- package/dist/{chunk-6Q263OZE.js → chunk-6P7DVFKA.js} +1 -1
- package/dist/{chunk-ZDUO6QBH.js → chunk-6UZ3DEQI.js} +1 -1
- package/dist/{chunk-DJK45U7B.js → chunk-72JZQ7EV.js} +1 -1
- package/dist/{chunk-22YQBVMO.js → chunk-72QUZX6J.js} +4 -4
- package/dist/{chunk-DYWGIPVP.js → chunk-AAL6CDMQ.js} +7 -7
- package/dist/{chunk-E6ORBQHP.js → chunk-AAMGHW5W.js} +1 -0
- package/dist/{chunk-EJ4522YM.js → chunk-AJGX4Z34.js} +1 -1
- package/dist/{chunk-M7EES2KM.js → chunk-BEPO36MW.js} +3 -3
- package/dist/{chunk-WR75WUEP.js → chunk-BFL3UB77.js} +1 -1
- package/dist/{chunk-NV6A5HDN.js → chunk-BFPQXPN3.js} +1 -1
- package/dist/{chunk-VGE6IHZB.js → chunk-BJKC6ZJU.js} +110 -86
- package/dist/{chunk-R7RM766N.js → chunk-BLNSUBP3.js} +3 -3
- package/dist/{chunk-52TIQJEQ.js → chunk-BNDHQGOY.js} +1 -1
- package/dist/{chunk-QYJANQWC.js → chunk-BPQWRR4H.js} +2 -2
- package/dist/{chunk-ANPE3TT3.js → chunk-BTGR55GX.js} +3 -3
- package/dist/chunk-BTSWFMEH.js +14 -0
- package/dist/{chunk-OPNROU5B.js → chunk-C4IJ5IS5.js} +1 -1
- package/dist/{chunk-BEHLIRRJ.js → chunk-C5FOA5GO.js} +14 -3
- package/dist/{chunk-EHHMNKOA.js → chunk-CSBD7QLZ.js} +1 -1
- package/dist/{chunk-EKVTRI3N.js → chunk-CU2OUUSV.js} +27 -6
- package/dist/{chunk-P47MPWNU.js → chunk-CXHRNESJ.js} +1 -1
- package/dist/{chunk-F2S3M5MB.js → chunk-DRMGPZSC.js} +2 -2
- package/dist/{chunk-KRUYQFSH.js → chunk-DYPKSVB7.js} +5 -5
- package/dist/{chunk-KSVLBATT.js → chunk-E5QQZDQN.js} +53 -0
- package/dist/{chunk-ODBRU6BF.js → chunk-EDB3LXBQ.js} +1542 -984
- package/dist/{chunk-IIZITKBV.js → chunk-EDRXCUEP.js} +4 -4
- package/dist/{chunk-4QKKLK3C.js → chunk-ELY5WBZX.js} +10 -10
- package/dist/{chunk-MPQXQ5IE.js → chunk-EZUSIF66.js} +1 -1
- package/dist/{chunk-DEFSN2FQ.js → chunk-FHYX64H3.js} +3 -3
- package/dist/{chunk-YMJOLEPE.js → chunk-FSALI4B7.js} +4 -4
- package/dist/{chunk-6GQYPJPG.js → chunk-FWKTZURC.js} +8 -8
- package/dist/{chunk-EWZYFG5Q.js → chunk-FWVPGXHD.js} +5 -5
- package/dist/{chunk-DWAQOEXL.js → chunk-GILYOIMP.js} +2 -2
- package/dist/{chunk-RZIKSE6N.js → chunk-GP3J3AOT.js} +4 -4
- package/dist/{chunk-LHOKWZKL.js → chunk-H6J7N3BZ.js} +1 -1
- package/dist/{chunk-EVPBYX2Z.js → chunk-HQSUXAB4.js} +1 -1
- package/dist/{chunk-IM2I7OOS.js → chunk-HTLJHSN4.js} +1 -1
- package/dist/{chunk-JUOZLXLH.js → chunk-HXV3DGL7.js} +1 -1
- package/dist/{chunk-OFGFRT5J.js → chunk-IEE6X6R2.js} +1 -1
- package/dist/{chunk-SP37DONS.js → chunk-IKRIUEIF.js} +1 -1
- package/dist/{chunk-RHX6MNWY.js → chunk-J44774XC.js} +1 -1
- package/dist/{chunk-7C4FUNVO.js → chunk-J77ZIMH5.js} +5 -5
- package/dist/{chunk-NO3M2AFM.js → chunk-JDPV7W2L.js} +1 -1
- package/dist/{chunk-FXPAUDCZ.js → chunk-KGPWS4KE.js} +1 -1
- package/dist/{chunk-L3TB7CC3.js → chunk-KM6XSFHP.js} +12 -2
- package/dist/{chunk-ZEKCHV43.js → chunk-KWQ7RHYD.js} +4 -4
- package/dist/{chunk-QFIVK3G5.js → chunk-KYVIV54Y.js} +1 -1
- package/dist/chunk-KZXMP6JG.js +319 -0
- package/dist/{chunk-AGQAGOQN.js → chunk-LJWCK2DR.js} +9 -9
- package/dist/{chunk-O2MEBF23.js → chunk-MCXYNYZI.js} +30 -2
- package/dist/{chunk-L2VZBPJJ.js → chunk-MWEIBVBS.js} +13 -1
- package/dist/{chunk-RVWALVDT.js → chunk-MXP27XTP.js} +2 -2
- package/dist/{chunk-DQ5KHWFD.js → chunk-N3CGSO3S.js} +1 -1
- package/dist/{chunk-ZNEBZCZR.js → chunk-NNXPIJRB.js} +1 -1
- package/dist/{chunk-MZJBUAC3.js → chunk-NWE3CFX7.js} +4 -4
- package/dist/{chunk-BRLS5OLZ.js → chunk-OBESOWFJ.js} +35 -4
- package/dist/{chunk-5KLQCGI5.js → chunk-OL3QP3AU.js} +171 -1
- package/dist/{chunk-ESTR7QUP.js → chunk-P3PAD6AA.js} +1 -1
- package/dist/{chunk-2FYIMTQE.js → chunk-PGF5I7EV.js} +2 -2
- package/dist/{agent-heartbeat-I5UPGXAU.js → chunk-PHUHIVD5.js} +4 -5
- package/dist/{chunk-C3UAQ3JG.js → chunk-PVWM2WMM.js} +1 -1
- package/dist/{chunk-EWCEUO65.js → chunk-QCSAYYL6.js} +1 -1
- package/dist/{chunk-SBAU735L.js → chunk-QE5KWKVU.js} +27 -6
- package/dist/{chunk-LZKYVMBY.js → chunk-QKZEUCTS.js} +2 -2
- package/dist/{chunk-POPRJKAY.js → chunk-QS6HI4B6.js} +6 -0
- package/dist/{chunk-JNVQGLPX.js → chunk-QT6CNCXO.js} +3 -3
- package/dist/{chunk-J4U5Z7VX.js → chunk-QZYYCPNL.js} +4 -4
- package/dist/{chunk-RD4E5G3B.js → chunk-RDIZSXXD.js} +1 -1
- package/dist/{chunk-2RQT7TED.js → chunk-RFWOXKVL.js} +55 -3
- package/dist/chunk-S2YTU74T.js +76 -0
- package/dist/{chunk-X6A2VWVJ.js → chunk-TP7BFVQP.js} +2 -2
- package/dist/{chunk-CKG6CVKI.js → chunk-TTJWPV4G.js} +1 -1
- package/dist/chunk-TX3Q2GIL.js +97 -0
- package/dist/{chunk-Q7BU5Q6I.js → chunk-UATT6BNO.js} +3 -3
- package/dist/{chunk-PPGPCWRC.js → chunk-UVM5ZXO2.js} +4 -4
- package/dist/{chunk-BATQKSLI.js → chunk-V7E37GE3.js} +2 -2
- package/dist/{chunk-U373MEF5.js → chunk-VD3CVNGB.js} +3 -3
- package/dist/{chunk-ZSZPMUNX.js → chunk-VIW62NN5.js} +126 -7
- package/dist/{chunk-EPNWEOOE.js → chunk-VTOO5UB3.js} +10 -10
- package/dist/chunk-W5MCOZTW.js +304 -0
- package/dist/{chunk-2ESB5SDP.js → chunk-WJOJWRN5.js} +139 -33
- package/dist/{chunk-CPILYY2K.js → chunk-X4MRVNR3.js} +1 -1
- package/dist/{chunk-EPDNWY5P.js → chunk-XBTQPQN7.js} +1 -1
- package/dist/{behavior-injection-XQ4B7DCF.js → chunk-XOTDAKJL.js} +24 -38
- package/dist/{chunk-ORNCMRIX.js → chunk-Y4AYNLXU.js} +31 -37
- package/dist/{chunk-WYLFDSIE.js → chunk-YGPJ7VSJ.js} +48 -10
- package/dist/{chunk-ZRKEUCUZ.js → chunk-ZR3VMM3X.js} +12 -10
- package/dist/{chunk-JITNFE4W.js → chunk-ZWONQU5S.js} +1 -1
- package/dist/{cleanup-graph-garbage-CAA625RJ.js → cleanup-graph-garbage-FBSQI33K.js} +8 -8
- package/dist/{cloud-sync-command-DBB7WRHL.js → cloud-sync-command-NHGVDTLM.js} +11 -3
- package/dist/{cloud-sync-db-init-V7IB23W5.js → cloud-sync-db-init-I75VOTXC.js} +1 -1
- package/dist/{cloud-sync-shutdown-2D3B73CJ.js → cloud-sync-shutdown-JGOFGGET.js} +2 -2
- package/dist/{cloud-sync-state-5DFKLWNB.js → cloud-sync-state-QF3TMMJ4.js} +3 -1
- package/dist/{co-activation-JVN7EBS6.js → co-activation-AE5L2SJV.js} +2 -2
- package/dist/{co-occurrence-526PTFGT.js → co-occurrence-O65D4SCN.js} +6 -6
- package/dist/codex-consolidation-PPXNBXCV.js +96 -0
- package/dist/{conversation-entity-extractor-JO56DB2E.js → conversation-entity-extractor-LFIDTD2O.js} +4 -4
- package/dist/{crdt-sync-LIJLZKFE.js → crdt-sync-NRWDBRSE.js} +1 -1
- package/dist/{crm-webhook-55F7Y6D2.js → crm-webhook-XOQGX6DV.js} +2 -2
- package/dist/{cto-delegation-gate-QIYV4KFO.js → cto-delegation-gate-ZGOAXQI2.js} +14 -13
- package/dist/{daemon-orchestration-Q3GJA2JJ.js → daemon-orchestration-ZMQWYYDT.js} +19 -18
- package/dist/dispatch-intent-journal-VV6HMZC4.js +17 -0
- package/dist/{doc-graph-extractor-P46R4QME.js → doc-graph-extractor-6C5JBKPP.js} +6 -6
- package/dist/{documents-7KFEREWO.js → documents-FKSQGSO4.js} +6 -6
- package/dist/{dreaming-JMUXBAPU.js → dreaming-IB3H6NDZ.js} +18 -17
- package/dist/{employee-boot-brief-HN63D2BY.js → employee-boot-brief-5YRTUEJH.js} +25 -21
- package/dist/{exe-drift-7J7GX7DP.js → exe-drift-CUWUYX3O.js} +3 -3
- package/dist/{exe-export-KJ7B2OBU.js → exe-export-XWENYJNM.js} +7 -7
- package/dist/{exe-import-HPZDWKGE.js → exe-import-OWOMRF2S.js} +7 -7
- package/dist/{exe-key-2PREP464.js → exe-key-P356FGK5.js} +88 -83
- package/dist/{exe-org-VEIISATF.js → exe-org-UKIVF3KE.js} +8 -8
- package/dist/{exe-snapshot-JXQFLUKA.js → exe-snapshot-AZI2WW5Y.js} +19 -18
- package/dist/{fast-db-init-SCXJXOYX.js → fast-db-init-FPAPF3GB.js} +1 -1
- package/dist/{founder-context-U2SZPLYV.js → founder-context-QTQ6V3B5.js} +2 -2
- package/dist/gateway/index.js +11 -11
- package/dist/{git-staleness-S4NDR7NX.js → git-staleness-6ACWLV5Q.js} +2 -2
- package/dist/{global-procedures-ZOFTOXIR.js → global-procedures-RXIKBVLZ.js} +3 -3
- package/dist/{graph-auto-extract-CLVTSUSB.js → graph-auto-extract-Q4A4QMOF.js} +6 -6
- package/dist/{graph-rag-LSJLWGXV.js → graph-rag-RLRQMY54.js} +4 -4
- package/dist/{hook-integrity-SGTKBL6W.js → hook-integrity-3X2JRLBM.js} +1 -1
- package/dist/{hook-prefetch-BDSLB6F4.js → hook-prefetch-DU44UZQP.js} +15 -14
- package/dist/hooks/bug-report-worker.js +19 -18
- package/dist/hooks/codex-stop-task-finalizer.js +20 -19
- package/dist/hooks/commit-complete.js +35 -19
- package/dist/hooks/error-recall.js +8 -8
- package/dist/hooks/exe-heartbeat-hook.js +4 -4
- package/dist/hooks/ingest-worker.js +2 -2
- package/dist/hooks/ingest.js +11 -11
- package/dist/hooks/instructions-loaded.js +5 -5
- package/dist/hooks/manifest.json +20 -20
- package/dist/hooks/notification.js +5 -5
- package/dist/hooks/post-compact.js +4 -4
- package/dist/hooks/post-tool-combined.js +12 -12
- package/dist/hooks/pre-compact.js +18 -17
- package/dist/hooks/pre-tool-use.js +86 -34
- package/dist/hooks/prompt-submit.js +36 -31
- package/dist/hooks/session-end.js +114 -100
- package/dist/hooks/session-start.js +16 -16
- package/dist/hooks/stop.js +83 -20
- package/dist/hooks/subagent-stop.js +19 -18
- package/dist/hooks/summary-worker.js +23 -22
- package/dist/index.js +27 -26
- package/dist/{installer-RC2JCKSE.js → installer-B7QYQE56.js} +8 -6
- package/dist/{installer-EA7T3PBD.js → installer-EXR25DDG.js} +6 -6
- package/dist/{installer-KCEM4RCG.js → installer-TOPA7673.js} +152 -8
- package/dist/{intercom-queue-6DZPHHQ2.js → intercom-queue-BZ4M3L4S.js} +14 -13
- package/dist/lib/cloud-sync.js +10 -10
- package/dist/lib/consolidation.js +8 -8
- package/dist/lib/database.js +2 -2
- package/dist/lib/db-backup.js +1 -1
- package/dist/lib/db-write-worker.js +3 -3
- package/dist/lib/db.js +2 -2
- package/dist/lib/delivery-truth.js +25 -0
- package/dist/lib/device-registry.js +1 -1
- package/dist/lib/employee-templates.js +4 -4
- package/dist/lib/employees.js +2 -2
- package/dist/lib/exe-daemon.js +185 -79
- package/dist/lib/hybrid-search.js +6 -6
- package/dist/lib/identity.js +2 -2
- package/dist/lib/license.js +2 -2
- package/dist/lib/messaging.js +15 -14
- package/dist/lib/registry-proxy.js +1 -1
- package/dist/lib/reminders.js +3 -3
- package/dist/lib/schedules.js +6 -6
- package/dist/lib/session-registry.js +4 -4
- package/dist/lib/skill-learning.js +7 -7
- package/dist/lib/status-brief.js +2 -1
- package/dist/lib/store.js +5 -5
- package/dist/lib/task-router.js +3 -3
- package/dist/lib/tasks.js +16 -15
- package/dist/lib/tmux-routing.js +14 -13
- package/dist/lib/token-spend.js +3 -3
- package/dist/{license-gate-HMSMUIAU.js → license-gate-YTIOLKVV.js} +3 -3
- package/dist/{license-sync-FBCMPC4J.js → license-sync-5VE5OSTV.js} +2 -2
- package/dist/mcp/register-tools.js +87 -82
- package/dist/mcp/server.js +90 -85
- package/dist/mcp/tools/complete-reminder.js +4 -4
- package/dist/mcp/tools/create-reminder.js +4 -4
- package/dist/mcp/tools/create-task.js +26 -23
- package/dist/mcp/tools/deactivate-behavior.js +8 -8
- package/dist/mcp/tools/list-reminders.js +4 -4
- package/dist/mcp/tools/list-tasks.js +18 -17
- package/dist/mcp/tools/send-message.js +17 -16
- package/dist/mcp/tools/update-task.js +17 -16
- package/dist/{mcp-http-config-YKJN52HG.js → mcp-http-config-XUNRIGQH.js} +3 -3
- package/dist/{mcp-session-identity-QLUVYWPR.js → mcp-session-identity-4UIG7KLK.js} +14 -13
- package/dist/{memory-cards-K2OSX4AW.js → memory-cards-R74YU4CO.js} +5 -5
- package/dist/{memory-graph-extractor-YLTSKLSY.js → memory-graph-extractor-3B4QJUXI.js} +7 -7
- package/dist/{memory-poisoning-defense-IPO4ADRL.js → memory-poisoning-defense-OAKFL5O2.js} +2 -2
- package/dist/{memory-pressure-watchdog-ZI3TH2OF.js → memory-pressure-watchdog-FFC2CHFJ.js} +15 -14
- package/dist/{memory-reflection-ZKVRU3NT.js → memory-reflection-5IJ6RE2J.js} +2 -2
- package/dist/{notification-ledger-4REL6M3T.js → notification-ledger-P5XBUYKO.js} +17 -15
- package/dist/{notifications-UXJUAP3C.js → notifications-LLCCHRYV.js} +14 -13
- package/dist/{orchestration-events-GMRGGBMN.js → orchestration-events-VBGCIQSS.js} +3 -3
- package/dist/{orchestrator-5TV75HDJ.js → orchestrator-EB3SCTAJ.js} +16 -15
- package/dist/{org-brief-session-7AZZEO3F.js → org-brief-session-GDCDKBFF.js} +6 -6
- package/dist/{org-consent-policy-XT6UZENB.js → org-consent-policy-HCD42NBN.js} +2 -2
- package/dist/{org-partner-runtime-WLZAZJIY.js → org-partner-runtime-TPVKFR6E.js} +6 -6
- package/dist/{org-row-visibility-A5XM4MVO.js → org-row-visibility-ZZLOPZLH.js} +1 -1
- package/dist/{pipeline-router-UEVXDUHR.js → pipeline-router-3JTL2KF6.js} +3 -3
- package/dist/{plan-limits-QEP32X4W.js → plan-limits-MTHRP4WY.js} +5 -5
- package/dist/{projection-worker-GMRC6SBH.js → projection-worker-FLASNERC.js} +2 -2
- package/dist/{prospective-memory-QLHSAPSG.js → prospective-memory-HI3WUY4U.js} +2 -2
- package/dist/{push-notifications-GKRPXOGI.js → push-notifications-DFSR6P7V.js} +15 -14
- package/dist/{reranker-GB4VEMUV.js → reranker-XHBKUDGG.js} +1 -1
- package/dist/{retrieval-health-QIBPBGN6.js → retrieval-health-NYKSDS6M.js} +1 -1
- package/dist/{review-polling-MU47NQ2N.js → review-polling-UAV6DZIZ.js} +15 -14
- package/dist/runtime/index.js +23 -22
- package/dist/{session-events-YMQ3VGBJ.js → session-events-YCYPLWPG.js} +15 -14
- package/dist/{session-kill-telemetry-VGPKE57M.js → session-kill-telemetry-UEJTHL65.js} +15 -14
- package/dist/{session-scope-P46KAHXQ.js → session-scope-LXDW7LJJ.js} +14 -13
- package/dist/{setup-wizard-BRNHSJ4U.js → setup-wizard-OVJQYUUL.js} +1 -1
- package/dist/{skill-refinement-NLYDSFEH.js → skill-refinement-EWRJID73.js} +3 -3
- package/dist/{stack-promote-NHFTNIM2.js → stack-promote-4IJM36OG.js} +5 -4
- package/dist/{stack-release-AQVKZUS7.js → stack-release-BAIRY65H.js} +5 -4
- package/dist/{stack-update-LLX5KT7G.js → stack-update-VDM5WXRS.js} +10 -3
- package/dist/stalled-dispatch-escalation-MHLYH2PT.js +80 -0
- package/dist/{steward-gate-JKHYFAHA.js → steward-gate-Y4N2XY3R.js} +3 -3
- package/dist/{subagent-brief-injection-VDVOHDOU.js → subagent-brief-injection-7A6JEVTP.js} +22 -20
- package/dist/{support-inbox-S6YO5YZU.js → support-inbox-LT4WJECQ.js} +4 -3
- package/dist/{task-enforcement-LXW45H5Z.js → task-enforcement-WOIZ5TLK.js} +15 -14
- package/dist/{task-request-inbox-UCSKDC3R.js → task-request-inbox-D65BPUKZ.js} +2 -2
- package/dist/{task-scope-GDLFE26E.js → task-scope-PQ67YRWP.js} +18 -16
- package/dist/{tasks-crud-W7VGWRUV.js → tasks-crud-TJNMUKKH.js} +14 -13
- package/dist/{tasks-notify-CT7NWCS4.js → tasks-notify-7UVC3VGI.js} +15 -14
- package/dist/{tasks-review-WCSKOUFW.js → tasks-review-WDWYISZ2.js} +14 -13
- package/dist/{telemetry-upload-FK5WKXVB.js → telemetry-upload-6LBGRJUE.js} +7 -7
- package/dist/{token-budget-GBNGSIU3.js → token-budget-XO5XW6DL.js} +3 -3
- package/dist/{tool-gates-3IC7DK4R.js → tool-gates-2OZY3GZM.js} +1 -1
- package/dist/{tool-gates-GXSYBVK4.js → tool-gates-7PLIOLAL.js} +1 -1
- package/dist/{tool-telemetry-VKMRS6MP.js → tool-telemetry-ZL6TTZWG.js} +1 -1
- package/dist/tui/App.js +23 -22
- package/dist/{tui-data-FTPV2XBQ.js → tui-data-UK7ZPKN4.js} +14 -13
- package/dist/{update-support-J6UWPUOC.js → update-support-BGL5KAZO.js} +12 -12
- package/dist/work-claims-XZL2DKQ3.js +53 -0
- package/dist/{work-state-heartbeat-4LDF6DSM.js → work-state-heartbeat-267YQ75U.js} +1 -1
- package/dist/{worker-gate-35VZINZG.js → worker-gate-RUM6MLIR.js} +1 -1
- package/dist/{workflow-engine-4DA6RSHI.js → workflow-engine-YQHGHKSJ.js} +2 -2
- package/dist/{worktree-H3YFJ3NU.js → worktree-3FO6EQ4G.js} +4 -4
- package/dist/{worktree-sweep-4EDLLQ2E.js → worktree-sweep-X7MUEEQS.js} +5 -5
- package/package.json +7 -2
- package/release-notes.json +93 -81
- /package/dist/{chunk-7Y6AQWVT.js → chunk-4AN2PWUK.js} +0 -0
- /package/dist/{chunk-7DMCAGSC.js → chunk-5U4UJGTW.js} +0 -0
- /package/dist/{chunk-3THNS2T7.js → chunk-EYIX6JU7.js} +0 -0
- /package/dist/{chunk-QYECRPGD.js → chunk-FDA45THL.js} +0 -0
- /package/dist/{chunk-MBBFL2SP.js → chunk-GIO4VU4J.js} +0 -0
- /package/dist/{chunk-LKYGSJ2E.js → chunk-I76LRCNA.js} +0 -0
- /package/dist/{chunk-UY6HRDB2.js → chunk-LBWEAQ6Z.js} +0 -0
- /package/dist/{chunk-VS4LPG66.js → chunk-MQ5RUHNZ.js} +0 -0
- /package/dist/{chunk-G2EAYH4U.js → chunk-PFCE4AXQ.js} +0 -0
- /package/dist/{chunk-3NBWARKC.js → chunk-SXAERZL2.js} +0 -0
- /package/dist/{chunk-BY7WWPRM.js → chunk-TKTQRSSD.js} +0 -0
- /package/dist/{chunk-JRPYLUXH.js → chunk-U2AZUMBZ.js} +0 -0
- /package/dist/{chunk-CMBF5WCL.js → chunk-W6FVADZS.js} +0 -0
- /package/dist/{core-memory-CMPPHJN5.js → core-memory-W5ZHHBRR.js} +0 -0
- /package/dist/{memory-isolation-ZB5S5HCO.js → memory-isolation-ZE7EDBO4.js} +0 -0
- /package/dist/{oauth-server-NP7KGF7N.js → oauth-server-3HG62YYJ.js} +0 -0
- /package/dist/{project-boot-LEZSK3W7.js → project-boot-3OAWKYLO.js} +0 -0
- /package/dist/{wiki-acl-5DKOWOIH.js → wiki-acl-FQV4E6M4.js} +0 -0
package/dist/lib/exe-daemon.js
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
} from "../chunk-NOKJCF27.js";
|
|
9
9
|
import {
|
|
10
10
|
pushNotifyAsync
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-HQSUXAB4.js";
|
|
12
12
|
import {
|
|
13
13
|
isDbVerifyStampFresh
|
|
14
14
|
} from "../chunk-SVFNWBLF.js";
|
|
@@ -29,9 +29,10 @@ import {
|
|
|
29
29
|
recordMcpHttpEvent
|
|
30
30
|
} from "../chunk-YYA5LXCT.js";
|
|
31
31
|
import {
|
|
32
|
+
hasPendingCloudSyncSlice,
|
|
32
33
|
readCloudSyncState,
|
|
33
34
|
writeCloudSyncState
|
|
34
|
-
} from "../chunk-
|
|
35
|
+
} from "../chunk-MWEIBVBS.js";
|
|
35
36
|
import {
|
|
36
37
|
deserializeArgs,
|
|
37
38
|
serializeResultSet
|
|
@@ -43,35 +44,36 @@ import {
|
|
|
43
44
|
findScopedDuplicate,
|
|
44
45
|
governMemoryRecord,
|
|
45
46
|
schedulePostWriteMemoryHygiene
|
|
46
|
-
} from "../chunk-
|
|
47
|
+
} from "../chunk-5U4UJGTW.js";
|
|
47
48
|
import "../chunk-5MOYSU5A.js";
|
|
48
49
|
import "../chunk-4QCFFW2H.js";
|
|
49
50
|
import "../chunk-76CJBM36.js";
|
|
50
51
|
import {
|
|
51
52
|
BUSY_PATTERN
|
|
52
|
-
} from "../chunk-
|
|
53
|
-
import "../chunk-
|
|
54
|
-
import "../chunk-
|
|
55
|
-
import "../chunk-
|
|
53
|
+
} from "../chunk-Y4AYNLXU.js";
|
|
54
|
+
import "../chunk-BTSWFMEH.js";
|
|
55
|
+
import "../chunk-P3PAD6AA.js";
|
|
56
|
+
import "../chunk-KGPWS4KE.js";
|
|
57
|
+
import "../chunk-KYVIV54Y.js";
|
|
56
58
|
import "../chunk-WT4RI36X.js";
|
|
57
|
-
import "../chunk-C3UAQ3JG.js";
|
|
58
59
|
import {
|
|
59
60
|
recordTimerPauseMs,
|
|
60
61
|
runWithTimerPauseAccounting,
|
|
61
62
|
sweepPauseTotalMs
|
|
62
63
|
} from "../chunk-KI5PFRG6.js";
|
|
64
|
+
import "../chunk-QAEWWYHL.js";
|
|
63
65
|
import "../chunk-EIKATSE4.js";
|
|
64
66
|
import "../chunk-E23LNUWJ.js";
|
|
65
|
-
import "../chunk-
|
|
66
|
-
import "../chunk-EHHMNKOA.js";
|
|
67
|
+
import "../chunk-CSBD7QLZ.js";
|
|
67
68
|
import "../chunk-GBNB4EWD.js";
|
|
68
69
|
import "../chunk-UXLO7VHX.js";
|
|
69
70
|
import "../chunk-DSOQUQTV.js";
|
|
70
|
-
import "../chunk-
|
|
71
|
+
import "../chunk-BFL3UB77.js";
|
|
71
72
|
import "../chunk-AJIXH5JF.js";
|
|
73
|
+
import "../chunk-PVWM2WMM.js";
|
|
72
74
|
import "../chunk-XTWHNLGD.js";
|
|
73
75
|
import "../chunk-AM7S2TY6.js";
|
|
74
|
-
import "../chunk-
|
|
76
|
+
import "../chunk-PGF5I7EV.js";
|
|
75
77
|
import "../chunk-CVYC6DUW.js";
|
|
76
78
|
import "../chunk-ZVTKWWLV.js";
|
|
77
79
|
import "../chunk-CDUB5Q6J.js";
|
|
@@ -118,7 +120,7 @@ import "../chunk-W2IRQJ6R.js";
|
|
|
118
120
|
import "../chunk-HYZV25LY.js";
|
|
119
121
|
import "../chunk-GJV3WDWM.js";
|
|
120
122
|
import "../chunk-MP2AFCGL.js";
|
|
121
|
-
import "../chunk-
|
|
123
|
+
import "../chunk-OBESOWFJ.js";
|
|
122
124
|
import "../chunk-TKDITWDN.js";
|
|
123
125
|
import {
|
|
124
126
|
logBoot,
|
|
@@ -128,7 +130,7 @@ import {
|
|
|
128
130
|
logShutdown
|
|
129
131
|
} from "../chunk-BBMTVAE3.js";
|
|
130
132
|
import "../chunk-5YEUPUV4.js";
|
|
131
|
-
import "../chunk-
|
|
133
|
+
import "../chunk-JDPV7W2L.js";
|
|
132
134
|
import {
|
|
133
135
|
isPostgresBackendEnabled
|
|
134
136
|
} from "../chunk-YYB5PMTK.js";
|
|
@@ -149,9 +151,9 @@ import {
|
|
|
149
151
|
EMBEDDING_DIM
|
|
150
152
|
} from "../chunk-FXU7JOXK.js";
|
|
151
153
|
import "../chunk-WNBZJSQT.js";
|
|
152
|
-
import "../chunk-
|
|
154
|
+
import "../chunk-6UZ3DEQI.js";
|
|
153
155
|
import "../chunk-A7XLR3K7.js";
|
|
154
|
-
import "../chunk-
|
|
156
|
+
import "../chunk-MQ5RUHNZ.js";
|
|
155
157
|
import "../chunk-QILQ5FCG.js";
|
|
156
158
|
import "../chunk-ARX6TAGN.js";
|
|
157
159
|
import {
|
|
@@ -552,7 +554,7 @@ function runCapturedCloudSyncChild(options) {
|
|
|
552
554
|
else resolve({ ...result, stderrTail });
|
|
553
555
|
};
|
|
554
556
|
child.once("error", (err) => finish(timedOutError ?? err, { code: null, signal: null }));
|
|
555
|
-
child.once("
|
|
557
|
+
child.once("close", (code, signal) => finish(timedOutError, { code, signal }));
|
|
556
558
|
});
|
|
557
559
|
}
|
|
558
560
|
|
|
@@ -2528,7 +2530,7 @@ async function loadModel() {
|
|
|
2528
2530
|
void (async () => {
|
|
2529
2531
|
try {
|
|
2530
2532
|
if (_storeInitialized) {
|
|
2531
|
-
const { writeNotification } = await import("../notifications-
|
|
2533
|
+
const { writeNotification } = await import("../notifications-LLCCHRYV.js");
|
|
2532
2534
|
await writeNotification({
|
|
2533
2535
|
agentId: "exe",
|
|
2534
2536
|
agentRole: "system",
|
|
@@ -2647,7 +2649,7 @@ function disableEmbeddingsForInferenceTimeouts() {
|
|
|
2647
2649
|
void (async () => {
|
|
2648
2650
|
try {
|
|
2649
2651
|
if (_storeInitialized) {
|
|
2650
|
-
const { writeNotification } = await import("../notifications-
|
|
2652
|
+
const { writeNotification } = await import("../notifications-LLCCHRYV.js");
|
|
2651
2653
|
await writeNotification({
|
|
2652
2654
|
agentId: "exe",
|
|
2653
2655
|
agentRole: "system",
|
|
@@ -2814,7 +2816,7 @@ async function shutdown(exitCode = 0, reason = null, restartKind) {
|
|
|
2814
2816
|
_shuttingDown = true;
|
|
2815
2817
|
_drainingWrites = true;
|
|
2816
2818
|
try {
|
|
2817
|
-
const { stopOrgPartnerRuntime } = await import("../org-partner-runtime-
|
|
2819
|
+
const { stopOrgPartnerRuntime } = await import("../org-partner-runtime-TPVKFR6E.js");
|
|
2818
2820
|
stopOrgPartnerRuntime();
|
|
2819
2821
|
} catch {
|
|
2820
2822
|
}
|
|
@@ -2897,7 +2899,7 @@ async function shutdown(exitCode = 0, reason = null, restartKind) {
|
|
|
2897
2899
|
dbBytes = dbPath ? statSync4(dbPath).size : 0;
|
|
2898
2900
|
} catch {
|
|
2899
2901
|
}
|
|
2900
|
-
const { getAvailableMemoryBytesSync } = await import("../memory-pressure-watchdog-
|
|
2902
|
+
const { getAvailableMemoryBytesSync } = await import("../memory-pressure-watchdog-FFC2CHFJ.js");
|
|
2901
2903
|
const freeBytes = getAvailableMemoryBytesSync();
|
|
2902
2904
|
if (shouldSkipBackupUnderMemoryPressure(freeBytes, dbBytes)) {
|
|
2903
2905
|
memoryGateSkip = true;
|
|
@@ -2950,7 +2952,7 @@ async function shutdown(exitCode = 0, reason = null, restartKind) {
|
|
|
2950
2952
|
`);
|
|
2951
2953
|
}
|
|
2952
2954
|
try {
|
|
2953
|
-
const { stopProjectionWorker } = await import("../projection-worker-
|
|
2955
|
+
const { stopProjectionWorker } = await import("../projection-worker-FLASNERC.js");
|
|
2954
2956
|
stopProjectionWorker();
|
|
2955
2957
|
} catch {
|
|
2956
2958
|
}
|
|
@@ -3013,7 +3015,7 @@ async function handleHealthCheck(socket, requestId) {
|
|
|
3013
3015
|
let pipelineStatus = "unknown";
|
|
3014
3016
|
if (dbConnected) {
|
|
3015
3017
|
try {
|
|
3016
|
-
await import("../pipeline-router-
|
|
3018
|
+
await import("../pipeline-router-3JTL2KF6.js");
|
|
3017
3019
|
pipelineStatus = "ok";
|
|
3018
3020
|
} catch {
|
|
3019
3021
|
pipelineStatus = "unavailable";
|
|
@@ -3456,7 +3458,7 @@ async function _writeMemoryRecordInner(entry, syncOnly = false) {
|
|
|
3456
3458
|
const vRow = await client.execute({ sql: "SELECT version FROM memories WHERE id = ?", args: [id] });
|
|
3457
3459
|
const version = Number(vRow.rows[0]?.version) || 0;
|
|
3458
3460
|
try {
|
|
3459
|
-
const { insertOntologyForMemory } = await import("../agentic-ontology-
|
|
3461
|
+
const { insertOntologyForMemory } = await import("../agentic-ontology-ZJBRYETW.js");
|
|
3460
3462
|
await insertOntologyForMemory({
|
|
3461
3463
|
id,
|
|
3462
3464
|
agent_id: record.agent_id,
|
|
@@ -4280,7 +4282,7 @@ async function startMcpHttpServer() {
|
|
|
4280
4282
|
clearBootstrapFailureMarker();
|
|
4281
4283
|
setBootPhase("db_ready");
|
|
4282
4284
|
_storeInitialized = true;
|
|
4283
|
-
const { initLicenseGate, getCachedLicenseGate } = await import("../license-gate-
|
|
4285
|
+
const { initLicenseGate, getCachedLicenseGate } = await import("../license-gate-YTIOLKVV.js");
|
|
4284
4286
|
const gateResult = await initLicenseGate();
|
|
4285
4287
|
if (!gateResult.hasKey) {
|
|
4286
4288
|
process.stderr.write(
|
|
@@ -4295,14 +4297,14 @@ async function startMcpHttpServer() {
|
|
|
4295
4297
|
let _cachedWrapTelemetry = null;
|
|
4296
4298
|
async function getWrapTelemetry() {
|
|
4297
4299
|
if (!_cachedWrapTelemetry) {
|
|
4298
|
-
const { wrapServerWithTelemetry } = await import("../tool-telemetry-
|
|
4300
|
+
const { wrapServerWithTelemetry } = await import("../tool-telemetry-ZL6TTZWG.js");
|
|
4299
4301
|
_cachedWrapTelemetry = wrapServerWithTelemetry;
|
|
4300
4302
|
}
|
|
4301
4303
|
return _cachedWrapTelemetry;
|
|
4302
4304
|
}
|
|
4303
4305
|
Promise.all([
|
|
4304
4306
|
import("../tool-capability-index-BT2GGLLI.js"),
|
|
4305
|
-
import("../tool-gates-
|
|
4307
|
+
import("../tool-gates-2OZY3GZM.js")
|
|
4306
4308
|
]).then(async ([{ getToolCapabilityIndex }, { TOOL_CATEGORIES }]) => {
|
|
4307
4309
|
const gateState = getCachedLicenseGate();
|
|
4308
4310
|
const index = getToolCapabilityIndex();
|
|
@@ -4367,7 +4369,7 @@ async function startMcpHttpServer() {
|
|
|
4367
4369
|
const expectedBuf = Buffer.from(_daemonToken);
|
|
4368
4370
|
if (tokenBuf.length === expectedBuf.length && timingSafeEqual(tokenBuf, expectedBuf)) return true;
|
|
4369
4371
|
try {
|
|
4370
|
-
const { verifyAccessToken } = await import("../oauth-server-
|
|
4372
|
+
const { verifyAccessToken } = await import("../oauth-server-3HG62YYJ.js");
|
|
4371
4373
|
const result = verifyAccessToken(token);
|
|
4372
4374
|
return result.valid;
|
|
4373
4375
|
} catch {
|
|
@@ -4620,7 +4622,7 @@ async function startMcpHttpServer() {
|
|
|
4620
4622
|
return;
|
|
4621
4623
|
}
|
|
4622
4624
|
try {
|
|
4623
|
-
const { handleOAuthRoute } = await import("../oauth-server-
|
|
4625
|
+
const { handleOAuthRoute } = await import("../oauth-server-3HG62YYJ.js");
|
|
4624
4626
|
const handled = await handleOAuthRoute(req, res, url, MCP_HTTP_PORT);
|
|
4625
4627
|
if (handled) return;
|
|
4626
4628
|
} catch (err) {
|
|
@@ -4741,14 +4743,14 @@ async function startMcpHttpServer() {
|
|
|
4741
4743
|
res.end(JSON.stringify({ error: "agent_id and session_name are required" }));
|
|
4742
4744
|
return;
|
|
4743
4745
|
}
|
|
4744
|
-
const { recordHeartbeat } = await import("../agent-heartbeat-
|
|
4746
|
+
const { recordHeartbeat } = await import("../agent-heartbeat-CQPGJIFF.js");
|
|
4745
4747
|
recordHeartbeat(body.agent_id, body.session_name, {
|
|
4746
4748
|
taskId: body.task_id,
|
|
4747
4749
|
status: body.status,
|
|
4748
4750
|
contextPct: body.context_pct
|
|
4749
4751
|
});
|
|
4750
4752
|
if (body.context_pct !== void 0 && body.context_pct > 70) {
|
|
4751
|
-
void import("../orchestration-events-
|
|
4753
|
+
void import("../orchestration-events-VBGCIQSS.js").then(({ recordOrchestrationEventBestEffort: recordOE }) => {
|
|
4752
4754
|
recordOE({
|
|
4753
4755
|
eventType: "context.pressure",
|
|
4754
4756
|
source: "exe-daemon.heartbeat",
|
|
@@ -4860,7 +4862,7 @@ async function startMcpHttpServer() {
|
|
|
4860
4862
|
let sessionHint = req.headers["x-exe-session-name"] || req.headers["x-exe-session"] || "";
|
|
4861
4863
|
if (sessionHint) {
|
|
4862
4864
|
try {
|
|
4863
|
-
const { sanitizeSessionHintHeader, rejectForgedSessionHint } = await import("../mcp-session-identity-
|
|
4865
|
+
const { sanitizeSessionHintHeader, rejectForgedSessionHint } = await import("../mcp-session-identity-4UIG7KLK.js");
|
|
4864
4866
|
const rawHint = sessionHint;
|
|
4865
4867
|
sessionHint = sanitizeSessionHintHeader(sessionHint);
|
|
4866
4868
|
if (!sessionHint) {
|
|
@@ -4899,7 +4901,7 @@ async function startMcpHttpServer() {
|
|
|
4899
4901
|
try {
|
|
4900
4902
|
const liveSessions = await getTmuxSessionsAsync();
|
|
4901
4903
|
const paneCommands = await getPaneCommandsAsync();
|
|
4902
|
-
const { resolveMcpSessionHint } = await import("../mcp-session-identity-
|
|
4904
|
+
const { resolveMcpSessionHint } = await import("../mcp-session-identity-4UIG7KLK.js");
|
|
4903
4905
|
let registrySessions = [];
|
|
4904
4906
|
try {
|
|
4905
4907
|
const { listSessions: listRegistrySessions } = await import("./session-registry.js");
|
|
@@ -5036,7 +5038,7 @@ async function startMcpHttpServer() {
|
|
|
5036
5038
|
bindLive = await getTmuxSessionsAsync();
|
|
5037
5039
|
} catch {
|
|
5038
5040
|
}
|
|
5039
|
-
const { isLauncherCorroboratedIdentity } = await import("../mcp-session-identity-
|
|
5041
|
+
const { isLauncherCorroboratedIdentity } = await import("../mcp-session-identity-4UIG7KLK.js");
|
|
5040
5042
|
const corroborated = isLauncherCorroboratedIdentity({
|
|
5041
5043
|
agentId,
|
|
5042
5044
|
registrySessions: bindRegistry,
|
|
@@ -5244,7 +5246,7 @@ async function startMcpHttpServer() {
|
|
|
5244
5246
|
const toolName = parsedRequest?.method === "tools/call" ? parsedRequest.params?.name : void 0;
|
|
5245
5247
|
if (toolName && agentRole) {
|
|
5246
5248
|
try {
|
|
5247
|
-
const { TOOL_CATEGORIES, TOOL_GATES } = await import("../tool-gates-
|
|
5249
|
+
const { TOOL_CATEGORIES, TOOL_GATES } = await import("../tool-gates-2OZY3GZM.js");
|
|
5248
5250
|
const registerName = `register${toolName.charAt(0).toUpperCase()}${toolName.slice(1)}`;
|
|
5249
5251
|
const category = TOOL_CATEGORIES[registerName] || TOOL_CATEGORIES[toolName];
|
|
5250
5252
|
if (category) {
|
|
@@ -5279,7 +5281,7 @@ async function startMcpHttpServer() {
|
|
|
5279
5281
|
}
|
|
5280
5282
|
}
|
|
5281
5283
|
try {
|
|
5282
|
-
const { reconcileHintWithRegistryIdentity } = await import("../mcp-session-identity-
|
|
5284
|
+
const { reconcileHintWithRegistryIdentity } = await import("../mcp-session-identity-4UIG7KLK.js");
|
|
5283
5285
|
const { listSessions: listRegistrySessions } = await import("./session-registry.js");
|
|
5284
5286
|
const recon = reconcileHintWithRegistryIdentity({
|
|
5285
5287
|
agentId,
|
|
@@ -5492,9 +5494,9 @@ async function ensureStoreForPolling() {
|
|
|
5492
5494
|
await initDatabase({ dbPath: config.dbPath, encryptionKey: masterKey.toString("hex") });
|
|
5493
5495
|
await ensureSchema();
|
|
5494
5496
|
try {
|
|
5495
|
-
const { isLedgerEnabled } = await import("../notification-ledger-
|
|
5497
|
+
const { isLedgerEnabled } = await import("../notification-ledger-P5XBUYKO.js");
|
|
5496
5498
|
if (isLedgerEnabled()) {
|
|
5497
|
-
const { bumpBootGeneration } = await import("../boot-generation-
|
|
5499
|
+
const { bumpBootGeneration } = await import("../boot-generation-7H7Y4KC2.js");
|
|
5498
5500
|
const { setDaemonReadyGeneration } = await import("../daemon-ready-signal-CKXPUMJ2.js");
|
|
5499
5501
|
const generation = await bumpBootGeneration();
|
|
5500
5502
|
setDaemonReadyGeneration(generation);
|
|
@@ -5534,13 +5536,13 @@ async function ensureStoreForPolling() {
|
|
|
5534
5536
|
}
|
|
5535
5537
|
}
|
|
5536
5538
|
async function startReviewPolling() {
|
|
5537
|
-
const polling = await import("../review-polling-
|
|
5539
|
+
const polling = await import("../review-polling-UAV6DZIZ.js");
|
|
5538
5540
|
const state = {
|
|
5539
5541
|
lastIntercomSent: /* @__PURE__ */ new Map(),
|
|
5540
5542
|
lastNudgeSent: /* @__PURE__ */ new Map(),
|
|
5541
5543
|
intervalMs: REVIEW_POLL_INTERVAL_MS
|
|
5542
5544
|
};
|
|
5543
|
-
const { pollReviewNudge, createReviewNudgeRealDeps, loadNudgeState } = await import("../daemon-orchestration-
|
|
5545
|
+
const { pollReviewNudge, createReviewNudgeRealDeps, loadNudgeState } = await import("../daemon-orchestration-ZMQWYYDT.js");
|
|
5544
5546
|
const nudgeState = loadNudgeState();
|
|
5545
5547
|
const tick = async () => traceDaemonTimer("review_polling", async () => {
|
|
5546
5548
|
fired("review_polling");
|
|
@@ -5548,7 +5550,7 @@ async function startReviewPolling() {
|
|
|
5548
5550
|
try {
|
|
5549
5551
|
const { getClient } = await import("./database.js");
|
|
5550
5552
|
const deps = polling.createRealDeps(getClient);
|
|
5551
|
-
const { strictSessionScopeFilter } = await import("../task-scope-
|
|
5553
|
+
const { strictSessionScopeFilter } = await import("../task-scope-PQ67YRWP.js");
|
|
5552
5554
|
const { getCoordinatorName, DEFAULT_COORDINATOR_TEMPLATE_NAME } = await import("./employees.js");
|
|
5553
5555
|
deps.findOrphanedDoneTasks = async (sessionScope) => {
|
|
5554
5556
|
const coordinatorName = getCoordinatorName();
|
|
@@ -5627,7 +5629,7 @@ function startSessionTTL() {
|
|
|
5627
5629
|
if (!await ensureStoreForPolling()) return;
|
|
5628
5630
|
if (inPostRestartDestructiveGrace("session_ttl")) return;
|
|
5629
5631
|
const { getClient } = await import("./database.js");
|
|
5630
|
-
const { checkSessionTTL, createSessionTTLRealDeps } = await import("../daemon-orchestration-
|
|
5632
|
+
const { checkSessionTTL, createSessionTTLRealDeps } = await import("../daemon-orchestration-ZMQWYYDT.js");
|
|
5631
5633
|
const deps = createSessionTTLRealDeps(getClient);
|
|
5632
5634
|
const killed = await checkSessionTTL(deps, _wedgeObservations);
|
|
5633
5635
|
if (killed.length > 0) acted("session_ttl");
|
|
@@ -5687,7 +5689,7 @@ function startIdleKill() {
|
|
|
5687
5689
|
const cfg = await getCachedConfig();
|
|
5688
5690
|
if (!cfg) return;
|
|
5689
5691
|
const { getClient } = await import("./database.js");
|
|
5690
|
-
const { pollIdleKill, createIdleKillRealDeps } = await import("../daemon-orchestration-
|
|
5692
|
+
const { pollIdleKill, createIdleKillRealDeps } = await import("../daemon-orchestration-ZMQWYYDT.js");
|
|
5691
5693
|
const { sessions: liveSessions, paneCache, aliveSessions } = await getSharedOrchestrationCaches();
|
|
5692
5694
|
const realDeps = createIdleKillRealDeps(
|
|
5693
5695
|
getClient,
|
|
@@ -5803,6 +5805,7 @@ var CLOUD_SYNC_INTERVAL_MS = Number(process.env.EXE_CLOUD_SYNC_INTERVAL_MS) || 5
|
|
|
5803
5805
|
var CLOUD_SYNC_BACKOFF_BASE_MS = 5e3;
|
|
5804
5806
|
var CLOUD_SYNC_BACKOFF_MAX_MS = 5 * 6e4;
|
|
5805
5807
|
var CLOUD_SYNC_CIRCUIT_BREAK = 10;
|
|
5808
|
+
var CLOUD_SYNC_DEFERRED_RESUME_MS = Number(process.env.EXE_CLOUD_SYNC_DEFERRED_RESUME_MS) || 15e3;
|
|
5806
5809
|
var _cloudSyncConsecutiveFailures = 0;
|
|
5807
5810
|
var _cloudSyncBackoffMs = 0;
|
|
5808
5811
|
var _cloudSyncPaused = false;
|
|
@@ -5885,6 +5888,20 @@ function startCloudSyncTimer() {
|
|
|
5885
5888
|
_cloudSyncBackoffMs = 0;
|
|
5886
5889
|
_cloudSyncPaused = false;
|
|
5887
5890
|
acted("cloud_sync");
|
|
5891
|
+
let slicePending = false;
|
|
5892
|
+
try {
|
|
5893
|
+
slicePending = hasPendingCloudSyncSlice(readCloudSyncState(), Date.now(), CLOUD_SYNC_INTERVAL_MS);
|
|
5894
|
+
} catch {
|
|
5895
|
+
slicePending = false;
|
|
5896
|
+
}
|
|
5897
|
+
if (slicePending) {
|
|
5898
|
+
process.stderr.write(
|
|
5899
|
+
`[exed] Cloud sync slice deferred with memories still pending \u2014 next slice in ${Math.round(CLOUD_SYNC_DEFERRED_RESUME_MS / 1e3)}s
|
|
5900
|
+
`
|
|
5901
|
+
);
|
|
5902
|
+
setTimeout(() => void traceDaemonTimer("cloud_sync", tick), CLOUD_SYNC_DEFERRED_RESUME_MS).unref();
|
|
5903
|
+
return;
|
|
5904
|
+
}
|
|
5888
5905
|
process.stderr.write(`[exed] Cloud sync child completed successfully
|
|
5889
5906
|
`);
|
|
5890
5907
|
};
|
|
@@ -6061,7 +6078,7 @@ function startSkillRefinement() {
|
|
|
6061
6078
|
if (!shouldRunHeavyJob("skill_refinement")) return;
|
|
6062
6079
|
try {
|
|
6063
6080
|
if (!await ensureStoreForPolling()) return;
|
|
6064
|
-
const { runSkillRefinement } = await import("../skill-refinement-
|
|
6081
|
+
const { runSkillRefinement } = await import("../skill-refinement-EWRJID73.js");
|
|
6065
6082
|
const result = await runSkillRefinement();
|
|
6066
6083
|
if (result.reviewed > 0) {
|
|
6067
6084
|
acted("skill_refinement");
|
|
@@ -6083,12 +6100,100 @@ function startSkillRefinement() {
|
|
|
6083
6100
|
var STALE_BRANCH_SWEEP_INTERVAL_MS = 60 * 60 * 1e3;
|
|
6084
6101
|
var STALE_BRANCH_HOURS = 48;
|
|
6085
6102
|
var _staleBranchAlertedToday = /* @__PURE__ */ new Set();
|
|
6103
|
+
var STALLED_DISPATCH_SWEEP_INTERVAL_MS = 15 * 60 * 1e3;
|
|
6104
|
+
async function stalledDispatchStatePath() {
|
|
6105
|
+
const { join: joinPath } = await import("path");
|
|
6106
|
+
const { homedir: home } = await import("os");
|
|
6107
|
+
const base = process.env.EXE_OS_DIR || process.env.EXE_MEM_DIR || joinPath(home(), ".exe-os");
|
|
6108
|
+
return joinPath(base, "stalled-dispatch-escalations.json");
|
|
6109
|
+
}
|
|
6110
|
+
function startStalledDispatchSweep() {
|
|
6111
|
+
const tick = async () => {
|
|
6112
|
+
fired("stalled_dispatch_sweep");
|
|
6113
|
+
if (sweepStarved("stalled_dispatch_sweep")) return;
|
|
6114
|
+
try {
|
|
6115
|
+
const { findOrphanedDispatchIntents } = await import("../dispatch-intent-journal-VV6HMZC4.js");
|
|
6116
|
+
const {
|
|
6117
|
+
decideStalledDispatchEscalations,
|
|
6118
|
+
STALLED_DISPATCH_WARN_AGE_MS
|
|
6119
|
+
} = await import("../stalled-dispatch-escalation-MHLYH2PT.js");
|
|
6120
|
+
const { readFileSync: rf, writeFileSync: wf, existsSync: ex } = await import("fs");
|
|
6121
|
+
const orphans = findOrphanedDispatchIntents(null, STALLED_DISPATCH_WARN_AGE_MS);
|
|
6122
|
+
const statePath = await stalledDispatchStatePath();
|
|
6123
|
+
let previousState = {};
|
|
6124
|
+
if (orphans.length > 0 && ex(statePath)) {
|
|
6125
|
+
try {
|
|
6126
|
+
previousState = JSON.parse(rf(statePath, "utf-8"));
|
|
6127
|
+
} catch {
|
|
6128
|
+
previousState = {};
|
|
6129
|
+
}
|
|
6130
|
+
}
|
|
6131
|
+
const intents = orphans.map(({ file, entry }) => {
|
|
6132
|
+
const payload = entry?.payload ?? {};
|
|
6133
|
+
return {
|
|
6134
|
+
file,
|
|
6135
|
+
journaledAt: entry?.journaledAt ?? null,
|
|
6136
|
+
status: entry?.status ?? null,
|
|
6137
|
+
taskId: entry?.taskId ?? null,
|
|
6138
|
+
sessionScope: entry?.caller?.sessionScope ?? null,
|
|
6139
|
+
assignedTo: typeof payload.assigned_to === "string" ? payload.assigned_to : null,
|
|
6140
|
+
title: typeof payload.title === "string" ? payload.title : null,
|
|
6141
|
+
corrupted: entry === null
|
|
6142
|
+
};
|
|
6143
|
+
});
|
|
6144
|
+
const { notifications, nextState } = decideStalledDispatchEscalations(intents, previousState);
|
|
6145
|
+
if (notifications.length > 0 && _storeInitialized) {
|
|
6146
|
+
const { writeNotification } = await import("../notifications-LLCCHRYV.js");
|
|
6147
|
+
for (const note of notifications) {
|
|
6148
|
+
try {
|
|
6149
|
+
await writeNotification({
|
|
6150
|
+
agentId: "exe",
|
|
6151
|
+
agentRole: "system",
|
|
6152
|
+
event: "error_spike",
|
|
6153
|
+
project: "dispatch-journal",
|
|
6154
|
+
summary: note.tier === "stalled" ? `STALLED DISPATCH \u2014 ${note.summary}` : `Undelivered dispatch \u2014 ${note.summary}`,
|
|
6155
|
+
sessionScope: null
|
|
6156
|
+
});
|
|
6157
|
+
acted("stalled_dispatch_sweep");
|
|
6158
|
+
} catch {
|
|
6159
|
+
}
|
|
6160
|
+
process.stderr.write(
|
|
6161
|
+
`[exed] Stalled-dispatch ${note.tier}: ${note.intents.length} intent(s) undelivered
|
|
6162
|
+
`
|
|
6163
|
+
);
|
|
6164
|
+
}
|
|
6165
|
+
}
|
|
6166
|
+
try {
|
|
6167
|
+
if (Object.keys(nextState).length > 0) {
|
|
6168
|
+
wf(statePath, JSON.stringify(nextState, null, 2), "utf-8");
|
|
6169
|
+
} else if (ex(statePath)) {
|
|
6170
|
+
wf(statePath, "{}", "utf-8");
|
|
6171
|
+
}
|
|
6172
|
+
} catch {
|
|
6173
|
+
}
|
|
6174
|
+
} catch (err) {
|
|
6175
|
+
process.stderr.write(
|
|
6176
|
+
`[exed] Stalled-dispatch sweep error: ${err instanceof Error ? err.message : String(err)}
|
|
6177
|
+
`
|
|
6178
|
+
);
|
|
6179
|
+
}
|
|
6180
|
+
};
|
|
6181
|
+
const timer = setInterval(
|
|
6182
|
+
() => void traceDaemonTimer("stalled_dispatch_sweep", tick),
|
|
6183
|
+
STALLED_DISPATCH_SWEEP_INTERVAL_MS
|
|
6184
|
+
);
|
|
6185
|
+
timer.unref();
|
|
6186
|
+
process.stderr.write(
|
|
6187
|
+
`[exed] Stalled-dispatch sweep timer started (every ${STALLED_DISPATCH_SWEEP_INTERVAL_MS / 6e4}m)
|
|
6188
|
+
`
|
|
6189
|
+
);
|
|
6190
|
+
}
|
|
6086
6191
|
function startStaleBranchSweep() {
|
|
6087
6192
|
const tick = async () => {
|
|
6088
6193
|
fired("stale_branch_sweep");
|
|
6089
6194
|
if (sweepStarved("stale_branch_sweep")) return;
|
|
6090
6195
|
try {
|
|
6091
|
-
const { discoverRepoPathsAsync } = await import("../worktree-sweep-
|
|
6196
|
+
const { discoverRepoPathsAsync } = await import("../worktree-sweep-X7MUEEQS.js");
|
|
6092
6197
|
const { scanUnmergedBranchesCached } = await import("../branch-hygiene-HFJ3HA62.js");
|
|
6093
6198
|
const { runBudgetedSweep } = await import("../sweep-budget-KMPJ7O5Z.js");
|
|
6094
6199
|
const today = (/* @__PURE__ */ new Date()).toISOString().slice(0, 10);
|
|
@@ -6121,7 +6226,7 @@ function startStaleBranchSweep() {
|
|
|
6121
6226
|
if (!_storeInitialized) return;
|
|
6122
6227
|
const stale = scan.branches.filter((b) => b.ageHours >= STALE_BRANCH_HOURS).slice(0, 5).map((b) => `${b.name} (+${b.ahead} commits, ${(b.ageHours / 24).toFixed(1)}d)`).join("; ");
|
|
6123
6228
|
try {
|
|
6124
|
-
const { writeNotification } = await import("../notifications-
|
|
6229
|
+
const { writeNotification } = await import("../notifications-LLCCHRYV.js");
|
|
6125
6230
|
await writeNotification({
|
|
6126
6231
|
agentId: "exe",
|
|
6127
6232
|
agentRole: "system",
|
|
@@ -6176,7 +6281,7 @@ function startWorkStateHeartbeat() {
|
|
|
6176
6281
|
const { getClient } = await import("./database.js");
|
|
6177
6282
|
const { listSessions } = await import("./session-registry.js");
|
|
6178
6283
|
const { isCoordinatorName } = await import("./employees.js");
|
|
6179
|
-
const { runWorkStateTick } = await import("../work-state-heartbeat-
|
|
6284
|
+
const { runWorkStateTick } = await import("../work-state-heartbeat-267YQ75U.js");
|
|
6180
6285
|
let liveTmux = null;
|
|
6181
6286
|
const loadLiveTmux = async () => {
|
|
6182
6287
|
if (!liveTmux) liveTmux = await listTmuxSessionNamesAsync();
|
|
@@ -6242,7 +6347,7 @@ function startGraphExtraction() {
|
|
|
6242
6347
|
if (!await ensureStoreForPolling()) return;
|
|
6243
6348
|
const { getClient } = await import("./database.js");
|
|
6244
6349
|
const client = getClient();
|
|
6245
|
-
const { extractBatch } = await import("../graph-rag-
|
|
6350
|
+
const { extractBatch } = await import("../graph-rag-RLRQMY54.js");
|
|
6246
6351
|
const result = await extractBatch(client, 50, config.selfQueryModel);
|
|
6247
6352
|
if (result.processed > 0) {
|
|
6248
6353
|
acted("graph_extraction");
|
|
@@ -6573,7 +6678,7 @@ async function refreshAgentData() {
|
|
|
6573
6678
|
const decision = evaluateSpendCapAlert(_lastSpendCapLevel, capStatus);
|
|
6574
6679
|
_lastSpendCapLevel = decision.level;
|
|
6575
6680
|
if (decision.shouldAlert && decision.summary) {
|
|
6576
|
-
const { writeNotification } = await import("../notifications-
|
|
6681
|
+
const { writeNotification } = await import("../notifications-LLCCHRYV.js");
|
|
6577
6682
|
await writeNotification({
|
|
6578
6683
|
agentId: "system",
|
|
6579
6684
|
agentRole: "system",
|
|
@@ -6695,7 +6800,7 @@ function startReflectionSweep() {
|
|
|
6695
6800
|
);
|
|
6696
6801
|
let runReflection;
|
|
6697
6802
|
try {
|
|
6698
|
-
({ runReflection } = await import("../memory-reflection-
|
|
6803
|
+
({ runReflection } = await import("../memory-reflection-5IJ6RE2J.js"));
|
|
6699
6804
|
} catch (importErr) {
|
|
6700
6805
|
_reflectionImportFailed = true;
|
|
6701
6806
|
process.stderr.write(`[exed] Reflection module unavailable (stale chunk hash?) \u2014 disabled until daemon restart: ${importErr instanceof Error ? importErr.message : String(importErr)}
|
|
@@ -6736,7 +6841,7 @@ function startReflectionSweep() {
|
|
|
6736
6841
|
if (memories > 100 && cards < memories * 0.1) {
|
|
6737
6842
|
process.stderr.write(`[exed] Memory cards sparse (${cards} cards / ${memories} memories) \u2014 running backfill...
|
|
6738
6843
|
`);
|
|
6739
|
-
const { insertMemoryCardsForBatch } = await import("../memory-cards-
|
|
6844
|
+
const { insertMemoryCardsForBatch } = await import("../memory-cards-R74YU4CO.js");
|
|
6740
6845
|
const batchSize = 500;
|
|
6741
6846
|
let offset = 0;
|
|
6742
6847
|
let totalCards = 0;
|
|
@@ -6817,7 +6922,7 @@ function startDatabaseBackup() {
|
|
|
6817
6922
|
`
|
|
6818
6923
|
);
|
|
6819
6924
|
try {
|
|
6820
|
-
const { maybeVerifyDailyBackup } = await import("../backup-verify-
|
|
6925
|
+
const { maybeVerifyDailyBackup } = await import("../backup-verify-UKLX6IEK.js");
|
|
6821
6926
|
const verdict = await maybeVerifyDailyBackup(backupPath);
|
|
6822
6927
|
if (verdict && !verdict.ok) {
|
|
6823
6928
|
process.stderr.write(
|
|
@@ -6893,7 +6998,7 @@ function startSessionEventsRetention() {
|
|
|
6893
6998
|
fired("session_events_retention");
|
|
6894
6999
|
if (!await ensureStoreForPolling()) return;
|
|
6895
7000
|
try {
|
|
6896
|
-
const { DEFAULT_SESSION_EVENTS_RETENTION_DAYS } = await import("../session-events-
|
|
7001
|
+
const { DEFAULT_SESSION_EVENTS_RETENTION_DAYS } = await import("../session-events-YCYPLWPG.js");
|
|
6897
7002
|
const days = SESSION_EVENTS_RETENTION_DAYS ?? DEFAULT_SESSION_EVENTS_RETENTION_DAYS;
|
|
6898
7003
|
if (!isWriteWorkerEnabled() || !isDbWriteWorkerReady()) {
|
|
6899
7004
|
process.stderr.write(
|
|
@@ -6939,7 +7044,7 @@ function startIntercomQueueDrain() {
|
|
|
6939
7044
|
const tick = async () => traceDaemonTimer("intercom_queue_drain", async () => {
|
|
6940
7045
|
fired("intercom_queue_drain");
|
|
6941
7046
|
try {
|
|
6942
|
-
const { drainQueueAsync, readQueue } = await import("../intercom-queue-
|
|
7047
|
+
const { drainQueueAsync, readQueue } = await import("../intercom-queue-BZ4M3L4S.js");
|
|
6943
7048
|
const {
|
|
6944
7049
|
sendIntercomAsync: centralSendIntercomAsync,
|
|
6945
7050
|
countScopedPendingReviews,
|
|
@@ -7071,7 +7176,7 @@ function startLedgerDrain() {
|
|
|
7071
7176
|
const tick = async () => traceDaemonTimer("ledger_drain", async () => {
|
|
7072
7177
|
fired("ledger_drain");
|
|
7073
7178
|
try {
|
|
7074
|
-
const { isLedgerEnabled, drainLedger } = await import("../notification-ledger-
|
|
7179
|
+
const { isLedgerEnabled, drainLedger } = await import("../notification-ledger-P5XBUYKO.js");
|
|
7075
7180
|
if (!isLedgerEnabled()) return;
|
|
7076
7181
|
const result = await drainLedger({
|
|
7077
7182
|
// Shadow "would-deliver": idle target = would-deliver, busy = retry.
|
|
@@ -7110,7 +7215,7 @@ function startOrphanReaper() {
|
|
|
7110
7215
|
const tick = async () => traceDaemonTimer("orphan_reaper", async () => {
|
|
7111
7216
|
fired("orphan_reaper");
|
|
7112
7217
|
try {
|
|
7113
|
-
const { reapOrphanedMcpProcesses, createOrphanReaperRealDepsAsync } = await import("../daemon-orchestration-
|
|
7218
|
+
const { reapOrphanedMcpProcesses, createOrphanReaperRealDepsAsync } = await import("../daemon-orchestration-ZMQWYYDT.js");
|
|
7114
7219
|
const deps = await createOrphanReaperRealDepsAsync();
|
|
7115
7220
|
const reaped = await reapOrphanedMcpProcesses(deps);
|
|
7116
7221
|
if (reaped.length > 0) acted("orphan_reaper");
|
|
@@ -7135,7 +7240,7 @@ function startZombieAgentReaper() {
|
|
|
7135
7240
|
const tick = async () => traceDaemonTimer("zombie_agent_reaper", async () => {
|
|
7136
7241
|
fired("zombie_agent_reaper");
|
|
7137
7242
|
try {
|
|
7138
|
-
const { reapZombieAgentProcesses, createZombieAgentReaperRealDepsAsync } = await import("../daemon-orchestration-
|
|
7243
|
+
const { reapZombieAgentProcesses, createZombieAgentReaperRealDepsAsync } = await import("../daemon-orchestration-ZMQWYYDT.js");
|
|
7139
7244
|
const deps = await createZombieAgentReaperRealDepsAsync();
|
|
7140
7245
|
const reaped = reapZombieAgentProcesses(deps);
|
|
7141
7246
|
if (reaped.length > 0) acted("zombie_agent_reaper");
|
|
@@ -7159,7 +7264,7 @@ async function startDaemonMemoryPressureWatchdog() {
|
|
|
7159
7264
|
try {
|
|
7160
7265
|
const cfg = await getCachedConfig();
|
|
7161
7266
|
if (!cfg) return;
|
|
7162
|
-
const { startMemoryPressureWatchdog: startWatchdog, MEMORY_PRESSURE_WATCHDOG_DEFAULTS } = await import("../memory-pressure-watchdog-
|
|
7267
|
+
const { startMemoryPressureWatchdog: startWatchdog, MEMORY_PRESSURE_WATCHDOG_DEFAULTS } = await import("../memory-pressure-watchdog-FFC2CHFJ.js");
|
|
7163
7268
|
const watchdogCfg = {
|
|
7164
7269
|
...MEMORY_PRESSURE_WATCHDOG_DEFAULTS,
|
|
7165
7270
|
...cfg.memoryPressureWatchdog ?? {}
|
|
@@ -7191,7 +7296,7 @@ function startWorktreeReaper() {
|
|
|
7191
7296
|
fired("worktree_reaper");
|
|
7192
7297
|
if (sweepStarved("worktree_reaper")) return;
|
|
7193
7298
|
try {
|
|
7194
|
-
const { reapOrphanedWorktrees, createWorktreeReaperRealDeps } = await import("../daemon-orchestration-
|
|
7299
|
+
const { reapOrphanedWorktrees, createWorktreeReaperRealDeps } = await import("../daemon-orchestration-ZMQWYYDT.js");
|
|
7195
7300
|
const deps = await createWorktreeReaperRealDeps();
|
|
7196
7301
|
const result = await reapOrphanedWorktrees(deps);
|
|
7197
7302
|
if (result.pruned.length > 0) {
|
|
@@ -7235,8 +7340,8 @@ function startWorktreeReaper() {
|
|
|
7235
7340
|
}
|
|
7236
7341
|
return;
|
|
7237
7342
|
}
|
|
7238
|
-
const { cleanupAgentWorktree } = await import("../worktree-sweep-
|
|
7239
|
-
const { getMainRepoRootAsync } = await import("../worktree-
|
|
7343
|
+
const { cleanupAgentWorktree } = await import("../worktree-sweep-X7MUEEQS.js");
|
|
7344
|
+
const { getMainRepoRootAsync } = await import("../worktree-3FO6EQ4G.js");
|
|
7240
7345
|
const repoRoot = await getMainRepoRootAsync(signal.worktreePath);
|
|
7241
7346
|
if (repoRoot && signal.agentId) {
|
|
7242
7347
|
const notes = await cleanupAgentWorktree(repoRoot, signal.agentId);
|
|
@@ -7273,7 +7378,7 @@ function startAutoWake() {
|
|
|
7273
7378
|
if (!await ensureStoreForPolling()) return;
|
|
7274
7379
|
try {
|
|
7275
7380
|
const { getClient } = await import("./database.js");
|
|
7276
|
-
const { pollOrphanedTasks, createAutoWakeRealDeps } = await import("../daemon-orchestration-
|
|
7381
|
+
const { pollOrphanedTasks, createAutoWakeRealDeps } = await import("../daemon-orchestration-ZMQWYYDT.js");
|
|
7277
7382
|
const deps = createAutoWakeRealDeps(getClient, process.cwd(), getTmuxSessionsAsync);
|
|
7278
7383
|
const woken = await pollOrphanedTasks(deps);
|
|
7279
7384
|
if (woken.length > 0) acted("auto_wake");
|
|
@@ -7348,7 +7453,7 @@ function startAutoWake() {
|
|
|
7348
7453
|
if (age > 60 * 60 * 1e3) {
|
|
7349
7454
|
try {
|
|
7350
7455
|
await unlink(signalPath);
|
|
7351
|
-
void import("../orchestration-events-
|
|
7456
|
+
void import("../orchestration-events-VBGCIQSS.js").then(({ recordOrchestrationEventBestEffort: recordOE }) => {
|
|
7352
7457
|
recordOE({ eventType: "signal.stale", source: "exe-daemon.autoWake", severity: "warn", payload: { file, ageMinutes: Math.round(age / 6e4) } });
|
|
7353
7458
|
}).catch(() => {
|
|
7354
7459
|
});
|
|
@@ -7497,7 +7602,7 @@ function startStuckTaskRelease() {
|
|
|
7497
7602
|
createStaleClaimRealDeps,
|
|
7498
7603
|
escalateStuckBlockedTasks,
|
|
7499
7604
|
createStuckBlockedRealDeps
|
|
7500
|
-
} = await import("../daemon-orchestration-
|
|
7605
|
+
} = await import("../daemon-orchestration-ZMQWYYDT.js");
|
|
7501
7606
|
const { runBudgetedSweep } = await import("../sweep-budget-KMPJ7O5Z.js");
|
|
7502
7607
|
const steps = [
|
|
7503
7608
|
async () => {
|
|
@@ -7762,12 +7867,12 @@ function startTaskEnforcementScanner() {
|
|
|
7762
7867
|
const tick = async () => traceDaemonTimer("task_enforcement", async () => {
|
|
7763
7868
|
fired("task_enforcement");
|
|
7764
7869
|
try {
|
|
7765
|
-
const { runTaskEnforcementTick } = await import("../task-enforcement-
|
|
7870
|
+
const { runTaskEnforcementTick } = await import("../task-enforcement-WOIZ5TLK.js");
|
|
7766
7871
|
const { getTransport } = await import("./transport.js");
|
|
7767
7872
|
const { loadAgentConfig } = await import("./agent-config.js");
|
|
7768
7873
|
const { getClient } = await import("./database.js");
|
|
7769
7874
|
const { loadEmployeesSync } = await import("./employees.js");
|
|
7770
|
-
const { sessionScopeFilter } = await import("../task-scope-
|
|
7875
|
+
const { sessionScopeFilter } = await import("../task-scope-PQ67YRWP.js");
|
|
7771
7876
|
const transport = getTransport();
|
|
7772
7877
|
const { sessions: allSessions, paneCache, aliveSessions } = await getSharedOrchestrationCaches();
|
|
7773
7878
|
await yieldToEventLoop();
|
|
@@ -7778,10 +7883,10 @@ function startTaskEnforcementScanner() {
|
|
|
7778
7883
|
sendKeysLiteral: transport.sendKeysLiteral?.bind(transport),
|
|
7779
7884
|
isAlive: (session) => aliveSessions.has(session)
|
|
7780
7885
|
};
|
|
7781
|
-
const { checkAutoWakeGates } = await import("../daemon-orchestration-
|
|
7886
|
+
const { checkAutoWakeGates } = await import("../daemon-orchestration-ZMQWYYDT.js");
|
|
7782
7887
|
const { ensureEmployeeAsync, employeeSessionName, sendIntercomAsync } = await import("./tmux-routing.js");
|
|
7783
7888
|
const { shouldAutoInstance } = await import("./employees.js");
|
|
7784
|
-
const { recordOrchestrationEventBestEffort } = await import("../orchestration-events-
|
|
7889
|
+
const { recordOrchestrationEventBestEffort } = await import("../orchestration-events-VBGCIQSS.js");
|
|
7785
7890
|
const projectDir = process.cwd();
|
|
7786
7891
|
await runTaskEnforcementTick({
|
|
7787
7892
|
transport: enforcementTransport,
|
|
@@ -8107,7 +8212,7 @@ async function sweepExpiredTracesFromDaemonTimer() {
|
|
|
8107
8212
|
const memoryIds = idsResult.rows.map((r) => String(r.id)).filter(Boolean);
|
|
8108
8213
|
if (memoryIds.length === 0) return 0;
|
|
8109
8214
|
const { getClient } = await import("./database.js");
|
|
8110
|
-
const { cleanupGraphLinksForMemories, cleanupCardsForMemories } = await import("../graph-rag-
|
|
8215
|
+
const { cleanupGraphLinksForMemories, cleanupCardsForMemories } = await import("../graph-rag-RLRQMY54.js");
|
|
8111
8216
|
const client = getClient();
|
|
8112
8217
|
await cleanupGraphLinksForMemories(client, memoryIds);
|
|
8113
8218
|
await cleanupCardsForMemories(client, memoryIds);
|
|
@@ -8818,7 +8923,7 @@ function startEventLoopLagDetector() {
|
|
|
8818
8923
|
const msg = `[exed] EVENT LOOP BLOCKED ${(lag / 1e3).toFixed(1)}s \u2014 MCP UNRESPONSIVE. Sessions will die.`;
|
|
8819
8924
|
process.stderr.write(msg + "\n");
|
|
8820
8925
|
logDaemonHealth({ event: "event_loop_blocked", pid: process.pid, message: msg, data: { lagMs: lag } });
|
|
8821
|
-
void import("../orchestration-events-
|
|
8926
|
+
void import("../orchestration-events-VBGCIQSS.js").then(({ recordOrchestrationEventBestEffort: recordOE }) => {
|
|
8822
8927
|
recordOE({ eventType: "daemon.event_loop_blocked", source: "exe-daemon.lagDetector", severity: "error", durationMs: lag });
|
|
8823
8928
|
}).catch(() => {
|
|
8824
8929
|
});
|
|
@@ -9012,7 +9117,7 @@ function startTaskFileResync() {
|
|
|
9012
9117
|
});
|
|
9013
9118
|
if (Number(res.rowsAffected ?? 0) > 0) {
|
|
9014
9119
|
synced++;
|
|
9015
|
-
void import("../orchestration-events-
|
|
9120
|
+
void import("../orchestration-events-VBGCIQSS.js").then(({ recordOrchestrationEventBestEffort: recordOE }) => {
|
|
9016
9121
|
recordOE({
|
|
9017
9122
|
eventType: "task_file.resynced",
|
|
9018
9123
|
source: "exe-daemon.taskFileResync",
|
|
@@ -9046,7 +9151,7 @@ function startTaskGroupBarriers() {
|
|
|
9046
9151
|
fired("task_group_barriers");
|
|
9047
9152
|
if (!await ensureStoreForPolling()) return;
|
|
9048
9153
|
try {
|
|
9049
|
-
const { pollTaskGroupBarriers } = await import("../daemon-orchestration-
|
|
9154
|
+
const { pollTaskGroupBarriers } = await import("../daemon-orchestration-ZMQWYYDT.js");
|
|
9050
9155
|
const firedCount = await pollTaskGroupBarriers();
|
|
9051
9156
|
if (firedCount > 0) {
|
|
9052
9157
|
acted("task_group_barriers");
|
|
@@ -9068,7 +9173,7 @@ function startCheckpointGc() {
|
|
|
9068
9173
|
fired("checkpoint_gc");
|
|
9069
9174
|
if (!await ensureStoreForPolling()) return;
|
|
9070
9175
|
try {
|
|
9071
|
-
const { gcStaleCheckpoints } = await import("../daemon-orchestration-
|
|
9176
|
+
const { gcStaleCheckpoints } = await import("../daemon-orchestration-ZMQWYYDT.js");
|
|
9072
9177
|
const cleared = await gcStaleCheckpoints();
|
|
9073
9178
|
if (cleared > 0) {
|
|
9074
9179
|
acted("checkpoint_gc");
|
|
@@ -9108,14 +9213,14 @@ function startDispatchAckCleanup() {
|
|
|
9108
9213
|
function startProjectionWorkerDeferred() {
|
|
9109
9214
|
setTimeout(async () => {
|
|
9110
9215
|
try {
|
|
9111
|
-
const { startProjectionWorker } = await import("../projection-worker-
|
|
9216
|
+
const { startProjectionWorker } = await import("../projection-worker-FLASNERC.js");
|
|
9112
9217
|
startProjectionWorker();
|
|
9113
9218
|
} catch {
|
|
9114
9219
|
}
|
|
9115
9220
|
}, 2e4);
|
|
9116
9221
|
}
|
|
9117
9222
|
async function startToolTelemetry() {
|
|
9118
|
-
const { startToolTelemetryFlush } = await import("../tool-telemetry-
|
|
9223
|
+
const { startToolTelemetryFlush } = await import("../tool-telemetry-ZL6TTZWG.js");
|
|
9119
9224
|
startToolTelemetryFlush();
|
|
9120
9225
|
process.stderr.write("[exed] Tool telemetry started (flush every 5m)\n");
|
|
9121
9226
|
}
|
|
@@ -9232,6 +9337,7 @@ function startLocalFirstTimers() {
|
|
|
9232
9337
|
setTimeout(() => void traceDaemonTimer("background_job_guardrails_start", () => startBackgroundJobGuardrails()), 6e4);
|
|
9233
9338
|
setTimeout(startWorktreeReaper, 12e4);
|
|
9234
9339
|
setTimeout(startStaleBranchSweep, 2e5);
|
|
9340
|
+
setTimeout(startStalledDispatchSweep, 21e4);
|
|
9235
9341
|
setTimeout(startZombieAgentReaper, 25e3);
|
|
9236
9342
|
setTimeout(() => void startDaemonMemoryPressureWatchdog(), 3e4);
|
|
9237
9343
|
setTimeout(() => void traceDaemonTimer("intercom_dedup_cleanup", async () => {
|
|
@@ -9283,7 +9389,7 @@ function startLocalFirstTimers() {
|
|
|
9283
9389
|
fired("orphan_task_cleanup");
|
|
9284
9390
|
try {
|
|
9285
9391
|
if (!await ensureStoreForPolling()) return;
|
|
9286
|
-
const { cleanOrphanedTaskFiles } = await import("../tasks-crud-
|
|
9392
|
+
const { cleanOrphanedTaskFiles } = await import("../tasks-crud-TJNMUKKH.js");
|
|
9287
9393
|
const count = await cleanOrphanedTaskFiles();
|
|
9288
9394
|
if (count > 0) {
|
|
9289
9395
|
acted("orphan_task_cleanup");
|
|
@@ -9299,7 +9405,7 @@ function startLocalFirstTimers() {
|
|
|
9299
9405
|
fired("task_file_consistency");
|
|
9300
9406
|
try {
|
|
9301
9407
|
if (!await ensureStoreForPolling()) return;
|
|
9302
|
-
const { checkTaskFileConsistency } = await import("../tasks-crud-
|
|
9408
|
+
const { checkTaskFileConsistency } = await import("../tasks-crud-TJNMUKKH.js");
|
|
9303
9409
|
const mismatches = await checkTaskFileConsistency();
|
|
9304
9410
|
if (mismatches > 0) {
|
|
9305
9411
|
acted("task_file_consistency");
|
|
@@ -9318,7 +9424,7 @@ function startLocalFirstTimers() {
|
|
|
9318
9424
|
const TELEMETRY_DAILY_MS = 24 * 60 * 60 * 1e3;
|
|
9319
9425
|
const telemetryDaily = async () => {
|
|
9320
9426
|
try {
|
|
9321
|
-
const { sendTelemetry, isTelemetryEnabled } = await import("../telemetry-upload-
|
|
9427
|
+
const { sendTelemetry, isTelemetryEnabled } = await import("../telemetry-upload-6LBGRJUE.js");
|
|
9322
9428
|
if (!isTelemetryEnabled()) return;
|
|
9323
9429
|
const { upstream } = await sendTelemetry(24);
|
|
9324
9430
|
if (upstream.startsWith("sent")) {
|
|
@@ -9556,7 +9662,7 @@ try {
|
|
|
9556
9662
|
});
|
|
9557
9663
|
}
|
|
9558
9664
|
try {
|
|
9559
|
-
const { initOrgPartnerRuntime } = await import("../org-partner-runtime-
|
|
9665
|
+
const { initOrgPartnerRuntime } = await import("../org-partner-runtime-TPVKFR6E.js");
|
|
9560
9666
|
await initOrgPartnerRuntime();
|
|
9561
9667
|
} catch (err) {
|
|
9562
9668
|
process.stderr.write(
|