cognova 0.2.8 → 0.2.10
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/{CH_jROT9.js → 0NJ3PaRM.js} +1 -1
- package/.output/public/_nuxt/{C075hYlX.js → 0yk-pS3R.js} +2 -2
- package/.output/public/_nuxt/{CVYcsqmL.js → 10_wwHSz.js} +1 -1
- package/.output/public/_nuxt/{BUC36BHp.js → 1zUTf4AP.js} +1 -1
- package/.output/public/_nuxt/{njnzCNrH.js → 2dNDtTiv.js} +3 -3
- package/.output/public/_nuxt/{B8TQvzYX.js → 2nOqGUPr.js} +1 -1
- package/.output/public/_nuxt/{ijmD2cEW.js → 3jQMk_5H.js} +1 -1
- package/.output/public/_nuxt/{D4X6ONPF.js → 4K03TkGA.js} +1 -1
- package/.output/public/_nuxt/{C3tximD1.js → 6boMs_nF.js} +1 -1
- package/.output/public/_nuxt/{Drxf7nJz.js → 7oCGSglN.js} +1 -1
- package/.output/public/_nuxt/{Dt5mOzXj.js → 8q5NepGW.js} +1 -1
- package/.output/public/_nuxt/{GYf-vnR6.js → B93pdGAW.js} +1 -1
- package/.output/public/_nuxt/{BZBNJD7U.js → BA_pRWwX.js} +1 -1
- package/.output/public/_nuxt/{eE8TtXgC.js → BDyn4ApB.js} +3 -3
- package/.output/public/_nuxt/{0dqQoCHY.js → BGgwYWjH.js} +1 -1
- package/.output/public/_nuxt/{BrOKokPO.js → BH0QDWEm.js} +1 -1
- package/.output/public/_nuxt/{B5SnZL2l.js → BHtY0l0l.js} +1 -1
- package/.output/public/_nuxt/{ImPsUDiH.js → BIXrSYwR.js} +1 -1
- package/.output/public/_nuxt/BK8S2ony.js +1 -0
- package/.output/public/_nuxt/{Bkc1Hpcf.js → BKXg-alD.js} +1 -1
- package/.output/public/_nuxt/{BahXyh-A.js → BLnYhy_t.js} +1 -1
- package/.output/public/_nuxt/{Bhhg7oSf.js → BR8bKz8h.js} +1 -1
- package/.output/public/_nuxt/{D2kQkOaG.js → BS2ZNXI1.js} +1 -1
- package/.output/public/_nuxt/{BLm0UviR.js → BUghTae1.js} +1 -1
- package/.output/public/_nuxt/{D4_89MZm.js → BXuWCWsJ.js} +1 -1
- package/.output/public/_nuxt/{LQNRVThr.js → BYHCP8x7.js} +1 -1
- package/.output/public/_nuxt/{BYtVdUIW.js → BZrSPX0S.js} +1 -1
- package/.output/public/_nuxt/{U3f6dy8i.js → B_wilgcd.js} +1 -1
- package/.output/public/_nuxt/BaZwjF8o.js +1 -0
- package/.output/public/_nuxt/{BefOhWHD.js → Bciqk4dX.js} +1 -1
- package/.output/public/_nuxt/{CewcVxDS.js → Beom-INj.js} +1 -1
- package/.output/public/_nuxt/{BlsIfvSf.js → BfcLZ_fC.js} +1 -1
- package/.output/public/_nuxt/{dB7G4iIC.js → Bk6JUtIo.js} +1 -1
- package/.output/public/_nuxt/BkfI94R8.js +1 -0
- package/.output/public/_nuxt/{DqzomZoo.js → BmOtR1wX.js} +1 -1
- package/.output/public/_nuxt/{4XnyUc7C.js → BmVLxnDU.js} +1 -1
- package/.output/public/_nuxt/{DtJnWtpL.js → BtHQ1T0f.js} +1 -1
- package/.output/public/_nuxt/{DcbbfwCe.js → ByYh0uRg.js} +1 -1
- package/.output/public/_nuxt/{CbvNJVrk.js → C27WoGNZ.js} +1 -1
- package/.output/public/_nuxt/{CY7f553E.js → C2FxZbO_.js} +1 -1
- package/.output/public/_nuxt/{zO9MgHj2.js → C2vq6Te8.js} +1 -1
- package/.output/public/_nuxt/{BXtZVbmx.js → C39dQ88F.js} +1 -1
- package/.output/public/_nuxt/{DmDPSvxi.js → C3NST0BU.js} +1 -1
- package/.output/public/_nuxt/{nHSiDk8N.js → C4mwL7SE.js} +1 -1
- package/.output/public/_nuxt/{BBDxhFYY.js → C5R5QaCA.js} +1 -1
- package/.output/public/_nuxt/{D79lbuWG.js → C6qKcgOY.js} +1 -1
- package/.output/public/_nuxt/{C-HCArYP.js → C71_a1IX.js} +1 -1
- package/.output/public/_nuxt/{CSjOaBKu.js → C9WIgRRL.js} +1 -1
- package/.output/public/_nuxt/{DmOS3vFH.js → CBTkrk2M.js} +1 -1
- package/.output/public/_nuxt/CEnSeCqn.js +1 -0
- package/.output/public/_nuxt/{CAfyXyeo.js → CKxSHyww.js} +1 -1
- package/.output/public/_nuxt/{D4Cizi4y.js → CLfF6dSn.js} +1 -1
- package/.output/public/_nuxt/{C7qhmmZh.js → CPutXj8l.js} +1 -1
- package/.output/public/_nuxt/{BCCYopTB.js → CQqCBrXj.js} +1 -1
- package/.output/public/_nuxt/{D-Ge96eV.js → CSKJ-Ahh.js} +1 -1
- package/.output/public/_nuxt/{B2Xfh7am.js → CTCcEJU3.js} +1 -1
- package/.output/public/_nuxt/{BnJ-6YDw.js → CVFwOzbl.js} +1 -1
- package/.output/public/_nuxt/{C21BjagS.js → CVdCqaby.js} +1 -1
- package/.output/public/_nuxt/{2QHXgMyi.js → CVqlefTY.js} +1 -1
- package/.output/public/_nuxt/CWyMCJQH.js +1 -0
- package/.output/public/_nuxt/{B6-U3KqJ.js → CY-QVcA5.js} +2 -2
- package/.output/public/_nuxt/{Cr0NfhPB.js → CY-cjAwJ.js} +1 -1
- package/.output/public/_nuxt/{Bwn-CRYH.js → CYPO5o_C.js} +1 -1
- package/.output/public/_nuxt/{B-AlyT2D.js → CZRnNmU8.js} +1 -1
- package/.output/public/_nuxt/{DwIYtFfA.js → CZVzFlpI.js} +1 -1
- package/.output/public/_nuxt/{BkO884Ds.js → CZoEPC_Q.js} +3 -3
- package/.output/public/_nuxt/{BJUff9Ku.js → Cc-2ziaZ.js} +1 -1
- package/.output/public/_nuxt/{BLwctszt.js → ChcO9s3o.js} +1 -1
- package/.output/public/_nuxt/{DX_9SfFb.js → Cl-LOSDV.js} +1 -1
- package/.output/public/_nuxt/{CSHcfejh.js → CobqYwkp.js} +1 -1
- package/.output/public/_nuxt/{B0xuHXvN.js → CqNwHCpo.js} +1 -1
- package/.output/public/_nuxt/{DMb_1D81.js → CuxrHsu-.js} +1 -1
- package/.output/public/_nuxt/{GGcn5KPW.js → CwPdIZ9J.js} +1 -1
- package/.output/public/_nuxt/{D7pKT3IW.js → D0ifH682.js} +1 -1
- package/.output/public/_nuxt/{KEeoKtq_.js → D3AZaldL.js} +1 -1
- package/.output/public/_nuxt/{BdxP21ep.js → D4UJwDQJ.js} +1 -1
- package/.output/public/_nuxt/{C-Ygk9x5.js → D5jZq8b3.js} +1 -1
- package/.output/public/_nuxt/{B6G3NLfW.js → D5q8SnqE.js} +1 -1
- package/.output/public/_nuxt/{CDkyQ1eQ.js → D8M722pn.js} +1 -1
- package/.output/public/_nuxt/{BjnQ1pI1.js → D8lwrAYS.js} +1 -1
- package/.output/public/_nuxt/{C13FKhqK.js → D9nmzBAw.js} +1 -1
- package/.output/public/_nuxt/{ClGn48iq.js → DC4idAGt.js} +1 -1
- package/.output/public/_nuxt/{vES4kgx7.js → DEd2xVbS.js} +1 -1
- package/.output/public/_nuxt/{CClsKJ9A.js → DH4YkDAi.js} +1 -1
- package/.output/public/_nuxt/{D-5A6cMB.js → DJTCT0bl.js} +1 -1
- package/.output/public/_nuxt/{D_O7SlHm.js → DNP5E1bC.js} +1 -1
- package/.output/public/_nuxt/{BF3tVKtX.js → DO9SFIh1.js} +1 -1
- package/.output/public/_nuxt/DPklr_tJ.js +2 -0
- package/.output/public/_nuxt/{mfAEx0Kz.js → DQM4eBdt.js} +1 -1
- package/.output/public/_nuxt/{cPPThz84.js → DQh6I9z9.js} +1 -1
- package/.output/public/_nuxt/{CXTrUfQ5.js → DS2wStH1.js} +1 -1
- package/.output/public/_nuxt/{CYQP4zpi.js → DTAStixR.js} +1 -1
- package/.output/public/_nuxt/{CEz288t8.js → DTGenhcA.js} +1 -1
- package/.output/public/_nuxt/{B9zgEO8N.js → DUAAXJ6Q.js} +1 -1
- package/.output/public/_nuxt/{CzAZpALW.js → DUVzIl3o.js} +1 -1
- package/.output/public/_nuxt/{DJt7Rogf.js → DXdwpJ-I.js} +1 -1
- package/.output/public/_nuxt/{MWUW1sIF.js → DY3uK7wM.js} +1 -1
- package/.output/public/_nuxt/{CfY_bsV0.js → DYbZBZet.js} +1 -1
- package/.output/public/_nuxt/{DZEuR9ms.js → D_4LPm1U.js} +1 -1
- package/.output/public/_nuxt/{CrmE-JGu.js → Db4KMnt8.js} +1 -1
- package/.output/public/_nuxt/{BwC62XRN.js → DcJbYLTp.js} +1 -1
- package/.output/public/_nuxt/{C6sX7TYf.js → DfF81NlA.js} +1 -1
- package/.output/public/_nuxt/{BHn8tRjg.js → DhI5cA_n.js} +1 -1
- package/.output/public/_nuxt/{CQ3tAemj.js → DhuOKJda.js} +1 -1
- package/.output/public/_nuxt/{D887s9k9.js → Di-Nc75e.js} +1 -1
- package/.output/public/_nuxt/{D_obX2Hj.js → Djs0Tlpa.js} +1 -1
- package/.output/public/_nuxt/DmmdPt_5.js +1 -0
- package/.output/public/_nuxt/{DKKY8zWm.js → Dn5a-guE.js} +1 -1
- package/.output/public/_nuxt/{BvstjGHC.js → DtjjnHnt.js} +1 -1
- package/.output/public/_nuxt/{Dbfwn2zk.js → DuvzM-P1.js} +1 -1
- package/.output/public/_nuxt/{BxShcW0K.js → DwY7rCd_.js} +1 -1
- package/.output/public/_nuxt/{BmaHzvZM.js → Dya5oK8u.js} +1 -1
- package/.output/public/_nuxt/{CO3hceDE.js → DzA58_Lm.js} +1 -1
- package/.output/public/_nuxt/{CF33v_m5.js → DzGy77Vr.js} +1 -1
- package/.output/public/_nuxt/{DmlZSBjF.js → E3rXPwU8.js} +1 -1
- package/.output/public/_nuxt/{CEDw8osP.js → EgKnQnf-.js} +1 -1
- package/.output/public/_nuxt/{it8syoZI.js → GtEM7xVU.js} +1 -1
- package/.output/public/_nuxt/{DLUvsixu.js → H6JbrRBU.js} +1 -1
- package/.output/public/_nuxt/{BE1CVWts.js → ILEvizzp.js} +1 -1
- package/.output/public/_nuxt/{BSA-U0so.js → JX1oqJI9.js} +1 -1
- package/.output/public/_nuxt/{yJ9vRvHj.js → JbHa4oXq.js} +1 -1
- package/.output/public/_nuxt/{zXvvpsZj.js → Kw0zy3FG.js} +1 -1
- package/.output/public/_nuxt/{C6FFW_cO.js → N5XtbYVD.js} +1 -1
- package/.output/public/_nuxt/{D04CyXmf.js → PP_4ebzl.js} +1 -1
- package/.output/public/_nuxt/{6QDVg5TO.js → SrncdpaW.js} +1 -1
- package/.output/public/_nuxt/{36ZHqDPo.js → U1MWjQMi.js} +1 -1
- package/.output/public/_nuxt/{mT7Mt2d7.js → Um1vPiAz.js} +1 -1
- package/.output/public/_nuxt/{CqFcWBkW.js → XCjS70z4.js} +1 -1
- package/.output/public/_nuxt/{C24so3m7.js → YX8avsvq.js} +2 -2
- package/.output/public/_nuxt/{DaBSQDif.js → _cy8R3nk.js} +1 -1
- package/.output/public/_nuxt/{D9aYkNhQ.js → apYB9dr5.js} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/def74b99-d70c-4f30-aa29-70248cbeac7d.json +1 -0
- package/.output/public/_nuxt/entry.NKPfH2kE.css +1 -0
- package/.output/public/_nuxt/{BqTdsCnW.js → fbyIeNkc.js} +1 -1
- package/.output/public/_nuxt/{-2AbaFNH.js → g5MjDvm5.js} +1 -1
- package/.output/public/_nuxt/{C1tCdK-M.js → gTrVszwd.js} +1 -1
- package/.output/public/_nuxt/{BVEFmI4I.js → ixlNW2So.js} +1 -1
- package/.output/public/_nuxt/{DtyyytRx.js → nnQqD5pb.js} +1 -1
- package/.output/public/_nuxt/{pHCJ6lhw.js → rfGRTJJW.js} +1 -1
- package/.output/public/_nuxt/{Buf1PAiO.js → t8aDAkZ5.js} +1 -1
- package/.output/public/_nuxt/{BmdlymIW.js → vIOxcXKR.js} +1 -1
- package/.output/public/_nuxt/{Cve4psva.js → vScW1Zgm.js} +1 -1
- package/.output/public/_nuxt/{SfaNtyKS.js → wO6z2ugJ.js} +1 -1
- package/.output/public/_nuxt/{BhYoxmLV.js → x6FRJ5ac.js} +1 -1
- package/.output/public/_nuxt/{Pn7VD6uQ.js → zq-a1TeT.js} +1 -1
- package/.output/server/chunks/build/{chat-CZMiB68R.mjs → chat-CR3JIVEq.mjs} +65 -11
- package/.output/server/chunks/build/chat-CR3JIVEq.mjs.map +1 -0
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/server.mjs +3 -3
- package/.output/server/chunks/build/{settings-ByUXa46k.mjs → settings-B2KXoGcz.mjs} +213 -26
- package/.output/server/chunks/build/settings-B2KXoGcz.mjs.map +1 -0
- package/.output/server/chunks/build/styles.mjs +2 -2
- package/.output/server/chunks/build/{usage-CSrBh4Or.mjs → usage-BHdQZbfI.mjs} +9 -5
- package/.output/server/chunks/build/{usage-CSrBh4Or.mjs.map → usage-BHdQZbfI.mjs.map} +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +1161 -891
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/routes/_ws/chat.mjs +2 -1
- package/.output/server/chunks/routes/_ws/chat.mjs.map +1 -1
- package/.output/server/chunks/routes/api/conversations/_id_.delete.mjs +4 -1
- package/.output/server/chunks/routes/api/conversations/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get3.mjs +1 -1
- package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
- package/.output/server/chunks/routes/api/usage/stats.get.mjs +2 -0
- package/.output/server/chunks/routes/api/usage/stats.get.mjs.map +1 -1
- package/.output/server/package.json +1 -1
- package/app/components/chat/ConversationList.vue +7 -1
- package/app/components/chat/MessageBubble.vue +45 -1
- package/app/components/usage/UsageRecordsTable.vue +4 -2
- package/app/components/usage/UsageSourceDonut.client.vue +4 -2
- package/app/components/usage/UsageTopConsumers.vue +4 -2
- package/app/composables/useChat.ts +3 -0
- package/app/pages/settings.vue +148 -9
- package/package.json +1 -1
- package/server/api/conversations/[id].delete.ts +9 -0
- package/server/api/conversations/index.get.ts +2 -1
- package/server/api/usage/stats.get.ts +2 -0
- package/server/bridge/adapters/telegram.ts +83 -8
- package/server/bridge/responder.ts +248 -0
- package/server/bridge/router.ts +6 -4
- package/server/db/schema.ts +3 -1
- package/server/drizzle/migrations/0015_great_mephistopheles.sql +2 -0
- package/server/drizzle/migrations/meta/0015_snapshot.json +1972 -0
- package/server/drizzle/migrations/meta/_journal.json +7 -0
- package/server/routes/_ws/chat.ts +2 -1
- package/server/utils/log-token-usage.ts +1 -1
- package/shared/types/index.ts +6 -0
- package/.output/public/_nuxt/BIo-9u_O.js +0 -1
- package/.output/public/_nuxt/BMs0mHEp.js +0 -1
- package/.output/public/_nuxt/BwyXWqBY.js +0 -1
- package/.output/public/_nuxt/CE9_ECxx.js +0 -1
- package/.output/public/_nuxt/DmcMCO8x.js +0 -1
- package/.output/public/_nuxt/JReYPlwF.js +0 -2
- package/.output/public/_nuxt/builds/meta/410e449d-9fe8-43a0-ae07-80797693b9b8.json +0 -1
- package/.output/public/_nuxt/entry._7ZkP07A.css +0 -1
- package/.output/public/_nuxt/iBaivqi8.js +0 -1
- package/.output/server/chunks/build/chat-CZMiB68R.mjs.map +0 -1
- package/.output/server/chunks/build/settings-ByUXa46k.mjs.map +0 -1
|
@@ -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/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/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$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.bridgeMessages","_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,77,78,80,81,82,89,90,91,92,93,94,95,96]}
|
|
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/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/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,78,79,81,82,83,90,91,92,93,94,95,96,97]}
|
|
@@ -104,7 +104,8 @@ async function handleSend(peer, message, conversationId) {
|
|
|
104
104
|
await db.insert(conversationMessages).values({
|
|
105
105
|
conversationId: convId,
|
|
106
106
|
role: "user",
|
|
107
|
-
content: JSON.stringify([{ type: "text", text: message }])
|
|
107
|
+
content: JSON.stringify([{ type: "text", text: message }]),
|
|
108
|
+
source: "web"
|
|
108
109
|
});
|
|
109
110
|
const session = chatSessionManager.startSession(convId, message, resumeSessionId);
|
|
110
111
|
send(peer, { type: "chat:stream_start", conversationId: convId });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.mjs","sources":["../../../../../server/routes/_ws/chat.ts"],"names":["schema.conversations","schema.conversationMessages"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat.mjs","sources":["../../../../../server/routes/_ws/chat.ts"],"names":["schema.conversations","schema.conversationMessages"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as defineEventHandler, r as requireDb, g as getRouterParam, a as getDb, v as conversations, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
|
|
1
|
+
import { d as defineEventHandler, r as requireDb, g as getRouterParam, a as getDb, v as conversations, c as createError, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
|
|
2
2
|
import { eq } from 'drizzle-orm';
|
|
3
3
|
import '@anthropic-ai/claude-agent-sdk';
|
|
4
4
|
import 'module';
|
|
@@ -42,6 +42,9 @@ const _id__delete = defineEventHandler(async (event) => {
|
|
|
42
42
|
requireDb();
|
|
43
43
|
const id = getRouterParam(event, "id");
|
|
44
44
|
const db = getDb();
|
|
45
|
+
const [conv] = await db.select({ isMain: conversations.isMain }).from(conversations).where(eq(conversations.id, id)).limit(1);
|
|
46
|
+
if (conv == null ? void 0 : conv.isMain)
|
|
47
|
+
throw createError({ statusCode: 403, message: "Cannot delete Main Chat" });
|
|
45
48
|
await db.delete(conversations).where(eq(conversations.id, id));
|
|
46
49
|
notifyResourceChange({ resource: "conversation", action: "delete", resourceId: id });
|
|
47
50
|
return { data: { success: true } };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_id_.delete.mjs","sources":["../../../../../../server/api/conversations/[id].delete.ts"],"names":["schema.conversations"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,oBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,SAAA,CAAA,CAAA;AAEA,EAAA,MAAA,EAAA,GAAA,cAAA,CAAA,KAAA,EAAA,IAAA,CAAA;AACA,EAAA,MAAA,KAAA,KAAA,EAAA;AAEA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAAA,aAAA,CAAA,CACA,KAAA,CAAA,EAAA,CAAAA,aAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAEA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,QAAA,EAAA,UAAA,EAAA,IAAA,CAAA;AAEA,EAAA,OAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,MAAA,EAAA;AACA,CAAA,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"_id_.delete.mjs","sources":["../../../../../../server/api/conversations/[id].delete.ts"],"names":["schema.conversations"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,oBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,SAAA,CAAA,CAAA;AAEA,EAAA,MAAA,EAAA,GAAA,cAAA,CAAA,KAAA,EAAA,IAAA,CAAA;AACA,EAAA,MAAA,KAAA,KAAA,EAAA;AAGA,EAAA,MAAA,CAAA,IAAA,CAAA,GAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,MAAA,EAAA,CAAA,CACA,KAAAA,aAAA,CAAA,CACA,KAAA,CAAA,EAAA,CAAAA,aAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CACA,KAAA,CAAA,CAAA,CAAA;AAEA,EAAA,IAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,MAAA;AACA,IAAA,MAAA,YAAA,EAAA,UAAA,EAAA,GAAA,EAAA,OAAA,EAAA,2BAAA,CAAA;AAEA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAAA,aAAA,CAAA,CACA,KAAA,CAAA,EAAA,CAAAA,aAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAEA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,QAAA,EAAA,UAAA,EAAA,IAAA,CAAA;AAEA,EAAA,OAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,MAAA,EAAA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -41,7 +41,7 @@ import 'consola';
|
|
|
41
41
|
const index_get = defineEventHandler(async (event) => {
|
|
42
42
|
requireDb();
|
|
43
43
|
const db = getDb();
|
|
44
|
-
const conversations$1 = await db.select().from(conversations).orderBy(desc(conversations.startedAt)).limit(50);
|
|
44
|
+
const conversations$1 = await db.select().from(conversations).orderBy(desc(conversations.isMain), desc(conversations.startedAt)).limit(50);
|
|
45
45
|
return { data: conversations$1 };
|
|
46
46
|
});
|
|
47
47
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.get3.mjs","sources":["../../../../../server/api/conversations/index.get.ts"],"names":["conversations","schema.conversations"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,kBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,SAAA,CAAA,CAAA;AAEA,EAAA,MAAA,KAAA,KAAA,EAAA;
|
|
1
|
+
{"version":3,"file":"index.get3.mjs","sources":["../../../../../server/api/conversations/index.get.ts"],"names":["conversations","schema.conversations"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,kBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,SAAA,CAAA,CAAA;AAEA,EAAA,MAAA,KAAA,KAAA,EAAA;AAGA,EAAA,MAAAA,eAAA,GAAA,MAAA,EAAA,CAAA,MAAA,GACA,IAAA,CAAAC,aAAA,CAAA,CACA,OAAA,CAAA,IAAA,CAAAA,aAAA,CAAA,MAAA,GAAA,IAAA,CAAAA,cAAA,SAAA,CAAA,CAAA,CACA,KAAA,CAAA,EAAA,CAAA;AAEA,EAAA,OAAA,EAAA,MAAAD,eAAA,EAAA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -83,6 +83,7 @@ const stats_get = defineEventHandler(async (event) => {
|
|
|
83
83
|
chat: 0,
|
|
84
84
|
agent: 0,
|
|
85
85
|
memory: 0,
|
|
86
|
+
bridge: 0,
|
|
86
87
|
totalCost: 0,
|
|
87
88
|
inputTokens: 0,
|
|
88
89
|
outputTokens: 0,
|
|
@@ -95,6 +96,7 @@ const stats_get = defineEventHandler(async (event) => {
|
|
|
95
96
|
if (r.source === "chat") existing.chat += r.costUsd;
|
|
96
97
|
else if (r.source === "agent") existing.agent += r.costUsd;
|
|
97
98
|
else if (r.source === "memory_extraction") existing.memory += r.costUsd;
|
|
99
|
+
else if (r.source === "bridge") existing.bridge += r.costUsd;
|
|
98
100
|
bucketMap.set(bucket, existing);
|
|
99
101
|
const source = r.source;
|
|
100
102
|
const srcEntry = sourceMap.get(source) || { cost: 0, calls: 0, tokens: 0 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.get.mjs","sources":["../../../../../../server/api/usage/stats.get.ts"],"names":["schema.tokenUsage"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAAA,kBAAA,MAAA,EAAA;AACA,EAAA,MAAA,GAAA,uBAAA,IAAA,EAAA;AACA,EAAA,QAAA,MAAA;AAAA,IACA,KAAA,KAAA;AACA,MAAA,OAAA,IAAA,KAAA,GAAA,CAAA,OAAA,KAAA,EAAA,GAAA,EAAA,GAAA,KAAA,GAAA,CAAA;AAAA,IACA,KAAA,IAAA;AACA,MAAA,OAAA,IAAA,KAAA,GAAA,CAAA,OAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,CAAA;AAAA,IACA,KAAA,KAAA;AACA,MAAA,OAAA,IAAA,KAAA,GAAA,CAAA,OAAA,KAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,CAAA;AAAA;AAEA;AAMA,SAAA,YAAA,CAAA,IAAA,EAAA,WAAA,EAAA,UAAA,EAAA;AACA,EAAA,MAAA,QAAA,IAAA,IAAA,CAAA,IAAA,CAAA,OAAA,KAAA,UAAA,CAAA;AACA,EAAA,MAAA,GAAA,GAAA,MAAA,WAAA,EAAA;AACA,EAAA,IAAA,WAAA,KAAA,QAAA;AACA,IAAA,OAAA,GAAA,CAAA,KAAA,CAAA,CAAA,EAAA,EAAA,CAAA;AACA,EAAA,OAAA,GAAA,CAAA,KAAA,CAAA,CAAA,EAAA,EAAA,CAAA;AACA;AAEA,kBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,SAAA,CAAA,CAAA;AAEA,EAAA,MAAA,KAAA,GAAA,SAAA,KAAA,CAAA;AACA,EAAA,MAAA,MAAA,GAAA,MAAA,MAAA,IAAA,IAAA;AACA,EAAA,MAAA,WAAA,GAAA,KAAA,CAAA,WAAA,KAAA,QAAA,GAAA,QAAA,GAAA,OAAA;AACA,EAAA,MAAA,QAAA,GAAA,MAAA,CAAA,KAAA,CAAA,QAAA,CAAA,IAAA,CAAA;AACA,EAAA,MAAA,UAAA,GAAA,WAAA,EAAA,GAAA,GAAA;AACA,EAAA,MAAA,WAAA,GAAA,kBAAA,MAAA,CAAA;AAEA,EAAA,MAAA,KAAA,KAAA,EAAA;AAGA,EAAA,MAAA,OAAA,GAAA,MAAA,EAAA,CAAA,MAAA,GACA,IAAA,CAAAA,UAAA,CAAA,CACA,MAAA,GAAA,CAAAA,UAAA,CAAA,SAAA,EAAA,WAAA,CAAA,CAAA;AAGA,EAAA,IAAA,YAAA,GAAA,CAAA;AACA,EAAA,IAAA,gBAAA,GAAA,CAAA;AACA,EAAA,IAAA,iBAAA,GAAA,CAAA;AACA,EAAA,MAAA,aAAA,OAAA,CAAA,MAAA;AAGA,EAAA,MAAA,SAAA,uBAAA,GAAA,EAAA;AAGA,EAAA,MAAA,SAAA,uBAAA,GAAA,EAAA;AAGA,EAAA,MAAA,WAAA,uBAAA,GAAA,EAAA;AAEA,EAAA,KAAA,MAAA,KAAA,OAAA,EAAA;AACA,IAAA,YAAA,IAAA,CAAA,CAAA,OAAA;AACA,IAAA,gBAAA,IAAA,CAAA,CAAA,WAAA;AACA,IAAA,iBAAA,IAAA,CAAA,CAAA,YAAA;AAGA,IAAA,MAAA,MAAA,GAAA,YAAA,CAAA,CAAA,CAAA,SAAA,EAAA,aAAA,UAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,SAAA,CAAA,GAAA,CAAA,MAAA,CAAA,IAAA;AAAA,MACA,IAAA,EAAA,MAAA;AAAA,MACA,IAAA,EAAA,CAAA;AAAA,MACA,KAAA,EAAA,CAAA;AAAA,MACA,MAAA,EAAA,CAAA;AAAA,MACA,SAAA,EAAA,CAAA;AAAA,MACA,WAAA,EAAA,CAAA;AAAA,MACA,YAAA,EAAA,CAAA;AAAA,MACA,KAAA,EAAA;AAAA,KACA;AACA,IAAA,QAAA,CAAA,aAAA,CAAA,CAAA,OAAA;AACA,IAAA,QAAA,CAAA,eAAA,CAAA,CAAA,WAAA;AACA,IAAA,QAAA,CAAA,gBAAA,CAAA,CAAA,YAAA;AACA,IAAA,QAAA,CAAA,KAAA,EAAA;AACA,IAAA,IAAA,CAAA,CAAA,MAAA,KAAA,MAAA,EAAA,QAAA,CAAA,QAAA,CAAA,CAAA,OAAA;AAAA,SAAA,IACA,CAAA,CAAA,MAAA,KAAA,OAAA,EAAA,QAAA,CAAA,SAAA,CAAA,CAAA,OAAA;AAAA,SAAA,IACA,CAAA,CAAA,MAAA,KAAA,mBAAA,EAAA,QAAA,CAAA,UAAA,CAAA,CAAA,OAAA;AACA,IAAA,SAAA,CAAA,GAAA,CAAA,QAAA,QAAA,CAAA;AAGA,IAAA,MAAA,SAAA,CAAA,CAAA,MAAA;AACA,IAAA,MAAA,QAAA,GAAA,SAAA,CAAA,GAAA,CAAA,MAAA,CAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA;AACA,IAAA,QAAA,CAAA,QAAA,CAAA,CAAA,OAAA;AACA,IAAA,QAAA,CAAA,KAAA,EAAA;AACA,IAAA,QAAA,CAAA,MAAA,IAAA,CAAA,CAAA,WAAA,GAAA,CAAA,CAAA,YAAA;AACA,IAAA,SAAA,CAAA,GAAA,CAAA,QAAA,QAAA,CAAA;AAGA,IAAA,MAAA,cAAA,CAAA,EAAA,CAAA,CAAA,MAAA,CAAA,CAAA,EAAA,CAAA,CAAA,cAAA,SAAA,CAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,WAAA,CAAA,GAAA,CAAA,WAAA,CAAA,IAAA;AAAA,MACA,IAAA,EAAA,EAAA,UAAA,IAAA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,IAAA,EAAA,CAAA;AAAA,MACA,KAAA,EAAA,CAAA;AAAA,MACA,MAAA,EAAA;AAAA,KACA;AACA,IAAA,QAAA,CAAA,QAAA,CAAA,CAAA,OAAA;AACA,IAAA,QAAA,CAAA,KAAA,EAAA;AACA,IAAA,QAAA,CAAA,MAAA,IAAA,CAAA,CAAA,WAAA,GAAA,CAAA,CAAA,YAAA;AACA,IAAA,WAAA,CAAA,GAAA,CAAA,aAAA,QAAA,CAAA;AAAA,EACA;AAEA,EAAA,MAAA,aAAA,KAAA,CAAA,IAAA,CAAA,SAAA,CAAA,MAAA,EAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA,IAAA,CAAA,aAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA;AACA,EAAA,MAAA,WAAA,KAAA,CAAA,IAAA,CAAA,SAAA,CAAA,OAAA,EAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,QAAA,IAAA,CAAA,MAAA,EAAA,MAAA,EAAA,GAAA,MAAA,CAAA,CAAA;AACA,EAAA,MAAA,eAAA,KAAA,CAAA,IAAA,CAAA,YAAA,MAAA,EAAA,EACA,IAAA,CAAA,CAAA,CAAA,EAAA,CAAA,KAAA,EAAA,IAAA,GAAA,CAAA,CAAA,IAAA,CAAA,CACA,KAAA,CAAA,GAAA,EAAA,CAAA;AAEA,EAAA,MAAA,KAAA,GAAA;AAAA,IACA,YAAA;AAAA,IACA,gBAAA;AAAA,IACA,iBAAA;AAAA,IACA,UAAA;AAAA,IACA,cAAA,EAAA,UAAA,GAAA,CAAA,GAAA,YAAA,GAAA,UAAA,GAAA,CAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACA;AAEA,EAAA,OAAA,EAAA,MAAA,KAAA,EAAA;AACA,CAAA,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"stats.get.mjs","sources":["../../../../../../server/api/usage/stats.get.ts"],"names":["schema.tokenUsage"],"mappings":"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"}
|
|
@@ -55,10 +55,16 @@ function formatDate(date: Date | string) {
|
|
|
55
55
|
@click="emit('select', conv.id)"
|
|
56
56
|
>
|
|
57
57
|
<div class="flex items-start justify-between gap-2">
|
|
58
|
-
<div class="truncate text-sm font-medium">
|
|
58
|
+
<div class="flex items-center gap-1.5 truncate text-sm font-medium">
|
|
59
|
+
<UIcon
|
|
60
|
+
v-if="conv.isMain"
|
|
61
|
+
name="i-lucide-pin"
|
|
62
|
+
class="size-3.5 text-primary shrink-0"
|
|
63
|
+
/>
|
|
59
64
|
{{ conv.title || 'Untitled' }}
|
|
60
65
|
</div>
|
|
61
66
|
<UButton
|
|
67
|
+
v-if="!conv.isMain"
|
|
62
68
|
icon="i-lucide-trash-2"
|
|
63
69
|
variant="ghost"
|
|
64
70
|
color="error"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import type { ChatMessage, ChatContentBlock } from '~~/shared/types'
|
|
2
|
+
import type { ChatMessage, ChatContentBlock, MessageSource } from '~~/shared/types'
|
|
3
3
|
|
|
4
4
|
defineProps<{
|
|
5
5
|
message: ChatMessage
|
|
@@ -27,6 +27,34 @@ function getToolPairs(blocks: ChatContentBlock[]) {
|
|
|
27
27
|
}
|
|
28
28
|
return tools
|
|
29
29
|
}
|
|
30
|
+
|
|
31
|
+
const sourceIconMap: Record<string, string> = {
|
|
32
|
+
telegram: 'i-simple-icons-telegram',
|
|
33
|
+
discord: 'i-simple-icons-discord',
|
|
34
|
+
imessage: 'i-lucide-message-circle',
|
|
35
|
+
email: 'i-lucide-mail',
|
|
36
|
+
google: 'i-simple-icons-google'
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function getSourceIcon(source?: MessageSource): string | null {
|
|
40
|
+
if (!source || source === 'web') return null
|
|
41
|
+
return sourceIconMap[source] || null
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function formatTime(date: Date | string | undefined): string {
|
|
45
|
+
if (!date) return ''
|
|
46
|
+
const d = date instanceof Date ? date : new Date(date)
|
|
47
|
+
const now = new Date()
|
|
48
|
+
const diffMs = now.getTime() - d.getTime()
|
|
49
|
+
const diffMin = Math.floor(diffMs / 60000)
|
|
50
|
+
const diffHr = Math.floor(diffMs / 3600000)
|
|
51
|
+
|
|
52
|
+
if (diffMin < 1) return 'just now'
|
|
53
|
+
if (diffMin < 60) return `${diffMin}m ago`
|
|
54
|
+
if (diffHr < 24) return `${diffHr}h ago`
|
|
55
|
+
|
|
56
|
+
return d.toLocaleDateString(undefined, { month: 'short', day: 'numeric', hour: 'numeric', minute: '2-digit' })
|
|
57
|
+
}
|
|
30
58
|
</script>
|
|
31
59
|
|
|
32
60
|
<template>
|
|
@@ -34,6 +62,13 @@ function getToolPairs(blocks: ChatContentBlock[]) {
|
|
|
34
62
|
class="flex"
|
|
35
63
|
:class="message.role === 'user' ? 'justify-end' : 'justify-start'"
|
|
36
64
|
>
|
|
65
|
+
<!-- Platform icon for bridge user messages (left of bubble) -->
|
|
66
|
+
<UIcon
|
|
67
|
+
v-if="message.role === 'user' && getSourceIcon(message.source)"
|
|
68
|
+
:name="getSourceIcon(message.source)!"
|
|
69
|
+
class="size-4 text-dimmed self-end mb-1 mr-1.5 shrink-0"
|
|
70
|
+
/>
|
|
71
|
+
|
|
37
72
|
<div
|
|
38
73
|
class="max-w-[85%] rounded-xl px-4 py-3"
|
|
39
74
|
:class="message.role === 'user'
|
|
@@ -76,6 +111,15 @@ function getToolPairs(blocks: ChatContentBlock[]) {
|
|
|
76
111
|
<span v-if="message.durationMs">{{ (message.durationMs / 1000).toFixed(1) }}s</span>
|
|
77
112
|
</div>
|
|
78
113
|
</template>
|
|
114
|
+
|
|
115
|
+
<!-- Timestamp -->
|
|
116
|
+
<div
|
|
117
|
+
v-if="message.createdAt"
|
|
118
|
+
class="mt-1 text-xs text-dimmed"
|
|
119
|
+
:class="message.role === 'user' ? 'text-right' : ''"
|
|
120
|
+
>
|
|
121
|
+
{{ formatTime(message.createdAt) }}
|
|
122
|
+
</div>
|
|
79
123
|
</div>
|
|
80
124
|
</div>
|
|
81
125
|
</template>
|
|
@@ -10,13 +10,15 @@ const props = defineProps<{
|
|
|
10
10
|
const sourceLabels: Record<TokenUsageSource, string> = {
|
|
11
11
|
chat: 'Chat',
|
|
12
12
|
agent: 'Agent',
|
|
13
|
-
memory_extraction: 'Memory'
|
|
13
|
+
memory_extraction: 'Memory',
|
|
14
|
+
bridge: 'Bridge'
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
const sourceColors = {
|
|
17
18
|
chat: 'primary',
|
|
18
19
|
agent: 'warning',
|
|
19
|
-
memory_extraction: 'info'
|
|
20
|
+
memory_extraction: 'info',
|
|
21
|
+
bridge: 'success'
|
|
20
22
|
} as const
|
|
21
23
|
|
|
22
24
|
// Filter state
|
|
@@ -18,13 +18,15 @@ const props = defineProps<{
|
|
|
18
18
|
const sourceLabels: Record<TokenUsageSource, string> = {
|
|
19
19
|
chat: 'Chat',
|
|
20
20
|
agent: 'Agents',
|
|
21
|
-
memory_extraction: 'Memory'
|
|
21
|
+
memory_extraction: 'Memory',
|
|
22
|
+
bridge: 'Bridge'
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
const sourceColors: Record<TokenUsageSource, string> = {
|
|
25
26
|
chat: 'var(--ui-primary)',
|
|
26
27
|
agent: 'var(--ui-warning)',
|
|
27
|
-
memory_extraction: 'var(--ui-info)'
|
|
28
|
+
memory_extraction: 'var(--ui-info)',
|
|
29
|
+
bridge: 'var(--ui-success)'
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
const isTokens = computed(() => props.displayMode === 'tokens')
|
|
@@ -18,13 +18,15 @@ const props = defineProps<{
|
|
|
18
18
|
const sourceLabels: Record<TokenUsageSource, string> = {
|
|
19
19
|
chat: 'Chat',
|
|
20
20
|
agent: 'Agent',
|
|
21
|
-
memory_extraction: 'Memory'
|
|
21
|
+
memory_extraction: 'Memory',
|
|
22
|
+
bridge: 'Bridge'
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
const sourceColors = {
|
|
25
26
|
chat: 'primary',
|
|
26
27
|
agent: 'warning',
|
|
27
|
-
memory_extraction: 'info'
|
|
28
|
+
memory_extraction: 'info',
|
|
29
|
+
bridge: 'success'
|
|
28
30
|
} as const
|
|
29
31
|
|
|
30
32
|
const isTokens = computed(() => props.displayMode === 'tokens')
|
|
@@ -263,6 +263,9 @@ export function useChat() {
|
|
|
263
263
|
}
|
|
264
264
|
|
|
265
265
|
async function deleteConversation(conversationId: string) {
|
|
266
|
+
const conv = conversations.value.find(c => c.id === conversationId)
|
|
267
|
+
if (conv?.isMain) return
|
|
268
|
+
|
|
266
269
|
try {
|
|
267
270
|
await $fetch(`/api/conversations/${conversationId}`, { method: 'DELETE' })
|
|
268
271
|
conversations.value = conversations.value.filter(c => c.id !== conversationId)
|
package/app/pages/settings.vue
CHANGED
|
@@ -195,6 +195,50 @@ function formatDate(dateStr: string) {
|
|
|
195
195
|
})
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
+
// === App URL ===
|
|
199
|
+
const appUrl = ref('')
|
|
200
|
+
const appUrlSaving = ref(false)
|
|
201
|
+
|
|
202
|
+
async function loadAppUrl() {
|
|
203
|
+
try {
|
|
204
|
+
const { data } = await $fetch<{ data: { key: string, value: string } }>('/api/secrets/APP_URL')
|
|
205
|
+
appUrl.value = data.value || ''
|
|
206
|
+
} catch {
|
|
207
|
+
appUrl.value = ''
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
async function saveAppUrl() {
|
|
212
|
+
appUrlSaving.value = true
|
|
213
|
+
try {
|
|
214
|
+
if (appUrl.value) {
|
|
215
|
+
// Upsert the APP_URL secret
|
|
216
|
+
const exists = secretsData.value.some(s => s.key === 'APP_URL')
|
|
217
|
+
if (exists) {
|
|
218
|
+
await $fetch('/api/secrets/APP_URL', {
|
|
219
|
+
method: 'PUT',
|
|
220
|
+
body: { value: appUrl.value, description: 'Public URL for webhooks and auth callbacks' }
|
|
221
|
+
})
|
|
222
|
+
} else {
|
|
223
|
+
await $fetch('/api/secrets', {
|
|
224
|
+
method: 'POST',
|
|
225
|
+
body: { key: 'APP_URL', value: appUrl.value, description: 'Public URL for webhooks and auth callbacks' }
|
|
226
|
+
})
|
|
227
|
+
}
|
|
228
|
+
} else {
|
|
229
|
+
// Remove the secret if cleared
|
|
230
|
+
const exists = secretsData.value.some(s => s.key === 'APP_URL')
|
|
231
|
+
if (exists)
|
|
232
|
+
await $fetch('/api/secrets/APP_URL', { method: 'DELETE' })
|
|
233
|
+
}
|
|
234
|
+
toast.add({ title: 'Public URL saved', description: 'Restart running integrations for changes to take effect.', color: 'success' })
|
|
235
|
+
await fetchSecrets()
|
|
236
|
+
} catch {
|
|
237
|
+
toast.add({ title: 'Failed to save URL', color: 'error' })
|
|
238
|
+
}
|
|
239
|
+
appUrlSaving.value = false
|
|
240
|
+
}
|
|
241
|
+
|
|
198
242
|
// === Notification Preferences ===
|
|
199
243
|
const notifPrefs = ref<NotificationPreferences>({ ...defaultNotificationPreferences })
|
|
200
244
|
const notifLoading = ref(false)
|
|
@@ -328,12 +372,13 @@ const platformNamePlaceholders: Record<BridgePlatform, string> = {
|
|
|
328
372
|
email: 'Work Email'
|
|
329
373
|
}
|
|
330
374
|
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
375
|
+
// Secrets required to create a bridge (blocks creation if missing)
|
|
376
|
+
const platformRequiredSecrets: Record<BridgePlatform, string[]> = {
|
|
377
|
+
telegram: ['TELEGRAM_BOT_TOKEN'],
|
|
378
|
+
discord: ['DISCORD_BOT_TOKEN'],
|
|
379
|
+
imessage: [],
|
|
380
|
+
google: [],
|
|
381
|
+
email: []
|
|
337
382
|
}
|
|
338
383
|
|
|
339
384
|
const platformOptions: { value: BridgePlatform, label: string, icon: string }[] = [
|
|
@@ -344,6 +389,13 @@ const platformOptions: { value: BridgePlatform, label: string, icon: string }[]
|
|
|
344
389
|
{ value: 'email', label: 'Email (IMAP)', icon: 'i-lucide-at-sign' }
|
|
345
390
|
]
|
|
346
391
|
|
|
392
|
+
function getMissingSecrets(platform: BridgePlatform): string[] {
|
|
393
|
+
const required = platformRequiredSecrets[platform]
|
|
394
|
+
if (!required.length) return []
|
|
395
|
+
const existing = new Set(secretsData.value.map(s => s.key))
|
|
396
|
+
return required.filter(k => !existing.has(k))
|
|
397
|
+
}
|
|
398
|
+
|
|
347
399
|
const healthColors: Record<string, string> = {
|
|
348
400
|
connected: 'text-success',
|
|
349
401
|
disconnected: 'text-dimmed',
|
|
@@ -486,6 +538,15 @@ async function handleBridgeCreate() {
|
|
|
486
538
|
toast.add({ title: 'Name is required', color: 'error' })
|
|
487
539
|
return
|
|
488
540
|
}
|
|
541
|
+
const missing = getMissingSecrets(bridgeForm.platform)
|
|
542
|
+
if (missing.length) {
|
|
543
|
+
toast.add({
|
|
544
|
+
title: 'Missing required secrets',
|
|
545
|
+
description: `Add ${missing.join(', ')} in the Secrets tab first.`,
|
|
546
|
+
color: 'error'
|
|
547
|
+
})
|
|
548
|
+
return
|
|
549
|
+
}
|
|
489
550
|
bridgeSaving.value = true
|
|
490
551
|
try {
|
|
491
552
|
await $fetch('/api/bridges', {
|
|
@@ -532,11 +593,12 @@ async function handleDeleteBridge() {
|
|
|
532
593
|
}
|
|
533
594
|
}
|
|
534
595
|
|
|
535
|
-
// Load secrets + notification prefs + bridges when component mounts
|
|
596
|
+
// Load secrets + notification prefs + bridges + app url when component mounts
|
|
536
597
|
onMounted(() => {
|
|
537
598
|
fetchSecrets()
|
|
538
599
|
loadNotificationPrefs()
|
|
539
600
|
fetchBridges()
|
|
601
|
+
loadAppUrl()
|
|
540
602
|
})
|
|
541
603
|
|
|
542
604
|
// Form handlers
|
|
@@ -943,6 +1005,35 @@ async function handlePasswordSubmit() {
|
|
|
943
1005
|
<!-- App Tab -->
|
|
944
1006
|
<template #app>
|
|
945
1007
|
<div class="max-w-2xl mx-auto py-6">
|
|
1008
|
+
<!-- Public URL -->
|
|
1009
|
+
<div class="mb-8">
|
|
1010
|
+
<h3 class="text-lg font-semibold mb-1">
|
|
1011
|
+
Public URL
|
|
1012
|
+
</h3>
|
|
1013
|
+
<p class="text-sm text-dimmed mb-4">
|
|
1014
|
+
The publicly accessible URL for this instance. Used for Telegram webhooks, auth callbacks, and other integrations that need to reach your server.
|
|
1015
|
+
</p>
|
|
1016
|
+
<div class="flex gap-2">
|
|
1017
|
+
<UInput
|
|
1018
|
+
v-model="appUrl"
|
|
1019
|
+
placeholder="https://example.com"
|
|
1020
|
+
class="flex-1"
|
|
1021
|
+
/>
|
|
1022
|
+
<UButton
|
|
1023
|
+
:loading="appUrlSaving"
|
|
1024
|
+
@click="saveAppUrl"
|
|
1025
|
+
>
|
|
1026
|
+
Save
|
|
1027
|
+
</UButton>
|
|
1028
|
+
</div>
|
|
1029
|
+
<p class="text-xs text-dimmed mt-2">
|
|
1030
|
+
Leave empty to use long-polling for Telegram instead of webhooks. Changes require restarting running integrations.
|
|
1031
|
+
</p>
|
|
1032
|
+
</div>
|
|
1033
|
+
|
|
1034
|
+
<USeparator class="mb-8" />
|
|
1035
|
+
|
|
1036
|
+
<!-- Notification Preferences -->
|
|
946
1037
|
<div class="mb-6">
|
|
947
1038
|
<h3 class="text-lg font-semibold mb-1">
|
|
948
1039
|
Notification Preferences
|
|
@@ -1153,6 +1244,34 @@ async function handlePasswordSubmit() {
|
|
|
1153
1244
|
class="w-full"
|
|
1154
1245
|
/>
|
|
1155
1246
|
</UFormField>
|
|
1247
|
+
|
|
1248
|
+
<!-- Missing secrets warning -->
|
|
1249
|
+
<div
|
|
1250
|
+
v-if="getMissingSecrets(bridgeForm.platform).length"
|
|
1251
|
+
class="flex items-start gap-2 rounded-lg bg-error/10 border border-error/20 p-3 text-sm"
|
|
1252
|
+
>
|
|
1253
|
+
<UIcon
|
|
1254
|
+
name="i-lucide-alert-triangle"
|
|
1255
|
+
class="size-4 mt-0.5 text-error shrink-0"
|
|
1256
|
+
/>
|
|
1257
|
+
<div>
|
|
1258
|
+
<p class="font-medium text-error">
|
|
1259
|
+
Missing required secrets
|
|
1260
|
+
</p>
|
|
1261
|
+
<p class="text-dimmed mt-1">
|
|
1262
|
+
Add the following in Settings → Secrets before creating:
|
|
1263
|
+
</p>
|
|
1264
|
+
<ul class="mt-1 space-y-0.5">
|
|
1265
|
+
<li
|
|
1266
|
+
v-for="key in getMissingSecrets(bridgeForm.platform)"
|
|
1267
|
+
:key="key"
|
|
1268
|
+
>
|
|
1269
|
+
<code class="text-xs bg-elevated px-1.5 py-0.5 rounded">{{ key }}</code>
|
|
1270
|
+
</li>
|
|
1271
|
+
</ul>
|
|
1272
|
+
</div>
|
|
1273
|
+
</div>
|
|
1274
|
+
|
|
1156
1275
|
<UFormField
|
|
1157
1276
|
label="Name"
|
|
1158
1277
|
name="name"
|
|
@@ -1172,6 +1291,7 @@ async function handlePasswordSubmit() {
|
|
|
1172
1291
|
</UButton>
|
|
1173
1292
|
<UButton
|
|
1174
1293
|
:loading="bridgeSaving"
|
|
1294
|
+
:disabled="getMissingSecrets(bridgeForm.platform).length > 0"
|
|
1175
1295
|
@click="handleBridgeCreate"
|
|
1176
1296
|
>
|
|
1177
1297
|
Create
|
|
@@ -1229,7 +1349,7 @@ async function handlePasswordSubmit() {
|
|
|
1229
1349
|
<div class="space-y-4">
|
|
1230
1350
|
<!-- Secret hint -->
|
|
1231
1351
|
<div
|
|
1232
|
-
v-if="editingBridge &&
|
|
1352
|
+
v-if="editingBridge && platformRequiredSecrets[editingBridge.platform].length"
|
|
1233
1353
|
class="flex items-start gap-2 rounded-lg bg-elevated p-3 text-sm"
|
|
1234
1354
|
>
|
|
1235
1355
|
<UIcon
|
|
@@ -1237,7 +1357,14 @@ async function handlePasswordSubmit() {
|
|
|
1237
1357
|
class="size-4 mt-0.5 text-dimmed shrink-0"
|
|
1238
1358
|
/>
|
|
1239
1359
|
<span class="text-dimmed">
|
|
1240
|
-
Requires
|
|
1360
|
+
Requires
|
|
1361
|
+
<template
|
|
1362
|
+
v-for="(key, i) in platformRequiredSecrets[editingBridge.platform]"
|
|
1363
|
+
:key="key"
|
|
1364
|
+
>
|
|
1365
|
+
<code class="bg-elevated px-1 py-0.5 rounded text-xs">{{ key }}</code><template v-if="i < platformRequiredSecrets[editingBridge.platform].length - 1">, </template>
|
|
1366
|
+
</template>
|
|
1367
|
+
in the Secrets tab.
|
|
1241
1368
|
</span>
|
|
1242
1369
|
</div>
|
|
1243
1370
|
|
|
@@ -1329,6 +1456,18 @@ async function handlePasswordSubmit() {
|
|
|
1329
1456
|
class="w-full"
|
|
1330
1457
|
/>
|
|
1331
1458
|
</UFormField>
|
|
1459
|
+
<div
|
|
1460
|
+
v-if="bridgeConfigForm.strategy === 'bluebubbles' && !secretsData.some(s => s.key === 'BLUEBUBBLES_PASSWORD')"
|
|
1461
|
+
class="flex items-start gap-2 rounded-lg bg-error/10 border border-error/20 p-3 text-sm"
|
|
1462
|
+
>
|
|
1463
|
+
<UIcon
|
|
1464
|
+
name="i-lucide-alert-triangle"
|
|
1465
|
+
class="size-4 mt-0.5 text-error shrink-0"
|
|
1466
|
+
/>
|
|
1467
|
+
<span class="text-dimmed">
|
|
1468
|
+
BlueBubbles requires secret <code class="text-xs bg-elevated px-1.5 py-0.5 rounded">BLUEBUBBLES_PASSWORD</code> in the Secrets tab.
|
|
1469
|
+
</span>
|
|
1470
|
+
</div>
|
|
1332
1471
|
<UFormField
|
|
1333
1472
|
v-if="bridgeConfigForm.strategy === 'bluebubbles'"
|
|
1334
1473
|
label="BlueBubbles URL"
|
package/package.json
CHANGED
|
@@ -10,6 +10,15 @@ export default defineEventHandler(async (event) => {
|
|
|
10
10
|
const id = getRouterParam(event, 'id')!
|
|
11
11
|
const db = getDb()
|
|
12
12
|
|
|
13
|
+
// Prevent deletion of Main Chat
|
|
14
|
+
const [conv] = await db.select({ isMain: schema.conversations.isMain })
|
|
15
|
+
.from(schema.conversations)
|
|
16
|
+
.where(eq(schema.conversations.id, id))
|
|
17
|
+
.limit(1)
|
|
18
|
+
|
|
19
|
+
if (conv?.isMain)
|
|
20
|
+
throw createError({ statusCode: 403, message: 'Cannot delete Main Chat' })
|
|
21
|
+
|
|
13
22
|
await db.delete(schema.conversations)
|
|
14
23
|
.where(eq(schema.conversations.id, id))
|
|
15
24
|
|