@askexenow/exe-os 0.9.365 → 0.9.367
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/dist/.dist-verified.json +3 -3
- package/dist/{active-agent-C6DPH43L.js → active-agent-R6Q7UEUD.js} +3 -3
- package/dist/{active-agent-MGF7J3HB.js → active-agent-V3CUDNED.js} +3 -3
- package/dist/{agent-defs-generator-X7TVMPVB.js → agent-defs-generator-MLPRGY75.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-5FMQWGDZ.js} +1 -1
- package/dist/{backfill-metadata-ANCJA6LA.js → backfill-metadata-YXUMCKRV.js} +5 -5
- package/dist/{backup-verify-F7BHVEF7.js → backup-verify-GYHKAX7K.js} +1 -1
- package/dist/{behavior-injection-XQ4B7DCF.js → behavior-injection-7VGYY2KO.js} +7 -7
- package/dist/{behaviors-R2IE3PEN.js → behaviors-O6HKTSOF.js} +6 -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 +14 -13
- package/dist/bin/cli.js +20 -20
- package/dist/bin/deferred-daemon-restart.js +78 -75
- package/dist/bin/exe-agent-config.js +2 -2
- package/dist/bin/exe-agent.js +251 -13
- package/dist/bin/exe-assign.js +6 -6
- package/dist/bin/exe-boot.js +29 -27
- 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 +15 -14
- package/dist/bin/exe-doctor.js +5 -5
- package/dist/bin/exe-export-behaviors.js +8 -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 +17 -16
- package/dist/bin/exe-kill.js +18 -17
- package/dist/bin/exe-launch-agent.js +23 -22
- 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 +15 -14
- package/dist/bin/exe-pending-notifications.js +14 -13
- package/dist/bin/exe-pending-reviews.js +14 -13
- package/dist/bin/exe-rename.js +4 -4
- package/dist/bin/exe-review.js +17 -16
- package/dist/bin/exe-search.js +6 -6
- package/dist/bin/exe-session-cleanup.js +18 -17
- package/dist/bin/exe-settings.js +10 -10
- package/dist/bin/exe-start-codex.js +21 -13
- package/dist/bin/exe-start-opencode.js +9 -9
- package/dist/bin/exe-status.js +16 -15
- package/dist/bin/exe-support.js +3 -3
- package/dist/bin/exe-team.js +4 -4
- package/dist/bin/git-sweep.js +23 -14
- package/dist/bin/graph-backfill.js +6 -6
- package/dist/bin/graph-export.js +6 -6
- package/dist/bin/import-history.js +9 -9
- package/dist/bin/install.js +80 -77
- 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 +2 -2
- package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
- package/dist/bin/reconcile-backlog.js +2 -2
- package/dist/bin/registry-proxy.js +1 -1
- package/dist/bin/scan-tasks.js +14 -13
- package/dist/bin/setup.js +1 -1
- package/dist/bin/shard-migrate.js +5 -5
- package/dist/bin/stack-update.js +34 -6
- package/dist/bin/verify-stack.js +6 -1
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/{boot-generation-X45BSVZY.js → boot-generation-EZ2Y74IG.js} +3 -3
- package/dist/{boot-review-sections-OBVRXXSF.js → boot-review-sections-7CNQTAYR.js} +13 -12
- package/dist/build-manifest.json +865 -835
- package/dist/{capability-cards-57FURUMR.js → capability-cards-ZTFMK4VJ.js} +2 -2
- package/dist/{capacity-monitor-QEL62JDO.js → capacity-monitor-B2XU4YHP.js} +15 -14
- package/dist/{catchup-brief-PMXTCASA.js → catchup-brief-3BEOL7EV.js} +18 -17
- package/dist/{chunk-J6I7X272.js → chunk-267QB6VB.js} +1 -1
- package/dist/{chunk-IXEFO6HD.js → chunk-2IZH6W73.js} +3 -3
- package/dist/{chunk-6GQYPJPG.js → chunk-4DJDC4Y2.js} +8 -8
- package/dist/{chunk-LZKYVMBY.js → chunk-4WOOCTON.js} +2 -2
- package/dist/{chunk-RHX6MNWY.js → chunk-52CFP2AV.js} +1 -1
- package/dist/{chunk-EWZYFG5Q.js → chunk-53LCVVX5.js} +2 -2
- package/dist/{chunk-52TIQJEQ.js → chunk-5CH6XKVC.js} +1 -1
- package/dist/{chunk-22YQBVMO.js → chunk-66BFQOWR.js} +4 -4
- package/dist/{chunk-ESTR7QUP.js → chunk-6MCUXRIP.js} +1 -1
- package/dist/{chunk-LHOKWZKL.js → chunk-6NJURKRG.js} +1 -1
- package/dist/{chunk-VGE6IHZB.js → chunk-7W5LCREK.js} +80 -12
- package/dist/{chunk-FXPAUDCZ.js → chunk-7W6FDHHY.js} +1 -1
- package/dist/{chunk-E6ORBQHP.js → chunk-AAMGHW5W.js} +1 -0
- package/dist/{chunk-EMZHB767.js → chunk-AE3PYLLS.js} +9 -9
- package/dist/{chunk-JUOZLXLH.js → chunk-AEVE654G.js} +1 -1
- package/dist/{chunk-PPGPCWRC.js → chunk-ALKYXAMB.js} +4 -4
- package/dist/{chunk-MPQXQ5IE.js → chunk-ALYI3P5D.js} +1 -1
- package/dist/{chunk-4QKKLK3C.js → chunk-BQYQES2Z.js} +10 -10
- package/dist/{chunk-WYLFDSIE.js → chunk-BTMX2D4X.js} +5 -5
- package/dist/chunk-BTSWFMEH.js +14 -0
- package/dist/{chunk-EKVTRI3N.js → chunk-BY3V5CLX.js} +5 -4
- package/dist/{chunk-ZSZPMUNX.js → chunk-CKKLSY7B.js} +126 -7
- package/dist/{chunk-6Q263OZE.js → chunk-CTPG4KYZ.js} +1 -1
- package/dist/{chunk-C3UAQ3JG.js → chunk-CX4MVEM3.js} +1 -1
- package/dist/{chunk-DEFSN2FQ.js → chunk-CYNL3ZFD.js} +3 -3
- package/dist/{chunk-RD4E5G3B.js → chunk-DTTISDTI.js} +1 -1
- package/dist/{chunk-ZRKEUCUZ.js → chunk-DXCTHNEF.js} +12 -10
- package/dist/{chunk-KSVLBATT.js → chunk-E5QQZDQN.js} +53 -0
- package/dist/{chunk-DQ5KHWFD.js → chunk-EDZ5URGR.js} +1 -1
- package/dist/{chunk-ZDUO6QBH.js → chunk-F3PIHVVY.js} +1 -1
- package/dist/{chunk-EJ4522YM.js → chunk-FSIAGX55.js} +1 -1
- package/dist/{chunk-RVWALVDT.js → chunk-GUOMZ3JM.js} +2 -2
- package/dist/{chunk-BRLS5OLZ.js → chunk-HSBKV5LB.js} +35 -4
- package/dist/{chunk-QFIVK3G5.js → chunk-IIVFXD6P.js} +1 -1
- package/dist/{chunk-SBAU735L.js → chunk-J6VQ7HYV.js} +4 -4
- package/dist/{chunk-EWCEUO65.js → chunk-JFOZHVNO.js} +1 -1
- package/dist/{chunk-T6S45OLV.js → chunk-JJRZE2LD.js} +1 -1
- package/dist/{chunk-DYWGIPVP.js → chunk-JOKKIFRN.js} +3 -3
- package/dist/{chunk-X6A2VWVJ.js → chunk-K2OFS57E.js} +2 -2
- package/dist/{chunk-NV6A5HDN.js → chunk-KDD26FUY.js} +1 -1
- package/dist/{chunk-L3TB7CC3.js → chunk-KM6XSFHP.js} +12 -2
- package/dist/{chunk-CKG6CVKI.js → chunk-LIZ3QQGK.js} +1 -1
- package/dist/{chunk-OFGFRT5J.js → chunk-LW5WRSDD.js} +1 -1
- package/dist/{chunk-JITNFE4W.js → chunk-MLPPG2OG.js} +1 -1
- package/dist/{chunk-3JNVB5LG.js → chunk-MQ3N4KZY.js} +1 -1
- package/dist/{chunk-2FYIMTQE.js → chunk-N3JLNMPF.js} +2 -2
- package/dist/{chunk-RZIKSE6N.js → chunk-NPND34FS.js} +4 -4
- package/dist/{chunk-DWAQOEXL.js → chunk-O3F5P6Z5.js} +2 -2
- package/dist/{chunk-M7EES2KM.js → chunk-OADOH45L.js} +3 -3
- package/dist/{chunk-MZJBUAC3.js → chunk-OISZ2I4X.js} +4 -4
- package/dist/{chunk-R7RM766N.js → chunk-OPS7KUFV.js} +3 -3
- package/dist/{chunk-JNVQGLPX.js → chunk-P5XER5QY.js} +3 -3
- package/dist/{chunk-J4U5Z7VX.js → chunk-P76VYS6V.js} +4 -4
- package/dist/{chunk-KRUYQFSH.js → chunk-PFOJX6CR.js} +5 -5
- package/dist/chunk-PFR6EOUY.js +356 -0
- package/dist/{agent-heartbeat-I5UPGXAU.js → chunk-PHUHIVD5.js} +4 -5
- package/dist/{chunk-45EQTS7B.js → chunk-PQ6NRLKL.js} +1 -1
- package/dist/{chunk-5CBGH6RA.js → chunk-PR3AHVFW.js} +3 -3
- package/dist/{chunk-ODBRU6BF.js → chunk-PS4NA7PM.js} +1399 -943
- package/dist/{chunk-CPILYY2K.js → chunk-PS6VPW64.js} +1 -1
- package/dist/{chunk-YMJOLEPE.js → chunk-PWCZFIQH.js} +4 -4
- package/dist/{chunk-POPRJKAY.js → chunk-QS6HI4B6.js} +6 -0
- package/dist/{chunk-ZNEBZCZR.js → chunk-QWDZNQXA.js} +1 -1
- package/dist/{chunk-ORNCMRIX.js → chunk-QX33D4CH.js} +25 -31
- package/dist/{chunk-BATQKSLI.js → chunk-R3H3WW7H.js} +2 -2
- package/dist/chunk-R4AROSYI.js +496 -0
- package/dist/{chunk-F2S3M5MB.js → chunk-SFKIZYKK.js} +2 -2
- package/dist/{chunk-IIZITKBV.js → chunk-TCR7NBHD.js} +4 -4
- package/dist/{chunk-7C4FUNVO.js → chunk-TJSTWACD.js} +2 -2
- package/dist/chunk-TX3Q2GIL.js +97 -0
- package/dist/{chunk-2ESB5SDP.js → chunk-TZFOWWPM.js} +1 -1
- package/dist/{chunk-WR75WUEP.js → chunk-UI3K73LD.js} +1 -1
- package/dist/{chunk-DJK45U7B.js → chunk-URHJDUWO.js} +1 -1
- package/dist/{chunk-SP37DONS.js → chunk-V3ISR2QT.js} +1 -1
- package/dist/{chunk-EPNWEOOE.js → chunk-VY3QUSWS.js} +6 -6
- package/dist/{chunk-O2MEBF23.js → chunk-WBKIU6UJ.js} +2 -2
- package/dist/{chunk-TO6TB75E.js → chunk-WCDIDSLR.js} +2 -2
- package/dist/{chunk-EVPBYX2Z.js → chunk-WSLFGJBA.js} +1 -1
- package/dist/{chunk-OPNROU5B.js → chunk-WYVBWDFY.js} +1 -1
- package/dist/{chunk-JYFYIGYK.js → chunk-XA4EU3CW.js} +1 -1
- package/dist/{chunk-ZEKCHV43.js → chunk-XAMLDTRA.js} +4 -4
- package/dist/{chunk-EHHMNKOA.js → chunk-XKFMNAJ7.js} +1 -1
- package/dist/{chunk-5KLQCGI5.js → chunk-XKZD5FGK.js} +55 -0
- package/dist/{chunk-U373MEF5.js → chunk-XSXZVKJ7.js} +3 -3
- package/dist/{chunk-IM2I7OOS.js → chunk-XTEKGO44.js} +1 -1
- package/dist/{chunk-Q7BU5Q6I.js → chunk-XUGOVOID.js} +3 -3
- package/dist/{chunk-BEHLIRRJ.js → chunk-XVRQZCTS.js} +1 -1
- package/dist/{chunk-P47MPWNU.js → chunk-Y4JVM3SI.js} +1 -1
- package/dist/{chunk-NO3M2AFM.js → chunk-Y7OK5PJE.js} +1 -1
- package/dist/{chunk-ANPE3TT3.js → chunk-YA4PM3MV.js} +3 -3
- package/dist/{chunk-EPDNWY5P.js → chunk-YYLVHUYZ.js} +1 -1
- package/dist/{chunk-QYJANQWC.js → chunk-Z5Z3MYUW.js} +2 -2
- package/dist/{chunk-MXEIZUXG.js → chunk-ZSHLY5BS.js} +1 -1
- package/dist/{chunk-AGQAGOQN.js → chunk-ZZ3JQM5I.js} +9 -9
- package/dist/{cleanup-graph-garbage-CAA625RJ.js → cleanup-graph-garbage-XDIX3HLN.js} +7 -7
- package/dist/{cloud-sync-command-DBB7WRHL.js → cloud-sync-command-VPYE4FIH.js} +2 -2
- package/dist/{cloud-sync-db-init-V7IB23W5.js → cloud-sync-db-init-NSDBTFGI.js} +1 -1
- package/dist/{cloud-sync-shutdown-2D3B73CJ.js → cloud-sync-shutdown-6OUYTG4T.js} +2 -2
- package/dist/{co-activation-JVN7EBS6.js → co-activation-EAAKGGZH.js} +2 -2
- package/dist/{co-occurrence-526PTFGT.js → co-occurrence-OFVF55RX.js} +5 -5
- package/dist/codex-consolidation-PPXNBXCV.js +96 -0
- package/dist/{conversation-entity-extractor-JO56DB2E.js → conversation-entity-extractor-ZR5GFKAI.js} +3 -3
- package/dist/{crdt-sync-LIJLZKFE.js → crdt-sync-FGH4SBFW.js} +1 -1
- package/dist/{crm-webhook-55F7Y6D2.js → crm-webhook-PJATR2DC.js} +2 -2
- package/dist/{cto-delegation-gate-QIYV4KFO.js → cto-delegation-gate-PO4LSSQ4.js} +13 -12
- package/dist/{daemon-orchestration-Q3GJA2JJ.js → daemon-orchestration-IJFZFQUX.js} +18 -17
- package/dist/{doc-graph-extractor-P46R4QME.js → doc-graph-extractor-CAYUAM5A.js} +5 -5
- package/dist/{documents-7KFEREWO.js → documents-W2G477QE.js} +6 -6
- package/dist/{dreaming-JMUXBAPU.js → dreaming-FVXSIIWV.js} +17 -16
- package/dist/{employee-boot-brief-HN63D2BY.js → employee-boot-brief-OYMSHFHA.js} +19 -18
- package/dist/{exe-drift-7J7GX7DP.js → exe-drift-67RGJOBX.js} +3 -3
- package/dist/{exe-export-KJ7B2OBU.js → exe-export-SGYX6XZG.js} +7 -7
- package/dist/{exe-import-HPZDWKGE.js → exe-import-UABVA5N3.js} +7 -7
- package/dist/{exe-key-2PREP464.js → exe-key-XNYDCVFE.js} +78 -75
- package/dist/{exe-org-VEIISATF.js → exe-org-XJVSU5HN.js} +8 -8
- package/dist/{exe-snapshot-JXQFLUKA.js → exe-snapshot-YXOGYZUX.js} +18 -17
- package/dist/{fast-db-init-SCXJXOYX.js → fast-db-init-GDFJY5UH.js} +1 -1
- package/dist/{founder-context-U2SZPLYV.js → founder-context-KUXSNXKS.js} +2 -2
- package/dist/gateway/index.js +8 -8
- package/dist/{git-staleness-S4NDR7NX.js → git-staleness-NN6RWNLW.js} +2 -2
- package/dist/{global-procedures-ZOFTOXIR.js → global-procedures-XDNA3TNA.js} +3 -3
- package/dist/{graph-auto-extract-CLVTSUSB.js → graph-auto-extract-KTOR45V4.js} +5 -5
- package/dist/{graph-rag-LSJLWGXV.js → graph-rag-L5NV5YWD.js} +3 -3
- package/dist/{hook-integrity-SGTKBL6W.js → hook-integrity-X3YAVGUW.js} +1 -1
- package/dist/{hook-prefetch-BDSLB6F4.js → hook-prefetch-WE4MIXBM.js} +14 -13
- package/dist/hooks/bug-report-worker.js +18 -17
- package/dist/hooks/codex-stop-task-finalizer.js +19 -18
- package/dist/hooks/commit-complete.js +33 -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 +17 -16
- package/dist/hooks/pre-tool-use.js +68 -23
- package/dist/hooks/prompt-submit.js +30 -29
- package/dist/hooks/session-end.js +113 -99
- package/dist/hooks/session-start.js +16 -16
- package/dist/hooks/stop.js +82 -19
- package/dist/hooks/subagent-stop.js +18 -17
- package/dist/hooks/summary-worker.js +22 -21
- package/dist/index.js +24 -23
- package/dist/{installer-RC2JCKSE.js → installer-EAAYEEEF.js} +6 -6
- package/dist/{installer-KCEM4RCG.js → installer-EPQAOI6M.js} +152 -8
- package/dist/{installer-EA7T3PBD.js → installer-UDRMFY75.js} +6 -6
- package/dist/{intercom-queue-6DZPHHQ2.js → intercom-queue-IBOAVT2I.js} +13 -12
- package/dist/lib/cloud-sync.js +10 -10
- package/dist/lib/consolidation.js +7 -7
- 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/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 +77 -76
- 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 +14 -13
- 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 +15 -14
- package/dist/lib/tmux-routing.js +13 -12
- package/dist/lib/token-spend.js +3 -3
- package/dist/{license-gate-HMSMUIAU.js → license-gate-3TTWJABL.js} +3 -3
- package/dist/{license-sync-FBCMPC4J.js → license-sync-ZC6TPKVV.js} +2 -2
- package/dist/mcp/register-tools.js +77 -74
- package/dist/mcp/server.js +78 -75
- 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 +17 -16
- 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 +17 -16
- package/dist/mcp/tools/send-message.js +16 -15
- package/dist/mcp/tools/update-task.js +16 -15
- package/dist/{mcp-http-config-YKJN52HG.js → mcp-http-config-ROF5EPEF.js} +3 -3
- package/dist/{mcp-session-identity-QLUVYWPR.js → mcp-session-identity-ERU6FEUB.js} +13 -12
- package/dist/{memory-cards-K2OSX4AW.js → memory-cards-3QTXI2SG.js} +5 -5
- package/dist/{memory-graph-extractor-YLTSKLSY.js → memory-graph-extractor-7GAILMYG.js} +6 -6
- package/dist/{memory-poisoning-defense-IPO4ADRL.js → memory-poisoning-defense-TPXSRJTQ.js} +2 -2
- package/dist/{memory-pressure-watchdog-ZI3TH2OF.js → memory-pressure-watchdog-ZSOP6T2F.js} +14 -13
- package/dist/{memory-reflection-ZKVRU3NT.js → memory-reflection-3AI4JBV2.js} +2 -2
- package/dist/{notification-ledger-4REL6M3T.js → notification-ledger-ZU7ZFJJX.js} +16 -14
- package/dist/{notifications-UXJUAP3C.js → notifications-S4GU22GF.js} +13 -12
- package/dist/{orchestration-events-GMRGGBMN.js → orchestration-events-HVG56HJ5.js} +3 -3
- package/dist/{orchestrator-5TV75HDJ.js → orchestrator-UW3Q3WYG.js} +15 -14
- package/dist/{org-brief-session-7AZZEO3F.js → org-brief-session-G36TJBN4.js} +5 -5
- package/dist/{org-consent-policy-XT6UZENB.js → org-consent-policy-RMYVMM3X.js} +1 -1
- package/dist/{org-partner-runtime-WLZAZJIY.js → org-partner-runtime-KXMGEYFW.js} +5 -5
- package/dist/{org-row-visibility-A5XM4MVO.js → org-row-visibility-UI5PGN76.js} +1 -1
- package/dist/{pipeline-router-UEVXDUHR.js → pipeline-router-IODWXDDI.js} +3 -3
- package/dist/{plan-limits-QEP32X4W.js → plan-limits-XMAQVEJZ.js} +5 -5
- package/dist/{projection-worker-GMRC6SBH.js → projection-worker-6LZUCI3B.js} +2 -2
- package/dist/{prospective-memory-QLHSAPSG.js → prospective-memory-G5VK5GCD.js} +2 -2
- package/dist/{push-notifications-GKRPXOGI.js → push-notifications-S2RYRXLF.js} +14 -13
- package/dist/{reranker-GB4VEMUV.js → reranker-EHQTAA3L.js} +1 -1
- package/dist/{retrieval-health-QIBPBGN6.js → retrieval-health-WZ4ICGNF.js} +1 -1
- package/dist/{review-polling-MU47NQ2N.js → review-polling-MAWLRDSP.js} +14 -13
- package/dist/runtime/index.js +18 -17
- package/dist/{session-events-YMQ3VGBJ.js → session-events-BRUIZ5E4.js} +14 -13
- package/dist/{session-kill-telemetry-VGPKE57M.js → session-kill-telemetry-PTZLHT33.js} +14 -13
- package/dist/{session-scope-P46KAHXQ.js → session-scope-G4RVJJGR.js} +13 -12
- package/dist/{setup-wizard-BRNHSJ4U.js → setup-wizard-WFEUB63Z.js} +1 -1
- package/dist/{skill-refinement-NLYDSFEH.js → skill-refinement-2OYPH7WD.js} +3 -3
- package/dist/{stack-promote-NHFTNIM2.js → stack-promote-DLYYQXQI.js} +5 -4
- package/dist/{stack-release-AQVKZUS7.js → stack-release-OPWARLXI.js} +5 -4
- package/dist/{stack-update-LLX5KT7G.js → stack-update-SJ43IEQE.js} +10 -3
- package/dist/{steward-gate-JKHYFAHA.js → steward-gate-V7PBGVFK.js} +3 -3
- package/dist/{subagent-brief-injection-VDVOHDOU.js → subagent-brief-injection-BLCRI2AJ.js} +20 -19
- package/dist/{support-inbox-S6YO5YZU.js → support-inbox-6HOQYFD2.js} +3 -3
- package/dist/{task-enforcement-LXW45H5Z.js → task-enforcement-EF6O2V26.js} +14 -13
- package/dist/{task-request-inbox-UCSKDC3R.js → task-request-inbox-OB2KIJWO.js} +1 -1
- package/dist/{task-scope-GDLFE26E.js → task-scope-74JBTKJN.js} +17 -15
- package/dist/{tasks-crud-W7VGWRUV.js → tasks-crud-ZU6RZDEZ.js} +13 -12
- package/dist/{tasks-notify-CT7NWCS4.js → tasks-notify-767DRYAA.js} +14 -13
- package/dist/{tasks-review-WCSKOUFW.js → tasks-review-4F6PZZ3B.js} +13 -12
- package/dist/{telemetry-upload-FK5WKXVB.js → telemetry-upload-2JM6KIAB.js} +7 -7
- package/dist/{token-budget-GBNGSIU3.js → token-budget-NH2RD4YX.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-CHCBD4OQ.js} +1 -1
- package/dist/tui/App.js +22 -21
- package/dist/{tui-data-FTPV2XBQ.js → tui-data-244GF3BI.js} +13 -12
- package/dist/{update-support-J6UWPUOC.js → update-support-P2LO3DAB.js} +9 -9
- package/dist/work-claims-4QOE7DT2.js +53 -0
- package/dist/{work-state-heartbeat-4LDF6DSM.js → work-state-heartbeat-GX3VWWWK.js} +1 -1
- package/dist/{worker-gate-35VZINZG.js → worker-gate-62PZATOV.js} +1 -1
- package/dist/{workflow-engine-4DA6RSHI.js → workflow-engine-7YIRU62F.js} +2 -2
- package/dist/{worktree-H3YFJ3NU.js → worktree-3TUKIZWY.js} +4 -4
- package/dist/{worktree-sweep-4EDLLQ2E.js → worktree-sweep-MYQHUXDE.js} +5 -5
- package/package.json +6 -2
- package/release-notes.json +68 -62
- package/dist/chunk-2RQT7TED.js +0 -275
- /package/dist/{chunk-7Y6AQWVT.js → chunk-25EN7XXN.js} +0 -0
- /package/dist/{chunk-3THNS2T7.js → chunk-62U63R3E.js} +0 -0
- /package/dist/{chunk-VS4LPG66.js → chunk-65ZSFW3O.js} +0 -0
- /package/dist/{chunk-LKYGSJ2E.js → chunk-BTFDA3UJ.js} +0 -0
- /package/dist/{chunk-JRPYLUXH.js → chunk-DAXFAXLN.js} +0 -0
- /package/dist/{chunk-3NBWARKC.js → chunk-FLP2BQOA.js} +0 -0
- /package/dist/{chunk-CMBF5WCL.js → chunk-GTOMDMJL.js} +0 -0
- /package/dist/{chunk-QYECRPGD.js → chunk-JLYHJJHU.js} +0 -0
- /package/dist/{chunk-MBBFL2SP.js → chunk-JZBZI36P.js} +0 -0
- /package/dist/{chunk-BY7WWPRM.js → chunk-OUIEDJFO.js} +0 -0
- /package/dist/{chunk-7DMCAGSC.js → chunk-WM7Y5ZV2.js} +0 -0
- /package/dist/{chunk-G2EAYH4U.js → chunk-XM7HJ5SS.js} +0 -0
- /package/dist/{chunk-UY6HRDB2.js → chunk-YNPOELAN.js} +0 -0
- /package/dist/{core-memory-CMPPHJN5.js → core-memory-EARETDZ6.js} +0 -0
- /package/dist/{memory-isolation-ZB5S5HCO.js → memory-isolation-XASOGA7G.js} +0 -0
- /package/dist/{oauth-server-NP7KGF7N.js → oauth-server-C3BXAKAW.js} +0 -0
- /package/dist/{project-boot-LEZSK3W7.js → project-boot-LCFBQ6NB.js} +0 -0
- /package/dist/{wiki-acl-5DKOWOIH.js → wiki-acl-XQH4UBP2.js} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
writeContinuityCheckpoint
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-OUIEDJFO.js";
|
|
4
4
|
import {
|
|
5
5
|
clearCacheState
|
|
6
6
|
} from "../chunk-6A7P74QV.js";
|
|
@@ -9,29 +9,30 @@ import "../chunk-SH45SJQW.js";
|
|
|
9
9
|
import {
|
|
10
10
|
clearActiveAgent,
|
|
11
11
|
getActiveAgent
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-QWDZNQXA.js";
|
|
13
13
|
import "../chunk-2ADYTOHQ.js";
|
|
14
14
|
import {
|
|
15
15
|
strictSessionScopeFilter
|
|
16
|
-
} from "../chunk-
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
16
|
+
} from "../chunk-QX33D4CH.js";
|
|
17
|
+
import "../chunk-BTSWFMEH.js";
|
|
18
|
+
import "../chunk-6MCUXRIP.js";
|
|
19
|
+
import "../chunk-7W6FDHHY.js";
|
|
20
|
+
import "../chunk-IIVFXD6P.js";
|
|
20
21
|
import "../chunk-WT4RI36X.js";
|
|
21
|
-
import "../chunk-
|
|
22
|
+
import "../chunk-CX4MVEM3.js";
|
|
22
23
|
import "../chunk-KI5PFRG6.js";
|
|
23
24
|
import "../chunk-EIKATSE4.js";
|
|
24
25
|
import "../chunk-E23LNUWJ.js";
|
|
25
26
|
import "../chunk-QAEWWYHL.js";
|
|
26
|
-
import "../chunk-
|
|
27
|
+
import "../chunk-XKFMNAJ7.js";
|
|
27
28
|
import "../chunk-GBNB4EWD.js";
|
|
28
29
|
import "../chunk-UXLO7VHX.js";
|
|
29
30
|
import "../chunk-DSOQUQTV.js";
|
|
30
|
-
import "../chunk-
|
|
31
|
+
import "../chunk-UI3K73LD.js";
|
|
31
32
|
import "../chunk-AJIXH5JF.js";
|
|
32
33
|
import "../chunk-XTWHNLGD.js";
|
|
33
34
|
import "../chunk-AM7S2TY6.js";
|
|
34
|
-
import "../chunk-
|
|
35
|
+
import "../chunk-N3JLNMPF.js";
|
|
35
36
|
import {
|
|
36
37
|
getSessionKey
|
|
37
38
|
} from "../chunk-CVYC6DUW.js";
|
|
@@ -49,20 +50,20 @@ import "../chunk-GJV3WDWM.js";
|
|
|
49
50
|
import "../chunk-MP2AFCGL.js";
|
|
50
51
|
import {
|
|
51
52
|
canCoordinate
|
|
52
|
-
} from "../chunk-
|
|
53
|
+
} from "../chunk-HSBKV5LB.js";
|
|
53
54
|
import "../chunk-TKDITWDN.js";
|
|
54
55
|
import "../chunk-BBMTVAE3.js";
|
|
55
56
|
import "../chunk-5YEUPUV4.js";
|
|
56
|
-
import "../chunk-
|
|
57
|
+
import "../chunk-Y7OK5PJE.js";
|
|
57
58
|
import "../chunk-YYB5PMTK.js";
|
|
58
59
|
import "../chunk-NJFJWQNN.js";
|
|
59
60
|
import "../chunk-V3W3SATA.js";
|
|
60
61
|
import "../chunk-JY5GAZYC.js";
|
|
61
62
|
import "../chunk-FXU7JOXK.js";
|
|
62
63
|
import "../chunk-WNBZJSQT.js";
|
|
63
|
-
import "../chunk-
|
|
64
|
+
import "../chunk-F3PIHVVY.js";
|
|
64
65
|
import "../chunk-A7XLR3K7.js";
|
|
65
|
-
import "../chunk-
|
|
66
|
+
import "../chunk-65ZSFW3O.js";
|
|
66
67
|
import "../chunk-QILQ5FCG.js";
|
|
67
68
|
import "../chunk-ARX6TAGN.js";
|
|
68
69
|
import "../chunk-QMSEL5YS.js";
|
|
@@ -81,7 +82,7 @@ process.on("unhandledRejection", (err) => {
|
|
|
81
82
|
process.exit(1);
|
|
82
83
|
});
|
|
83
84
|
try {
|
|
84
|
-
const { verifyOrBlock } = await import("../hook-integrity-
|
|
85
|
+
const { verifyOrBlock } = await import("../hook-integrity-X3YAVGUW.js");
|
|
85
86
|
if (!await verifyOrBlock(new URL(import.meta.url).pathname)) process.exit(2);
|
|
86
87
|
} catch (err) {
|
|
87
88
|
const code = err?.code;
|
|
@@ -99,6 +100,8 @@ if (!process.env.AGENT_ID) {
|
|
|
99
100
|
process.env.AGENT_ID = "default";
|
|
100
101
|
process.env.AGENT_ROLE = "employee";
|
|
101
102
|
}
|
|
103
|
+
var CONSOLIDATION_ONLY = process.env.EXE_CONSOLIDATION_MODE === "cadence";
|
|
104
|
+
var LOG_TAG = CONSOLIDATION_ONLY ? "[session-consolidate]" : "[session-end]";
|
|
102
105
|
var timeout = setTimeout(() => {
|
|
103
106
|
process.exit(0);
|
|
104
107
|
}, 15e3);
|
|
@@ -226,92 +229,96 @@ process.stdin.on("end", async () => {
|
|
|
226
229
|
}
|
|
227
230
|
const data = JSON.parse(input);
|
|
228
231
|
const agent = getActiveAgent();
|
|
229
|
-
|
|
230
|
-
const { appendFileSync, mkdirSync } = await import("fs");
|
|
231
|
-
const { join, dirname } = await import("path");
|
|
232
|
-
const { homedir } = await import("os");
|
|
233
|
-
const deathLog = join(homedir(), ".exe-os", "logs", "session-deaths.jsonl");
|
|
234
|
-
mkdirSync(dirname(deathLog), { recursive: true });
|
|
235
|
-
let daemonAlive = false;
|
|
236
|
-
const requestedPort = process.env.EXE_MCP_PORT ?? "";
|
|
237
|
-
const requestedPortNumber = Number(requestedPort);
|
|
238
|
-
const daemonPort = /^\d{1,5}$/.test(requestedPort) && requestedPortNumber > 0 && requestedPortNumber <= 65535 ? String(requestedPortNumber) : "48739";
|
|
239
|
-
const pingController = new AbortController();
|
|
240
|
-
const pingTimeout = setTimeout(() => pingController.abort(), 2e3);
|
|
241
|
-
pingTimeout.unref();
|
|
232
|
+
if (!CONSOLIDATION_ONLY) {
|
|
242
233
|
try {
|
|
243
|
-
const
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
});
|
|
277
|
-
appendFileSync(deathLog, entry + "\n");
|
|
278
|
-
process.stderr.write(`[session-end] EXIT: ${agent.agentId} session=${Math.round((transcript.sessionDurationMs ?? 0) / 1e3)}s hook=${Math.round(hookUptimeMs / 1e3)}s \u2014 reason=${exitReason} daemon=${daemonAlive ? "alive" : "DEAD"}
|
|
279
|
-
`);
|
|
280
|
-
try {
|
|
281
|
-
const { recordOrchestrationEvent } = await import("../orchestration-events-GMRGGBMN.js");
|
|
282
|
-
await recordOrchestrationEvent({
|
|
283
|
-
eventType: "session.exit",
|
|
284
|
-
source: "hooks.session-end",
|
|
285
|
-
agentId: agent.agentId,
|
|
234
|
+
const { appendFileSync, mkdirSync } = await import("fs");
|
|
235
|
+
const { join, dirname } = await import("path");
|
|
236
|
+
const { homedir } = await import("os");
|
|
237
|
+
const deathLog = join(homedir(), ".exe-os", "logs", "session-deaths.jsonl");
|
|
238
|
+
mkdirSync(dirname(deathLog), { recursive: true });
|
|
239
|
+
let daemonAlive = false;
|
|
240
|
+
const requestedPort = process.env.EXE_MCP_PORT ?? "";
|
|
241
|
+
const requestedPortNumber = Number(requestedPort);
|
|
242
|
+
const daemonPort = /^\d{1,5}$/.test(requestedPort) && requestedPortNumber > 0 && requestedPortNumber <= 65535 ? String(requestedPortNumber) : "48739";
|
|
243
|
+
const pingController = new AbortController();
|
|
244
|
+
const pingTimeout = setTimeout(() => pingController.abort(), 2e3);
|
|
245
|
+
pingTimeout.unref();
|
|
246
|
+
try {
|
|
247
|
+
const response = await fetch(`http://127.0.0.1:${daemonPort}/v1/ping`, {
|
|
248
|
+
method: "GET",
|
|
249
|
+
signal: pingController.signal
|
|
250
|
+
});
|
|
251
|
+
daemonAlive = response.ok;
|
|
252
|
+
} catch {
|
|
253
|
+
} finally {
|
|
254
|
+
clearTimeout(pingTimeout);
|
|
255
|
+
}
|
|
256
|
+
const hookUptimeMs = Math.round(process.uptime() * 1e3);
|
|
257
|
+
const transcript = readTranscriptExitForensics(data.transcript_path);
|
|
258
|
+
const exitReason = inferExitReason(daemonAlive, data, transcript);
|
|
259
|
+
const durationMs = transcript.sessionDurationMs ?? hookUptimeMs;
|
|
260
|
+
const entry = JSON.stringify({
|
|
261
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
262
|
+
event: "session_exit",
|
|
263
|
+
agent: agent.agentId,
|
|
264
|
+
role: agent.agentRole,
|
|
265
|
+
session: data.session_id,
|
|
266
|
+
project: resolveProjectName(),
|
|
286
267
|
tmuxSession: process.env.EXE_SESSION ?? process.env.TMUX_PANE ?? "unknown",
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
268
|
+
tty: process.env.TTY ?? process.env.GPG_TTY ?? "unknown",
|
|
269
|
+
hookPid: process.pid,
|
|
270
|
+
hookPpid: process.ppid,
|
|
271
|
+
// Legacy keys retained for downstream readers; these are hook process IDs.
|
|
272
|
+
pid: process.pid,
|
|
273
|
+
ppid: process.ppid,
|
|
274
|
+
hookUptimeMs,
|
|
275
|
+
sessionDurationMs: transcript.sessionDurationMs,
|
|
276
|
+
exitReason,
|
|
277
|
+
daemonAlive,
|
|
278
|
+
memoryRssMB: Math.round(process.memoryUsage.rss() / 1024 / 1024),
|
|
279
|
+
transcript
|
|
299
280
|
});
|
|
281
|
+
appendFileSync(deathLog, entry + "\n");
|
|
282
|
+
process.stderr.write(`[session-end] EXIT: ${agent.agentId} session=${Math.round((transcript.sessionDurationMs ?? 0) / 1e3)}s hook=${Math.round(hookUptimeMs / 1e3)}s \u2014 reason=${exitReason} daemon=${daemonAlive ? "alive" : "DEAD"}
|
|
283
|
+
`);
|
|
284
|
+
try {
|
|
285
|
+
const { recordOrchestrationEvent } = await import("../orchestration-events-HVG56HJ5.js");
|
|
286
|
+
await recordOrchestrationEvent({
|
|
287
|
+
eventType: "session.exit",
|
|
288
|
+
source: "hooks.session-end",
|
|
289
|
+
agentId: agent.agentId,
|
|
290
|
+
tmuxSession: process.env.EXE_SESSION ?? process.env.TMUX_PANE ?? "unknown",
|
|
291
|
+
sessionScope: process.env.EXE_SESSION_NAME?.includes("-") ? process.env.EXE_SESSION_NAME.split("-").pop() : process.env.EXE_SESSION_NAME,
|
|
292
|
+
result: exitReason,
|
|
293
|
+
durationMs,
|
|
294
|
+
payload: {
|
|
295
|
+
daemonAlive,
|
|
296
|
+
hookUptimeMs,
|
|
297
|
+
sessionDurationMs: transcript.sessionDurationMs,
|
|
298
|
+
memoryRssMB: Math.round(process.memoryUsage.rss() / 1024 / 1024),
|
|
299
|
+
lastAssistantStopReason: transcript.lastAssistantStopReason,
|
|
300
|
+
lastSystemSubtype: transcript.lastSystemSubtype,
|
|
301
|
+
queuedPrompt: transcript.queuedPrompt
|
|
302
|
+
}
|
|
303
|
+
});
|
|
304
|
+
} catch {
|
|
305
|
+
}
|
|
300
306
|
} catch {
|
|
301
307
|
}
|
|
302
|
-
} catch {
|
|
303
308
|
}
|
|
304
309
|
if (agent.agentId) {
|
|
305
310
|
try {
|
|
306
|
-
const { fastDbInit } = await import("../fast-db-init-
|
|
311
|
+
const { fastDbInit } = await import("../fast-db-init-GDFJY5UH.js");
|
|
307
312
|
const client = await fastDbInit({ caller: "hook" });
|
|
308
313
|
const seScope = strictSessionScopeFilter();
|
|
309
314
|
const orphanResult = await client.execute({
|
|
310
315
|
sql: `SELECT title, status FROM tasks WHERE assigned_to = ? AND status IN ('open', 'in_progress')${seScope.sql}`,
|
|
311
316
|
args: [agent.agentId, ...seScope.args]
|
|
312
317
|
});
|
|
313
|
-
const
|
|
314
|
-
|
|
318
|
+
const openTaskList = orphanResult.rows.map((r) => `"${String(r.title)}" (${String(r.status)})`).join(", ");
|
|
319
|
+
const orphanInfo = orphanResult.rows.length > 0 ? CONSOLIDATION_ONLY ? `
|
|
320
|
+
Still open at checkpoint: ${openTaskList}` : `
|
|
321
|
+
Orphaned tasks at session end: ${openTaskList}` : "";
|
|
315
322
|
let conversationSummary = "";
|
|
316
323
|
try {
|
|
317
324
|
if (data.transcript_path) {
|
|
@@ -365,14 +372,19 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
|
|
|
365
372
|
args: [agent.agentId, ...seScope.args]
|
|
366
373
|
});
|
|
367
374
|
const extraSections = [];
|
|
368
|
-
if (orphanInfo)
|
|
375
|
+
if (orphanInfo) {
|
|
376
|
+
extraSections.push(
|
|
377
|
+
`## ${CONSOLIDATION_ONLY ? "Open Tasks At Checkpoint" : "Session-End Warnings"}${orphanInfo}`
|
|
378
|
+
);
|
|
379
|
+
}
|
|
369
380
|
if (conversationSummary) extraSections.push(conversationSummary);
|
|
370
381
|
await writeContinuityCheckpoint({
|
|
371
382
|
agentId: agent.agentId,
|
|
372
383
|
agentRole: agent.agentRole,
|
|
373
384
|
sessionId: data.session_id,
|
|
374
385
|
projectName,
|
|
375
|
-
|
|
386
|
+
// Cadence runs are mid-session snapshots, not the final commit.
|
|
387
|
+
reason: CONSOLIDATION_ONLY ? "periodic" : "session-end",
|
|
376
388
|
memories: recent.rows,
|
|
377
389
|
tasks: taskRows.rows,
|
|
378
390
|
maxSamples: 12,
|
|
@@ -385,7 +397,7 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
|
|
|
385
397
|
raw_text: conversationSummary.slice(0, 8e3),
|
|
386
398
|
agent_id: agent.agentId,
|
|
387
399
|
agent_role: agent.agentRole,
|
|
388
|
-
tool_name: "SessionEnd",
|
|
400
|
+
tool_name: CONSOLIDATION_ONLY ? "SessionConsolidate" : "SessionEnd",
|
|
389
401
|
project_name: projectName,
|
|
390
402
|
session_id: data.session_id,
|
|
391
403
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -396,12 +408,12 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
|
|
|
396
408
|
}
|
|
397
409
|
}
|
|
398
410
|
try {
|
|
399
|
-
const { clearSessionFileReads } = await import("../git-staleness-
|
|
411
|
+
const { clearSessionFileReads } = await import("../git-staleness-NN6RWNLW.js");
|
|
400
412
|
await clearSessionFileReads(data.session_id);
|
|
401
413
|
} catch {
|
|
402
414
|
}
|
|
403
415
|
try {
|
|
404
|
-
const { DreamingEngine } = await import("../dreaming-
|
|
416
|
+
const { DreamingEngine } = await import("../dreaming-FVXSIIWV.js");
|
|
405
417
|
const engine = new DreamingEngine();
|
|
406
418
|
const dreamResult = await engine.runDreamCycle(agent.agentId);
|
|
407
419
|
let promoted = 0;
|
|
@@ -434,7 +446,7 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
|
|
|
434
446
|
}
|
|
435
447
|
const driftLabel = dreamResult.drift.score > 0.8 ? "critical" : dreamResult.drift.score > 0.5 ? "warning" : "healthy";
|
|
436
448
|
process.stderr.write(
|
|
437
|
-
|
|
449
|
+
`${LOG_TAG} Dream cycle: ${dreamResult.patterns.length} patterns, ${promoted} behaviors promoted, drift=${dreamResult.drift.score.toFixed(2)} (${driftLabel})
|
|
438
450
|
`
|
|
439
451
|
);
|
|
440
452
|
} catch {
|
|
@@ -446,13 +458,13 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
|
|
|
446
458
|
const avgAttempts = summaries.reduce((a, s) => a + s.totalAttempts, 0) / summaries.length;
|
|
447
459
|
const totalWastedMs = summaries.reduce((a, s) => a + s.wastedDurationMs, 0);
|
|
448
460
|
process.stderr.write(
|
|
449
|
-
|
|
461
|
+
`${LOG_TAG} Investigations: ${summaries.length} bugs tracked, avg ${avgAttempts.toFixed(1)} attempts per bug, ${Math.round(totalWastedMs / 1e3)}s wasted on failed attempts
|
|
450
462
|
`
|
|
451
463
|
);
|
|
452
464
|
}
|
|
453
465
|
} catch {
|
|
454
466
|
}
|
|
455
|
-
if (!canCoordinate(agent.agentId, agent.agentRole)) {
|
|
467
|
+
if (!CONSOLIDATION_ONLY && !canCoordinate(agent.agentId, agent.agentRole)) {
|
|
456
468
|
const inProgress = orphanResult.rows.filter((r) => String(r.status) === "in_progress");
|
|
457
469
|
if (inProgress.length > 0) {
|
|
458
470
|
const titles = inProgress.map((r) => `"${String(r.title)}"`).join(", ");
|
|
@@ -477,7 +489,7 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
|
|
|
477
489
|
parts.push(`Left in_progress (no matching commits, needs triage): ${leftInProgress.join(", ")}`);
|
|
478
490
|
}
|
|
479
491
|
try {
|
|
480
|
-
const { writeNotification } = await import("../notifications-
|
|
492
|
+
const { writeNotification } = await import("../notifications-S4GU22GF.js");
|
|
481
493
|
await writeNotification({
|
|
482
494
|
agentId: agent.agentId,
|
|
483
495
|
agentRole: agent.agentRole,
|
|
@@ -514,7 +526,7 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
|
|
|
514
526
|
} catch {
|
|
515
527
|
}
|
|
516
528
|
}
|
|
517
|
-
if (agent.agentId !== "default") {
|
|
529
|
+
if (!CONSOLIDATION_ONLY && agent.agentId !== "default") {
|
|
518
530
|
try {
|
|
519
531
|
const { clearCanaryToken } = await import("../browser-sanitizer-Q3GWRYKI.js");
|
|
520
532
|
clearCanaryToken(agent.agentId);
|
|
@@ -528,8 +540,10 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
|
|
|
528
540
|
} catch {
|
|
529
541
|
}
|
|
530
542
|
}
|
|
531
|
-
|
|
532
|
-
|
|
543
|
+
if (!CONSOLIDATION_ONLY) {
|
|
544
|
+
clearActiveAgent();
|
|
545
|
+
clearCacheState(getSessionKey());
|
|
546
|
+
}
|
|
533
547
|
} catch (err) {
|
|
534
548
|
console.error(
|
|
535
549
|
"[exe-os:hook:session-end] main:",
|
|
@@ -20,7 +20,7 @@ process.on("unhandledRejection", (err) => {
|
|
|
20
20
|
process.exit(1);
|
|
21
21
|
});
|
|
22
22
|
try {
|
|
23
|
-
const { verifyOrBlock } = await import("../hook-integrity-
|
|
23
|
+
const { verifyOrBlock } = await import("../hook-integrity-X3YAVGUW.js");
|
|
24
24
|
if (!await verifyOrBlock(new URL(import.meta.url).pathname)) process.exit(2);
|
|
25
25
|
} catch (err) {
|
|
26
26
|
const code = err?.code;
|
|
@@ -56,9 +56,9 @@ process.stdin.on("data", (chunk) => {
|
|
|
56
56
|
process.stdin.on("end", async () => {
|
|
57
57
|
let failed = false;
|
|
58
58
|
try {
|
|
59
|
-
const { getActiveAgent } = await import("../active-agent-
|
|
59
|
+
const { getActiveAgent } = await import("../active-agent-V3CUDNED.js");
|
|
60
60
|
const { getProjectName } = await import("../project-name-ILJTETUE.js");
|
|
61
|
-
const { getCurrentSessionScope } = await import("../task-scope-
|
|
61
|
+
const { getCurrentSessionScope } = await import("../task-scope-74JBTKJN.js");
|
|
62
62
|
const { canCoordinate } = await import("../lib/employees.js");
|
|
63
63
|
const data = JSON.parse(input);
|
|
64
64
|
const projectName = getProjectName(data.cwd || void 0);
|
|
@@ -90,7 +90,7 @@ process.stdin.on("end", async () => {
|
|
|
90
90
|
if (daemonDegraded) {
|
|
91
91
|
process.stderr.write("[session-start] WARNING: daemon/DB unavailable after retries \u2014 booting in degraded mode (no memory context)\n");
|
|
92
92
|
try {
|
|
93
|
-
const { recordOrchestrationEvent } = await import("../orchestration-events-
|
|
93
|
+
const { recordOrchestrationEvent } = await import("../orchestration-events-HVG56HJ5.js");
|
|
94
94
|
void recordOrchestrationEvent({
|
|
95
95
|
eventType: "mcp.unreachable",
|
|
96
96
|
source: "session-start.hook",
|
|
@@ -114,12 +114,12 @@ process.stdin.on("end", async () => {
|
|
|
114
114
|
}
|
|
115
115
|
if (!daemonDegraded) {
|
|
116
116
|
try {
|
|
117
|
-
const { fastDbInit } = await import("../fast-db-init-
|
|
117
|
+
const { fastDbInit } = await import("../fast-db-init-GDFJY5UH.js");
|
|
118
118
|
await fastDbInit({ caller: "hook" });
|
|
119
119
|
} catch {
|
|
120
120
|
try {
|
|
121
121
|
await new Promise((resolve) => setTimeout(resolve, 750));
|
|
122
|
-
const { fastDbInit } = await import("../fast-db-init-
|
|
122
|
+
const { fastDbInit } = await import("../fast-db-init-GDFJY5UH.js");
|
|
123
123
|
await fastDbInit({ caller: "hook" });
|
|
124
124
|
} catch {
|
|
125
125
|
daemonDegraded = true;
|
|
@@ -177,7 +177,7 @@ process.stdin.on("end", async () => {
|
|
|
177
177
|
`
|
|
178
178
|
);
|
|
179
179
|
try {
|
|
180
|
-
const { recordOrchestrationEvent } = await import("../orchestration-events-
|
|
180
|
+
const { recordOrchestrationEvent } = await import("../orchestration-events-HVG56HJ5.js");
|
|
181
181
|
void recordOrchestrationEvent({
|
|
182
182
|
eventType: "session.identity_rebind_refused",
|
|
183
183
|
source: "session-start.hook",
|
|
@@ -207,7 +207,7 @@ process.stdin.on("end", async () => {
|
|
|
207
207
|
});
|
|
208
208
|
}
|
|
209
209
|
try {
|
|
210
|
-
const { recordOrchestrationEvent } = await import("../orchestration-events-
|
|
210
|
+
const { recordOrchestrationEvent } = await import("../orchestration-events-HVG56HJ5.js");
|
|
211
211
|
void recordOrchestrationEvent({
|
|
212
212
|
eventType: "session.born",
|
|
213
213
|
source: "session-start.hook",
|
|
@@ -224,7 +224,7 @@ process.stdin.on("end", async () => {
|
|
|
224
224
|
if (daemonDegraded) {
|
|
225
225
|
let degradedContext = "## \u26A0\uFE0F Degraded Boot\nThe daemon/MCP was unreachable **at boot time** (checked at " + (/* @__PURE__ */ new Date()).toISOString() + "). This is a point-in-time snapshot \u2014 the MCP server typically finishes connecting a few seconds later, so by the time you read this it is probably already live.\n\n**Before telling the user MCP is down or asking them to run `/mcp`, ALWAYS verify the current state by calling `mcp_ping` (or any exe-os MCP tool) first.** Only advise reconnecting if that call actually fails. This session simply started without memory context; if MCP tools fail later, retry once before reporting an issue.\n";
|
|
226
226
|
try {
|
|
227
|
-
const { getActiveAgent: getAgent } = await import("../active-agent-
|
|
227
|
+
const { getActiveAgent: getAgent } = await import("../active-agent-V3CUDNED.js");
|
|
228
228
|
const ag = getAgent();
|
|
229
229
|
if (ag.agentId !== "default") {
|
|
230
230
|
degradedContext = `## Your Identity
|
|
@@ -246,7 +246,7 @@ You are **${ag.agentId}**. The daemon was degraded at boot \u2014 memory context
|
|
|
246
246
|
if (source === "resume") {
|
|
247
247
|
header = "## Resuming Session\nHere's where you left off:";
|
|
248
248
|
try {
|
|
249
|
-
const { buildCatchupBrief } = await import("../catchup-brief-
|
|
249
|
+
const { buildCatchupBrief } = await import("../catchup-brief-3BEOL7EV.js");
|
|
250
250
|
const brief = await buildCatchupBrief(
|
|
251
251
|
agentId,
|
|
252
252
|
projectName,
|
|
@@ -261,14 +261,14 @@ You are **${ag.agentId}**. The daemon was degraded at boot \u2014 memory context
|
|
|
261
261
|
header = "## Memory Brief\nRecent memories from this project:";
|
|
262
262
|
}
|
|
263
263
|
try {
|
|
264
|
-
const { detectStaleFiles, formatStaleFileWarning } = await import("../git-staleness-
|
|
264
|
+
const { detectStaleFiles, formatStaleFileWarning } = await import("../git-staleness-NN6RWNLW.js");
|
|
265
265
|
const staleFiles = await detectStaleFiles(agentId, data.cwd || process.cwd());
|
|
266
266
|
const warning = formatStaleFileWarning(staleFiles);
|
|
267
267
|
if (warning) extraContext += `${extraContext.length > 0 ? "\n\n" : ""}${warning}`;
|
|
268
268
|
} catch {
|
|
269
269
|
}
|
|
270
|
-
const { queryTaskRows } = await import("../tasks-crud-
|
|
271
|
-
const { buildReviewSections } = await import("../boot-review-sections-
|
|
270
|
+
const { queryTaskRows } = await import("../tasks-crud-ZU6RZDEZ.js");
|
|
271
|
+
const { buildReviewSections } = await import("../boot-review-sections-7CNQTAYR.js");
|
|
272
272
|
const [taskResult, reviewSections] = await Promise.all([
|
|
273
273
|
sessionScope ? queryTaskRows({
|
|
274
274
|
assignedTo: agentId,
|
|
@@ -315,7 +315,7 @@ flow, so bug fixes are fast.`;
|
|
|
315
315
|
`;
|
|
316
316
|
if (agentId !== "default" && !daemonDegraded) {
|
|
317
317
|
try {
|
|
318
|
-
const { buildEmployeeBootBrief } = await import("../employee-boot-brief-
|
|
318
|
+
const { buildEmployeeBootBrief } = await import("../employee-boot-brief-OYMSHFHA.js");
|
|
319
319
|
const memoryBrief = await buildEmployeeBootBrief({
|
|
320
320
|
agentId,
|
|
321
321
|
cwd: data.cwd || process.cwd(),
|
|
@@ -338,7 +338,7 @@ flow, so bug fixes are fast.`;
|
|
|
338
338
|
`;
|
|
339
339
|
if (agentId !== "default" && !daemonDegraded) {
|
|
340
340
|
try {
|
|
341
|
-
const { readLatestCheckpoint } = await import("../tasks-crud-
|
|
341
|
+
const { readLatestCheckpoint } = await import("../tasks-crud-ZU6RZDEZ.js");
|
|
342
342
|
const checkpoint = await readLatestCheckpoint(agentId, {
|
|
343
343
|
sessionScope: sessionScope ?? null,
|
|
344
344
|
callerSession: process.env.EXE_SESSION_NAME ?? null,
|
|
@@ -425,7 +425,7 @@ ${phase.label}. Focus: ${phase.focus}. This is guidance, not a blocker; the user
|
|
|
425
425
|
}
|
|
426
426
|
if (source !== "resume" && agentId !== "default") {
|
|
427
427
|
try {
|
|
428
|
-
const { getPendingProspective, markSurfaced } = await import("../prospective-memory-
|
|
428
|
+
const { getPendingProspective, markSurfaced } = await import("../prospective-memory-G5VK5GCD.js");
|
|
429
429
|
const due = await getPendingProspective(agentId, { projectName, limit: 5 });
|
|
430
430
|
if (due.length > 0) {
|
|
431
431
|
const now = Date.now();
|