cognova 0.2.26 → 0.2.28
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/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{CxNJcty6.js → -XfM4jpu.js} +1 -1
- package/.output/public/_nuxt/0L-9iIbm.js +1 -0
- package/.output/public/_nuxt/{RIAd5Wd1.js → 0mcDe5Hg.js} +1 -1
- package/.output/public/_nuxt/{DLfV22bF.js → 4Nlt-3Ix.js} +1 -1
- package/.output/public/_nuxt/{C_hl3kCw.js → 5FVMuLeh.js} +1 -1
- package/.output/public/_nuxt/{C4Ii8cYC.js → 5qkiDtwf.js} +1 -1
- package/.output/public/_nuxt/{n_Arasow.js → 6_fEEpaq.js} +1 -1
- package/.output/public/_nuxt/{BZjMzGZM.js → 944smzho.js} +1 -1
- package/.output/public/_nuxt/{C-tfM08H.js → B03oRqJe.js} +1 -1
- package/.output/public/_nuxt/{CGgHmnnS.js → B06CcGVK.js} +3 -3
- package/.output/public/_nuxt/{FmfogFAR.js → B0UpgYEt.js} +1 -1
- package/.output/public/_nuxt/{CcJ0pNID.js → B0YLhHra.js} +1 -1
- package/.output/public/_nuxt/B0v0agy0.js +1 -0
- package/.output/public/_nuxt/{DmGbOc_e.js → B1A26hhf.js} +1 -1
- package/.output/public/_nuxt/{B38X0n2w.js → B592hx40.js} +1 -1
- package/.output/public/_nuxt/B5l6QVGz.js +1 -0
- package/.output/public/_nuxt/{BD07a6OS.js → B6BF2w8r.js} +3 -3
- package/.output/public/_nuxt/{rY0W1r76.js → B6m5ExpJ.js} +2 -2
- package/.output/public/_nuxt/{iTZxBLAr.js → B91qlTSF.js} +3 -3
- package/.output/public/_nuxt/B9sXHKws.js +1 -0
- package/.output/public/_nuxt/{eB60bVen.js → BAh-k-y8.js} +1 -1
- package/.output/public/_nuxt/{wSCSxjgr.js → BDQ6hxO7.js} +1 -1
- package/.output/public/_nuxt/{DEmzTuCa.js → BGytjslk.js} +1 -1
- package/.output/public/_nuxt/{CZQeFnOf.js → BIoHE1oQ.js} +1 -1
- package/.output/public/_nuxt/{BHcVB9Fo.js → BNXyokAF.js} +1 -1
- package/.output/public/_nuxt/{Irw5CrIe.js → BNxg8OvE.js} +1 -1
- package/.output/public/_nuxt/{C1wI_STa.js → BPBLcBHM.js} +2 -2
- package/.output/public/_nuxt/{BGV4_re9.js → BQeDYnyj.js} +1 -1
- package/.output/public/_nuxt/{pJF5jz72.js → BUfJTKJk.js} +1 -1
- package/.output/public/_nuxt/{B27NM422.js → BVJkcOi4.js} +1 -1
- package/.output/public/_nuxt/{B8fLdQfp.js → BVNZYpXH.js} +1 -1
- package/.output/public/_nuxt/{Dc_VwXJs.js → BZ3u3Znq.js} +1 -1
- package/.output/public/_nuxt/{CjkXqgrT.js → B_V_KZmg.js} +1 -1
- package/.output/public/_nuxt/{DB0uzc_1.js → BaTcZylh.js} +1 -1
- package/.output/public/_nuxt/{zvDhkxQS.js → BbdFZa4U.js} +1 -1
- package/.output/public/_nuxt/{DmHn_Ae8.js → BeAxkmtt.js} +1 -1
- package/.output/public/_nuxt/{CruI_TS3.js → BfiU8B4M.js} +1 -1
- package/.output/public/_nuxt/{DuH9QzIG.js → BhOf69HZ.js} +1 -1
- package/.output/public/_nuxt/{lfg-J79K.js → BlKgmZLh.js} +1 -1
- package/.output/public/_nuxt/{Cfce_cVw.js → BlplwzgB.js} +1 -1
- package/.output/public/_nuxt/{D5IKvGig.js → BnmZcuhY.js} +1 -1
- package/.output/public/_nuxt/{DfAWgXhg.js → BpExBTyC.js} +1 -1
- package/.output/public/_nuxt/{DIMnGgEU.js → BuURpKT4.js} +1 -1
- package/.output/public/_nuxt/{B5oEzB-M.js → Bvqgc_wA.js} +1 -1
- package/.output/public/_nuxt/{Dfi2mj_-.js → C0FuVjdX.js} +1 -1
- package/.output/public/_nuxt/{QNqSZCYh.js → C1RFLzd_.js} +1 -1
- package/.output/public/_nuxt/{DMCE1Up6.js → C4MrxKnP.js} +1 -1
- package/.output/public/_nuxt/{D5AjrkGO.js → C4ui9LWq.js} +1 -1
- package/.output/public/_nuxt/{iVfmia7K.js → C7RIYfkH.js} +1 -1
- package/.output/public/_nuxt/{D4wS6gzr.js → C7hn68Tp.js} +1 -1
- package/.output/public/_nuxt/{BHAaeL5L.js → C8gC5cUj.js} +1 -1
- package/.output/public/_nuxt/{CBJQYyqD.js → CAJH0xMY.js} +1 -1
- package/.output/public/_nuxt/{Bk_mzzQ3.js → CBpuaar1.js} +1 -1
- package/.output/public/_nuxt/{m9zGH_2s.js → CDP4J5em.js} +1 -1
- package/.output/public/_nuxt/{NNQizITf.js → CGTQGJ_c.js} +1 -1
- package/.output/public/_nuxt/{Ehiy7Wkv.js → CHd8mdNy.js} +1 -1
- package/.output/public/_nuxt/{BtVAOj3K.js → CHn6tbtE.js} +1 -1
- package/.output/public/_nuxt/{B1ea1Zc2.js → CKfAI3Hb.js} +1 -1
- package/.output/public/_nuxt/{CbLvLXmb.js → CLm_rHHY.js} +1 -1
- package/.output/public/_nuxt/{DFPu4h4a.js → CLzxl_Kg.js} +1 -1
- package/.output/public/_nuxt/{C3dJrgZH.js → CNVj60PG.js} +1 -1
- package/.output/public/_nuxt/{VRRYjCaC.js → CNi_mvQS.js} +1 -1
- package/.output/public/_nuxt/{46eRQaVv.js → COMJZX17.js} +1 -1
- package/.output/public/_nuxt/{Brmj91Ns.js → CQcJNYmv.js} +1 -1
- package/.output/public/_nuxt/{BMTKvzsm.js → CT8T1FW9.js} +1 -1
- package/.output/public/_nuxt/{B02JOKtW.js → CTJDAjdO.js} +1 -1
- package/.output/public/_nuxt/{w3RSHXA6.js → CTXxmwx3.js} +1 -1
- package/.output/public/_nuxt/{CIMG8oEU.js → CV92g0qz.js} +1 -1
- package/.output/public/_nuxt/{DEBOaUgW.js → CVwzer_Y.js} +1 -1
- package/.output/public/_nuxt/{6k0gxaWW.js → CXRkSVkD.js} +1 -1
- package/.output/public/_nuxt/{C7Wu2u5C.js → CamCmKfq.js} +1 -1
- package/.output/public/_nuxt/{DM9s28TO.js → CaohnGAD.js} +1 -1
- package/.output/public/_nuxt/{BqyI8nU4.js → Cg8k3_b4.js} +1 -1
- package/.output/public/_nuxt/{rVZcJ6Pz.js → CiQJYbKL.js} +1 -1
- package/.output/public/_nuxt/{Co86ycpI.js → Cjj-eCEV.js} +1 -1
- package/.output/public/_nuxt/{B3TXSB_R.js → CkfP4uja.js} +1 -1
- package/.output/public/_nuxt/{81-iumfM.js → CoUQ3qpL.js} +1 -1
- package/.output/public/_nuxt/{CPb6IrVT.js → CopZwjN8.js} +1 -1
- package/.output/public/_nuxt/{FGRiZ9J1.js → Cpyrc9BG.js} +1 -1
- package/.output/public/_nuxt/{6DKJrPTD.js → CtLfbSRS.js} +1 -1
- package/.output/public/_nuxt/{CVTUqEcr.js → CtyKXJ-J.js} +1 -1
- package/.output/public/_nuxt/{By5L5Smf.js → CvaD7s2l.js} +1 -1
- package/.output/public/_nuxt/{QmdcFt0E.js → Cw2TcJMF.js} +1 -1
- package/.output/public/_nuxt/{ByXbV9Xa.js → Cwel2ykQ.js} +1 -1
- package/.output/public/_nuxt/{CLmiWiqr.js → CyZlzytZ.js} +1 -1
- package/.output/public/_nuxt/{DXAD_aZW.js → Cygjd4rF.js} +1 -1
- package/.output/public/_nuxt/{DoSrePUc.js → CzxGRepV.js} +1 -1
- package/.output/public/_nuxt/{Dkpxacka.js → D0fJg-Y2.js} +1 -1
- package/.output/public/_nuxt/{BW-7wimi.js → D12yGpMq.js} +1 -1
- package/.output/public/_nuxt/{uCsI7fpg.js → D7Bxfxio.js} +1 -1
- package/.output/public/_nuxt/{D_1GDAlv.js → DEl5RR7R.js} +1 -1
- package/.output/public/_nuxt/{3hFj0Mf_.js → DFVXHy0C.js} +1 -1
- package/.output/public/_nuxt/{7msxmF5v.js → DFW8HOVB.js} +1 -1
- package/.output/public/_nuxt/{CD6r4z4e.js → DH2yWNbZ.js} +1 -1
- package/.output/public/_nuxt/{AMPsjNHJ.js → DIDjR8Ry.js} +1 -1
- package/.output/public/_nuxt/{B8na0pik.js → DKHJBr2m.js} +1 -1
- package/.output/public/_nuxt/{CDKJK4wW.js → DKd2_wBj.js} +1 -1
- package/.output/public/_nuxt/{CD_jDSWh.js → DKrd1pCW.js} +1 -1
- package/.output/public/_nuxt/{gTGPvkTX.js → DOcEwtqN.js} +1 -1
- package/.output/public/_nuxt/{B0_Iu2zi.js → DSQ9bpNJ.js} +1 -1
- package/.output/public/_nuxt/{BigIAhcT.js → DWG9jKCo.js} +1 -1
- package/.output/public/_nuxt/{Cj3gDP-y.js → DY78sr_b.js} +1 -1
- package/.output/public/_nuxt/{Cwdn7ZtG.js → DZQxxfue.js} +1 -1
- package/.output/public/_nuxt/{DN5cHXGS.js → DZpgj5sA.js} +1 -1
- package/.output/public/_nuxt/{CZ5B974o.js → Dc8vLBQN.js} +1 -1
- package/.output/public/_nuxt/{9vdFTPZC.js → DcT64MxD.js} +1 -1
- package/.output/public/_nuxt/{BwLYFg9w.js → DdmLHNRP.js} +1 -1
- package/.output/public/_nuxt/{Bn175bDC.js → Dg19_qAK.js} +1 -1
- package/.output/public/_nuxt/{BTImkTzA.js → DhIZvLeI.js} +1 -1
- package/.output/public/_nuxt/{DOTIy97K.js → DjaEQQhf.js} +1 -1
- package/.output/public/_nuxt/{CJLlvuDm.js → DkUMlRf8.js} +1 -1
- package/.output/public/_nuxt/{BTs0cu3F.js → DkjKiJOq.js} +1 -1
- package/.output/public/_nuxt/{CIDjuJ7I.js → DlR5hUi3.js} +1 -1
- package/.output/public/_nuxt/{P3qGksT8.js → DnfG5RzJ.js} +1 -1
- package/.output/public/_nuxt/{DOs_ozN6.js → DohhIeRk.js} +1 -1
- package/.output/public/_nuxt/{lA6pb86B.js → Dom1vIen.js} +1 -1
- package/.output/public/_nuxt/{BGa5KqPj.js → Ds97nj0P.js} +1 -1
- package/.output/public/_nuxt/{v-LIF5tR.js → DxT3YmAC.js} +1 -1
- package/.output/public/_nuxt/{UQIfAAmf.js → DxcN7Uv7.js} +1 -1
- package/.output/public/_nuxt/{qI8JV5dU.js → DxcbYcrE.js} +1 -1
- package/.output/public/_nuxt/{DfP6jcEM.js → DyVUuE07.js} +1 -1
- package/.output/public/_nuxt/{DoGLYOlq.js → Dz-vwDzE.js} +1 -1
- package/.output/public/_nuxt/{CrHLmWKE.js → EeCE4NvG.js} +1 -1
- package/.output/public/_nuxt/{BVkPh7-9.js → EnGykH_X.js} +1 -1
- package/.output/public/_nuxt/{By6urPVf.js → GJMyZaby.js} +1 -1
- package/.output/public/_nuxt/{mLs_Q7_U.js → I7OHJVxg.js} +1 -1
- package/.output/public/_nuxt/{bHsFNLQP.js → K0RZW9fp.js} +1 -1
- package/.output/public/_nuxt/{CSyssKl8.js → K1o4brLx.js} +1 -1
- package/.output/public/_nuxt/{CZvTOsiz.js → OKVQJ7yj.js} +1 -1
- package/.output/public/_nuxt/{3AgfIirx.js → Q3QJAuZ2.js} +1 -1
- package/.output/public/_nuxt/{D57E8FC4.js → Tirj2rC0.js} +1 -1
- package/.output/public/_nuxt/{BVcLiEDk.js → VcsszHDj.js} +1 -1
- package/.output/public/_nuxt/WG3LXN-9.js +1 -0
- package/.output/public/_nuxt/{CCmSsj4q.js → aUYaYlYl.js} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/7de5e0df-2e0a-435c-a2e3-fc2312beb6ad.json +1 -0
- package/.output/public/_nuxt/{swgNRlWy.js → cGEbEAGz.js} +1 -1
- package/.output/public/_nuxt/{BaHB7JKe.js → ds0WOZHj.js} +1 -1
- package/.output/public/_nuxt/{IIvTjJqa.js → e4zQkzJm.js} +1 -1
- package/.output/public/_nuxt/{D45gWhSU.js → eFu2sWbl.js} +1 -1
- package/.output/public/_nuxt/entry.B0qcqYYu.css +1 -0
- package/.output/public/_nuxt/{ChIzYvpz.js → ggWK6BEa.js} +1 -1
- package/.output/public/_nuxt/{pFPRVtL-.js → hkCaWCzP.js} +1 -1
- package/.output/public/_nuxt/{BW0bq0Nu.js → jF9FNyOl.js} +1 -1
- package/.output/public/_nuxt/{CjVBL0o-.js → jenjyHml.js} +1 -1
- package/.output/public/_nuxt/{CtNN2F57.js → kMwuhvCf.js} +1 -1
- package/.output/public/_nuxt/{1_nO5SO6.js → oWO88tvt.js} +1 -1
- package/.output/public/_nuxt/{d85YwuyC.js → olSL1K5t.js} +1 -1
- package/.output/public/_nuxt/{DwEfItxe.js → ptAR8AWT.js} +1 -1
- package/.output/public/_nuxt/{Dbv2gAYq.js → rTscsMvH.js} +1 -1
- package/.output/public/_nuxt/{Bxs6RCfp.js → xooRr3tW.js} +1 -1
- package/.output/public/_nuxt/{n5X4vNX9.js → zApTn6EM.js} +2 -2
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/{memories-BqA719O1.mjs → memories-DLa6uEfV.mjs} +2 -31
- package/.output/server/chunks/build/memories-DLa6uEfV.mjs.map +1 -0
- package/.output/server/chunks/build/server.mjs +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +944 -922
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/routes/{terminal.mjs → _ws/terminal.mjs} +39 -28
- package/.output/server/chunks/routes/_ws/terminal.mjs.map +1 -0
- package/.output/server/chunks/routes/api/memory/context.get.mjs +13 -9
- package/.output/server/chunks/routes/api/memory/context.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/memory/extract.post.mjs +4 -7
- package/.output/server/chunks/routes/api/memory/extract.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/memory/search.get.mjs +22 -25
- package/.output/server/chunks/routes/api/memory/search.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/memory/store.post.mjs +1 -3
- package/.output/server/chunks/routes/api/memory/store.post.mjs.map +1 -1
- package/.output/server/chunks/routes/notifications.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/Claude/skills/memory/memory.py +1 -7
- package/app/composables/useTerminal.ts +1 -1
- package/app/pages/memories.vue +0 -15
- package/dist/cli/index.js +1 -0
- package/package.json +1 -1
- package/server/api/memory/context.get.ts +19 -15
- package/server/api/memory/extract.post.ts +1 -2
- package/server/api/memory/search.get.ts +29 -34
- package/server/api/memory/store.post.ts +1 -2
- package/server/bridge/responder.ts +10 -5
- package/server/db/schema.ts +1 -2
- package/server/drizzle/migrations/0017_unusual_landau.sql +1 -0
- package/server/drizzle/migrations/meta/0017_snapshot.json +1965 -0
- package/server/drizzle/migrations/meta/_journal.json +7 -0
- package/server/routes/_ws/terminal.ts +111 -0
- package/server/services/memory-extractor.ts +3 -6
- package/server/utils/document-sync.ts +27 -20
- package/server/utils/pty-manager.ts +12 -3
- package/shared/types/index.ts +1 -4
- package/.output/public/_nuxt/BhtKu4xV.js +0 -1
- package/.output/public/_nuxt/CNB4wNeh.js +0 -1
- package/.output/public/_nuxt/CnB-ybCZ.js +0 -1
- package/.output/public/_nuxt/DAjV9Cip.js +0 -1
- package/.output/public/_nuxt/Suor9Vto.js +0 -1
- package/.output/public/_nuxt/builds/meta/d37c41da-8cec-4479-a3ac-3097aa4fb2e0.json +0 -1
- package/.output/public/_nuxt/entry.ZJxWCrU6.css +0 -1
- package/.output/server/chunks/build/memories-BqA719O1.mjs.map +0 -1
- package/.output/server/chunks/routes/terminal.mjs.map +0 -1
- package/server/routes/terminal.ts +0 -98
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nitro.mjs","sources":["../../../../node_modules/.pnpm/uncrypto@0.1.3/node_modules/uncrypto/dist/crypto.node.mjs","../../../../node_modules/.pnpm/crossws@0.3.5/node_modules/crossws/dist/shared/crossws.DfCzGthR.mjs","../../../../node_modules/.pnpm/crossws@0.3.5/node_modules/crossws/dist/shared/crossws.D9ehKjSh.mjs","../../../../node_modules/.pnpm/crossws@0.3.5/node_modules/crossws/dist/shared/crossws.By9qWDAI.mjs","../../../../node_modules/.pnpm/crossws@0.3.5/node_modules/crossws/dist/shared/crossws.CipVM6lf.mjs","../../../../node_modules/.pnpm/crossws@0.3.5/node_modules/crossws/dist/adapters/node.mjs","../../../../node_modules/.pnpm/destr@2.0.5/node_modules/destr/dist/index.mjs","../../../../node_modules/.pnpm/ufo@1.6.1/node_modules/ufo/dist/index.mjs","../../../../node_modules/.pnpm/cookie-es@1.2.2/node_modules/cookie-es/dist/index.mjs","../../../../node_modules/.pnpm/radix3@1.1.2/node_modules/radix3/dist/index.mjs","../../../../node_modules/.pnpm/defu@6.1.4/node_modules/defu/dist/defu.mjs","../../../../node_modules/.pnpm/node-mock-http@1.0.4/node_modules/node-mock-http/dist/index.mjs","../../../../node_modules/.pnpm/h3@1.15.4/node_modules/h3/dist/index.mjs","../../../../node_modules/.pnpm/hookable@5.5.3/node_modules/hookable/dist/index.mjs","../../../../node_modules/.pnpm/node-fetch-native@1.6.7/node_modules/node-fetch-native/dist/native.mjs","../../../../node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/shared/ofetch.CWycOUEr.mjs","../../../../node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs","../../../../node_modules/.pnpm/unstorage@1.17.3_db0@0.3.4_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8___ioredis@5.8.2/node_modules/unstorage/dist/shared/unstorage.zVDD2mZo.mjs","../../../../node_modules/.pnpm/unstorage@1.17.3_db0@0.3.4_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8___ioredis@5.8.2/node_modules/unstorage/dist/index.mjs","../../../../node_modules/.pnpm/unstorage@1.17.3_db0@0.3.4_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8___ioredis@5.8.2/node_modules/unstorage/drivers/utils/index.mjs","../../../../node_modules/.pnpm/unstorage@1.17.3_db0@0.3.4_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8___ioredis@5.8.2/node_modules/unstorage/drivers/utils/node-fs.mjs","../../../../node_modules/.pnpm/unstorage@1.17.3_db0@0.3.4_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8___ioredis@5.8.2/node_modules/unstorage/drivers/fs-lite.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/storage.mjs","../../../../node_modules/.pnpm/ohash@2.0.11/node_modules/ohash/dist/shared/ohash.D__AXeF1.mjs","../../../../node_modules/.pnpm/ohash@2.0.11/node_modules/ohash/dist/crypto/node/index.mjs","../../../../node_modules/.pnpm/ohash@2.0.11/node_modules/ohash/dist/index.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/hash.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/cache.mjs","../../../../node_modules/.pnpm/klona@2.0.6/node_modules/klona/dist/index.mjs","../../../../node_modules/.pnpm/@nuxt+nitro-server@4.2.2_db0@0.3.4_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8___d_a6b79d18884e342815abf8a85cd13f2d/node_modules/@nuxt/nitro-server/dist/runtime/utils/config.js","../../../../app/app.config.ts","../../../../node_modules/.pnpm/scule@1.3.0/node_modules/scule/dist/index.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/utils.env.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/config.mjs","../../../../node_modules/.pnpm/unctx@2.5.0/node_modules/unctx/dist/index.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/context.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/route-rules.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/utils.mjs","../../../../node_modules/.pnpm/@nuxt+nitro-server@4.2.2_db0@0.3.4_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8___d_a6b79d18884e342815abf8a85cd13f2d/node_modules/@nuxt/nitro-server/dist/runtime/utils/error.js","../../../../node_modules/.pnpm/@nuxt+nitro-server@4.2.2_db0@0.3.4_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8___d_a6b79d18884e342815abf8a85cd13f2d/node_modules/@nuxt/nitro-server/dist/runtime/handlers/error.js","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/error/utils.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/error/prod.mjs","../../../../node_modules/.pnpm/@nuxtjs+color-mode@3.5.2_magicast@0.5.1/node_modules/@nuxtjs/color-mode/dist/runtime/nitro-plugin.js","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/plugin.mjs","../../../../server/plugins/00.env-validate.ts","../../../../server/plugins/01.api-token.ts","../../../../server/db/schema.ts","../../../../server/utils/db-state.ts","../../../../server/db/index.ts","../../../../server/db/migrate.ts","../../../../server/utils/auth.ts","../../../../server/db/seed.ts","../../../../server/plugins/02.database.ts","../../../../server/utils/path-validator.ts","../../../../server/utils/frontmatter.ts","../../../../server/utils/document-sync.ts","../../../../server/plugins/03.file-watcher.ts","../../../../server/utils/agent-registry.ts","../../../../server/utils/notification-bus.ts","../../../../server/utils/notify-resource.ts","../../../../server/utils/log-token-usage.ts","../../../../server/services/agent-executor.ts","../../../../server/services/cron-scheduler.ts","../../../../server/utils/agent-cleanup.ts","../../../../server/plugins/04.cron-agents.ts","../../../../server/plugins/05.skills-catalog.ts","../../../../server/bridge/registry.ts","../../../../server/utils/crypto.ts","../../../../server/utils/get-secret.ts","../../../../server/utils/sdk-env.ts","../../../../server/bridge/responder.ts","../../../../server/bridge/router.ts","../../../../server/bridge/adapters/telegram.ts","../../../../server/bridge/adapters/discord.ts","../../../../server/bridge/adapters/imessage.ts","../../../../server/bridge/adapters/google.ts","../../../../server/bridge/adapters/email.ts","../../../../server/bridge/lifecycle.ts","../../../../server/plugins/06.message-bridge.ts","../../../../node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/static.mjs","../../../../server/middleware/auth.ts","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/renderer.mjs","../../../../node_modules/.pnpm/@nuxt+nitro-server@4.2.2_db0@0.3.4_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8___d_a6b79d18884e342815abf8a85cd13f2d/node_modules/@nuxt/nitro-server/dist/runtime/utils/paths.js","../../../../node_modules/.pnpm/ufo@1.6.3/node_modules/ufo/dist/index.mjs","../../../../shared/utils/formatting.ts","../../../../shared/utils/language-detection.ts","../../../../shared/utils/notification-defaults.ts","../../../../server/utils/chat-session-manager.ts","../../../../server/utils/db-guard.ts","../../../../server/utils/pty-manager.ts","../../../../server/utils/skills-path.ts","../../../../node_modules/.cache/nuxt/.nuxt/nuxt-icon-server-bundle.mjs","../../../../node_modules/.pnpm/@nuxt+icon@2.1.1_magicast@0.5.1_vite@7.3.0_@types+node@25.0.8_jiti@2.6.1_lightningcss@1_01287b657f4a2f684624a151274b0e62/node_modules/@nuxt/icon/dist/runtime/server/api.js","../../../../node_modules/.pnpm/@nuxtjs+mdc@0.20.0_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/highlighter/event-handler.js","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/app.mjs","../../../../node_modules/.pnpm/cookie-es@2.0.0/node_modules/cookie-es/dist/index.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/lib/http-graceful-shutdown.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/shutdown.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/presets/node/runtime/node-server.mjs"],"names":["isPlainObject","decode","JOIN_LEADING_SLASH_RE","withTrailingSlash","hasLeadingSlash","withLeadingSlash","joinURL","getQuery","isNonEmptyURL","parse","tryDecode","serialize","createRouter","f","h","c","i","l","createError","process","parse$1","mergeHeaders","s","nodeFetch","fetch","Headers","Headers$1","AbortController","AbortController$1","$fetch","normalizeKey","defineDriver","DRIVER_NAME","dirname","fsPromises","resolve","fsp","hash","_inlineAppConfig","createRadixRouter","join","schema.user","schema.session","schema.account","schema.verification","existsSync","createHash","basename","readFile","schema.documents","writeFile","readdir","watch","__publicField","EventEmitter","schema.tokenUsage","schema.cronAgentRuns","schema.cronAgents","schema.skillsCatalog","schema.conversations","randomUUID","schema.memoryChunks","schema.bridgeMessages","schema.conversationMessages","_a","_b","_c","_d","normalized","schema.bridges","session","pty","colonIdx","key","val","nitroApp","callNodeRequestHandler","fetchNodeRequestHandler","gracefulShutdown","HttpsServer","HttpServer","wsAdapter"],"mappings":"","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,31,32,33,34,35,36,37,38,39,40,41,42,43,79,80,82,83,84,92,93,94,95,96,97,98,99]}
|
|
1
|
+
{"version":3,"file":"nitro.mjs","sources":["../../../../node_modules/.pnpm/uncrypto@0.1.3/node_modules/uncrypto/dist/crypto.node.mjs","../../../../node_modules/.pnpm/crossws@0.3.5/node_modules/crossws/dist/shared/crossws.DfCzGthR.mjs","../../../../node_modules/.pnpm/crossws@0.3.5/node_modules/crossws/dist/shared/crossws.D9ehKjSh.mjs","../../../../node_modules/.pnpm/crossws@0.3.5/node_modules/crossws/dist/shared/crossws.By9qWDAI.mjs","../../../../node_modules/.pnpm/crossws@0.3.5/node_modules/crossws/dist/shared/crossws.CipVM6lf.mjs","../../../../node_modules/.pnpm/crossws@0.3.5/node_modules/crossws/dist/adapters/node.mjs","../../../../node_modules/.pnpm/destr@2.0.5/node_modules/destr/dist/index.mjs","../../../../node_modules/.pnpm/ufo@1.6.1/node_modules/ufo/dist/index.mjs","../../../../node_modules/.pnpm/cookie-es@1.2.2/node_modules/cookie-es/dist/index.mjs","../../../../node_modules/.pnpm/radix3@1.1.2/node_modules/radix3/dist/index.mjs","../../../../node_modules/.pnpm/defu@6.1.4/node_modules/defu/dist/defu.mjs","../../../../node_modules/.pnpm/node-mock-http@1.0.4/node_modules/node-mock-http/dist/index.mjs","../../../../node_modules/.pnpm/h3@1.15.4/node_modules/h3/dist/index.mjs","../../../../node_modules/.pnpm/hookable@5.5.3/node_modules/hookable/dist/index.mjs","../../../../node_modules/.pnpm/node-fetch-native@1.6.7/node_modules/node-fetch-native/dist/native.mjs","../../../../node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/shared/ofetch.CWycOUEr.mjs","../../../../node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs","../../../../node_modules/.pnpm/unstorage@1.17.3_db0@0.3.4_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8___ioredis@5.8.2/node_modules/unstorage/dist/shared/unstorage.zVDD2mZo.mjs","../../../../node_modules/.pnpm/unstorage@1.17.3_db0@0.3.4_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8___ioredis@5.8.2/node_modules/unstorage/dist/index.mjs","../../../../node_modules/.pnpm/unstorage@1.17.3_db0@0.3.4_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8___ioredis@5.8.2/node_modules/unstorage/drivers/utils/index.mjs","../../../../node_modules/.pnpm/unstorage@1.17.3_db0@0.3.4_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8___ioredis@5.8.2/node_modules/unstorage/drivers/utils/node-fs.mjs","../../../../node_modules/.pnpm/unstorage@1.17.3_db0@0.3.4_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8___ioredis@5.8.2/node_modules/unstorage/drivers/fs-lite.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/storage.mjs","../../../../node_modules/.pnpm/ohash@2.0.11/node_modules/ohash/dist/shared/ohash.D__AXeF1.mjs","../../../../node_modules/.pnpm/ohash@2.0.11/node_modules/ohash/dist/crypto/node/index.mjs","../../../../node_modules/.pnpm/ohash@2.0.11/node_modules/ohash/dist/index.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/hash.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/cache.mjs","../../../../node_modules/.pnpm/klona@2.0.6/node_modules/klona/dist/index.mjs","../../../../node_modules/.pnpm/@nuxt+nitro-server@4.2.2_db0@0.3.4_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8___d_a6b79d18884e342815abf8a85cd13f2d/node_modules/@nuxt/nitro-server/dist/runtime/utils/config.js","../../../../app/app.config.ts","../../../../node_modules/.pnpm/scule@1.3.0/node_modules/scule/dist/index.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/utils.env.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/config.mjs","../../../../node_modules/.pnpm/unctx@2.5.0/node_modules/unctx/dist/index.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/context.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/route-rules.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/utils.mjs","../../../../node_modules/.pnpm/@nuxt+nitro-server@4.2.2_db0@0.3.4_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8___d_a6b79d18884e342815abf8a85cd13f2d/node_modules/@nuxt/nitro-server/dist/runtime/utils/error.js","../../../../node_modules/.pnpm/@nuxt+nitro-server@4.2.2_db0@0.3.4_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8___d_a6b79d18884e342815abf8a85cd13f2d/node_modules/@nuxt/nitro-server/dist/runtime/handlers/error.js","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/error/utils.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/error/prod.mjs","../../../../node_modules/.pnpm/@nuxtjs+color-mode@3.5.2_magicast@0.5.1/node_modules/@nuxtjs/color-mode/dist/runtime/nitro-plugin.js","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/plugin.mjs","../../../../server/plugins/00.env-validate.ts","../../../../server/plugins/01.api-token.ts","../../../../server/db/schema.ts","../../../../server/utils/db-state.ts","../../../../server/db/index.ts","../../../../server/db/migrate.ts","../../../../server/utils/auth.ts","../../../../server/db/seed.ts","../../../../server/plugins/02.database.ts","../../../../server/utils/path-validator.ts","../../../../server/utils/frontmatter.ts","../../../../server/utils/document-sync.ts","../../../../server/plugins/03.file-watcher.ts","../../../../server/utils/agent-registry.ts","../../../../server/utils/notification-bus.ts","../../../../server/utils/notify-resource.ts","../../../../server/utils/log-token-usage.ts","../../../../server/services/agent-executor.ts","../../../../server/services/cron-scheduler.ts","../../../../server/utils/agent-cleanup.ts","../../../../server/plugins/04.cron-agents.ts","../../../../server/plugins/05.skills-catalog.ts","../../../../server/bridge/registry.ts","../../../../server/utils/crypto.ts","../../../../server/utils/get-secret.ts","../../../../server/utils/sdk-env.ts","../../../../server/bridge/responder.ts","../../../../server/bridge/router.ts","../../../../server/bridge/adapters/telegram.ts","../../../../server/bridge/adapters/discord.ts","../../../../server/bridge/adapters/imessage.ts","../../../../server/bridge/adapters/google.ts","../../../../server/bridge/adapters/email.ts","../../../../server/bridge/lifecycle.ts","../../../../server/plugins/06.message-bridge.ts","../../../../node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/static.mjs","../../../../server/middleware/auth.ts","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/renderer.mjs","../../../../node_modules/.pnpm/@nuxt+nitro-server@4.2.2_db0@0.3.4_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8___d_a6b79d18884e342815abf8a85cd13f2d/node_modules/@nuxt/nitro-server/dist/runtime/utils/paths.js","../../../../node_modules/.pnpm/ufo@1.6.3/node_modules/ufo/dist/index.mjs","../../../../shared/utils/formatting.ts","../../../../shared/utils/language-detection.ts","../../../../shared/utils/notification-defaults.ts","../../../../server/utils/chat-session-manager.ts","../../../../server/utils/db-guard.ts","../../../../server/utils/pty-manager.ts","../../../../server/utils/skills-path.ts","../../../../node_modules/.cache/nuxt/.nuxt/nuxt-icon-server-bundle.mjs","../../../../node_modules/.pnpm/@nuxt+icon@2.1.1_magicast@0.5.1_vite@7.3.0_@types+node@25.0.8_jiti@2.6.1_lightningcss@1_01287b657f4a2f684624a151274b0e62/node_modules/@nuxt/icon/dist/runtime/server/api.js","../../../../node_modules/.pnpm/@nuxtjs+mdc@0.20.0_magicast@0.5.1/node_modules/@nuxtjs/mdc/dist/runtime/highlighter/event-handler.js","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/app.mjs","../../../../node_modules/.pnpm/cookie-es@2.0.0/node_modules/cookie-es/dist/index.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/lib/http-graceful-shutdown.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/runtime/internal/shutdown.mjs","../../../../node_modules/.pnpm/nitropack@2.12.9_drizzle-orm@0.45.1_kysely@0.28.10_postgres@3.4.8_/node_modules/nitropack/dist/presets/node/runtime/node-server.mjs"],"names":["isPlainObject","decode","JOIN_LEADING_SLASH_RE","withTrailingSlash","hasLeadingSlash","withLeadingSlash","joinURL","getQuery","isNonEmptyURL","parse","tryDecode","serialize","createRouter","f","h","c","i","l","createError","process","parse$1","mergeHeaders","s","nodeFetch","fetch","Headers","Headers$1","AbortController","AbortController$1","$fetch","normalizeKey","defineDriver","DRIVER_NAME","dirname","fsPromises","resolve","fsp","hash","_inlineAppConfig","createRadixRouter","join","schema.user","schema.session","schema.account","schema.verification","existsSync","createHash","basename","readFile","schema.documents","writeFile","readdir","watch","__publicField","EventEmitter","schema.tokenUsage","schema.cronAgentRuns","schema.cronAgents","schema.skillsCatalog","schema.conversations","randomUUID","schema.bridgeMessages","schema.conversationMessages","_a","_b","_c","_d","normalized","schema.bridges","session","pty","colonIdx","key","val","nitroApp","callNodeRequestHandler","fetchNodeRequestHandler","gracefulShutdown","HttpsServer","HttpServer","wsAdapter"],"mappings":"","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,31,32,33,34,35,36,37,38,39,40,41,42,43,79,80,82,83,84,92,93,94,95,96,97,98,99]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a8 as defineWebSocketHandler,
|
|
1
|
+
import { a8 as defineWebSocketHandler, aa as resizePty, ab as writeToPty, k as auth, ac as getOrCreatePtySession, ad as getOutputBuffer, ae as getPtySession } from '../../nitro/nitro.mjs';
|
|
2
2
|
import '@anthropic-ai/claude-agent-sdk';
|
|
3
3
|
import 'module';
|
|
4
4
|
import 'path';
|
|
@@ -38,42 +38,55 @@ import 'node:url';
|
|
|
38
38
|
import '@iconify/utils';
|
|
39
39
|
import 'consola';
|
|
40
40
|
|
|
41
|
+
function send(peer, data) {
|
|
42
|
+
try {
|
|
43
|
+
peer.send(JSON.stringify(data));
|
|
44
|
+
} catch {
|
|
45
|
+
}
|
|
46
|
+
}
|
|
41
47
|
const terminal = defineWebSocketHandler({
|
|
42
|
-
open(peer) {
|
|
48
|
+
async open(peer) {
|
|
49
|
+
var _a;
|
|
50
|
+
const headers = (_a = peer.request) == null ? void 0 : _a.headers;
|
|
51
|
+
if (headers) {
|
|
52
|
+
try {
|
|
53
|
+
const session = await auth.api.getSession({ headers });
|
|
54
|
+
if (!session) {
|
|
55
|
+
send(peer, { type: "error", data: "Unauthorized\r\n" });
|
|
56
|
+
peer.close(1008, "Unauthorized");
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
} catch (e) {
|
|
60
|
+
console.error("[terminal] Auth check failed:", e);
|
|
61
|
+
send(peer, { type: "error", data: "Authentication failed\r\n" });
|
|
62
|
+
peer.close(1008, "Authentication failed");
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
43
66
|
const sessionId = "default";
|
|
44
67
|
const cols = 80;
|
|
45
68
|
const rows = 24;
|
|
46
|
-
console.log(`
|
|
69
|
+
console.log(`[terminal] WebSocket opened: ${peer.id}`);
|
|
47
70
|
try {
|
|
48
71
|
const { isNew } = getOrCreatePtySession(sessionId, cols, rows);
|
|
49
72
|
if (!isNew) {
|
|
50
73
|
const buffer = getOutputBuffer(sessionId);
|
|
51
74
|
if (buffer.length > 0) {
|
|
52
|
-
|
|
53
|
-
type: "output",
|
|
54
|
-
data: buffer.join("")
|
|
55
|
-
}));
|
|
75
|
+
send(peer, { type: "output", data: buffer.join("") });
|
|
56
76
|
}
|
|
57
77
|
}
|
|
58
78
|
const session = getPtySession(sessionId);
|
|
59
79
|
if (session) {
|
|
60
80
|
session.pty.onData((data) => {
|
|
61
|
-
|
|
62
|
-
peer.send(JSON.stringify({
|
|
63
|
-
type: "output",
|
|
64
|
-
data
|
|
65
|
-
}));
|
|
66
|
-
} catch {
|
|
67
|
-
}
|
|
81
|
+
send(peer, { type: "output", data });
|
|
68
82
|
});
|
|
69
83
|
}
|
|
70
84
|
} catch (error) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
`
|
|
76
|
-
}));
|
|
85
|
+
const msg = error instanceof Error ? error.message : "Unknown error";
|
|
86
|
+
const stack = error instanceof Error ? error.stack : "";
|
|
87
|
+
console.error("[terminal] Failed to create PTY session:", msg, stack);
|
|
88
|
+
send(peer, { type: "error", data: `Failed to start terminal: ${msg}\r
|
|
89
|
+
` });
|
|
77
90
|
}
|
|
78
91
|
},
|
|
79
92
|
message(peer, message) {
|
|
@@ -82,28 +95,26 @@ const terminal = defineWebSocketHandler({
|
|
|
82
95
|
const msg = JSON.parse(message.text());
|
|
83
96
|
switch (msg.type) {
|
|
84
97
|
case "input":
|
|
85
|
-
if (msg.data)
|
|
98
|
+
if (msg.data)
|
|
86
99
|
writeToPty(sessionId, msg.data);
|
|
87
|
-
}
|
|
88
100
|
break;
|
|
89
101
|
case "resize":
|
|
90
|
-
if (msg.cols && msg.rows)
|
|
102
|
+
if (msg.cols && msg.rows)
|
|
91
103
|
resizePty(sessionId, msg.cols, msg.rows);
|
|
92
|
-
}
|
|
93
104
|
break;
|
|
94
105
|
case "ping":
|
|
95
|
-
|
|
106
|
+
send(peer, { type: "pong" });
|
|
96
107
|
break;
|
|
97
108
|
}
|
|
98
109
|
} catch (e) {
|
|
99
|
-
console.error("
|
|
110
|
+
console.error("[terminal] Message error:", e);
|
|
100
111
|
}
|
|
101
112
|
},
|
|
102
113
|
close(peer) {
|
|
103
|
-
console.log(`
|
|
114
|
+
console.log(`[terminal] WebSocket closed: ${peer.id}`);
|
|
104
115
|
},
|
|
105
116
|
error(peer, error) {
|
|
106
|
-
console.error(`
|
|
117
|
+
console.error(`[terminal] WebSocket error for ${peer.id}:`, error);
|
|
107
118
|
}
|
|
108
119
|
});
|
|
109
120
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.mjs","sources":["../../../../../server/routes/_ws/terminal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb
|
|
2
|
-
import {
|
|
1
|
+
import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb } from '../../../nitro/nitro.mjs';
|
|
2
|
+
import { sql } from 'drizzle-orm';
|
|
3
3
|
import '@anthropic-ai/claude-agent-sdk';
|
|
4
4
|
import 'module';
|
|
5
5
|
import 'path';
|
|
@@ -44,13 +44,17 @@ const context_get = defineEventHandler(async (event) => {
|
|
|
44
44
|
const db = getDb();
|
|
45
45
|
const projectPath = query.project;
|
|
46
46
|
const limit = Math.min(parseInt(query.limit) || 5, 20);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
47
|
+
const projectFilter = projectPath ? sql`AND project_path = ${projectPath}` : sql``;
|
|
48
|
+
const memories = await db.execute(sql`
|
|
49
|
+
SELECT *,
|
|
50
|
+
(1.0 + LN(1 + access_count))
|
|
51
|
+
* (1.0 / (1.0 + EXTRACT(EPOCH FROM NOW() - COALESCE(last_accessed_at, created_at)) / 2592000))
|
|
52
|
+
AS score
|
|
53
|
+
FROM memory_chunks
|
|
54
|
+
WHERE 1=1 ${projectFilter}
|
|
55
|
+
ORDER BY score DESC
|
|
56
|
+
LIMIT ${limit}
|
|
57
|
+
`);
|
|
54
58
|
if (memories.length > 0) {
|
|
55
59
|
const ids = memories.map((m) => m.id);
|
|
56
60
|
await db.execute(sql`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.get.mjs","sources":["../../../../../../server/api/memory/context.get.ts"],"names":[
|
|
1
|
+
{"version":3,"file":"context.get.mjs","sources":["../../../../../../server/api/memory/context.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,oBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,SAAA,CAAA,CAAA;AAEA,EAAA,MAAA,KAAA,GAAA,SAAA,KAAA,CAAA;AACA,EAAA,MAAA,KAAA,KAAA,EAAA;AAEA,EAAA,MAAA,cAAA,KAAA,CAAA,OAAA;AACA,EAAA,MAAA,KAAA,GAAA,KAAA,GAAA,CAAA,QAAA,CAAA,MAAA,KAAA,CAAA,IAAA,GAAA,EAAA,CAAA;AAKA,EAAA,MAAA,aAAA,GAAA,WAAA,GACA,GAAA,CAAA,mBAAA,EAAA,WAAA,CAAA,CAAA,GACA,GAAA,CAAA,CAAA;AAEA,EAAA,MAAA,QAAA,GAAA,MAAA,EAAA,CAAA,OAAA,CAAA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAAA,EAMA,aAAA;AAAA;AAAA,UAAA,EAEA,KAAA;AAAA,EAAA,CACA,CAAA;AAGA,EAAA,IAAA,QAAA,CAAA,SAAA,CAAA,EAAA;AACA,IAAA,MAAA,GAAA,GAAA,QAAA,CAAA,GAAA,CAAA,CAAA,CAAA,KAAA,EAAA,EAAA,CAAA;AACA,IAAA,MAAA,GAAA,OAAA,CAAA,GAAA;AAAA;AAAA;AAAA;AAAA,qBAAA,EAIA,GAAA,CAAA;AAAA,IAAA,CACA,CAAA;AAAA,EACA;AAGA,EAAA,MAAA,SAAA,GAAA,iBAAA,QAAA,CAAA;AAEA,EAAA,MAAA,QAAA,GAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACA;AAEA,EAAA,OAAA,EAAA,MAAA,QAAA,EAAA;AACA,CAAA,CAAA;AAEA,SAAA,iBAAA,QAAA,EAAA;AACA,EAAA,IAAA,SAAA,MAAA,KAAA,CAAA;AACA,IAAA,OAAA,EAAA;AAEA,EAAA,MAAA,KAAA,GAAA,CAAA,CAAA,EAAA,QAAA,CAAA,MAAA,CAAA;AAAA,CAAA,CAAA;AAGA,EAAA,MAAA,MAAA,GAAA,QAAA,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,KAAA;AACA,IAAA,IAAA,CAAA,GAAA,CAAA,CAAA,CAAA,SAAA,CAAA;AACA,MAAA,GAAA,CAAA,CAAA,CAAA,SAAA,CAAA,GAAA,EAAA;AACA,IAAA,GAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AACA,IAAA,OAAA,GAAA;AAAA,EACA,CAAA,EAAA,EAAA,CAAA;AAEA,EAAA,MAAA,UAAA,GAAA;AAAA,IACA,QAAA,EAAA,WAAA;AAAA,IACA,IAAA,EAAA,WAAA;AAAA,IACA,QAAA,EAAA,WAAA;AAAA,IACA,OAAA,EAAA,UAAA;AAAA,IACA,UAAA,EAAA,aAAA;AAAA,IACA,OAAA,EAAA;AAAA,GACA;AAEA,EAAA,KAAA,MAAA,CAAA,IAAA,EAAA,KAAA,KAAA,MAAA,CAAA,OAAA,CAAA,MAAA,CAAA,EAAA;AACA,IAAA,MAAA,KAAA,GAAA,UAAA,CAAA,IAAA,CAAA,IAAA,IAAA;AACA,IAAA,KAAA,CAAA,IAAA,CAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACA,IAAA,KAAA,MAAA,IAAA,IAAA,KAAA;AACA,MAAA,KAAA,CAAA,IAAA,CAAA,CAAA,EAAA,EAAA,IAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AACA,IAAA,KAAA,CAAA,KAAA,EAAA,CAAA;AAAA,EACA;AAEA,EAAA,OAAA,KAAA,CAAA,KAAA,IAAA,CAAA;AACA;;;;"}
|
|
@@ -41,7 +41,7 @@ import 'consola';
|
|
|
41
41
|
const EXTRACTION_PROMPT = `You are a memory extraction assistant. Analyze this conversation excerpt and extract key memories worth preserving for future reference.
|
|
42
42
|
|
|
43
43
|
Output ONLY a JSON array with this exact structure (no markdown, no code blocks, no explanation):
|
|
44
|
-
[{"type": "decision|fact|solution|pattern|preference", "content": "concise statement"
|
|
44
|
+
[{"type": "decision|fact|solution|pattern|preference", "content": "concise statement"}]
|
|
45
45
|
|
|
46
46
|
Memory types:
|
|
47
47
|
- decision: Choices made about implementation, architecture, or approach
|
|
@@ -55,7 +55,6 @@ Rules:
|
|
|
55
55
|
- Skip routine acknowledgments ("I'll do that", "Sure", "Let me...")
|
|
56
56
|
- Skip obvious facts already in code, debugging steps, greetings
|
|
57
57
|
- Content max 100 characters
|
|
58
|
-
- relevance: 1.0 = highly important, 0.5 = moderately useful, 0.1 = minor detail
|
|
59
58
|
- If nothing worth extracting, return []
|
|
60
59
|
|
|
61
60
|
Conversation to analyze:
|
|
@@ -108,10 +107,9 @@ ${transcript.slice(0, 8e3)}`,
|
|
|
108
107
|
if (!jsonMatch)
|
|
109
108
|
return [];
|
|
110
109
|
const memories = JSON.parse(jsonMatch[0]);
|
|
111
|
-
return memories.filter((m) => isValidMemoryType(m.type) && m.content
|
|
110
|
+
return memories.filter((m) => isValidMemoryType(m.type) && m.content).map((m) => ({
|
|
112
111
|
type: m.type,
|
|
113
|
-
content: m.content.slice(0, 200)
|
|
114
|
-
relevance: Math.max(0, Math.min(1, m.relevance))
|
|
112
|
+
content: m.content.slice(0, 200)
|
|
115
113
|
}));
|
|
116
114
|
} catch (error) {
|
|
117
115
|
console.error("[memory-extractor] Failed to extract memories:", error);
|
|
@@ -162,8 +160,7 @@ const extract_post = defineEventHandler(async (event) => {
|
|
|
162
160
|
sessionId: body.sessionId,
|
|
163
161
|
projectPath: body.projectPath,
|
|
164
162
|
chunkType: m.type,
|
|
165
|
-
content: m.content
|
|
166
|
-
relevanceScore: m.relevance
|
|
163
|
+
content: m.content
|
|
167
164
|
}))).returning();
|
|
168
165
|
console.log(`[memory] Extracted and stored ${inserted.length} memories`);
|
|
169
166
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.post.mjs","sources":["../../../../../../server/services/memory-extractor.ts","../../../../../../server/api/memory/extract.post.ts"],"names":["schema.memoryChunks"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAM,iBAAA,GAAoB,CAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA
|
|
1
|
+
{"version":3,"file":"extract.post.mjs","sources":["../../../../../../server/services/memory-extractor.ts","../../../../../../server/api/memory/extract.post.ts"],"names":["schema.memoryChunks"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAM,iBAAA,GAAoB,CAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,CAAA;AAsB1B,eAAsB,gBAAgB,UAAA,EAAgD;AA1BtF,EAAA,IAAA,EAAA,EAAA,EAAA;AA2BE,EAAA,IAAI,CAAC,UAAA,IAAc,UAAA,CAAW,IAAA,GAAO,MAAA,GAAS,EAAA;AAC5C,IAAA,OAAO,EAAC;AAEV,EAAA,IAAI;AAGF,IAAA,MAAM,eAAe,KAAA,CAAM;AAAA,MACzB,MAAA,EAAQ,GAAG,iBAAiB;;AAAA,EAAO,UAAA,CAAW,KAAA,CAAM,CAAA,EAAG,GAAI,CAAC,CAAA,CAAA;AAAA,MAC5D,OAAA,EAAS;AAAA,QACP,QAAA,EAAU,CAAA;AAAA;AAAA,QACV,cAAA,EAAgB,mBAAA;AAAA,QAChB,+BAAA,EAAiC;AAAA;AACnC,KACD,CAAA;AAED,IAAA,IAAI,MAAA,GAAS,EAAA;AACb,IAAA,IAAI,OAAA,GAAU,CAAA;AACd,IAAA,IAAI,UAAA,GAAa,CAAA;AACjB,IAAA,IAAI,WAAA,GAAc,CAAA;AAClB,IAAA,IAAI,YAAA,GAAe,CAAA;AAGnB,IAAA,WAAA,MAAiB,WAAW,YAAA,EAAc;AACxC,MAAA,IAAI,OAAA,CAAQ,SAAS,QAAA,EAAU;AAC7B,QAAA,MAAM,GAAA,GAAM,OAAA;AAOZ,QAAA,IAAI,GAAA,CAAI,OAAA,KAAY,SAAA,IAAa,GAAA,CAAI,MAAA;AACnC,UAAA,MAAA,GAAS,GAAA,CAAI,MAAA;AAEf,QAAA,OAAA,GAAU,IAAI,cAAA,IAAkB,CAAA;AAChC,QAAA,UAAA,GAAa,IAAI,WAAA,IAAe,CAAA;AAChC,QAAA,WAAA,GAAA,CAAA,CAAc,EAAA,GAAA,GAAA,CAAI,KAAA,KAAJ,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAW,YAAA,KAAgB,CAAA;AACzC,QAAA,YAAA,GAAA,CAAA,CAAe,EAAA,GAAA,GAAA,CAAI,KAAA,KAAJ,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAW,aAAA,KAAiB,CAAA;AAAA,MAC7C;AAAA,IACF;AAGA,IAAA,IAAI,OAAA,GAAU,KAAK,WAAA,GAAc,CAAA;AAC/B,MAAA,aAAA,CAAc;AAAA,QACZ,MAAA,EAAQ,mBAAA;AAAA,QACR,UAAA,EAAY,mBAAA;AAAA,QACZ,WAAA;AAAA,QACA,YAAA;AAAA,QACA,OAAA;AAAA,QACA,UAAA;AAAA,QACA,QAAA,EAAU;AAAA,OACX,CAAA;AAEH,IAAA,IAAI,CAAC,MAAA;AACH,MAAA,OAAO,EAAC;AAGV,IAAA,MAAM,SAAA,GAAY,MAAA,CAAO,KAAA,CAAM,aAAa,CAAA;AAC5C,IAAA,IAAI,CAAC,SAAA;AACH,MAAA,OAAO,EAAC;AAEV,IAAA,MAAM,QAAA,GAAW,IAAA,CAAK,KAAA,CAAM,SAAA,CAAU,CAAC,CAAC,CAAA;AAKxC,IAAA,OAAO,QAAA,CACJ,MAAA,CAAO,CAAA,CAAA,KAAK,iBAAA,CAAkB,CAAA,CAAE,IAAI,CAAA,IAAK,CAAA,CAAE,OAAO,CAAA,CAClD,GAAA,CAAI,CAAA,CAAA,MAAM;AAAA,MACT,MAAM,CAAA,CAAE,IAAA;AAAA,MACR,OAAA,EAAS,CAAA,CAAE,OAAA,CAAQ,KAAA,CAAM,GAAG,GAAG;AAAA,KACjC,CAAE,CAAA;AAAA,EACN,SAAS,KAAA,EAAO;AACd,IAAA,OAAA,CAAQ,KAAA,CAAM,kDAAkD,KAAK,CAAA;AACrE,IAAA,OAAO,EAAC;AAAA,EACV;AACF;AAEA,SAAS,kBAAkB,IAAA,EAAuC;AAChE,EAAA,OAAO,CAAC,YAAY,MAAA,EAAQ,UAAA,EAAY,WAAW,YAAA,EAAc,SAAS,CAAA,CAAE,QAAA,CAAS,IAAI,CAAA;AAC3F;AAEA,eAAsB,kCAAkC,cAAA,EAAoD;AAC1G,EAAA,MAAM,EAAA,GAAK,MAAM,OAAO,kBAAkB,CAAA;AAE1C,EAAA,IAAI;AACF,IAAA,MAAM,OAAA,GAAU,MAAM,EAAA,CAAG,QAAA,CAAS,gBAAgB,OAAO,CAAA;AACzD,IAAA,MAAM,KAAA,GAAQ,OAAA,CAAQ,IAAA,EAAK,CAAE,MAAM,IAAI,CAAA;AAGvC,IAAA,MAAM,WAAqD,EAAC;AAC5D,IAAA,KAAA,MAAW,IAAA,IAAQ,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,CAAA,EAAG;AACnC,MAAA,IAAI;AACF,QAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,KAAA,CAAM,IAAI,CAAA;AAC7B,QAAA,IAAI,KAAA,CAAM,QAAQ,KAAA,CAAM,OAAA;AACtB,UAAA,QAAA,CAAS,IAAA,CAAK,EAAE,IAAA,EAAM,KAAA,CAAM,MAAM,OAAA,EAAS,KAAA,CAAM,SAAS,CAAA;AAAA,MAC9D,CAAA,CAAA,MAAQ;AAAA,MAER;AAAA,IACF;AAEA,IAAA,IAAI,SAAS,MAAA,KAAW,CAAA;AACtB,MAAA,OAAO,EAAC;AAGV,IAAA,MAAM,YAAY,QAAA,CACf,GAAA,CAAI,OAAK,CAAA,EAAG,CAAA,CAAE,KAAK,WAAA,EAAa,KAAK,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA,EAAG,GAAI,CAAC,CAAA,CAAE,CAAA,CAC/D,KAAK,MAAM,CAAA;AAEd,IAAA,OAAO,gBAAgB,SAAS,CAAA;AAAA,EAClC,SAAS,KAAA,EAAO;AACd,IAAA,OAAA,CAAQ,KAAA,CAAM,iDAAiD,KAAK,CAAA;AACpE,IAAA,OAAO,EAAC;AAAA,EACV;AACF;;ACxIA,qBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,SAAA,CAAA,CAAA;AAEA,EAAA,MAAA,IAAA,GAAA,MAAA,QAAA,CAAA,KAAA,CAAA;AACA,EAAA,MAAA,KAAA,KAAA,EAAA;AAEA,EAAA,IAAA,WAAA,EAAA;AAGA,EAAA,IAAA,IAAA,CAAA,cAAA;AACA,IAAA,QAAA,GAAA,MAAA,iCAAA,CAAA,IAAA,CAAA,cAAA,CAAA;AAAA,OAAA,IACA,IAAA,CAAA,UAAA;AACA,IAAA,QAAA,GAAA,MAAA,eAAA,CAAA,IAAA,CAAA,UAAA,CAAA;AAAA;AAEA,IAAA,MAAA,YAAA,EAAA,UAAA,EAAA,GAAA,EAAA,OAAA,EAAA,mDAAA,CAAA;AAEA,EAAA,IAAA,SAAA,MAAA,KAAA,CAAA;AACA,IAAA,OAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,8BAAA,EAAA;AAGA,EAAA,MAAA,QAAA,GAAA,MAAA,EAAA,CAAA,MAAA,CAAAA,YAAA,CAAA,CACA,MAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA;AAAA,IACA,WAAA,IAAA,CAAA,SAAA;AAAA,IACA,aAAA,IAAA,CAAA,WAAA;AAAA,IACA,WAAA,CAAA,CAAA,IAAA;AAAA,IACA,SAAA,CAAA,CAAA;AAAA,GACA,CAAA,CAAA,CAAA,CACA,SAAA,EAAA;AAEA,EAAA,OAAA,CAAA,GAAA,CAAA,CAAA,8BAAA,EAAA,QAAA,CAAA,MAAA,CAAA,SAAA,CAAA,CAAA;AAEA,EAAA,OAAA;AAAA,IACA,IAAA,EAAA,QAAA;AAAA,IACA,OAAA,EAAA,CAAA,UAAA,EAAA,QAAA,CAAA,MAAA,CAAA,SAAA;AAAA,GACA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb
|
|
2
|
-
import {
|
|
1
|
+
import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb } from '../../../nitro/nitro.mjs';
|
|
2
|
+
import { sql } from 'drizzle-orm';
|
|
3
3
|
import '@anthropic-ai/claude-agent-sdk';
|
|
4
4
|
import 'module';
|
|
5
5
|
import 'path';
|
|
@@ -45,33 +45,30 @@ const search_get = defineEventHandler(async (event) => {
|
|
|
45
45
|
const searchQuery = query.query;
|
|
46
46
|
const projectPath = query.projectPath;
|
|
47
47
|
const chunkType = query.chunkType;
|
|
48
|
-
const minRelevance = query.minRelevance ? parseFloat(query.minRelevance) : void 0;
|
|
49
48
|
const limit = Math.min(parseInt(query.limit) || 20, 100);
|
|
50
49
|
const conditions = [];
|
|
51
50
|
if (projectPath)
|
|
52
|
-
conditions.push(
|
|
51
|
+
conditions.push(sql`project_path = ${projectPath}`);
|
|
53
52
|
if (chunkType)
|
|
54
|
-
conditions.push(
|
|
55
|
-
if (
|
|
56
|
-
conditions.push(
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
desc(memoryChunks.createdAt)
|
|
74
|
-
).limit(limit);
|
|
53
|
+
conditions.push(sql`chunk_type = ${chunkType}`);
|
|
54
|
+
if (searchQuery)
|
|
55
|
+
conditions.push(sql`search_vector @@ plainto_tsquery('english', ${searchQuery})`);
|
|
56
|
+
const whereClause = conditions.length > 0 ? sql`WHERE ${sql.join(conditions, sql` AND `)}` : sql``;
|
|
57
|
+
const scoreExpr = searchQuery ? sql`
|
|
58
|
+
ts_rank(search_vector, plainto_tsquery('english', ${searchQuery}))
|
|
59
|
+
* (1.0 + LN(1 + access_count))
|
|
60
|
+
* (1.0 / (1.0 + EXTRACT(EPOCH FROM NOW() - COALESCE(last_accessed_at, created_at)) / 2592000))
|
|
61
|
+
` : sql`
|
|
62
|
+
(1.0 + LN(1 + access_count))
|
|
63
|
+
* (1.0 / (1.0 + EXTRACT(EPOCH FROM NOW() - COALESCE(last_accessed_at, created_at)) / 2592000))
|
|
64
|
+
`;
|
|
65
|
+
const memories = await db.execute(sql`
|
|
66
|
+
SELECT *, ${scoreExpr} AS score
|
|
67
|
+
FROM memory_chunks
|
|
68
|
+
${whereClause}
|
|
69
|
+
ORDER BY score DESC
|
|
70
|
+
LIMIT ${limit}
|
|
71
|
+
`);
|
|
75
72
|
if (memories.length > 0) {
|
|
76
73
|
try {
|
|
77
74
|
const ids = memories.map((m) => m.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.get.mjs","sources":["../../../../../../server/api/memory/search.get.ts"],"names":[
|
|
1
|
+
{"version":3,"file":"search.get.mjs","sources":["../../../../../../server/api/memory/search.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,mBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,SAAA,CAAA,CAAA;AAEA,EAAA,MAAA,KAAA,GAAA,SAAA,KAAA,CAAA;AACA,EAAA,MAAA,KAAA,KAAA,EAAA;AAEA,EAAA,MAAA,cAAA,KAAA,CAAA,KAAA;AACA,EAAA,MAAA,cAAA,KAAA,CAAA,WAAA;AACA,EAAA,MAAA,YAAA,KAAA,CAAA,SAAA;AACA,EAAA,MAAA,KAAA,GAAA,KAAA,GAAA,CAAA,QAAA,CAAA,MAAA,KAAA,CAAA,IAAA,IAAA,GAAA,CAAA;AAGA,EAAA,MAAA,aAAA,EAAA;AAEA,EAAA,IAAA,WAAA;AACA,IAAA,UAAA,CAAA,IAAA,CAAA,GAAA,CAAA,eAAA,EAAA,WAAA,CAAA,CAAA,CAAA;AAEA,EAAA,IAAA,SAAA;AACA,IAAA,UAAA,CAAA,IAAA,CAAA,GAAA,CAAA,aAAA,EAAA,SAAA,CAAA,CAAA,CAAA;AAEA,EAAA,IAAA,WAAA;AACA,IAAA,UAAA,CAAA,IAAA,CAAA,GAAA,CAAA,4CAAA,EAAA,WAAA,CAAA,CAAA,CAAA,CAAA;AAEA,EAAA,MAAA,WAAA,GAAA,UAAA,CAAA,MAAA,GAAA,CAAA,GACA,GAAA,CAAA,MAAA,EAAA,IAAA,IAAA,CAAA,UAAA,EAAA,GAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,GACA,GAAA,CAAA,CAAA;AAGA,EAAA,MAAA,YAAA,WAAA,GACA,GAAA;AAAA,0DAAA,EACA,WAAA,CAAA;AAAA;AAAA;AAAA,MAAA,CAAA,GAIA,GAAA;AAAA;AAAA;AAAA,MAAA,CAAA;AAKA,EAAA,MAAA,QAAA,GAAA,MAAA,EAAA,CAAA,OAAA,CAAA,GAAA;AAAA,cAAA,EACA,SAAA,CAAA;AAAA;AAAA,IAAA,EAEA,WAAA;AAAA;AAAA,UAAA,EAEA,KAAA;AAAA,EAAA,CACA,CAAA;AAGA,EAAA,IAAA,QAAA,CAAA,SAAA,CAAA,EAAA;AACA,IAAA,IAAA;AACA,MAAA,MAAA,GAAA,GAAA,QAAA,CAAA,GAAA,CAAA,CAAA,CAAA,KAAA,EAAA,EAAA,CAAA;AACA,MAAA,MAAA,GAAA,OAAA,CAAA,GAAA;AAAA;AAAA;AAAA;AAAA,6BAAA,EAIA,GAAA,CAAA,IAAA,CAAA,GAAA,CAAA,GAAA,CAAA,CAAA,EAAA,KAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AAAA,MAAA,CACA,CAAA;AAAA,IACA,SAAA,CAAA,EAAA;AAEA,MAAA,OAAA,CAAA,KAAA,CAAA,kDAAA,CAAA,CAAA;AAAA,IACA;AAAA,EACA;AAEA,EAAA,OAAA,EAAA,MAAA,QAAA,EAAA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -39,7 +39,6 @@ import '@iconify/utils';
|
|
|
39
39
|
import 'consola';
|
|
40
40
|
|
|
41
41
|
const store_post = defineEventHandler(async (event) => {
|
|
42
|
-
var _a;
|
|
43
42
|
requireDb();
|
|
44
43
|
const body = await readBody(event);
|
|
45
44
|
const db = getDb();
|
|
@@ -52,8 +51,7 @@ const store_post = defineEventHandler(async (event) => {
|
|
|
52
51
|
projectPath: body.projectPath,
|
|
53
52
|
chunkType: body.chunkType,
|
|
54
53
|
content: body.content,
|
|
55
|
-
sourceExcerpt: body.sourceExcerpt
|
|
56
|
-
relevanceScore: (_a = body.relevanceScore) != null ? _a : 1
|
|
54
|
+
sourceExcerpt: body.sourceExcerpt
|
|
57
55
|
}).returning();
|
|
58
56
|
console.log(`[memory] Stored memory: ${body.chunkType} - ${body.content.slice(0, 50)}...`);
|
|
59
57
|
notifyResourceChange({ resource: "memory", action: "create", resourceId: inserted.id, resourceName: body.chunkType });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.post.mjs","sources":["../../../../../../server/api/memory/store.post.ts"],"names":["schema.memoryChunks"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,mBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA
|
|
1
|
+
{"version":3,"file":"store.post.mjs","sources":["../../../../../../server/api/memory/store.post.ts"],"names":["schema.memoryChunks"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,mBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,SAAA,CAAA,CAAA;AAEA,EAAA,MAAA,IAAA,GAAA,MAAA,QAAA,CAAA,KAAA,CAAA;AACA,EAAA,MAAA,KAAA,KAAA,EAAA;AAEA,EAAA,IAAA,CAAA,IAAA,CAAA,OAAA;AACA,IAAA,MAAA,YAAA,EAAA,UAAA,EAAA,GAAA,EAAA,OAAA,EAAA,uBAAA,CAAA;AAEA,EAAA,IAAA,CAAA,IAAA,CAAA,SAAA;AACA,IAAA,MAAA,YAAA,EAAA,UAAA,EAAA,GAAA,EAAA,OAAA,EAAA,yBAAA,CAAA;AAEA,EAAA,MAAA,CAAA,QAAA,CAAA,GAAA,MAAA,GAAA,MAAA,CAAAA,YAAA,CAAA,CACA,MAAA,CAAA;AAAA,IACA,WAAA,IAAA,CAAA,SAAA;AAAA,IACA,aAAA,IAAA,CAAA,WAAA;AAAA,IACA,WAAA,IAAA,CAAA,SAAA;AAAA,IACA,SAAA,IAAA,CAAA,OAAA;AAAA,IACA,eAAA,IAAA,CAAA;AAAA,GACA,EACA,SAAA,EAAA;AAEA,EAAA,OAAA,CAAA,GAAA,CAAA,CAAA,wBAAA,EAAA,IAAA,CAAA,SAAA,CAAA,GAAA,EAAA,IAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAEA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,EAAA,YAAA,EAAA,IAAA,CAAA,SAAA,EAAA,CAAA;AAEA,EAAA,OAAA,EAAA,MAAA,QAAA,EAAA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -36,7 +36,6 @@ def format_memory(memory: dict) -> str:
|
|
|
36
36
|
chunk_type = memory.get('chunkType', 'fact')
|
|
37
37
|
icon = type_icons.get(chunk_type, '[?]')
|
|
38
38
|
content = memory.get('content', '')
|
|
39
|
-
relevance = memory.get('relevanceScore', 1.0)
|
|
40
39
|
|
|
41
40
|
# First line: icon and content
|
|
42
41
|
line1 = f"{icon} {content}"
|
|
@@ -47,8 +46,6 @@ def format_memory(memory: dict) -> str:
|
|
|
47
46
|
if memory.get('projectPath'):
|
|
48
47
|
parts.append(f"Project: {memory['projectPath']}")
|
|
49
48
|
|
|
50
|
-
parts.append(f"Relevance: {relevance:.2f}")
|
|
51
|
-
|
|
52
49
|
if memory.get('accessCount'):
|
|
53
50
|
parts.append(f"Accessed: {memory['accessCount']}x")
|
|
54
51
|
|
|
@@ -117,8 +114,7 @@ def cmd_store(args):
|
|
|
117
114
|
"""Store a new memory explicitly."""
|
|
118
115
|
data = {
|
|
119
116
|
'content': args.content,
|
|
120
|
-
'chunkType': args.type or 'fact'
|
|
121
|
-
'relevanceScore': args.relevance or 0.9
|
|
117
|
+
'chunkType': args.type or 'fact'
|
|
122
118
|
}
|
|
123
119
|
|
|
124
120
|
if args.project:
|
|
@@ -234,8 +230,6 @@ def main():
|
|
|
234
230
|
default='fact',
|
|
235
231
|
help='Memory type (default: fact)')
|
|
236
232
|
store_p.add_argument('--project', '-p', help='Associated project path')
|
|
237
|
-
store_p.add_argument('--relevance', '-r', type=float, default=0.9,
|
|
238
|
-
help='Relevance score 0-1 (default: 0.9)')
|
|
239
233
|
|
|
240
234
|
# Decisions
|
|
241
235
|
decisions_p = subparsers.add_parser('decisions', help='List decision memories')
|
|
@@ -17,7 +17,7 @@ export function useTerminal() {
|
|
|
17
17
|
|
|
18
18
|
function getWebSocketUrl(): string {
|
|
19
19
|
const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:'
|
|
20
|
-
return `${protocol}//${window.location.host}/terminal`
|
|
20
|
+
return `${protocol}//${window.location.host}/_ws/terminal`
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
function connect(term: Terminal) {
|
package/app/pages/memories.vue
CHANGED
|
@@ -102,7 +102,6 @@ function formatTime(date: Date | string): string {
|
|
|
102
102
|
const columns = [
|
|
103
103
|
{ accessorKey: 'chunkType', header: 'Type' },
|
|
104
104
|
{ accessorKey: 'content', header: 'Content' },
|
|
105
|
-
{ accessorKey: 'relevanceScore', header: 'Relevance' },
|
|
106
105
|
{ accessorKey: 'accessCount', header: 'Accessed' },
|
|
107
106
|
{ accessorKey: 'createdAt', header: 'Created' },
|
|
108
107
|
{ accessorKey: 'actions', header: '' }
|
|
@@ -225,20 +224,6 @@ onMounted(() => {
|
|
|
225
224
|
</span>
|
|
226
225
|
</template>
|
|
227
226
|
|
|
228
|
-
<template #relevanceScore-cell="{ row }">
|
|
229
|
-
<div class="flex items-center gap-2">
|
|
230
|
-
<div class="w-16 h-1.5 bg-neutral-200 dark:bg-neutral-700 rounded-full overflow-hidden">
|
|
231
|
-
<div
|
|
232
|
-
class="h-full bg-primary-500 rounded-full"
|
|
233
|
-
:style="{ width: `${row.original.relevanceScore * 100}%` }"
|
|
234
|
-
/>
|
|
235
|
-
</div>
|
|
236
|
-
<span class="text-xs text-muted">
|
|
237
|
-
{{ (row.original.relevanceScore * 100).toFixed(0) }}%
|
|
238
|
-
</span>
|
|
239
|
-
</div>
|
|
240
|
-
</template>
|
|
241
|
-
|
|
242
227
|
<template #accessCount-cell="{ row }">
|
|
243
228
|
<span class="text-sm text-muted">
|
|
244
229
|
{{ row.original.accessCount }}x
|
package/dist/cli/index.js
CHANGED
|
@@ -2934,6 +2934,7 @@ async function update() {
|
|
|
2934
2934
|
const envWithDotenv = { ...process.env, ...dotenv };
|
|
2935
2935
|
s.start("Installing dependencies");
|
|
2936
2936
|
execSync8("pnpm install", { cwd: installDir, stdio: "pipe" });
|
|
2937
|
+
execSync8("pnpm rebuild", { cwd: installDir, stdio: "pipe" });
|
|
2937
2938
|
s.stop("Dependencies installed");
|
|
2938
2939
|
s.start("Running database migrations");
|
|
2939
2940
|
execSync8("pnpm db:migrate", { cwd: installDir, stdio: "pipe", env: envWithDotenv });
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { getDb
|
|
1
|
+
import { sql } from 'drizzle-orm'
|
|
2
|
+
import { getDb } from '~~/server/db'
|
|
3
3
|
import { requireDb } from '~~/server/utils/db-guard'
|
|
4
4
|
import type { MemoryChunk, MemoryContextResponse } from '~~/shared/types'
|
|
5
5
|
|
|
@@ -12,19 +12,23 @@ export default defineEventHandler(async (event) => {
|
|
|
12
12
|
const projectPath = query.project as string | undefined
|
|
13
13
|
const limit = Math.min(parseInt(query.limit as string) || 5, 20)
|
|
14
14
|
|
|
15
|
-
//
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const memories = await
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
15
|
+
// Score memories by access frequency + recency (no static relevance)
|
|
16
|
+
// access boost: ln(1 + access_count) gives diminishing returns
|
|
17
|
+
// recency: 30-day half-life decay on last access or creation time
|
|
18
|
+
const projectFilter = projectPath
|
|
19
|
+
? sql`AND project_path = ${projectPath}`
|
|
20
|
+
: sql``
|
|
21
|
+
|
|
22
|
+
const memories = await db.execute<MemoryChunk>(sql`
|
|
23
|
+
SELECT *,
|
|
24
|
+
(1.0 + LN(1 + access_count))
|
|
25
|
+
* (1.0 / (1.0 + EXTRACT(EPOCH FROM NOW() - COALESCE(last_accessed_at, created_at)) / 2592000))
|
|
26
|
+
AS score
|
|
27
|
+
FROM memory_chunks
|
|
28
|
+
WHERE 1=1 ${projectFilter}
|
|
29
|
+
ORDER BY score DESC
|
|
30
|
+
LIMIT ${limit}
|
|
31
|
+
`)
|
|
28
32
|
|
|
29
33
|
// Update access count for retrieved memories
|
|
30
34
|
if (memories.length > 0) {
|