mongoku 2.1.1 → 2.2.0
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/README.md +19 -11
- package/build/client/_app/immutable/chunks/{CEvYYWlm.js → BdCk1gVw.js} +1 -1
- package/build/client/_app/immutable/chunks/BdCk1gVw.js.br +0 -0
- package/build/client/_app/immutable/chunks/BdCk1gVw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Dx86XS0G.js → Bsz507MG.js} +1 -1
- package/build/client/_app/immutable/chunks/Bsz507MG.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bsz507MG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{4l_AWZos.js → C1XfxmRC.js} +1 -1
- package/build/client/_app/immutable/chunks/C1XfxmRC.js.br +0 -0
- package/build/client/_app/immutable/chunks/C1XfxmRC.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CKHNRODp.js +1 -0
- package/build/client/_app/immutable/chunks/CKHNRODp.js.br +0 -0
- package/build/client/_app/immutable/chunks/CKHNRODp.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{lkkUcQuO.js → CM2Lsplc.js} +10 -10
- package/build/client/_app/immutable/chunks/CM2Lsplc.js.br +0 -0
- package/build/client/_app/immutable/chunks/CM2Lsplc.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{D64wQeYi.js → CRt_PE0j.js} +1 -1
- package/build/client/_app/immutable/chunks/CRt_PE0j.js.br +0 -0
- package/build/client/_app/immutable/chunks/CRt_PE0j.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{nVJvgG3c.js → CnRtsGt8.js} +3 -3
- package/build/client/_app/immutable/chunks/CnRtsGt8.js.br +0 -0
- package/build/client/_app/immutable/chunks/CnRtsGt8.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BjzB4NFq.js → D4QB_3_6.js} +1 -1
- package/build/client/_app/immutable/chunks/D4QB_3_6.js.br +0 -0
- package/build/client/_app/immutable/chunks/D4QB_3_6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DVJuGan7.js → DKR4gtrs.js} +1 -1
- package/build/client/_app/immutable/chunks/DKR4gtrs.js.br +0 -0
- package/build/client/_app/immutable/chunks/DKR4gtrs.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BtCOrwSt.js → lGcxg7CO.js} +1 -1
- package/build/client/_app/immutable/chunks/lGcxg7CO.js.br +0 -0
- package/build/client/_app/immutable/chunks/lGcxg7CO.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.g5qLQ5x2.js → app.-1fKTnAu.js} +2 -2
- package/build/client/_app/immutable/entry/app.-1fKTnAu.js.br +0 -0
- package/build/client/_app/immutable/entry/app.-1fKTnAu.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BJmMjOs5.js +1 -0
- package/build/client/_app/immutable/entry/start.BJmMjOs5.js.br +2 -0
- package/build/client/_app/immutable/entry/start.BJmMjOs5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{0.CD9yR-49.js → 0.Cd4lrshe.js} +1 -1
- package/build/client/_app/immutable/nodes/0.Cd4lrshe.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.Cd4lrshe.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.DztuiMqq.js → 1.B4faIcO5.js} +1 -1
- package/build/client/_app/immutable/nodes/1.B4faIcO5.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.B4faIcO5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.B1nM3dh3.js +2 -0
- package/build/client/_app/immutable/nodes/10.B1nM3dh3.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.B1nM3dh3.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{11.-Y7Cu3Uv.js → 11.MJ6Rv19p.js} +1 -1
- package/build/client/_app/immutable/nodes/11.MJ6Rv19p.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.MJ6Rv19p.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{12.wxif1TtN.js → 12.BMSZ742P.js} +1 -1
- package/build/client/_app/immutable/nodes/12.BMSZ742P.js.br +0 -0
- package/build/client/_app/immutable/nodes/12.BMSZ742P.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.C5mOzCii.js +66 -0
- package/build/client/_app/immutable/nodes/13.C5mOzCii.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.C5mOzCii.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.DoT-dNUk.js → 7.BV3eTGHn.js} +1 -1
- package/build/client/_app/immutable/nodes/7.BV3eTGHn.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.BV3eTGHn.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.BFPkGTSl.js → 8.Dw_zZKYL.js} +1 -1
- package/build/client/_app/immutable/nodes/8.Dw_zZKYL.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.Dw_zZKYL.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{9.Bk397TaK.js → 9.BA65fyAm.js} +1 -1
- package/build/client/_app/immutable/nodes/9.BA65fyAm.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.BA65fyAm.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-hDOo8HzQ.js → 0-DhPAR6AN.js} +2 -2
- package/build/server/chunks/{0-hDOo8HzQ.js.map → 0-DhPAR6AN.js.map} +1 -1
- package/build/server/chunks/{1-Dsw_dVjH.js → 1-B5Roc8lW.js} +2 -2
- package/build/server/chunks/{1-Dsw_dVjH.js.map → 1-B5Roc8lW.js.map} +1 -1
- package/build/server/chunks/{10-Xy0rxLNm.js → 10-BRaPMv4v.js} +9 -7
- package/build/server/chunks/10-BRaPMv4v.js.map +1 -0
- package/build/server/chunks/{11-DBYsQ3ww.js → 11-D47Grqcs.js} +8 -6
- package/build/server/chunks/{11-DBYsQ3ww.js.map → 11-D47Grqcs.js.map} +1 -1
- package/build/server/chunks/{12-D4aSEhYN.js → 12-DYHC-SIK.js} +8 -6
- package/build/server/chunks/{12-D4aSEhYN.js.map → 12-DYHC-SIK.js.map} +1 -1
- package/build/server/chunks/{13-CNu_Hz8r.js → 13-6jJDktOb.js} +7 -5
- package/build/server/chunks/{13-CNu_Hz8r.js.map → 13-6jJDktOb.js.map} +1 -1
- package/build/server/chunks/{7-CJJMTAtJ.js → 7-CEa921n2.js} +7 -5
- package/build/server/chunks/7-CEa921n2.js.map +1 -0
- package/build/server/chunks/{8-jBgxYwFg.js → 8-BJXi_u8p.js} +6 -4
- package/build/server/chunks/8-BJXi_u8p.js.map +1 -0
- package/build/server/chunks/{9-U8SAVx43.js → 9-DaOfuWT8.js} +7 -5
- package/build/server/chunks/{9-U8SAVx43.js.map → 9-DaOfuWT8.js.map} +1 -1
- package/build/server/chunks/{JsonEncoder-jJ2OBaud.js → JsonEncoder-B8eJRYZ4.js} +12 -2
- package/build/server/chunks/JsonEncoder-B8eJRYZ4.js.map +1 -0
- package/build/server/chunks/{JsonValue-B5gcBFcA.js → JsonValue-ClBHqVOS.js} +59 -50
- package/build/server/chunks/JsonValue-ClBHqVOS.js.map +1 -0
- package/build/server/chunks/{PrettyJson-mXYQacEL.js → PrettyJson-4GQa7qAU.js} +3 -3
- package/build/server/chunks/{PrettyJson-mXYQacEL.js.map → PrettyJson-4GQa7qAU.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-B-dLNs2Q.js → _page.svelte-C-13GpOe.js} +8 -6
- package/build/server/chunks/{_page.svelte-B-dLNs2Q.js.map → _page.svelte-C-13GpOe.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BBpDrOEz.js → _page.svelte-CCaM2a2k.js} +10 -8
- package/build/server/chunks/{_page.svelte-BBpDrOEz.js.map → _page.svelte-CCaM2a2k.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-C9OCv4Hv.js → _page.svelte-CGvzbG1F.js} +9 -7
- package/build/server/chunks/{_page.svelte-C9OCv4Hv.js.map → _page.svelte-CGvzbG1F.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-CvWJ35oO.js → _page.svelte-CKLhszFj.js} +8 -6
- package/build/server/chunks/{_page.svelte-CvWJ35oO.js.map → _page.svelte-CKLhszFj.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-Ds1-yUh2.js → _page.svelte-CiFj0j1b.js} +8 -6
- package/build/server/chunks/{_page.svelte-Ds1-yUh2.js.map → _page.svelte-CiFj0j1b.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DYHUokXG.js → _page.svelte-DsOSf3up.js} +11 -9
- package/build/server/chunks/_page.svelte-DsOSf3up.js.map +1 -0
- package/build/server/chunks/hooks.server-DRPXFQlL.js +53 -0
- package/build/server/chunks/hooks.server-DRPXFQlL.js.map +1 -0
- package/build/server/chunks/{jsonParser-CraFXJs8.js → jsonParser-C3QUcODD.js} +10 -2
- package/build/server/chunks/jsonParser-C3QUcODD.js.map +1 -0
- package/build/server/chunks/logger-KF6KpVP6.js +150 -0
- package/build/server/chunks/logger-KF6KpVP6.js.map +1 -0
- package/build/server/chunks/{mongo-BogiTfnG.js → mongo-Db8Vgimy.js} +2 -2
- package/build/server/chunks/{mongo-BogiTfnG.js.map → mongo-Db8Vgimy.js.map} +1 -1
- package/build/server/chunks/remote-xxtqbu-AjxdDZZ_.js +19 -0
- package/build/server/chunks/remote-xxtqbu-AjxdDZZ_.js.map +1 -0
- package/build/server/chunks/{servers.remote-C2HuT43p.js → servers.remote-DrkuAWHP.js} +20 -7
- package/build/server/chunks/servers.remote-DrkuAWHP.js.map +1 -0
- package/build/server/index.js +2 -2
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +11 -11
- package/build/server/manifest.js.map +1 -1
- package/package.json +1 -1
- package/src/api/servers.remote.ts +20 -3
- package/src/app.d.ts +3 -1
- package/src/hooks.server.ts +38 -16
- package/src/lib/components/JsonValue.svelte +8 -0
- package/src/lib/server/JsonEncoder.ts +11 -1
- package/src/lib/server/contextStore.ts +4 -0
- package/src/lib/server/logger.ts +184 -0
- package/src/lib/server/mongo.ts +1 -1
- package/src/lib/utils/jsonParser.ts +11 -1
- package/src/routes/servers/+page.server.ts +1 -1
- package/src/routes/servers/[server]/databases/+page.server.ts +1 -1
- package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.server.ts +1 -1
- package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.svelte +2 -3
- package/src/routes/servers/[server]/databases/[database]/collections/[collection]/indexes/+page.server.ts +1 -1
- package/src/routes/servers/[server]/databases/[database]/collections/[collection]/mappings/+page.svelte +1 -2
- package/build/client/_app/immutable/chunks/4l_AWZos.js.br +0 -0
- package/build/client/_app/immutable/chunks/4l_AWZos.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BjzB4NFq.js.br +0 -0
- package/build/client/_app/immutable/chunks/BjzB4NFq.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BtCOrwSt.js.br +0 -0
- package/build/client/_app/immutable/chunks/BtCOrwSt.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CEvYYWlm.js.br +0 -0
- package/build/client/_app/immutable/chunks/CEvYYWlm.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CT5SFbzp.js +0 -1
- package/build/client/_app/immutable/chunks/CT5SFbzp.js.br +0 -0
- package/build/client/_app/immutable/chunks/CT5SFbzp.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CcyPStn-.js +0 -1
- package/build/client/_app/immutable/chunks/CcyPStn-.js.br +0 -0
- package/build/client/_app/immutable/chunks/CcyPStn-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D64wQeYi.js.br +0 -0
- package/build/client/_app/immutable/chunks/D64wQeYi.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DVJuGan7.js.br +0 -0
- package/build/client/_app/immutable/chunks/DVJuGan7.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dx86XS0G.js.br +0 -4
- package/build/client/_app/immutable/chunks/Dx86XS0G.js.gz +0 -0
- package/build/client/_app/immutable/chunks/lkkUcQuO.js.br +0 -0
- package/build/client/_app/immutable/chunks/lkkUcQuO.js.gz +0 -0
- package/build/client/_app/immutable/chunks/nVJvgG3c.js.br +0 -0
- package/build/client/_app/immutable/chunks/nVJvgG3c.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.g5qLQ5x2.js.br +0 -0
- package/build/client/_app/immutable/entry/app.g5qLQ5x2.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.C1uqw3sp.js +0 -1
- package/build/client/_app/immutable/entry/start.C1uqw3sp.js.br +0 -2
- package/build/client/_app/immutable/entry/start.C1uqw3sp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.CD9yR-49.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.CD9yR-49.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.DztuiMqq.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.DztuiMqq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.CWMFKPcE.js +0 -2
- package/build/client/_app/immutable/nodes/10.CWMFKPcE.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.CWMFKPcE.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.-Y7Cu3Uv.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.-Y7Cu3Uv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/12.wxif1TtN.js.br +0 -0
- package/build/client/_app/immutable/nodes/12.wxif1TtN.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.CpyTaRSN.js +0 -66
- package/build/client/_app/immutable/nodes/13.CpyTaRSN.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.CpyTaRSN.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.DoT-dNUk.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.DoT-dNUk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.BFPkGTSl.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.BFPkGTSl.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.Bk397TaK.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.Bk397TaK.js.gz +0 -0
- package/build/server/chunks/10-Xy0rxLNm.js.map +0 -1
- package/build/server/chunks/7-CJJMTAtJ.js.map +0 -1
- package/build/server/chunks/8-jBgxYwFg.js.map +0 -1
- package/build/server/chunks/JsonEncoder-jJ2OBaud.js.map +0 -1
- package/build/server/chunks/JsonValue-B5gcBFcA.js.map +0 -1
- package/build/server/chunks/_page.svelte-DYHUokXG.js.map +0 -1
- package/build/server/chunks/hooks.server-CagAPNr2.js +0 -40
- package/build/server/chunks/hooks.server-CagAPNr2.js.map +0 -1
- package/build/server/chunks/jsonParser-CraFXJs8.js.map +0 -1
- package/build/server/chunks/logger-D71iWOkl.js +0 -36
- package/build/server/chunks/logger-D71iWOkl.js.map +0 -1
- package/build/server/chunks/remote-xxtqbu-BJDSUh3k.js +0 -17
- package/build/server/chunks/remote-xxtqbu-BJDSUh3k.js.map +0 -1
- package/build/server/chunks/servers.remote-C2HuT43p.js.map +0 -1
- package/src/lib/utils/logger.ts +0 -42
package/build/server/manifest.js
CHANGED
|
@@ -10,25 +10,25 @@ return {
|
|
|
10
10
|
assets: new Set(["robots.txt"]),
|
|
11
11
|
mimeTypes: {".txt":"text/plain"},
|
|
12
12
|
_: {
|
|
13
|
-
client: {start:"_app/immutable/entry/start.
|
|
13
|
+
client: {start:"_app/immutable/entry/start.BJmMjOs5.js",app:"_app/immutable/entry/app.-1fKTnAu.js",imports:["_app/immutable/entry/start.BJmMjOs5.js","_app/immutable/chunks/CnRtsGt8.js","_app/immutable/chunks/5nAxkTTP.js","_app/immutable/chunks/C82Rp5eQ.js","_app/immutable/chunks/3iRu_dUj.js","_app/immutable/chunks/C1XfxmRC.js","_app/immutable/entry/app.-1fKTnAu.js","_app/immutable/chunks/C82Rp5eQ.js","_app/immutable/chunks/3iRu_dUj.js","_app/immutable/chunks/BBg-V8FE.js","_app/immutable/chunks/5nAxkTTP.js","_app/immutable/chunks/D7E46CWw.js","_app/immutable/chunks/BE8UzJuY.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
|
|
14
14
|
nodes: [
|
|
15
|
-
__memo(() => import('./chunks/0-
|
|
16
|
-
__memo(() => import('./chunks/1-
|
|
15
|
+
__memo(() => import('./chunks/0-DhPAR6AN.js')),
|
|
16
|
+
__memo(() => import('./chunks/1-B5Roc8lW.js')),
|
|
17
17
|
__memo(() => import('./chunks/2-ClkERMhY.js')),
|
|
18
18
|
__memo(() => import('./chunks/3-CTpqmxdo.js')),
|
|
19
19
|
__memo(() => import('./chunks/4-CUH4fZn8.js')),
|
|
20
20
|
__memo(() => import('./chunks/5-BSEdxfut.js')),
|
|
21
21
|
__memo(() => import('./chunks/6-ifXBeMPA.js')),
|
|
22
|
-
__memo(() => import('./chunks/7-
|
|
23
|
-
__memo(() => import('./chunks/8-
|
|
24
|
-
__memo(() => import('./chunks/9-
|
|
25
|
-
__memo(() => import('./chunks/10-
|
|
26
|
-
__memo(() => import('./chunks/11-
|
|
27
|
-
__memo(() => import('./chunks/12-
|
|
28
|
-
__memo(() => import('./chunks/13-
|
|
22
|
+
__memo(() => import('./chunks/7-CEa921n2.js')),
|
|
23
|
+
__memo(() => import('./chunks/8-BJXi_u8p.js')),
|
|
24
|
+
__memo(() => import('./chunks/9-DaOfuWT8.js')),
|
|
25
|
+
__memo(() => import('./chunks/10-BRaPMv4v.js')),
|
|
26
|
+
__memo(() => import('./chunks/11-D47Grqcs.js')),
|
|
27
|
+
__memo(() => import('./chunks/12-DYHC-SIK.js')),
|
|
28
|
+
__memo(() => import('./chunks/13-6jJDktOb.js'))
|
|
29
29
|
],
|
|
30
30
|
remotes: {
|
|
31
|
-
'xxtqbu': __memo(() => import('./chunks/remote-xxtqbu-
|
|
31
|
+
'xxtqbu': __memo(() => import('./chunks/remote-xxtqbu-AjxdDZZ_.js'))
|
|
32
32
|
},
|
|
33
33
|
routes: [
|
|
34
34
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"robots.txt\"]),\n\tmimeTypes: {\".txt\":\"text/plain\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.C1uqw3sp.js\",app:\"_app/immutable/entry/app.g5qLQ5x2.js\",imports:[\"_app/immutable/entry/start.C1uqw3sp.js\",\"_app/immutable/chunks/nVJvgG3c.js\",\"_app/immutable/chunks/5nAxkTTP.js\",\"_app/immutable/chunks/C82Rp5eQ.js\",\"_app/immutable/chunks/3iRu_dUj.js\",\"_app/immutable/chunks/4l_AWZos.js\",\"_app/immutable/entry/app.g5qLQ5x2.js\",\"_app/immutable/chunks/C82Rp5eQ.js\",\"_app/immutable/chunks/3iRu_dUj.js\",\"_app/immutable/chunks/BBg-V8FE.js\",\"_app/immutable/chunks/5nAxkTTP.js\",\"_app/immutable/chunks/D7E46CWw.js\",\"_app/immutable/chunks/BE8UzJuY.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js')),\n\t\t\t__memo(() => import('./nodes/4.js')),\n\t\t\t__memo(() => import('./nodes/5.js')),\n\t\t\t__memo(() => import('./nodes/6.js')),\n\t\t\t__memo(() => import('./nodes/7.js')),\n\t\t\t__memo(() => import('./nodes/8.js')),\n\t\t\t__memo(() => import('./nodes/9.js')),\n\t\t\t__memo(() => import('./nodes/10.js')),\n\t\t\t__memo(() => import('./nodes/11.js')),\n\t\t\t__memo(() => import('./nodes/12.js')),\n\t\t\t__memo(() => import('./nodes/13.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t'xxtqbu': __memo(() => import('./chunks/remote-xxtqbu.js'))\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 6 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/favicon.ico\",\n\t\t\t\tpattern: /^\\/favicon\\.ico\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/favicon.ico/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers\",\n\t\t\t\tpattern: /^\\/servers\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 7 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,], errors: [1,,], leaf: 8 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases/[database]/collections\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/([^/]+?)\\/collections\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"database\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,3,], errors: [1,,,], leaf: 9 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases/[database]/collections/[collection]/documents\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/([^/]+?)\\/collections\\/([^/]+?)\\/documents\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"database\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"collection\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,3,4,], errors: [1,,,,], leaf: 10 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases/[database]/collections/[collection]/documents/[document]\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/([^/]+?)\\/collections\\/([^/]+?)\\/documents\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"database\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"collection\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"document\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,3,4,5,], errors: [1,,,,,], leaf: 11 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases/[database]/collections/[collection]/indexes\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/([^/]+?)\\/collections\\/([^/]+?)\\/indexes\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"database\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"collection\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,3,4,], errors: [1,,,,], leaf: 12 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases/[database]/collections/[collection]/mappings\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/([^/]+?)\\/collections\\/([^/]+?)\\/mappings\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"database\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"collection\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,3,4,], errors: [1,,,,], leaf: 13 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n\nexport const prerendered = new Set([]);\n\nexport const base = \"\";"],"names":[],"mappings":"AAAY,MAAC,QAAQ,GAAG,CAAC,MAAM;AAC/B,SAAS,MAAM,CAAC,EAAE,EAAE;AACpB,CAAC,IAAI,KAAK;AACV,CAAC,OAAO,MAAM,KAAK,MAAM,KAAK,GAAG,EAAE,EAAE,CAAC;AACtC;;AAEA,OAAO;AACP,CAAC,MAAM,EAAE,MAAM;AACf,CAAC,OAAO,EAAE,MAAM;AAChB,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;AACjC,CAAC,CAAC,EAAE;AACJ,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,wCAAwC,CAAC,GAAG,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAC,wCAAwC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,sCAAsC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC;AACjoB,EAAE,KAAK,EAAE;AACT,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,yBAAe,CAAC,CAAC;AACxC,GAAG,MAAM,CAAC,MAAM,OAAO,yBAAe,CAAC,CAAC;AACxC,GAAG,MAAM,CAAC,MAAM,OAAO,yBAAe,CAAC,CAAC;AACxC,GAAG,MAAM,CAAC,MAAM,OAAO,yBAAe,CAAC;AACvC,GAAG;AACH,EAAE,OAAO,EAAE;AACX,GAAG,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,oCAA2B,CAAC;AAC7D,GAAG;AACH,EAAE,MAAM,EAAE;AACV,GAAG;AACH,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,cAAc;AACtB,IAAI,OAAO,EAAE,qBAAqB;AAClC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAA+C,CAAC;AAClF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,UAAU;AAClB,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,6BAA6B;AACrC,IAAI,OAAO,EAAE,qCAAqC;AAClD,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC7E,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE;AACrD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,oDAAoD;AAC5D,IAAI,OAAO,EAAE,4DAA4D;AACzE,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/I,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;AACxD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,2EAA2E;AACnF,IAAI,OAAO,EAAE,iFAAiF;AAC9F,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACnN,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;AAC5D,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,sFAAsF;AAC9F,IAAI,OAAO,EAAE,2FAA2F;AACxG,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACrR,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;AAC/D,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,yEAAyE;AACjF,IAAI,OAAO,EAAE,+EAA+E;AAC5F,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACnN,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;AAC5D,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,0EAA0E;AAClF,IAAI,OAAO,EAAE,gFAAgF;AAC7F,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACnN,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;AAC5D,IAAI,QAAQ,EAAE;AACd;AACA,GAAG;AACH,EAAE,kBAAkB,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;AACjC,EAAE,QAAQ,EAAE,YAAY;AACxB;AACA,GAAG,OAAO,IAAI;AACd,EAAE,CAAC;AACH,EAAE,aAAa,EAAE;AACjB;AACA;AACA,CAAC;;AAEW,MAAC,WAAW,GAAG,IAAI,GAAG,CAAC,EAAE;;AAEzB,MAAC,IAAI,GAAG;;;;"}
|
|
1
|
+
{"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"robots.txt\"]),\n\tmimeTypes: {\".txt\":\"text/plain\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.BJmMjOs5.js\",app:\"_app/immutable/entry/app.-1fKTnAu.js\",imports:[\"_app/immutable/entry/start.BJmMjOs5.js\",\"_app/immutable/chunks/CnRtsGt8.js\",\"_app/immutable/chunks/5nAxkTTP.js\",\"_app/immutable/chunks/C82Rp5eQ.js\",\"_app/immutable/chunks/3iRu_dUj.js\",\"_app/immutable/chunks/C1XfxmRC.js\",\"_app/immutable/entry/app.-1fKTnAu.js\",\"_app/immutable/chunks/C82Rp5eQ.js\",\"_app/immutable/chunks/3iRu_dUj.js\",\"_app/immutable/chunks/BBg-V8FE.js\",\"_app/immutable/chunks/5nAxkTTP.js\",\"_app/immutable/chunks/D7E46CWw.js\",\"_app/immutable/chunks/BE8UzJuY.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js')),\n\t\t\t__memo(() => import('./nodes/4.js')),\n\t\t\t__memo(() => import('./nodes/5.js')),\n\t\t\t__memo(() => import('./nodes/6.js')),\n\t\t\t__memo(() => import('./nodes/7.js')),\n\t\t\t__memo(() => import('./nodes/8.js')),\n\t\t\t__memo(() => import('./nodes/9.js')),\n\t\t\t__memo(() => import('./nodes/10.js')),\n\t\t\t__memo(() => import('./nodes/11.js')),\n\t\t\t__memo(() => import('./nodes/12.js')),\n\t\t\t__memo(() => import('./nodes/13.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t'xxtqbu': __memo(() => import('./chunks/remote-xxtqbu.js'))\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 6 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/favicon.ico\",\n\t\t\t\tpattern: /^\\/favicon\\.ico\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/favicon.ico/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers\",\n\t\t\t\tpattern: /^\\/servers\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 7 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,], errors: [1,,], leaf: 8 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases/[database]/collections\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/([^/]+?)\\/collections\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"database\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,3,], errors: [1,,,], leaf: 9 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases/[database]/collections/[collection]/documents\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/([^/]+?)\\/collections\\/([^/]+?)\\/documents\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"database\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"collection\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,3,4,], errors: [1,,,,], leaf: 10 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases/[database]/collections/[collection]/documents/[document]\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/([^/]+?)\\/collections\\/([^/]+?)\\/documents\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"database\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"collection\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"document\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,3,4,5,], errors: [1,,,,,], leaf: 11 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases/[database]/collections/[collection]/indexes\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/([^/]+?)\\/collections\\/([^/]+?)\\/indexes\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"database\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"collection\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,3,4,], errors: [1,,,,], leaf: 12 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/servers/[server]/databases/[database]/collections/[collection]/mappings\",\n\t\t\t\tpattern: /^\\/servers\\/([^/]+?)\\/databases\\/([^/]+?)\\/collections\\/([^/]+?)\\/mappings\\/?$/,\n\t\t\t\tparams: [{\"name\":\"server\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"database\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"collection\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,3,4,], errors: [1,,,,], leaf: 13 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n\nexport const prerendered = new Set([]);\n\nexport const base = \"\";"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { command, query } from "$app/server";
|
|
2
2
|
import { validateAggregationPipeline } from "$lib/server/aggregation";
|
|
3
3
|
import JsonEncoder from "$lib/server/JsonEncoder";
|
|
4
|
+
import { logger } from "$lib/server/logger";
|
|
4
5
|
import { getMongo } from "$lib/server/mongo";
|
|
5
6
|
import { isEmptyObject } from "$lib/utils/isEmptyObject";
|
|
6
7
|
import { parseJSON } from "$lib/utils/jsonParser";
|
|
7
|
-
import { logger } from "$lib/utils/logger";
|
|
8
8
|
import { error } from "@sveltejs/kit";
|
|
9
9
|
import { ObjectId, type Document } from "mongodb";
|
|
10
10
|
import { z } from "zod";
|
|
@@ -16,13 +16,28 @@ function checkReadOnly() {
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
// Sanitize MongoDB connection string by removing credentials
|
|
20
|
+
function sanitizeMongoUrl(url: string): string {
|
|
21
|
+
try {
|
|
22
|
+
const urlObj = new URL(url.startsWith("mongodb") ? url : `mongodb://${url}`);
|
|
23
|
+
if (urlObj.username || urlObj.password) {
|
|
24
|
+
urlObj.username = "***";
|
|
25
|
+
urlObj.password = "***";
|
|
26
|
+
}
|
|
27
|
+
return urlObj.toString();
|
|
28
|
+
} catch {
|
|
29
|
+
// If URL parsing fails, just mask the whole thing
|
|
30
|
+
return "***";
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
19
34
|
// Add a new server
|
|
20
35
|
export const addServer = command(
|
|
21
36
|
z.object({
|
|
22
37
|
url: z.string(),
|
|
23
38
|
}),
|
|
24
39
|
async ({ url }) => {
|
|
25
|
-
logger.log("addServer called with payload:", { url });
|
|
40
|
+
logger.log("addServer called with payload:", { url: sanitizeMongoUrl(url) });
|
|
26
41
|
const mongo = await getMongo();
|
|
27
42
|
await mongo.addServer(url);
|
|
28
43
|
return { ok: true };
|
|
@@ -141,11 +156,13 @@ export const deleteDocument = command(
|
|
|
141
156
|
const mongo = await getMongo();
|
|
142
157
|
const client = mongo.getClient(server);
|
|
143
158
|
|
|
159
|
+
const _id = /^[0-9a-fA-F]{24}$/.test(document) ? new ObjectId(document) : document;
|
|
160
|
+
|
|
144
161
|
await client
|
|
145
162
|
.db(database)
|
|
146
163
|
.collection(collection)
|
|
147
164
|
.deleteOne({
|
|
148
|
-
_id:
|
|
165
|
+
_id: _id as unknown as ObjectId,
|
|
149
166
|
});
|
|
150
167
|
|
|
151
168
|
if (collection === "mongoku.mappings") {
|
package/src/app.d.ts
CHANGED
package/src/hooks.server.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { contextStore } from "$lib/server/contextStore";
|
|
2
|
+
import { logger } from "$lib/server/logger";
|
|
2
3
|
import type { Handle, HandleServerError } from "@sveltejs/kit";
|
|
3
4
|
import { MongoError } from "mongodb";
|
|
4
5
|
|
|
@@ -7,22 +8,43 @@ Error.stackTraceLimit = 100;
|
|
|
7
8
|
|
|
8
9
|
export const handle: Handle = async ({ event, resolve }) => {
|
|
9
10
|
const authBasic = process.env.MONGOKU_AUTH_BASIC;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
11
|
+
event.locals.requestId = event.request.headers.get("X-Request-ID") || crypto.randomUUID();
|
|
12
|
+
|
|
13
|
+
event.setHeaders({
|
|
14
|
+
"X-Request-ID": event.locals.requestId,
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
return contextStore.run(event, async () => {
|
|
18
|
+
const startTime = performance.now();
|
|
19
|
+
|
|
20
|
+
if (authBasic) {
|
|
21
|
+
const [username, password] = authBasic.split(":");
|
|
22
|
+
const basicAuth = event.request.headers.get("Authorization");
|
|
23
|
+
if (
|
|
24
|
+
!basicAuth?.toLowerCase().startsWith("basic ") ||
|
|
25
|
+
basicAuth.slice("basic ".length) !== Buffer.from(`${username}:${password}`).toString("base64")
|
|
26
|
+
) {
|
|
27
|
+
const response = new Response("Unauthorized", {
|
|
28
|
+
status: 401,
|
|
29
|
+
headers: {
|
|
30
|
+
"WWW-Authenticate": "Basic",
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
// Log unauthorized request
|
|
35
|
+
logger.logRequest(401, performance.now() - startTime);
|
|
36
|
+
|
|
37
|
+
return response;
|
|
38
|
+
}
|
|
23
39
|
}
|
|
24
|
-
|
|
25
|
-
|
|
40
|
+
|
|
41
|
+
const response = await resolve(event);
|
|
42
|
+
|
|
43
|
+
// Log successful request
|
|
44
|
+
logger.logRequest(response.status, performance.now() - startTime);
|
|
45
|
+
|
|
46
|
+
return response;
|
|
47
|
+
});
|
|
26
48
|
};
|
|
27
49
|
|
|
28
50
|
export const handleError: HandleServerError = ({ error }) => {
|
|
@@ -108,6 +108,8 @@
|
|
|
108
108
|
return "date";
|
|
109
109
|
case "RegExp":
|
|
110
110
|
return "regexp";
|
|
111
|
+
case "Binary":
|
|
112
|
+
return "binary";
|
|
111
113
|
default:
|
|
112
114
|
return "object";
|
|
113
115
|
}
|
|
@@ -234,6 +236,12 @@
|
|
|
234
236
|
<span class="call function">Date("<span class="string">{value.$value}</span>")</span>
|
|
235
237
|
{:else if valueType === "regexp"}
|
|
236
238
|
<span class="value regexp">/{value.$value.$pattern}/{value.$value.$flags}</span>
|
|
239
|
+
{:else if valueType === "binary"}
|
|
240
|
+
<span class="call function"
|
|
241
|
+
>BinData(<span class="number">{value.$subType}</span>, "<span class="string"
|
|
242
|
+
>{value.$value.length > 40 ? value.$value.substring(0, 40) + "..." : value.$value}</span
|
|
243
|
+
>")</span
|
|
244
|
+
>
|
|
237
245
|
{:else if valueType === "array"}
|
|
238
246
|
{#if isEmpty}
|
|
239
247
|
<span class="value array">[]</span>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ObjectId } from "mongodb";
|
|
1
|
+
import { Binary, ObjectId } from "mongodb";
|
|
2
2
|
|
|
3
3
|
export default class JsonEncoder {
|
|
4
4
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -25,6 +25,13 @@ export default class JsonEncoder {
|
|
|
25
25
|
},
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
|
+
if (obj instanceof Binary) {
|
|
29
|
+
return {
|
|
30
|
+
$type: "Binary",
|
|
31
|
+
$value: Buffer.from(obj.buffer).toString("base64"),
|
|
32
|
+
$subType: obj.sub_type,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
28
35
|
if (Array.isArray(obj)) {
|
|
29
36
|
return [...obj.map(JsonEncoder.encode)];
|
|
30
37
|
}
|
|
@@ -48,6 +55,9 @@ export default class JsonEncoder {
|
|
|
48
55
|
if (obj && obj.$type === "RegExp") {
|
|
49
56
|
return new RegExp(obj.$value.$pattern, obj.$value.$flags);
|
|
50
57
|
}
|
|
58
|
+
if (obj && obj.$type === "Binary") {
|
|
59
|
+
return new Binary(Buffer.from(obj.$value, "base64"), obj.$subType);
|
|
60
|
+
}
|
|
51
61
|
if (Array.isArray(obj)) {
|
|
52
62
|
return [...obj.map(JsonEncoder.decode)];
|
|
53
63
|
}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { contextStore } from "$lib/server/contextStore";
|
|
2
|
+
import { inspect } from "node:util";
|
|
3
|
+
|
|
4
|
+
type LogLevel = "debug" | "info" | "warn" | "error";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Logger class that wraps console methods for centralized logging
|
|
8
|
+
*/
|
|
9
|
+
class Logger {
|
|
10
|
+
private structuredLogging: boolean;
|
|
11
|
+
private logHeaders: string[];
|
|
12
|
+
|
|
13
|
+
constructor() {
|
|
14
|
+
this.structuredLogging = process.env.MONGOKU_STRUCTURED_LOG === "true";
|
|
15
|
+
// Parse comma-delimited list of headers to log
|
|
16
|
+
this.logHeaders = process.env.MONGOKU_LOG_HEADERS
|
|
17
|
+
? process.env.MONGOKU_LOG_HEADERS.split(",")
|
|
18
|
+
.map((h) => h.trim().toLowerCase())
|
|
19
|
+
.filter(Boolean)
|
|
20
|
+
: [];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Get request context information from the current request
|
|
25
|
+
*/
|
|
26
|
+
private getRequestContext() {
|
|
27
|
+
const event = contextStore.getStore();
|
|
28
|
+
if (!event) {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const url = new URL(event.request.url);
|
|
33
|
+
|
|
34
|
+
const context: Record<string, unknown> = {
|
|
35
|
+
requestId: event.locals.requestId,
|
|
36
|
+
method: event.request.method,
|
|
37
|
+
url: url.pathname + url.search,
|
|
38
|
+
ip: event.getClientAddress(),
|
|
39
|
+
userAgent: event.request.headers.get("user-agent") || undefined,
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
// Add custom headers if configured
|
|
43
|
+
if (this.logHeaders.length > 0) {
|
|
44
|
+
const headers: Record<string, string> = {};
|
|
45
|
+
for (const headerName of this.logHeaders) {
|
|
46
|
+
const value = event.request.headers.get(headerName);
|
|
47
|
+
if (value) {
|
|
48
|
+
headers[headerName] = value;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (Object.keys(headers).length > 0) {
|
|
52
|
+
context.headers = headers;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return context;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Format arguments for logging
|
|
61
|
+
*/
|
|
62
|
+
private formatArgs(args: unknown[]): string {
|
|
63
|
+
return args
|
|
64
|
+
.map((arg) => {
|
|
65
|
+
if (arg instanceof Error) {
|
|
66
|
+
return (
|
|
67
|
+
(arg.stack ?? `${arg.name}: ${arg.message}`) +
|
|
68
|
+
(arg.cause instanceof Error
|
|
69
|
+
? `\ncause: ${arg.cause.stack ?? `${arg.cause.name}: ${arg.cause.message}`}`
|
|
70
|
+
: "")
|
|
71
|
+
);
|
|
72
|
+
} else if (typeof arg === "string") {
|
|
73
|
+
return arg;
|
|
74
|
+
} else {
|
|
75
|
+
return inspect(arg, { depth: 20, colors: !this.structuredLogging });
|
|
76
|
+
}
|
|
77
|
+
})
|
|
78
|
+
.join(" ");
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Internal log method that handles both structured and unstructured logging
|
|
83
|
+
*/
|
|
84
|
+
private _log(level: LogLevel, args: unknown[]): void {
|
|
85
|
+
const message = this.formatArgs(args);
|
|
86
|
+
|
|
87
|
+
if (this.structuredLogging) {
|
|
88
|
+
const logEntry = {
|
|
89
|
+
level,
|
|
90
|
+
time: new Date().toISOString(),
|
|
91
|
+
message,
|
|
92
|
+
...this.getRequestContext(),
|
|
93
|
+
};
|
|
94
|
+
console.log(JSON.stringify(logEntry));
|
|
95
|
+
} else {
|
|
96
|
+
// Use appropriate console method based on level
|
|
97
|
+
switch (level) {
|
|
98
|
+
case "error":
|
|
99
|
+
console.error(message);
|
|
100
|
+
break;
|
|
101
|
+
case "warn":
|
|
102
|
+
console.warn(message);
|
|
103
|
+
break;
|
|
104
|
+
case "debug":
|
|
105
|
+
console.debug(message);
|
|
106
|
+
break;
|
|
107
|
+
default:
|
|
108
|
+
console.log(message);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Log an informational message
|
|
115
|
+
*/
|
|
116
|
+
log(...args: unknown[]): void {
|
|
117
|
+
this._log("info", args);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Log an informational message (alias for log)
|
|
122
|
+
*/
|
|
123
|
+
info(...args: unknown[]): void {
|
|
124
|
+
this._log("info", args);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Log an error message
|
|
129
|
+
*/
|
|
130
|
+
error(...args: unknown[]): void {
|
|
131
|
+
this._log("error", args);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Log a warning message
|
|
136
|
+
*/
|
|
137
|
+
warn(...args: unknown[]): void {
|
|
138
|
+
this._log("warn", args);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Log a debug message
|
|
143
|
+
*/
|
|
144
|
+
debug(...args: unknown[]): void {
|
|
145
|
+
this._log("debug", args);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Log an HTTP request
|
|
150
|
+
*/
|
|
151
|
+
logRequest(statusCode: number, durationMs: number): void {
|
|
152
|
+
const duration = Math.round(durationMs * 100) / 100; // Round to 2 decimal places
|
|
153
|
+
|
|
154
|
+
if (this.structuredLogging) {
|
|
155
|
+
const logEntry = {
|
|
156
|
+
level: "info" as LogLevel,
|
|
157
|
+
time: new Date().toISOString(),
|
|
158
|
+
type: "request",
|
|
159
|
+
statusCode,
|
|
160
|
+
duration,
|
|
161
|
+
...this.getRequestContext(),
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
console.log(JSON.stringify(logEntry));
|
|
165
|
+
} else {
|
|
166
|
+
// Simple console log for non-structured mode
|
|
167
|
+
const event = contextStore.getStore();
|
|
168
|
+
if (event) {
|
|
169
|
+
const url = new URL(event.request.url);
|
|
170
|
+
const urlPath = url.pathname + url.search;
|
|
171
|
+
const method = event.request.method;
|
|
172
|
+
const message = `${statusCode} ${method} ${urlPath} ${duration}ms`;
|
|
173
|
+
if (statusCode >= 400) {
|
|
174
|
+
console.error(message);
|
|
175
|
+
} else {
|
|
176
|
+
console.log(message);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// Export a singleton instance
|
|
184
|
+
export const logger = new Logger();
|
package/src/lib/server/mongo.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { logger } from "$lib/server/logger";
|
|
1
2
|
import type { CollectionJSON, CollectionMappings, Mappings } from "$lib/types";
|
|
2
|
-
import { logger } from "$lib/utils/logger";
|
|
3
3
|
import { MongoClient, type Collection } from "mongodb";
|
|
4
4
|
import { URL } from "url";
|
|
5
5
|
import { HostsManager } from "./HostsManager";
|
|
@@ -71,7 +71,7 @@ function buildObject(node: Node | Expression): unknown {
|
|
|
71
71
|
|
|
72
72
|
case "NewExpression":
|
|
73
73
|
case "CallExpression": {
|
|
74
|
-
const authorizedCalls = ["ObjectId", "Date", "RegExp"];
|
|
74
|
+
const authorizedCalls = ["ObjectId", "Date", "RegExp", "BinData"];
|
|
75
75
|
const callee = node.callee.type === "Identifier" ? node.callee.name : null;
|
|
76
76
|
if (callee && authorizedCalls.includes(callee)) {
|
|
77
77
|
if (callee === "RegExp") {
|
|
@@ -85,6 +85,16 @@ function buildObject(node: Node | Expression): unknown {
|
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
+
if (callee === "BinData") {
|
|
89
|
+
// BinData(subType, base64String)
|
|
90
|
+
const [subType, base64] = node.arguments.map((arg) => buildObject(arg));
|
|
91
|
+
return {
|
|
92
|
+
$type: "Binary",
|
|
93
|
+
$value: base64,
|
|
94
|
+
$subType: subType,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
|
|
88
98
|
return {
|
|
89
99
|
$type: callee,
|
|
90
100
|
$value: buildObject(node.arguments[0]),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { logger } from "$lib/server/logger";
|
|
1
2
|
import { getMongo } from "$lib/server/mongo";
|
|
2
3
|
import type { DatabaseStats } from "$lib/types";
|
|
3
|
-
import { logger } from "$lib/utils/logger";
|
|
4
4
|
import type { PageServerLoad } from "./$types";
|
|
5
5
|
|
|
6
6
|
export const load: PageServerLoad = async () => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { logger } from "$lib/server/logger";
|
|
1
2
|
import { getCollectionJson, getMongo } from "$lib/server/mongo";
|
|
2
3
|
import type { CollectionJSON, DatabaseStats } from "$lib/types";
|
|
3
|
-
import { logger } from "$lib/utils/logger";
|
|
4
4
|
import type { PageServerLoad } from "./$types";
|
|
5
5
|
|
|
6
6
|
export const load: PageServerLoad = async ({ params }) => {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { validateAggregationPipeline } from "$lib/server/aggregation";
|
|
2
2
|
import JsonEncoder from "$lib/server/JsonEncoder";
|
|
3
|
+
import { logger } from "$lib/server/logger";
|
|
3
4
|
import { getMongo } from "$lib/server/mongo";
|
|
4
5
|
import { type MongoDocument } from "$lib/types";
|
|
5
6
|
import { isEmptyObject } from "$lib/utils/isEmptyObject";
|
|
6
7
|
import { parseJSON } from "$lib/utils/jsonParser";
|
|
7
|
-
import { logger } from "$lib/utils/logger";
|
|
8
8
|
import type { Document } from "mongodb";
|
|
9
9
|
import type { PageServerLoad } from "./$types";
|
|
10
10
|
|
|
@@ -14,7 +14,6 @@
|
|
|
14
14
|
import { notificationStore } from "$lib/stores/notifications.svelte";
|
|
15
15
|
import type { MongoDocument, SearchParams } from "$lib/types";
|
|
16
16
|
import { formatNumber } from "$lib/utils/filters";
|
|
17
|
-
import { logger } from "$lib/utils/logger";
|
|
18
17
|
import { SvelteURLSearchParams } from "svelte/reactivity";
|
|
19
18
|
import type { PageData } from "./$types";
|
|
20
19
|
|
|
@@ -104,7 +103,7 @@
|
|
|
104
103
|
modifiedItems = items;
|
|
105
104
|
}
|
|
106
105
|
} catch (error) {
|
|
107
|
-
|
|
106
|
+
console.error(error);
|
|
108
107
|
notificationStore.notifyError(error, "Failed to update document");
|
|
109
108
|
}
|
|
110
109
|
}
|
|
@@ -196,7 +195,7 @@
|
|
|
196
195
|
editMode = false;
|
|
197
196
|
}
|
|
198
197
|
} catch (error) {
|
|
199
|
-
|
|
198
|
+
console.error(error);
|
|
200
199
|
notificationStore.notifyError(error, "Failed to update documents");
|
|
201
200
|
} finally {
|
|
202
201
|
isUpdating = false;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import JsonEncoder from "$lib/server/JsonEncoder";
|
|
2
|
+
import { logger } from "$lib/server/logger";
|
|
2
3
|
import { getMongo } from "$lib/server/mongo";
|
|
3
|
-
import { logger } from "$lib/utils/logger";
|
|
4
4
|
import type { IndexDescription } from "mongodb";
|
|
5
5
|
import type { PageServerLoad } from "./$types";
|
|
6
6
|
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
import Panel from "$lib/components/Panel.svelte";
|
|
5
5
|
import { notificationStore } from "$lib/stores/notifications.svelte";
|
|
6
6
|
import type { MappingTarget } from "$lib/types";
|
|
7
|
-
import { logger } from "$lib/utils/logger";
|
|
8
7
|
import type { PageData } from "./$types";
|
|
9
8
|
let { data }: { data: PageData } = $props();
|
|
10
9
|
// Convert mappings to an editable array format
|
|
@@ -154,7 +153,7 @@ Please analyze the codebase and database, then generate the appropriate mappings
|
|
|
154
153
|
});
|
|
155
154
|
notificationStore.notifySuccess("Mappings saved successfully");
|
|
156
155
|
} catch (error) {
|
|
157
|
-
|
|
156
|
+
console.error("Error saving mappings:", error);
|
|
158
157
|
notificationStore.notifyError(error, "Failed to save mappings");
|
|
159
158
|
}
|
|
160
159
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
class e{log(...o){console.log(...o)}info(...o){console.log(...o)}error(...o){console.error(...o)}warn(...o){console.warn(...o)}debug(...o){console.debug(...o)}}const r=new e;export{r as l};
|
|
Binary file
|
|
Binary file
|