@askexenow/exe-os 0.9.145 → 0.9.147
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{active-agent-HUDSZRUG.js → active-agent-KMQCNXXD.js} +6 -6
- package/dist/{active-agent-GJOJUEMF.js → active-agent-NCZCDDZ2.js} +6 -6
- package/dist/{agent-context-HH7TL5ZP.js → agent-context-AZTTMUHP.js} +1 -1
- package/dist/agent-heartbeat-I5UPGXAU.js +60 -0
- package/dist/{agent-loop-OCJFYO72.js → agent-loop-NUIWAL3Z.js} +1 -1
- package/dist/{agentic-ontology-5PGUVMDP.js → agentic-ontology-SQR74CO7.js} +2 -2
- package/dist/{asana-BSDR6NW4.js → asana-MRQ2OQMJ.js} +1 -1
- package/dist/assets/wezterm.lua +68 -0
- package/dist/{backfill-metadata-ZDJ5B37R.js → backfill-metadata-KMDWLDXU.js} +7 -7
- package/dist/{background-jobs-4N4JSZVZ.js → background-jobs-IUB22CRF.js} +4 -4
- package/dist/{bash-X54PZMOG.js → bash-HOHKSOU3.js} +1 -1
- package/dist/{behaviors-TXLHEM5J.js → behaviors-4U2N5L4E.js} +6 -6
- package/dist/bin/age-ontology-load.js +4 -4
- 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 +9 -9
- package/dist/bin/backfill-responses.js +9 -9
- package/dist/bin/backfill-vectors.js +12 -14
- package/dist/bin/bulk-sync-postgres.js +10 -10
- package/dist/bin/cc-doctor.js +5 -5
- package/dist/bin/cleanup-stale-review-tasks.js +12 -11
- package/dist/bin/cli.js +19 -19
- package/dist/bin/customer-readiness.js +47 -0
- package/dist/bin/exe-agent-config.js +6 -6
- package/dist/bin/exe-agent.js +8 -8
- package/dist/bin/exe-assign.js +11 -11
- package/dist/bin/exe-boot.js +39 -32
- package/dist/bin/exe-call.js +9 -11
- package/dist/bin/exe-cloud.js +10 -12
- package/dist/bin/exe-dispatch.js +12 -11
- package/dist/bin/exe-doctor.js +2 -2
- package/dist/bin/exe-export-behaviors.js +10 -10
- package/dist/bin/exe-forget.js +9 -9
- package/dist/bin/exe-gateway.js +18 -18
- package/dist/bin/exe-healthcheck.js +5 -5
- package/dist/bin/exe-heartbeat.js +19 -14
- package/dist/bin/exe-kill.js +9 -9
- package/dist/bin/exe-launch-agent.js +16 -18
- package/dist/bin/exe-new-employee.js +11 -11
- package/dist/bin/exe-pending-messages.js +13 -12
- package/dist/bin/exe-pending-notifications.js +12 -11
- package/dist/bin/exe-pending-reviews.js +20 -13
- package/dist/bin/exe-rename.js +9 -11
- package/dist/bin/exe-review.js +14 -13
- package/dist/bin/exe-search.js +8 -10
- package/dist/bin/exe-session-cleanup.js +19 -19
- package/dist/bin/exe-settings.js +11 -13
- package/dist/bin/exe-start-codex.js +15 -15
- package/dist/bin/exe-start-opencode.js +11 -11
- package/dist/bin/exe-status.js +13 -12
- package/dist/bin/exe-support.js +5 -5
- package/dist/bin/exe-team.js +6 -6
- package/dist/bin/git-sweep.js +12 -11
- package/dist/bin/graph-backfill.js +10 -10
- package/dist/bin/graph-export.js +8 -8
- package/dist/bin/graph-layer-benchmark.js +1 -1
- package/dist/bin/install.js +38 -12
- package/dist/bin/intercom-check.js +14 -8
- package/dist/bin/list-providers.js +1 -1
- package/dist/bin/postgres-agentic-reflection-backfill.js +6 -6
- package/dist/bin/postgres-agentic-semantic-backfill.js +5 -5
- package/dist/bin/pre-publish.js +2 -2
- package/dist/bin/registry-proxy.js +1 -1
- package/dist/bin/scan-tasks.js +48 -49
- package/dist/bin/setup.js +6 -5
- package/dist/bin/shard-migrate.js +8 -8
- package/dist/bin/stack-update.js +66 -10
- package/dist/bin/update.js +1 -1
- package/dist/{branding-52J2ILJX.js → branding-EHDA3CCK.js} +4 -6
- package/dist/{capacity-monitor-HWN2JX5W.js → capacity-monitor-Q5M5SVRC.js} +13 -12
- package/dist/{catchup-brief-UERCIVM5.js → catchup-brief-IPNSW7RQ.js} +14 -13
- package/dist/{chunk-GK5VMHSN.js → chunk-26UVGP3I.js} +1 -1
- package/dist/{chunk-CDDRSIGK.js → chunk-2BPO7VQF.js} +80 -70
- package/dist/{chunk-7PTII6F4.js → chunk-2OATM2JZ.js} +1 -1
- package/dist/{chunk-AJ2XDY27.js → chunk-3FIWKONP.js} +10 -12
- package/dist/{chunk-53VUIKOE.js → chunk-3MLGUSKS.js} +1 -1
- package/dist/{chunk-OYCQ6PFC.js → chunk-4EINMZNO.js} +6 -6
- package/dist/{chunk-JUITBJ7J.js → chunk-4GLEFA2X.js} +1 -1
- package/dist/{chunk-BY4OTURZ.js → chunk-4MN44ORL.js} +1 -1
- package/dist/{chunk-MUVPQCQA.js → chunk-6HFZ2KUC.js} +1 -3
- package/dist/{chunk-F7JVVLGH.js → chunk-6YUACQQA.js} +2 -4
- package/dist/{chunk-UVH6FA5E.js → chunk-7B5DQGXG.js} +1 -1
- package/dist/{chunk-XEA6DSLR.js → chunk-AERGE6GC.js} +4 -6
- package/dist/{chunk-NQAZ2CP7.js → chunk-AGFWOII2.js} +11 -11
- package/dist/{chunk-RWJY7KMP.js → chunk-ARGBV4PP.js} +46 -13
- package/dist/{chunk-VRD452MQ.js → chunk-B4HAUSVQ.js} +2 -2
- package/dist/{chunk-VX4X2O6J.js → chunk-CGQ5PWS3.js} +6 -6
- package/dist/{chunk-RNN4MZDN.js → chunk-DBXKWFTK.js} +3 -3
- package/dist/{chunk-Y2VVTK2E.js → chunk-DTLASDQM.js} +1 -1
- package/dist/{chunk-K3PSCQLK.js → chunk-DW6P7UVY.js} +4 -6
- package/dist/{chunk-B6Q6WAD7.js → chunk-EHNSK2Y4.js} +1 -1
- package/dist/{chunk-7PEYIW53.js → chunk-EHXOWGQG.js} +2 -2
- package/dist/{chunk-6BUUY7FG.js → chunk-EOO32RJZ.js} +2 -4
- package/dist/{chunk-MFGARIVE.js → chunk-EYQIEK5M.js} +2 -4
- package/dist/{chunk-NT6R4ATM.js → chunk-FG4Z2XFU.js} +1 -1
- package/dist/{chunk-32LFUJVG.js → chunk-FNMNKYVH.js} +221 -110
- package/dist/{chunk-CWPE6QVM.js → chunk-GNHN5HRQ.js} +2 -4
- package/dist/{chunk-WLEVAIL5.js → chunk-GP6G6EQI.js} +1 -1
- package/dist/{chunk-KLRP6ZG3.js → chunk-HHMHL4FB.js} +251 -96
- package/dist/{chunk-O7YD7JYE.js → chunk-I7AW4237.js} +18 -4
- package/dist/{chunk-TFZZL3QF.js → chunk-ICKEGWWP.js} +2 -4
- package/dist/{chunk-SR6D65DA.js → chunk-IFACD7E6.js} +3 -3
- package/dist/{chunk-I4WAKJ6W.js → chunk-J4RAXKTC.js} +3 -3
- package/dist/{chunk-65UQ7H5U.js → chunk-JF3Q5YKI.js} +4 -6
- package/dist/{chunk-RWURKLS3.js → chunk-JH7Z2AZ7.js} +1 -1
- package/dist/{chunk-5WTYETQO.js → chunk-K4KAPZC7.js} +4 -8
- package/dist/{chunk-G3VR3MJI.js → chunk-KIUU4PNX.js} +4 -8
- package/dist/{chunk-4F56OUR7.js → chunk-LC53LVOT.js} +2 -2
- package/dist/{chunk-W7NQE65M.js → chunk-LJML7HT2.js} +1 -1
- package/dist/{chunk-V4O2APMI.js → chunk-LL5EY6OQ.js} +1 -1
- package/dist/{chunk-DCJ42FEN.js → chunk-LWJ4AMMY.js} +2 -4
- package/dist/{chunk-GCMT6RWI.js → chunk-LYH5HE24.js} +3 -14
- package/dist/{chunk-63UVIM7S.js → chunk-MBA4NNTS.js} +2 -4
- package/dist/{chunk-7KR5PV4P.js → chunk-MKPSMRVX.js} +1 -1
- package/dist/{chunk-C4EVFN7J.js → chunk-MKUVEDUE.js} +2 -2
- package/dist/chunk-MLKGABMK.js +9 -0
- package/dist/chunk-MLXJ5EZG.js +90 -0
- package/dist/{chunk-BXCJOACQ.js → chunk-NFHFNPTN.js} +3 -5
- package/dist/{chunk-2R3N4DQY.js → chunk-NJKERRSG.js} +3 -3
- package/dist/{chunk-I5VJNTDL.js → chunk-NNT2ZNMC.js} +5 -7
- package/dist/{chunk-O7CTVDC3.js → chunk-ODEGQCWW.js} +8 -8
- package/dist/{chunk-H4YONWQX.js → chunk-ONMRBKAX.js} +229 -108
- package/dist/{chunk-NE6RPW5C.js → chunk-PMWDO5FR.js} +1 -1
- package/dist/{chunk-IPSFAUK5.js → chunk-QB66MH2V.js} +4 -4
- package/dist/{chunk-XAHIVBTU.js → chunk-QHQJ7DLL.js} +6 -6
- package/dist/{chunk-NA3MXUU6.js → chunk-TH6HTK2L.js} +17 -15
- package/dist/{chunk-H4KUTL2T.js → chunk-TKEDF7KV.js} +1 -1
- package/dist/{chunk-KHV55ME4.js → chunk-TOWAZ5IV.js} +95 -118
- package/dist/{chunk-IBVB2NGY.js → chunk-TOXHEZN5.js} +47 -4
- package/dist/{chunk-H6OEU54G.js → chunk-UJMDHPIN.js} +91 -39
- package/dist/{chunk-UWBU44UP.js → chunk-UPL5FEZY.js} +1 -1
- package/dist/{chunk-ER3UJ2VL.js → chunk-UPMKSFBU.js} +2 -2
- package/dist/{chunk-X7DJ2QZW.js → chunk-V4MKR32F.js} +4 -6
- package/dist/{chunk-HV75RBMK.js → chunk-VB23RNNI.js} +1 -1
- package/dist/{chunk-56T5TMNK.js → chunk-VK2AWQ6D.js} +2 -2
- package/dist/{chunk-UXDQ4ERA.js → chunk-VNTDQUOG.js} +21 -18
- package/dist/{chunk-KQTGSD23.js → chunk-VYVESELG.js} +13 -9
- package/dist/{chunk-S465RWY7.js → chunk-W6SKR3HZ.js} +3 -5
- package/dist/{chunk-CQCURHDV.js → chunk-X2XE65WV.js} +12 -10
- package/dist/{chunk-XQ2ZBOAD.js → chunk-XK7VZFCC.js} +22 -9
- package/dist/{chunk-5F3EXHT7.js → chunk-XMRDT4PB.js} +2 -4
- package/dist/{chunk-MPXPPKJ4.js → chunk-XWQKCCCO.js} +3 -3
- package/dist/{chunk-7APRWURX.js → chunk-Y6TS42WD.js} +10 -12
- package/dist/{chunk-WTJS6PCC.js → chunk-YOG7TWMO.js} +1 -1
- package/dist/{chunk-QSSABSCM.js → chunk-YPSN64BU.js} +6 -6
- package/dist/{chunk-WJW564IP.js → chunk-ZBA74MMX.js} +2 -2
- package/dist/{chunk-VXQDZH5T.js → chunk-ZMJHXDZR.js} +3 -3
- package/dist/{chunk-BHV7PX5V.js → chunk-ZUAXTH6Z.js} +2 -2
- package/dist/{chunk-K6MMN6AW.js → chunk-ZZLTJXKR.js} +3 -5
- package/dist/{code-context-index-SRTAWCZQ.js → code-context-index-I5A7I4JQ.js} +7 -7
- package/dist/{content-extractor-H4IPL533.js → content-extractor-M7ISRONU.js} +1 -1
- package/dist/{conversation-entity-extractor-IZ3ECP4A.js → conversation-entity-extractor-EYSI4DKM.js} +3 -3
- package/dist/{conversation-wiki-populator-K4BQXHHO.js → conversation-wiki-populator-RSJ44BRO.js} +2 -2
- package/dist/{core-memory-JZ34WT5R.js → core-memory-C3JLISAU.js} +1 -1
- package/dist/{crdt-sync-4TOVD4QN.js → crdt-sync-XMC6LT2Q.js} +2 -2
- package/dist/{crm-bridge-27QVOWPI.js → crm-bridge-4QZRMOF7.js} +1 -1
- package/dist/{crm-webhook-77XHBWL7.js → crm-webhook-QMHD5YYQ.js} +3 -3
- package/dist/{cto-delegation-gate-AWENA4VT.js → cto-delegation-gate-BTZWAA4E.js} +11 -10
- package/dist/{daemon-auth-Z7O3LO23.js → daemon-auth-F47P6HTC.js} +4 -4
- package/dist/{daemon-orchestration-BG4NPWOK.js → daemon-orchestration-HFODCB52.js} +14 -13
- package/dist/{daemon-protocol-N7MOJ4U3.js → daemon-protocol-XW2OLNBS.js} +1 -1
- package/dist/{db-backup-E34JMBZD.js → db-backup-W56YOLMC.js} +4 -4
- package/dist/{devtools-ZL5NCINM.js → devtools-5PEATRYE.js} +1 -1
- package/dist/{discord-QOFQKX6S.js → discord-LMZKIYWB.js} +1 -1
- package/dist/dispatch-ack-JYCKAWKZ.js +13 -0
- package/dist/{email-NY5HB4WA.js → email-UENAIKRN.js} +1 -1
- package/dist/{entity-boost-V6KSRGG4.js → entity-boost-LIBVNNXO.js} +2 -2
- package/dist/{exe-drift-YFWCC26O.js → exe-drift-SED6KQTZ.js} +6 -6
- package/dist/{exe-export-YRACBEUY.js → exe-export-ADSWDE5U.js} +9 -9
- package/dist/{exe-import-DY57L2OI.js → exe-import-WFLNGJZP.js} +9 -9
- package/dist/{exe-key-U2JJH4MO.js → exe-key-4L32R46F.js} +5 -7
- package/dist/{exe-org-45OTYZZJ.js → exe-org-OOO7KJVZ.js} +4 -4
- package/dist/{factory-2PB537KA.js → factory-CTFAGZUA.js} +1 -1
- package/dist/fast-db-init-HVAVS35N.js +7 -0
- package/dist/{file-edit-GSXUFUDC.js → file-edit-AZAJPCA3.js} +1 -1
- package/dist/{file-read-Z3F3PUCK.js → file-read-VACF23NC.js} +1 -1
- package/dist/{file-write-X77JXZ2C.js → file-write-B2RPT5U7.js} +1 -1
- package/dist/gateway/index.js +10 -10
- package/dist/{gateway-client-IPKKEYKY.js → gateway-client-5EUMMEZZ.js} +2 -2
- package/dist/{git-staleness-I662R7RL.js → git-staleness-BY4ZK6MW.js} +5 -5
- package/dist/{git-task-sweep-XWFCP2HA.js → git-task-sweep-RSRASAHB.js} +12 -11
- package/dist/{glob-2PWAXTZ2.js → glob-7PWH7WKL.js} +1 -1
- package/dist/{global-procedures-IEIJBCAH.js → global-procedures-EKYSVONR.js} +7 -7
- package/dist/graph-auto-extract-HWZ5GVXZ.js +161 -0
- package/dist/{graph-query-NCDYOT4Y.js → graph-query-SE6T5XC4.js} +1 -1
- package/dist/{graph-rag-2YLGRBW5.js → graph-rag-G3EG5Q6L.js} +3 -3
- package/dist/{grep-GTV6WAZ4.js → grep-HWIDXHRC.js} +1 -1
- package/dist/{hook-integrity-LLPJPAXW.js → hook-integrity-PR4BPZBT.js} +2 -2
- package/dist/hooks/bug-report-worker.js +13 -12
- package/dist/hooks/codex-stop-task-finalizer.js +16 -13
- package/dist/hooks/commit-complete.js +14 -13
- package/dist/hooks/error-recall.js +9 -12
- package/dist/hooks/exe-heartbeat-hook.js +6 -6
- package/dist/hooks/ingest-worker.js +9 -9
- package/dist/hooks/ingest.js +16 -19
- package/dist/hooks/instructions-loaded.js +7 -7
- package/dist/hooks/notification.js +12 -10
- package/dist/hooks/post-compact.js +13 -12
- package/dist/hooks/post-tool-combined.js +6 -6
- package/dist/hooks/pre-compact.js +18 -17
- package/dist/hooks/pre-tool-use.js +19 -20
- package/dist/hooks/prompt-submit.js +78 -39
- package/dist/hooks/session-end.js +22 -21
- package/dist/hooks/session-start.js +31 -25
- package/dist/hooks/stop.js +20 -22
- package/dist/hooks/subagent-stop.js +13 -12
- package/dist/hooks/summary-worker.js +21 -20
- package/dist/{hooks-UK2AYRCA.js → hooks-LDCFYHDF.js} +1 -1
- package/dist/{imessage-LINH4V4D.js → imessage-6UOZB5VN.js} +1 -1
- package/dist/index.js +19 -18
- package/dist/{installer-PB63JTTG.js → installer-RLKOACKG.js} +9 -9
- package/dist/{installer-SSR2OOLO.js → installer-W4NY3OBF.js} +13 -11
- package/dist/{installer-ZONYB3XK.js → installer-X5FEYJIA.js} +9 -9
- package/dist/{intercom-queue-MMZT2MA2.js → intercom-queue-K3DVKSPJ.js} +1 -1
- package/dist/{key-backup-status-4WKIQOAS.js → key-backup-status-ORNMJEEA.js} +4 -6
- package/dist/lib/agent-config.js +4 -4
- package/dist/lib/cloud-sync.js +8 -8
- package/dist/lib/cloudflare-dns.js +1 -1
- package/dist/lib/config.js +3 -5
- package/dist/lib/consolidation.js +8 -8
- package/dist/lib/crypto.js +1 -1
- package/dist/lib/database.js +5 -5
- package/dist/lib/db-daemon-client.js +5 -5
- package/dist/lib/db.js +5 -5
- package/dist/lib/device-registry.js +4 -6
- package/dist/lib/embedder.js +6 -6
- package/dist/lib/employee-templates.js +8 -8
- package/dist/lib/employees.js +7 -5
- package/dist/lib/error-detector.js +1 -1
- package/dist/lib/exe-daemon-client.js +5 -5
- package/dist/lib/exe-daemon.js +143 -52
- package/dist/lib/file-grep.js +1 -1
- package/dist/lib/hybrid-search.js +8 -8
- package/dist/lib/identity-templates.js +1 -1
- package/dist/lib/identity.js +5 -5
- package/dist/lib/keychain.js +1 -1
- package/dist/lib/license.js +4 -4
- package/dist/lib/messaging.js +12 -11
- package/dist/lib/post-tool-memory.js +3 -3
- package/dist/lib/registry-proxy.js +1 -1
- package/dist/lib/reminders.js +6 -6
- package/dist/lib/runtime-table.js +1 -1
- package/dist/lib/schedules.js +8 -8
- package/dist/lib/session-registry.js +1 -1
- package/dist/lib/session-wrappers.js +1 -1
- package/dist/lib/skill-learning.js +7 -7
- package/dist/lib/status-brief.js +1 -1
- package/dist/lib/store.js +7 -7
- package/dist/lib/task-router.js +6 -6
- package/dist/lib/tasks.js +14 -11
- package/dist/lib/tmux-routing.js +11 -10
- package/dist/lib/tmux-status.js +1 -1
- package/dist/lib/tmux-transport.js +1 -1
- package/dist/lib/token-spend.js +6 -6
- package/dist/lib/transport.js +1 -1
- package/dist/lib/ws-auth.js +1 -1
- package/dist/lib/ws-client.js +2 -2
- package/dist/license-gate-J5YN264E.js +14 -0
- package/dist/mcp/register-tools.js +63 -62
- package/dist/mcp/server.js +65 -64
- package/dist/mcp/tools/complete-reminder.js +7 -7
- package/dist/mcp/tools/create-reminder.js +7 -7
- package/dist/mcp/tools/create-task.js +15 -13
- package/dist/mcp/tools/deactivate-behavior.js +8 -8
- package/dist/mcp/tools/list-reminders.js +7 -7
- package/dist/mcp/tools/list-tasks.js +14 -14
- package/dist/mcp/tools/send-message.js +14 -13
- package/dist/mcp/tools/update-task.js +13 -12
- package/dist/{mcp-diagnostics-CWMVPHVC.js → mcp-diagnostics-TSBY62UQ.js} +1 -1
- package/dist/{mcp-disconnect-tracker-RM3GEERR.js → mcp-disconnect-tracker-MB23DRS6.js} +1 -1
- package/dist/{mcp-http-config-PDGSOYNQ.js → mcp-http-config-6YLW4PFG.js} +6 -6
- package/dist/{memory-cards-OLE6MGO7.js → memory-cards-UAQCO4QR.js} +5 -5
- package/dist/{memory-poisoning-defense-OOHJIXIX.js → memory-poisoning-defense-VWITZ4WO.js} +5 -7
- package/dist/{memory-queue-TGWXMENR.js → memory-queue-NYIGZNCG.js} +4 -4
- package/dist/memory-queue-client-YJOLYALV.js +15 -0
- package/dist/{memory-reflection-Z7CT6JLY.js → memory-reflection-JQC4ZSUD.js} +5 -5
- package/dist/{message-queue-client-TWIA2GIH.js → message-queue-client-NTLKYGVO.js} +1 -1
- package/dist/{notifications-SREXGSAQ.js → notifications-YDOKTVCH.js} +11 -10
- package/dist/{oauth-server-NSWGKLLA.js → oauth-server-TOWAZR4K.js} +1 -1
- package/dist/{orchestration-phase-WLQMEP4M.js → orchestration-phase-FXKZYK6R.js} +4 -4
- package/dist/{orchestrator-CHQURQSC.js → orchestrator-BZ2D6ZM6.js} +13 -12
- package/dist/{permission-presets-3XKJNM6N.js → permission-presets-E3DZK46K.js} +1 -1
- package/dist/{permissions-EZH3ULLD.js → permissions-6MCWUDCD.js} +1 -1
- package/dist/{pg-ssl-4ZNXKUNH.js → pg-ssl-7JXQFL4I.js} +1 -1
- package/dist/{plan-limits-7L75PB33.js → plan-limits-KUTODKG6.js} +7 -7
- package/dist/{preferences-K2GKUQSJ.js → preferences-ERXO6SMJ.js} +3 -3
- package/dist/{project-name-OBIDABHE.js → project-name-EWG5KAZP.js} +1 -1
- package/dist/{projection-worker-HSGE44JA.js → projection-worker-UY7R2EQJ.js} +85 -8
- package/dist/{push-notifications-EOTMKJ6B.js → push-notifications-KDYFOJRI.js} +4 -4
- package/dist/{reranker-ME4CK2ZQ.js → reranker-OMADCS3D.js} +4 -4
- package/dist/{review-gate-M3U2YAW6.js → review-gate-IUNS6GQU.js} +1 -1
- package/dist/{review-polling-DQCN4TNM.js → review-polling-DORNZ2KI.js} +12 -11
- package/dist/runtime/index.js +14 -13
- package/dist/{self-query-router-TRPHL54X.js → self-query-router-37VB3PKQ.js} +1 -1
- package/dist/{session-events-ZZBFYL5Z.js → session-events-5WR5RVDK.js} +12 -12
- package/dist/{session-kill-telemetry-MUFET632.js → session-kill-telemetry-DHSQV2CI.js} +6 -6
- package/dist/{session-scope-QUUDZM2L.js → session-scope-D4Q62ZOZ.js} +13 -13
- package/dist/setup-wizard-QVNTI3T4.js +12 -0
- package/dist/{shard-manager-VYMJM7NR.js → shard-manager-SP4YL5JQ.js} +4 -4
- package/dist/{signal-C263RUND.js → signal-7UIRTYGZ.js} +1 -1
- package/dist/{slack-N7PL6QMX.js → slack-GCOYBZUK.js} +1 -1
- package/dist/{task-enforcement-WJ3S6JTL.js → task-enforcement-OYCQXBBC.js} +11 -10
- package/dist/{task-scanner-YHWRG4ZJ.js → task-scanner-QEM5CO2Y.js} +1 -1
- package/dist/{task-scope-V2CTRHG7.js → task-scope-WWRNU2LU.js} +11 -10
- package/dist/{tasks-crud-W2XPUGKK.js → tasks-crud-75AUVZPO.js} +13 -10
- package/dist/{tasks-review-BR2SBSYG.js → tasks-review-UMZN5ZPQ.js} +11 -10
- package/dist/{telegram-B54FFOXD.js → telegram-RGVD4LUY.js} +1 -1
- package/dist/{telemetry-7IQCPV4Q.js → telemetry-43X3GT3R.js} +1 -1
- package/dist/{token-budget-H2XSWO4D.js → token-budget-62TYDIMI.js} +5 -5
- package/dist/{tool-capability-index-5X2CCGIK.js → tool-capability-index-OBZXORBP.js} +2 -2
- package/dist/{tool-gates-SGFMDREY.js → tool-gates-3IC7DK4R.js} +1 -1
- package/dist/{tool-gates-3DNTD7G3.js → tool-gates-GXSYBVK4.js} +1 -1
- package/dist/{tool-registry-2VUAZXTW.js → tool-registry-5XN3FUYL.js} +1 -1
- package/dist/{tool-telemetry-NVPSPRYP.js → tool-telemetry-JL6NY3KP.js} +2 -2
- package/dist/tui/App.js +44 -43
- package/dist/{tui-data-QN4O565C.js → tui-data-C5I2YU4C.js} +11 -10
- package/dist/{update-check-ERUKV2G6.js → update-check-MKHO7H6B.js} +1 -1
- package/dist/{webhook-L5FGAUPJ.js → webhook-LCW7UP4L.js} +1 -1
- package/dist/{webhook-pipe-B7GJCJAI.js → webhook-pipe-PJOFVBD3.js} +1 -1
- package/dist/{whatsapp-7FK2PRWO.js → whatsapp-SILL4V64.js} +1 -1
- package/dist/{whatsapp-accounts-VIHRSLGB.js → whatsapp-accounts-BWRZUY23.js} +1 -1
- package/dist/{wiki-acl-R4IIHICT.js → wiki-acl-5EC5VNYG.js} +1 -1
- package/dist/{wiki-client-EUDJA7O2.js → wiki-client-MMVRPTPK.js} +1 -1
- package/dist/{worker-gate-3KDXLIJC.js → worker-gate-Q5Y6B5N7.js} +4 -4
- package/dist/{workflow-engine-GISKRYSO.js → workflow-engine-KAKVU7NC.js} +3 -3
- package/dist/{worktree-B3FHAHEM.js → worktree-OMPQEJH7.js} +1 -1
- package/package.json +2 -2
- package/release-notes.json +126 -126
- package/src/commands/exe/setup.md +1 -1
- package/dist/chunk-PNKVD2UK.js +0 -26
- package/dist/fast-db-init-67TQTHWT.js +0 -7
- package/dist/license-gate-JY2KFIKO.js +0 -14
- package/dist/memory-queue-client-RZP5F4EA.js +0 -15
- package/dist/setup-wizard-NXWCEK63.js +0 -12
- package/dist/{chunk-D5MPHVWH.js → chunk-524VLFFY.js} +0 -0
- package/dist/{chunk-HIQ5RDA7.js → chunk-A3A2E42I.js} +0 -0
- package/dist/{chunk-APRP5D27.js → chunk-H6ADW3YC.js} +0 -0
- package/dist/{chunk-AAVODJ4F.js → chunk-J2OPV5FE.js} +0 -0
- package/dist/{chunk-DBLBWWFS.js → chunk-S6DA6UKC.js} +3 -3
- /package/dist/{chunk-F3ULERRZ.js → chunk-TSCZMB3P.js} +0 -0
- /package/dist/{chunk-2HV2EQW2.js → chunk-WRU72I4S.js} +0 -0
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getCachedLicenseGate
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-VB23RNNI.js";
|
|
4
4
|
import {
|
|
5
5
|
getToolUsageStats
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-TSCZMB3P.js";
|
|
7
7
|
import {
|
|
8
8
|
AUTO_WAKE_MAX_RETRIES
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-2BPO7VQF.js";
|
|
10
10
|
import {
|
|
11
11
|
getToolCapabilityIndex
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-J2OPV5FE.js";
|
|
13
13
|
import {
|
|
14
14
|
isRerankerAvailable,
|
|
15
15
|
rerankWithScores
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-XMRDT4PB.js";
|
|
17
17
|
import {
|
|
18
18
|
getEntityByName,
|
|
19
19
|
getEntityNeighbors,
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
} from "./chunk-E6ORBQHP.js";
|
|
29
29
|
import {
|
|
30
30
|
listRecentSessionEvents
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-QB66MH2V.js";
|
|
32
32
|
import {
|
|
33
33
|
analyzeBlastRadius,
|
|
34
34
|
buildCodeContextIndex,
|
|
@@ -37,66 +37,66 @@ import {
|
|
|
37
37
|
searchCodeContext,
|
|
38
38
|
searchCodeContextSemantic,
|
|
39
39
|
traceCodeSymbol
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-V4MKR32F.js";
|
|
41
41
|
import {
|
|
42
42
|
runDriftProbes
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-4GLEFA2X.js";
|
|
44
44
|
import {
|
|
45
45
|
exportOrchestration,
|
|
46
46
|
importOrchestration,
|
|
47
47
|
validatePackage
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-JF3Q5YKI.js";
|
|
49
49
|
import {
|
|
50
50
|
loadOrchestrationPhase,
|
|
51
51
|
setOrchestrationPhase
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-6HFZ2KUC.js";
|
|
53
53
|
import {
|
|
54
54
|
createOrRefreshResumeTask
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-J4RAXKTC.js";
|
|
56
56
|
import {
|
|
57
57
|
registerCompleteReminder
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-FG4Z2XFU.js";
|
|
59
59
|
import {
|
|
60
60
|
registerDeactivateBehavior
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-IFACD7E6.js";
|
|
62
62
|
import {
|
|
63
63
|
registerSendMessage
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-VK2AWQ6D.js";
|
|
65
65
|
import {
|
|
66
66
|
registerCreateTask
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-XK7VZFCC.js";
|
|
68
68
|
import {
|
|
69
69
|
registerListTasks
|
|
70
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-VYVESELG.js";
|
|
71
71
|
import {
|
|
72
72
|
registerUpdateTask
|
|
73
|
-
} from "./chunk-
|
|
73
|
+
} from "./chunk-QHQJ7DLL.js";
|
|
74
74
|
import {
|
|
75
75
|
registerCreateReminder
|
|
76
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-26UVGP3I.js";
|
|
77
77
|
import {
|
|
78
78
|
registerListReminders
|
|
79
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-JH7Z2AZ7.js";
|
|
80
80
|
import {
|
|
81
81
|
completeReminder,
|
|
82
82
|
createReminder,
|
|
83
83
|
listReminders
|
|
84
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-2OATM2JZ.js";
|
|
85
85
|
import {
|
|
86
86
|
status
|
|
87
|
-
} from "./chunk-
|
|
87
|
+
} from "./chunk-ZMJHXDZR.js";
|
|
88
88
|
import {
|
|
89
89
|
TOKENS_PER_IDLE_MINUTE,
|
|
90
90
|
countKillsSince,
|
|
91
91
|
sumTokensSavedSince
|
|
92
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-PMWDO5FR.js";
|
|
93
93
|
import {
|
|
94
94
|
getAgentSpend
|
|
95
|
-
} from "./chunk-
|
|
95
|
+
} from "./chunk-MKPSMRVX.js";
|
|
96
96
|
import {
|
|
97
97
|
createSchedule,
|
|
98
98
|
parseHumanCron
|
|
99
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-ZUAXTH6Z.js";
|
|
100
100
|
import {
|
|
101
101
|
exportGraphHTML,
|
|
102
102
|
generateGraphReport
|
|
@@ -104,52 +104,52 @@ import {
|
|
|
104
104
|
import {
|
|
105
105
|
entityId,
|
|
106
106
|
mergeEntities
|
|
107
|
-
} from "./chunk-
|
|
107
|
+
} from "./chunk-GP6G6EQI.js";
|
|
108
108
|
import {
|
|
109
109
|
formatReport,
|
|
110
110
|
runAudit
|
|
111
|
-
} from "./chunk-
|
|
111
|
+
} from "./chunk-4EINMZNO.js";
|
|
112
112
|
import {
|
|
113
113
|
runHealthCheck
|
|
114
|
-
} from "./chunk-
|
|
114
|
+
} from "./chunk-ODEGQCWW.js";
|
|
115
115
|
import {
|
|
116
116
|
hasFailures,
|
|
117
117
|
runHealth,
|
|
118
118
|
runTest
|
|
119
|
-
} from "./chunk-
|
|
119
|
+
} from "./chunk-DW6P7UVY.js";
|
|
120
120
|
import {
|
|
121
121
|
findSimilarTrajectories,
|
|
122
122
|
hashSignature
|
|
123
|
-
} from "./chunk-
|
|
123
|
+
} from "./chunk-ZZLTJXKR.js";
|
|
124
124
|
import {
|
|
125
125
|
deactivateBehavior,
|
|
126
126
|
listBehaviorsByDomain,
|
|
127
127
|
listSharedSkills,
|
|
128
128
|
storeBehavior
|
|
129
|
-
} from "./chunk-
|
|
129
|
+
} from "./chunk-ARGBV4PP.js";
|
|
130
130
|
import {
|
|
131
131
|
countUnconsolidated,
|
|
132
132
|
groupMemories,
|
|
133
133
|
runConsolidation,
|
|
134
134
|
selectUnconsolidated
|
|
135
|
-
} from "./chunk-
|
|
135
|
+
} from "./chunk-MKUVEDUE.js";
|
|
136
136
|
import {
|
|
137
137
|
renderClientCOOTemplate
|
|
138
|
-
} from "./chunk-
|
|
138
|
+
} from "./chunk-3MLGUSKS.js";
|
|
139
139
|
import {
|
|
140
140
|
deactivateGlobalProcedure,
|
|
141
141
|
loadGlobalProcedures,
|
|
142
142
|
storeGlobalProcedure
|
|
143
|
-
} from "./chunk-
|
|
143
|
+
} from "./chunk-UPMKSFBU.js";
|
|
144
144
|
import {
|
|
145
145
|
PLATFORM_PROCEDURES
|
|
146
|
-
} from "./chunk-
|
|
146
|
+
} from "./chunk-XWQKCCCO.js";
|
|
147
147
|
import {
|
|
148
148
|
clearCloudReuploadRequired,
|
|
149
149
|
cloudSync,
|
|
150
150
|
getCloudReuploadRequired,
|
|
151
151
|
markCloudReuploadRequired
|
|
152
|
-
} from "./chunk-
|
|
152
|
+
} from "./chunk-VNTDQUOG.js";
|
|
153
153
|
import {
|
|
154
154
|
encryptSyncBlob,
|
|
155
155
|
isSyncCryptoInitialized
|
|
@@ -159,31 +159,28 @@ import {
|
|
|
159
159
|
} from "./chunk-X2Z5GT3V.js";
|
|
160
160
|
import {
|
|
161
161
|
embed
|
|
162
|
-
} from "./chunk-
|
|
162
|
+
} from "./chunk-4MN44ORL.js";
|
|
163
163
|
import {
|
|
164
164
|
readMcpHttpEvents,
|
|
165
165
|
summarizeMcpTransport,
|
|
166
166
|
writeMcpTransportSummary
|
|
167
|
-
} from "./chunk-
|
|
167
|
+
} from "./chunk-LWJ4AMMY.js";
|
|
168
168
|
import {
|
|
169
169
|
updateTask
|
|
170
|
-
} from "./chunk-
|
|
170
|
+
} from "./chunk-3FIWKONP.js";
|
|
171
171
|
import {
|
|
172
172
|
fastDbInit
|
|
173
|
-
} from "./chunk-
|
|
173
|
+
} from "./chunk-7B5DQGXG.js";
|
|
174
174
|
import {
|
|
175
175
|
MAX_CONCURRENT_WORKERS
|
|
176
|
-
} from "./chunk-
|
|
177
|
-
import {
|
|
178
|
-
getProjectName
|
|
179
|
-
} from "./chunk-OPU3NYOO.js";
|
|
176
|
+
} from "./chunk-YPSN64BU.js";
|
|
180
177
|
import {
|
|
181
178
|
hybridSearch,
|
|
182
179
|
recentRecords
|
|
183
|
-
} from "./chunk-
|
|
180
|
+
} from "./chunk-AGFWOII2.js";
|
|
184
181
|
import {
|
|
185
182
|
getActiveAgent
|
|
186
|
-
} from "./chunk-
|
|
183
|
+
} from "./chunk-NFHFNPTN.js";
|
|
187
184
|
import {
|
|
188
185
|
attachDocumentMetadata,
|
|
189
186
|
flushBatch,
|
|
@@ -191,7 +188,7 @@ import {
|
|
|
191
188
|
reserveVersions,
|
|
192
189
|
vectorToBlob,
|
|
193
190
|
writeMemory
|
|
194
|
-
} from "./chunk-
|
|
191
|
+
} from "./chunk-Y6TS42WD.js";
|
|
195
192
|
import {
|
|
196
193
|
getMySession,
|
|
197
194
|
resolveExeSession,
|
|
@@ -199,7 +196,7 @@ import {
|
|
|
199
196
|
sessionScopeFilter,
|
|
200
197
|
updateTaskStatus,
|
|
201
198
|
writeCheckpoint
|
|
202
|
-
} from "./chunk-
|
|
199
|
+
} from "./chunk-ONMRBKAX.js";
|
|
203
200
|
import {
|
|
204
201
|
listSessions
|
|
205
202
|
} from "./chunk-64WZEXXA.js";
|
|
@@ -210,7 +207,7 @@ import {
|
|
|
210
207
|
getAgentRuntime,
|
|
211
208
|
loadAgentConfig,
|
|
212
209
|
setAgentRuntime
|
|
213
|
-
} from "./chunk-
|
|
210
|
+
} from "./chunk-KIUU4PNX.js";
|
|
214
211
|
import {
|
|
215
212
|
DEFAULT_RUNTIME
|
|
216
213
|
} from "./chunk-NGP6LSV2.js";
|
|
@@ -219,7 +216,10 @@ import {
|
|
|
219
216
|
assertEmployeeLimit,
|
|
220
217
|
assertFeature,
|
|
221
218
|
assertMemoryLimit
|
|
222
|
-
} from "./chunk-
|
|
219
|
+
} from "./chunk-AERGE6GC.js";
|
|
220
|
+
import {
|
|
221
|
+
getProjectName
|
|
222
|
+
} from "./chunk-OPU3NYOO.js";
|
|
223
223
|
import {
|
|
224
224
|
getAccountByName,
|
|
225
225
|
getDefaultAccount
|
|
@@ -229,7 +229,7 @@ import {
|
|
|
229
229
|
isScheduledTrigger,
|
|
230
230
|
loadTriggers,
|
|
231
231
|
sanitizeParam
|
|
232
|
-
} from "./chunk-
|
|
232
|
+
} from "./chunk-ZBA74MMX.js";
|
|
233
233
|
import {
|
|
234
234
|
pushConversationToCRM
|
|
235
235
|
} from "./chunk-GCNWCYJI.js";
|
|
@@ -249,7 +249,7 @@ import {
|
|
|
249
249
|
loadEmployeesSync,
|
|
250
250
|
saveEmployees,
|
|
251
251
|
updateIdentity
|
|
252
|
-
} from "./chunk-
|
|
252
|
+
} from "./chunk-TH6HTK2L.js";
|
|
253
253
|
import {
|
|
254
254
|
getMasterKey
|
|
255
255
|
} from "./chunk-6D23UNXU.js";
|
|
@@ -265,12 +265,11 @@ import {
|
|
|
265
265
|
readCachedLicenseToken,
|
|
266
266
|
saveLicense,
|
|
267
267
|
validateLicense
|
|
268
|
-
} from "./chunk-
|
|
268
|
+
} from "./chunk-NNT2ZNMC.js";
|
|
269
269
|
import {
|
|
270
270
|
EXE_AI_DIR,
|
|
271
|
-
init_config,
|
|
272
271
|
loadConfig
|
|
273
|
-
} from "./chunk-
|
|
272
|
+
} from "./chunk-TOWAZ5IV.js";
|
|
274
273
|
|
|
275
274
|
// src/mcp/tools/memory.ts
|
|
276
275
|
import { z as z10 } from "zod";
|
|
@@ -439,6 +438,61 @@ function registerRecallMyMemory(server) {
|
|
|
439
438
|
results = await recentRecords(agentId, searchOptions, limit);
|
|
440
439
|
}
|
|
441
440
|
}
|
|
441
|
+
const FEDERATION_THRESHOLD = 3;
|
|
442
|
+
let federatedCount = 0;
|
|
443
|
+
if (!recent && query && results.length < FEDERATION_THRESHOLD) {
|
|
444
|
+
try {
|
|
445
|
+
const { searchCodeContextSemantic: searchCodeContextSemantic2 } = await import("./code-context-index-I5A7I4JQ.js");
|
|
446
|
+
const codeResults = await Promise.race([
|
|
447
|
+
searchCodeContextSemantic2(query, { limit: 5 }),
|
|
448
|
+
new Promise((_, rej) => setTimeout(() => rej(new Error("timeout")), 2e3))
|
|
449
|
+
]);
|
|
450
|
+
for (let i = 0; i < codeResults.length; i++) {
|
|
451
|
+
const cr = codeResults[i];
|
|
452
|
+
results.push({
|
|
453
|
+
id: `federated-code_context-${results.length}`,
|
|
454
|
+
raw_text: `[code_context] ${cr.filePath}:${cr.startLine}
|
|
455
|
+
${cr.content}`,
|
|
456
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
457
|
+
tool_name: "code_context",
|
|
458
|
+
project_name: project_name ?? "federated",
|
|
459
|
+
has_error: false
|
|
460
|
+
});
|
|
461
|
+
}
|
|
462
|
+
} catch {
|
|
463
|
+
}
|
|
464
|
+
try {
|
|
465
|
+
const { getClient: getClient2 } = await import("./lib/database.js");
|
|
466
|
+
const client = getClient2();
|
|
467
|
+
const graphResults = await Promise.race([
|
|
468
|
+
client.execute({
|
|
469
|
+
sql: `SELECT e.name, e.type as entity_type, e.properties as description, r.type as relationship_type, r2.name as related_to
|
|
470
|
+
FROM entities e
|
|
471
|
+
LEFT JOIN relationships r ON e.id = r.source_entity_id
|
|
472
|
+
LEFT JOIN entities r2 ON r.target_entity_id = r2.id
|
|
473
|
+
WHERE e.name LIKE ? OR e.properties LIKE ?
|
|
474
|
+
LIMIT 5`,
|
|
475
|
+
args: [`%${query.slice(0, 50)}%`, `%${query.slice(0, 50)}%`]
|
|
476
|
+
}),
|
|
477
|
+
new Promise((_, rej) => setTimeout(() => rej(new Error("timeout")), 2e3))
|
|
478
|
+
]);
|
|
479
|
+
for (let i = 0; i < (graphResults.rows?.length ?? 0); i++) {
|
|
480
|
+
const gr = graphResults.rows[i];
|
|
481
|
+
const relPart = gr.related_to ? ` \u2192 ${gr.relationship_type} \u2192 ${gr.related_to}` : "";
|
|
482
|
+
results.push({
|
|
483
|
+
id: `federated-graph-${results.length}`,
|
|
484
|
+
raw_text: `[graph] ${gr.name} (${gr.entity_type})${relPart}
|
|
485
|
+
${gr.description ?? ""}`,
|
|
486
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
487
|
+
tool_name: "graph",
|
|
488
|
+
project_name: project_name ?? "federated",
|
|
489
|
+
has_error: false
|
|
490
|
+
});
|
|
491
|
+
}
|
|
492
|
+
} catch {
|
|
493
|
+
}
|
|
494
|
+
federatedCount = results.filter((r) => r.tool_name === "code_context" || r.tool_name === "graph").length;
|
|
495
|
+
}
|
|
442
496
|
if (results.length === 0) {
|
|
443
497
|
return {
|
|
444
498
|
content: [
|
|
@@ -461,13 +515,16 @@ function registerRecallMyMemory(server) {
|
|
|
461
515
|
parts.push(body);
|
|
462
516
|
return parts.join("\n");
|
|
463
517
|
}).join("\n\n---\n\n");
|
|
518
|
+
const federatedNote = federatedCount > 0 ? `
|
|
519
|
+
|
|
520
|
+
[Federated recall: ${federatedCount} result(s) from code_context/graph (memory had < ${FEDERATION_THRESHOLD} matches)]` : "";
|
|
464
521
|
return {
|
|
465
522
|
content: [
|
|
466
523
|
{
|
|
467
524
|
type: "text",
|
|
468
525
|
text: `Found ${results.length} memories:
|
|
469
526
|
|
|
470
|
-
${formatted}`
|
|
527
|
+
${formatted}${federatedNote}`
|
|
471
528
|
}
|
|
472
529
|
]
|
|
473
530
|
};
|
|
@@ -855,7 +912,7 @@ async function searchConversations(query, limit) {
|
|
|
855
912
|
}
|
|
856
913
|
async function searchWiki(query, limit) {
|
|
857
914
|
try {
|
|
858
|
-
const { createWikiClient, chatInWorkspace, listWorkspaces } = await import("./wiki-client-
|
|
915
|
+
const { createWikiClient, chatInWorkspace, listWorkspaces } = await import("./wiki-client-MMVRPTPK.js");
|
|
859
916
|
const client = await createWikiClient();
|
|
860
917
|
if (!client) return [];
|
|
861
918
|
const workspaces = await listWorkspaces(client);
|
|
@@ -1396,7 +1453,7 @@ async function handleSupersede(input) {
|
|
|
1396
1453
|
}
|
|
1397
1454
|
try {
|
|
1398
1455
|
const { getClient: getClient2 } = await import("./lib/database.js");
|
|
1399
|
-
const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-
|
|
1456
|
+
const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-NCZCDDZ2.js");
|
|
1400
1457
|
const { writeMemory: writeMemory2, flushBatch: flushBatch2 } = await import("./lib/store.js");
|
|
1401
1458
|
const { randomUUID: randomUUID2 } = await import("crypto");
|
|
1402
1459
|
const client = getClient2();
|
|
@@ -1414,7 +1471,7 @@ async function handleSupersede(input) {
|
|
|
1414
1471
|
});
|
|
1415
1472
|
const { agentId, agentRole } = getActiveAgent2();
|
|
1416
1473
|
const sessionId = process.env.SESSION_ID ?? "manual";
|
|
1417
|
-
const { getProjectName: getProjectName2 } = await import("./project-name-
|
|
1474
|
+
const { getProjectName: getProjectName2 } = await import("./project-name-EWG5KAZP.js");
|
|
1418
1475
|
const projectName = input.project_name ?? getProjectName2();
|
|
1419
1476
|
const newId = randomUUID2();
|
|
1420
1477
|
await writeMemory2({
|
|
@@ -1505,9 +1562,9 @@ function registerMemory(server) {
|
|
|
1505
1562
|
return handleSupersede(input);
|
|
1506
1563
|
}
|
|
1507
1564
|
if (action === "core_get" || action === "core_set" || action === "core_delete") {
|
|
1508
|
-
const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-
|
|
1565
|
+
const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-NCZCDDZ2.js");
|
|
1509
1566
|
const { agentId } = getActiveAgent2();
|
|
1510
|
-
const { getCoreMemory, setCoreMemory, deleteCoreMemory, formatCoreMemoryBlock } = await import("./core-memory-
|
|
1567
|
+
const { getCoreMemory, setCoreMemory, deleteCoreMemory, formatCoreMemoryBlock } = await import("./core-memory-C3JLISAU.js");
|
|
1511
1568
|
if (action === "core_get") {
|
|
1512
1569
|
const entries = await getCoreMemory(agentId);
|
|
1513
1570
|
const block = formatCoreMemoryBlock(entries);
|
|
@@ -1877,12 +1934,13 @@ function registerCloseTask(server) {
|
|
|
1877
1934
|
try {
|
|
1878
1935
|
const { getClient: getClient2 } = await import("./lib/database.js");
|
|
1879
1936
|
const client = getClient2();
|
|
1937
|
+
const mySession = resolveExeSession();
|
|
1938
|
+
const scope = sessionScopeFilter(mySession);
|
|
1880
1939
|
const taskRow = await client.execute({
|
|
1881
|
-
sql:
|
|
1882
|
-
args: [task_id, `%${task_id}%`, `%${task_id}
|
|
1940
|
+
sql: `SELECT session_scope FROM tasks WHERE (id = ? OR task_file LIKE ? OR title LIKE ?) ${scope.sql} LIMIT 1`,
|
|
1941
|
+
args: [task_id, `%${task_id}%`, `%${task_id}%`, ...scope.args]
|
|
1883
1942
|
});
|
|
1884
1943
|
const taskScope = taskRow.rows[0]?.session_scope;
|
|
1885
|
-
const mySession = resolveExeSession();
|
|
1886
1944
|
if (taskScope && mySession && taskScope !== mySession) {
|
|
1887
1945
|
return {
|
|
1888
1946
|
content: [{
|
|
@@ -1898,9 +1956,10 @@ function registerCloseTask(server) {
|
|
|
1898
1956
|
try {
|
|
1899
1957
|
const { getClient: getClient2 } = await import("./lib/database.js");
|
|
1900
1958
|
const client = getClient2();
|
|
1959
|
+
const mergeScope = sessionScopeFilter(resolveExeSession());
|
|
1901
1960
|
const taskRow = await client.execute({
|
|
1902
|
-
sql:
|
|
1903
|
-
args: [task_id, `%${task_id}%`, `%${task_id}
|
|
1961
|
+
sql: `SELECT assigned_to FROM tasks WHERE (id = ? OR task_file LIKE ? OR title LIKE ?) ${mergeScope.sql} LIMIT 1`,
|
|
1962
|
+
args: [task_id, `%${task_id}%`, `%${task_id}%`, ...mergeScope.args]
|
|
1904
1963
|
});
|
|
1905
1964
|
const assignee = taskRow.rows[0]?.assigned_to;
|
|
1906
1965
|
if (assignee) {
|
|
@@ -1964,9 +2023,10 @@ File: ${task.taskFile}`;
|
|
|
1964
2023
|
const rClient = getRespawnClient();
|
|
1965
2024
|
const assignee = task.assignedTo;
|
|
1966
2025
|
if (assignee) {
|
|
2026
|
+
const respawnScope = sessionScopeFilter(resolveExeSession());
|
|
1967
2027
|
const remaining = await rClient.execute({
|
|
1968
|
-
sql:
|
|
1969
|
-
args: [assignee]
|
|
2028
|
+
sql: `SELECT COUNT(*) as cnt FROM tasks WHERE assigned_to = ? AND status IN ('open', 'in_progress') ${respawnScope.sql}`,
|
|
2029
|
+
args: [assignee, ...respawnScope.args]
|
|
1970
2030
|
});
|
|
1971
2031
|
const count = Number(remaining.rows[0]?.cnt ?? 0);
|
|
1972
2032
|
if (count > 0) {
|
|
@@ -2113,7 +2173,7 @@ function registerResumeEmployee(server) {
|
|
|
2113
2173
|
};
|
|
2114
2174
|
}
|
|
2115
2175
|
try {
|
|
2116
|
-
const { isTmuxSessionAlive } = await import("./tasks-crud-
|
|
2176
|
+
const { isTmuxSessionAlive } = await import("./tasks-crud-75AUVZPO.js");
|
|
2117
2177
|
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
2118
2178
|
for (const row of openTasks.rows) {
|
|
2119
2179
|
const status2 = String(row.status);
|
|
@@ -2361,7 +2421,9 @@ var ACTION_TO_LEGACY_TOOL2 = {
|
|
|
2361
2421
|
close: "close_task",
|
|
2362
2422
|
checkpoint: "checkpoint_task",
|
|
2363
2423
|
resume: "resume_employee",
|
|
2364
|
-
dependency_tree: "dependency_tree"
|
|
2424
|
+
dependency_tree: "dependency_tree",
|
|
2425
|
+
verify_dispatch: null
|
|
2426
|
+
// Handled inline — not a legacy tool
|
|
2365
2427
|
};
|
|
2366
2428
|
var REQUIRED_FIELDS2 = {
|
|
2367
2429
|
create: ["title", "assigned_to", "project_name", "context"],
|
|
@@ -2371,7 +2433,8 @@ var REQUIRED_FIELDS2 = {
|
|
|
2371
2433
|
close: ["task_id", "result"],
|
|
2372
2434
|
checkpoint: ["task_id", "step", "context_summary"],
|
|
2373
2435
|
resume: ["agent_id"],
|
|
2374
|
-
dependency_tree: []
|
|
2436
|
+
dependency_tree: [],
|
|
2437
|
+
verify_dispatch: ["task_id"]
|
|
2375
2438
|
};
|
|
2376
2439
|
function errorResult2(text3) {
|
|
2377
2440
|
return {
|
|
@@ -2405,9 +2468,9 @@ function registerTask(server) {
|
|
|
2405
2468
|
"task",
|
|
2406
2469
|
{
|
|
2407
2470
|
title: "Task",
|
|
2408
|
-
description: "Consolidated task domain tool. Use action=create/list/get/update/close/checkpoint/resume/dependency_tree instead of separate task tools. Legacy task tools remain available during migration.",
|
|
2471
|
+
description: "Consolidated task domain tool. Use action=create/list/get/update/close/checkpoint/resume/dependency_tree/verify_dispatch instead of separate task tools. verify_dispatch checks if a dispatched task was acknowledged by the agent. Legacy task tools remain available during migration.",
|
|
2409
2472
|
inputSchema: {
|
|
2410
|
-
action: z17.enum(["create", "list", "get", "update", "close", "checkpoint", "resume", "dependency_tree"]).describe("Task operation to perform"),
|
|
2473
|
+
action: z17.enum(["create", "list", "get", "update", "close", "checkpoint", "resume", "dependency_tree", "verify_dispatch"]).describe("Task operation to perform"),
|
|
2411
2474
|
task_id: z17.string().optional().describe("Task identifier \u2014 UUID, slug, filename fragment, or title substring"),
|
|
2412
2475
|
title: z17.string().optional().describe("Task title for action=create"),
|
|
2413
2476
|
assigned_to: z17.string().optional().describe("Employee name for action=create/list filter"),
|
|
@@ -2433,6 +2496,19 @@ function registerTask(server) {
|
|
|
2433
2496
|
},
|
|
2434
2497
|
async (input, extra) => {
|
|
2435
2498
|
const action = input.action;
|
|
2499
|
+
if (action === "verify_dispatch") {
|
|
2500
|
+
const taskId = input.task_id;
|
|
2501
|
+
if (!taskId) return errorResult2("verify_dispatch requires task_id");
|
|
2502
|
+
try {
|
|
2503
|
+
const { checkDispatchStatus } = await import("./dispatch-ack-JYCKAWKZ.js");
|
|
2504
|
+
const result3 = checkDispatchStatus(taskId);
|
|
2505
|
+
return {
|
|
2506
|
+
content: [{ type: "text", text: JSON.stringify(result3, null, 2) }]
|
|
2507
|
+
};
|
|
2508
|
+
} catch (err) {
|
|
2509
|
+
return errorResult2(`verify_dispatch failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
2510
|
+
}
|
|
2511
|
+
}
|
|
2436
2512
|
const legacyToolName = ACTION_TO_LEGACY_TOOL2[action];
|
|
2437
2513
|
if (!legacyToolName) {
|
|
2438
2514
|
return errorResult2(`Unknown task action: ${String(input.action)}`);
|
|
@@ -2475,10 +2551,11 @@ function registerStoreBehavior(server) {
|
|
|
2475
2551
|
domain: z18.string().optional().describe("Category: workflow, code-style, tool-use, communication, architecture, testing"),
|
|
2476
2552
|
priority: z18.enum(["p0", "p1", "p2"]).optional().describe("Priority tier. p0 = always included (orchestration rules, hard gates). p1 = standard (default). p2 = nice-to-have."),
|
|
2477
2553
|
agent_id: z18.string().optional().describe("Employee name. Defaults to current agent."),
|
|
2478
|
-
project_name: z18.string().optional().describe("Defaults to current project. Pass 'global' for a behavior that applies everywhere.")
|
|
2554
|
+
project_name: z18.string().optional().describe("Defaults to current project. Pass 'global' for a behavior that applies everywhere."),
|
|
2555
|
+
device_scoped: z18.boolean().optional().describe("When true, behavior only loads on this device. Default false (global \u2014 loads everywhere).")
|
|
2479
2556
|
}
|
|
2480
2557
|
},
|
|
2481
|
-
async ({ content, domain, priority, agent_id, project_name }) => {
|
|
2558
|
+
async ({ content, domain, priority, agent_id, project_name, device_scoped }) => {
|
|
2482
2559
|
const activeAgent = getActiveAgent();
|
|
2483
2560
|
const resolvedAgent = agent_id ?? activeAgent.agentId;
|
|
2484
2561
|
if (agent_id && agent_id !== activeAgent.agentId) {
|
|
@@ -2536,7 +2613,8 @@ function registerStoreBehavior(server) {
|
|
|
2536
2613
|
content,
|
|
2537
2614
|
domain: domain ?? void 0,
|
|
2538
2615
|
projectName: resolvedProject,
|
|
2539
|
-
priority: priority ?? void 0
|
|
2616
|
+
priority: priority ?? void 0,
|
|
2617
|
+
deviceScoped: device_scoped ?? false
|
|
2540
2618
|
});
|
|
2541
2619
|
let responseText = `Behavior stored for ${resolvedAgent}. ID: ${id}`;
|
|
2542
2620
|
if (domain) {
|
|
@@ -2649,7 +2727,8 @@ function rowToBehavior(r) {
|
|
|
2649
2727
|
// Not needed for listing
|
|
2650
2728
|
created_by_agent: r.created_by_agent ? String(r.created_by_agent) : null,
|
|
2651
2729
|
created_by_device: r.created_by_device ? String(r.created_by_device) : null,
|
|
2652
|
-
source_session_id: r.source_session_id ? String(r.source_session_id) : null
|
|
2730
|
+
source_session_id: r.source_session_id ? String(r.source_session_id) : null,
|
|
2731
|
+
device_id: r.device_id ? String(r.device_id) : null
|
|
2653
2732
|
};
|
|
2654
2733
|
}
|
|
2655
2734
|
function registerListBehaviors(server) {
|
|
@@ -3135,8 +3214,8 @@ function registerIngestDocument(server) {
|
|
|
3135
3214
|
},
|
|
3136
3215
|
async (input) => {
|
|
3137
3216
|
try {
|
|
3138
|
-
const { assertFeature: assertFeature2 } = await import("./plan-limits-
|
|
3139
|
-
const { assertMemoryLimit: assertMemoryLimit2 } = await import("./plan-limits-
|
|
3217
|
+
const { assertFeature: assertFeature2 } = await import("./plan-limits-KUTODKG6.js");
|
|
3218
|
+
const { assertMemoryLimit: assertMemoryLimit2 } = await import("./plan-limits-KUTODKG6.js");
|
|
3140
3219
|
await assertFeature2("wiki");
|
|
3141
3220
|
await assertMemoryLimit2();
|
|
3142
3221
|
const result3 = await ingestDocument(input);
|
|
@@ -3823,7 +3902,6 @@ function registerQueryConversations(server) {
|
|
|
3823
3902
|
}
|
|
3824
3903
|
|
|
3825
3904
|
// src/mcp/tools/query-company-brain.ts
|
|
3826
|
-
init_config();
|
|
3827
3905
|
import { z as z33 } from "zod";
|
|
3828
3906
|
var FETCH_TIMEOUT_MS = 1e4;
|
|
3829
3907
|
var QUERY_SCOPE = z33.enum(["raw", "crm", "wiki", "memory", "gateway", "all", "cross"]);
|
|
@@ -5021,7 +5099,7 @@ function registerGetDaemonHealth(server) {
|
|
|
5021
5099
|
lines.push(`| Requests served | ${health.requests_served.toLocaleString()} |`);
|
|
5022
5100
|
}
|
|
5023
5101
|
try {
|
|
5024
|
-
const { getQueryCacheStats } = await import("./self-query-router-
|
|
5102
|
+
const { getQueryCacheStats } = await import("./self-query-router-37VB3PKQ.js");
|
|
5025
5103
|
const cache = getQueryCacheStats();
|
|
5026
5104
|
lines.push(`| Query cache size | ${cache.size} / ${cache.maxSize} |`);
|
|
5027
5105
|
lines.push(`| Query cache hit rate | ${cache.hitRate} |`);
|
|
@@ -5213,7 +5291,6 @@ function registerGetAutoWakeStatus(server) {
|
|
|
5213
5291
|
import { z as z50 } from "zod";
|
|
5214
5292
|
import { readdirSync, existsSync as existsSync4 } from "fs";
|
|
5215
5293
|
import path5 from "path";
|
|
5216
|
-
init_config();
|
|
5217
5294
|
var WORKER_PID_DIR = path5.join(EXE_AI_DIR, "worker-pids");
|
|
5218
5295
|
function countAliveWorkers() {
|
|
5219
5296
|
let alive = 0;
|
|
@@ -5258,7 +5335,7 @@ async function getAgentSessionLoad() {
|
|
|
5258
5335
|
return { sessions: [], totalLive: 0, busySessions: 0, idleSessions: 0 };
|
|
5259
5336
|
}
|
|
5260
5337
|
const { getClient: getClient2 } = await import("./lib/database.js");
|
|
5261
|
-
const { sessionScopeFilter: sessionScopeFilter2 } = await import("./task-scope-
|
|
5338
|
+
const { sessionScopeFilter: sessionScopeFilter2 } = await import("./task-scope-WWRNU2LU.js");
|
|
5262
5339
|
const client = getClient2();
|
|
5263
5340
|
const scope = sessionScopeFilter2();
|
|
5264
5341
|
for (const s of liveAgentSessions) {
|
|
@@ -5391,7 +5468,6 @@ function registerRunMemoryAudit(server) {
|
|
|
5391
5468
|
|
|
5392
5469
|
// src/mcp/tools/run-consolidation.ts
|
|
5393
5470
|
import { z as z52 } from "zod";
|
|
5394
|
-
init_config();
|
|
5395
5471
|
function registerRunConsolidation(server) {
|
|
5396
5472
|
server.registerTool(
|
|
5397
5473
|
"run_consolidation",
|
|
@@ -5468,7 +5544,6 @@ function registerRunConsolidation(server) {
|
|
|
5468
5544
|
|
|
5469
5545
|
// src/mcp/tools/cloud-sync.ts
|
|
5470
5546
|
import { z as z53 } from "zod";
|
|
5471
|
-
init_config();
|
|
5472
5547
|
function result(text3, isError = false) {
|
|
5473
5548
|
return { content: [{ type: "text", text: text3 }], ...isError ? { isError: true } : {} };
|
|
5474
5549
|
}
|
|
@@ -6275,7 +6350,6 @@ var HostingerError = class extends Error {
|
|
|
6275
6350
|
};
|
|
6276
6351
|
|
|
6277
6352
|
// src/mcp/tools/deploy-client.ts
|
|
6278
|
-
init_config();
|
|
6279
6353
|
var execFileAsync = promisify(execFile);
|
|
6280
6354
|
var POLL_INTERVAL_MS = 1e4;
|
|
6281
6355
|
var POLL_MAX_ATTEMPTS = 60;
|
|
@@ -6854,7 +6928,7 @@ function registerCreateTrigger(server) {
|
|
|
6854
6928
|
}
|
|
6855
6929
|
},
|
|
6856
6930
|
async ({ name, event, conditions, actions, project, enabled, schedule, query }) => {
|
|
6857
|
-
const { assertFeature: assertFeature2 } = await import("./plan-limits-
|
|
6931
|
+
const { assertFeature: assertFeature2 } = await import("./plan-limits-KUTODKG6.js");
|
|
6858
6932
|
const gatedActions = {
|
|
6859
6933
|
send_whatsapp: "external_agents",
|
|
6860
6934
|
update_wiki: "wiki"
|
|
@@ -7091,7 +7165,6 @@ function applyPack(industry, project) {
|
|
|
7091
7165
|
}
|
|
7092
7166
|
|
|
7093
7167
|
// src/lib/client-coo.ts
|
|
7094
|
-
init_config();
|
|
7095
7168
|
import { existsSync as existsSync7, mkdirSync, writeFileSync as writeFileSync3 } from "fs";
|
|
7096
7169
|
import path10 from "path";
|
|
7097
7170
|
var ClientCOOClobberError = class extends Error {
|
|
@@ -7759,7 +7832,7 @@ function registerConfig(server) {
|
|
|
7759
7832
|
const existing = loadEmployeesSync2();
|
|
7760
7833
|
if (existing.some((e) => e.name === employeeName)) return errorResult8(`Employee "${employeeName}" already exists.`);
|
|
7761
7834
|
try {
|
|
7762
|
-
const { assertEmployeeLimit: assertEmployeeLimit2 } = await import("./plan-limits-
|
|
7835
|
+
const { assertEmployeeLimit: assertEmployeeLimit2 } = await import("./plan-limits-KUTODKG6.js");
|
|
7763
7836
|
await assertEmployeeLimit2();
|
|
7764
7837
|
} catch (e) {
|
|
7765
7838
|
return errorResult8(e instanceof Error ? e.message : "Employee limit reached.");
|
|
@@ -7800,7 +7873,7 @@ You are ${employeeName}. Role: ${role}.`, "utf-8");
|
|
|
7800
7873
|
}
|
|
7801
7874
|
try {
|
|
7802
7875
|
const { generateSessionWrappers } = await import("./lib/session-wrappers.js");
|
|
7803
|
-
const { resolvePackageRoot } = await import("./installer-
|
|
7876
|
+
const { resolvePackageRoot } = await import("./installer-W4NY3OBF.js");
|
|
7804
7877
|
generateSessionWrappers(resolvePackageRoot());
|
|
7805
7878
|
} catch {
|
|
7806
7879
|
}
|
|
@@ -7836,7 +7909,7 @@ function registerListWikiPages(server) {
|
|
|
7836
7909
|
}
|
|
7837
7910
|
},
|
|
7838
7911
|
async ({ workspace, folder }) => {
|
|
7839
|
-
const { assertFeature: assertFeature2 } = await import("./plan-limits-
|
|
7912
|
+
const { assertFeature: assertFeature2 } = await import("./plan-limits-KUTODKG6.js");
|
|
7840
7913
|
await assertFeature2("wiki");
|
|
7841
7914
|
const apiUrl = process.env.EXE_WIKI_API_URL;
|
|
7842
7915
|
const apiKey = process.env.EXE_WIKI_API_KEY;
|
|
@@ -7936,7 +8009,7 @@ function registerGetWikiPage(server) {
|
|
|
7936
8009
|
}
|
|
7937
8010
|
},
|
|
7938
8011
|
async ({ workspace, document_id, title }) => {
|
|
7939
|
-
const { assertFeature: assertFeature2 } = await import("./plan-limits-
|
|
8012
|
+
const { assertFeature: assertFeature2 } = await import("./plan-limits-KUTODKG6.js");
|
|
7940
8013
|
await assertFeature2("wiki");
|
|
7941
8014
|
const apiUrl = process.env.EXE_WIKI_API_URL;
|
|
7942
8015
|
const apiKey = process.env.EXE_WIKI_API_KEY;
|
|
@@ -8131,7 +8204,7 @@ function registerWiki(server) {
|
|
|
8131
8204
|
if (!legacyToolName) return errorResult9(`Unknown wiki action: ${String(input.action)}`);
|
|
8132
8205
|
const { action: _action, user_id, ...legacyArgs } = input;
|
|
8133
8206
|
if (user_id && legacyArgs.workspace) {
|
|
8134
|
-
const { checkWikiAccess } = await import("./wiki-acl-
|
|
8207
|
+
const { checkWikiAccess } = await import("./wiki-acl-5EC5VNYG.js");
|
|
8135
8208
|
const { allowed } = await checkWikiAccess(
|
|
8136
8209
|
String(user_id),
|
|
8137
8210
|
String(legacyArgs.workspace),
|
|
@@ -8171,7 +8244,8 @@ function rowToBehavior2(r) {
|
|
|
8171
8244
|
vector: null,
|
|
8172
8245
|
created_by_agent: r.created_by_agent ? String(r.created_by_agent) : null,
|
|
8173
8246
|
created_by_device: r.created_by_device ? String(r.created_by_device) : null,
|
|
8174
|
-
source_session_id: r.source_session_id ? String(r.source_session_id) : null
|
|
8247
|
+
source_session_id: r.source_session_id ? String(r.source_session_id) : null,
|
|
8248
|
+
device_id: r.device_id ? String(r.device_id) : null
|
|
8175
8249
|
};
|
|
8176
8250
|
}
|
|
8177
8251
|
function registerBehavior(server) {
|
|
@@ -8188,10 +8262,11 @@ function registerBehavior(server) {
|
|
|
8188
8262
|
agent_id: z72.string().optional().describe("Employee name. Defaults to current agent. Pass 'all' to list everyone's (list only)."),
|
|
8189
8263
|
project_name: z72.string().optional().describe("Defaults to current project. Pass 'global' for a behavior that applies everywhere (store)."),
|
|
8190
8264
|
behavior_id: z72.string().optional().describe("UUID of the behavior (deactivate)"),
|
|
8191
|
-
shared_skills: z72.boolean().optional().describe("When true with action=list, include skills (domain='skill') from ALL agents. Default: false.")
|
|
8265
|
+
shared_skills: z72.boolean().optional().describe("When true with action=list, include skills (domain='skill') from ALL agents. Default: false."),
|
|
8266
|
+
device_scoped: z72.boolean().optional().describe("When true, behavior only loads on this device. Default false (global \u2014 loads everywhere). (store)")
|
|
8192
8267
|
}
|
|
8193
8268
|
},
|
|
8194
|
-
async ({ action, content, domain, priority, agent_id, project_name, behavior_id, shared_skills }) => {
|
|
8269
|
+
async ({ action, content, domain, priority, agent_id, project_name, behavior_id, shared_skills, device_scoped }) => {
|
|
8195
8270
|
if (action === "list") {
|
|
8196
8271
|
if (shared_skills) {
|
|
8197
8272
|
const currentAgent = agent_id ?? getActiveAgent().agentId;
|
|
@@ -8319,7 +8394,8 @@ ${lines.join("\n")}`
|
|
|
8319
8394
|
content,
|
|
8320
8395
|
domain: domain ?? void 0,
|
|
8321
8396
|
projectName: resolvedProject,
|
|
8322
|
-
priority: priority ?? void 0
|
|
8397
|
+
priority: priority ?? void 0,
|
|
8398
|
+
deviceScoped: device_scoped ?? false
|
|
8323
8399
|
});
|
|
8324
8400
|
let responseText = `Behavior stored for ${resolvedAgent}. ID: ${id}`;
|
|
8325
8401
|
if (domain) {
|
|
@@ -8797,7 +8873,6 @@ function registerGetDecision(server) {
|
|
|
8797
8873
|
import { z as z78 } from "zod";
|
|
8798
8874
|
|
|
8799
8875
|
// src/lib/people.ts
|
|
8800
|
-
init_config();
|
|
8801
8876
|
import { readFile, writeFile, mkdir } from "fs/promises";
|
|
8802
8877
|
import { existsSync as existsSync8, readFileSync as readFileSync7 } from "fs";
|
|
8803
8878
|
import path13 from "path";
|
|
@@ -8932,7 +9007,7 @@ async function getExeDbReadClient() {
|
|
|
8932
9007
|
const readonlyUrl = process.env.MCP_READONLY_DATABASE_URL;
|
|
8933
9008
|
if (readonlyUrl) {
|
|
8934
9009
|
const { Pool } = await import("pg");
|
|
8935
|
-
const { pgSslConfig } = await import("./pg-ssl-
|
|
9010
|
+
const { pgSslConfig } = await import("./pg-ssl-7JXQFL4I.js");
|
|
8936
9011
|
const pool = new Pool({ connectionString: readonlyUrl, ...pgSslConfig() });
|
|
8937
9012
|
return {
|
|
8938
9013
|
async $queryRawUnsafe(query, ...values) {
|
|
@@ -9180,7 +9255,6 @@ function registerRawData(server) {
|
|
|
9180
9255
|
}
|
|
9181
9256
|
|
|
9182
9257
|
// src/mcp/tools/company-actions.ts
|
|
9183
|
-
init_config();
|
|
9184
9258
|
import { z as z81 } from "zod";
|
|
9185
9259
|
var FETCH_TIMEOUT_MS4 = 15e3;
|
|
9186
9260
|
var ACTION = z81.enum(["list_connectors", "describe_connector", "preview", "execute", "list_runs", "get_run"]);
|
|
@@ -9301,7 +9375,7 @@ function registerWorkflowTool(server) {
|
|
|
9301
9375
|
getWorkflowInstance,
|
|
9302
9376
|
listWorkflowInstances,
|
|
9303
9377
|
approveWorkflowStep
|
|
9304
|
-
} = await import("./workflow-engine-
|
|
9378
|
+
} = await import("./workflow-engine-KAKVU7NC.js");
|
|
9305
9379
|
try {
|
|
9306
9380
|
switch (input.action) {
|
|
9307
9381
|
case "create_workflow": {
|
|
@@ -9553,7 +9627,6 @@ import { z as z84 } from "zod";
|
|
|
9553
9627
|
import crypto5 from "crypto";
|
|
9554
9628
|
import { mkdir as mkdir2, writeFile as writeFile2 } from "fs/promises";
|
|
9555
9629
|
import path16 from "path";
|
|
9556
|
-
init_config();
|
|
9557
9630
|
var CLASSIFICATION = z84.enum([
|
|
9558
9631
|
"upstream_bug",
|
|
9559
9632
|
"customer_customization",
|
|
@@ -9624,7 +9697,7 @@ function prepareUpstreamPayload(payload) {
|
|
|
9624
9697
|
async function maybeSendUpstream(payload) {
|
|
9625
9698
|
const config = await loadConfig();
|
|
9626
9699
|
const routerUrl = process.env.API_ROUTER_URL?.replace(/\/+$/, "");
|
|
9627
|
-
const endpoint2 = config.support?.bugReportEndpoint || process.env.EXE_BUG_REPORT_ENDPOINT || (routerUrl ? `${routerUrl}/v1/support/bug-reports` : "https://
|
|
9700
|
+
const endpoint2 = config.support?.bugReportEndpoint || process.env.EXE_BUG_REPORT_ENDPOINT || (routerUrl ? `${routerUrl}/v1/support/bug-reports` : "https://api.askexe.com/v1/support/bug-reports");
|
|
9628
9701
|
const token = config.support?.bugReportToken || process.env.EXE_BUG_REPORT_TOKEN;
|
|
9629
9702
|
const licenseKey = loadLicense() || process.env.EXE_LICENSE_KEY || config.cloud?.apiKey;
|
|
9630
9703
|
const licenseToken = readCachedLicenseToken();
|
|
@@ -9804,7 +9877,6 @@ import { z as z85 } from "zod";
|
|
|
9804
9877
|
import crypto6 from "crypto";
|
|
9805
9878
|
import { mkdir as mkdir3, writeFile as writeFile3 } from "fs/promises";
|
|
9806
9879
|
import path17 from "path";
|
|
9807
|
-
init_config();
|
|
9808
9880
|
var CATEGORY = z85.enum([
|
|
9809
9881
|
"upstream_feature",
|
|
9810
9882
|
"local_customization",
|
|
@@ -9843,7 +9915,7 @@ function buildMarkdown2(input) {
|
|
|
9843
9915
|
async function maybeSendUpstream2(payload) {
|
|
9844
9916
|
const config = await loadConfig();
|
|
9845
9917
|
const routerUrl = process.env.API_ROUTER_URL?.replace(/\/+$/, "");
|
|
9846
|
-
const endpoint2 = config.support?.featureRequestEndpoint || process.env.EXE_FEATURE_REQUEST_ENDPOINT || (routerUrl ? `${routerUrl}/v1/support/feature-requests` : "https://
|
|
9918
|
+
const endpoint2 = config.support?.featureRequestEndpoint || process.env.EXE_FEATURE_REQUEST_ENDPOINT || (routerUrl ? `${routerUrl}/v1/support/feature-requests` : "https://api.askexe.com/v1/support/feature-requests");
|
|
9847
9919
|
const token = config.support?.featureRequestToken || process.env.EXE_FEATURE_REQUEST_TOKEN;
|
|
9848
9920
|
const licenseKey = loadLicense() || process.env.EXE_LICENSE_KEY || config.cloud?.apiKey;
|
|
9849
9921
|
const licenseToken = readCachedLicenseToken();
|
|
@@ -10066,7 +10138,7 @@ function registerSupportTools(server) {
|
|
|
10066
10138
|
isError: true
|
|
10067
10139
|
};
|
|
10068
10140
|
}
|
|
10069
|
-
const endpoint2 = new URL("https://
|
|
10141
|
+
const endpoint2 = new URL("https://api.askexe.com/v1/support/my-reports");
|
|
10070
10142
|
endpoint2.searchParams.set("status", status2);
|
|
10071
10143
|
endpoint2.searchParams.set("limit", String(limit));
|
|
10072
10144
|
const headers = { "content-type": "application/json" };
|
|
@@ -10132,7 +10204,7 @@ function registerSupportTools(server) {
|
|
|
10132
10204
|
isError: true
|
|
10133
10205
|
};
|
|
10134
10206
|
}
|
|
10135
|
-
const endpoint2 = new URL("https://
|
|
10207
|
+
const endpoint2 = new URL("https://api.askexe.com/v1/support/my-feature-requests");
|
|
10136
10208
|
endpoint2.searchParams.set("status", status2);
|
|
10137
10209
|
endpoint2.searchParams.set("limit", String(limit));
|
|
10138
10210
|
const headers = { "content-type": "application/json" };
|
|
@@ -10300,7 +10372,20 @@ function registerCliParityTools(server) {
|
|
|
10300
10372
|
description: "Check npm for an available exe-os update without installing it.",
|
|
10301
10373
|
inputSchema: {}
|
|
10302
10374
|
}, async () => {
|
|
10303
|
-
|
|
10375
|
+
let packageRoot = new URL("../../..", import.meta.url).pathname;
|
|
10376
|
+
const { existsSync: existsSync10 } = await import("fs");
|
|
10377
|
+
const { dirname, join: join2, parse } = await import("path");
|
|
10378
|
+
if (!existsSync10(join2(packageRoot, "package.json"))) {
|
|
10379
|
+
let dir = dirname(new URL(import.meta.url).pathname);
|
|
10380
|
+
const { root } = parse(dir);
|
|
10381
|
+
while (dir !== root) {
|
|
10382
|
+
if (existsSync10(join2(dir, "package.json"))) {
|
|
10383
|
+
packageRoot = dir;
|
|
10384
|
+
break;
|
|
10385
|
+
}
|
|
10386
|
+
dir = dirname(dir);
|
|
10387
|
+
}
|
|
10388
|
+
}
|
|
10304
10389
|
const info = checkForUpdate(packageRoot);
|
|
10305
10390
|
const text3 = info.error ? `Update check failed: ${info.error}` : info.updateAvailable ? `Update available: v${info.localVersion} \u2192 v${info.remoteVersion}` : `exe-os is up to date (v${info.localVersion})`;
|
|
10306
10391
|
return result2(text3, { ok: !info.error, ...info }, Boolean(info.error));
|
|
@@ -10468,6 +10553,12 @@ function registerCodeContext(server) {
|
|
|
10468
10553
|
const opts = { projectRoot: project_root, force, maxFiles: max_files };
|
|
10469
10554
|
if (action === "index") {
|
|
10470
10555
|
const index = buildCodeContextIndex(opts);
|
|
10556
|
+
let graphExtract;
|
|
10557
|
+
try {
|
|
10558
|
+
const { autoExtractGraphEntities } = await import("./graph-auto-extract-HWZ5GVXZ.js");
|
|
10559
|
+
graphExtract = await autoExtractGraphEntities(opts.projectRoot);
|
|
10560
|
+
} catch {
|
|
10561
|
+
}
|
|
10471
10562
|
return jsonResult({
|
|
10472
10563
|
projectRoot: index.projectRoot,
|
|
10473
10564
|
branch: index.branch,
|
|
@@ -10475,6 +10566,7 @@ function registerCodeContext(server) {
|
|
|
10475
10566
|
files: Object.keys(index.files).length,
|
|
10476
10567
|
symbols: Object.values(index.files).reduce((sum, file) => sum + file.symbols.length, 0),
|
|
10477
10568
|
imports: Object.values(index.files).reduce((sum, file) => sum + file.resolvedImports.length, 0),
|
|
10569
|
+
...graphExtract ? { graphAutoExtract: `${graphExtract.entities} entities, ${graphExtract.relationships} relationships` } : {},
|
|
10478
10570
|
note: "Structural index only. Use action=index_embed to also generate vector embeddings for semantic search."
|
|
10479
10571
|
});
|
|
10480
10572
|
}
|
|
@@ -10539,7 +10631,7 @@ function registerCodeContext(server) {
|
|
|
10539
10631
|
|
|
10540
10632
|
// src/mcp/tools/support-inbox.ts
|
|
10541
10633
|
import { z as z90 } from "zod";
|
|
10542
|
-
var DEFAULT_ENDPOINT = "https://
|
|
10634
|
+
var DEFAULT_ENDPOINT = "https://api.askexe.com/admin/support/bug-reports";
|
|
10543
10635
|
var STATUS = z90.enum(["open", "triaged", "fixed", "closed", "wontfix"]);
|
|
10544
10636
|
function adminToken() {
|
|
10545
10637
|
return process.env.ASKEXE_SUPPORT_ADMIN_TOKEN || process.env.EXE_SUPPORT_ADMIN_TOKEN;
|
|
@@ -10860,6 +10952,7 @@ function registerSupportConsolidated(server) {
|
|
|
10860
10952
|
linked_task_id: z93.string().optional().describe("Linked task ID for triage"),
|
|
10861
10953
|
linked_commit: z93.string().optional().describe("Linked commit hash for triage"),
|
|
10862
10954
|
fixed_version: z93.string().optional().describe("Version that fixes this bug"),
|
|
10955
|
+
shipped_version: z93.string().optional().describe("Version that ships this feature (features only)"),
|
|
10863
10956
|
limit: z93.coerce.number().optional().describe("Max results")
|
|
10864
10957
|
}
|
|
10865
10958
|
},
|
|
@@ -10936,12 +11029,12 @@ function buildHandlers9() {
|
|
|
10936
11029
|
function registerDiagnostics(server) {
|
|
10937
11030
|
const handlers = buildHandlers9();
|
|
10938
11031
|
const toolNames = Array.from(handlers.keys());
|
|
10939
|
-
toolNames.push("tool_search", "drift", "merge_agent_memories");
|
|
11032
|
+
toolNames.push("tool_search", "drift", "merge_agent_memories", "agent_liveness");
|
|
10940
11033
|
server.registerTool(
|
|
10941
11034
|
"diagnostics",
|
|
10942
11035
|
{
|
|
10943
11036
|
title: "Diagnostics",
|
|
10944
|
-
description: `System diagnostics and admin operations. Actions: ${toolNames.join(", ")}. Covers health checks, update status, cloud status, key management, employee rename, semantic tool discovery (tool_search), identity drift detection (drift), and agent memory reassignment (merge_agent_memories).`,
|
|
11037
|
+
description: `System diagnostics and admin operations. Actions: ${toolNames.join(", ")}. Covers health checks, update status, cloud status, key management, employee rename, semantic tool discovery (tool_search), identity drift detection (drift), agent liveness monitoring (agent_liveness), and agent memory reassignment (merge_agent_memories).`,
|
|
10945
11038
|
inputSchema: {
|
|
10946
11039
|
action: z94.string().describe(`Diagnostic operation: ${toolNames.join(", ")}`),
|
|
10947
11040
|
// Pass-through params used by various sub-tools
|
|
@@ -10958,6 +11051,24 @@ function registerDiagnostics(server) {
|
|
|
10958
11051
|
},
|
|
10959
11052
|
async (input, extra) => {
|
|
10960
11053
|
const action = input.action;
|
|
11054
|
+
if (action === "agent_liveness") {
|
|
11055
|
+
try {
|
|
11056
|
+
const { getAgentLivenessReport } = await import("./agent-heartbeat-I5UPGXAU.js");
|
|
11057
|
+
const report = getAgentLivenessReport();
|
|
11058
|
+
if (report.length === 0) {
|
|
11059
|
+
return { content: [{ type: "text", text: "No agent heartbeats recorded yet. Agents send heartbeats via POST /v1/heartbeat every 60s." }] };
|
|
11060
|
+
}
|
|
11061
|
+
const lines = report.map((r) => {
|
|
11062
|
+
const icon = r.status === "alive" ? "\u{1F7E2}" : r.status === "stale" ? "\u{1F7E0}" : "\u{1F534}";
|
|
11063
|
+
const age = r.ageSeconds != null ? `${r.ageSeconds}s ago` : "never";
|
|
11064
|
+
const meta = r.meta?.taskId ? ` (task: ${r.meta.taskId.slice(0, 8)})` : "";
|
|
11065
|
+
return `${icon} ${r.agentId} [${r.sessionName}] \u2014 ${r.status} (${age})${meta}`;
|
|
11066
|
+
});
|
|
11067
|
+
return { content: [{ type: "text", text: lines.join("\n") }] };
|
|
11068
|
+
} catch (err) {
|
|
11069
|
+
return { content: [{ type: "text", text: `agent_liveness failed: ${err instanceof Error ? err.message : String(err)}` }], isError: true };
|
|
11070
|
+
}
|
|
11071
|
+
}
|
|
10961
11072
|
if (action === "tool_search") {
|
|
10962
11073
|
return handleToolSearch(input);
|
|
10963
11074
|
}
|