@askexenow/exe-os 0.9.271 → 0.9.273
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-BDYXURXQ.js +26 -0
- package/dist/active-agent-YWBGAKGU.js +25 -0
- package/dist/agentic-ontology-56VHSVS3.js +25 -0
- 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-G46ABBVR.js +597 -0
- package/dist/backfill-metadata-TAU33HJS.js +597 -0
- package/dist/backfill-metadata-VAV27KJK.js +597 -0
- package/dist/behaviors-USUTDXVA.js +25 -0
- package/dist/bin/agentic-ontology-backfill.js +5 -5
- package/dist/bin/agentic-reflection-backfill.js +6 -6
- package/dist/bin/agentic-semantic-label.js +5 -5
- package/dist/bin/backfill-conversations.js +4 -4
- package/dist/bin/backfill-responses.js +4 -4
- package/dist/bin/backfill-vectors.js +5 -5
- package/dist/bin/bulk-sync-postgres.js +6 -6
- package/dist/bin/cc-doctor.js +4 -4
- package/dist/bin/cleanup-stale-review-tasks.js +10 -10
- package/dist/bin/cli.js +16 -16
- package/dist/bin/exe-agent-config.js +3 -3
- package/dist/bin/exe-agent.js +4 -4
- package/dist/bin/exe-assign.js +5 -5
- package/dist/bin/exe-boot.js +17 -17
- package/dist/bin/exe-call.js +4 -4
- package/dist/bin/exe-cloud.js +4 -4
- package/dist/bin/exe-dispatch.js +10 -10
- package/dist/bin/exe-doctor.js +1 -1
- package/dist/bin/exe-export-behaviors.js +7 -7
- package/dist/bin/exe-forget.js +6 -6
- package/dist/bin/exe-gateway.js +7 -7
- package/dist/bin/exe-healthcheck.js +4 -4
- package/dist/bin/exe-heartbeat.js +10 -10
- package/dist/bin/exe-kill.js +13 -13
- package/dist/bin/exe-launch-agent.js +37 -19
- package/dist/bin/exe-new-employee.js +6 -6
- package/dist/bin/exe-pending-messages.js +11 -11
- package/dist/bin/exe-pending-notifications.js +33 -18
- package/dist/bin/exe-pending-reviews.js +10 -10
- package/dist/bin/exe-rename.js +4 -4
- package/dist/bin/exe-review.js +12 -12
- package/dist/bin/exe-search.js +5 -5
- package/dist/bin/exe-session-cleanup.js +15 -15
- package/dist/bin/exe-settings.js +5 -5
- package/dist/bin/exe-start-codex.js +11 -11
- package/dist/bin/exe-start-opencode.js +8 -8
- package/dist/bin/exe-status.js +11 -11
- package/dist/bin/exe-team.js +3 -3
- package/dist/bin/git-sweep.js +11 -11
- package/dist/bin/graph-backfill.js +4 -4
- package/dist/bin/graph-export.js +5 -5
- package/dist/bin/import-history.js +7 -7
- package/dist/bin/install.js +6 -6
- package/dist/bin/intercom-check.js +4 -4
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +4 -4
- package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
- package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
- package/dist/bin/scan-tasks.js +10 -10
- package/dist/bin/setup.js +1 -1
- package/dist/bin/shard-migrate.js +4 -4
- 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-IFVRCIM7.js +49 -0
- package/dist/capacity-monitor-MQUUEZKB.js +49 -0
- package/dist/capacity-monitor-Q47GBDSY.js +49 -0
- package/dist/catchup-brief-B4KGAIPU.js +151 -0
- package/dist/catchup-brief-NMOV3SSP.js +151 -0
- package/dist/catchup-brief-RP4QHXNT.js +151 -0
- package/dist/catchup-brief-TKA6TEK4.js +151 -0
- package/dist/catchup-brief-VMF3ESTZ.js +151 -0
- package/dist/catchup-brief-ZL7V3BXC.js +151 -0
- package/dist/chunk-23KJ2LXY.js +58 -0
- package/dist/chunk-2KWVJV6I.js +171 -0
- package/dist/chunk-2NQQP3FF.js +630 -0
- package/dist/chunk-3A4SOC66.js +551 -0
- package/dist/chunk-3FU5I3KV.js +526 -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-46IEEKPU.js +13696 -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-57UAFTO2.js +3958 -0
- package/dist/chunk-5AS622MM.js +3958 -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-62DEE65H.js +371 -0
- package/dist/chunk-62YI2JOC.js +333 -0
- package/dist/chunk-64T6DFSS.js +447 -0
- package/dist/chunk-6AGPWYFC.js +447 -0
- package/dist/chunk-6BWDP63Z.js +197 -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-6GPYL7TX.js +214 -0
- package/dist/chunk-6HQ22FC6.js +81 -0
- package/dist/chunk-6KWLUVFL.js +54 -0
- package/dist/chunk-6N5ISWBF.js +1148 -0
- package/dist/chunk-6OD7PVMC.js +333 -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-7ET5CYTD.js +382 -0
- package/dist/chunk-7IWLKR6N.js +76 -0
- package/dist/chunk-7OEUOJL5.js +1021 -0
- package/dist/chunk-7YEQI2WF.js +13745 -0
- package/dist/chunk-AIRJTKDK.js +204 -0
- package/dist/chunk-AJ63GPM7.js +54 -0
- package/dist/chunk-ATJ3NXDP.js +244 -0
- package/dist/chunk-B5IS7LE4.js +128 -0
- package/dist/chunk-BFJ45HQT.js +244 -0
- package/dist/chunk-BKINEQVI.js +244 -0
- package/dist/chunk-BMHE3UQU.js +495 -0
- package/dist/chunk-BNTUZVPS.js +1921 -0
- package/dist/chunk-BOJV6NI3.js +128 -0
- package/dist/chunk-BPHWI6N2.js +284 -0
- package/dist/chunk-BXCQWWJP.js +185 -0
- package/dist/chunk-BZ6K7AY3.js +50 -0
- package/dist/chunk-C54KIFLS.js +214 -0
- package/dist/chunk-C6ODVGTC.js +818 -0
- package/dist/chunk-C6OYEJJI.js +260 -0
- package/dist/chunk-CHBGCQXG.js +333 -0
- package/dist/chunk-CHBHR5W6.js +3556 -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-D2T3272U.js +171 -0
- package/dist/chunk-DBJCWK6T.js +377 -0
- package/dist/chunk-DCHEIVGT.js +221 -0
- package/dist/chunk-DF4SM6ZX.js +128 -0
- package/dist/chunk-DHIBLMSP.js +30 -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-E2AF2WYY.js +346 -0
- package/dist/chunk-E2KZEZZW.js +1090 -0
- package/dist/chunk-E4KWB4WM.js +348 -0
- package/dist/chunk-EGR2NYID.js +50 -0
- package/dist/chunk-ENU7URWK.js +1073 -0
- package/dist/chunk-EQ5UBJGX.js +81 -0
- package/dist/chunk-EZ7KAZMC.js +132 -0
- package/dist/chunk-F4FSSHR4.js +1073 -0
- package/dist/chunk-FBRQGHSU.js +377 -0
- package/dist/chunk-FPXU56FG.js +346 -0
- package/dist/chunk-FY7HHR5I.js +128 -0
- package/dist/chunk-FZ42OCSP.js +333 -0
- package/dist/chunk-G2S2UMU4.js +159 -0
- package/dist/chunk-G33BHQCO.js +70 -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-GJQTL7RX.js +127 -0
- package/dist/chunk-GKUODJS7.js +214 -0
- package/dist/chunk-GLCKDEM2.js +97 -0
- package/dist/chunk-GLDM2FOM.js +76 -0
- package/dist/chunk-GMA34SXV.js +240 -0
- package/dist/chunk-GMM2BLFB.js +127 -0
- package/dist/chunk-GNM75IOI.js +159 -0
- package/dist/chunk-GVAVEBYR.js +2091 -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-HBYRWOH5.js +171 -0
- package/dist/chunk-HFINM2JG.js +284 -0
- package/dist/chunk-HJGHALOG.js +1345 -0
- package/dist/chunk-HOSJTLBQ.js +513 -0
- package/dist/chunk-HRB5CP43.js +13745 -0
- package/dist/chunk-IC6HVAS3.js +56 -0
- package/dist/chunk-IDCLPPIM.js +3959 -0
- package/dist/chunk-IDFJNO44.js +1051 -0
- package/dist/chunk-II5SVNBN.js +551 -0
- package/dist/chunk-IIRLKWNZ.js +50 -0
- package/dist/chunk-ILFJMEY5.js +97 -0
- package/dist/chunk-IQXLUTWC.js +50 -0
- package/dist/chunk-ISQAOSL3.js +1921 -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-J6V2DCZK.js +382 -0
- package/dist/chunk-JJSDZFKM.js +1148 -0
- package/dist/chunk-JMN2KOC4.js +128 -0
- package/dist/chunk-JP4CLFLR.js +1148 -0
- package/dist/chunk-JQVYPBR2.js +81 -0
- package/dist/chunk-JTIOZHWG.js +58 -0
- package/dist/chunk-KDICWAYV.js +1345 -0
- package/dist/chunk-KMU7PFO3.js +1148 -0
- package/dist/chunk-KOBIB6WG.js +159 -0
- package/dist/chunk-KQFDDQB6.js +13696 -0
- package/dist/chunk-KZNSOHCB.js +280 -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-LVMBYP3C.js +171 -0
- package/dist/chunk-M2WQW5NC.js +227 -0
- package/dist/chunk-MREDKOS4.js +731 -0
- package/dist/chunk-MSF2Y5MS.js +346 -0
- package/dist/chunk-MY647ZHR.js +448 -0
- package/dist/chunk-MY6SP5NZ.js +551 -0
- package/dist/chunk-MZ5CEHPQ.js +89 -0
- package/dist/chunk-N2ACW2ZG.js +363 -0
- package/dist/chunk-NESTX6DR.js +76 -0
- package/dist/chunk-NQZORF6L.js +731 -0
- package/dist/chunk-NSMJDATI.js +495 -0
- package/dist/chunk-NSQ5JE23.js +1090 -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-NZL567WG.js +81 -0
- package/dist/chunk-NZM4E6Y3.js +89 -0
- package/dist/chunk-O5OMH6LI.js +244 -0
- package/dist/chunk-O6XF6NUN.js +1090 -0
- package/dist/chunk-OBUV3W7L.js +163 -0
- package/dist/chunk-OF4KG3L7.js +1090 -0
- package/dist/chunk-OLDS7LJN.js +495 -0
- package/dist/chunk-OO2I22RX.js +38 -0
- package/dist/chunk-OPUUT33V.js +447 -0
- package/dist/chunk-OQZPSWVN.js +526 -0
- package/dist/chunk-OR6KJ5HH.js +58 -0
- package/dist/chunk-OT3VMTKB.js +50 -0
- package/dist/chunk-OV6NT6QX.js +128 -0
- package/dist/chunk-P6RVIOVA.js +157 -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-PUA5564C.js +210 -0
- package/dist/chunk-PUQLKLQX.js +731 -0
- package/dist/chunk-PWQIS5E5.js +382 -0
- package/dist/chunk-PXXHKWDH.js +818 -0
- package/dist/chunk-QOC46BDY.js +346 -0
- package/dist/chunk-QROKS65G.js +76 -0
- package/dist/chunk-R54I2N2T.js +818 -0
- package/dist/chunk-RCFYQHUP.js +818 -0
- package/dist/chunk-RJTND4YS.js +284 -0
- package/dist/chunk-RTA6KSSK.js +89 -0
- package/dist/chunk-SBLHQMMZ.js +81 -0
- package/dist/chunk-SBX6HSEO.js +159 -0
- package/dist/chunk-SEUST6U5.js +284 -0
- package/dist/chunk-SG2ANG5C.js +123 -0
- package/dist/chunk-SUEQF3ZS.js +214 -0
- package/dist/chunk-SVFNKSZV.js +333 -0
- package/dist/chunk-SWNAM2NW.js +526 -0
- package/dist/chunk-TAQT2DC7.js +330 -0
- package/dist/chunk-TB7HFW7M.js +127 -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-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-UUKDAIH2.js +731 -0
- package/dist/chunk-V6VEFEEH.js +1345 -0
- package/dist/chunk-VCVGE7HK.js +1921 -0
- package/dist/chunk-VIO2ALGH.js +290 -0
- package/dist/chunk-VK6YZ6K7.js +1073 -0
- package/dist/chunk-VKCUSNJW.js +377 -0
- package/dist/chunk-VKT4N6WM.js +495 -0
- package/dist/chunk-VQUEP7UA.js +244 -0
- package/dist/chunk-VRPPJFIQ.js +1921 -0
- package/dist/chunk-VXODHQXB.js +377 -0
- package/dist/chunk-WHK7GXFR.js +13745 -0
- package/dist/chunk-WP3PVBBP.js +204 -0
- package/dist/chunk-WQEUY7DC.js +129 -0
- package/dist/chunk-WWPJTPPQ.js +197 -0
- package/dist/chunk-WXMXUKCA.js +262 -0
- package/dist/chunk-WYZSWV6A.js +346 -0
- package/dist/chunk-X2WBH2IO.js +297 -0
- package/dist/chunk-X33TSJNO.js +394 -0
- package/dist/chunk-X7MMI2UI.js +89 -0
- package/dist/chunk-XD6VOXK3.js +159 -0
- package/dist/chunk-XG3BQZIK.js +85 -0
- package/dist/chunk-XIKBIAOS.js +75 -0
- package/dist/chunk-XPEB545Q.js +54 -0
- package/dist/chunk-XWH2MLWS.js +330 -0
- package/dist/chunk-YH7V73XW.js +89 -0
- package/dist/chunk-YHSATGMH.js +3955 -0
- package/dist/chunk-YJBCGD46.js +13745 -0
- package/dist/chunk-YLOJPYCJ.js +284 -0
- package/dist/chunk-YMLM5D65.js +135 -0
- package/dist/chunk-YNJPRQ6J.js +377 -0
- package/dist/chunk-YSNEHBI6.js +551 -0
- package/dist/chunk-Z33XSFND.js +76 -0
- package/dist/chunk-ZA7N3ZTA.js +1921 -0
- package/dist/chunk-ZD6BMW2K.js +33 -0
- package/dist/chunk-ZFRG2MNB.js +382 -0
- package/dist/chunk-ZKG5IYCG.js +668 -0
- package/dist/chunk-ZRRRSVQF.js +204 -0
- package/dist/chunk-ZU4K7ZNX.js +197 -0
- package/dist/co-activation-HZMJC34P.js +72 -0
- package/dist/co-occurrence-AVYXRV4L.js +74 -0
- package/dist/core-memory-554Q3YN5.js +110 -0
- package/dist/core-memory-BC4YN5F4.js +110 -0
- package/dist/core-memory-NID6R3YR.js +110 -0
- package/dist/core-memory-NPJCVUMF.js +110 -0
- package/dist/core-memory-OKGXL33Z.js +110 -0
- package/dist/core-memory-XHIC5NAB.js +110 -0
- package/dist/crdt-sync-ZCH55JNR.js +33 -0
- package/dist/crm-webhook-6OMVUUGR.js +10 -0
- package/dist/crm-webhook-MHZTXU5N.js +10 -0
- package/dist/crm-webhook-TMWJT2Z5.js +10 -0
- package/dist/crm-webhook-UCWF3XDB.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-JFZFZGC2.js +206 -0
- package/dist/cto-delegation-gate-K32M4GVM.js +206 -0
- package/dist/cto-delegation-gate-OREBAHUM.js +206 -0
- package/dist/cto-delegation-gate-POHESML5.js +206 -0
- package/dist/daemon-orchestration-2Q7BYOHC.js +135 -0
- package/dist/daemon-orchestration-4RJ2CZJL.js +135 -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-YWEXRAZA.js +135 -0
- package/dist/db-backup-5GA2YFDX.js +33 -0
- package/dist/dreaming-3F72ROTL.js +32 -0
- package/dist/dreaming-I6KXO6E2.js +32 -0
- package/dist/dreaming-JD7MNJGS.js +32 -0
- package/dist/dreaming-LCKPA3B4.js +32 -0
- package/dist/dreaming-NJBK5ILR.js +32 -0
- package/dist/dreaming-SDS5IQYC.js +32 -0
- package/dist/exe-drift-VSMIMHL4.js +68 -0
- package/dist/exe-export-DVHHIA6Y.js +73 -0
- package/dist/exe-export-GIVQDENS.js +73 -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-YLVAZQAV.js +73 -0
- package/dist/exe-import-7N46LSMQ.js +76 -0
- package/dist/exe-import-AEJYBLA7.js +76 -0
- package/dist/exe-import-FINYUV5T.js +76 -0
- package/dist/exe-import-HWPYARCG.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-H45JY44F.js +579 -0
- package/dist/exe-key-MAEQGTB7.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-3TEM3BFD.js +164 -0
- package/dist/exe-snapshot-HECGUHL3.js +164 -0
- package/dist/exe-snapshot-HZU66HXX.js +164 -0
- package/dist/exe-snapshot-L7OQWZUH.js +164 -0
- package/dist/exe-snapshot-X5N5KIVJ.js +164 -0
- package/dist/fast-db-init-3CNTADVO.js +7 -0
- package/dist/fast-db-init-C6IPNVPU.js +7 -0
- package/dist/fast-db-init-HXCS2AP5.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/gateway/index.js +8 -8
- package/dist/git-staleness-YCEBBIVK.js +110 -0
- package/dist/git-task-sweep-C4OV2CEY.js +40 -0
- package/dist/git-task-sweep-H34STRNT.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-YL7NLDCK.js +40 -0
- package/dist/global-procedures-IHZM6C2K.js +20 -0
- package/dist/graph-auto-extract-RZQ3MHP2.js +162 -0
- package/dist/hooks/bug-report-worker.js +12 -12
- package/dist/hooks/codex-stop-task-finalizer.js +12 -12
- package/dist/hooks/commit-complete.js +12 -12
- package/dist/hooks/error-recall.js +6 -6
- package/dist/hooks/exe-heartbeat-hook.js +3 -3
- package/dist/hooks/ingest.js +6 -6
- package/dist/hooks/instructions-loaded.js +4 -4
- package/dist/hooks/manifest.json +19 -19
- package/dist/hooks/notification.js +4 -4
- package/dist/hooks/post-compact.js +11 -11
- package/dist/hooks/post-tool-combined.js +5 -5
- package/dist/hooks/pre-compact.js +12 -12
- package/dist/hooks/pre-tool-use.js +15 -15
- package/dist/hooks/prompt-submit.js +21 -21
- package/dist/hooks/session-end.js +16 -16
- package/dist/hooks/session-start.js +10 -10
- package/dist/hooks/stop.js +15 -15
- package/dist/hooks/subagent-stop.js +11 -11
- package/dist/hooks/summary-worker.js +15 -15
- package/dist/index.js +18 -18
- package/dist/installer-4EW5ZDGD.js +296 -0
- package/dist/installer-B2JTQO55.js +38 -0
- package/dist/installer-MIL352T7.js +342 -0
- package/dist/lib/agent-config.js +9 -3
- package/dist/lib/cloud-sync.js +4 -4
- package/dist/lib/consolidation.js +5 -5
- package/dist/lib/database.js +2 -2
- package/dist/lib/db.js +2 -2
- package/dist/lib/employee-templates.js +4 -4
- package/dist/lib/employees.js +2 -2
- package/dist/lib/exe-daemon.js +35 -34
- package/dist/lib/hybrid-search.js +5 -5
- package/dist/lib/identity.js +2 -2
- package/dist/lib/messaging.js +12 -10
- package/dist/lib/reminders.js +3 -3
- package/dist/lib/schedules.js +5 -5
- package/dist/lib/session-registry.js +4 -4
- package/dist/lib/skill-learning.js +4 -4
- package/dist/lib/store.js +4 -4
- package/dist/lib/task-router.js +3 -3
- package/dist/lib/tasks.js +11 -11
- package/dist/lib/tmux-routing.js +9 -9
- package/dist/lib/token-spend.js +3 -3
- package/dist/mcp/register-tools.js +54 -54
- package/dist/mcp/server.js +55 -55
- package/dist/mcp/tools/complete-reminder.js +4 -4
- package/dist/mcp/tools/create-reminder.js +4 -4
- package/dist/mcp/tools/create-task.js +13 -13
- package/dist/mcp/tools/deactivate-behavior.js +5 -5
- package/dist/mcp/tools/list-reminders.js +4 -4
- package/dist/mcp/tools/list-tasks.js +13 -13
- package/dist/mcp/tools/send-message.js +12 -12
- package/dist/mcp/tools/update-task.js +12 -12
- package/dist/mcp-http-config-OJQR246S.js +27 -0
- package/dist/memory-cards-IPULSQFA.js +174 -0
- package/dist/memory-graph-extractor-3TZZOKHY.js +17 -0
- package/dist/memory-poisoning-defense-SGUGR5YJ.js +225 -0
- package/dist/memory-reflection-H3WGCEM6.js +238 -0
- package/dist/notifications-65STXW6N.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/notifications-VWPO6NJF.js +45 -0
- package/dist/notifications-WCSRQN2V.js +45 -0
- package/dist/orchestration-events-O5PSDEIO.js +25 -0
- package/dist/orchestrator-3D7QEVGP.js +33 -0
- package/dist/orchestrator-CC32RZO5.js +33 -0
- package/dist/orchestrator-DWAYSAFR.js +33 -0
- package/dist/orchestrator-RAPEJUOI.js +33 -0
- package/dist/orchestrator-TL37EAWA.js +33 -0
- package/dist/orchestrator-XPG6LJAI.js +33 -0
- package/dist/pipeline-router-5NT6FUC3.js +13 -0
- package/dist/pipeline-router-ADLTS6DZ.js +13 -0
- package/dist/pipeline-router-KSUXONDT.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/plan-limits-53NXLNDQ.js +26 -0
- package/dist/project-boot-ITN3FZMM.js +299 -0
- package/dist/projection-worker-27XX5M2W.js +964 -0
- package/dist/reranker-3KLYAHO4.js +19 -0
- package/dist/reranker-64KDRYPP.js +19 -0
- package/dist/reranker-GU7L2PJX.js +19 -0
- package/dist/reranker-MGY5A7BQ.js +19 -0
- package/dist/reranker-TZEXIJAN.js +19 -0
- package/dist/reranker-ZBX6HSU2.js +19 -0
- package/dist/review-polling-3ZZ2T26N.js +124 -0
- package/dist/review-polling-BBQUF54Q.js +124 -0
- package/dist/review-polling-FA2J2Q5O.js +124 -0
- package/dist/review-polling-MLS4BQ3N.js +124 -0
- package/dist/review-polling-RXQZPGRY.js +124 -0
- package/dist/review-polling-YBB6DKA5.js +124 -0
- package/dist/runtime/index.js +12 -12
- 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-WWGF3B2N.js +36 -0
- package/dist/session-events-ZHXXAH6B.js +36 -0
- package/dist/session-kill-telemetry-O4TJHHOZ.js +29 -0
- package/dist/session-scope-CQXB7VMH.js +86 -0
- package/dist/session-scope-HHUMJYF6.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/setup-wizard-UM2RHSBJ.js +12 -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-MJPOHYD5.js +157 -0
- package/dist/skill-refinement-NVUBRK22.js +157 -0
- package/dist/skill-refinement-XNGD3C62.js +157 -0
- package/dist/stack-release-BAPCXMXW.js +713 -0
- package/dist/stack-release-W4TWTEZP.js +731 -0
- package/dist/steward-gate-VLE7OCKO.js +13 -0
- package/dist/task-enforcement-AZEO67N6.js +391 -0
- package/dist/task-enforcement-EOYP6IO4.js +391 -0
- package/dist/task-enforcement-FUHDL6UR.js +391 -0
- package/dist/task-enforcement-L5XQKFOV.js +391 -0
- package/dist/task-enforcement-QL3K4N3F.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-SM5F6RD3.js +35 -0
- package/dist/task-scope-TZYMB634.js +35 -0
- package/dist/task-scope-ZVLUBS4C.js +35 -0
- package/dist/tasks-crud-4MSLJWXE.js +77 -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-HIPXKRKX.js +77 -0
- package/dist/tasks-crud-JIS5B4GZ.js +77 -0
- package/dist/tasks-notify-7JBUNE7R.js +38 -0
- package/dist/tasks-notify-GEJKT5TO.js +38 -0
- package/dist/tasks-notify-OW3JDPLK.js +38 -0
- package/dist/tasks-notify-UPIJ3L4O.js +38 -0
- package/dist/tasks-notify-W5WVP2FG.js +38 -0
- package/dist/tasks-notify-YKEOYOKN.js +38 -0
- package/dist/tasks-review-5SJSFTUB.js +47 -0
- package/dist/tasks-review-DRKN34HO.js +47 -0
- package/dist/tasks-review-IQSAXXXE.js +47 -0
- package/dist/tasks-review-JHSYBR5I.js +47 -0
- package/dist/tasks-review-KWELLLS3.js +47 -0
- package/dist/tasks-review-SUJ6AKAS.js +47 -0
- package/dist/telemetry-upload-BSGOXGUP.js +739 -0
- package/dist/telemetry-upload-FPQAB6ZU.js +739 -0
- package/dist/telemetry-upload-LTX3C5HZ.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/token-budget-2CDWQU3Q.js +84 -0
- package/dist/tool-telemetry-7YS7EN7B.js +17 -0
- package/dist/tui/App.js +17 -17
- package/dist/tui-data-GDGBOS6G.js +258 -0
- package/dist/tui-data-LYUZFNO4.js +258 -0
- package/dist/tui-data-QM5BOKRF.js +258 -0
- package/dist/tui-data-VAE43SM3.js +258 -0
- package/dist/tui-data-VXF2RBVM.js +258 -0
- package/dist/tui-data-X7HT3FXF.js +258 -0
- package/dist/wiki-acl-MJIMXRQV.js +111 -0
- package/dist/worker-gate-BZBWTMCY.js +21 -0
- package/dist/worker-gate-CHVL6UGT.js +21 -0
- package/dist/worker-gate-KQFS4RJE.js +21 -0
- package/dist/worker-gate-NRP7CMS7.js +21 -0
- package/dist/worker-gate-WQGTZOSM.js +21 -0
- package/dist/worker-gate-X2YDTKTL.js +21 -0
- package/dist/workflow-engine-AKKOMJJQ.js +28 -0
- package/dist/workflow-engine-CYXRZXBM.js +28 -0
- package/dist/workflow-engine-EHWQO3LX.js +28 -0
- package/dist/workflow-engine-I3OUMSF4.js +28 -0
- package/dist/workflow-engine-KMLAXVA4.js +28 -0
- package/dist/workflow-engine-PHTLEAXP.js +28 -0
- package/dist/worktree-NLSKVRNC.js +26 -0
- package/dist/worktree-sweep-44TMEPLE.js +19 -0
- package/package.json +1 -1
- package/release-notes.json +46 -35
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import "./chunk-MLKGABMK.js";
|
|
2
|
+
|
|
3
|
+
// src/lib/core-memory.ts
|
|
4
|
+
var MAX_CORE_ENTRIES = 10;
|
|
5
|
+
var MAX_ENTRY_LENGTH = 500;
|
|
6
|
+
var MAX_TOTAL_CHARS = 5e3;
|
|
7
|
+
async function getCoreMemory(agentId) {
|
|
8
|
+
try {
|
|
9
|
+
const { getClient } = await import("./lib/database.js");
|
|
10
|
+
const client = getClient();
|
|
11
|
+
const result = await client.execute({
|
|
12
|
+
sql: `SELECT key, value, updated_at FROM core_memory
|
|
13
|
+
WHERE agent_id = ? ORDER BY key ASC`,
|
|
14
|
+
args: [agentId]
|
|
15
|
+
});
|
|
16
|
+
return result.rows.map((r) => ({
|
|
17
|
+
key: String(r.key),
|
|
18
|
+
value: String(r.value),
|
|
19
|
+
updatedAt: String(r.updated_at)
|
|
20
|
+
}));
|
|
21
|
+
} catch {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
async function setCoreMemory(agentId, key, value) {
|
|
26
|
+
if (value.length > MAX_ENTRY_LENGTH) {
|
|
27
|
+
throw new Error(`Core memory value too long (${value.length}/${MAX_ENTRY_LENGTH} chars). Core memory is for key facts, not documents.`);
|
|
28
|
+
}
|
|
29
|
+
const { getClient } = await import("./lib/database.js");
|
|
30
|
+
const client = getClient();
|
|
31
|
+
const countResult = await client.execute({
|
|
32
|
+
sql: `SELECT COUNT(*) as cnt FROM core_memory WHERE agent_id = ?`,
|
|
33
|
+
args: [agentId]
|
|
34
|
+
});
|
|
35
|
+
const count = Number(countResult.rows[0]?.cnt ?? 0);
|
|
36
|
+
const existing = await client.execute({
|
|
37
|
+
sql: `SELECT key FROM core_memory WHERE agent_id = ? AND key = ?`,
|
|
38
|
+
args: [agentId, key]
|
|
39
|
+
});
|
|
40
|
+
if (existing.rows.length === 0 && count >= MAX_CORE_ENTRIES) {
|
|
41
|
+
const oldest = await client.execute({
|
|
42
|
+
sql: `SELECT key, value, updated_at FROM core_memory
|
|
43
|
+
WHERE agent_id = ? ORDER BY updated_at ASC LIMIT 1`,
|
|
44
|
+
args: [agentId]
|
|
45
|
+
});
|
|
46
|
+
if (oldest.rows.length > 0) {
|
|
47
|
+
const oldKey = String(oldest.rows[0].key);
|
|
48
|
+
const oldValue = String(oldest.rows[0].value);
|
|
49
|
+
try {
|
|
50
|
+
const { randomUUID } = await import("crypto");
|
|
51
|
+
const { writeMemory } = await import("./lib/store.js");
|
|
52
|
+
await writeMemory({
|
|
53
|
+
id: randomUUID(),
|
|
54
|
+
agent_id: agentId,
|
|
55
|
+
agent_role: "core-demotion",
|
|
56
|
+
session_id: "core-memory-demotion",
|
|
57
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
58
|
+
tool_name: "core_memory_demotion",
|
|
59
|
+
project_name: "exe-os",
|
|
60
|
+
has_error: false,
|
|
61
|
+
raw_text: `[Demoted from core memory] ${oldKey}: ${oldValue}`,
|
|
62
|
+
vector: null
|
|
63
|
+
});
|
|
64
|
+
} catch {
|
|
65
|
+
}
|
|
66
|
+
await client.execute({
|
|
67
|
+
sql: `DELETE FROM core_memory WHERE agent_id = ? AND key = ?`,
|
|
68
|
+
args: [agentId, oldKey]
|
|
69
|
+
});
|
|
70
|
+
process.stderr.write(`[core-memory] Auto-demoted "${oldKey}" to regular memory (core full at ${MAX_CORE_ENTRIES})
|
|
71
|
+
`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
const sizeResult = await client.execute({
|
|
75
|
+
sql: `SELECT COALESCE(SUM(LENGTH(value)), 0) as total FROM core_memory WHERE agent_id = ? AND key != ?`,
|
|
76
|
+
args: [agentId, key]
|
|
77
|
+
});
|
|
78
|
+
const currentSize = Number(sizeResult.rows[0]?.total ?? 0);
|
|
79
|
+
if (currentSize + value.length > MAX_TOTAL_CHARS) {
|
|
80
|
+
throw new Error(`Core memory would exceed ${MAX_TOTAL_CHARS} char limit. Delete entries or shorten values.`);
|
|
81
|
+
}
|
|
82
|
+
await client.execute({
|
|
83
|
+
sql: `INSERT OR REPLACE INTO core_memory (agent_id, key, value, updated_at)
|
|
84
|
+
VALUES (?, ?, ?, ?)`,
|
|
85
|
+
args: [agentId, key, value, (/* @__PURE__ */ new Date()).toISOString()]
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
async function deleteCoreMemory(agentId, key) {
|
|
89
|
+
const { getClient } = await import("./lib/database.js");
|
|
90
|
+
const client = getClient();
|
|
91
|
+
const result = await client.execute({
|
|
92
|
+
sql: `DELETE FROM core_memory WHERE agent_id = ? AND key = ?`,
|
|
93
|
+
args: [agentId, key]
|
|
94
|
+
});
|
|
95
|
+
return (result.rowsAffected ?? 0) > 0;
|
|
96
|
+
}
|
|
97
|
+
function formatCoreMemoryBlock(entries) {
|
|
98
|
+
if (entries.length === 0) return null;
|
|
99
|
+
const lines = ["## Core Memory (always in context)", ""];
|
|
100
|
+
for (const e of entries) {
|
|
101
|
+
lines.push(`- **${e.key}:** ${e.value}`);
|
|
102
|
+
}
|
|
103
|
+
return lines.join("\n");
|
|
104
|
+
}
|
|
105
|
+
export {
|
|
106
|
+
deleteCoreMemory,
|
|
107
|
+
formatCoreMemoryBlock,
|
|
108
|
+
getCoreMemory,
|
|
109
|
+
setCoreMemory
|
|
110
|
+
};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import "./chunk-MLKGABMK.js";
|
|
2
|
+
|
|
3
|
+
// src/lib/core-memory.ts
|
|
4
|
+
var MAX_CORE_ENTRIES = 10;
|
|
5
|
+
var MAX_ENTRY_LENGTH = 500;
|
|
6
|
+
var MAX_TOTAL_CHARS = 5e3;
|
|
7
|
+
async function getCoreMemory(agentId) {
|
|
8
|
+
try {
|
|
9
|
+
const { getClient } = await import("./lib/database.js");
|
|
10
|
+
const client = getClient();
|
|
11
|
+
const result = await client.execute({
|
|
12
|
+
sql: `SELECT key, value, updated_at FROM core_memory
|
|
13
|
+
WHERE agent_id = ? ORDER BY key ASC`,
|
|
14
|
+
args: [agentId]
|
|
15
|
+
});
|
|
16
|
+
return result.rows.map((r) => ({
|
|
17
|
+
key: String(r.key),
|
|
18
|
+
value: String(r.value),
|
|
19
|
+
updatedAt: String(r.updated_at)
|
|
20
|
+
}));
|
|
21
|
+
} catch {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
async function setCoreMemory(agentId, key, value) {
|
|
26
|
+
if (value.length > MAX_ENTRY_LENGTH) {
|
|
27
|
+
throw new Error(`Core memory value too long (${value.length}/${MAX_ENTRY_LENGTH} chars). Core memory is for key facts, not documents.`);
|
|
28
|
+
}
|
|
29
|
+
const { getClient } = await import("./lib/database.js");
|
|
30
|
+
const client = getClient();
|
|
31
|
+
const countResult = await client.execute({
|
|
32
|
+
sql: `SELECT COUNT(*) as cnt FROM core_memory WHERE agent_id = ?`,
|
|
33
|
+
args: [agentId]
|
|
34
|
+
});
|
|
35
|
+
const count = Number(countResult.rows[0]?.cnt ?? 0);
|
|
36
|
+
const existing = await client.execute({
|
|
37
|
+
sql: `SELECT key FROM core_memory WHERE agent_id = ? AND key = ?`,
|
|
38
|
+
args: [agentId, key]
|
|
39
|
+
});
|
|
40
|
+
if (existing.rows.length === 0 && count >= MAX_CORE_ENTRIES) {
|
|
41
|
+
const oldest = await client.execute({
|
|
42
|
+
sql: `SELECT key, value, updated_at FROM core_memory
|
|
43
|
+
WHERE agent_id = ? ORDER BY updated_at ASC LIMIT 1`,
|
|
44
|
+
args: [agentId]
|
|
45
|
+
});
|
|
46
|
+
if (oldest.rows.length > 0) {
|
|
47
|
+
const oldKey = String(oldest.rows[0].key);
|
|
48
|
+
const oldValue = String(oldest.rows[0].value);
|
|
49
|
+
try {
|
|
50
|
+
const { randomUUID } = await import("crypto");
|
|
51
|
+
const { writeMemory } = await import("./lib/store.js");
|
|
52
|
+
await writeMemory({
|
|
53
|
+
id: randomUUID(),
|
|
54
|
+
agent_id: agentId,
|
|
55
|
+
agent_role: "core-demotion",
|
|
56
|
+
session_id: "core-memory-demotion",
|
|
57
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
58
|
+
tool_name: "core_memory_demotion",
|
|
59
|
+
project_name: "exe-os",
|
|
60
|
+
has_error: false,
|
|
61
|
+
raw_text: `[Demoted from core memory] ${oldKey}: ${oldValue}`,
|
|
62
|
+
vector: null
|
|
63
|
+
});
|
|
64
|
+
} catch {
|
|
65
|
+
}
|
|
66
|
+
await client.execute({
|
|
67
|
+
sql: `DELETE FROM core_memory WHERE agent_id = ? AND key = ?`,
|
|
68
|
+
args: [agentId, oldKey]
|
|
69
|
+
});
|
|
70
|
+
process.stderr.write(`[core-memory] Auto-demoted "${oldKey}" to regular memory (core full at ${MAX_CORE_ENTRIES})
|
|
71
|
+
`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
const sizeResult = await client.execute({
|
|
75
|
+
sql: `SELECT COALESCE(SUM(LENGTH(value)), 0) as total FROM core_memory WHERE agent_id = ? AND key != ?`,
|
|
76
|
+
args: [agentId, key]
|
|
77
|
+
});
|
|
78
|
+
const currentSize = Number(sizeResult.rows[0]?.total ?? 0);
|
|
79
|
+
if (currentSize + value.length > MAX_TOTAL_CHARS) {
|
|
80
|
+
throw new Error(`Core memory would exceed ${MAX_TOTAL_CHARS} char limit. Delete entries or shorten values.`);
|
|
81
|
+
}
|
|
82
|
+
await client.execute({
|
|
83
|
+
sql: `INSERT OR REPLACE INTO core_memory (agent_id, key, value, updated_at)
|
|
84
|
+
VALUES (?, ?, ?, ?)`,
|
|
85
|
+
args: [agentId, key, value, (/* @__PURE__ */ new Date()).toISOString()]
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
async function deleteCoreMemory(agentId, key) {
|
|
89
|
+
const { getClient } = await import("./lib/database.js");
|
|
90
|
+
const client = getClient();
|
|
91
|
+
const result = await client.execute({
|
|
92
|
+
sql: `DELETE FROM core_memory WHERE agent_id = ? AND key = ?`,
|
|
93
|
+
args: [agentId, key]
|
|
94
|
+
});
|
|
95
|
+
return (result.rowsAffected ?? 0) > 0;
|
|
96
|
+
}
|
|
97
|
+
function formatCoreMemoryBlock(entries) {
|
|
98
|
+
if (entries.length === 0) return null;
|
|
99
|
+
const lines = ["## Core Memory (always in context)", ""];
|
|
100
|
+
for (const e of entries) {
|
|
101
|
+
lines.push(`- **${e.key}:** ${e.value}`);
|
|
102
|
+
}
|
|
103
|
+
return lines.join("\n");
|
|
104
|
+
}
|
|
105
|
+
export {
|
|
106
|
+
deleteCoreMemory,
|
|
107
|
+
formatCoreMemoryBlock,
|
|
108
|
+
getCoreMemory,
|
|
109
|
+
setCoreMemory
|
|
110
|
+
};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import "./chunk-MLKGABMK.js";
|
|
2
|
+
|
|
3
|
+
// src/lib/core-memory.ts
|
|
4
|
+
var MAX_CORE_ENTRIES = 10;
|
|
5
|
+
var MAX_ENTRY_LENGTH = 500;
|
|
6
|
+
var MAX_TOTAL_CHARS = 5e3;
|
|
7
|
+
async function getCoreMemory(agentId) {
|
|
8
|
+
try {
|
|
9
|
+
const { getClient } = await import("./lib/database.js");
|
|
10
|
+
const client = getClient();
|
|
11
|
+
const result = await client.execute({
|
|
12
|
+
sql: `SELECT key, value, updated_at FROM core_memory
|
|
13
|
+
WHERE agent_id = ? ORDER BY key ASC`,
|
|
14
|
+
args: [agentId]
|
|
15
|
+
});
|
|
16
|
+
return result.rows.map((r) => ({
|
|
17
|
+
key: String(r.key),
|
|
18
|
+
value: String(r.value),
|
|
19
|
+
updatedAt: String(r.updated_at)
|
|
20
|
+
}));
|
|
21
|
+
} catch {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
async function setCoreMemory(agentId, key, value) {
|
|
26
|
+
if (value.length > MAX_ENTRY_LENGTH) {
|
|
27
|
+
throw new Error(`Core memory value too long (${value.length}/${MAX_ENTRY_LENGTH} chars). Core memory is for key facts, not documents.`);
|
|
28
|
+
}
|
|
29
|
+
const { getClient } = await import("./lib/database.js");
|
|
30
|
+
const client = getClient();
|
|
31
|
+
const countResult = await client.execute({
|
|
32
|
+
sql: `SELECT COUNT(*) as cnt FROM core_memory WHERE agent_id = ?`,
|
|
33
|
+
args: [agentId]
|
|
34
|
+
});
|
|
35
|
+
const count = Number(countResult.rows[0]?.cnt ?? 0);
|
|
36
|
+
const existing = await client.execute({
|
|
37
|
+
sql: `SELECT key FROM core_memory WHERE agent_id = ? AND key = ?`,
|
|
38
|
+
args: [agentId, key]
|
|
39
|
+
});
|
|
40
|
+
if (existing.rows.length === 0 && count >= MAX_CORE_ENTRIES) {
|
|
41
|
+
const oldest = await client.execute({
|
|
42
|
+
sql: `SELECT key, value, updated_at FROM core_memory
|
|
43
|
+
WHERE agent_id = ? ORDER BY updated_at ASC LIMIT 1`,
|
|
44
|
+
args: [agentId]
|
|
45
|
+
});
|
|
46
|
+
if (oldest.rows.length > 0) {
|
|
47
|
+
const oldKey = String(oldest.rows[0].key);
|
|
48
|
+
const oldValue = String(oldest.rows[0].value);
|
|
49
|
+
try {
|
|
50
|
+
const { randomUUID } = await import("crypto");
|
|
51
|
+
const { writeMemory } = await import("./lib/store.js");
|
|
52
|
+
await writeMemory({
|
|
53
|
+
id: randomUUID(),
|
|
54
|
+
agent_id: agentId,
|
|
55
|
+
agent_role: "core-demotion",
|
|
56
|
+
session_id: "core-memory-demotion",
|
|
57
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
58
|
+
tool_name: "core_memory_demotion",
|
|
59
|
+
project_name: "exe-os",
|
|
60
|
+
has_error: false,
|
|
61
|
+
raw_text: `[Demoted from core memory] ${oldKey}: ${oldValue}`,
|
|
62
|
+
vector: null
|
|
63
|
+
});
|
|
64
|
+
} catch {
|
|
65
|
+
}
|
|
66
|
+
await client.execute({
|
|
67
|
+
sql: `DELETE FROM core_memory WHERE agent_id = ? AND key = ?`,
|
|
68
|
+
args: [agentId, oldKey]
|
|
69
|
+
});
|
|
70
|
+
process.stderr.write(`[core-memory] Auto-demoted "${oldKey}" to regular memory (core full at ${MAX_CORE_ENTRIES})
|
|
71
|
+
`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
const sizeResult = await client.execute({
|
|
75
|
+
sql: `SELECT COALESCE(SUM(LENGTH(value)), 0) as total FROM core_memory WHERE agent_id = ? AND key != ?`,
|
|
76
|
+
args: [agentId, key]
|
|
77
|
+
});
|
|
78
|
+
const currentSize = Number(sizeResult.rows[0]?.total ?? 0);
|
|
79
|
+
if (currentSize + value.length > MAX_TOTAL_CHARS) {
|
|
80
|
+
throw new Error(`Core memory would exceed ${MAX_TOTAL_CHARS} char limit. Delete entries or shorten values.`);
|
|
81
|
+
}
|
|
82
|
+
await client.execute({
|
|
83
|
+
sql: `INSERT OR REPLACE INTO core_memory (agent_id, key, value, updated_at)
|
|
84
|
+
VALUES (?, ?, ?, ?)`,
|
|
85
|
+
args: [agentId, key, value, (/* @__PURE__ */ new Date()).toISOString()]
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
async function deleteCoreMemory(agentId, key) {
|
|
89
|
+
const { getClient } = await import("./lib/database.js");
|
|
90
|
+
const client = getClient();
|
|
91
|
+
const result = await client.execute({
|
|
92
|
+
sql: `DELETE FROM core_memory WHERE agent_id = ? AND key = ?`,
|
|
93
|
+
args: [agentId, key]
|
|
94
|
+
});
|
|
95
|
+
return (result.rowsAffected ?? 0) > 0;
|
|
96
|
+
}
|
|
97
|
+
function formatCoreMemoryBlock(entries) {
|
|
98
|
+
if (entries.length === 0) return null;
|
|
99
|
+
const lines = ["## Core Memory (always in context)", ""];
|
|
100
|
+
for (const e of entries) {
|
|
101
|
+
lines.push(`- **${e.key}:** ${e.value}`);
|
|
102
|
+
}
|
|
103
|
+
return lines.join("\n");
|
|
104
|
+
}
|
|
105
|
+
export {
|
|
106
|
+
deleteCoreMemory,
|
|
107
|
+
formatCoreMemoryBlock,
|
|
108
|
+
getCoreMemory,
|
|
109
|
+
setCoreMemory
|
|
110
|
+
};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import "./chunk-MLKGABMK.js";
|
|
2
|
+
|
|
3
|
+
// src/lib/core-memory.ts
|
|
4
|
+
var MAX_CORE_ENTRIES = 10;
|
|
5
|
+
var MAX_ENTRY_LENGTH = 500;
|
|
6
|
+
var MAX_TOTAL_CHARS = 5e3;
|
|
7
|
+
async function getCoreMemory(agentId) {
|
|
8
|
+
try {
|
|
9
|
+
const { getClient } = await import("./lib/database.js");
|
|
10
|
+
const client = getClient();
|
|
11
|
+
const result = await client.execute({
|
|
12
|
+
sql: `SELECT key, value, updated_at FROM core_memory
|
|
13
|
+
WHERE agent_id = ? ORDER BY key ASC`,
|
|
14
|
+
args: [agentId]
|
|
15
|
+
});
|
|
16
|
+
return result.rows.map((r) => ({
|
|
17
|
+
key: String(r.key),
|
|
18
|
+
value: String(r.value),
|
|
19
|
+
updatedAt: String(r.updated_at)
|
|
20
|
+
}));
|
|
21
|
+
} catch {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
async function setCoreMemory(agentId, key, value) {
|
|
26
|
+
if (value.length > MAX_ENTRY_LENGTH) {
|
|
27
|
+
throw new Error(`Core memory value too long (${value.length}/${MAX_ENTRY_LENGTH} chars). Core memory is for key facts, not documents.`);
|
|
28
|
+
}
|
|
29
|
+
const { getClient } = await import("./lib/database.js");
|
|
30
|
+
const client = getClient();
|
|
31
|
+
const countResult = await client.execute({
|
|
32
|
+
sql: `SELECT COUNT(*) as cnt FROM core_memory WHERE agent_id = ?`,
|
|
33
|
+
args: [agentId]
|
|
34
|
+
});
|
|
35
|
+
const count = Number(countResult.rows[0]?.cnt ?? 0);
|
|
36
|
+
const existing = await client.execute({
|
|
37
|
+
sql: `SELECT key FROM core_memory WHERE agent_id = ? AND key = ?`,
|
|
38
|
+
args: [agentId, key]
|
|
39
|
+
});
|
|
40
|
+
if (existing.rows.length === 0 && count >= MAX_CORE_ENTRIES) {
|
|
41
|
+
const oldest = await client.execute({
|
|
42
|
+
sql: `SELECT key, value, updated_at FROM core_memory
|
|
43
|
+
WHERE agent_id = ? ORDER BY updated_at ASC LIMIT 1`,
|
|
44
|
+
args: [agentId]
|
|
45
|
+
});
|
|
46
|
+
if (oldest.rows.length > 0) {
|
|
47
|
+
const oldKey = String(oldest.rows[0].key);
|
|
48
|
+
const oldValue = String(oldest.rows[0].value);
|
|
49
|
+
try {
|
|
50
|
+
const { randomUUID } = await import("crypto");
|
|
51
|
+
const { writeMemory } = await import("./lib/store.js");
|
|
52
|
+
await writeMemory({
|
|
53
|
+
id: randomUUID(),
|
|
54
|
+
agent_id: agentId,
|
|
55
|
+
agent_role: "core-demotion",
|
|
56
|
+
session_id: "core-memory-demotion",
|
|
57
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
58
|
+
tool_name: "core_memory_demotion",
|
|
59
|
+
project_name: "exe-os",
|
|
60
|
+
has_error: false,
|
|
61
|
+
raw_text: `[Demoted from core memory] ${oldKey}: ${oldValue}`,
|
|
62
|
+
vector: null
|
|
63
|
+
});
|
|
64
|
+
} catch {
|
|
65
|
+
}
|
|
66
|
+
await client.execute({
|
|
67
|
+
sql: `DELETE FROM core_memory WHERE agent_id = ? AND key = ?`,
|
|
68
|
+
args: [agentId, oldKey]
|
|
69
|
+
});
|
|
70
|
+
process.stderr.write(`[core-memory] Auto-demoted "${oldKey}" to regular memory (core full at ${MAX_CORE_ENTRIES})
|
|
71
|
+
`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
const sizeResult = await client.execute({
|
|
75
|
+
sql: `SELECT COALESCE(SUM(LENGTH(value)), 0) as total FROM core_memory WHERE agent_id = ? AND key != ?`,
|
|
76
|
+
args: [agentId, key]
|
|
77
|
+
});
|
|
78
|
+
const currentSize = Number(sizeResult.rows[0]?.total ?? 0);
|
|
79
|
+
if (currentSize + value.length > MAX_TOTAL_CHARS) {
|
|
80
|
+
throw new Error(`Core memory would exceed ${MAX_TOTAL_CHARS} char limit. Delete entries or shorten values.`);
|
|
81
|
+
}
|
|
82
|
+
await client.execute({
|
|
83
|
+
sql: `INSERT OR REPLACE INTO core_memory (agent_id, key, value, updated_at)
|
|
84
|
+
VALUES (?, ?, ?, ?)`,
|
|
85
|
+
args: [agentId, key, value, (/* @__PURE__ */ new Date()).toISOString()]
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
async function deleteCoreMemory(agentId, key) {
|
|
89
|
+
const { getClient } = await import("./lib/database.js");
|
|
90
|
+
const client = getClient();
|
|
91
|
+
const result = await client.execute({
|
|
92
|
+
sql: `DELETE FROM core_memory WHERE agent_id = ? AND key = ?`,
|
|
93
|
+
args: [agentId, key]
|
|
94
|
+
});
|
|
95
|
+
return (result.rowsAffected ?? 0) > 0;
|
|
96
|
+
}
|
|
97
|
+
function formatCoreMemoryBlock(entries) {
|
|
98
|
+
if (entries.length === 0) return null;
|
|
99
|
+
const lines = ["## Core Memory (always in context)", ""];
|
|
100
|
+
for (const e of entries) {
|
|
101
|
+
lines.push(`- **${e.key}:** ${e.value}`);
|
|
102
|
+
}
|
|
103
|
+
return lines.join("\n");
|
|
104
|
+
}
|
|
105
|
+
export {
|
|
106
|
+
deleteCoreMemory,
|
|
107
|
+
formatCoreMemoryBlock,
|
|
108
|
+
getCoreMemory,
|
|
109
|
+
setCoreMemory
|
|
110
|
+
};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import "./chunk-MLKGABMK.js";
|
|
2
|
+
|
|
3
|
+
// src/lib/core-memory.ts
|
|
4
|
+
var MAX_CORE_ENTRIES = 10;
|
|
5
|
+
var MAX_ENTRY_LENGTH = 500;
|
|
6
|
+
var MAX_TOTAL_CHARS = 5e3;
|
|
7
|
+
async function getCoreMemory(agentId) {
|
|
8
|
+
try {
|
|
9
|
+
const { getClient } = await import("./lib/database.js");
|
|
10
|
+
const client = getClient();
|
|
11
|
+
const result = await client.execute({
|
|
12
|
+
sql: `SELECT key, value, updated_at FROM core_memory
|
|
13
|
+
WHERE agent_id = ? ORDER BY key ASC`,
|
|
14
|
+
args: [agentId]
|
|
15
|
+
});
|
|
16
|
+
return result.rows.map((r) => ({
|
|
17
|
+
key: String(r.key),
|
|
18
|
+
value: String(r.value),
|
|
19
|
+
updatedAt: String(r.updated_at)
|
|
20
|
+
}));
|
|
21
|
+
} catch {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
async function setCoreMemory(agentId, key, value) {
|
|
26
|
+
if (value.length > MAX_ENTRY_LENGTH) {
|
|
27
|
+
throw new Error(`Core memory value too long (${value.length}/${MAX_ENTRY_LENGTH} chars). Core memory is for key facts, not documents.`);
|
|
28
|
+
}
|
|
29
|
+
const { getClient } = await import("./lib/database.js");
|
|
30
|
+
const client = getClient();
|
|
31
|
+
const countResult = await client.execute({
|
|
32
|
+
sql: `SELECT COUNT(*) as cnt FROM core_memory WHERE agent_id = ?`,
|
|
33
|
+
args: [agentId]
|
|
34
|
+
});
|
|
35
|
+
const count = Number(countResult.rows[0]?.cnt ?? 0);
|
|
36
|
+
const existing = await client.execute({
|
|
37
|
+
sql: `SELECT key FROM core_memory WHERE agent_id = ? AND key = ?`,
|
|
38
|
+
args: [agentId, key]
|
|
39
|
+
});
|
|
40
|
+
if (existing.rows.length === 0 && count >= MAX_CORE_ENTRIES) {
|
|
41
|
+
const oldest = await client.execute({
|
|
42
|
+
sql: `SELECT key, value, updated_at FROM core_memory
|
|
43
|
+
WHERE agent_id = ? ORDER BY updated_at ASC LIMIT 1`,
|
|
44
|
+
args: [agentId]
|
|
45
|
+
});
|
|
46
|
+
if (oldest.rows.length > 0) {
|
|
47
|
+
const oldKey = String(oldest.rows[0].key);
|
|
48
|
+
const oldValue = String(oldest.rows[0].value);
|
|
49
|
+
try {
|
|
50
|
+
const { randomUUID } = await import("crypto");
|
|
51
|
+
const { writeMemory } = await import("./lib/store.js");
|
|
52
|
+
await writeMemory({
|
|
53
|
+
id: randomUUID(),
|
|
54
|
+
agent_id: agentId,
|
|
55
|
+
agent_role: "core-demotion",
|
|
56
|
+
session_id: "core-memory-demotion",
|
|
57
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
58
|
+
tool_name: "core_memory_demotion",
|
|
59
|
+
project_name: "exe-os",
|
|
60
|
+
has_error: false,
|
|
61
|
+
raw_text: `[Demoted from core memory] ${oldKey}: ${oldValue}`,
|
|
62
|
+
vector: null
|
|
63
|
+
});
|
|
64
|
+
} catch {
|
|
65
|
+
}
|
|
66
|
+
await client.execute({
|
|
67
|
+
sql: `DELETE FROM core_memory WHERE agent_id = ? AND key = ?`,
|
|
68
|
+
args: [agentId, oldKey]
|
|
69
|
+
});
|
|
70
|
+
process.stderr.write(`[core-memory] Auto-demoted "${oldKey}" to regular memory (core full at ${MAX_CORE_ENTRIES})
|
|
71
|
+
`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
const sizeResult = await client.execute({
|
|
75
|
+
sql: `SELECT COALESCE(SUM(LENGTH(value)), 0) as total FROM core_memory WHERE agent_id = ? AND key != ?`,
|
|
76
|
+
args: [agentId, key]
|
|
77
|
+
});
|
|
78
|
+
const currentSize = Number(sizeResult.rows[0]?.total ?? 0);
|
|
79
|
+
if (currentSize + value.length > MAX_TOTAL_CHARS) {
|
|
80
|
+
throw new Error(`Core memory would exceed ${MAX_TOTAL_CHARS} char limit. Delete entries or shorten values.`);
|
|
81
|
+
}
|
|
82
|
+
await client.execute({
|
|
83
|
+
sql: `INSERT OR REPLACE INTO core_memory (agent_id, key, value, updated_at)
|
|
84
|
+
VALUES (?, ?, ?, ?)`,
|
|
85
|
+
args: [agentId, key, value, (/* @__PURE__ */ new Date()).toISOString()]
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
async function deleteCoreMemory(agentId, key) {
|
|
89
|
+
const { getClient } = await import("./lib/database.js");
|
|
90
|
+
const client = getClient();
|
|
91
|
+
const result = await client.execute({
|
|
92
|
+
sql: `DELETE FROM core_memory WHERE agent_id = ? AND key = ?`,
|
|
93
|
+
args: [agentId, key]
|
|
94
|
+
});
|
|
95
|
+
return (result.rowsAffected ?? 0) > 0;
|
|
96
|
+
}
|
|
97
|
+
function formatCoreMemoryBlock(entries) {
|
|
98
|
+
if (entries.length === 0) return null;
|
|
99
|
+
const lines = ["## Core Memory (always in context)", ""];
|
|
100
|
+
for (const e of entries) {
|
|
101
|
+
lines.push(`- **${e.key}:** ${e.value}`);
|
|
102
|
+
}
|
|
103
|
+
return lines.join("\n");
|
|
104
|
+
}
|
|
105
|
+
export {
|
|
106
|
+
deleteCoreMemory,
|
|
107
|
+
formatCoreMemoryBlock,
|
|
108
|
+
getCoreMemory,
|
|
109
|
+
setCoreMemory
|
|
110
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import {
|
|
2
|
+
_setStatePath,
|
|
3
|
+
applyRemoteUpdate,
|
|
4
|
+
destroyCrdtDoc,
|
|
5
|
+
getDiffUpdate,
|
|
6
|
+
getFullState,
|
|
7
|
+
getStateVector,
|
|
8
|
+
importExistingBehaviors,
|
|
9
|
+
importExistingMemories,
|
|
10
|
+
initCrdtDoc,
|
|
11
|
+
isCrdtSyncEnabled,
|
|
12
|
+
onUpdate,
|
|
13
|
+
readAllBehaviors,
|
|
14
|
+
readAllMemories,
|
|
15
|
+
rebuildFromDb
|
|
16
|
+
} from "./chunk-DCHEIVGT.js";
|
|
17
|
+
import "./chunk-MLKGABMK.js";
|
|
18
|
+
export {
|
|
19
|
+
_setStatePath,
|
|
20
|
+
applyRemoteUpdate,
|
|
21
|
+
destroyCrdtDoc,
|
|
22
|
+
getDiffUpdate,
|
|
23
|
+
getFullState,
|
|
24
|
+
getStateVector,
|
|
25
|
+
importExistingBehaviors,
|
|
26
|
+
importExistingMemories,
|
|
27
|
+
initCrdtDoc,
|
|
28
|
+
isCrdtSyncEnabled,
|
|
29
|
+
onUpdate,
|
|
30
|
+
readAllBehaviors,
|
|
31
|
+
readAllMemories,
|
|
32
|
+
rebuildFromDb
|
|
33
|
+
};
|