@askexenow/exe-os 0.9.364 → 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/deploy/compose/.env.customer.example +36 -1
- package/deploy/compose/.env.example +39 -1
- package/deploy/compose/docker-compose.yml +131 -19
- package/deploy/compose/generate-env.ts +65 -1
- package/deploy/stack-manifests/v0.9.json +117 -2
- package/dist/.dist-verified.json +3 -3
- package/dist/{active-agent-WL3VEPS3.js → active-agent-R6Q7UEUD.js} +6 -6
- package/dist/{active-agent-MVEEEKUD.js → active-agent-V3CUDNED.js} +6 -6
- package/dist/{agent-defs-generator-MLQ4ULA2.js → agent-defs-generator-MLPRGY75.js} +5 -5
- package/dist/agent-heartbeat-CQPGJIFF.js +13 -0
- package/dist/{agent-loop-E7RZCFDB.js → agent-loop-FOK2IRZQ.js} +1 -1
- package/dist/{agentic-ontology-X3JMWNAM.js → agentic-ontology-5FMQWGDZ.js} +1 -1
- package/dist/{artifact-backup-6VQ2332X.js → artifact-backup-767STHSW.js} +1 -1
- package/dist/{backfill-gate-BWFX6B55.js → backfill-gate-VX2RZTQV.js} +2 -2
- package/dist/{backfill-metadata-FFDTWSGA.js → backfill-metadata-YXUMCKRV.js} +7 -7
- package/dist/{background-jobs-EB4BPQMT.js → background-jobs-LTPWCMA3.js} +2 -2
- package/dist/{backup-verify-BZQ5RI5I.js → backup-verify-GYHKAX7K.js} +3 -3
- package/dist/{behavior-injection-U7FGR6VM.js → behavior-injection-7VGYY2KO.js} +13 -12
- package/dist/{behaviors-NLOMQW34.js → behaviors-O6HKTSOF.js} +12 -11
- package/dist/bin/age-ontology-load.js +2 -2
- package/dist/bin/agentic-ontology-backfill.js +9 -9
- package/dist/bin/agentic-reflection-backfill.js +10 -10
- package/dist/bin/agentic-semantic-label.js +9 -9
- package/dist/bin/backfill-conversations.js +10 -9
- package/dist/bin/backfill-responses.js +10 -9
- package/dist/bin/backfill-vectors.js +14 -13
- package/dist/bin/bulk-sync-postgres.js +19 -18
- package/dist/bin/cc-doctor.js +11 -9
- package/dist/bin/cleanup-stale-review-tasks.js +23 -21
- package/dist/bin/cli.js +25 -25
- package/dist/bin/deferred-daemon-restart.js +105 -100
- package/dist/bin/exe-agent-config.js +5 -5
- package/dist/bin/exe-agent.js +258 -20
- package/dist/bin/exe-assign.js +12 -11
- package/dist/bin/exe-boot.js +49 -46
- package/dist/bin/exe-call.js +7 -7
- package/dist/bin/exe-cloud.js +21 -20
- package/dist/bin/exe-config-dump.js +5 -5
- package/dist/bin/exe-dispatch.js +24 -22
- package/dist/bin/exe-doctor.js +10 -9
- package/dist/bin/exe-export-behaviors.js +14 -13
- package/dist/bin/exe-forget.js +9 -9
- package/dist/bin/exe-gateway.js +9 -9
- package/dist/bin/exe-grant.js +5 -5
- package/dist/bin/exe-healthcheck.js +11 -9
- package/dist/bin/exe-heartbeat.js +29 -27
- package/dist/bin/exe-kill.js +27 -25
- package/dist/bin/exe-launch-agent.js +35 -33
- package/dist/bin/exe-mcp.js +5 -5
- package/dist/bin/exe-memory-reads.js +7 -7
- package/dist/bin/exe-new-employee.js +11 -11
- package/dist/bin/exe-os-mcp-proxy.js +5 -5
- package/dist/bin/exe-pending-messages.js +24 -22
- package/dist/bin/exe-pending-notifications.js +23 -21
- package/dist/bin/exe-pending-reviews.js +24 -22
- package/dist/bin/exe-rename.js +7 -7
- package/dist/bin/exe-review.js +26 -24
- package/dist/bin/exe-search.js +8 -8
- package/dist/bin/exe-session-cleanup.js +28 -26
- package/dist/bin/exe-settings.js +20 -19
- package/dist/bin/exe-start-codex.js +28 -19
- package/dist/bin/exe-start-opencode.js +15 -14
- package/dist/bin/exe-status.js +25 -23
- package/dist/bin/exe-support.js +4 -4
- package/dist/bin/exe-team.js +6 -6
- package/dist/bin/exe-watchdog.js +16 -6
- package/dist/bin/git-sweep.js +32 -22
- package/dist/bin/graph-backfill.js +9 -9
- package/dist/bin/graph-export.js +8 -8
- package/dist/bin/import-history.js +12 -12
- package/dist/bin/install.js +107 -102
- package/dist/bin/intercom-check.js +5 -5
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +6 -6
- package/dist/bin/postgres-agentic-reflection-backfill.js +4 -4
- package/dist/bin/postgres-agentic-semantic-backfill.js +3 -3
- package/dist/bin/pre-publish.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 +23 -21
- package/dist/bin/setup.js +3 -3
- package/dist/bin/shard-migrate.js +8 -8
- package/dist/bin/stack-update.js +115 -40
- package/dist/bin/verify-stack.js +6 -1
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/{boot-generation-LGWKWMCF.js → boot-generation-EZ2Y74IG.js} +5 -5
- package/dist/{boot-review-sections-IXBD7UGL.js → boot-review-sections-7CNQTAYR.js} +22 -20
- package/dist/{branch-hygiene-UYHJ5SC5.js → branch-hygiene-HFJ3HA62.js} +1 -1
- package/dist/{branding-J2MTHQUP.js → branding-GH43W3PU.js} +2 -2
- package/dist/build-manifest.json +1072 -1032
- package/dist/{capability-cards-3OGBIJRM.js → capability-cards-ZTFMK4VJ.js} +4 -4
- package/dist/{capacity-monitor-6VDEATYE.js → capacity-monitor-B2XU4YHP.js} +24 -22
- package/dist/{catchup-brief-XYX5SOC6.js → catchup-brief-3BEOL7EV.js} +27 -25
- package/dist/{chunk-H5G2VUIX.js → chunk-25EN7XXN.js} +6 -6
- package/dist/{chunk-SCGQOY5F.js → chunk-267QB6VB.js} +1 -1
- package/dist/{chunk-UXX2JSZO.js → chunk-2ADYTOHQ.js} +20 -1
- package/dist/{chunk-7ZBIZFC3.js → chunk-2CWS374F.js} +1 -1
- package/dist/{chunk-QY6B23U2.js → chunk-2IZH6W73.js} +3 -3
- package/dist/{chunk-OJ56HXDB.js → chunk-3CIMDFXG.js} +1 -1
- package/dist/{chunk-B5T43JSQ.js → chunk-4DJDC4Y2.js} +13 -13
- package/dist/{chunk-6BDSDDKT.js → chunk-4WOOCTON.js} +3 -3
- package/dist/{chunk-P7JLMFKX.js → chunk-52CFP2AV.js} +1 -1
- package/dist/{chunk-Y2DUIE6X.js → chunk-53LCVVX5.js} +2 -2
- package/dist/{chunk-CAV64C4J.js → chunk-5CH6XKVC.js} +2 -2
- package/dist/{chunk-6WBEFNO4.js → chunk-65ZSFW3O.js} +1 -1
- package/dist/{chunk-AU7AVWTM.js → chunk-66BFQOWR.js} +4 -4
- package/dist/{chunk-HJQILEBL.js → chunk-6MCUXRIP.js} +1 -1
- package/dist/{chunk-RKUGAHPO.js → chunk-6NJURKRG.js} +1 -1
- package/dist/{chunk-XE23TMKN.js → chunk-7W5LCREK.js} +82 -14
- package/dist/{chunk-U4KDN5B7.js → chunk-7W6FDHHY.js} +1 -1
- package/dist/{chunk-E6ORBQHP.js → chunk-AAMGHW5W.js} +1 -0
- package/dist/{chunk-ZT5PSVWW.js → chunk-AE3PYLLS.js} +11 -11
- package/dist/{chunk-G4XMAGTW.js → chunk-AEVE654G.js} +2 -2
- package/dist/{chunk-JCVDT3DG.js → chunk-ALKYXAMB.js} +5 -5
- package/dist/{chunk-74H5NWLY.js → chunk-ALYI3P5D.js} +2 -2
- package/dist/{chunk-FXPWMPU2.js → chunk-BNHAZ65R.js} +42 -50
- package/dist/{chunk-UCSD67VW.js → chunk-BQYQES2Z.js} +14 -14
- package/dist/{chunk-7WVR5UQF.js → chunk-BTMX2D4X.js} +12 -12
- package/dist/chunk-BTSWFMEH.js +14 -0
- package/dist/{chunk-W33NLSKN.js → chunk-BY3V5CLX.js} +6 -5
- package/dist/{chunk-Z75FBAP2.js → chunk-CDUB5Q6J.js} +1 -1
- package/dist/{chunk-W3Q53NBI.js → chunk-CKKLSY7B.js} +299 -26
- package/dist/{chunk-NQKZKOYF.js → chunk-CTPG4KYZ.js} +1 -1
- package/dist/{chunk-VFYF7EMB.js → chunk-CW2UCKHS.js} +2 -2
- package/dist/{chunk-RSDCOZVM.js → chunk-CWBFOAGM.js} +2 -2
- package/dist/{chunk-HJVXKDEK.js → chunk-CX4MVEM3.js} +1 -1
- package/dist/{chunk-X24VCGZA.js → chunk-CYNL3ZFD.js} +3 -3
- package/dist/{chunk-YNR3DSAF.js → chunk-DTTISDTI.js} +2 -2
- package/dist/{chunk-6NGFGT23.js → chunk-DXCTHNEF.js} +57 -25
- package/dist/{chunk-MM45YT2B.js → chunk-E5HAY3DQ.js} +1 -1
- package/dist/{chunk-KSVLBATT.js → chunk-E5QQZDQN.js} +53 -0
- package/dist/{chunk-TLBAZU3V.js → chunk-EDZ5URGR.js} +1 -1
- package/dist/{chunk-J2OTTJWG.js → chunk-F3PIHVVY.js} +2 -2
- package/dist/{chunk-4DJCHH5R.js → chunk-FSIAGX55.js} +1 -1
- package/dist/{chunk-HEFM2DBN.js → chunk-GTOMDMJL.js} +21 -27
- package/dist/{chunk-6G6JGJD3.js → chunk-GUOMZ3JM.js} +2 -2
- package/dist/{chunk-G6EUAI67.js → chunk-H37FSTF2.js} +1 -1
- package/dist/{chunk-IR2MLURD.js → chunk-H74466TM.js} +1 -1
- package/dist/{chunk-ZACPAM2C.js → chunk-HHGOCBVQ.js} +4 -4
- package/dist/{chunk-KAF66DIP.js → chunk-HSBKV5LB.js} +43 -12
- package/dist/{chunk-2HRAVECR.js → chunk-IIVFXD6P.js} +1 -1
- package/dist/{chunk-JLG3GAQS.js → chunk-J5EYOBFF.js} +1 -1
- package/dist/{chunk-M4REI3JS.js → chunk-J6VQ7HYV.js} +5 -5
- package/dist/{chunk-YWFFAM2S.js → chunk-JFOZHVNO.js} +1 -1
- package/dist/{chunk-P5OPYQZE.js → chunk-JJRZE2LD.js} +2 -2
- package/dist/{chunk-DSQCXCPS.js → chunk-JOKKIFRN.js} +3 -3
- package/dist/{chunk-X73CND7J.js → chunk-JTB5V6BV.js} +1 -1
- package/dist/{chunk-JWLZQSHW.js → chunk-K2OFS57E.js} +2 -2
- package/dist/{chunk-4LYIZD3H.js → chunk-KDD26FUY.js} +1 -1
- package/dist/{chunk-L3TB7CC3.js → chunk-KM6XSFHP.js} +12 -2
- package/dist/{chunk-OFQBR26Y.js → chunk-KOYGRP2L.js} +3 -3
- package/dist/{chunk-BIMCKCGZ.js → chunk-LIZ3QQGK.js} +1 -1
- package/dist/chunk-LNOS24GV.js +214 -0
- package/dist/{chunk-6LNT6NCB.js → chunk-LW5WRSDD.js} +2 -2
- package/dist/{chunk-4KFTA7U7.js → chunk-MLPPG2OG.js} +2 -2
- package/dist/{chunk-M2IZ3TQT.js → chunk-MQ3N4KZY.js} +1 -1
- package/dist/{chunk-34XAUB2R.js → chunk-N3JLNMPF.js} +3 -3
- package/dist/{chunk-BRZR76TS.js → chunk-NJFJWQNN.js} +49 -14
- package/dist/{chunk-Y4JCCHHJ.js → chunk-NPND34FS.js} +4 -4
- package/dist/{chunk-TPXBX2LD.js → chunk-O3F5P6Z5.js} +2 -2
- package/dist/{chunk-FLK5IS6R.js → chunk-OADOH45L.js} +3 -3
- package/dist/{chunk-6ML32VHG.js → chunk-OISZ2I4X.js} +5 -5
- package/dist/{chunk-XI2BLVH6.js → chunk-OPS7KUFV.js} +3 -3
- package/dist/{chunk-GVZI4MK2.js → chunk-OUIEDJFO.js} +1 -1
- package/dist/{chunk-CA7JP44I.js → chunk-P5XER5QY.js} +3 -3
- package/dist/{chunk-5M6LXPR4.js → chunk-P5XTVIEC.js} +3 -3
- package/dist/{chunk-6TF4ZOXP.js → chunk-P76VYS6V.js} +207 -60
- package/dist/{chunk-XOFIXD5U.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-VVXXMY6I.js → chunk-PQ6NRLKL.js} +1 -1
- package/dist/{chunk-J2W3XZHV.js → chunk-PR3AHVFW.js} +5 -5
- package/dist/{chunk-3NETEIM6.js → chunk-PS4NA7PM.js} +1458 -968
- package/dist/{chunk-E5TFF3M7.js → chunk-PS6VPW64.js} +1 -1
- package/dist/{chunk-OZIDGXKH.js → chunk-PVEM537A.js} +2 -2
- package/dist/{chunk-PX2OHZKN.js → chunk-PWCZFIQH.js} +4 -4
- package/dist/{chunk-EKOWJXHN.js → chunk-QMSEL5YS.js} +77 -23
- package/dist/{chunk-Z6VZ62MY.js → chunk-QS6HI4B6.js} +34 -11
- package/dist/{chunk-GETICKB4.js → chunk-QWDZNQXA.js} +3 -3
- package/dist/{chunk-ZVZEYHWY.js → chunk-QX33D4CH.js} +32 -38
- package/dist/{chunk-TOLJH6XP.js → chunk-R3H3WW7H.js} +2 -2
- package/dist/chunk-R4AROSYI.js +496 -0
- package/dist/{chunk-CE323JHD.js → chunk-RIECV7SR.js} +1 -1
- package/dist/{chunk-IANRPLHA.js → chunk-RLDMUSRM.js} +2 -2
- package/dist/{chunk-LYXICKAH.js → chunk-SBJV2PCU.js} +1 -1
- package/dist/{chunk-U6E3CLKI.js → chunk-SFKIZYKK.js} +3 -3
- package/dist/{chunk-7JR2IRBY.js → chunk-TCR7NBHD.js} +6 -6
- package/dist/{chunk-DVPBCGC2.js → chunk-TJSTWACD.js} +2 -2
- package/dist/chunk-TX3Q2GIL.js +97 -0
- package/dist/{chunk-V3K6FLAS.js → chunk-TZFOWWPM.js} +1 -1
- package/dist/{chunk-4FNUBXYO.js → chunk-UI3K73LD.js} +1 -1
- package/dist/{chunk-5WADTD5Y.js → chunk-URHJDUWO.js} +1 -1
- package/dist/{chunk-K2HYCBAG.js → chunk-V3ISR2QT.js} +17 -6
- package/dist/{chunk-UPCXDJ2S.js → chunk-VMJ2UH4S.js} +1 -1
- package/dist/{chunk-JQTM2UFN.js → chunk-VV5EZZNT.js} +1 -1
- package/dist/{chunk-AA6AD7OM.js → chunk-VY3QUSWS.js} +10 -10
- package/dist/{chunk-OPU3NYOO.js → chunk-W2IRQJ6R.js} +12 -0
- package/dist/{chunk-5G46JZTE.js → chunk-WBKIU6UJ.js} +3 -3
- package/dist/{chunk-EUEESRS6.js → chunk-WCDIDSLR.js} +3 -3
- package/dist/{chunk-43PHKRHR.js → chunk-WSLFGJBA.js} +2 -2
- package/dist/{chunk-DNRLIHUO.js → chunk-WYVBWDFY.js} +1 -1
- package/dist/{chunk-BU36IRW2.js → chunk-X2P43TB2.js} +1 -1
- package/dist/{chunk-UIUO3N5Y.js → chunk-XA4EU3CW.js} +2 -2
- package/dist/{chunk-AIVK4A5Y.js → chunk-XAMLDTRA.js} +4 -4
- package/dist/{chunk-ZSQNPN2W.js → chunk-XKFMNAJ7.js} +1 -1
- package/dist/{chunk-5KLQCGI5.js → chunk-XKZD5FGK.js} +55 -0
- package/dist/{chunk-AYMOVFBG.js → chunk-XM7HJ5SS.js} +1 -1
- package/dist/{chunk-HKQH4R5X.js → chunk-XSXZVKJ7.js} +6 -6
- package/dist/{chunk-J4VETNHT.js → chunk-XTEKGO44.js} +1 -1
- package/dist/{chunk-2ROXEOGE.js → chunk-XTWHNLGD.js} +1 -1
- package/dist/{chunk-MR56CIB5.js → chunk-XUGOVOID.js} +3 -3
- package/dist/{chunk-T26JNDO3.js → chunk-XVRQZCTS.js} +2 -2
- package/dist/{chunk-O3OGCHUZ.js → chunk-Y4JVM3SI.js} +1 -1
- package/dist/{chunk-AUIXAFYX.js → chunk-Y7OK5PJE.js} +5 -5
- package/dist/{chunk-PGJG5TCQ.js → chunk-YA4PM3MV.js} +3 -3
- package/dist/{chunk-J7EXACGN.js → chunk-YYA5LXCT.js} +1 -1
- package/dist/{chunk-JVLQJWUG.js → chunk-YYLVHUYZ.js} +1 -1
- package/dist/{chunk-TF5T2ASS.js → chunk-Z5Z3MYUW.js} +3 -3
- package/dist/chunk-ZNUJFX7L.js +135 -0
- package/dist/{chunk-K5RPFS6A.js → chunk-ZSHLY5BS.js} +1 -1
- package/dist/{chunk-ECVWCFY4.js → chunk-ZVTKWWLV.js} +2 -2
- package/dist/{chunk-ASBMFQAY.js → chunk-ZZ3JQM5I.js} +9 -9
- package/dist/{chunk-JN7IFPIQ.js → chunk-ZZXMB5F2.js} +1 -1
- package/dist/{cleanup-graph-garbage-MLRFYWDJ.js → cleanup-graph-garbage-XDIX3HLN.js} +9 -9
- package/dist/{cloud-sync-command-LU5KLLQY.js → cloud-sync-command-VPYE4FIH.js} +2 -2
- package/dist/{cloud-sync-db-init-G7LBCE7T.js → cloud-sync-db-init-NSDBTFGI.js} +1 -1
- package/dist/{cloud-sync-shutdown-4IZXMEKK.js → cloud-sync-shutdown-6OUYTG4T.js} +4 -4
- package/dist/{co-activation-FCEZYVGI.js → co-activation-EAAKGGZH.js} +4 -4
- package/dist/{co-occurrence-5WBK7HPH.js → co-occurrence-OFVF55RX.js} +7 -7
- package/dist/{code-context-index-4EQJW44K.js → code-context-index-XOP6TLPZ.js} +5 -4
- package/dist/codex-consolidation-PPXNBXCV.js +96 -0
- package/dist/{conversation-entity-extractor-JXAKVKF2.js → conversation-entity-extractor-ZR5GFKAI.js} +3 -3
- package/dist/{conversation-wiki-populator-6BCICVAB.js → conversation-wiki-populator-EBUZXYEU.js} +1 -1
- package/dist/{crdt-sync-RTAWVLV4.js → crdt-sync-FGH4SBFW.js} +1 -1
- package/dist/{crm-webhook-EWALI4C5.js → crm-webhook-PJATR2DC.js} +2 -2
- package/dist/{cto-delegation-gate-HU4YUH7C.js → cto-delegation-gate-PO4LSSQ4.js} +38 -21
- package/dist/{daemon-auth-LXP5I6BA.js → daemon-auth-SSPY5ODS.js} +2 -2
- package/dist/{daemon-orchestration-35RSNUNI.js → daemon-orchestration-IJFZFQUX.js} +27 -25
- package/dist/{daemon-ready-ZC2ANOR3.js → daemon-ready-MKBH4QWD.js} +1 -1
- package/dist/db-integrity-events-5DTASXJF.js +22 -0
- package/dist/{db-restore-events-NBARRGAC.js → db-restore-events-2FI4ZMKA.js} +1 -1
- package/dist/{doc-graph-extractor-PTNIPSDV.js → doc-graph-extractor-CAYUAM5A.js} +7 -7
- package/dist/{documents-BUFAJHVZ.js → documents-W2G477QE.js} +12 -11
- package/dist/{dreaming-ZPUWXFEJ.js → dreaming-FVXSIIWV.js} +26 -24
- package/dist/{employee-boot-brief-QD2SP4FM.js → employee-boot-brief-OYMSHFHA.js} +29 -27
- package/dist/{exe-drift-KCZFM2RP.js → exe-drift-67RGJOBX.js} +5 -5
- package/dist/{exe-export-W2SXNMYL.js → exe-export-SGYX6XZG.js} +14 -13
- package/dist/{exe-import-YCYNUMER.js → exe-import-UABVA5N3.js} +14 -13
- package/dist/{exe-key-7IIKQRR2.js → exe-key-XNYDCVFE.js} +107 -102
- package/dist/{exe-org-223EX7VP.js → exe-org-XJVSU5HN.js} +23 -23
- package/dist/{exe-snapshot-QX3RERAL.js → exe-snapshot-YXOGYZUX.js} +30 -37
- package/dist/{fast-db-init-PAC3C5O5.js → fast-db-init-GDFJY5UH.js} +1 -1
- package/dist/{founder-context-XM47756J.js → founder-context-KUXSNXKS.js} +3 -3
- package/dist/{founder-monitor-envelope-4WFWI26F.js → founder-monitor-envelope-5KTKNL5G.js} +4 -4
- package/dist/{fts-integrity-4M2MF2LQ.js → fts-integrity-LKAZEZJE.js} +2 -2
- package/dist/gateway/index.js +10 -10
- package/dist/{git-staleness-XT6GXOYG.js → git-staleness-NN6RWNLW.js} +4 -4
- package/dist/{global-procedures-QICIAC33.js → global-procedures-XDNA3TNA.js} +6 -6
- package/dist/{graph-auto-extract-RYX57CW5.js → graph-auto-extract-KTOR45V4.js} +7 -7
- package/dist/{graph-rag-MOBZTWOD.js → graph-rag-L5NV5YWD.js} +3 -3
- package/dist/{hook-integrity-LGUYWWQX.js → hook-integrity-X3YAVGUW.js} +1 -1
- package/dist/{hook-prefetch-VE2NXAFN.js → hook-prefetch-WE4MIXBM.js} +23 -21
- package/dist/hooks/bug-report-worker.js +27 -25
- package/dist/hooks/codex-stop-task-finalizer.js +29 -27
- package/dist/hooks/commit-complete.js +42 -27
- package/dist/hooks/error-recall.js +11 -11
- package/dist/hooks/exe-heartbeat-hook.js +7 -7
- package/dist/hooks/ingest-worker.js +10 -9
- package/dist/hooks/ingest.js +18 -17
- package/dist/hooks/instructions-loaded.js +12 -9
- package/dist/hooks/manifest.json +20 -20
- package/dist/hooks/notification.js +8 -8
- package/dist/hooks/post-compact.js +7 -7
- package/dist/hooks/post-tool-combined.js +16 -15
- package/dist/hooks/pre-compact.js +28 -26
- package/dist/hooks/pre-tool-use.js +79 -33
- package/dist/hooks/prompt-submit.js +42 -40
- package/dist/hooks/session-end.js +128 -111
- package/dist/hooks/session-start.js +20 -20
- package/dist/hooks/stop.js +101 -34
- package/dist/hooks/subagent-stop.js +29 -27
- package/dist/hooks/summary-worker.js +32 -30
- package/dist/index.js +34 -32
- package/dist/{installer-4VXHJEVU.js → installer-EAAYEEEF.js} +8 -8
- package/dist/{installer-CH7GIFHI.js → installer-EPQAOI6M.js} +154 -10
- package/dist/{installer-IK4HFXD4.js → installer-UDRMFY75.js} +8 -8
- package/dist/{intercom-queue-PI5APF65.js → intercom-queue-IBOAVT2I.js} +22 -20
- package/dist/{key-backup-status-G7CHESRL.js → key-backup-status-6L2ARCXW.js} +1 -1
- package/dist/lib/agent-config.js +2 -2
- package/dist/lib/cloud-sync.js +19 -18
- package/dist/lib/config.js +1 -1
- package/dist/lib/consolidation.js +9 -9
- package/dist/lib/database.js +4 -4
- package/dist/lib/db-backup.js +2 -2
- package/dist/lib/db-daemon-client.js +5 -4
- package/dist/lib/db-write-worker.js +3 -3
- package/dist/lib/db.js +4 -4
- package/dist/lib/device-registry.js +2 -2
- package/dist/lib/embed-worker.js +1 -1
- package/dist/lib/embedder.js +5 -4
- package/dist/lib/employee-templates.js +7 -7
- package/dist/lib/employees.js +4 -4
- package/dist/lib/exe-daemon-client.js +4 -3
- package/dist/lib/exe-daemon.js +219 -112
- package/dist/lib/hybrid-search.js +8 -8
- package/dist/lib/identity-templates.js +1 -1
- package/dist/lib/identity.js +4 -4
- package/dist/lib/license.js +3 -3
- package/dist/lib/messaging.js +23 -21
- package/dist/lib/post-tool-memory.js +2 -2
- package/dist/lib/registry-proxy.js +1 -1
- package/dist/lib/reminders.js +5 -5
- package/dist/lib/schedules.js +8 -8
- package/dist/lib/session-registry.js +6 -6
- package/dist/lib/skill-learning.js +13 -12
- package/dist/lib/status-brief.js +4 -3
- package/dist/lib/store.js +7 -7
- package/dist/lib/task-router.js +5 -5
- package/dist/lib/tasks.js +24 -22
- package/dist/lib/tmux-routing.js +22 -20
- package/dist/lib/token-spend.js +5 -5
- package/dist/{license-gate-Z5YXTWMH.js → license-gate-3TTWJABL.js} +4 -4
- package/dist/{license-sync-LLX3FTHY.js → license-sync-ZC6TPKVV.js} +3 -3
- package/dist/mcp/register-tools.js +104 -99
- package/dist/mcp/server.js +106 -101
- package/dist/mcp/tools/complete-reminder.js +6 -6
- package/dist/mcp/tools/create-reminder.js +6 -6
- package/dist/mcp/tools/create-task.js +27 -25
- package/dist/mcp/tools/deactivate-behavior.js +15 -14
- package/dist/mcp/tools/list-reminders.js +6 -6
- package/dist/mcp/tools/list-tasks.js +27 -25
- package/dist/mcp/tools/send-message.js +26 -24
- package/dist/mcp/tools/update-task.js +25 -23
- package/dist/{mcp-http-config-PTGZH6RV.js → mcp-http-config-ROF5EPEF.js} +5 -5
- package/dist/{mcp-session-identity-JRR4ZW2F.js → mcp-session-identity-ERU6FEUB.js} +22 -20
- package/dist/{memory-cards-ENOF74LR.js → memory-cards-3QTXI2SG.js} +7 -7
- package/dist/{memory-graph-extractor-V4ZUDCUN.js → memory-graph-extractor-7GAILMYG.js} +8 -8
- package/dist/{memory-poisoning-defense-VNCV5BFL.js → memory-poisoning-defense-TPXSRJTQ.js} +4 -4
- package/dist/{memory-pressure-watchdog-5WKDX7KP.js → memory-pressure-watchdog-ZSOP6T2F.js} +23 -21
- package/dist/{memory-queue-RD5CSMSC.js → memory-queue-QJNWKWKG.js} +2 -2
- package/dist/{memory-queue-client-2NHZQRSD.js → memory-queue-client-HIHCA3W4.js} +6 -5
- package/dist/{memory-reflection-H7AGGSO5.js → memory-reflection-3AI4JBV2.js} +4 -4
- package/dist/{monitor-grants-5KVETEJB.js → monitor-grants-BW2WL4IU.js} +3 -3
- package/dist/{notification-ledger-4DRPS7GP.js → notification-ledger-ZU7ZFJJX.js} +26 -23
- package/dist/{notifications-ZNIPKB3G.js → notifications-S4GU22GF.js} +22 -20
- package/dist/{orchestration-events-FWR64GIC.js → orchestration-events-HVG56HJ5.js} +5 -5
- package/dist/{orchestration-phase-ZED4QYF3.js → orchestration-phase-UDS24CVQ.js} +2 -2
- package/dist/{orchestrator-AVQRCIMG.js → orchestrator-UW3Q3WYG.js} +24 -22
- package/dist/{org-brief-session-XK2BTYHE.js → org-brief-session-G36TJBN4.js} +12 -12
- package/dist/{org-consent-policy-ULCYJC4W.js → org-consent-policy-RMYVMM3X.js} +1 -1
- package/dist/{org-join-P6PHLFFK.js → org-join-BMBQDMVF.js} +7 -7
- package/dist/{org-key-admin-BXGBQ3XY.js → org-key-admin-SCCVVE2H.js} +8 -8
- package/dist/{org-key-pin-CVVHZIMZ.js → org-key-pin-5WUSPGVN.js} +3 -3
- package/dist/{org-membership-VC54DLZ7.js → org-membership-ESALTLLN.js} +4 -4
- package/dist/{org-partner-config-VQVT62IZ.js → org-partner-config-YKHPDPZR.js} +6 -6
- package/dist/{org-partner-runtime-CCXM2LEA.js → org-partner-runtime-KXMGEYFW.js} +12 -12
- package/dist/{org-row-visibility-OSDGUOYT.js → org-row-visibility-UI5PGN76.js} +1 -1
- package/dist/{pipeline-router-YA6JZ7SA.js → pipeline-router-IODWXDDI.js} +5 -5
- package/dist/{plan-limits-YC6TLA4S.js → plan-limits-XMAQVEJZ.js} +7 -7
- package/dist/{platform-procedures-QNOMEXJF.js → platform-procedures-44NDFTB6.js} +1 -1
- package/dist/{postinstall-failure-M6PCKX4P.js → postinstall-failure-B2JHNFPM.js} +2 -2
- package/dist/{project-boot-INRUUEND.js → project-boot-LCFBQ6NB.js} +9 -1
- package/dist/project-name-ILJTETUE.js +14 -0
- package/dist/{projection-worker-G3AO6ASG.js → projection-worker-6LZUCI3B.js} +4 -4
- package/dist/{prospective-memory-GXCBC5WL.js → prospective-memory-G5VK5GCD.js} +4 -4
- package/dist/{push-notifications-BZZJTMN6.js → push-notifications-S2RYRXLF.js} +23 -21
- package/dist/reproject-worktree-memories-IXYGHTGA.js +224 -0
- package/dist/{reranker-O3NLXWT3.js → reranker-EHQTAA3L.js} +2 -2
- package/dist/{retrieval-health-5OSAJIQF.js → retrieval-health-WZ4ICGNF.js} +5 -1
- package/dist/{review-polling-3D2KID2T.js → review-polling-MAWLRDSP.js} +23 -21
- package/dist/runtime/index.js +31 -29
- package/dist/{session-events-KJKEKAXC.js → session-events-BRUIZ5E4.js} +23 -21
- package/dist/{session-kill-telemetry-RRAZEXLS.js → session-kill-telemetry-PTZLHT33.js} +23 -21
- package/dist/{session-mcp-config-JTPM2XBN.js → session-mcp-config-F7KATWOF.js} +2 -2
- package/dist/{session-scope-IPEVYKRA.js → session-scope-G4RVJJGR.js} +23 -21
- package/dist/{setup-wizard-7XF4NFQK.js → setup-wizard-WFEUB63Z.js} +3 -3
- package/dist/{shard-manager-FW4KRSE4.js → shard-manager-UROHZE46.js} +2 -2
- package/dist/{skill-refinement-5444QK44.js → skill-refinement-2OYPH7WD.js} +5 -5
- package/dist/{stack-promote-FZAXOG5N.js → stack-promote-DLYYQXQI.js} +6 -5
- package/dist/{stack-release-AF4KZWQA.js → stack-release-OPWARLXI.js} +6 -5
- package/dist/{stack-update-RIL3XYZG.js → stack-update-SJ43IEQE.js} +39 -6
- package/dist/{steward-gate-V3CDSK35.js → steward-gate-V7PBGVFK.js} +5 -5
- package/dist/{subagent-brief-injection-WZJRP6VC.js → subagent-brief-injection-BLCRI2AJ.js} +31 -29
- package/dist/{subagent-spawn-ledger-P6Q6JX3E.js → subagent-spawn-ledger-USYZXU3M.js} +4 -2
- package/dist/{support-inbox-45CEKHAK.js → support-inbox-6HOQYFD2.js} +4 -4
- package/dist/{task-enforcement-HG6LBTYU.js → task-enforcement-EF6O2V26.js} +23 -21
- package/dist/{task-request-inbox-ZIQW2TPL.js → task-request-inbox-OB2KIJWO.js} +1 -1
- package/dist/{task-scope-ZWRHD2PQ.js → task-scope-74JBTKJN.js} +26 -23
- package/dist/{tasks-crud-QN33WNXT.js → tasks-crud-ZU6RZDEZ.js} +22 -20
- package/dist/{tasks-notify-DQKP253B.js → tasks-notify-767DRYAA.js} +23 -21
- package/dist/{tasks-review-P7JTBLWK.js → tasks-review-4F6PZZ3B.js} +22 -20
- package/dist/{telemetry-upload-55GD4D27.js → telemetry-upload-2JM6KIAB.js} +9 -9
- package/dist/{token-budget-PPDT7CLD.js → token-budget-NH2RD4YX.js} +5 -5
- package/dist/{tool-capability-index-MOZ5EOIO.js → tool-capability-index-BT2GGLLI.js} +1 -1
- 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-R27EMAEB.js → tool-telemetry-CHCBD4OQ.js} +1 -1
- package/dist/tui/App.js +37 -35
- package/dist/{tui-data-KJNJBAAT.js → tui-data-244GF3BI.js} +22 -20
- package/dist/{update-support-VDS4ME3L.js → update-support-P2LO3DAB.js} +16 -15
- package/dist/work-claims-4QOE7DT2.js +53 -0
- package/dist/{work-state-heartbeat-RUE6ETPX.js → work-state-heartbeat-GX3VWWWK.js} +1 -1
- package/dist/{worker-gate-LAXZSHSZ.js → worker-gate-62PZATOV.js} +2 -2
- package/dist/{workflow-engine-RPKV7XM3.js → workflow-engine-7YIRU62F.js} +2 -2
- package/dist/{worktree-6LRKLO2U.js → worktree-3TUKIZWY.js} +6 -6
- package/dist/{worktree-sweep-NAPVXZHQ.js → worktree-sweep-MYQHUXDE.js} +7 -7
- package/package.json +8 -2
- package/release-notes.json +90 -89
- package/src/commands/exe/call.md +6 -4
- package/src/commands/exe-reference.md +11 -7
- package/src/commands/exe.md +16 -20
- package/dist/chunk-6MQWZZS5.js +0 -275
- package/dist/chunk-CTXNEZFW.js +0 -78
- package/dist/db-integrity-events-RBX7FN5E.js +0 -16
- package/dist/project-name-EWG5KAZP.js +0 -10
- /package/dist/{chunk-GSWAKK5Q.js → chunk-62U63R3E.js} +0 -0
- /package/dist/{chunk-HVMZBCP4.js → chunk-6CAX7YH4.js} +0 -0
- /package/dist/{chunk-CLCNYC3F.js → chunk-BTFDA3UJ.js} +0 -0
- /package/dist/{chunk-VNVDUM5X.js → chunk-DAXFAXLN.js} +0 -0
- /package/dist/{chunk-3DWNESVC.js → chunk-FLP2BQOA.js} +0 -0
- /package/dist/{chunk-ESOETGYC.js → chunk-JLYHJJHU.js} +0 -0
- /package/dist/{chunk-W352QOGG.js → chunk-JZBZI36P.js} +0 -0
- /package/dist/{chunk-QKOLA6FI.js → chunk-WM7Y5ZV2.js} +0 -0
- /package/dist/{chunk-IY7LTYEP.js → chunk-YNPOELAN.js} +0 -0
- /package/dist/{chunk-7VBIK4HP.js → chunk-YSDIJ3VI.js} +0 -0
- /package/dist/{core-memory-RZHRZPKR.js → core-memory-EARETDZ6.js} +0 -0
- /package/dist/{entity-boost-ZLQIQ4JU.js → entity-boost-CDFAXVYL.js} +0 -0
- /package/dist/{memory-isolation-OSZBBUHB.js → memory-isolation-XASOGA7G.js} +0 -0
- /package/dist/{message-queue-client-UKGJ6QKQ.js → message-queue-client-PL2POQOV.js} +0 -0
- /package/dist/{oauth-server-MHOTAUOI.js → oauth-server-C3BXAKAW.js} +0 -0
- /package/dist/{webhook-pipe-BVLWBMIC.js → webhook-pipe-UQSEHFPO.js} +0 -0
- /package/dist/{wiki-acl-E24PM3YR.js → wiki-acl-XQH4UBP2.js} +0 -0
- /package/dist/{wiki-client-ZDPDQDX2.js → wiki-client-AXNM5FWY.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,60 +9,64 @@ import "../chunk-SH45SJQW.js";
|
|
|
9
9
|
import {
|
|
10
10
|
clearActiveAgent,
|
|
11
11
|
getActiveAgent
|
|
12
|
-
} from "../chunk-
|
|
13
|
-
import "../chunk-
|
|
12
|
+
} from "../chunk-QWDZNQXA.js";
|
|
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
|
-
import "../chunk-
|
|
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";
|
|
38
|
-
import "../chunk-
|
|
39
|
-
import "../chunk-
|
|
40
|
-
import "../chunk-
|
|
41
|
-
import "../chunk-
|
|
42
|
-
import "../chunk-
|
|
39
|
+
import "../chunk-ZVTKWWLV.js";
|
|
40
|
+
import "../chunk-CDUB5Q6J.js";
|
|
41
|
+
import "../chunk-BNHAZ65R.js";
|
|
42
|
+
import "../chunk-RIECV7SR.js";
|
|
43
|
+
import "../chunk-LNOS24GV.js";
|
|
43
44
|
import "../chunk-NLEW62VC.js";
|
|
45
|
+
import {
|
|
46
|
+
resolveProjectName
|
|
47
|
+
} from "../chunk-W2IRQJ6R.js";
|
|
44
48
|
import "../chunk-HYZV25LY.js";
|
|
45
49
|
import "../chunk-GJV3WDWM.js";
|
|
46
50
|
import "../chunk-MP2AFCGL.js";
|
|
47
51
|
import {
|
|
48
52
|
canCoordinate
|
|
49
|
-
} from "../chunk-
|
|
53
|
+
} from "../chunk-HSBKV5LB.js";
|
|
50
54
|
import "../chunk-TKDITWDN.js";
|
|
51
55
|
import "../chunk-BBMTVAE3.js";
|
|
52
56
|
import "../chunk-5YEUPUV4.js";
|
|
53
|
-
import "../chunk-
|
|
57
|
+
import "../chunk-Y7OK5PJE.js";
|
|
54
58
|
import "../chunk-YYB5PMTK.js";
|
|
55
|
-
import "../chunk-
|
|
59
|
+
import "../chunk-NJFJWQNN.js";
|
|
56
60
|
import "../chunk-V3W3SATA.js";
|
|
57
61
|
import "../chunk-JY5GAZYC.js";
|
|
58
62
|
import "../chunk-FXU7JOXK.js";
|
|
59
63
|
import "../chunk-WNBZJSQT.js";
|
|
60
|
-
import "../chunk-
|
|
64
|
+
import "../chunk-F3PIHVVY.js";
|
|
61
65
|
import "../chunk-A7XLR3K7.js";
|
|
62
|
-
import "../chunk-
|
|
66
|
+
import "../chunk-65ZSFW3O.js";
|
|
63
67
|
import "../chunk-QILQ5FCG.js";
|
|
64
68
|
import "../chunk-ARX6TAGN.js";
|
|
65
|
-
import "../chunk-
|
|
69
|
+
import "../chunk-QMSEL5YS.js";
|
|
66
70
|
import "../chunk-HSGBZSCA.js";
|
|
67
71
|
import "../chunk-JKKZGDLP.js";
|
|
68
72
|
import "../chunk-MLKGABMK.js";
|
|
@@ -78,7 +82,7 @@ process.on("unhandledRejection", (err) => {
|
|
|
78
82
|
process.exit(1);
|
|
79
83
|
});
|
|
80
84
|
try {
|
|
81
|
-
const { verifyOrBlock } = await import("../hook-integrity-
|
|
85
|
+
const { verifyOrBlock } = await import("../hook-integrity-X3YAVGUW.js");
|
|
82
86
|
if (!await verifyOrBlock(new URL(import.meta.url).pathname)) process.exit(2);
|
|
83
87
|
} catch (err) {
|
|
84
88
|
const code = err?.code;
|
|
@@ -96,6 +100,8 @@ if (!process.env.AGENT_ID) {
|
|
|
96
100
|
process.env.AGENT_ID = "default";
|
|
97
101
|
process.env.AGENT_ROLE = "employee";
|
|
98
102
|
}
|
|
103
|
+
var CONSOLIDATION_ONLY = process.env.EXE_CONSOLIDATION_MODE === "cadence";
|
|
104
|
+
var LOG_TAG = CONSOLIDATION_ONLY ? "[session-consolidate]" : "[session-end]";
|
|
99
105
|
var timeout = setTimeout(() => {
|
|
100
106
|
process.exit(0);
|
|
101
107
|
}, 15e3);
|
|
@@ -223,92 +229,96 @@ process.stdin.on("end", async () => {
|
|
|
223
229
|
}
|
|
224
230
|
const data = JSON.parse(input);
|
|
225
231
|
const agent = getActiveAgent();
|
|
226
|
-
|
|
227
|
-
const { appendFileSync, mkdirSync } = await import("fs");
|
|
228
|
-
const { join, dirname } = await import("path");
|
|
229
|
-
const { homedir } = await import("os");
|
|
230
|
-
const deathLog = join(homedir(), ".exe-os", "logs", "session-deaths.jsonl");
|
|
231
|
-
mkdirSync(dirname(deathLog), { recursive: true });
|
|
232
|
-
let daemonAlive = false;
|
|
233
|
-
const requestedPort = process.env.EXE_MCP_PORT ?? "";
|
|
234
|
-
const requestedPortNumber = Number(requestedPort);
|
|
235
|
-
const daemonPort = /^\d{1,5}$/.test(requestedPort) && requestedPortNumber > 0 && requestedPortNumber <= 65535 ? String(requestedPortNumber) : "48739";
|
|
236
|
-
const pingController = new AbortController();
|
|
237
|
-
const pingTimeout = setTimeout(() => pingController.abort(), 2e3);
|
|
238
|
-
pingTimeout.unref();
|
|
239
|
-
try {
|
|
240
|
-
const response = await fetch(`http://127.0.0.1:${daemonPort}/v1/ping`, {
|
|
241
|
-
method: "GET",
|
|
242
|
-
signal: pingController.signal
|
|
243
|
-
});
|
|
244
|
-
daemonAlive = response.ok;
|
|
245
|
-
} catch {
|
|
246
|
-
} finally {
|
|
247
|
-
clearTimeout(pingTimeout);
|
|
248
|
-
}
|
|
249
|
-
const hookUptimeMs = Math.round(process.uptime() * 1e3);
|
|
250
|
-
const transcript = readTranscriptExitForensics(data.transcript_path);
|
|
251
|
-
const exitReason = inferExitReason(daemonAlive, data, transcript);
|
|
252
|
-
const durationMs = transcript.sessionDurationMs ?? hookUptimeMs;
|
|
253
|
-
const entry = JSON.stringify({
|
|
254
|
-
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
255
|
-
event: "session_exit",
|
|
256
|
-
agent: agent.agentId,
|
|
257
|
-
role: agent.agentRole,
|
|
258
|
-
session: data.session_id,
|
|
259
|
-
project: process.env.EXE_PROJECT_NAME ?? process.cwd().split("/").pop() ?? "unknown",
|
|
260
|
-
tmuxSession: process.env.EXE_SESSION ?? process.env.TMUX_PANE ?? "unknown",
|
|
261
|
-
tty: process.env.TTY ?? process.env.GPG_TTY ?? "unknown",
|
|
262
|
-
hookPid: process.pid,
|
|
263
|
-
hookPpid: process.ppid,
|
|
264
|
-
// Legacy keys retained for downstream readers; these are hook process IDs.
|
|
265
|
-
pid: process.pid,
|
|
266
|
-
ppid: process.ppid,
|
|
267
|
-
hookUptimeMs,
|
|
268
|
-
sessionDurationMs: transcript.sessionDurationMs,
|
|
269
|
-
exitReason,
|
|
270
|
-
daemonAlive,
|
|
271
|
-
memoryRssMB: Math.round(process.memoryUsage.rss() / 1024 / 1024),
|
|
272
|
-
transcript
|
|
273
|
-
});
|
|
274
|
-
appendFileSync(deathLog, entry + "\n");
|
|
275
|
-
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"}
|
|
276
|
-
`);
|
|
232
|
+
if (!CONSOLIDATION_ONLY) {
|
|
277
233
|
try {
|
|
278
|
-
const {
|
|
279
|
-
await
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
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(),
|
|
283
267
|
tmuxSession: process.env.EXE_SESSION ?? process.env.TMUX_PANE ?? "unknown",
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
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
|
|
296
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
|
+
}
|
|
297
306
|
} catch {
|
|
298
307
|
}
|
|
299
|
-
} catch {
|
|
300
308
|
}
|
|
301
309
|
if (agent.agentId) {
|
|
302
310
|
try {
|
|
303
|
-
const { fastDbInit } = await import("../fast-db-init-
|
|
311
|
+
const { fastDbInit } = await import("../fast-db-init-GDFJY5UH.js");
|
|
304
312
|
const client = await fastDbInit({ caller: "hook" });
|
|
305
313
|
const seScope = strictSessionScopeFilter();
|
|
306
314
|
const orphanResult = await client.execute({
|
|
307
315
|
sql: `SELECT title, status FROM tasks WHERE assigned_to = ? AND status IN ('open', 'in_progress')${seScope.sql}`,
|
|
308
316
|
args: [agent.agentId, ...seScope.args]
|
|
309
317
|
});
|
|
310
|
-
const
|
|
311
|
-
|
|
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}` : "";
|
|
312
322
|
let conversationSummary = "";
|
|
313
323
|
try {
|
|
314
324
|
if (data.transcript_path) {
|
|
@@ -344,7 +354,7 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
|
|
|
344
354
|
}
|
|
345
355
|
} catch {
|
|
346
356
|
}
|
|
347
|
-
const projectName =
|
|
357
|
+
const projectName = resolveProjectName();
|
|
348
358
|
const { buildSystemStateMemoryTypeExclusion } = await import("../lib/store.js");
|
|
349
359
|
const recent = await client.execute({
|
|
350
360
|
sql: `SELECT tool_name, project_name, raw_text, has_error, timestamp
|
|
@@ -362,14 +372,19 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
|
|
|
362
372
|
args: [agent.agentId, ...seScope.args]
|
|
363
373
|
});
|
|
364
374
|
const extraSections = [];
|
|
365
|
-
if (orphanInfo)
|
|
375
|
+
if (orphanInfo) {
|
|
376
|
+
extraSections.push(
|
|
377
|
+
`## ${CONSOLIDATION_ONLY ? "Open Tasks At Checkpoint" : "Session-End Warnings"}${orphanInfo}`
|
|
378
|
+
);
|
|
379
|
+
}
|
|
366
380
|
if (conversationSummary) extraSections.push(conversationSummary);
|
|
367
381
|
await writeContinuityCheckpoint({
|
|
368
382
|
agentId: agent.agentId,
|
|
369
383
|
agentRole: agent.agentRole,
|
|
370
384
|
sessionId: data.session_id,
|
|
371
385
|
projectName,
|
|
372
|
-
|
|
386
|
+
// Cadence runs are mid-session snapshots, not the final commit.
|
|
387
|
+
reason: CONSOLIDATION_ONLY ? "periodic" : "session-end",
|
|
373
388
|
memories: recent.rows,
|
|
374
389
|
tasks: taskRows.rows,
|
|
375
390
|
maxSamples: 12,
|
|
@@ -377,12 +392,12 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
|
|
|
377
392
|
});
|
|
378
393
|
if (conversationSummary.length > 100) {
|
|
379
394
|
try {
|
|
380
|
-
const { writeMemoryViaDaemon } = await import("../memory-queue-client-
|
|
395
|
+
const { writeMemoryViaDaemon } = await import("../memory-queue-client-HIHCA3W4.js");
|
|
381
396
|
await writeMemoryViaDaemon({
|
|
382
397
|
raw_text: conversationSummary.slice(0, 8e3),
|
|
383
398
|
agent_id: agent.agentId,
|
|
384
399
|
agent_role: agent.agentRole,
|
|
385
|
-
tool_name: "SessionEnd",
|
|
400
|
+
tool_name: CONSOLIDATION_ONLY ? "SessionConsolidate" : "SessionEnd",
|
|
386
401
|
project_name: projectName,
|
|
387
402
|
session_id: data.session_id,
|
|
388
403
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -393,12 +408,12 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
|
|
|
393
408
|
}
|
|
394
409
|
}
|
|
395
410
|
try {
|
|
396
|
-
const { clearSessionFileReads } = await import("../git-staleness-
|
|
411
|
+
const { clearSessionFileReads } = await import("../git-staleness-NN6RWNLW.js");
|
|
397
412
|
await clearSessionFileReads(data.session_id);
|
|
398
413
|
} catch {
|
|
399
414
|
}
|
|
400
415
|
try {
|
|
401
|
-
const { DreamingEngine } = await import("../dreaming-
|
|
416
|
+
const { DreamingEngine } = await import("../dreaming-FVXSIIWV.js");
|
|
402
417
|
const engine = new DreamingEngine();
|
|
403
418
|
const dreamResult = await engine.runDreamCycle(agent.agentId);
|
|
404
419
|
let promoted = 0;
|
|
@@ -431,7 +446,7 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
|
|
|
431
446
|
}
|
|
432
447
|
const driftLabel = dreamResult.drift.score > 0.8 ? "critical" : dreamResult.drift.score > 0.5 ? "warning" : "healthy";
|
|
433
448
|
process.stderr.write(
|
|
434
|
-
|
|
449
|
+
`${LOG_TAG} Dream cycle: ${dreamResult.patterns.length} patterns, ${promoted} behaviors promoted, drift=${dreamResult.drift.score.toFixed(2)} (${driftLabel})
|
|
435
450
|
`
|
|
436
451
|
);
|
|
437
452
|
} catch {
|
|
@@ -443,13 +458,13 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
|
|
|
443
458
|
const avgAttempts = summaries.reduce((a, s) => a + s.totalAttempts, 0) / summaries.length;
|
|
444
459
|
const totalWastedMs = summaries.reduce((a, s) => a + s.wastedDurationMs, 0);
|
|
445
460
|
process.stderr.write(
|
|
446
|
-
|
|
461
|
+
`${LOG_TAG} Investigations: ${summaries.length} bugs tracked, avg ${avgAttempts.toFixed(1)} attempts per bug, ${Math.round(totalWastedMs / 1e3)}s wasted on failed attempts
|
|
447
462
|
`
|
|
448
463
|
);
|
|
449
464
|
}
|
|
450
465
|
} catch {
|
|
451
466
|
}
|
|
452
|
-
if (!canCoordinate(agent.agentId, agent.agentRole)) {
|
|
467
|
+
if (!CONSOLIDATION_ONLY && !canCoordinate(agent.agentId, agent.agentRole)) {
|
|
453
468
|
const inProgress = orphanResult.rows.filter((r) => String(r.status) === "in_progress");
|
|
454
469
|
if (inProgress.length > 0) {
|
|
455
470
|
const titles = inProgress.map((r) => `"${String(r.title)}"`).join(", ");
|
|
@@ -474,12 +489,12 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
|
|
|
474
489
|
parts.push(`Left in_progress (no matching commits, needs triage): ${leftInProgress.join(", ")}`);
|
|
475
490
|
}
|
|
476
491
|
try {
|
|
477
|
-
const { writeNotification } = await import("../notifications-
|
|
492
|
+
const { writeNotification } = await import("../notifications-S4GU22GF.js");
|
|
478
493
|
await writeNotification({
|
|
479
494
|
agentId: agent.agentId,
|
|
480
495
|
agentRole: agent.agentRole,
|
|
481
496
|
event: "orphan_task",
|
|
482
|
-
project:
|
|
497
|
+
project: resolveProjectName(),
|
|
483
498
|
summary: `${agent.agentId} session ended with ${inProgress.length} in_progress task(s). ${parts.join(". ")}`
|
|
484
499
|
});
|
|
485
500
|
} catch {
|
|
@@ -511,7 +526,7 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
|
|
|
511
526
|
} catch {
|
|
512
527
|
}
|
|
513
528
|
}
|
|
514
|
-
if (agent.agentId !== "default") {
|
|
529
|
+
if (!CONSOLIDATION_ONLY && agent.agentId !== "default") {
|
|
515
530
|
try {
|
|
516
531
|
const { clearCanaryToken } = await import("../browser-sanitizer-Q3GWRYKI.js");
|
|
517
532
|
clearCanaryToken(agent.agentId);
|
|
@@ -525,8 +540,10 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
|
|
|
525
540
|
} catch {
|
|
526
541
|
}
|
|
527
542
|
}
|
|
528
|
-
|
|
529
|
-
|
|
543
|
+
if (!CONSOLIDATION_ONLY) {
|
|
544
|
+
clearActiveAgent();
|
|
545
|
+
clearCacheState(getSessionKey());
|
|
546
|
+
}
|
|
530
547
|
} catch (err) {
|
|
531
548
|
console.error(
|
|
532
549
|
"[exe-os:hook:session-end] main:",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
waitForDaemonReady
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-YSDIJ3VI.js";
|
|
4
4
|
import {
|
|
5
5
|
loadConfigSync
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-QMSEL5YS.js";
|
|
7
7
|
import "../chunk-HSGBZSCA.js";
|
|
8
8
|
import "../chunk-JKKZGDLP.js";
|
|
9
9
|
import "../chunk-MLKGABMK.js";
|
|
@@ -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-
|
|
60
|
-
const { getProjectName } = await import("../project-name-
|
|
61
|
-
const { getCurrentSessionScope } = await import("../task-scope-
|
|
59
|
+
const { getActiveAgent } = await import("../active-agent-V3CUDNED.js");
|
|
60
|
+
const { getProjectName } = await import("../project-name-ILJTETUE.js");
|
|
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,
|
|
@@ -415,7 +415,7 @@ You are **${title}**. ${firstLine}
|
|
|
415
415
|
}
|
|
416
416
|
}
|
|
417
417
|
try {
|
|
418
|
-
const { loadOrchestrationPhase } = await import("../orchestration-phase-
|
|
418
|
+
const { loadOrchestrationPhase } = await import("../orchestration-phase-UDS24CVQ.js");
|
|
419
419
|
const phase = await loadOrchestrationPhase();
|
|
420
420
|
additionalContext += `## Orchestration Phase
|
|
421
421
|
${phase.label}. Focus: ${phase.focus}. This is guidance, not a blocker; the user can switch phases anytime. ${phase.nextSuggestion}
|
|
@@ -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();
|