@askexenow/exe-os 0.9.272 → 0.9.274
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/backfill-metadata-A3534S32.js +597 -0
- package/dist/backfill-metadata-B6F2KJJV.js +597 -0
- package/dist/backfill-metadata-BOM2MXLI.js +597 -0
- package/dist/backfill-metadata-SJ4YMQFS.js +597 -0
- package/dist/backfill-metadata-TAU33HJS.js +597 -0
- package/dist/bin/agentic-ontology-backfill.js +1 -1
- package/dist/bin/agentic-reflection-backfill.js +1 -1
- package/dist/bin/agentic-semantic-label.js +1 -1
- package/dist/bin/backfill-conversations.js +1 -1
- package/dist/bin/backfill-responses.js +1 -1
- package/dist/bin/backfill-vectors.js +2 -2
- package/dist/bin/bulk-sync-postgres.js +1 -1
- package/dist/bin/cleanup-stale-review-tasks.js +2 -2
- package/dist/bin/cli.js +5 -5
- package/dist/bin/exe-assign.js +1 -1
- package/dist/bin/exe-boot.js +3 -3
- package/dist/bin/exe-dispatch.js +2 -2
- package/dist/bin/exe-doctor.js +1 -1
- package/dist/bin/exe-export-behaviors.js +2 -2
- package/dist/bin/exe-forget.js +3 -3
- package/dist/bin/exe-gateway.js +5 -5
- package/dist/bin/exe-heartbeat.js +2 -2
- package/dist/bin/exe-kill.js +3 -3
- package/dist/bin/exe-launch-agent.js +3 -3
- package/dist/bin/exe-pending-messages.js +3 -3
- package/dist/bin/exe-pending-notifications.js +25 -10
- package/dist/bin/exe-pending-reviews.js +2 -2
- package/dist/bin/exe-review.js +3 -3
- package/dist/bin/exe-search.js +2 -2
- package/dist/bin/exe-session-cleanup.js +5 -5
- package/dist/bin/exe-start-codex.js +1 -1
- package/dist/bin/exe-start-opencode.js +1 -1
- package/dist/bin/exe-status.js +3 -3
- package/dist/bin/exe-team.js +1 -1
- package/dist/bin/git-sweep.js +2 -2
- package/dist/bin/graph-backfill.js +1 -1
- package/dist/bin/graph-export.js +2 -2
- package/dist/bin/import-history.js +2 -2
- package/dist/bin/intercom-check.js +3 -3
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +1 -1
- package/dist/bin/scan-tasks.js +2 -2
- package/dist/bin/shard-migrate.js +1 -1
- package/dist/capacity-monitor-2GJOFXGB.js +49 -0
- package/dist/capacity-monitor-3Z7W4K25.js +49 -0
- package/dist/capacity-monitor-BENS3N7B.js +49 -0
- package/dist/capacity-monitor-MQUUEZKB.js +49 -0
- package/dist/capacity-monitor-VP4RDLSB.js +49 -0
- package/dist/catchup-brief-2Q5GPASS.js +151 -0
- package/dist/catchup-brief-B4KGAIPU.js +151 -0
- package/dist/catchup-brief-NMOV3SSP.js +151 -0
- package/dist/catchup-brief-VMF3ESTZ.js +151 -0
- package/dist/catchup-brief-ZL7V3BXC.js +151 -0
- package/dist/chunk-2FZLPPOD.js +171 -0
- package/dist/chunk-2KWVJV6I.js +171 -0
- package/dist/chunk-3A4SOC66.js +551 -0
- package/dist/chunk-3FZQAO7A.js +3961 -0
- package/dist/chunk-3GSGDPLK.js +171 -0
- package/dist/chunk-3IM3JNQV.js +377 -0
- package/dist/chunk-3OM3V545.js +448 -0
- package/dist/chunk-3T27ZQT6.js +495 -0
- package/dist/chunk-3VI3QIHU.js +214 -0
- package/dist/chunk-3WG3RRWA.js +1345 -0
- package/dist/chunk-42A3JV3A.js +128 -0
- package/dist/chunk-44MQXM4F.js +13745 -0
- package/dist/chunk-46WLFLGP.js +1073 -0
- package/dist/chunk-4JMPQB7K.js +1148 -0
- package/dist/chunk-4L25LLQM.js +382 -0
- package/dist/chunk-4Q7X3SAM.js +204 -0
- package/dist/chunk-4UAUCFHA.js +526 -0
- package/dist/chunk-4VRJX2SP.js +495 -0
- package/dist/chunk-57RBAR2A.js +214 -0
- package/dist/chunk-5JF5OQQU.js +89 -0
- package/dist/chunk-5LTY4GLX.js +13745 -0
- package/dist/chunk-5M5RYJ22.js +3955 -0
- package/dist/chunk-5YO2FER3.js +76 -0
- package/dist/chunk-62YI2JOC.js +333 -0
- package/dist/chunk-6AGPWYFC.js +447 -0
- package/dist/chunk-6CH7TYBG.js +58 -0
- package/dist/chunk-6CHHFVRQ.js +284 -0
- package/dist/chunk-6D64562N.js +330 -0
- package/dist/chunk-6F35WOSR.js +447 -0
- package/dist/chunk-6HQ22FC6.js +81 -0
- package/dist/chunk-6ZSH2BZR.js +244 -0
- package/dist/chunk-74MF4T3T.js +3962 -0
- package/dist/chunk-77H7IO3O.js +382 -0
- package/dist/chunk-7BUWNG6M.js +159 -0
- package/dist/chunk-7CB3G3JP.js +1090 -0
- package/dist/chunk-7YEQI2WF.js +13745 -0
- package/dist/chunk-AJ63GPM7.js +54 -0
- package/dist/chunk-BFJ45HQT.js +244 -0
- package/dist/chunk-BMHE3UQU.js +495 -0
- package/dist/chunk-BNTUZVPS.js +1921 -0
- package/dist/chunk-BSWNP5GP.js +197 -0
- package/dist/chunk-C6ODVGTC.js +818 -0
- package/dist/chunk-CHBGCQXG.js +333 -0
- package/dist/chunk-CHUOANKE.js +346 -0
- package/dist/chunk-CSF4RUCN.js +58 -0
- package/dist/chunk-CXKHWCNN.js +204 -0
- package/dist/chunk-CZR6Z5D7.js +330 -0
- package/dist/chunk-D24ANCWY.js +204 -0
- package/dist/chunk-DBJCWK6T.js +377 -0
- package/dist/chunk-DF4SM6ZX.js +128 -0
- package/dist/chunk-DOAC6CLC.js +127 -0
- package/dist/chunk-DOGNJ4VR.js +818 -0
- package/dist/chunk-DYXJFUCI.js +818 -0
- package/dist/chunk-EGR2NYID.js +50 -0
- package/dist/chunk-EQ5UBJGX.js +81 -0
- package/dist/chunk-EWQLQZNS.js +345 -0
- package/dist/chunk-FBRQGHSU.js +377 -0
- package/dist/chunk-FC5WORMP.js +81 -0
- package/dist/chunk-FS7G6NJD.js +377 -0
- package/dist/chunk-FZ42OCSP.js +333 -0
- package/dist/chunk-G5HWDSBH.js +50 -0
- package/dist/chunk-GCBG5TFS.js +1345 -0
- package/dist/chunk-GESN6IDC.js +127 -0
- package/dist/chunk-GHD7QG6P.js +58 -0
- package/dist/chunk-GJAILPCX.js +171 -0
- package/dist/chunk-GKUODJS7.js +214 -0
- package/dist/chunk-GLDM2FOM.js +76 -0
- package/dist/chunk-GMM2BLFB.js +127 -0
- package/dist/chunk-GNM75IOI.js +159 -0
- package/dist/chunk-GYIX2HLD.js +81 -0
- package/dist/chunk-H4LLEQ3F.js +551 -0
- package/dist/chunk-HBVCBBDA.js +127 -0
- package/dist/chunk-HBYLXJAW.js +284 -0
- package/dist/chunk-HBYRWOH5.js +171 -0
- package/dist/chunk-HFINM2JG.js +284 -0
- package/dist/chunk-HJGHALOG.js +1345 -0
- package/dist/chunk-HRB5CP43.js +13745 -0
- package/dist/chunk-IDCLPPIM.js +3959 -0
- package/dist/chunk-II5SVNBN.js +551 -0
- package/dist/chunk-IIRLKWNZ.js +50 -0
- package/dist/chunk-IQXLUTWC.js +50 -0
- package/dist/chunk-IWXTFDLS.js +244 -0
- package/dist/chunk-J2TGVCPE.js +1090 -0
- package/dist/chunk-J4Z5GAJ4.js +551 -0
- package/dist/chunk-JJSDZFKM.js +1148 -0
- package/dist/chunk-JMN2KOC4.js +128 -0
- package/dist/chunk-JQVYPBR2.js +81 -0
- package/dist/chunk-KK6ZIA37.js +551 -0
- package/dist/chunk-KMU7PFO3.js +1148 -0
- package/dist/chunk-L7RDKCIR.js +244 -0
- package/dist/chunk-LDDCAATQ.js +1090 -0
- package/dist/chunk-LJN2O5IG.js +197 -0
- package/dist/chunk-LSIYHKDS.js +54 -0
- package/dist/chunk-MREDKOS4.js +731 -0
- package/dist/chunk-MSF2Y5MS.js +346 -0
- package/dist/chunk-MWUISGAB.js +382 -0
- package/dist/chunk-MY647ZHR.js +448 -0
- package/dist/chunk-MZ5CEHPQ.js +89 -0
- package/dist/chunk-N62LCOUL.js +214 -0
- package/dist/chunk-NESTX6DR.js +76 -0
- package/dist/chunk-NQZORF6L.js +731 -0
- package/dist/chunk-NWEFAFJS.js +197 -0
- package/dist/chunk-NYF7GHC5.js +526 -0
- package/dist/chunk-NZGGRM4P.js +731 -0
- package/dist/chunk-NZM4E6Y3.js +89 -0
- package/dist/chunk-O6XF6NUN.js +1090 -0
- package/dist/chunk-OF4KG3L7.js +1090 -0
- package/dist/chunk-OQZPSWVN.js +526 -0
- package/dist/chunk-OR6KJ5HH.js +58 -0
- package/dist/chunk-OV6NT6QX.js +128 -0
- package/dist/chunk-OZZNVYAK.js +346 -0
- package/dist/chunk-PDTR3YUU.js +54 -0
- package/dist/chunk-PEGTV6EJ.js +1345 -0
- package/dist/chunk-PITVTSQW.js +333 -0
- package/dist/chunk-PSUAO4MZ.js +345 -0
- package/dist/chunk-PWQIS5E5.js +382 -0
- package/dist/chunk-PXXHKWDH.js +818 -0
- package/dist/chunk-QNEXJFHM.js +495 -0
- package/dist/chunk-QOC46BDY.js +346 -0
- package/dist/chunk-QUJMPJF6.js +1148 -0
- package/dist/chunk-QZD26GDH.js +1073 -0
- package/dist/chunk-RA5JLXBQ.js +89 -0
- package/dist/chunk-RFXUXL2D.js +128 -0
- package/dist/chunk-RTA6KSSK.js +89 -0
- package/dist/chunk-SBX6HSEO.js +159 -0
- package/dist/chunk-SEUST6U5.js +284 -0
- package/dist/chunk-SGNGDKD6.js +127 -0
- package/dist/chunk-SUEQF3ZS.js +214 -0
- package/dist/chunk-SWNAM2NW.js +526 -0
- package/dist/chunk-TBJP46RP.js +1148 -0
- package/dist/chunk-TS7NGPU4.js +1073 -0
- package/dist/chunk-TUPDOPMG.js +731 -0
- package/dist/chunk-TYKUZVCA.js +1921 -0
- package/dist/chunk-TYWQZEEP.js +448 -0
- package/dist/chunk-TZMXJVZV.js +345 -0
- package/dist/chunk-U2DCN7M6.js +1073 -0
- package/dist/chunk-UJZPLZLU.js +197 -0
- package/dist/chunk-UKRKOJQZ.js +54 -0
- package/dist/chunk-V6YIYBTZ.js +204 -0
- package/dist/chunk-VCVGE7HK.js +1921 -0
- package/dist/chunk-VEWBH33L.js +1921 -0
- package/dist/chunk-VK6YZ6K7.js +1073 -0
- package/dist/chunk-VKT4N6WM.js +495 -0
- package/dist/chunk-VQD4CTOC.js +50 -0
- package/dist/chunk-VQUEP7UA.js +244 -0
- package/dist/chunk-VXODHQXB.js +377 -0
- package/dist/chunk-VZES6N3E.js +526 -0
- package/dist/chunk-W5QNW2XG.js +76 -0
- package/dist/chunk-WHK7GXFR.js +13745 -0
- package/dist/chunk-WQKYSGIT.js +159 -0
- package/dist/chunk-WWPJTPPQ.js +197 -0
- package/dist/chunk-WYZSWV6A.js +346 -0
- package/dist/chunk-XD6VOXK3.js +159 -0
- package/dist/chunk-YEMI5UWM.js +58 -0
- package/dist/chunk-YHSATGMH.js +3955 -0
- package/dist/chunk-YJBCGD46.js +13745 -0
- package/dist/chunk-YLICIT56.js +731 -0
- package/dist/chunk-YLOJPYCJ.js +284 -0
- package/dist/chunk-YTDY65EM.js +1345 -0
- package/dist/chunk-YXVGZDDE.js +333 -0
- package/dist/chunk-Z33XSFND.js +76 -0
- package/dist/chunk-ZA7N3ZTA.js +1921 -0
- package/dist/chunk-ZBCOPT2O.js +54 -0
- package/dist/chunk-ZFRG2MNB.js +382 -0
- package/dist/chunk-ZPBCPDB3.js +818 -0
- package/dist/chunk-ZRRRSVQF.js +204 -0
- package/dist/core-memory-554Q3YN5.js +110 -0
- package/dist/core-memory-BC4YN5F4.js +110 -0
- package/dist/core-memory-GTGDVXLO.js +110 -0
- package/dist/core-memory-NID6R3YR.js +110 -0
- package/dist/core-memory-XHIC5NAB.js +110 -0
- package/dist/crm-webhook-MHZTXU5N.js +10 -0
- package/dist/crm-webhook-P6TXQMLI.js +10 -0
- package/dist/crm-webhook-TMWJT2Z5.js +10 -0
- package/dist/crm-webhook-XISULXI7.js +10 -0
- package/dist/crm-webhook-YJ5A7F2E.js +10 -0
- package/dist/cto-delegation-gate-4PMJZL2T.js +206 -0
- package/dist/cto-delegation-gate-A7YKXTRO.js +206 -0
- package/dist/cto-delegation-gate-OREBAHUM.js +206 -0
- package/dist/cto-delegation-gate-POHESML5.js +206 -0
- package/dist/cto-delegation-gate-XFDEMR3W.js +206 -0
- package/dist/daemon-orchestration-HXYPHSYU.js +135 -0
- package/dist/daemon-orchestration-I5BE46P3.js +135 -0
- package/dist/daemon-orchestration-NKE4FYQS.js +135 -0
- package/dist/daemon-orchestration-TFHRZ2RV.js +135 -0
- package/dist/daemon-orchestration-YWEXRAZA.js +135 -0
- package/dist/dreaming-3F72ROTL.js +32 -0
- package/dist/dreaming-DJWC7RVV.js +32 -0
- package/dist/dreaming-JD7MNJGS.js +32 -0
- package/dist/dreaming-LCKPA3B4.js +32 -0
- package/dist/dreaming-SDS5IQYC.js +32 -0
- package/dist/exe-export-IZ2OYMT4.js +73 -0
- package/dist/exe-export-JNWX6ZCQ.js +73 -0
- package/dist/exe-export-OQXCJLWB.js +73 -0
- package/dist/exe-export-QUT5WDDK.js +73 -0
- package/dist/exe-export-YLVAZQAV.js +73 -0
- package/dist/exe-import-AEJYBLA7.js +76 -0
- package/dist/exe-import-HWPYARCG.js +76 -0
- package/dist/exe-import-JE7YYYBJ.js +76 -0
- package/dist/exe-import-K4TWTG24.js +76 -0
- package/dist/exe-import-LZKZQ54C.js +76 -0
- package/dist/exe-key-6FPQHBW6.js +579 -0
- package/dist/exe-key-7XX4OUXD.js +579 -0
- package/dist/exe-key-N3XYSEXP.js +579 -0
- package/dist/exe-key-Q3ZNYT6L.js +579 -0
- package/dist/exe-key-Q47RPB45.js +579 -0
- package/dist/exe-snapshot-2USE2HHM.js +164 -0
- package/dist/exe-snapshot-HZU66HXX.js +164 -0
- package/dist/exe-snapshot-L7OQWZUH.js +164 -0
- package/dist/exe-snapshot-NET7N53Z.js +164 -0
- package/dist/exe-snapshot-X5N5KIVJ.js +164 -0
- package/dist/fast-db-init-C6IPNVPU.js +7 -0
- package/dist/fast-db-init-I7CMGBAN.js +7 -0
- package/dist/fast-db-init-P6YESOUL.js +7 -0
- package/dist/fast-db-init-VDNEFVQF.js +7 -0
- package/dist/fast-db-init-Y6C4TM2T.js +7 -0
- package/dist/gateway/index.js +6 -6
- package/dist/git-task-sweep-C4OV2CEY.js +40 -0
- package/dist/git-task-sweep-J66SYJMW.js +40 -0
- package/dist/git-task-sweep-JYCD3ZKQ.js +40 -0
- package/dist/git-task-sweep-O723DB7F.js +40 -0
- package/dist/git-task-sweep-R3CZQT4O.js +40 -0
- package/dist/hooks/bug-report-worker.js +4 -4
- package/dist/hooks/codex-stop-task-finalizer.js +4 -4
- package/dist/hooks/commit-complete.js +4 -4
- package/dist/hooks/error-recall.js +2 -2
- package/dist/hooks/ingest.js +2 -2
- package/dist/hooks/instructions-loaded.js +1 -1
- package/dist/hooks/manifest.json +18 -18
- package/dist/hooks/notification.js +1 -1
- package/dist/hooks/post-compact.js +2 -2
- package/dist/hooks/post-tool-combined.js +2 -2
- package/dist/hooks/pre-compact.js +3 -3
- package/dist/hooks/pre-tool-use.js +6 -6
- package/dist/hooks/prompt-submit.js +8 -8
- package/dist/hooks/session-end.js +5 -5
- package/dist/hooks/session-start.js +5 -5
- package/dist/hooks/stop.js +5 -5
- package/dist/hooks/subagent-stop.js +2 -2
- package/dist/hooks/summary-worker.js +5 -5
- package/dist/index.js +9 -9
- package/dist/lib/consolidation.js +2 -2
- package/dist/lib/exe-daemon.js +18 -17
- package/dist/lib/hybrid-search.js +2 -2
- package/dist/lib/messaging.js +4 -2
- package/dist/lib/schedules.js +2 -2
- package/dist/lib/store.js +1 -1
- package/dist/lib/tasks.js +3 -3
- package/dist/lib/tmux-routing.js +1 -1
- package/dist/mcp/register-tools.js +24 -24
- package/dist/mcp/server.js +25 -25
- package/dist/mcp/tools/create-task.js +4 -4
- package/dist/mcp/tools/list-tasks.js +4 -4
- package/dist/mcp/tools/send-message.js +3 -3
- package/dist/mcp/tools/update-task.js +4 -4
- package/dist/notifications-65STXW6N.js +45 -0
- package/dist/notifications-C6WBZYSS.js +45 -0
- package/dist/notifications-K3JDUPL5.js +45 -0
- package/dist/notifications-KQOD66ZK.js +45 -0
- package/dist/notifications-PFK5OQEF.js +45 -0
- package/dist/orchestrator-3D7QEVGP.js +33 -0
- package/dist/orchestrator-CC32RZO5.js +33 -0
- package/dist/orchestrator-DDKE4UM3.js +33 -0
- package/dist/orchestrator-DWAYSAFR.js +33 -0
- package/dist/orchestrator-TL37EAWA.js +33 -0
- package/dist/pipeline-router-ADLTS6DZ.js +13 -0
- package/dist/pipeline-router-NCOLBCHN.js +13 -0
- package/dist/pipeline-router-O6ZLSM6U.js +13 -0
- package/dist/pipeline-router-QKLYUYU7.js +13 -0
- package/dist/pipeline-router-W2W5XDND.js +13 -0
- package/dist/reranker-3GFGGCJF.js +19 -0
- package/dist/reranker-3KLYAHO4.js +19 -0
- package/dist/reranker-64KDRYPP.js +19 -0
- package/dist/reranker-MGY5A7BQ.js +19 -0
- package/dist/reranker-ZBX6HSU2.js +19 -0
- package/dist/review-polling-3ZZ2T26N.js +124 -0
- package/dist/review-polling-62EGCBLH.js +124 -0
- package/dist/review-polling-BBQUF54Q.js +124 -0
- package/dist/review-polling-RXQZPGRY.js +124 -0
- package/dist/review-polling-YBB6DKA5.js +124 -0
- package/dist/runtime/index.js +3 -3
- package/dist/session-events-EAODNMNR.js +36 -0
- package/dist/session-events-MVO6JNUL.js +36 -0
- package/dist/session-events-PRVDH3QS.js +36 -0
- package/dist/session-events-PU5OQKMB.js +36 -0
- package/dist/session-events-UXAPXR2D.js +36 -0
- package/dist/session-scope-K4FRGQK4.js +86 -0
- package/dist/session-scope-M47JR2SD.js +86 -0
- package/dist/session-scope-MRQYSD5S.js +86 -0
- package/dist/session-scope-TAH5BUYW.js +86 -0
- package/dist/session-scope-UXZ6RUWC.js +86 -0
- package/dist/skill-refinement-447DZWNK.js +157 -0
- package/dist/skill-refinement-567JSF7L.js +157 -0
- package/dist/skill-refinement-6JVQ3TMS.js +157 -0
- package/dist/skill-refinement-TCI6A32K.js +157 -0
- package/dist/skill-refinement-XNGD3C62.js +157 -0
- package/dist/task-enforcement-7QXEVHAS.js +391 -0
- package/dist/task-enforcement-AZEO67N6.js +391 -0
- package/dist/task-enforcement-EOYP6IO4.js +391 -0
- package/dist/task-enforcement-L5XQKFOV.js +391 -0
- package/dist/task-enforcement-RJPWWEAE.js +391 -0
- package/dist/task-scope-DRQRNWB7.js +35 -0
- package/dist/task-scope-GS7TS3UV.js +35 -0
- package/dist/task-scope-KQNCP42W.js +35 -0
- package/dist/task-scope-OJER4AQ2.js +35 -0
- package/dist/task-scope-SM5F6RD3.js +35 -0
- package/dist/tasks-crud-6TWWETGB.js +77 -0
- package/dist/tasks-crud-DBHYO4MM.js +77 -0
- package/dist/tasks-crud-EFYWPPEI.js +77 -0
- package/dist/tasks-crud-JIS5B4GZ.js +77 -0
- package/dist/tasks-crud-WKJSB5PH.js +77 -0
- package/dist/tasks-notify-GEJKT5TO.js +38 -0
- package/dist/tasks-notify-OW3JDPLK.js +38 -0
- package/dist/tasks-notify-UHE7X6RD.js +38 -0
- package/dist/tasks-notify-W5WVP2FG.js +38 -0
- package/dist/tasks-notify-YKEOYOKN.js +38 -0
- package/dist/tasks-review-2D2X6AHO.js +47 -0
- package/dist/tasks-review-DRKN34HO.js +47 -0
- package/dist/tasks-review-IQSAXXXE.js +47 -0
- package/dist/tasks-review-KWELLLS3.js +47 -0
- package/dist/tasks-review-SUJ6AKAS.js +47 -0
- package/dist/telemetry-upload-FPQAB6ZU.js +739 -0
- package/dist/telemetry-upload-JQYBFEWG.js +739 -0
- package/dist/telemetry-upload-MYVBVUGE.js +739 -0
- package/dist/telemetry-upload-UPAABLGK.js +739 -0
- package/dist/telemetry-upload-UYEHBFGO.js +739 -0
- package/dist/tui/App.js +7 -7
- package/dist/tui-data-LYUZFNO4.js +258 -0
- package/dist/tui-data-NIT4PI5T.js +258 -0
- package/dist/tui-data-QM5BOKRF.js +258 -0
- package/dist/tui-data-VAE43SM3.js +258 -0
- package/dist/tui-data-X7HT3FXF.js +258 -0
- package/dist/worker-gate-BZBWTMCY.js +21 -0
- package/dist/worker-gate-CHVL6UGT.js +21 -0
- package/dist/worker-gate-I6XMCYS4.js +21 -0
- package/dist/worker-gate-KQFS4RJE.js +21 -0
- package/dist/worker-gate-NRP7CMS7.js +21 -0
- package/dist/workflow-engine-AKKOMJJQ.js +28 -0
- package/dist/workflow-engine-EHWQO3LX.js +28 -0
- package/dist/workflow-engine-EMZ5WMQ5.js +28 -0
- package/dist/workflow-engine-I3OUMSF4.js +28 -0
- package/dist/workflow-engine-PHTLEAXP.js +28 -0
- package/package.json +1 -1
- package/release-notes.json +46 -46
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
import {
|
|
2
|
+
extractMemoryGraph
|
|
3
|
+
} from "./chunk-X2WBH2IO.js";
|
|
4
|
+
import {
|
|
5
|
+
flushBatch,
|
|
6
|
+
writeMemory
|
|
7
|
+
} from "./chunk-C6ODVGTC.js";
|
|
8
|
+
import {
|
|
9
|
+
extractKeywords
|
|
10
|
+
} from "./chunk-CHCA3ZM2.js";
|
|
11
|
+
import {
|
|
12
|
+
getActiveAgent
|
|
13
|
+
} from "./chunk-BXCQWWJP.js";
|
|
14
|
+
|
|
15
|
+
// src/mcp/tools/import-conversations.ts
|
|
16
|
+
import { z } from "zod";
|
|
17
|
+
import crypto from "crypto";
|
|
18
|
+
import { readdir, readFile, stat } from "fs/promises";
|
|
19
|
+
import path, { resolve, normalize } from "path";
|
|
20
|
+
import os from "os";
|
|
21
|
+
|
|
22
|
+
// src/lib/conversation-parser.ts
|
|
23
|
+
function detectFormat(content, filePath) {
|
|
24
|
+
const lower = filePath.toLowerCase();
|
|
25
|
+
if (lower.endsWith(".md") || lower.endsWith(".markdown")) return "markdown";
|
|
26
|
+
const trimmed = content.trimStart();
|
|
27
|
+
if (!trimmed.startsWith("[") && !trimmed.startsWith("{")) return "markdown";
|
|
28
|
+
try {
|
|
29
|
+
const parsed = JSON.parse(trimmed);
|
|
30
|
+
if (Array.isArray(parsed) && parsed.length > 0) {
|
|
31
|
+
const first = parsed[0];
|
|
32
|
+
if (first && typeof first === "object") {
|
|
33
|
+
if ("mapping" in first && typeof first.mapping === "object") return "chatgpt";
|
|
34
|
+
if ("chat_messages" in first) return "claude";
|
|
35
|
+
if ("uuid" in first && "name" in first) return "claude";
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return "generic";
|
|
39
|
+
} catch {
|
|
40
|
+
return "markdown";
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function extractChatGPTContent(node) {
|
|
44
|
+
const parts = node.message?.content?.parts;
|
|
45
|
+
if (!Array.isArray(parts)) return "";
|
|
46
|
+
return parts.filter((p) => typeof p === "string").join("\n").trim();
|
|
47
|
+
}
|
|
48
|
+
function parseChatGPT(content, sourceFile = "conversations.json") {
|
|
49
|
+
const data = JSON.parse(content);
|
|
50
|
+
if (!Array.isArray(data)) return [];
|
|
51
|
+
return data.map((conv) => {
|
|
52
|
+
const title = conv.title ?? "Untitled";
|
|
53
|
+
const messages = [];
|
|
54
|
+
if (conv.mapping) {
|
|
55
|
+
const nodes = Object.values(conv.mapping).filter((n) => n.message?.content?.parts && extractChatGPTContent(n).length > 0).sort((a, b) => (a.message?.create_time ?? 0) - (b.message?.create_time ?? 0));
|
|
56
|
+
for (const node of nodes) {
|
|
57
|
+
const role = node.message?.author?.role ?? "unknown";
|
|
58
|
+
const text = extractChatGPTContent(node);
|
|
59
|
+
if (!text) continue;
|
|
60
|
+
const createTime = node.message?.create_time;
|
|
61
|
+
messages.push({
|
|
62
|
+
role,
|
|
63
|
+
content: text,
|
|
64
|
+
timestamp: createTime ? new Date(createTime * 1e3).toISOString() : void 0
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return { title, messages, sourceFile };
|
|
69
|
+
}).filter((c) => c.messages.length > 0);
|
|
70
|
+
}
|
|
71
|
+
function parseClaude(content, sourceFile = "conversations.json") {
|
|
72
|
+
const data = JSON.parse(content);
|
|
73
|
+
if (!Array.isArray(data)) return [];
|
|
74
|
+
return data.map((conv) => {
|
|
75
|
+
const title = conv.name ?? conv.uuid ?? "Untitled";
|
|
76
|
+
const messages = [];
|
|
77
|
+
if (conv.chat_messages) {
|
|
78
|
+
for (const msg of conv.chat_messages) {
|
|
79
|
+
let text = msg.text ?? "";
|
|
80
|
+
if (!text && Array.isArray(msg.content)) {
|
|
81
|
+
text = msg.content.filter((c) => c.type === "text" && c.text).map((c) => c.text).join("\n");
|
|
82
|
+
}
|
|
83
|
+
if (!text.trim()) continue;
|
|
84
|
+
messages.push({
|
|
85
|
+
role: msg.sender ?? "unknown",
|
|
86
|
+
content: text.trim(),
|
|
87
|
+
timestamp: msg.created_at
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return { title, messages, sourceFile };
|
|
92
|
+
}).filter((c) => c.messages.length > 0);
|
|
93
|
+
}
|
|
94
|
+
function parseGeneric(content, sourceFile = "conversations.json") {
|
|
95
|
+
const trimmed = content.trimStart();
|
|
96
|
+
try {
|
|
97
|
+
const data = JSON.parse(trimmed);
|
|
98
|
+
if (Array.isArray(data)) {
|
|
99
|
+
if (data.length > 0 && typeof data[0] === "object" && ("role" in data[0] || "content" in data[0])) {
|
|
100
|
+
const messages = data.map((msg) => ({
|
|
101
|
+
role: msg.role ?? "unknown",
|
|
102
|
+
content: (msg.content ?? msg.text ?? "").trim(),
|
|
103
|
+
timestamp: msg.timestamp ?? msg.created_at
|
|
104
|
+
})).filter((m) => m.content.length > 0);
|
|
105
|
+
if (messages.length > 0) {
|
|
106
|
+
return [{ title: sourceFile, messages, sourceFile }];
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
} catch {
|
|
111
|
+
}
|
|
112
|
+
return parseMarkdown(content, sourceFile);
|
|
113
|
+
}
|
|
114
|
+
function parseMarkdown(content, sourceFile = "conversation.md") {
|
|
115
|
+
const lines = content.split("\n");
|
|
116
|
+
const conversations = [];
|
|
117
|
+
let currentTitle = sourceFile;
|
|
118
|
+
let currentMessages = [];
|
|
119
|
+
let currentRole = "user";
|
|
120
|
+
let currentContent = [];
|
|
121
|
+
function flushMessage() {
|
|
122
|
+
const text = currentContent.join("\n").trim();
|
|
123
|
+
if (text) {
|
|
124
|
+
currentMessages.push({ role: currentRole, content: text });
|
|
125
|
+
}
|
|
126
|
+
currentContent = [];
|
|
127
|
+
}
|
|
128
|
+
function flushConversation() {
|
|
129
|
+
flushMessage();
|
|
130
|
+
if (currentMessages.length > 0) {
|
|
131
|
+
conversations.push({ title: currentTitle, messages: [...currentMessages], sourceFile });
|
|
132
|
+
}
|
|
133
|
+
currentMessages = [];
|
|
134
|
+
}
|
|
135
|
+
for (const line of lines) {
|
|
136
|
+
const h1Match = line.match(/^# (.+)$/);
|
|
137
|
+
if (h1Match) {
|
|
138
|
+
flushConversation();
|
|
139
|
+
currentTitle = h1Match[1];
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
const roleMatch = line.match(/^(?:##\s+|\*\*)(user|assistant|human|system|ai|claude|gpt)(?:\*\*)?:?\s*/i);
|
|
143
|
+
if (roleMatch) {
|
|
144
|
+
flushMessage();
|
|
145
|
+
const raw = roleMatch[1].toLowerCase();
|
|
146
|
+
currentRole = raw === "human" || raw === "user" ? "user" : raw === "assistant" || raw === "ai" || raw === "claude" || raw === "gpt" ? "assistant" : raw;
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
currentContent.push(line);
|
|
150
|
+
}
|
|
151
|
+
flushConversation();
|
|
152
|
+
return conversations;
|
|
153
|
+
}
|
|
154
|
+
function conversationsToMemories(convos, format = "generic") {
|
|
155
|
+
const memories = [];
|
|
156
|
+
for (const convo of convos) {
|
|
157
|
+
for (const msg of convo.messages) {
|
|
158
|
+
if (msg.content.length < 10) continue;
|
|
159
|
+
memories.push({
|
|
160
|
+
text: msg.content,
|
|
161
|
+
kind: "conversation",
|
|
162
|
+
metadata: {
|
|
163
|
+
source_type: "import",
|
|
164
|
+
source_format: format,
|
|
165
|
+
source_path: convo.sourceFile,
|
|
166
|
+
conversation_title: convo.title,
|
|
167
|
+
role: msg.role,
|
|
168
|
+
original_timestamp: msg.timestamp
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return memories;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// src/mcp/tools/import-conversations.ts
|
|
177
|
+
var DEFAULT_CAP = 5e4;
|
|
178
|
+
var YIELD_INTERVAL = 50;
|
|
179
|
+
async function readInputFiles(inputPath) {
|
|
180
|
+
const files = [];
|
|
181
|
+
const info = await stat(inputPath);
|
|
182
|
+
if (info.isDirectory()) {
|
|
183
|
+
const entries = await readdir(inputPath);
|
|
184
|
+
for (const entry of entries) {
|
|
185
|
+
const fullPath = path.join(inputPath, entry);
|
|
186
|
+
const entryStat = await stat(fullPath);
|
|
187
|
+
if (entryStat.isFile() && (entry.endsWith(".json") || entry.endsWith(".md") || entry.endsWith(".txt"))) {
|
|
188
|
+
files.push({ path: fullPath, content: await readFile(fullPath, "utf-8") });
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
} else {
|
|
192
|
+
files.push({ path: inputPath, content: await readFile(inputPath, "utf-8") });
|
|
193
|
+
}
|
|
194
|
+
return files;
|
|
195
|
+
}
|
|
196
|
+
function parseFile(content, filePath, requestedFormat) {
|
|
197
|
+
const format = requestedFormat && requestedFormat !== "auto" ? requestedFormat : detectFormat(content, filePath);
|
|
198
|
+
let conversations;
|
|
199
|
+
switch (format) {
|
|
200
|
+
case "chatgpt":
|
|
201
|
+
conversations = parseChatGPT(content, filePath);
|
|
202
|
+
break;
|
|
203
|
+
case "claude":
|
|
204
|
+
conversations = parseClaude(content, filePath);
|
|
205
|
+
break;
|
|
206
|
+
case "markdown":
|
|
207
|
+
conversations = parseMarkdown(content, filePath);
|
|
208
|
+
break;
|
|
209
|
+
case "generic":
|
|
210
|
+
default:
|
|
211
|
+
conversations = parseGeneric(content, filePath);
|
|
212
|
+
break;
|
|
213
|
+
}
|
|
214
|
+
return { format, conversations };
|
|
215
|
+
}
|
|
216
|
+
function registerImportConversations(server) {
|
|
217
|
+
server.registerTool(
|
|
218
|
+
"import_conversations",
|
|
219
|
+
{
|
|
220
|
+
title: "Import Conversations",
|
|
221
|
+
description: "Import ChatGPT, Claude, or generic conversation exports into memory. Parses, extracts keywords + graph entities, stores with proper metadata. Deduplicates via content_hash. Supports JSON, markdown, and directory input.",
|
|
222
|
+
inputSchema: {
|
|
223
|
+
path: z.string().describe("File or directory path to import"),
|
|
224
|
+
format: z.enum(["chatgpt", "claude", "generic", "markdown", "auto"]).default("auto").describe("Source format (default: auto-detect)"),
|
|
225
|
+
project_name: z.string().optional().describe("Project name for imported memories"),
|
|
226
|
+
dry_run: z.boolean().default(false).describe("Parse and report counts without storing"),
|
|
227
|
+
force: z.boolean().default(false).describe("Override 50K memory cap"),
|
|
228
|
+
agent_id: z.string().optional().describe("Agent to attribute memories to (default: current agent)")
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
async ({ path: inputPath, format: requestedFormat, project_name, dry_run, force, agent_id: overrideAgentId }) => {
|
|
232
|
+
const { agentId: currentAgentId, agentRole } = getActiveAgent();
|
|
233
|
+
const agentId = overrideAgentId ?? currentAgentId;
|
|
234
|
+
const projectName = project_name ?? "imported";
|
|
235
|
+
const resolvedPath = resolve(normalize(inputPath));
|
|
236
|
+
const home = process.env.HOME || os.homedir();
|
|
237
|
+
const blocked = ["/etc", "/root", "/var", "/usr", "/sys", "/proc"];
|
|
238
|
+
const sensitiveHome = [".ssh", ".gnupg", ".aws", ".config/gcloud"];
|
|
239
|
+
for (const dir of blocked) {
|
|
240
|
+
if (resolvedPath.startsWith(dir + "/") || resolvedPath === dir) {
|
|
241
|
+
return {
|
|
242
|
+
content: [{ type: "text", text: `Access denied: cannot read files from ${dir}` }],
|
|
243
|
+
isError: true
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
for (const rel of sensitiveHome) {
|
|
248
|
+
const full = resolve(home, rel);
|
|
249
|
+
if (resolvedPath.startsWith(full + "/") || resolvedPath === full) {
|
|
250
|
+
return {
|
|
251
|
+
content: [{ type: "text", text: `Access denied: cannot read files from ~/${rel}` }],
|
|
252
|
+
isError: true
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
let files;
|
|
257
|
+
try {
|
|
258
|
+
files = await readInputFiles(inputPath);
|
|
259
|
+
} catch (err) {
|
|
260
|
+
return {
|
|
261
|
+
content: [{ type: "text", text: `Error reading ${inputPath}: ${err instanceof Error ? err.message : String(err)}` }],
|
|
262
|
+
isError: true
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
if (files.length === 0) {
|
|
266
|
+
return {
|
|
267
|
+
content: [{ type: "text", text: `No importable files found at ${inputPath}` }],
|
|
268
|
+
isError: true
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
const allMemories = [];
|
|
272
|
+
let conversationCount = 0;
|
|
273
|
+
const formatCounts = {};
|
|
274
|
+
for (const file of files) {
|
|
275
|
+
const { format, conversations } = parseFile(file.content, file.path, requestedFormat);
|
|
276
|
+
formatCounts[format] = (formatCounts[format] ?? 0) + conversations.length;
|
|
277
|
+
conversationCount += conversations.length;
|
|
278
|
+
const memories = conversationsToMemories(conversations, format);
|
|
279
|
+
allMemories.push(...memories);
|
|
280
|
+
}
|
|
281
|
+
if (allMemories.length > DEFAULT_CAP && !force) {
|
|
282
|
+
return {
|
|
283
|
+
content: [{
|
|
284
|
+
type: "text",
|
|
285
|
+
text: `Import would create ${allMemories.length} memories (cap: ${DEFAULT_CAP}). Use force=true to override. Files: ${files.length}, Conversations: ${conversationCount}`
|
|
286
|
+
}],
|
|
287
|
+
isError: true
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
if (dry_run) {
|
|
291
|
+
const formatSummary2 = Object.entries(formatCounts).map(([f, c]) => `${f}: ${c}`).join(", ");
|
|
292
|
+
return {
|
|
293
|
+
content: [{
|
|
294
|
+
type: "text",
|
|
295
|
+
text: `[DRY RUN] Would import:
|
|
296
|
+
Files: ${files.length}
|
|
297
|
+
Conversations: ${conversationCount} (${formatSummary2})
|
|
298
|
+
Memories: ${allMemories.length}
|
|
299
|
+
Agent: ${agentId}
|
|
300
|
+
Project: ${projectName}`
|
|
301
|
+
}]
|
|
302
|
+
};
|
|
303
|
+
}
|
|
304
|
+
let stored = 0;
|
|
305
|
+
let skipped = 0;
|
|
306
|
+
for (let i = 0; i < allMemories.length; i++) {
|
|
307
|
+
const memory = allMemories[i];
|
|
308
|
+
try {
|
|
309
|
+
const keywords = extractKeywords(memory.text);
|
|
310
|
+
const keywordsStr = keywords.length > 0 ? keywords.join(" ") : null;
|
|
311
|
+
let entities = null;
|
|
312
|
+
try {
|
|
313
|
+
const graph = extractMemoryGraph(memory.text, agentId, projectName, "import_conversations");
|
|
314
|
+
if (graph.entities.length > 0) {
|
|
315
|
+
entities = JSON.stringify(graph.entities.map((e) => e.name));
|
|
316
|
+
}
|
|
317
|
+
} catch {
|
|
318
|
+
}
|
|
319
|
+
const id = crypto.randomUUID();
|
|
320
|
+
await writeMemory({
|
|
321
|
+
id,
|
|
322
|
+
agent_id: agentId,
|
|
323
|
+
agent_role: agentRole,
|
|
324
|
+
session_id: process.env.SESSION_ID ?? "import",
|
|
325
|
+
timestamp: memory.metadata.original_timestamp ?? (/* @__PURE__ */ new Date()).toISOString(),
|
|
326
|
+
tool_name: "import_conversations",
|
|
327
|
+
project_name: projectName,
|
|
328
|
+
has_error: false,
|
|
329
|
+
raw_text: memory.text,
|
|
330
|
+
vector: null,
|
|
331
|
+
// Backfill later
|
|
332
|
+
source_path: memory.metadata.source_path,
|
|
333
|
+
source_type: "import",
|
|
334
|
+
memory_type: "conversation",
|
|
335
|
+
tier: 3,
|
|
336
|
+
// Passive ingestion
|
|
337
|
+
importance: memory.metadata.role === "assistant" ? 5 : 4,
|
|
338
|
+
intent: "observation",
|
|
339
|
+
domain: projectName,
|
|
340
|
+
referenced_entities: entities,
|
|
341
|
+
keywords: keywordsStr,
|
|
342
|
+
valid_from: memory.metadata.original_timestamp ?? void 0
|
|
343
|
+
});
|
|
344
|
+
stored++;
|
|
345
|
+
} catch {
|
|
346
|
+
skipped++;
|
|
347
|
+
}
|
|
348
|
+
if ((i + 1) % YIELD_INTERVAL === 0) {
|
|
349
|
+
await flushBatch();
|
|
350
|
+
await new Promise((r) => setTimeout(r, 0));
|
|
351
|
+
if ((i + 1) % (YIELD_INTERVAL * 10) === 0) {
|
|
352
|
+
process.stderr.write(`[import] ${i + 1}/${allMemories.length} memories processed, ${stored} stored
|
|
353
|
+
`);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
await flushBatch();
|
|
358
|
+
const formatSummary = Object.entries(formatCounts).map(([f, c]) => `${f}: ${c}`).join(", ");
|
|
359
|
+
return {
|
|
360
|
+
content: [{
|
|
361
|
+
type: "text",
|
|
362
|
+
text: `Import complete.
|
|
363
|
+
Files: ${files.length}
|
|
364
|
+
Conversations: ${conversationCount} (${formatSummary})
|
|
365
|
+
Memories stored: ${stored}
|
|
366
|
+
Duplicates skipped: ${skipped}
|
|
367
|
+
Agent: ${agentId}
|
|
368
|
+
Project: ${projectName}`
|
|
369
|
+
}]
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
);
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
export {
|
|
376
|
+
registerImportConversations
|
|
377
|
+
};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
// src/bin/fast-db-init.ts
|
|
2
|
+
async function fastDbInit() {
|
|
3
|
+
const { isInitialized, getClient, setExternalClient } = await import("./lib/database.js");
|
|
4
|
+
if (isInitialized()) {
|
|
5
|
+
return getClient();
|
|
6
|
+
}
|
|
7
|
+
const forceDirect = process.env.EXE_DB_DIRECT === "1" || process.env.EXE_DB_READONLY === "1" || process.env.EXE_SKIP_DAEMON === "1";
|
|
8
|
+
if (!forceDirect) {
|
|
9
|
+
try {
|
|
10
|
+
const { connectEmbedDaemon, sendDaemonRequest, isClientConnected, disconnectClient } = await import("./lib/exe-daemon-client.js");
|
|
11
|
+
const { deserializeResultSet } = await import("./daemon-protocol-XW2OLNBS.js");
|
|
12
|
+
await Promise.race([
|
|
13
|
+
connectEmbedDaemon(),
|
|
14
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error("Daemon socket timeout (2s)")), 2e3))
|
|
15
|
+
]);
|
|
16
|
+
if (isClientConnected()) {
|
|
17
|
+
const daemonClient = {
|
|
18
|
+
async execute(stmt) {
|
|
19
|
+
const sql = typeof stmt === "string" ? stmt : stmt.sql;
|
|
20
|
+
const args = typeof stmt === "string" ? [] : Array.isArray(stmt.args) ? stmt.args : [];
|
|
21
|
+
const resp = await sendDaemonRequest({ type: "db-execute", sql, args });
|
|
22
|
+
if (resp.error) throw new Error(String(resp.error));
|
|
23
|
+
if (resp.db) return deserializeResultSet(resp.db);
|
|
24
|
+
throw new Error("Unexpected daemon response");
|
|
25
|
+
},
|
|
26
|
+
async batch(stmts, mode) {
|
|
27
|
+
const statements = stmts.map((s) => {
|
|
28
|
+
const sql = typeof s === "string" ? s : s.sql;
|
|
29
|
+
const args = typeof s === "string" ? [] : Array.isArray(s.args) ? s.args : [];
|
|
30
|
+
return { sql, args };
|
|
31
|
+
});
|
|
32
|
+
const resp = await sendDaemonRequest({ type: "db-batch", statements, mode: mode ?? "deferred" });
|
|
33
|
+
if (resp.error) throw new Error(String(resp.error));
|
|
34
|
+
const batchResults = resp["db-batch"];
|
|
35
|
+
if (batchResults) return batchResults.map(deserializeResultSet);
|
|
36
|
+
throw new Error("Unexpected daemon batch response");
|
|
37
|
+
},
|
|
38
|
+
async transaction(_mode) {
|
|
39
|
+
throw new Error("Transactions not supported via daemon socket");
|
|
40
|
+
},
|
|
41
|
+
async executeMultiple(_sql) {
|
|
42
|
+
throw new Error("executeMultiple not supported via daemon socket");
|
|
43
|
+
},
|
|
44
|
+
async migrate(_stmts) {
|
|
45
|
+
throw new Error("migrate not supported via daemon socket");
|
|
46
|
+
},
|
|
47
|
+
sync() {
|
|
48
|
+
return Promise.resolve(void 0);
|
|
49
|
+
},
|
|
50
|
+
close() {
|
|
51
|
+
},
|
|
52
|
+
get closed() {
|
|
53
|
+
return false;
|
|
54
|
+
},
|
|
55
|
+
get protocol() {
|
|
56
|
+
return "file";
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
try {
|
|
60
|
+
await daemonClient.execute("SELECT 1");
|
|
61
|
+
} catch {
|
|
62
|
+
try {
|
|
63
|
+
disconnectClient();
|
|
64
|
+
} catch {
|
|
65
|
+
}
|
|
66
|
+
throw new Error("Daemon socket validation failed");
|
|
67
|
+
}
|
|
68
|
+
setExternalClient(daemonClient);
|
|
69
|
+
return daemonClient;
|
|
70
|
+
}
|
|
71
|
+
} catch {
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
const { initStore } = await import("./lib/store.js");
|
|
75
|
+
await initStore({ lightweight: true });
|
|
76
|
+
return getClient();
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export {
|
|
80
|
+
fastDbInit
|
|
81
|
+
};
|