@askexenow/exe-os 0.9.372 → 0.9.374
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 +45 -10
- package/deploy/compose/.env.example +46 -9
- package/deploy/compose/docker-compose.yml +136 -18
- package/deploy/compose/generate-env.ts +142 -34
- package/deploy/compose/sso-edge/default.conf.template +78 -7
- package/deploy/compose/sso-edge/sso-redirect.conf +109 -13
- package/deploy/stack-manifests/v0.9.30-apps.json +1 -1
- package/deploy/stack-manifests/v0.9.json +4 -4
- package/dist/.dist-verified.json +3 -3
- package/dist/{active-agent-GRT5MKD5.js → active-agent-ONPPEWQV.js} +7 -6
- package/dist/{active-agent-L2ZSSXDK.js → active-agent-UJKMG7LJ.js} +7 -6
- package/dist/{agent-defs-generator-M4ZNYIVX.js → agent-defs-generator-ZWI6DXOE.js} +6 -5
- package/dist/{agent-loop-FOK2IRZQ.js → agent-loop-OYHJKNYH.js} +1 -1
- package/dist/{agentic-ontology-DMPRDEUX.js → agentic-ontology-WHFJ3QFS.js} +1 -1
- package/dist/{artifact-backup-767STHSW.js → artifact-backup-WXZNB7KE.js} +2 -1
- package/dist/{backfill-gate-VX2RZTQV.js → backfill-gate-KWJQ35YX.js} +3 -2
- package/dist/{backfill-metadata-ZMEHJQ5M.js → backfill-metadata-3OUSQD5V.js} +8 -7
- package/dist/{background-jobs-LTPWCMA3.js → background-jobs-6VMD55PK.js} +3 -2
- package/dist/{backup-verify-EX2K732J.js → backup-verify-ZKTUYLTA.js} +4 -3
- package/dist/{behavior-injection-22AGMS25.js → behavior-injection-M6UYZCMW.js} +17 -15
- package/dist/{behaviors-DVFXAWF5.js → behaviors-ZJ45TFBJ.js} +21 -13
- package/dist/bin/age-ontology-load.js +3 -2
- package/dist/bin/agentic-ontology-backfill.js +10 -9
- package/dist/bin/agentic-reflection-backfill.js +11 -10
- package/dist/bin/agentic-semantic-label.js +10 -9
- package/dist/bin/backfill-conversations.js +13 -11
- package/dist/bin/backfill-responses.js +13 -11
- package/dist/bin/backfill-vectors.js +17 -15
- package/dist/bin/bulk-sync-postgres.js +22 -20
- package/dist/bin/cc-doctor.js +10 -9
- package/dist/bin/cleanup-stale-review-tasks.js +29 -26
- package/dist/bin/cli.js +36 -26
- package/dist/bin/deferred-daemon-restart.js +114 -110
- package/dist/bin/exe-agent-config.js +6 -5
- package/dist/bin/exe-agent.js +127 -33
- package/dist/bin/exe-assign.js +15 -13
- package/dist/bin/exe-boot.js +57 -54
- package/dist/bin/exe-call.js +8 -7
- package/dist/bin/exe-cloud.js +24 -22
- package/dist/bin/exe-config-dump.js +6 -5
- package/dist/bin/exe-dispatch.js +30 -27
- package/dist/bin/exe-doctor.js +14 -10
- package/dist/bin/exe-export-behaviors.js +19 -17
- package/dist/bin/exe-forget.js +10 -9
- package/dist/bin/exe-gateway.js +199 -19
- package/dist/bin/exe-grant.js +5 -5
- package/dist/bin/exe-healthcheck.js +10 -9
- package/dist/bin/exe-heartbeat.js +35 -32
- package/dist/bin/exe-kill.js +34 -31
- package/dist/bin/exe-launch-agent.js +126 -54
- package/dist/bin/exe-mcp.js +6 -5
- package/dist/bin/exe-memory-reads.js +8 -7
- package/dist/bin/exe-new-employee.js +12 -11
- package/dist/bin/exe-os-mcp-proxy.js +6 -5
- package/dist/bin/exe-pending-messages.js +30 -27
- package/dist/bin/exe-pending-notifications.js +29 -26
- package/dist/bin/exe-pending-reviews.js +30 -27
- package/dist/bin/exe-rename.js +8 -7
- package/dist/bin/exe-repo-truth.js +1 -1
- package/dist/bin/exe-review.js +33 -30
- package/dist/bin/exe-search.js +9 -8
- package/dist/bin/exe-session-cleanup.js +35 -32
- package/dist/bin/exe-settings.js +24 -22
- package/dist/bin/exe-start-codex.js +137 -55
- package/dist/bin/exe-start-opencode.js +121 -23
- package/dist/bin/exe-status.js +31 -28
- package/dist/bin/exe-support.js +5 -4
- package/dist/bin/exe-team.js +7 -6
- package/dist/bin/exe-watchdog.js +31 -11
- package/dist/bin/generate-hook-manifest.js +44 -7
- package/dist/bin/git-sweep.js +31 -28
- package/dist/bin/graph-backfill.js +89 -35
- package/dist/bin/graph-export.js +9 -8
- package/dist/bin/import-history.js +14 -13
- package/dist/bin/install.js +137 -113
- package/dist/bin/intercom-check.js +5 -5
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +7 -6
- package/dist/bin/postgres-agentic-reflection-backfill.js +5 -4
- package/dist/bin/postgres-agentic-semantic-backfill.js +4 -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 +29 -26
- package/dist/bin/setup.js +5 -4
- package/dist/bin/shard-migrate.js +9 -8
- package/dist/bin/stack-update.js +40 -9
- package/dist/bin/verify-stack.js +2 -2
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/{boot-generation-OHXH4YC5.js → boot-generation-JKVZ4ZAT.js} +6 -5
- package/dist/{boot-review-sections-N5IXIGSS.js → boot-review-sections-2M6BTG73.js} +28 -25
- package/dist/{branch-hygiene-KCGXRAWP.js → branch-hygiene-U5GFRSTP.js} +31 -7
- package/dist/{branding-GH43W3PU.js → branding-I6KIMB7F.js} +3 -2
- package/dist/budget-fallback-XJRPMP2D.js +11 -0
- package/dist/build-manifest.json +1318 -1233
- package/dist/{capability-cards-4PXVLIVS.js → capability-cards-5IMJT6J7.js} +5 -4
- package/dist/{capacity-monitor-FKMQXORX.js → capacity-monitor-SAXCQK7O.js} +30 -27
- package/dist/{catchup-brief-SN5EKO4N.js → catchup-brief-U2TXBLHD.js} +34 -31
- package/dist/{chunk-CNC57JCS.js → chunk-23MVDXLY.js} +4 -4
- package/dist/{chunk-V4XAKXXF.js → chunk-2AJGV5UL.js} +1 -1
- package/dist/{chunk-FBYAXTDM.js → chunk-2ZOEC4KC.js} +10 -2
- package/dist/{chunk-ELXFSIIM.js → chunk-32YV32VA.js} +2 -2
- package/dist/{chunk-44C7QNZS.js → chunk-3KDCORDO.js} +1 -1
- package/dist/{chunk-JTB5V6BV.js → chunk-3SXHEQ7X.js} +1 -1
- package/dist/{chunk-HDW4XPDV.js → chunk-3UUX5OY4.js} +1 -1
- package/dist/{chunk-7PSLK36P.js → chunk-44TLJZJ5.js} +1 -1
- package/dist/{chunk-JTWTBX2M.js → chunk-4EN3IZ3Q.js} +2 -1
- package/dist/{chunk-KPMC7PY7.js → chunk-4HKTO2SV.js} +1 -1
- package/dist/{chunk-CDUB5Q6J.js → chunk-4IK2K3B3.js} +1 -1
- package/dist/{chunk-GH6YJOOC.js → chunk-4SJ4LK4V.js} +6 -6
- package/dist/{chunk-PVEM537A.js → chunk-4YLBKEL5.js} +2 -2
- package/dist/chunk-4YNA3CM6.js +872 -0
- package/dist/{chunk-KYFFVTGO.js → chunk-55BEFF4V.js} +3 -3
- package/dist/{chunk-SEP5ITFQ.js → chunk-636LKCKE.js} +2 -2
- package/dist/{chunk-QTI4QAWA.js → chunk-6EZQUNE6.js} +338 -5
- package/dist/{chunk-WAEKYKTK.js → chunk-6RKKVPYF.js} +1 -1
- package/dist/{chunk-VX2F4ZUY.js → chunk-6SCGLHJ7.js} +3 -3
- package/dist/{chunk-MEGRQ53A.js → chunk-6VHOQ3IM.js} +51 -6
- package/dist/{chunk-HIIXCAEE.js → chunk-6YVUR3OU.js} +3 -3
- package/dist/{chunk-L6ZNURWN.js → chunk-7GE2EQ23.js} +1 -1
- package/dist/{chunk-2CWS374F.js → chunk-7RI2CNXJ.js} +1 -1
- package/dist/{chunk-OL3QP3AU.js → chunk-7TSBV3SD.js} +1 -1
- package/dist/{chunk-DSOQUQTV.js → chunk-A27Q27CT.js} +27 -0
- package/dist/{chunk-5AHRZI3R.js → chunk-AETLDRZB.js} +1 -1
- package/dist/{chunk-RNLF3CBB.js → chunk-AKLJ4JH3.js} +1 -1
- package/dist/{chunk-XHYHX6F7.js → chunk-AKLQSC6W.js} +329 -164
- package/dist/chunk-ANLFH23R.js +261 -0
- package/dist/{chunk-QLA3RTH4.js → chunk-AWWKRZMB.js} +5 -5
- package/dist/{chunk-ERVQTR7P.js → chunk-BBSIEYF5.js} +17 -3
- package/dist/{chunk-IPMUWYRQ.js → chunk-BJ7AVSY6.js} +2 -2
- package/dist/{chunk-HV6Y6F4X.js → chunk-C2L622QJ.js} +89 -3
- package/dist/{chunk-TX3Q2GIL.js → chunk-C5HUMAA7.js} +24 -1
- package/dist/{chunk-QTYJPWJN.js → chunk-CBCGDEJA.js} +7 -7
- package/dist/{chunk-XXSNLM6R.js → chunk-DB55JZHU.js} +1 -1
- package/dist/{chunk-LAZKEJMS.js → chunk-DIXXEE3S.js} +840 -607
- package/dist/{chunk-FB343XQX.js → chunk-DJ7YXOTU.js} +2 -2
- package/dist/{chunk-YFCNWQAM.js → chunk-DJOIMFKV.js} +2 -2
- package/dist/{chunk-UTDMTQNH.js → chunk-DSJI76XL.js} +92 -14
- package/dist/{chunk-EEXX4UMQ.js → chunk-DZKPOSFD.js} +1 -1
- package/dist/{chunk-WSOA3WMC.js → chunk-E426DOSY.js} +161 -4
- package/dist/{chunk-ZISQOOER.js → chunk-EKE37MO4.js} +3 -3
- package/dist/{chunk-RIECV7SR.js → chunk-EKYYMIVT.js} +1 -1
- package/dist/{chunk-HIVZ53YB.js → chunk-EXTZSNWL.js} +2 -2
- package/dist/{chunk-YYA5LXCT.js → chunk-FNEZ4BWT.js} +1 -1
- package/dist/chunk-FTZET5YX.js +313 -0
- package/dist/chunk-GHR4ZPJ7.js +70 -0
- package/dist/{chunk-MINXPXAB.js → chunk-GJI77VDO.js} +3 -3
- package/dist/{chunk-AAMGHW5W.js → chunk-GLQEJOXE.js} +1 -0
- package/dist/{chunk-ADNBOKYZ.js → chunk-GM7TLYOK.js} +60 -18
- package/dist/{chunk-RUWWES2K.js → chunk-GNUAL43X.js} +2 -2
- package/dist/{chunk-QZL6E4UB.js → chunk-GOMQ7PVQ.js} +2 -2
- package/dist/{chunk-GB3AHV5F.js → chunk-GQOEWNVM.js} +1 -1
- package/dist/{chunk-NQZUSEAR.js → chunk-GS7LIT34.js} +246 -17
- package/dist/{chunk-XTWHNLGD.js → chunk-GZOG2MAX.js} +1 -1
- package/dist/{chunk-E5HAY3DQ.js → chunk-HDLAB7W3.js} +1 -1
- package/dist/{chunk-E5QQZDQN.js → chunk-HNWS7YHN.js} +358 -136
- package/dist/{chunk-VV5EZZNT.js → chunk-HTBEVCO2.js} +1 -1
- package/dist/{chunk-OZBII5E3.js → chunk-I4DNJFDR.js} +4 -4
- package/dist/{chunk-SI5SZAJA.js → chunk-IBS2FAI4.js} +21 -4
- package/dist/{chunk-J5EYOBFF.js → chunk-IHXW4VUI.js} +1 -1
- package/dist/{chunk-RUVO3NJC.js → chunk-IN6CAM4F.js} +9 -3
- package/dist/{chunk-53PYNYTW.js → chunk-IRVOXUSK.js} +5 -5
- package/dist/{chunk-THM7J6UI.js → chunk-JHI5WMK5.js} +5 -5
- package/dist/{chunk-3KTQWMHI.js → chunk-JSMDRKPJ.js} +12 -4
- package/dist/chunk-JTVIANUB.js +131 -0
- package/dist/{chunk-2ADYTOHQ.js → chunk-K4ESASPL.js} +1 -1
- package/dist/{chunk-YWUQVHDL.js → chunk-KTCXJWJG.js} +1 -1
- package/dist/{chunk-RGUDGC6A.js → chunk-KTU3EAWK.js} +5 -5
- package/dist/{chunk-DKBPCOU4.js → chunk-L6RXG36J.js} +2 -2
- package/dist/{chunk-T4EK56WI.js → chunk-LDNYSMPZ.js} +1 -1
- package/dist/{chunk-RIK5GRWI.js → chunk-LGS2V2XD.js} +3 -3
- package/dist/{chunk-JKXZGRWR.js → chunk-LP4GB656.js} +2 -2
- package/dist/{chunk-H74466TM.js → chunk-M7O7TGGU.js} +1 -1
- package/dist/chunk-MJCSEIFI.js +54 -0
- package/dist/{chunk-IDZPQG2D.js → chunk-MOGA4Q7F.js} +2 -2
- package/dist/{chunk-OYQNNKNS.js → chunk-MXPNVSXI.js} +37 -14
- package/dist/{chunk-UVW7YFAF.js → chunk-N7VEP5B3.js} +4 -4
- package/dist/{chunk-HHE2HV3V.js → chunk-NBXDXKLC.js} +1 -1
- package/dist/{chunk-LDL3S7AC.js → chunk-NKETJCB5.js} +7 -3
- package/dist/{chunk-ECHLVLA7.js → chunk-NMH5ZQPU.js} +1 -1
- package/dist/{chunk-U3XLRMJD.js → chunk-NT7W4RXD.js} +1 -1
- package/dist/{chunk-UQUUNGTP.js → chunk-NUK7EEN5.js} +11 -9
- package/dist/{chunk-GBNB4EWD.js → chunk-ORM7ZFKC.js} +16 -0
- package/dist/{chunk-O4ZFRK6W.js → chunk-OVEQE6YS.js} +244 -49
- package/dist/{chunk-4ZJ5BPY6.js → chunk-PB5S7YOF.js} +2 -2
- package/dist/{chunk-JR23BL74.js → chunk-PDVXWXTL.js} +4 -4
- package/dist/{chunk-3CIMDFXG.js → chunk-PFQ3VEEM.js} +1 -1
- package/dist/{chunk-SBJV2PCU.js → chunk-PHBU4LGO.js} +1 -1
- package/dist/{chunk-W25RLOQ2.js → chunk-PLZSZOZN.js} +3 -3
- package/dist/{chunk-THIJIOE2.js → chunk-PY3FOMRN.js} +18 -6
- package/dist/{chunk-AAUWFXOX.js → chunk-Q3AXXKDF.js} +3 -3
- package/dist/{chunk-VKXS2YGN.js → chunk-QHJR7IMX.js} +2 -2
- package/dist/chunk-QLZ46RCK.js +45 -0
- package/dist/{chunk-UHPMK6QZ.js → chunk-R3CZWFFC.js} +10 -2
- package/dist/{chunk-6XEYELCA.js → chunk-R4CBHKZ2.js} +1 -1
- package/dist/{chunk-5APCDDJZ.js → chunk-R522MWAR.js} +9 -9
- package/dist/chunk-RH4AH3YB.js +80 -0
- package/dist/{chunk-AMKSDKMK.js → chunk-S2WBS6BG.js} +22 -35
- package/dist/{chunk-WUKQVNLP.js → chunk-SEQIPGLU.js} +1 -1
- package/dist/{chunk-7WQRFSZI.js → chunk-SL6KQYDU.js} +26 -6
- package/dist/chunk-SLLLOOEI.js +103 -0
- package/dist/{chunk-5N4SG5NB.js → chunk-T35RCQFE.js} +3 -3
- package/dist/{chunk-7V6M3QUS.js → chunk-T3QUKNLI.js} +1 -1
- package/dist/{chunk-CW2UCKHS.js → chunk-TADAO3HV.js} +2 -2
- package/dist/{chunk-5DCCKHDY.js → chunk-TAMDAOCU.js} +109 -13
- package/dist/{chunk-ZXB56YR2.js → chunk-TFKCERAK.js} +101 -23
- package/dist/{chunk-RBYHJDAT.js → chunk-TQAZTRQ3.js} +3 -3
- package/dist/{chunk-OKGIOWOB.js → chunk-U6SUKSZR.js} +2 -2
- package/dist/{chunk-23QKEUF6.js → chunk-U73AC5AN.js} +34 -12
- package/dist/{chunk-PM6WSWVU.js → chunk-UBK7HK3J.js} +3 -3
- package/dist/{chunk-H37FSTF2.js → chunk-UBMZ3YQU.js} +1 -1
- package/dist/{chunk-JJUGI2YL.js → chunk-UCFC2AEI.js} +1 -1
- package/dist/{chunk-6IWLAQ7O.js → chunk-UCUOGVDX.js} +4 -0
- package/dist/{chunk-E7UCDSUE.js → chunk-UKLN57Q5.js} +2 -2
- package/dist/{chunk-ZYCLSEZT.js → chunk-ULIBLJ6W.js} +33 -11
- package/dist/{chunk-RLR6VVKV.js → chunk-UM3N6VND.js} +4 -4
- package/dist/{chunk-ZNUJFX7L.js → chunk-UQGSBM3U.js} +1 -1
- package/dist/{chunk-ZZXMB5F2.js → chunk-UZDF6FLJ.js} +1 -1
- package/dist/{chunk-LNOS24GV.js → chunk-V3WLC5TJ.js} +2 -95
- package/dist/{chunk-UXLO7VHX.js → chunk-VI4ATC6I.js} +1 -1
- package/dist/{chunk-77JP3LK4.js → chunk-VKJGHAZT.js} +92 -21
- package/dist/{chunk-7R73IAHU.js → chunk-VMTZ4RUW.js} +67 -150
- package/dist/{chunk-TGPQMMQP.js → chunk-VYQ7B7DI.js} +30 -17
- package/dist/{chunk-E2WEFZOR.js → chunk-W75GTHR3.js} +1 -1
- package/dist/{chunk-UKLF7F3Z.js → chunk-WJG344NC.js} +9 -9
- package/dist/{chunk-MBNIJXKI.js → chunk-WMEYJT4R.js} +18 -4
- package/dist/{chunk-R6FLELV6.js → chunk-XFTEX77S.js} +3 -3
- package/dist/{chunk-MDGYXUOV.js → chunk-XH7YL7JM.js} +1 -1
- package/dist/{chunk-JOO35RHR.js → chunk-XL5MFGMR.js} +3 -3
- package/dist/{chunk-OW5RZIDW.js → chunk-XNNECNDL.js} +95 -33
- package/dist/{chunk-5AHDQCTB.js → chunk-XXFKSJYA.js} +6 -6
- package/dist/{chunk-TGEPLJ66.js → chunk-XXOPG4BW.js} +3 -3
- package/dist/{chunk-PGLPUP37.js → chunk-XZ65ST2I.js} +1 -1
- package/dist/{chunk-3TTKAT6V.js → chunk-YKC7QDZH.js} +9 -4
- package/dist/{chunk-KXYFBBZR.js → chunk-YMP2QSOP.js} +20 -3
- package/dist/{chunk-TK4MI6F6.js → chunk-YSLGFPWX.js} +6 -6
- package/dist/{chunk-X2P43TB2.js → chunk-YTSXPJUQ.js} +1 -1
- package/dist/{chunk-HECXZGGZ.js → chunk-ZCERWHY2.js} +33 -35
- package/dist/{chunk-IVU3WN7S.js → chunk-ZG62LIK3.js} +74 -4
- package/dist/{chunk-GU62SNDH.js → chunk-ZGYNKA3O.js} +744 -111
- package/dist/{chunk-QMSEL5YS.js → chunk-ZIG7VPJV.js} +28 -76
- package/dist/{chunk-WZJVGA5I.js → chunk-ZL4AGWAH.js} +258 -13
- package/dist/{chunk-QR624DER.js → chunk-ZSODLMFV.js} +2 -2
- package/dist/{cleanup-graph-garbage-IPYDS5OX.js → cleanup-graph-garbage-DPJGO52H.js} +11 -10
- package/dist/{cloud-sync-command-JLNVG7H4.js → cloud-sync-command-JPNTT4OQ.js} +2 -2
- package/dist/{cloud-sync-db-init-JXUF6GI3.js → cloud-sync-db-init-V2LWIUQU.js} +1 -1
- package/dist/{cloud-sync-shutdown-Z4SBP6PL.js → cloud-sync-shutdown-BNALPWGX.js} +5 -4
- package/dist/{co-activation-74RDFTKS.js → co-activation-CMNSWS6B.js} +5 -4
- package/dist/{co-occurrence-CN3TBYVR.js → co-occurrence-WRI2NAN6.js} +9 -8
- package/dist/{code-context-index-D4MJ4VFX.js → code-context-index-NOJSHLPN.js} +12 -6
- package/dist/code-context-watcher-VZNZU3BO.js +118 -0
- package/dist/{codex-consolidation-PPXNBXCV.js → codex-consolidation-SH4UKFBQ.js} +2 -1
- package/dist/{conversation-entity-extractor-QGTLH4BP.js → conversation-entity-extractor-74252CAO.js} +4 -4
- package/dist/{conversation-wiki-populator-EBUZXYEU.js → conversation-wiki-populator-OS4C6W54.js} +1 -1
- package/dist/conversations-retention-C4BLKFEL.js +54 -0
- package/dist/coordinator-notice-MHUY7AQB.js +55 -0
- package/dist/{crdt-sync-7T4WCOKD.js → crdt-sync-B3JN6AIV.js} +1 -1
- package/dist/{crm-webhook-FTW3XZTO.js → crm-webhook-GYWQRFET.js} +2 -2
- package/dist/{cto-delegation-gate-SZCE34LB.js → cto-delegation-gate-LQHVLEMW.js} +29 -26
- package/dist/{daemon-auth-SSPY5ODS.js → daemon-auth-QZHEO7IQ.js} +3 -2
- package/dist/{daemon-orchestration-IGPHVNFR.js → daemon-orchestration-5HIQALZH.js} +36 -34
- package/dist/{daemon-ready-OT2VQLS7.js → daemon-ready-P2BR2XP5.js} +1 -1
- package/dist/{db-integrity-events-5DTASXJF.js → db-integrity-events-2DTFO37N.js} +3 -2
- package/dist/{db-restore-events-2FI4ZMKA.js → db-restore-events-G6NOQOVE.js} +2 -1
- package/dist/{destructive-data-guard-6I5MDFVD.js → destructive-data-guard-BVFWPPIS.js} +1 -1
- package/dist/doc-graph-extractor-PQHDHQPQ.js +367 -0
- package/dist/{documents-URULIXGM.js → documents-C4SSPJMC.js} +15 -13
- package/dist/{dreaming-VIZO3QDO.js → dreaming-XAO3FCBV.js} +33 -30
- package/dist/{employee-boot-brief-XLOG4ULP.js → employee-boot-brief-W4OHUMRQ.js} +37 -34
- package/dist/{exe-drift-TLQM3IHD.js → exe-drift-AG2KMKD5.js} +6 -5
- package/dist/{exe-export-7YWYWJHY.js → exe-export-IC5BT335.js} +17 -15
- package/dist/{exe-import-DW6VAUKW.js → exe-import-A35ZLDPG.js} +17 -15
- package/dist/{exe-key-TLJP2B4Y.js → exe-key-TCMJNYLA.js} +116 -112
- package/dist/{exe-org-LU46N36E.js → exe-org-JXCR3JYZ.js} +24 -23
- package/dist/{exe-snapshot-QHUZRS62.js → exe-snapshot-SV6SRIG6.js} +36 -33
- package/dist/{fast-db-init-SCTOOIUT.js → fast-db-init-L2RGKJWH.js} +1 -1
- package/dist/{founder-context-ZFZC4UHO.js → founder-context-D4HFIESJ.js} +4 -3
- package/dist/{founder-monitor-envelope-5KTKNL5G.js → founder-monitor-envelope-TFKRGCFE.js} +5 -4
- package/dist/{fts-integrity-LKAZEZJE.js → fts-integrity-4YB34KWX.js} +3 -2
- package/dist/gateway/index.js +19 -17
- package/dist/{git-main-guard-TN27QBAI.js → git-main-guard-VTW4N3CM.js} +7 -1
- package/dist/{git-staleness-GSGP344N.js → git-staleness-TN7CYGFG.js} +5 -4
- package/dist/{global-procedures-YAR7G4C6.js → global-procedures-YFDEIOG7.js} +7 -6
- package/dist/{graph-auto-extract-GNQS64F5.js → graph-auto-extract-3YR3TYRW.js} +9 -8
- package/dist/{graph-rag-RMSFLUOB.js → graph-rag-Z2KCJTPK.js} +6 -4
- package/dist/{hook-integrity-CF567MVN.js → hook-integrity-KGAV6ZC2.js} +14 -4
- package/dist/{hook-prefetch-36BK4F7U.js → hook-prefetch-K5DN3TOQ.js} +29 -26
- package/dist/hooks/bug-report-worker.js +34 -30
- package/dist/hooks/codex-stop-task-finalizer.js +36 -32
- package/dist/hooks/commit-complete.js +33 -30
- package/dist/hooks/error-recall.js +12 -11
- package/dist/hooks/exe-heartbeat-hook.js +8 -7
- package/dist/hooks/ingest-worker.js +23 -11
- package/dist/hooks/ingest.js +18 -17
- package/dist/hooks/instructions-loaded.js +10 -9
- package/dist/hooks/manifest.json +20 -20
- package/dist/hooks/notification.js +9 -8
- package/dist/hooks/post-compact.js +8 -7
- package/dist/hooks/post-tool-combined.js +26 -15
- package/dist/hooks/pre-compact.js +33 -30
- package/dist/hooks/pre-tool-use.js +404 -46
- package/dist/hooks/prompt-submit.js +57 -47
- package/dist/hooks/session-end.js +40 -41
- package/dist/hooks/session-start.js +21 -20
- package/dist/hooks/stop.js +40 -37
- package/dist/hooks/subagent-stop.js +38 -35
- package/dist/hooks/summary-worker.js +39 -36
- package/dist/hyde-MP4QNMU5.js +80 -0
- package/dist/index.js +44 -39
- package/dist/{installer-LUN4HQIC.js → installer-54HTN5RE.js} +8 -7
- package/dist/{installer-OC5VXNC7.js → installer-LK35OX6R.js} +8 -7
- package/dist/{installer-MPRFUQJE.js → installer-LLWKZI2S.js} +8 -7
- package/dist/intercom-ack-VCW755TN.js +13 -0
- package/dist/{intercom-queue-6DZ7BANV.js → intercom-queue-5NOT2RKI.js} +28 -25
- package/dist/{key-backup-status-6L2ARCXW.js → key-backup-status-LQPINQ3W.js} +2 -1
- package/dist/lib/agent-config.js +3 -2
- package/dist/lib/cloud-sync.js +26 -20
- package/dist/lib/config.js +2 -1
- package/dist/lib/consolidation.js +17 -10
- package/dist/lib/database.js +7 -4
- package/dist/lib/db-backup.js +17 -2
- package/dist/lib/db-daemon-client.js +8 -6
- package/dist/lib/db-write-worker-client.js +3 -1
- package/dist/lib/db-write-worker.js +20 -3
- package/dist/lib/db.js +7 -4
- package/dist/lib/device-registry.js +3 -2
- package/dist/lib/embed-worker.js +2 -1
- package/dist/lib/embedder.js +8 -6
- package/dist/lib/employee-templates.js +8 -7
- package/dist/lib/employees.js +5 -4
- package/dist/lib/exe-daemon-client.js +7 -5
- package/dist/lib/exe-daemon.js +467 -221
- package/dist/lib/hybrid-search.js +11 -8
- package/dist/lib/identity.js +5 -4
- package/dist/lib/license.js +4 -3
- package/dist/lib/messaging.js +29 -26
- package/dist/lib/post-tool-memory.js +16 -2
- package/dist/lib/registry-proxy.js +3 -1
- package/dist/lib/reminders.js +6 -5
- package/dist/lib/schedules.js +9 -8
- package/dist/lib/session-registry.js +7 -6
- package/dist/lib/skill-learning.js +16 -14
- package/dist/lib/stack-invariants.js +17 -1
- package/dist/lib/status-brief.js +5 -4
- package/dist/lib/store.js +10 -7
- package/dist/lib/task-router.js +6 -5
- package/dist/lib/tasks.js +31 -27
- package/dist/lib/tmux-routing.js +40 -25
- package/dist/lib/tmux-status.js +3 -1
- package/dist/lib/tmux-transport.js +2 -1
- package/dist/lib/token-spend.js +6 -5
- package/dist/lib/transport.js +3 -2
- package/dist/{license-gate-ESER24PJ.js → license-gate-JVMB6OFD.js} +5 -4
- package/dist/{license-sync-JVG5KNIY.js → license-sync-5VYS2F2W.js} +4 -3
- package/dist/mcp/register-tools.js +113 -109
- package/dist/mcp/server.js +118 -114
- package/dist/mcp/tools/complete-reminder.js +7 -6
- package/dist/mcp/tools/create-reminder.js +7 -6
- package/dist/mcp/tools/create-task.js +34 -30
- package/dist/mcp/tools/deactivate-behavior.js +18 -16
- package/dist/mcp/tools/list-reminders.js +7 -6
- package/dist/mcp/tools/list-tasks.js +34 -30
- package/dist/mcp/tools/send-message.js +32 -29
- package/dist/mcp/tools/update-task.js +32 -28
- package/dist/mcp-child-registry-OTG4MWO7.js +25 -0
- package/dist/{mcp-http-config-6K6IKH5F.js → mcp-http-config-DQWL7U2Z.js} +6 -5
- package/dist/{mcp-session-identity-LRC6WJSD.js → mcp-session-identity-277GASTQ.js} +28 -25
- package/dist/{memory-cards-V3OZHIYP.js → memory-cards-3S2ZQPR7.js} +17 -8
- package/dist/{memory-graph-extractor-JC2Z64L4.js → memory-graph-extractor-A6DFEFIN.js} +10 -9
- package/dist/{memory-poisoning-defense-YM4QJHCX.js → memory-poisoning-defense-ZVP4H6DY.js} +5 -4
- package/dist/{memory-pressure-watchdog-6F6KEQHN.js → memory-pressure-watchdog-6W5F6R7H.js} +29 -26
- package/dist/{memory-queue-QJNWKWKG.js → memory-queue-YF7IDSFY.js} +3 -2
- package/dist/{memory-queue-client-COA4ABEV.js → memory-queue-client-ADSDP6OX.js} +9 -7
- package/dist/{memory-reflection-QXHJPYPC.js → memory-reflection-BKB2YOE6.js} +52 -6
- package/dist/{monitor-grants-BW2WL4IU.js → monitor-grants-EV747HMW.js} +4 -3
- package/dist/{notification-ledger-6QRLQW4Q.js → notification-ledger-CLGM7ODF.js} +30 -27
- package/dist/{notifications-7B6D7Y5C.js → notifications-MACUZPYP.js} +28 -25
- package/dist/{oauth-server-TZFNQAFS.js → oauth-server-AYM37SQ4.js} +25 -4
- package/dist/{orchestration-events-GY5VP5LU.js → orchestration-events-N7LYMUGA.js} +6 -5
- package/dist/{orchestration-phase-UDS24CVQ.js → orchestration-phase-T2WD45UA.js} +3 -2
- package/dist/{orchestrator-JVPVOYWA.js → orchestrator-4X24EWHV.js} +30 -27
- package/dist/{org-brief-session-GRV5R5E3.js → org-brief-session-FZOFMO5U.js} +13 -12
- package/dist/{org-consent-policy-3FHHSYXV.js → org-consent-policy-O5E6HXBL.js} +1 -1
- package/dist/{org-join-BY4PV6UO.js → org-join-POWUG25F.js} +8 -7
- package/dist/{org-key-admin-WSCPT2CZ.js → org-key-admin-E7EMDOZZ.js} +9 -8
- package/dist/{org-key-pin-5WUSPGVN.js → org-key-pin-WHWHVWUO.js} +4 -3
- package/dist/{org-membership-ESALTLLN.js → org-membership-WRT2IHJK.js} +5 -4
- package/dist/{org-partner-config-YKHPDPZR.js → org-partner-config-B7T4CL2T.js} +7 -6
- package/dist/{org-partner-runtime-UJDGECZ4.js → org-partner-runtime-FODONVTM.js} +13 -12
- package/dist/{org-row-visibility-V5DXIHTE.js → org-row-visibility-VX4AVV5Q.js} +1 -1
- package/dist/{pipeline-router-YY5FQKTY.js → pipeline-router-6GGT2ZW3.js} +6 -5
- package/dist/{plan-limits-OVX6SN6B.js → plan-limits-FUN76LYY.js} +8 -7
- package/dist/{platform-procedures-I57ITMDC.js → platform-procedures-7YSCLF4Z.js} +1 -1
- package/dist/{postinstall-failure-B2JHNFPM.js → postinstall-failure-O6TSSNJB.js} +3 -2
- package/dist/{project-boot-LXLU2J32.js → project-boot-3Q65LCIP.js} +2 -1
- package/dist/project-name-LJVFMYTQ.js +30 -0
- package/dist/{projection-worker-D2472IOD.js → projection-worker-4OANGP5K.js} +5 -4
- package/dist/{prospective-memory-JXO2A6PL.js → prospective-memory-KR3P4T6N.js} +5 -4
- package/dist/{push-notifications-HR3FZRDI.js → push-notifications-NCZLH6DI.js} +29 -26
- package/dist/ref-provenance-gate-M4AQO4OT.js +269 -0
- package/dist/{reproject-worktree-memories-OSS3PGRF.js → reproject-worktree-memories-PWYKPB2U.js} +106 -23
- package/dist/{reranker-IMZRPYJ2.js → reranker-6V3C2AO4.js} +3 -2
- package/dist/resolve-image-labels-ZI6UBW5W.js +15 -0
- package/dist/{retrieval-health-W7OD44FE.js → retrieval-health-5D7O6VH6.js} +4 -3
- package/dist/{review-polling-2INP7H6M.js → review-polling-QW3LJ4KN.js} +29 -26
- package/dist/runtime/index.js +38 -34
- package/dist/{session-events-G4XUPVWV.js → session-events-T45SSTMF.js} +31 -26
- package/dist/{session-kill-telemetry-W7MHWJTQ.js → session-kill-telemetry-QSPVJGBF.js} +29 -26
- package/dist/{session-mcp-config-F7KATWOF.js → session-mcp-config-SC5BLWZG.js} +3 -2
- package/dist/{session-scope-LG2J4EMQ.js → session-scope-KRWE54C4.js} +28 -25
- package/dist/{setup-wizard-YQJI3SVM.js → setup-wizard-GP3TBTPF.js} +5 -4
- package/dist/{shard-manager-UROHZE46.js → shard-manager-OE36A4MY.js} +3 -2
- package/dist/{skill-refinement-RA37U756.js → skill-refinement-C7JTMLJG.js} +6 -5
- package/dist/stack-generate-manifest-MFMDWRUP.js +810 -0
- package/dist/{stack-promote-IYBRXHTA.js → stack-promote-EKSCYY63.js} +8 -6
- package/dist/{stack-release-OXWLVVG6.js → stack-release-2GZAAFO4.js} +8 -6
- package/dist/{stack-update-2CZEROPK.js → stack-update-J6JXSTAZ.js} +51 -5
- package/dist/{steward-gate-LTNFB3FY.js → steward-gate-BFCCMCSW.js} +6 -5
- package/dist/{subagent-brief-injection-OHLWLECQ.js → subagent-brief-injection-ED36PLYY.js} +44 -36
- package/dist/{subagent-spawn-ledger-USYZXU3M.js → subagent-spawn-ledger-E6U3OY6Z.js} +3 -2
- package/dist/{supervisor-handoff-CSJQMI53.js → supervisor-handoff-SGLEPOCY.js} +12 -3
- package/dist/{support-inbox-4KCEPAZQ.js → support-inbox-YW47SYJF.js} +20 -5
- package/dist/{task-enforcement-LGXWXGVZ.js → task-enforcement-CECTQX4U.js} +29 -26
- package/dist/{task-request-inbox-WHCOSUCP.js → task-request-inbox-Q5T4N5K7.js} +1 -1
- package/dist/{task-scope-KXF7Y6KA.js → task-scope-ERVEUEYU.js} +28 -25
- package/dist/{tasks-crud-5EM55WRZ.js → tasks-crud-ZRQNJXQ2.js} +28 -25
- package/dist/{tasks-notify-VFMAURTN.js → tasks-notify-MIZH4C2O.js} +29 -26
- package/dist/{tasks-review-MHGMBHUZ.js → tasks-review-Z7J2P6DG.js} +28 -25
- package/dist/{telemetry-upload-6NRTN7QJ.js → telemetry-upload-LVQUQYFP.js} +10 -9
- package/dist/{token-budget-LZPOYTRP.js → token-budget-BU4NOVZF.js} +6 -5
- package/dist/{tool-capability-index-ED5OAPMW.js → tool-capability-index-7F42MOJT.js} +1 -1
- package/dist/{tool-gates-7PLIOLAL.js → tool-gates-JWVSAYTW.js} +1 -1
- package/dist/{tool-gates-2OZY3GZM.js → tool-gates-VXITVRFQ.js} +1 -1
- package/dist/{tool-telemetry-ZX7VSAXK.js → tool-telemetry-O27EVMBR.js} +1 -1
- package/dist/tui/App.js +43 -40
- package/dist/{tui-data-CC5POSUV.js → tui-data-TPWWBIUQ.js} +28 -25
- package/dist/{update-support-KH6NSQON.js → update-support-F2F5537B.js} +22 -20
- package/dist/{whatsapp-QW3X7OCN.js → whatsapp-YM4A2CSK.js} +3 -1
- package/dist/{work-claims-MNK7PEPW.js → work-claims-B73X5NE7.js} +6 -5
- package/dist/{work-state-heartbeat-YEWT5NMZ.js → work-state-heartbeat-P4YX6E2R.js} +1 -1
- package/dist/{worker-gate-BOQSIU2Z.js → worker-gate-BEEIIVWA.js} +3 -2
- package/dist/{workflow-engine-MUUD7ZEX.js → workflow-engine-5X46PFCW.js} +4 -2
- package/dist/{worktree-GOGT2LZP.js → worktree-W47CIMJ6.js} +9 -6
- package/dist/worktree-ownership-guard-OUWJROW2.js +88 -0
- package/dist/{worktree-sweep-46VWPVQT.js → worktree-sweep-BNBD4RFX.js} +8 -7
- package/package.json +14 -5
- package/release-notes.json +5 -5
- package/src/commands/exe/call.md +1 -1
- package/stack.release.json +6 -0
- package/dist/chunk-KZXMP6JG.js +0 -319
- package/dist/chunk-TCTED52S.js +0 -120
- package/dist/chunk-W2IRQJ6R.js +0 -67
- package/dist/doc-graph-extractor-VPTRIEKN.js +0 -149
- package/dist/project-name-ILJTETUE.js +0 -14
- /package/dist/{chunk-3Y5THOU6.js → chunk-6WIFPD2P.js} +0 -0
- /package/dist/{chunk-7XGXRD22.js → chunk-AISULNGL.js} +0 -0
- /package/dist/{chunk-3F2UB4IQ.js → chunk-DN4YVV4Z.js} +0 -0
- /package/dist/{chunk-WV3TOOL7.js → chunk-KQ6RJWRW.js} +0 -0
- /package/dist/{chunk-HR2R2QER.js → chunk-M4IRPXSZ.js} +0 -0
- /package/dist/{chunk-ORA5BWCV.js → chunk-NRG7KZIP.js} +0 -0
- /package/dist/{chunk-7UTJA6HF.js → chunk-VZAFWPAY.js} +0 -0
- /package/dist/{chunk-VJSDGDNS.js → chunk-WSQASFLP.js} +0 -0
- /package/dist/{chunk-FZQWVQJG.js → chunk-YO4BO2CL.js} +0 -0
- /package/dist/{core-memory-6WBNT2HL.js → core-memory-7I7RE2SJ.js} +0 -0
- /package/dist/{entity-boost-MT336PI3.js → entity-boost-3UWGXG5O.js} +0 -0
- /package/dist/{memory-isolation-EJ45IXBH.js → memory-isolation-2TUZ7Z4K.js} +0 -0
- /package/dist/{message-queue-client-MVBTYCSV.js → message-queue-client-XQN7QABL.js} +0 -0
- /package/dist/{webhook-pipe-UQSEHFPO.js → webhook-pipe-W2FVXY7M.js} +0 -0
- /package/dist/{wiki-acl-WXRJGZ5Q.js → wiki-acl-IBQLLBTS.js} +0 -0
- /package/dist/{wiki-client-AXNM5FWY.js → wiki-client-W65IOSWF.js} +0 -0
|
@@ -1,193 +1,197 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
computeMcpSurfaceHash
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-AKLJ4JH3.js";
|
|
5
5
|
import "../chunk-WCGNCH3Q.js";
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-7V6M3QUS.js";
|
|
10
|
-
import "../chunk-WZJVGA5I.js";
|
|
11
|
-
import "../chunk-5H47VHB7.js";
|
|
6
|
+
import "../chunk-DIXXEE3S.js";
|
|
7
|
+
import "../chunk-BBSIEYF5.js";
|
|
8
|
+
import "../chunk-T3QUKNLI.js";
|
|
12
9
|
import "../chunk-557C2IGL.js";
|
|
10
|
+
import "../chunk-U6SUKSZR.js";
|
|
13
11
|
import "../chunk-GSJLB6JI.js";
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
12
|
+
import "../chunk-ZL4AGWAH.js";
|
|
13
|
+
import "../chunk-5H47VHB7.js";
|
|
14
|
+
import "../chunk-KTU3EAWK.js";
|
|
15
|
+
import "../chunk-GNUAL43X.js";
|
|
16
|
+
import "../chunk-SEQIPGLU.js";
|
|
17
|
+
import "../chunk-UM3N6VND.js";
|
|
18
|
+
import "../chunk-2AJGV5UL.js";
|
|
20
19
|
import "../chunk-CRCB5S7I.js";
|
|
21
|
-
import "../chunk-
|
|
20
|
+
import "../chunk-2ZOEC4KC.js";
|
|
21
|
+
import "../chunk-VMTZ4RUW.js";
|
|
22
|
+
import "../chunk-23MVDXLY.js";
|
|
23
|
+
import "../chunk-6WIFPD2P.js";
|
|
24
|
+
import "../chunk-YO4BO2CL.js";
|
|
25
|
+
import "../chunk-GLQEJOXE.js";
|
|
22
26
|
import "../chunk-PHUHIVD5.js";
|
|
23
|
-
import "../chunk-
|
|
24
|
-
import "../chunk-
|
|
25
|
-
import "../chunk-
|
|
26
|
-
import "../chunk-
|
|
27
|
-
import "../chunk-
|
|
28
|
-
import "../chunk-AAMGHW5W.js";
|
|
29
|
-
import "../chunk-VX2F4ZUY.js";
|
|
27
|
+
import "../chunk-GS7LIT34.js";
|
|
28
|
+
import "../chunk-DB55JZHU.js";
|
|
29
|
+
import "../chunk-Q3AXXKDF.js";
|
|
30
|
+
import "../chunk-T35RCQFE.js";
|
|
31
|
+
import "../chunk-6SCGLHJ7.js";
|
|
30
32
|
import "../chunk-A6PDF4BO.js";
|
|
31
|
-
import "../chunk-
|
|
32
|
-
import "../chunk-
|
|
33
|
-
import "../chunk-
|
|
34
|
-
import "../chunk-
|
|
35
|
-
import "../chunk-PVEM537A.js";
|
|
36
|
-
import "../chunk-H37FSTF2.js";
|
|
33
|
+
import "../chunk-PLZSZOZN.js";
|
|
34
|
+
import "../chunk-DJOIMFKV.js";
|
|
35
|
+
import "../chunk-4YLBKEL5.js";
|
|
36
|
+
import "../chunk-UBMZ3YQU.js";
|
|
37
37
|
import "../chunk-X2X3IGZU.js";
|
|
38
|
-
import "../chunk-
|
|
39
|
-
import "../chunk-
|
|
40
|
-
import "../chunk-
|
|
38
|
+
import "../chunk-UZDF6FLJ.js";
|
|
39
|
+
import "../chunk-4SJ4LK4V.js";
|
|
40
|
+
import "../chunk-IN6CAM4F.js";
|
|
41
41
|
import "../chunk-MPVXHYD5.js";
|
|
42
42
|
import "../chunk-5OPAUFLP.js";
|
|
43
43
|
import "../chunk-4LWBC7CM.js";
|
|
44
|
-
import "../chunk-
|
|
45
|
-
import "../chunk-
|
|
46
|
-
import "../chunk-
|
|
47
|
-
import "../chunk-
|
|
48
|
-
import "../chunk-
|
|
49
|
-
import "../chunk-
|
|
50
|
-
import "../chunk-
|
|
51
|
-
import "../chunk-
|
|
44
|
+
import "../chunk-N7VEP5B3.js";
|
|
45
|
+
import "../chunk-44TLJZJ5.js";
|
|
46
|
+
import "../chunk-NBXDXKLC.js";
|
|
47
|
+
import "../chunk-AETLDRZB.js";
|
|
48
|
+
import "../chunk-I4DNJFDR.js";
|
|
49
|
+
import "../chunk-636LKCKE.js";
|
|
50
|
+
import "../chunk-BJ7AVSY6.js";
|
|
51
|
+
import "../chunk-OVEQE6YS.js";
|
|
52
52
|
import "../chunk-S2YTU74T.js";
|
|
53
|
-
import "../chunk-
|
|
54
|
-
import "../chunk-
|
|
55
|
-
import "../chunk-
|
|
56
|
-
import "../chunk-
|
|
57
|
-
import "../chunk-
|
|
58
|
-
import "../chunk-
|
|
59
|
-
import "../chunk-
|
|
53
|
+
import "../chunk-IRVOXUSK.js";
|
|
54
|
+
import "../chunk-GJI77VDO.js";
|
|
55
|
+
import "../chunk-LGS2V2XD.js";
|
|
56
|
+
import "../chunk-TQAZTRQ3.js";
|
|
57
|
+
import "../chunk-DJ7YXOTU.js";
|
|
58
|
+
import "../chunk-JHI5WMK5.js";
|
|
59
|
+
import "../chunk-PB5S7YOF.js";
|
|
60
60
|
import "../chunk-3OEVDGIY.js";
|
|
61
|
-
import "../chunk-
|
|
62
|
-
import "../chunk-
|
|
61
|
+
import "../chunk-4YNA3CM6.js";
|
|
62
|
+
import "../chunk-AWWKRZMB.js";
|
|
63
63
|
import "../chunk-SSC7EKY2.js";
|
|
64
|
-
import "../chunk-
|
|
65
|
-
import "../chunk-
|
|
64
|
+
import "../chunk-SL6KQYDU.js";
|
|
65
|
+
import "../chunk-XNNECNDL.js";
|
|
66
|
+
import "../chunk-PHBU4LGO.js";
|
|
67
|
+
import "../chunk-XFTEX77S.js";
|
|
66
68
|
import "../chunk-EXDW3E2R.js";
|
|
67
|
-
import "../chunk-SBJV2PCU.js";
|
|
68
|
-
import "../chunk-R6FLELV6.js";
|
|
69
69
|
import "../chunk-KM6XSFHP.js";
|
|
70
|
-
import "../chunk-
|
|
71
|
-
import "../chunk-
|
|
70
|
+
import "../chunk-UQGSBM3U.js";
|
|
71
|
+
import "../chunk-HDLAB7W3.js";
|
|
72
72
|
import "../chunk-YQGMSXT5.js";
|
|
73
73
|
import "../chunk-75H4R62K.js";
|
|
74
|
-
import "../chunk-
|
|
74
|
+
import "../chunk-QHJR7IMX.js";
|
|
75
75
|
import "../chunk-MMRUBN3I.js";
|
|
76
76
|
import "../chunk-2XZ6X3PJ.js";
|
|
77
|
-
import "../chunk-
|
|
78
|
-
import "../chunk-
|
|
79
|
-
import "../chunk-
|
|
80
|
-
import "../chunk-
|
|
81
|
-
import "../chunk-
|
|
82
|
-
import "../chunk-
|
|
77
|
+
import "../chunk-NRG7KZIP.js";
|
|
78
|
+
import "../chunk-R4CBHKZ2.js";
|
|
79
|
+
import "../chunk-EXTZSNWL.js";
|
|
80
|
+
import "../chunk-PY3FOMRN.js";
|
|
81
|
+
import "../chunk-VKJGHAZT.js";
|
|
82
|
+
import "../chunk-KQ6RJWRW.js";
|
|
83
83
|
import "../chunk-NEHOQ3P2.js";
|
|
84
|
-
import "../chunk-
|
|
85
|
-
import "../chunk-
|
|
86
|
-
import "../chunk-
|
|
84
|
+
import "../chunk-TADAO3HV.js";
|
|
85
|
+
import "../chunk-HTBEVCO2.js";
|
|
86
|
+
import "../chunk-3SXHEQ7X.js";
|
|
87
87
|
import "../chunk-NUTZJZKW.js";
|
|
88
88
|
import "../chunk-X2Z5GT3V.js";
|
|
89
|
-
import "../chunk-
|
|
90
|
-
import "../chunk-
|
|
91
|
-
import "../chunk-
|
|
92
|
-
import "../chunk-
|
|
93
|
-
import "../chunk-
|
|
94
|
-
import "../chunk-Z6BZQHP5.js";
|
|
89
|
+
import "../chunk-EKE37MO4.js";
|
|
90
|
+
import "../chunk-WMEYJT4R.js";
|
|
91
|
+
import "../chunk-XZ65ST2I.js";
|
|
92
|
+
import "../chunk-VYQ7B7DI.js";
|
|
93
|
+
import "../chunk-ULIBLJ6W.js";
|
|
95
94
|
import "../chunk-GUMRIUI5.js";
|
|
95
|
+
import "../chunk-Z6BZQHP5.js";
|
|
96
96
|
import "../chunk-VGMACSEV.js";
|
|
97
|
-
import "../chunk-
|
|
98
|
-
import "../chunk-
|
|
97
|
+
import "../chunk-MOGA4Q7F.js";
|
|
98
|
+
import "../chunk-FNEZ4BWT.js";
|
|
99
99
|
import "../chunk-MWEIBVBS.js";
|
|
100
100
|
import "../chunk-QGGH7LOU.js";
|
|
101
101
|
import "../chunk-VHJVD3MZ.js";
|
|
102
102
|
import "../chunk-TWMWHDOY.js";
|
|
103
103
|
import "../chunk-EEZOBN6X.js";
|
|
104
|
-
import "../chunk-
|
|
104
|
+
import "../chunk-TFKCERAK.js";
|
|
105
105
|
import "../chunk-VMHZSZQJ.js";
|
|
106
|
-
import "../chunk-
|
|
107
|
-
import "../chunk-
|
|
106
|
+
import "../chunk-MXPNVSXI.js";
|
|
107
|
+
import "../chunk-VZAFWPAY.js";
|
|
108
108
|
import "../chunk-CHCA3ZM2.js";
|
|
109
109
|
import "../chunk-OTVEIJUQ.js";
|
|
110
|
-
import "../chunk-
|
|
111
|
-
import "../chunk-
|
|
112
|
-
import "../chunk-
|
|
113
|
-
import "../chunk-
|
|
114
|
-
import "../chunk-
|
|
110
|
+
import "../chunk-DN4YVV4Z.js";
|
|
111
|
+
import "../chunk-ZCERWHY2.js";
|
|
112
|
+
import "../chunk-CBCGDEJA.js";
|
|
113
|
+
import "../chunk-M4IRPXSZ.js";
|
|
114
|
+
import "../chunk-NKETJCB5.js";
|
|
115
115
|
import "../chunk-B6TI3TZT.js";
|
|
116
|
-
import "../chunk-
|
|
117
|
-
import "../chunk-
|
|
118
|
-
import "../chunk-
|
|
116
|
+
import "../chunk-ZSODLMFV.js";
|
|
117
|
+
import "../chunk-55BEFF4V.js";
|
|
118
|
+
import "../chunk-K4ESASPL.js";
|
|
119
119
|
import "../chunk-5MOYSU5A.js";
|
|
120
120
|
import "../chunk-4QCFFW2H.js";
|
|
121
121
|
import "../chunk-76CJBM36.js";
|
|
122
|
-
import "../chunk-
|
|
122
|
+
import "../chunk-QLZ46RCK.js";
|
|
123
|
+
import "../chunk-AKLQSC6W.js";
|
|
123
124
|
import "../chunk-BTSWFMEH.js";
|
|
124
|
-
import "../chunk-
|
|
125
|
-
import "../chunk-
|
|
126
|
-
import "../chunk-JTWTBX2M.js";
|
|
125
|
+
import "../chunk-6RKKVPYF.js";
|
|
126
|
+
import "../chunk-4EN3IZ3Q.js";
|
|
127
127
|
import "../chunk-KI5PFRG6.js";
|
|
128
|
+
import "../chunk-3KDCORDO.js";
|
|
128
129
|
import "../chunk-WT4RI36X.js";
|
|
129
130
|
import "../chunk-E23LNUWJ.js";
|
|
130
131
|
import "../chunk-QAEWWYHL.js";
|
|
131
132
|
import "../chunk-EIKATSE4.js";
|
|
132
|
-
import "../chunk-
|
|
133
|
-
import "../chunk-
|
|
134
|
-
import "../chunk-
|
|
135
|
-
import "../chunk-
|
|
136
|
-
import "../chunk-
|
|
133
|
+
import "../chunk-MJCSEIFI.js";
|
|
134
|
+
import "../chunk-XH7YL7JM.js";
|
|
135
|
+
import "../chunk-ORM7ZFKC.js";
|
|
136
|
+
import "../chunk-VI4ATC6I.js";
|
|
137
|
+
import "../chunk-A27Q27CT.js";
|
|
138
|
+
import "../chunk-W75GTHR3.js";
|
|
137
139
|
import "../chunk-AJIXH5JF.js";
|
|
138
|
-
import "../chunk-
|
|
139
|
-
import "../chunk-
|
|
140
|
+
import "../chunk-7GE2EQ23.js";
|
|
141
|
+
import "../chunk-GZOG2MAX.js";
|
|
140
142
|
import "../chunk-AM7S2TY6.js";
|
|
141
|
-
import "../chunk-
|
|
143
|
+
import "../chunk-6YVUR3OU.js";
|
|
142
144
|
import "../chunk-CVYC6DUW.js";
|
|
143
|
-
import "../chunk-
|
|
144
|
-
import "../chunk-
|
|
145
|
+
import "../chunk-GOMQ7PVQ.js";
|
|
146
|
+
import "../chunk-4IK2K3B3.js";
|
|
145
147
|
import {
|
|
146
148
|
requestDeployRestart
|
|
147
|
-
} from "../chunk-
|
|
149
|
+
} from "../chunk-NUK7EEN5.js";
|
|
148
150
|
import {
|
|
149
151
|
handOffToSupervisor,
|
|
150
152
|
isSupervisorConfigured,
|
|
151
153
|
runSupervisorCommand
|
|
152
|
-
} from "../chunk-
|
|
153
|
-
import "../chunk-
|
|
154
|
-
import "../chunk-LNOS24GV.js";
|
|
154
|
+
} from "../chunk-ZG62LIK3.js";
|
|
155
|
+
import "../chunk-EKYYMIVT.js";
|
|
155
156
|
import {
|
|
156
157
|
computeDaemonHeapCapMb
|
|
157
158
|
} from "../chunk-NLEW62VC.js";
|
|
158
|
-
import "../chunk-
|
|
159
|
+
import "../chunk-SLLLOOEI.js";
|
|
160
|
+
import "../chunk-V3WLC5TJ.js";
|
|
161
|
+
import "../chunk-JTVIANUB.js";
|
|
159
162
|
import "../chunk-HYZV25LY.js";
|
|
160
163
|
import "../chunk-GJV3WDWM.js";
|
|
161
164
|
import "../chunk-GL57PO3K.js";
|
|
162
|
-
import "../chunk-
|
|
165
|
+
import "../chunk-GM7TLYOK.js";
|
|
163
166
|
import "../chunk-ML4S5SHZ.js";
|
|
164
167
|
import "../chunk-MP2AFCGL.js";
|
|
165
|
-
import "../chunk-
|
|
166
|
-
import "../chunk-TKDITWDN.js";
|
|
168
|
+
import "../chunk-TAMDAOCU.js";
|
|
167
169
|
import "../chunk-BBMTVAE3.js";
|
|
170
|
+
import "../chunk-TKDITWDN.js";
|
|
168
171
|
import "../chunk-5YEUPUV4.js";
|
|
169
|
-
import "../chunk-
|
|
172
|
+
import "../chunk-DSJI76XL.js";
|
|
170
173
|
import "../chunk-YYB5PMTK.js";
|
|
171
174
|
import "../chunk-NJFJWQNN.js";
|
|
172
175
|
import "../chunk-V3W3SATA.js";
|
|
173
176
|
import "../chunk-JY5GAZYC.js";
|
|
174
177
|
import "../chunk-FXU7JOXK.js";
|
|
175
178
|
import "../chunk-SO7KTH3Q.js";
|
|
176
|
-
import "../chunk-HPXFKUGU.js";
|
|
177
179
|
import "../chunk-WNBZJSQT.js";
|
|
180
|
+
import "../chunk-HPXFKUGU.js";
|
|
178
181
|
import "../chunk-F55P3H4S.js";
|
|
179
|
-
import "../chunk-
|
|
180
|
-
import "../chunk-
|
|
182
|
+
import "../chunk-FTZET5YX.js";
|
|
183
|
+
import "../chunk-L6RXG36J.js";
|
|
181
184
|
import "../chunk-A7XLR3K7.js";
|
|
182
|
-
import "../chunk-
|
|
185
|
+
import "../chunk-GQOEWNVM.js";
|
|
183
186
|
import {
|
|
184
187
|
SYSTEMD_DAEMON_UNIT
|
|
185
188
|
} from "../chunk-A7JYF4RG.js";
|
|
186
189
|
import "../chunk-ARX6TAGN.js";
|
|
187
190
|
import {
|
|
188
191
|
resolveDataDir
|
|
189
|
-
} from "../chunk-
|
|
192
|
+
} from "../chunk-ZIG7VPJV.js";
|
|
190
193
|
import "../chunk-HSGBZSCA.js";
|
|
194
|
+
import "../chunk-RH4AH3YB.js";
|
|
191
195
|
import "../chunk-6Y4B3QF6.js";
|
|
192
196
|
import "../chunk-JKKZGDLP.js";
|
|
193
197
|
import "../chunk-MLKGABMK.js";
|
|
@@ -6,15 +6,15 @@ import {
|
|
|
6
6
|
getAgentRuntime,
|
|
7
7
|
loadAgentConfig,
|
|
8
8
|
setAgentRuntime
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-GZOG2MAX.js";
|
|
10
10
|
import "../chunk-AM7S2TY6.js";
|
|
11
11
|
import {
|
|
12
12
|
loadEmployeesSync
|
|
13
|
-
} from "../chunk-
|
|
14
|
-
import "../chunk-TKDITWDN.js";
|
|
13
|
+
} from "../chunk-TAMDAOCU.js";
|
|
15
14
|
import "../chunk-BBMTVAE3.js";
|
|
15
|
+
import "../chunk-TKDITWDN.js";
|
|
16
16
|
import "../chunk-5YEUPUV4.js";
|
|
17
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-DSJI76XL.js";
|
|
18
18
|
import "../chunk-YYB5PMTK.js";
|
|
19
19
|
import "../chunk-NJFJWQNN.js";
|
|
20
20
|
import "../chunk-V3W3SATA.js";
|
|
@@ -23,8 +23,9 @@ import "../chunk-FXU7JOXK.js";
|
|
|
23
23
|
import {
|
|
24
24
|
DEFAULT_RUNTIME
|
|
25
25
|
} from "../chunk-WNBZJSQT.js";
|
|
26
|
-
import "../chunk-
|
|
26
|
+
import "../chunk-ZIG7VPJV.js";
|
|
27
27
|
import "../chunk-HSGBZSCA.js";
|
|
28
|
+
import "../chunk-RH4AH3YB.js";
|
|
28
29
|
import "../chunk-JKKZGDLP.js";
|
|
29
30
|
import "../chunk-MLKGABMK.js";
|
|
30
31
|
|
package/dist/bin/exe-agent.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
FileEditTool
|
|
4
|
+
} from "../chunk-R4WMF32C.js";
|
|
2
5
|
import {
|
|
3
6
|
BashTool
|
|
4
7
|
} from "../chunk-TQDARPML.js";
|
|
@@ -15,8 +18,11 @@ import {
|
|
|
15
18
|
FileWriteTool
|
|
16
19
|
} from "../chunk-XEKO37NM.js";
|
|
17
20
|
import {
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
currentMcpSessionKey,
|
|
22
|
+
registerMcpChild,
|
|
23
|
+
terminateSessionMcpChildren,
|
|
24
|
+
unregisterMcpChild
|
|
25
|
+
} from "../chunk-ANLFH23R.js";
|
|
20
26
|
import {
|
|
21
27
|
createTerminalRenderer,
|
|
22
28
|
renderAgentEvents
|
|
@@ -25,7 +31,10 @@ import "../chunk-CMCYL2JC.js";
|
|
|
25
31
|
import "../chunk-NGVOA6ZQ.js";
|
|
26
32
|
import {
|
|
27
33
|
agentLoop
|
|
28
|
-
} from "../chunk-
|
|
34
|
+
} from "../chunk-HNWS7YHN.js";
|
|
35
|
+
import {
|
|
36
|
+
createDefaultHooks
|
|
37
|
+
} from "../chunk-O377P7GM.js";
|
|
29
38
|
import {
|
|
30
39
|
ToolRegistry
|
|
31
40
|
} from "../chunk-JRLNE3T2.js";
|
|
@@ -33,9 +42,6 @@ import {
|
|
|
33
42
|
EMPLOYEE_PERMISSIONS
|
|
34
43
|
} from "../chunk-2O2UKMUE.js";
|
|
35
44
|
import "../chunk-HF25XPZE.js";
|
|
36
|
-
import {
|
|
37
|
-
createDefaultHooks
|
|
38
|
-
} from "../chunk-O377P7GM.js";
|
|
39
45
|
import {
|
|
40
46
|
OllamaProvider
|
|
41
47
|
} from "../chunk-FWFFZGSC.js";
|
|
@@ -45,21 +51,24 @@ import {
|
|
|
45
51
|
} from "../chunk-ECGTESAP.js";
|
|
46
52
|
import {
|
|
47
53
|
getSessionPrompt
|
|
48
|
-
} from "../chunk-
|
|
49
|
-
import "../chunk-
|
|
50
|
-
import "../chunk-
|
|
51
|
-
import "../chunk-
|
|
52
|
-
import "../chunk-
|
|
54
|
+
} from "../chunk-R4CBHKZ2.js";
|
|
55
|
+
import "../chunk-EXTZSNWL.js";
|
|
56
|
+
import "../chunk-PY3FOMRN.js";
|
|
57
|
+
import "../chunk-SLLLOOEI.js";
|
|
58
|
+
import "../chunk-V3WLC5TJ.js";
|
|
59
|
+
import "../chunk-TAMDAOCU.js";
|
|
53
60
|
import "../chunk-BBMTVAE3.js";
|
|
61
|
+
import "../chunk-TKDITWDN.js";
|
|
54
62
|
import "../chunk-5YEUPUV4.js";
|
|
55
|
-
import "../chunk-
|
|
63
|
+
import "../chunk-DSJI76XL.js";
|
|
56
64
|
import "../chunk-YYB5PMTK.js";
|
|
57
65
|
import "../chunk-NJFJWQNN.js";
|
|
58
66
|
import "../chunk-V3W3SATA.js";
|
|
59
67
|
import "../chunk-JY5GAZYC.js";
|
|
60
68
|
import "../chunk-FXU7JOXK.js";
|
|
61
|
-
import "../chunk-
|
|
69
|
+
import "../chunk-ZIG7VPJV.js";
|
|
62
70
|
import "../chunk-HSGBZSCA.js";
|
|
71
|
+
import "../chunk-RH4AH3YB.js";
|
|
63
72
|
import "../chunk-JKKZGDLP.js";
|
|
64
73
|
import "../chunk-MLKGABMK.js";
|
|
65
74
|
|
|
@@ -108,25 +117,37 @@ var McpToolWrapper = class {
|
|
|
108
117
|
}
|
|
109
118
|
};
|
|
110
119
|
var DEFAULT_MCP_REQUEST_TIMEOUT_MS = 15e3;
|
|
120
|
+
var CLOSE_SIGKILL_GRACE_MS = 3e3;
|
|
111
121
|
var McpStdioClient = class {
|
|
112
122
|
constructor(command, args = [], options = {}) {
|
|
113
123
|
this.command = command;
|
|
114
124
|
this.args = args;
|
|
115
125
|
this.requestTimeoutMs = Math.max(1, options.requestTimeoutMs ?? DEFAULT_MCP_REQUEST_TIMEOUT_MS);
|
|
126
|
+
this.sessionKey = options.sessionKey ?? currentMcpSessionKey();
|
|
116
127
|
}
|
|
117
128
|
command;
|
|
118
129
|
args;
|
|
119
130
|
child = null;
|
|
131
|
+
childPid = null;
|
|
120
132
|
requestId = 0;
|
|
121
133
|
pending = /* @__PURE__ */ new Map();
|
|
122
134
|
buffer = "";
|
|
123
135
|
MAX_BUFFER = 1e7;
|
|
124
136
|
// 10MB cap
|
|
125
137
|
requestTimeoutMs;
|
|
138
|
+
sessionKey;
|
|
139
|
+
closeGraceMs = CLOSE_SIGKILL_GRACE_MS;
|
|
140
|
+
/** Pending SIGKILL escalation from close(); cancelled the moment the child exits. */
|
|
141
|
+
forceKillTimer = null;
|
|
126
142
|
async connect() {
|
|
127
143
|
this.child = spawn(this.command, this.args, {
|
|
128
144
|
stdio: ["pipe", "pipe", "pipe"]
|
|
129
145
|
});
|
|
146
|
+
const spawnedAtMs = Date.now();
|
|
147
|
+
if (this.child.pid != null) {
|
|
148
|
+
this.childPid = this.child.pid;
|
|
149
|
+
registerMcpChild(this.sessionKey, this.child.pid, this.command, process.pid, spawnedAtMs);
|
|
150
|
+
}
|
|
130
151
|
this.child.stdout.on("data", (chunk) => {
|
|
131
152
|
this.buffer += chunk.toString("utf-8");
|
|
132
153
|
if (this.buffer.length > this.MAX_BUFFER) {
|
|
@@ -139,6 +160,8 @@ var McpStdioClient = class {
|
|
|
139
160
|
this.rejectAllPending(err);
|
|
140
161
|
});
|
|
141
162
|
this.child.on("exit", (code, signal) => {
|
|
163
|
+
this.cancelForceKill();
|
|
164
|
+
if (this.childPid != null) unregisterMcpChild(this.sessionKey, this.childPid);
|
|
142
165
|
this.rejectAllPending(
|
|
143
166
|
new Error(`MCP server exited before responding (code=${code ?? "null"}, signal=${signal ?? "null"})`)
|
|
144
167
|
);
|
|
@@ -169,12 +192,50 @@ var McpStdioClient = class {
|
|
|
169
192
|
return result;
|
|
170
193
|
}
|
|
171
194
|
async close() {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
195
|
+
const child = this.child;
|
|
196
|
+
this.child = null;
|
|
197
|
+
if (child) {
|
|
198
|
+
this.signalChild(child, "SIGTERM");
|
|
199
|
+
this.forceKillTimer = this.scheduleForceKill(() => {
|
|
200
|
+
this.forceKillTimer = null;
|
|
201
|
+
if (child.exitCode !== null || child.signalCode !== null) return;
|
|
202
|
+
this.signalChild(child, "SIGKILL");
|
|
203
|
+
}, this.closeGraceMs);
|
|
175
204
|
}
|
|
176
205
|
this.rejectAllPending(new Error("MCP client closed"));
|
|
177
206
|
}
|
|
207
|
+
/** Cancel any pending SIGKILL escalation. Idempotent. */
|
|
208
|
+
cancelForceKill() {
|
|
209
|
+
const timer = this.forceKillTimer;
|
|
210
|
+
this.forceKillTimer = null;
|
|
211
|
+
if (timer) timer.cancel();
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Signal the child through its handle.
|
|
215
|
+
*
|
|
216
|
+
* PROCESS GROUPS — deliberate, unchanged blast radius: the child is spawned
|
|
217
|
+
* without `detached`, so it shares our process group. Signalling `-pid` would
|
|
218
|
+
* therefore hit our *own* group (the agent/daemon itself), and a group id is a
|
|
219
|
+
* recycled integer with exactly the same hazard as a recycled PID. So we signal
|
|
220
|
+
* the single process we own and nothing else. Grandchildren the MCP server
|
|
221
|
+
* spawns are not orphan-proofed here; that is what the on-disk registry plus
|
|
222
|
+
* the daemon's identity-guarded reaper exist for, and widening this to a group
|
|
223
|
+
* kill is a separate, deliberate decision — not a side effect of this fix.
|
|
224
|
+
*
|
|
225
|
+
* @internal Overridable purely as a test seam.
|
|
226
|
+
*/
|
|
227
|
+
signalChild(child, signal) {
|
|
228
|
+
try {
|
|
229
|
+
child.kill(signal);
|
|
230
|
+
} catch {
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
/** @internal Overridable purely as a test seam (deterministic timers in tests). */
|
|
234
|
+
scheduleForceKill(run, ms) {
|
|
235
|
+
const timer = setTimeout(run, ms);
|
|
236
|
+
timer.unref?.();
|
|
237
|
+
return { cancel: () => clearTimeout(timer) };
|
|
238
|
+
}
|
|
178
239
|
request(method, params) {
|
|
179
240
|
return new Promise((resolve, reject) => {
|
|
180
241
|
if (!this.child?.stdin?.writable) {
|
|
@@ -234,8 +295,8 @@ var McpStdioClient = class {
|
|
|
234
295
|
}
|
|
235
296
|
}
|
|
236
297
|
};
|
|
237
|
-
async function createMcpTools(serverCommand, serverArgs = []) {
|
|
238
|
-
const client = new McpStdioClient(serverCommand, serverArgs);
|
|
298
|
+
async function createMcpTools(serverCommand, serverArgs = [], options = {}) {
|
|
299
|
+
const client = new McpStdioClient(serverCommand, serverArgs, options);
|
|
239
300
|
await client.connect();
|
|
240
301
|
const mcpTools = await client.listTools();
|
|
241
302
|
const tools = mcpTools.map(
|
|
@@ -317,14 +378,14 @@ function resolveMcpServerCommand(env = process.env, proxyPath = fileURLToPath(ne
|
|
|
317
378
|
}
|
|
318
379
|
return { command: execPath, args: [proxyPath] };
|
|
319
380
|
}
|
|
320
|
-
async function registerMcpTools(registry, connect = createMcpTools, env = process.env) {
|
|
381
|
+
async function registerMcpTools(registry, connect = createMcpTools, env = process.env, sessionKey) {
|
|
321
382
|
const server = resolveMcpServerCommand(env);
|
|
322
383
|
if (!server) {
|
|
323
384
|
console.error("[exe-agent] MCP disabled (EXE_AGENT_MCP=0) \u2014 builtin tools only.");
|
|
324
385
|
return null;
|
|
325
386
|
}
|
|
326
387
|
try {
|
|
327
|
-
const { tools, client } = await connect(server.command, server.args);
|
|
388
|
+
const { tools, client } = await connect(server.command, server.args, sessionKey ? { sessionKey } : void 0);
|
|
328
389
|
const builtins = new Set(registry.names());
|
|
329
390
|
let registered = 0;
|
|
330
391
|
for (const tool of tools) {
|
|
@@ -345,6 +406,38 @@ async function registerMcpTools(registry, connect = createMcpTools, env = proces
|
|
|
345
406
|
return null;
|
|
346
407
|
}
|
|
347
408
|
}
|
|
409
|
+
var MCP_TEARDOWN_GRACE_MS = 3e3;
|
|
410
|
+
var MCP_TEARDOWN_MARGIN_MS = 500;
|
|
411
|
+
var MCP_TEARDOWN_CEILING_MS = MCP_TEARDOWN_GRACE_MS + MCP_TEARDOWN_MARGIN_MS;
|
|
412
|
+
async function shutdownMcpChildren(client, sessionKey, deps = {}) {
|
|
413
|
+
const terminate = deps.terminate ?? terminateSessionMcpChildren;
|
|
414
|
+
const graceMs = deps.graceMs ?? MCP_TEARDOWN_GRACE_MS;
|
|
415
|
+
const ceilingMs = deps.ceilingMs ?? MCP_TEARDOWN_CEILING_MS;
|
|
416
|
+
const warn = deps.warn ?? ((msg) => process.stderr.write(msg));
|
|
417
|
+
const setTimer = deps.setTimer ?? ((fn, ms) => {
|
|
418
|
+
const t = setTimeout(fn, ms);
|
|
419
|
+
t.unref?.();
|
|
420
|
+
return { cancel: () => clearTimeout(t) };
|
|
421
|
+
});
|
|
422
|
+
try {
|
|
423
|
+
client?.close();
|
|
424
|
+
} catch {
|
|
425
|
+
}
|
|
426
|
+
let timer;
|
|
427
|
+
const sweep = Promise.resolve().then(() => terminate(sessionKey, { graceMs })).then(() => "complete").catch(() => "complete");
|
|
428
|
+
const ceiling = new Promise((resolve) => {
|
|
429
|
+
timer = setTimer(() => resolve("timeout"), ceilingMs);
|
|
430
|
+
});
|
|
431
|
+
const outcome = await Promise.race([sweep, ceiling]);
|
|
432
|
+
timer?.cancel();
|
|
433
|
+
if (outcome === "timeout") {
|
|
434
|
+
warn(
|
|
435
|
+
`[exe-agent] MCP teardown exceeded ${ceilingMs}ms \u2014 exiting anyway. Any surviving child stays in the MCP child registry for the daemon reaper.
|
|
436
|
+
`
|
|
437
|
+
);
|
|
438
|
+
}
|
|
439
|
+
return outcome;
|
|
440
|
+
}
|
|
348
441
|
async function main() {
|
|
349
442
|
const args = parseArgs(process.argv);
|
|
350
443
|
if (!args.employee) {
|
|
@@ -360,15 +453,13 @@ async function main() {
|
|
|
360
453
|
const model = args.model ?? provider.defaultModel ?? "claude-sonnet-4-20250514";
|
|
361
454
|
const registry = new ToolRegistry();
|
|
362
455
|
registerBuiltinTools(registry);
|
|
363
|
-
const
|
|
456
|
+
const mcpSessionKey = currentMcpSessionKey();
|
|
457
|
+
const mcpClient = await registerMcpTools(registry, createMcpTools, process.env, mcpSessionKey);
|
|
364
458
|
const abortController = new AbortController();
|
|
365
459
|
const shutdown = () => {
|
|
366
460
|
process.stderr.write("\n[exe-agent] Shutting down...\n");
|
|
367
461
|
abortController.abort();
|
|
368
|
-
|
|
369
|
-
mcpClient?.close();
|
|
370
|
-
} catch {
|
|
371
|
-
}
|
|
462
|
+
void shutdownMcpChildren(mcpClient, mcpSessionKey);
|
|
372
463
|
};
|
|
373
464
|
process.on("SIGINT", shutdown);
|
|
374
465
|
process.on("SIGTERM", shutdown);
|
|
@@ -407,12 +498,10 @@ async function main() {
|
|
|
407
498
|
rl.prompt();
|
|
408
499
|
});
|
|
409
500
|
rl.on("close", () => {
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
}
|
|
414
|
-
console.error("[exe-agent] Session ended.");
|
|
415
|
-
process.exit(0);
|
|
501
|
+
void shutdownMcpChildren(mcpClient, mcpSessionKey).then(() => {
|
|
502
|
+
console.error("[exe-agent] Session ended.");
|
|
503
|
+
process.exit(0);
|
|
504
|
+
});
|
|
416
505
|
});
|
|
417
506
|
}
|
|
418
507
|
function isDirectRun(entry = process.argv[1], selfUrl = import.meta.url) {
|
|
@@ -424,13 +513,18 @@ function isDirectRun(entry = process.argv[1], selfUrl = import.meta.url) {
|
|
|
424
513
|
}
|
|
425
514
|
}
|
|
426
515
|
if (isDirectRun()) {
|
|
427
|
-
main().catch((err) => {
|
|
516
|
+
main().catch(async (err) => {
|
|
428
517
|
console.error(`[exe-agent] Fatal: ${err instanceof Error ? err.message : String(err)}`);
|
|
518
|
+
await shutdownMcpChildren(null, currentMcpSessionKey());
|
|
429
519
|
process.exit(1);
|
|
430
520
|
});
|
|
431
521
|
}
|
|
432
522
|
export {
|
|
523
|
+
MCP_TEARDOWN_CEILING_MS,
|
|
524
|
+
MCP_TEARDOWN_GRACE_MS,
|
|
525
|
+
MCP_TEARDOWN_MARGIN_MS,
|
|
433
526
|
isDirectRun,
|
|
434
527
|
registerMcpTools,
|
|
435
|
-
resolveMcpServerCommand
|
|
528
|
+
resolveMcpServerCommand,
|
|
529
|
+
shutdownMcpChildren
|
|
436
530
|
};
|