@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,163 +1,167 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
computeMcpSurfaceHash
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-WYVBWDFY.js";
|
|
5
5
|
import "../chunk-WCGNCH3Q.js";
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-PS4NA7PM.js";
|
|
7
|
+
import "../chunk-XA4EU3CW.js";
|
|
8
|
+
import "../chunk-SFKIZYKK.js";
|
|
9
|
+
import "../chunk-6NJURKRG.js";
|
|
10
|
+
import "../chunk-TZFOWWPM.js";
|
|
11
11
|
import "../chunk-5H47VHB7.js";
|
|
12
12
|
import "../chunk-557C2IGL.js";
|
|
13
13
|
import "../chunk-GSJLB6JI.js";
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-PFR6EOUY.js";
|
|
15
|
+
import "../chunk-52CFP2AV.js";
|
|
16
|
+
import "../chunk-PR3AHVFW.js";
|
|
17
|
+
import "../chunk-XM7HJ5SS.js";
|
|
17
18
|
import "../chunk-CRCB5S7I.js";
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-
|
|
22
|
-
import "../chunk-
|
|
23
|
-
import "../chunk-
|
|
24
|
-
import "../chunk-
|
|
25
|
-
import "../chunk-
|
|
26
|
-
import "../chunk-
|
|
27
|
-
import "../chunk-
|
|
28
|
-
import "../chunk-
|
|
29
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-CWBFOAGM.js";
|
|
20
|
+
import "../chunk-AEVE654G.js";
|
|
21
|
+
import "../chunk-ALKYXAMB.js";
|
|
22
|
+
import "../chunk-DXCTHNEF.js";
|
|
23
|
+
import "../chunk-XAMLDTRA.js";
|
|
24
|
+
import "../chunk-DAXFAXLN.js";
|
|
25
|
+
import "../chunk-6CAX7YH4.js";
|
|
26
|
+
import "../chunk-AAMGHW5W.js";
|
|
27
|
+
import "../chunk-PHUHIVD5.js";
|
|
28
|
+
import "../chunk-MQ3N4KZY.js";
|
|
29
|
+
import "../chunk-WCDIDSLR.js";
|
|
30
|
+
import "../chunk-P5XTVIEC.js";
|
|
31
|
+
import "../chunk-KOYGRP2L.js";
|
|
30
32
|
import "../chunk-X2X3IGZU.js";
|
|
31
|
-
import "../chunk-
|
|
32
|
-
import "../chunk-
|
|
33
|
-
import "../chunk-
|
|
34
|
-
import "../chunk-
|
|
35
|
-
import "../chunk-
|
|
33
|
+
import "../chunk-ZZXMB5F2.js";
|
|
34
|
+
import "../chunk-Z5Z3MYUW.js";
|
|
35
|
+
import "../chunk-O3F5P6Z5.js";
|
|
36
|
+
import "../chunk-PVEM537A.js";
|
|
37
|
+
import "../chunk-H37FSTF2.js";
|
|
36
38
|
import "../chunk-A6PDF4BO.js";
|
|
37
|
-
import "../chunk-
|
|
38
|
-
import "../chunk-
|
|
39
|
+
import "../chunk-PFOJX6CR.js";
|
|
40
|
+
import "../chunk-JOKKIFRN.js";
|
|
39
41
|
import "../chunk-MPVXHYD5.js";
|
|
40
42
|
import "../chunk-4LWBC7CM.js";
|
|
41
43
|
import "../chunk-5OPAUFLP.js";
|
|
42
|
-
import "../chunk-
|
|
43
|
-
import "../chunk-
|
|
44
|
-
import "../chunk-
|
|
45
|
-
import "../chunk-
|
|
46
|
-
import "../chunk-
|
|
47
|
-
import "../chunk-
|
|
48
|
-
import "../chunk-
|
|
49
|
-
import "../chunk-
|
|
50
|
-
import "../chunk-
|
|
51
|
-
import "../chunk-
|
|
52
|
-
import "../chunk-
|
|
53
|
-
import "../chunk-
|
|
54
|
-
import "../chunk-
|
|
55
|
-
import "../chunk-
|
|
56
|
-
import "../chunk-
|
|
44
|
+
import "../chunk-PQ6NRLKL.js";
|
|
45
|
+
import "../chunk-URHJDUWO.js";
|
|
46
|
+
import "../chunk-PWCZFIQH.js";
|
|
47
|
+
import "../chunk-K2OFS57E.js";
|
|
48
|
+
import "../chunk-7W5LCREK.js";
|
|
49
|
+
import "../chunk-OPS7KUFV.js";
|
|
50
|
+
import "../chunk-66BFQOWR.js";
|
|
51
|
+
import "../chunk-FSIAGX55.js";
|
|
52
|
+
import "../chunk-DTTISDTI.js";
|
|
53
|
+
import "../chunk-YA4PM3MV.js";
|
|
54
|
+
import "../chunk-XUGOVOID.js";
|
|
55
|
+
import "../chunk-OADOH45L.js";
|
|
56
|
+
import "../chunk-GUOMZ3JM.js";
|
|
57
|
+
import "../chunk-NPND34FS.js";
|
|
58
|
+
import "../chunk-LW5WRSDD.js";
|
|
57
59
|
import "../chunk-3OEVDGIY.js";
|
|
58
|
-
import "../chunk-
|
|
59
|
-
import "../chunk-
|
|
60
|
+
import "../chunk-2IZH6W73.js";
|
|
61
|
+
import "../chunk-4DJDC4Y2.js";
|
|
62
|
+
import "../chunk-GTOMDMJL.js";
|
|
60
63
|
import "../chunk-EXDW3E2R.js";
|
|
61
|
-
import "../chunk-
|
|
62
|
-
import "../chunk-
|
|
63
|
-
import "../chunk-
|
|
64
|
+
import "../chunk-SBJV2PCU.js";
|
|
65
|
+
import "../chunk-KM6XSFHP.js";
|
|
66
|
+
import "../chunk-ZNUJFX7L.js";
|
|
64
67
|
import "../chunk-YQGMSXT5.js";
|
|
65
|
-
import "../chunk-
|
|
68
|
+
import "../chunk-P76VYS6V.js";
|
|
66
69
|
import "../chunk-SSC7EKY2.js";
|
|
67
|
-
import "../chunk-
|
|
70
|
+
import "../chunk-E5HAY3DQ.js";
|
|
68
71
|
import "../chunk-75H4R62K.js";
|
|
69
|
-
import "../chunk-
|
|
72
|
+
import "../chunk-JJRZE2LD.js";
|
|
70
73
|
import "../chunk-MMRUBN3I.js";
|
|
71
74
|
import "../chunk-2XZ6X3PJ.js";
|
|
72
|
-
import "../chunk-
|
|
73
|
-
import "../chunk-
|
|
74
|
-
import "../chunk-
|
|
75
|
-
import "../chunk-
|
|
76
|
-
import "../chunk-
|
|
77
|
-
import "../chunk-7WVR5UQF.js";
|
|
75
|
+
import "../chunk-V3ISR2QT.js";
|
|
76
|
+
import "../chunk-5CH6XKVC.js";
|
|
77
|
+
import "../chunk-HHGOCBVQ.js";
|
|
78
|
+
import "../chunk-JZBZI36P.js";
|
|
79
|
+
import "../chunk-BTMX2D4X.js";
|
|
78
80
|
import "../chunk-NEHOQ3P2.js";
|
|
79
|
-
import "../chunk-
|
|
80
|
-
import "../chunk-
|
|
81
|
-
import "../chunk-
|
|
82
|
-
import "../chunk-
|
|
81
|
+
import "../chunk-62U63R3E.js";
|
|
82
|
+
import "../chunk-CW2UCKHS.js";
|
|
83
|
+
import "../chunk-VV5EZZNT.js";
|
|
84
|
+
import "../chunk-JTB5V6BV.js";
|
|
83
85
|
import "../chunk-NUTZJZKW.js";
|
|
84
86
|
import "../chunk-X2Z5GT3V.js";
|
|
85
|
-
import "../chunk-
|
|
86
|
-
import "../chunk-
|
|
87
|
-
import "../chunk-
|
|
88
|
-
import "../chunk-
|
|
89
|
-
import "../chunk-
|
|
87
|
+
import "../chunk-4WOOCTON.js";
|
|
88
|
+
import "../chunk-WBKIU6UJ.js";
|
|
89
|
+
import "../chunk-VMJ2UH4S.js";
|
|
90
|
+
import "../chunk-CYNL3ZFD.js";
|
|
91
|
+
import "../chunk-53LCVVX5.js";
|
|
90
92
|
import "../chunk-GUMRIUI5.js";
|
|
91
93
|
import "../chunk-Z6BZQHP5.js";
|
|
92
94
|
import "../chunk-VGMACSEV.js";
|
|
93
|
-
import "../chunk-
|
|
94
|
-
import "../chunk-
|
|
95
|
+
import "../chunk-RLDMUSRM.js";
|
|
96
|
+
import "../chunk-YYA5LXCT.js";
|
|
95
97
|
import "../chunk-L2VZBPJJ.js";
|
|
96
98
|
import "../chunk-QGGH7LOU.js";
|
|
97
99
|
import "../chunk-VHJVD3MZ.js";
|
|
98
100
|
import "../chunk-TWMWHDOY.js";
|
|
99
101
|
import "../chunk-EEZOBN6X.js";
|
|
100
|
-
import "../chunk-
|
|
102
|
+
import "../chunk-AE3PYLLS.js";
|
|
101
103
|
import "../chunk-VMHZSZQJ.js";
|
|
102
|
-
import "../chunk-
|
|
103
|
-
import "../chunk-
|
|
104
|
+
import "../chunk-BQYQES2Z.js";
|
|
105
|
+
import "../chunk-JLYHJJHU.js";
|
|
104
106
|
import "../chunk-CHCA3ZM2.js";
|
|
105
107
|
import "../chunk-OTVEIJUQ.js";
|
|
106
|
-
import "../chunk-
|
|
107
|
-
import "../chunk-
|
|
108
|
-
import "../chunk-
|
|
109
|
-
import "../chunk-
|
|
110
|
-
import "../chunk-
|
|
108
|
+
import "../chunk-WM7Y5ZV2.js";
|
|
109
|
+
import "../chunk-ZZ3JQM5I.js";
|
|
110
|
+
import "../chunk-OISZ2I4X.js";
|
|
111
|
+
import "../chunk-BTFDA3UJ.js";
|
|
112
|
+
import "../chunk-JFOZHVNO.js";
|
|
111
113
|
import "../chunk-B6TI3TZT.js";
|
|
112
|
-
import "../chunk-
|
|
113
|
-
import "../chunk-
|
|
114
|
-
import "../chunk-
|
|
114
|
+
import "../chunk-ALYI3P5D.js";
|
|
115
|
+
import "../chunk-QWDZNQXA.js";
|
|
116
|
+
import "../chunk-2ADYTOHQ.js";
|
|
115
117
|
import "../chunk-5MOYSU5A.js";
|
|
116
118
|
import "../chunk-4QCFFW2H.js";
|
|
117
119
|
import "../chunk-76CJBM36.js";
|
|
118
|
-
import "../chunk-
|
|
119
|
-
import "../chunk-
|
|
120
|
-
import "../chunk-
|
|
121
|
-
import "../chunk-
|
|
120
|
+
import "../chunk-QX33D4CH.js";
|
|
121
|
+
import "../chunk-BTSWFMEH.js";
|
|
122
|
+
import "../chunk-6MCUXRIP.js";
|
|
123
|
+
import "../chunk-7W6FDHHY.js";
|
|
124
|
+
import "../chunk-IIVFXD6P.js";
|
|
122
125
|
import "../chunk-WT4RI36X.js";
|
|
123
|
-
import "../chunk-
|
|
126
|
+
import "../chunk-CX4MVEM3.js";
|
|
124
127
|
import "../chunk-KI5PFRG6.js";
|
|
125
128
|
import "../chunk-EIKATSE4.js";
|
|
126
129
|
import "../chunk-E23LNUWJ.js";
|
|
127
130
|
import "../chunk-QAEWWYHL.js";
|
|
128
|
-
import "../chunk-
|
|
131
|
+
import "../chunk-XKFMNAJ7.js";
|
|
129
132
|
import "../chunk-GBNB4EWD.js";
|
|
130
133
|
import "../chunk-UXLO7VHX.js";
|
|
131
134
|
import "../chunk-DSOQUQTV.js";
|
|
132
|
-
import "../chunk-
|
|
135
|
+
import "../chunk-UI3K73LD.js";
|
|
133
136
|
import "../chunk-AJIXH5JF.js";
|
|
134
|
-
import "../chunk-
|
|
137
|
+
import "../chunk-XTWHNLGD.js";
|
|
135
138
|
import "../chunk-AM7S2TY6.js";
|
|
136
|
-
import "../chunk-
|
|
139
|
+
import "../chunk-N3JLNMPF.js";
|
|
137
140
|
import "../chunk-CVYC6DUW.js";
|
|
138
|
-
import "../chunk-
|
|
139
|
-
import "../chunk-
|
|
140
|
-
import "../chunk-OPU3NYOO.js";
|
|
141
|
+
import "../chunk-ZVTKWWLV.js";
|
|
142
|
+
import "../chunk-CDUB5Q6J.js";
|
|
141
143
|
import {
|
|
142
144
|
requestDeployRestart
|
|
143
|
-
} from "../chunk-
|
|
144
|
-
import "../chunk-
|
|
145
|
+
} from "../chunk-BNHAZ65R.js";
|
|
146
|
+
import "../chunk-RIECV7SR.js";
|
|
147
|
+
import "../chunk-LNOS24GV.js";
|
|
145
148
|
import {
|
|
146
149
|
computeDaemonHeapCapMb
|
|
147
150
|
} from "../chunk-NLEW62VC.js";
|
|
151
|
+
import "../chunk-W2IRQJ6R.js";
|
|
148
152
|
import "../chunk-HYZV25LY.js";
|
|
149
153
|
import "../chunk-GJV3WDWM.js";
|
|
150
154
|
import "../chunk-GL57PO3K.js";
|
|
151
|
-
import "../chunk-
|
|
155
|
+
import "../chunk-YNPOELAN.js";
|
|
152
156
|
import "../chunk-ML4S5SHZ.js";
|
|
153
157
|
import "../chunk-MP2AFCGL.js";
|
|
154
|
-
import "../chunk-
|
|
158
|
+
import "../chunk-HSBKV5LB.js";
|
|
155
159
|
import "../chunk-TKDITWDN.js";
|
|
156
160
|
import "../chunk-BBMTVAE3.js";
|
|
157
161
|
import "../chunk-5YEUPUV4.js";
|
|
158
|
-
import "../chunk-
|
|
162
|
+
import "../chunk-Y7OK5PJE.js";
|
|
159
163
|
import "../chunk-YYB5PMTK.js";
|
|
160
|
-
import "../chunk-
|
|
164
|
+
import "../chunk-NJFJWQNN.js";
|
|
161
165
|
import "../chunk-V3W3SATA.js";
|
|
162
166
|
import "../chunk-JY5GAZYC.js";
|
|
163
167
|
import "../chunk-FXU7JOXK.js";
|
|
@@ -165,14 +169,15 @@ import "../chunk-SO7KTH3Q.js";
|
|
|
165
169
|
import "../chunk-HPXFKUGU.js";
|
|
166
170
|
import "../chunk-WNBZJSQT.js";
|
|
167
171
|
import "../chunk-F55P3H4S.js";
|
|
168
|
-
import "../chunk-
|
|
172
|
+
import "../chunk-TCTED52S.js";
|
|
173
|
+
import "../chunk-F3PIHVVY.js";
|
|
169
174
|
import "../chunk-A7XLR3K7.js";
|
|
170
|
-
import "../chunk-
|
|
175
|
+
import "../chunk-65ZSFW3O.js";
|
|
171
176
|
import "../chunk-QILQ5FCG.js";
|
|
172
177
|
import "../chunk-ARX6TAGN.js";
|
|
173
178
|
import {
|
|
174
179
|
resolveDataDir
|
|
175
|
-
} from "../chunk-
|
|
180
|
+
} from "../chunk-QMSEL5YS.js";
|
|
176
181
|
import "../chunk-HSGBZSCA.js";
|
|
177
182
|
import "../chunk-6Y4B3QF6.js";
|
|
178
183
|
import "../chunk-JKKZGDLP.js";
|
|
@@ -6,24 +6,24 @@ import {
|
|
|
6
6
|
getAgentRuntime,
|
|
7
7
|
loadAgentConfig,
|
|
8
8
|
setAgentRuntime
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-XTWHNLGD.js";
|
|
10
10
|
import "../chunk-AM7S2TY6.js";
|
|
11
11
|
import {
|
|
12
12
|
loadEmployeesSync
|
|
13
|
-
} from "../chunk-
|
|
13
|
+
} from "../chunk-HSBKV5LB.js";
|
|
14
14
|
import "../chunk-TKDITWDN.js";
|
|
15
15
|
import "../chunk-BBMTVAE3.js";
|
|
16
16
|
import "../chunk-5YEUPUV4.js";
|
|
17
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-Y7OK5PJE.js";
|
|
18
18
|
import "../chunk-YYB5PMTK.js";
|
|
19
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-NJFJWQNN.js";
|
|
20
20
|
import "../chunk-V3W3SATA.js";
|
|
21
21
|
import "../chunk-JY5GAZYC.js";
|
|
22
22
|
import "../chunk-FXU7JOXK.js";
|
|
23
23
|
import {
|
|
24
24
|
DEFAULT_RUNTIME
|
|
25
25
|
} from "../chunk-WNBZJSQT.js";
|
|
26
|
-
import "../chunk-
|
|
26
|
+
import "../chunk-QMSEL5YS.js";
|
|
27
27
|
import "../chunk-HSGBZSCA.js";
|
|
28
28
|
import "../chunk-JKKZGDLP.js";
|
|
29
29
|
import "../chunk-MLKGABMK.js";
|
package/dist/bin/exe-agent.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
FileEditTool
|
|
4
|
+
} from "../chunk-R4WMF32C.js";
|
|
5
|
+
import {
|
|
6
|
+
BashTool
|
|
7
|
+
} from "../chunk-TQDARPML.js";
|
|
2
8
|
import {
|
|
3
9
|
FileReadTool
|
|
4
10
|
} from "../chunk-TMEE7AT7.js";
|
|
@@ -11,21 +17,15 @@ import {
|
|
|
11
17
|
import {
|
|
12
18
|
FileWriteTool
|
|
13
19
|
} from "../chunk-XEKO37NM.js";
|
|
14
|
-
import {
|
|
15
|
-
FileEditTool
|
|
16
|
-
} from "../chunk-R4WMF32C.js";
|
|
17
|
-
import {
|
|
18
|
-
BashTool
|
|
19
|
-
} from "../chunk-TQDARPML.js";
|
|
20
20
|
import {
|
|
21
21
|
createTerminalRenderer,
|
|
22
22
|
renderAgentEvents
|
|
23
23
|
} from "../chunk-YZFZDJWZ.js";
|
|
24
|
-
import "../chunk-NGVOA6ZQ.js";
|
|
25
24
|
import "../chunk-CMCYL2JC.js";
|
|
25
|
+
import "../chunk-NGVOA6ZQ.js";
|
|
26
26
|
import {
|
|
27
27
|
agentLoop
|
|
28
|
-
} from "../chunk-
|
|
28
|
+
} from "../chunk-E5QQZDQN.js";
|
|
29
29
|
import {
|
|
30
30
|
ToolRegistry
|
|
31
31
|
} from "../chunk-JRLNE3T2.js";
|
|
@@ -45,29 +45,206 @@ import {
|
|
|
45
45
|
} from "../chunk-ECGTESAP.js";
|
|
46
46
|
import {
|
|
47
47
|
getSessionPrompt
|
|
48
|
-
} from "../chunk-
|
|
49
|
-
import "../chunk-
|
|
50
|
-
import "../chunk-
|
|
51
|
-
import "../chunk-
|
|
48
|
+
} from "../chunk-V3ISR2QT.js";
|
|
49
|
+
import "../chunk-5CH6XKVC.js";
|
|
50
|
+
import "../chunk-HHGOCBVQ.js";
|
|
51
|
+
import "../chunk-HSBKV5LB.js";
|
|
52
52
|
import "../chunk-TKDITWDN.js";
|
|
53
53
|
import "../chunk-BBMTVAE3.js";
|
|
54
54
|
import "../chunk-5YEUPUV4.js";
|
|
55
|
-
import "../chunk-
|
|
55
|
+
import "../chunk-Y7OK5PJE.js";
|
|
56
56
|
import "../chunk-YYB5PMTK.js";
|
|
57
|
-
import "../chunk-
|
|
57
|
+
import "../chunk-NJFJWQNN.js";
|
|
58
58
|
import "../chunk-V3W3SATA.js";
|
|
59
59
|
import "../chunk-JY5GAZYC.js";
|
|
60
60
|
import "../chunk-FXU7JOXK.js";
|
|
61
|
-
import "../chunk-
|
|
61
|
+
import "../chunk-QMSEL5YS.js";
|
|
62
62
|
import "../chunk-HSGBZSCA.js";
|
|
63
63
|
import "../chunk-JKKZGDLP.js";
|
|
64
64
|
import "../chunk-MLKGABMK.js";
|
|
65
65
|
|
|
66
66
|
// src/bin/exe-agent.ts
|
|
67
67
|
import { createInterface } from "readline";
|
|
68
|
-
import {
|
|
68
|
+
import { fileURLToPath } from "url";
|
|
69
|
+
import { existsSync, readFileSync, realpathSync } from "fs";
|
|
69
70
|
import path from "path";
|
|
70
71
|
import os from "os";
|
|
72
|
+
|
|
73
|
+
// src/runtime/tools/mcp.ts
|
|
74
|
+
import { z } from "zod";
|
|
75
|
+
import { spawn } from "child_process";
|
|
76
|
+
var READ_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
77
|
+
"ask_team_memory",
|
|
78
|
+
"recall_my_memory",
|
|
79
|
+
"list_tasks",
|
|
80
|
+
"get_session_context",
|
|
81
|
+
"get_memory_by_id",
|
|
82
|
+
"list_reminders"
|
|
83
|
+
]);
|
|
84
|
+
var McpToolWrapper = class {
|
|
85
|
+
name;
|
|
86
|
+
description;
|
|
87
|
+
inputSchema;
|
|
88
|
+
isReadOnly;
|
|
89
|
+
client;
|
|
90
|
+
constructor(name, description, jsonSchema, client) {
|
|
91
|
+
this.name = name;
|
|
92
|
+
this.description = description;
|
|
93
|
+
this.inputSchema = z.record(z.string(), z.unknown());
|
|
94
|
+
this.isReadOnly = READ_TOOL_NAMES.has(name);
|
|
95
|
+
this.client = client;
|
|
96
|
+
this._jsonSchema = jsonSchema;
|
|
97
|
+
}
|
|
98
|
+
async call(input, _context) {
|
|
99
|
+
try {
|
|
100
|
+
const result = await this.client.callTool(this.name, input);
|
|
101
|
+
return { content: typeof result === "string" ? result : JSON.stringify(result, null, 2) };
|
|
102
|
+
} catch (err) {
|
|
103
|
+
return {
|
|
104
|
+
content: `MCP tool error: ${err instanceof Error ? err.message : String(err)}`,
|
|
105
|
+
isError: true
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
var DEFAULT_MCP_REQUEST_TIMEOUT_MS = 15e3;
|
|
111
|
+
var McpStdioClient = class {
|
|
112
|
+
constructor(command, args = [], options = {}) {
|
|
113
|
+
this.command = command;
|
|
114
|
+
this.args = args;
|
|
115
|
+
this.requestTimeoutMs = Math.max(1, options.requestTimeoutMs ?? DEFAULT_MCP_REQUEST_TIMEOUT_MS);
|
|
116
|
+
}
|
|
117
|
+
command;
|
|
118
|
+
args;
|
|
119
|
+
child = null;
|
|
120
|
+
requestId = 0;
|
|
121
|
+
pending = /* @__PURE__ */ new Map();
|
|
122
|
+
buffer = "";
|
|
123
|
+
MAX_BUFFER = 1e7;
|
|
124
|
+
// 10MB cap
|
|
125
|
+
requestTimeoutMs;
|
|
126
|
+
async connect() {
|
|
127
|
+
this.child = spawn(this.command, this.args, {
|
|
128
|
+
stdio: ["pipe", "pipe", "pipe"]
|
|
129
|
+
});
|
|
130
|
+
this.child.stdout.on("data", (chunk) => {
|
|
131
|
+
this.buffer += chunk.toString("utf-8");
|
|
132
|
+
if (this.buffer.length > this.MAX_BUFFER) {
|
|
133
|
+
this.buffer = "";
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
this.processBuffer();
|
|
137
|
+
});
|
|
138
|
+
this.child.on("error", (err) => {
|
|
139
|
+
this.rejectAllPending(err);
|
|
140
|
+
});
|
|
141
|
+
this.child.on("exit", (code, signal) => {
|
|
142
|
+
this.rejectAllPending(
|
|
143
|
+
new Error(`MCP server exited before responding (code=${code ?? "null"}, signal=${signal ?? "null"})`)
|
|
144
|
+
);
|
|
145
|
+
});
|
|
146
|
+
await this.request("initialize", {
|
|
147
|
+
protocolVersion: "2024-11-05",
|
|
148
|
+
capabilities: {},
|
|
149
|
+
clientInfo: { name: "exe-agent", version: "1.0.0" }
|
|
150
|
+
});
|
|
151
|
+
this.notify("notifications/initialized", {});
|
|
152
|
+
}
|
|
153
|
+
async listTools() {
|
|
154
|
+
const result = await this.request("tools/list", {});
|
|
155
|
+
return result.tools.map((t) => ({
|
|
156
|
+
name: t.name,
|
|
157
|
+
description: t.description ?? "",
|
|
158
|
+
inputSchema: t.inputSchema ?? {}
|
|
159
|
+
}));
|
|
160
|
+
}
|
|
161
|
+
async callTool(name, args) {
|
|
162
|
+
const result = await this.request("tools/call", {
|
|
163
|
+
name,
|
|
164
|
+
arguments: args
|
|
165
|
+
});
|
|
166
|
+
if (result.content && result.content.length > 0) {
|
|
167
|
+
return result.content.map((c) => c.text ?? "").join("\n");
|
|
168
|
+
}
|
|
169
|
+
return result;
|
|
170
|
+
}
|
|
171
|
+
async close() {
|
|
172
|
+
if (this.child) {
|
|
173
|
+
this.child.kill("SIGTERM");
|
|
174
|
+
this.child = null;
|
|
175
|
+
}
|
|
176
|
+
this.rejectAllPending(new Error("MCP client closed"));
|
|
177
|
+
}
|
|
178
|
+
request(method, params) {
|
|
179
|
+
return new Promise((resolve, reject) => {
|
|
180
|
+
if (!this.child?.stdin?.writable) {
|
|
181
|
+
reject(new Error("MCP client not connected"));
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
const id = ++this.requestId;
|
|
185
|
+
const timer = setTimeout(() => {
|
|
186
|
+
this.pending.delete(id);
|
|
187
|
+
reject(new Error(`MCP request timed out after ${this.requestTimeoutMs}ms (${method})`));
|
|
188
|
+
}, this.requestTimeoutMs);
|
|
189
|
+
timer.unref?.();
|
|
190
|
+
this.pending.set(id, { resolve, reject, timer });
|
|
191
|
+
const msg = JSON.stringify({ jsonrpc: "2.0", id, method, params });
|
|
192
|
+
this.child.stdin.write(msg + "\n", (err) => {
|
|
193
|
+
if (!err) return;
|
|
194
|
+
const pending = this.pending.get(id);
|
|
195
|
+
if (pending) {
|
|
196
|
+
clearTimeout(pending.timer);
|
|
197
|
+
this.pending.delete(id);
|
|
198
|
+
}
|
|
199
|
+
reject(err);
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
rejectAllPending(err) {
|
|
204
|
+
for (const [, p] of this.pending) {
|
|
205
|
+
clearTimeout(p.timer);
|
|
206
|
+
p.reject(err);
|
|
207
|
+
}
|
|
208
|
+
this.pending.clear();
|
|
209
|
+
}
|
|
210
|
+
notify(method, params) {
|
|
211
|
+
if (!this.child?.stdin?.writable) return;
|
|
212
|
+
const msg = JSON.stringify({ jsonrpc: "2.0", method, params });
|
|
213
|
+
this.child.stdin.write(msg + "\n");
|
|
214
|
+
}
|
|
215
|
+
processBuffer() {
|
|
216
|
+
const lines = this.buffer.split("\n");
|
|
217
|
+
this.buffer = lines.pop() ?? "";
|
|
218
|
+
for (const line of lines) {
|
|
219
|
+
if (!line.trim()) continue;
|
|
220
|
+
try {
|
|
221
|
+
const msg = JSON.parse(line);
|
|
222
|
+
if (msg.id != null && this.pending.has(msg.id)) {
|
|
223
|
+
const p = this.pending.get(msg.id);
|
|
224
|
+
this.pending.delete(msg.id);
|
|
225
|
+
clearTimeout(p.timer);
|
|
226
|
+
if (msg.error) {
|
|
227
|
+
p.reject(new Error(msg.error.message));
|
|
228
|
+
} else {
|
|
229
|
+
p.resolve(msg.result);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
} catch {
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
async function createMcpTools(serverCommand, serverArgs = []) {
|
|
238
|
+
const client = new McpStdioClient(serverCommand, serverArgs);
|
|
239
|
+
await client.connect();
|
|
240
|
+
const mcpTools = await client.listTools();
|
|
241
|
+
const tools = mcpTools.map(
|
|
242
|
+
(t) => new McpToolWrapper(t.name, t.description, t.inputSchema, client)
|
|
243
|
+
);
|
|
244
|
+
return { tools, client };
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// src/bin/exe-agent.ts
|
|
71
248
|
function parseArgs(argv) {
|
|
72
249
|
const args = { employee: "" };
|
|
73
250
|
for (let i = 2; i < argv.length; i++) {
|
|
@@ -131,6 +308,43 @@ function registerBuiltinTools(registry) {
|
|
|
131
308
|
registry.register(GlobTool);
|
|
132
309
|
registry.register(GrepTool);
|
|
133
310
|
}
|
|
311
|
+
function resolveMcpServerCommand(env = process.env, proxyPath = fileURLToPath(new URL("./exe-os-mcp-proxy.js", import.meta.url)), execPath = process.execPath) {
|
|
312
|
+
if (env.EXE_AGENT_MCP === "0" || env.EXE_AGENT_MCP === "false") return null;
|
|
313
|
+
const override = env.EXE_AGENT_MCP_COMMAND?.trim();
|
|
314
|
+
if (override) {
|
|
315
|
+
const parts = override.split(/\s+/).filter(Boolean);
|
|
316
|
+
return { command: parts[0], args: parts.slice(1) };
|
|
317
|
+
}
|
|
318
|
+
return { command: execPath, args: [proxyPath] };
|
|
319
|
+
}
|
|
320
|
+
async function registerMcpTools(registry, connect = createMcpTools, env = process.env) {
|
|
321
|
+
const server = resolveMcpServerCommand(env);
|
|
322
|
+
if (!server) {
|
|
323
|
+
console.error("[exe-agent] MCP disabled (EXE_AGENT_MCP=0) \u2014 builtin tools only.");
|
|
324
|
+
return null;
|
|
325
|
+
}
|
|
326
|
+
try {
|
|
327
|
+
const { tools, client } = await connect(server.command, server.args);
|
|
328
|
+
const builtins = new Set(registry.names());
|
|
329
|
+
let registered = 0;
|
|
330
|
+
for (const tool of tools) {
|
|
331
|
+
if (builtins.has(tool.name)) {
|
|
332
|
+
console.error(`[exe-agent] Skipping MCP tool "${tool.name}" \u2014 name collides with a builtin.`);
|
|
333
|
+
continue;
|
|
334
|
+
}
|
|
335
|
+
registry.register(tool);
|
|
336
|
+
registered++;
|
|
337
|
+
}
|
|
338
|
+
console.error(`[exe-agent] MCP connected \u2014 ${registered} tool(s) registered.`);
|
|
339
|
+
return client;
|
|
340
|
+
} catch (err) {
|
|
341
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
342
|
+
console.error(
|
|
343
|
+
`[exe-agent] MCP unavailable (${reason}) \u2014 continuing with builtin tools only. Memory, tasks and wiki will NOT be reachable this session.`
|
|
344
|
+
);
|
|
345
|
+
return null;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
134
348
|
async function main() {
|
|
135
349
|
const args = parseArgs(process.argv);
|
|
136
350
|
if (!args.employee) {
|
|
@@ -146,10 +360,15 @@ async function main() {
|
|
|
146
360
|
const model = args.model ?? provider.defaultModel ?? "claude-sonnet-4-20250514";
|
|
147
361
|
const registry = new ToolRegistry();
|
|
148
362
|
registerBuiltinTools(registry);
|
|
363
|
+
const mcpClient = await registerMcpTools(registry);
|
|
149
364
|
const abortController = new AbortController();
|
|
150
365
|
const shutdown = () => {
|
|
151
366
|
process.stderr.write("\n[exe-agent] Shutting down...\n");
|
|
152
367
|
abortController.abort();
|
|
368
|
+
try {
|
|
369
|
+
mcpClient?.close();
|
|
370
|
+
} catch {
|
|
371
|
+
}
|
|
153
372
|
};
|
|
154
373
|
process.on("SIGINT", shutdown);
|
|
155
374
|
process.on("SIGTERM", shutdown);
|
|
@@ -188,11 +407,30 @@ async function main() {
|
|
|
188
407
|
rl.prompt();
|
|
189
408
|
});
|
|
190
409
|
rl.on("close", () => {
|
|
410
|
+
try {
|
|
411
|
+
mcpClient?.close();
|
|
412
|
+
} catch {
|
|
413
|
+
}
|
|
191
414
|
console.error("[exe-agent] Session ended.");
|
|
192
415
|
process.exit(0);
|
|
193
416
|
});
|
|
194
417
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
418
|
+
function isDirectRun(entry = process.argv[1], selfUrl = import.meta.url) {
|
|
419
|
+
if (!entry) return false;
|
|
420
|
+
try {
|
|
421
|
+
return realpathSync(entry) === realpathSync(fileURLToPath(selfUrl));
|
|
422
|
+
} catch {
|
|
423
|
+
return false;
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
if (isDirectRun()) {
|
|
427
|
+
main().catch((err) => {
|
|
428
|
+
console.error(`[exe-agent] Fatal: ${err instanceof Error ? err.message : String(err)}`);
|
|
429
|
+
process.exit(1);
|
|
430
|
+
});
|
|
431
|
+
}
|
|
432
|
+
export {
|
|
433
|
+
isDirectRun,
|
|
434
|
+
registerMcpTools,
|
|
435
|
+
resolveMcpServerCommand
|
|
436
|
+
};
|