orcaq 1.1.6 → 1.1.8
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/-7uW7YTy.js +1 -0
- package/.output/public/_nuxt/{wH-P-_6A.js → 5450EsIE.js} +1 -1
- package/.output/public/_nuxt/6mVUr42b.js +1 -0
- package/.output/public/_nuxt/7H5y5euK.js +1 -0
- package/.output/public/_nuxt/7iCr9_qw.js +26 -0
- package/.output/public/_nuxt/{C4-wpUAK.js → B0gkARnK.js} +1 -1
- package/.output/public/_nuxt/B21nC2NZ.js +1 -0
- package/.output/public/_nuxt/B232GDut.js +2 -0
- package/.output/public/_nuxt/{x85BV7y_.js → B6N_D8QI.js} +1 -1
- package/.output/public/_nuxt/B7C8fo37.js +1 -0
- package/.output/public/_nuxt/BC82eJHt.js +1 -0
- package/.output/public/_nuxt/BHr4_sbs.js +9 -0
- package/.output/public/_nuxt/{DYqShb5v.js → BJvJ0Hlu.js} +4 -4
- package/.output/public/_nuxt/BK-6CJ0A.js +1 -0
- package/.output/public/_nuxt/BMVgfiQu.js +1 -0
- package/.output/public/_nuxt/BNh4NY7v.js +1 -0
- package/.output/public/_nuxt/{3jfBYqJb.js → BO3FEgXG.js} +1 -1
- package/.output/public/_nuxt/BQm1mt0O.js +1 -0
- package/.output/public/_nuxt/BRCvv3op.js +1 -0
- package/.output/public/_nuxt/{DLA-ioQ4.js → BRWis86L.js} +1 -1
- package/.output/public/_nuxt/{Bgj8Q52i.js → BRzWRTTF.js} +1 -1
- package/.output/public/_nuxt/{BWg3wiuc.js → BWTTrGtY.js} +2 -2
- package/.output/public/_nuxt/{BJoSd_uV.js → BXMKgn-J.js} +1 -1
- package/.output/public/_nuxt/{BoUZO_NV.js → BYaoWfSN.js} +1 -1
- package/.output/public/_nuxt/B_G752SV.js +20 -0
- package/.output/public/_nuxt/{B5HZeat4.js → BalNYDR1.js} +1 -1
- package/.output/public/_nuxt/{DYPm3mWQ.js → BmfnP4qD.js} +1 -1
- package/.output/public/_nuxt/Bn6_QGSK.js +1 -0
- package/.output/public/_nuxt/{CROH8wgk.js → BsCPQnkm.js} +1 -1
- package/.output/public/_nuxt/{wrneOCBW.js → Bu6ybm3Z.js} +1 -1
- package/.output/public/_nuxt/{DDsaDrGo.js → BuTCm7Bo.js} +1 -1
- package/.output/public/_nuxt/BuzCyLCh.js +1 -0
- package/.output/public/_nuxt/{4LC09zKL.js → BzNEuLKx.js} +1 -1
- package/.output/public/_nuxt/{C9ZBCJdc.js → BzNNFvTW.js} +1 -1
- package/.output/public/_nuxt/{CoQ_oOia.js → BzqjH2-H.js} +1 -1
- package/.output/public/_nuxt/{BCa-NKh0.js → C-e53AuW.js} +1 -1
- package/.output/public/_nuxt/C0jXhwNq.js +1 -0
- package/.output/public/_nuxt/C6K-C4_d.js +1 -0
- package/.output/public/_nuxt/{DgGwe7jd.js → C6teO48Y.js} +133 -133
- package/.output/public/_nuxt/{CCK1so3F.js → C874itvn.js} +1 -1
- package/.output/public/_nuxt/C8ZJ2pm_.js +1 -0
- package/.output/public/_nuxt/CA3O4M9L.js +1 -0
- package/.output/public/_nuxt/{Cf6n9dsT.js → CAjVwGyz.js} +1 -1
- package/.output/public/_nuxt/{uDsvlLN0.js → CCC5u9Ni.js} +1 -1
- package/.output/public/_nuxt/{BmEIj9l9.js → CCCJ2fw7.js} +1 -1
- package/.output/public/_nuxt/{dDqgUqt5.js → CFi6G8Aj.js} +2 -2
- package/.output/public/_nuxt/CKlMKmo6.js +1 -0
- package/.output/public/_nuxt/{FHx3Ejt6.js → CMDq7o88.js} +1 -1
- package/.output/public/_nuxt/CMI-3q_e.js +1 -0
- package/.output/public/_nuxt/{CBjcd4cE.js → CMnjMfEQ.js} +1 -1
- package/.output/public/_nuxt/{Ci7hrFNN.js → CQFANjzf.js} +1 -1
- package/.output/public/_nuxt/{BuSZbOQO.js → CU5cwnUW.js} +1 -1
- package/.output/public/_nuxt/{Bibtvqd8.js → CXQ2zrsE.js} +1 -1
- package/.output/public/_nuxt/{Dd89Vyx8.js → CXbrqQhC.js} +1 -1
- package/.output/public/_nuxt/CZXyfpHW.js +1 -0
- package/.output/public/_nuxt/CZgTP5wX.js +1 -0
- package/.output/public/_nuxt/{BxZgIpkD.js → Cd_fVKDw.js} +1 -1
- package/.output/public/_nuxt/CeXnSKvd.js +1 -0
- package/.output/public/_nuxt/Chw5tFzx.js +1 -0
- package/.output/public/_nuxt/CkLSGVwV.js +1 -0
- package/.output/public/_nuxt/Cqk0ImDE.js +1 -0
- package/.output/public/_nuxt/{BAasx5OS.js → CuXTA7ZW.js} +1 -1
- package/.output/public/_nuxt/Cv9v5fHN.js +1 -0
- package/.output/public/_nuxt/{CE0zlNDo.js → CvbYm0uB.js} +1 -1
- package/.output/public/_nuxt/{BJ8qQpib.js → Cw1HIv3s.js} +1 -1
- package/.output/public/_nuxt/{7nPLTDFM.js → CyEOtFwE.js} +1 -1
- package/.output/public/_nuxt/CyKRjZZo.js +1 -0
- package/.output/public/_nuxt/{Bap1X7GD.js → D4DMGxvZ.js} +1 -1
- package/.output/public/_nuxt/{DP6Az3fC.js → D5GonnbJ.js} +1 -1
- package/.output/public/_nuxt/D5Oboajo.js +1 -0
- package/.output/public/_nuxt/D8egDyEO.js +1 -0
- package/.output/public/_nuxt/DBSV6YXN.js +1 -0
- package/.output/public/_nuxt/{habs8oz6.js → DCewvWOu.js} +1 -1
- package/.output/public/_nuxt/{CP-7VdtS.js → DG9CsZCx.js} +1 -1
- package/.output/public/_nuxt/{DViCRsmA.js → DH2V7e8U.js} +1 -1
- package/.output/public/_nuxt/{C6bwwZAc.js → DHXwq7wT.js} +1 -1
- package/.output/public/_nuxt/DJXrgohw.js +2 -0
- package/.output/public/_nuxt/{Cl3VX8Um.js → DQRyK9Io.js} +1 -1
- package/.output/public/_nuxt/{ZNDxw-7x.js → DXVrM3CN.js} +1 -1
- package/.output/public/_nuxt/{Un5zjlKE.js → DZ4xLzJg.js} +1 -1
- package/.output/public/_nuxt/DZIoL4RO.js +1 -0
- package/.output/public/_nuxt/D_kY6P5P.js +1 -0
- package/.output/public/_nuxt/DgxTwFGe.js +7 -0
- package/.output/public/_nuxt/DkX74xDd.js +1 -0
- package/.output/public/_nuxt/{B_hWP06g.js → DmnufEYq.js} +1 -1
- package/.output/public/_nuxt/{BCazdlgN.js → Dopm1f4X.js} +1 -1
- package/.output/public/_nuxt/{C6CFIGob.js → Dpkaavgs.js} +1 -1
- package/.output/public/_nuxt/DpsqSAMo.js +20 -0
- package/.output/public/_nuxt/{DHyymmeR.js → DrkGD_bQ.js} +1 -1
- package/.output/public/_nuxt/{yLATXAxG.js → Dtry_3Qa.js} +1 -1
- package/.output/public/_nuxt/DwPmcz47.js +1 -0
- package/.output/public/_nuxt/DyjsVMbv.js +1 -0
- package/.output/public/_nuxt/{CNPNWuzz.js → FmHWbXNk.js} +1 -1
- package/.output/public/_nuxt/{BbLqUOHs.js → JxgekUqn.js} +1 -1
- package/.output/public/_nuxt/KoGK2wLb.js +1 -0
- package/.output/public/_nuxt/LU_a7qLd.js +1 -0
- package/.output/public/_nuxt/{Lh0RfwhV.js → LxqkguPP.js} +1 -1
- package/.output/public/_nuxt/Q8x88Gcd.js +1 -0
- package/.output/public/_nuxt/{DRX1aIGD.js → R04uZjs6.js} +1 -1
- package/.output/public/_nuxt/So0hX8V0.js +31 -0
- package/.output/public/_nuxt/WGDY9i_Q.js +1 -0
- package/.output/public/_nuxt/{Df4wU3r0.js → WZQ8mcv9.js} +1 -1
- package/.output/public/_nuxt/{CO0Pa76w.js → XjywAggc.js} +1 -1
- package/.output/public/_nuxt/{_fileId_.DxhkUVGK.css → _fileId_.CiauI_x3.css} +1 -1
- package/.output/public/_nuxt/{C445d10Z.js → _uLivI44.js} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/30582efd-125a-4f88-bd89-20a7b2ba8697.json +1 -0
- package/.output/public/_nuxt/{EZ0owjER.js → eQskTKIU.js} +1 -1
- package/.output/public/_nuxt/ecWNT6PZ.js +1 -0
- package/.output/public/_nuxt/entry.BcHy7sxf.css +1 -0
- package/.output/public/_nuxt/{BEvswgw7.js → f6XRRKUb.js} +1 -1
- package/.output/public/_nuxt/jtwYTq7X.js +52 -0
- package/.output/public/_nuxt/{Cvkyd5iW.js → mcYTISF7.js} +1 -1
- package/.output/public/_nuxt/mcfKrWU-.js +1 -0
- package/.output/public/_nuxt/{BnZ5qYkP.js → soHTUlpn.js} +9 -9
- package/.output/public/_nuxt/tc7vkD0J.js +3 -0
- package/.output/public/_nuxt/vEHvfalB.js +53 -0
- package/.output/public/_nuxt/vP25tZUh.js +2 -0
- package/.output/public/_nuxt/{F8eHh68O.js → zndqWf9s.js} +8 -8
- package/.output/server/chunks/_/registry.mjs +116 -0
- package/.output/server/chunks/_/registry.mjs.map +1 -0
- package/.output/server/chunks/_/{native-backup.mjs → runtime.mjs} +325 -164
- package/.output/server/chunks/_/runtime.mjs.map +1 -0
- package/.output/server/chunks/_/{native-backup-jobs.mjs → service.mjs} +185 -248
- package/.output/server/chunks/_/service.mjs.map +1 -0
- package/.output/server/chunks/_/tables.factory.mjs +1 -1
- package/.output/server/chunks/build/client.manifest.mjs +802 -727
- package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +683 -648
- package/.output/server/chunks/routes/api/database-backup/capability.get.mjs +7 -2
- package/.output/server/chunks/routes/api/database-backup/capability.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-export/export-database.mjs +4 -3
- package/.output/server/chunks/routes/api/database-export/export-database.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-export/jobs/_jobId/download.get.mjs +1 -20
- package/.output/server/chunks/routes/api/database-export/jobs/_jobId/download.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-export/jobs/_jobId_.get.mjs +1 -20
- package/.output/server/chunks/routes/api/database-export/jobs/_jobId_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-import/import-database.mjs +14 -3
- package/.output/server/chunks/routes/api/database-import/import-database.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-import/jobs/_jobId_.get.mjs +1 -20
- package/.output/server/chunks/routes/api/database-import/jobs/_jobId_.get.mjs.map +1 -1
- package/.output/server/package.json +1 -1
- package/package.json +1 -1
- package/.output/public/_nuxt/27ZsWTm2.js +0 -1
- package/.output/public/_nuxt/4OV_5qQE.js +0 -1
- package/.output/public/_nuxt/6NXhlm49.js +0 -1
- package/.output/public/_nuxt/6wO6CbCo.js +0 -1
- package/.output/public/_nuxt/B10QBDL6.js +0 -1
- package/.output/public/_nuxt/B3iNzG14.js +0 -1
- package/.output/public/_nuxt/BKAEFZqP.js +0 -1
- package/.output/public/_nuxt/BTvOPFKG.js +0 -1
- package/.output/public/_nuxt/BbawOYVr.js +0 -1
- package/.output/public/_nuxt/Bf2bW_MY.js +0 -7
- package/.output/public/_nuxt/BhzzQZRC.js +0 -1
- package/.output/public/_nuxt/Bok35x_B.js +0 -1
- package/.output/public/_nuxt/BusLuQ4Q.js +0 -1
- package/.output/public/_nuxt/C7C1kq_N.js +0 -1
- package/.output/public/_nuxt/CCOlJAKS.js +0 -2
- package/.output/public/_nuxt/CEoM97rJ.js +0 -1
- package/.output/public/_nuxt/CHAVZu6b.js +0 -2
- package/.output/public/_nuxt/CN8b9qPP.js +0 -1
- package/.output/public/_nuxt/CUws2Uv7.js +0 -1
- package/.output/public/_nuxt/CZLVBTJx.js +0 -1
- package/.output/public/_nuxt/Cl5p4EQY.js +0 -1
- package/.output/public/_nuxt/CnQob-tn.js +0 -1
- package/.output/public/_nuxt/CoX1_N4R.js +0 -1
- package/.output/public/_nuxt/CvDZBOay.js +0 -1
- package/.output/public/_nuxt/D29mzs5t.js +0 -1
- package/.output/public/_nuxt/D9MMtvTu.js +0 -52
- package/.output/public/_nuxt/DM8LJTsg.js +0 -1
- package/.output/public/_nuxt/DZFq5yqu.js +0 -1
- package/.output/public/_nuxt/DZVfXu09.js +0 -1
- package/.output/public/_nuxt/DdbhVPqD.js +0 -1
- package/.output/public/_nuxt/DeVs4gEL.js +0 -53
- package/.output/public/_nuxt/DlymFQ5D.js +0 -26
- package/.output/public/_nuxt/DoNLWeqB.js +0 -20
- package/.output/public/_nuxt/Dpm6rnHk.js +0 -1
- package/.output/public/_nuxt/DsPClaxV.js +0 -1
- package/.output/public/_nuxt/DtOg0Asw.js +0 -1
- package/.output/public/_nuxt/DyDU0wFf.js +0 -1
- package/.output/public/_nuxt/G40WRC_L.js +0 -1
- package/.output/public/_nuxt/NMm6Vanu.js +0 -1
- package/.output/public/_nuxt/ORit_vRp.js +0 -1
- package/.output/public/_nuxt/P_2SRa71.js +0 -2
- package/.output/public/_nuxt/XETGYn3c.js +0 -1
- package/.output/public/_nuxt/ZVYA9HBl.js +0 -1
- package/.output/public/_nuxt/ZhP2FY6Y.js +0 -1
- package/.output/public/_nuxt/_TExiQQQ.js +0 -3
- package/.output/public/_nuxt/__PEYcIB.js +0 -9
- package/.output/public/_nuxt/builds/meta/47c294b1-d6b3-4974-bd50-5046ae0a393e.json +0 -1
- package/.output/public/_nuxt/dSX5D8ur.js +0 -28
- package/.output/public/_nuxt/entry.CGwcggc4.css +0 -1
- package/.output/public/_nuxt/o60RgyTd.js +0 -1
- package/.output/server/chunks/_/native-backup-jobs.mjs.map +0 -1
- package/.output/server/chunks/_/native-backup.mjs.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { d as defineEventHandler, g as getQuery, c as createError } from '../../../nitro/nitro.mjs';
|
|
2
2
|
import { D as DatabaseClientType } from '../../../_/database-client-type.mjs';
|
|
3
|
-
import { g as getNativeBackupRuntimeCapability } from '../../../_/
|
|
3
|
+
import { g as getNativeBackupRuntimeCapability } from '../../../_/runtime.mjs';
|
|
4
4
|
import 'node:net';
|
|
5
5
|
import 'ssh2';
|
|
6
6
|
import 'node:http';
|
|
@@ -18,6 +18,8 @@ import 'node:fs/promises';
|
|
|
18
18
|
const capability_get = defineEventHandler(async (event) => {
|
|
19
19
|
const rawType = getQuery(event).type;
|
|
20
20
|
const typeValue = Array.isArray(rawType) ? rawType[0] : rawType;
|
|
21
|
+
const rawDiscoverAll = getQuery(event).discoverAll;
|
|
22
|
+
const discoverAllValue = Array.isArray(rawDiscoverAll) ? rawDiscoverAll[0] : rawDiscoverAll;
|
|
21
23
|
if (typeof typeValue === "string" && !Object.values(DatabaseClientType).includes(typeValue)) {
|
|
22
24
|
throw createError({
|
|
23
25
|
statusCode: 400,
|
|
@@ -25,7 +27,10 @@ const capability_get = defineEventHandler(async (event) => {
|
|
|
25
27
|
});
|
|
26
28
|
}
|
|
27
29
|
return getNativeBackupRuntimeCapability(
|
|
28
|
-
typeValue || void 0
|
|
30
|
+
typeValue || void 0,
|
|
31
|
+
{
|
|
32
|
+
discoverAll: discoverAllValue === "true"
|
|
33
|
+
}
|
|
29
34
|
);
|
|
30
35
|
});
|
|
31
36
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability.get.mjs","sources":["../../../../../../server/api/database-backup/capability.get.ts"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,uBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,MAAA,OAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA,IAAA;AACA,EAAA,MAAA,YAAA,KAAA,CAAA,OAAA,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA,CAAA,CAAA,GAAA,OAAA;AAEA,EACA,IAAA,OAAA,SAAA,KAAA,QAAA,IACA,CAAA,MAAA,CAAA,OAAA,kBAAA,CAAA,CAAA,QAAA,CAAA,SAAA,CACA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA,0BAAA,SAAA,CAAA;AAAA,KACA,CAAA;AAAA;AAGA,EAAA,OAAA,gCAAA;AAAA,IACA,SAAA,IAAA;AAAA,GACA;AACA,CAAA,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"capability.get.mjs","sources":["../../../../../../server/api/database-backup/capability.get.ts"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,uBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,MAAA,OAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA,IAAA;AACA,EAAA,MAAA,YAAA,KAAA,CAAA,OAAA,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA,CAAA,CAAA,GAAA,OAAA;AACA,EAAA,MAAA,cAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA,WAAA;AACA,EAAA,MAAA,mBAAA,KAAA,CAAA,OAAA,CAAA,cAAA,CACA,GAAA,cAAA,CAAA,CAAA,CACA,GAAA,cAAA;AAEA,EACA,IAAA,OAAA,SAAA,KAAA,QAAA,IACA,CAAA,MAAA,CAAA,OAAA,kBAAA,CAAA,CAAA,QAAA,CAAA,SAAA,CACA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA,0BAAA,SAAA,CAAA;AAAA,KACA,CAAA;AAAA;AAGA,EAAA,OAAA,gCAAA;AAAA,IACA,SAAA,IAAA,MAAA;AAAA,IACA;AAAA,MACA,aAAA,gBAAA,KAAA;AAAA;AACA,GACA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { d as defineEventHandler, r as readBody, c as createError } from '../../../nitro/nitro.mjs';
|
|
2
2
|
import { c as createDatabaseHttpError } from '../../../_/error.mjs';
|
|
3
|
-
import { s as startNativeExportJob } from '../../../_/
|
|
3
|
+
import { s as startNativeExportJob } from '../../../_/service.mjs';
|
|
4
4
|
import 'node:net';
|
|
5
5
|
import 'ssh2';
|
|
6
6
|
import 'node:http';
|
|
@@ -15,10 +15,8 @@ import '@iconify/utils';
|
|
|
15
15
|
import 'consola';
|
|
16
16
|
import '../../../_/database-error.mjs';
|
|
17
17
|
import '../../../_/database-client-type.mjs';
|
|
18
|
-
import 'node:child_process';
|
|
19
18
|
import 'node:fs/promises';
|
|
20
19
|
import 'node:os';
|
|
21
|
-
import '../../../_/native-backup.mjs';
|
|
22
20
|
import '../../../_/tables.factory.mjs';
|
|
23
21
|
import '../../../_/create-adapter.mjs';
|
|
24
22
|
import '../../../_/db-connection.mjs';
|
|
@@ -32,6 +30,9 @@ import 'pg';
|
|
|
32
30
|
import 'pg-copy-streams';
|
|
33
31
|
import 'pg-query-stream';
|
|
34
32
|
import '../../../_/type-alias.constants.mjs';
|
|
33
|
+
import 'node:child_process';
|
|
34
|
+
import '../../../_/runtime.mjs';
|
|
35
|
+
import '../../../_/registry.mjs';
|
|
35
36
|
|
|
36
37
|
const exportDatabase = defineEventHandler(async (event) => {
|
|
37
38
|
const body = await readBody(event);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-database.mjs","sources":["../../../../../../server/api/database-export/export-database.ts"],"sourcesContent":null,"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"export-database.mjs","sources":["../../../../../../server/api/database-export/export-database.ts"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,uBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,MAAA,IAAA,GAWA,MAAA,QAAA,CAAA,KAAA,CAAA;AAEA,EAAA,IAAA,CAAA,KAAA,IAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA;AAAA,KACA,CAAA;AAAA;AAGA,EAAA,IAAA;AACA,IAAA,OAAA,MAAA,oBAAA;AAAA,MACA;AAAA,KACA;AAAA,WACA,KAAA,EAAA;AACA,IAAA,IAAA,KAAA,IAAA,OAAA,KAAA,KAAA,QAAA,IAAA,gBAAA,KAAA,EAAA;AACA,MAAA,MAAA,KAAA;AAAA;AAGA,IAAA,MAAA,uBAAA,CAAA,IAAA,CAAA,IAAA,EAAA,KAAA,CAAA;AAAA;AAEA,CAAA,CAAA;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { d as defineEventHandler, a as getRouterParam, c as createError, s as setHeader, b as sendStream } from '../../../../../nitro/nitro.mjs';
|
|
2
2
|
import { createReadStream } from 'node:fs';
|
|
3
3
|
import { stat } from 'node:fs/promises';
|
|
4
|
-
import { a as getNativeExportDownload } from '../../../../../_/
|
|
4
|
+
import { a as getNativeExportDownload } from '../../../../../_/registry.mjs';
|
|
5
5
|
import 'node:net';
|
|
6
6
|
import 'ssh2';
|
|
7
7
|
import 'node:http';
|
|
@@ -13,25 +13,6 @@ import 'node:crypto';
|
|
|
13
13
|
import 'node:url';
|
|
14
14
|
import '@iconify/utils';
|
|
15
15
|
import 'consola';
|
|
16
|
-
import 'node:child_process';
|
|
17
|
-
import 'node:os';
|
|
18
|
-
import '../../../../../_/database-client-type.mjs';
|
|
19
|
-
import '../../../../../_/native-backup.mjs';
|
|
20
|
-
import '../../../../../_/tables.factory.mjs';
|
|
21
|
-
import '../../../../../_/create-adapter.mjs';
|
|
22
|
-
import '../../../../../_/db-connection.mjs';
|
|
23
|
-
import '../../../../../_/redis.client.mjs';
|
|
24
|
-
import 'redis';
|
|
25
|
-
import 'knex';
|
|
26
|
-
import 'node:stream';
|
|
27
|
-
import '@libsql/client/http';
|
|
28
|
-
import 'oracledb';
|
|
29
|
-
import 'pg';
|
|
30
|
-
import 'pg-copy-streams';
|
|
31
|
-
import 'pg-query-stream';
|
|
32
|
-
import '../../../../../_/error.mjs';
|
|
33
|
-
import '../../../../../_/database-error.mjs';
|
|
34
|
-
import '../../../../../_/type-alias.constants.mjs';
|
|
35
16
|
|
|
36
17
|
const download_get = defineEventHandler(async (event) => {
|
|
37
18
|
const jobId = getRouterParam(event, "jobId");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.get.mjs","sources":["../../../../../../../../server/api/database-export/jobs/[jobId]/download.get.ts"],"sourcesContent":null,"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"download.get.mjs","sources":["../../../../../../../../server/api/database-export/jobs/[jobId]/download.get.ts"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,qBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,MAAA,KAAA,GAAA,cAAA,CAAA,KAAA,EAAA,OAAA,CAAA;AAEA,EAAA,IAAA,CAAA,KAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA;AAAA,KACA,CAAA;AAAA;AAGA,EAAA,MAAA,QAAA,GAAA,wBAAA,KAAA,CAAA;AACA,EAAA,MAAA,QAAA,GAAA,MAAA,IAAA,CAAA,QAAA,CAAA,QAAA,CAAA;AAEA,EAAA,SAAA,CAAA,KAAA,EAAA,cAAA,EAAA,QAAA,CAAA,WAAA,CAAA;AACA,EAAA,SAAA;AAAA,IACA,KAAA;AAAA,IACA,qBAAA;AAAA,IACA,CAAA,sBAAA,EAAA,SAAA,QAAA,CAAA,CAAA;AAAA,GACA;AACA,EAAA,SAAA,CAAA,KAAA,EAAA,gBAAA,EAAA,QAAA,CAAA,IAAA,CAAA;AAEA,EAAA,OAAA,UAAA,CAAA,KAAA,EAAA,gBAAA,CAAA,QAAA,CAAA,QAAA,CAAA,CAAA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { d as defineEventHandler, a as getRouterParam, c as createError } from '../../../../nitro/nitro.mjs';
|
|
2
|
-
import { g as getNativeBackupJobSnapshot } from '../../../../_/
|
|
2
|
+
import { g as getNativeBackupJobSnapshot } from '../../../../_/registry.mjs';
|
|
3
3
|
import 'node:net';
|
|
4
4
|
import 'ssh2';
|
|
5
5
|
import 'node:http';
|
|
@@ -12,26 +12,7 @@ import 'node:crypto';
|
|
|
12
12
|
import 'node:url';
|
|
13
13
|
import '@iconify/utils';
|
|
14
14
|
import 'consola';
|
|
15
|
-
import 'node:child_process';
|
|
16
15
|
import 'node:fs/promises';
|
|
17
|
-
import 'node:os';
|
|
18
|
-
import '../../../../_/database-client-type.mjs';
|
|
19
|
-
import '../../../../_/native-backup.mjs';
|
|
20
|
-
import '../../../../_/tables.factory.mjs';
|
|
21
|
-
import '../../../../_/create-adapter.mjs';
|
|
22
|
-
import '../../../../_/db-connection.mjs';
|
|
23
|
-
import '../../../../_/redis.client.mjs';
|
|
24
|
-
import 'redis';
|
|
25
|
-
import 'knex';
|
|
26
|
-
import 'node:stream';
|
|
27
|
-
import '@libsql/client/http';
|
|
28
|
-
import 'oracledb';
|
|
29
|
-
import 'pg';
|
|
30
|
-
import 'pg-copy-streams';
|
|
31
|
-
import 'pg-query-stream';
|
|
32
|
-
import '../../../../_/error.mjs';
|
|
33
|
-
import '../../../../_/database-error.mjs';
|
|
34
|
-
import '../../../../_/type-alias.constants.mjs';
|
|
35
16
|
|
|
36
17
|
const _jobId__get = defineEventHandler((event) => {
|
|
37
18
|
const jobId = getRouterParam(event, "jobId");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_jobId_.get.mjs","sources":["../../../../../../../server/api/database-export/jobs/[jobId].get.ts"],"sourcesContent":null,"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_jobId_.get.mjs","sources":["../../../../../../../server/api/database-export/jobs/[jobId].get.ts"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,oBAAA,mBAAA,CAAA,KAAA,KAAA;AACA,EAAA,MAAA,KAAA,GAAA,cAAA,CAAA,KAAA,EAAA,OAAA,CAAA;AAEA,EAAA,IAAA,CAAA,KAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA;AAAA,KACA,CAAA;AAAA;AAGA,EAAA,OAAA,2BAAA,KAAA,CAAA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { d as defineEventHandler, e as readMultipartFormData, c as createError } from '../../../nitro/nitro.mjs';
|
|
2
2
|
import { c as createDatabaseHttpError } from '../../../_/error.mjs';
|
|
3
|
-
import {
|
|
3
|
+
import { a as startNativeImportJob } from '../../../_/service.mjs';
|
|
4
4
|
import 'node:net';
|
|
5
5
|
import 'ssh2';
|
|
6
6
|
import 'node:http';
|
|
@@ -15,10 +15,8 @@ import '@iconify/utils';
|
|
|
15
15
|
import 'consola';
|
|
16
16
|
import '../../../_/database-error.mjs';
|
|
17
17
|
import '../../../_/database-client-type.mjs';
|
|
18
|
-
import 'node:child_process';
|
|
19
18
|
import 'node:fs/promises';
|
|
20
19
|
import 'node:os';
|
|
21
|
-
import '../../../_/native-backup.mjs';
|
|
22
20
|
import '../../../_/tables.factory.mjs';
|
|
23
21
|
import '../../../_/create-adapter.mjs';
|
|
24
22
|
import '../../../_/db-connection.mjs';
|
|
@@ -32,6 +30,9 @@ import 'pg';
|
|
|
32
30
|
import 'pg-copy-streams';
|
|
33
31
|
import 'pg-query-stream';
|
|
34
32
|
import '../../../_/type-alias.constants.mjs';
|
|
33
|
+
import 'node:child_process';
|
|
34
|
+
import '../../../_/runtime.mjs';
|
|
35
|
+
import '../../../_/registry.mjs';
|
|
35
36
|
|
|
36
37
|
const importDatabase = defineEventHandler(async (event) => {
|
|
37
38
|
var _a;
|
|
@@ -52,6 +53,7 @@ const importDatabase = defineEventHandler(async (event) => {
|
|
|
52
53
|
let filePath = "";
|
|
53
54
|
let type;
|
|
54
55
|
let options = {};
|
|
56
|
+
let runtime;
|
|
55
57
|
let fileData = null;
|
|
56
58
|
let ssl;
|
|
57
59
|
let ssh;
|
|
@@ -80,6 +82,14 @@ const importDatabase = defineEventHandler(async (event) => {
|
|
|
80
82
|
} catch {
|
|
81
83
|
options = {};
|
|
82
84
|
}
|
|
85
|
+
} else if (field.name === "runtime") {
|
|
86
|
+
try {
|
|
87
|
+
runtime = JSON.parse(
|
|
88
|
+
field.data.toString()
|
|
89
|
+
);
|
|
90
|
+
} catch {
|
|
91
|
+
runtime = void 0;
|
|
92
|
+
}
|
|
83
93
|
} else if (field.name === "ssl") {
|
|
84
94
|
try {
|
|
85
95
|
ssl = JSON.parse(field.data.toString());
|
|
@@ -127,6 +137,7 @@ const importDatabase = defineEventHandler(async (event) => {
|
|
|
127
137
|
filePath,
|
|
128
138
|
type,
|
|
129
139
|
options,
|
|
140
|
+
runtime,
|
|
130
141
|
ssl,
|
|
131
142
|
ssh,
|
|
132
143
|
fileData,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-database.mjs","sources":["../../../../../../server/api/database-import/import-database.ts"],"sourcesContent":null,"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"import-database.mjs","sources":["../../../../../../server/api/database-import/import-database.ts"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,uBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;;AAEA,EAAA,MAAA,QAAA,GAAA,MAAA,qBAAA,CAAA,KAAA,CAAA;AAEA,EAAA,IAAA,CAAA,QAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA;AAAA,KACA,CAAA;AAAA;AAIA,EAAA,IAAA,kBAAA,GAAA,EAAA;AACA,EAAA,IAAA,IAAA,GAAA,EAAA;AACA,EAAA,IAAA,IAAA,GAAA,MAAA;AACA,EAAA,IAAA,QAAA,GAAA,EAAA;AACA,EAAA,IAAA,QAAA,GAAA,EAAA;AACA,EAAA,IAAA,QAAA,GAAA,EAAA;AACA,EAAA,IAAA,WAAA,GAAA,EAAA;AACA,EAAA,IAAA,QAAA,GAAA,EAAA;AACA,EAAA,IAAA,IAAA;AACA,EAAA,IAAA,UAAA,EAAA;AACA,EAAA,IAAA,OAAA;AACA,EAAA,IAAA,QAAA,GAAA,IAAA;AACA,EAAA,IAAA,GAAA;AACA,EAAA,IAAA,GAAA;AAEA,EAAA,KAAA,MAAA,SAAA,QAAA,EAAA;AACA,IAAA,IAAA,KAAA,CAAA,SAAA,oBAAA,EAAA;AACA,MAAA,kBAAA,GAAA,KAAA,CAAA,KAAA,QAAA,EAAA;AAAA,KACA,MAAA,IAAA,KAAA,CAAA,IAAA,KAAA,MAAA,EAAA;AACA,MAAA,IAAA,GAAA,KAAA,CAAA,KAAA,QAAA,EAAA;AAAA,KACA,MAAA,IAAA,KAAA,CAAA,IAAA,KAAA,MAAA,EAAA;AACA,MAAA,IAAA,GAAA,KAAA,CAAA,KAAA,QAAA,EAAA;AAAA,KACA,MAAA,IAAA,KAAA,CAAA,IAAA,KAAA,UAAA,EAAA;AACA,MAAA,QAAA,GAAA,KAAA,CAAA,KAAA,QAAA,EAAA;AAAA,KACA,MAAA,IAAA,KAAA,CAAA,IAAA,KAAA,UAAA,EAAA;AACA,MAAA,QAAA,GAAA,KAAA,CAAA,KAAA,QAAA,EAAA;AAAA,KACA,MAAA,IAAA,KAAA,CAAA,IAAA,KAAA,UAAA,EAAA;AACA,MAAA,QAAA,GAAA,KAAA,CAAA,KAAA,QAAA,EAAA;AAAA,KACA,MAAA,IAAA,KAAA,CAAA,IAAA,KAAA,aAAA,EAAA;AACA,MAAA,WAAA,GAAA,KAAA,CAAA,KAAA,QAAA,EAAA;AAAA,KACA,MAAA,IAAA,KAAA,CAAA,IAAA,KAAA,UAAA,EAAA;AACA,MAAA,QAAA,GAAA,KAAA,CAAA,KAAA,QAAA,EAAA;AAAA,KACA,MAAA,IAAA,KAAA,CAAA,IAAA,KAAA,MAAA,EAAA;AACA,MAAA,IAAA,GAAA,KAAA,CAAA,KAAA,QAAA,EAAA;AAAA,KACA,MAAA,IAAA,KAAA,CAAA,IAAA,KAAA,SAAA,EAAA;AACA,MAAA,IAAA;AACA,QAAA,OAAA,GAAA,IAAA,CAAA,KAAA,CAAA,KAAA,CAAA,IAAA,CAAA,UAAA,CAAA;AAAA,OACA,CAAA,MAAA;AACA,QAAA,OAAA,GAAA,EAAA;AAAA;AACA,KACA,MAAA,IAAA,KAAA,CAAA,IAAA,KAAA,SAAA,EAAA;AACA,MAAA,IAAA;AACA,QAAA,OAAA,GAAA,IAAA,CAAA,KAAA;AAAA,UACA,KAAA,CAAA,KAAA,QAAA;AAAA,SACA;AAAA,OACA,CAAA,MAAA;AACA,QAAA,OAAA,GAAA,MAAA;AAAA;AACA,KACA,MAAA,IAAA,KAAA,CAAA,IAAA,KAAA,KAAA,EAAA;AACA,MAAA,IAAA;AACA,QAAA,GAAA,GAAA,IAAA,CAAA,KAAA,CAAA,KAAA,CAAA,IAAA,CAAA,UAAA,CAAA;AAAA,OACA,CAAA,MAAA;AACA,QAAA,GAAA,GAAA,MAAA;AAAA;AACA,KACA,MAAA,IAAA,KAAA,CAAA,IAAA,KAAA,KAAA,EAAA;AACA,MAAA,IAAA;AACA,QAAA,GAAA,GAAA,IAAA,CAAA,KAAA,CAAA,KAAA,CAAA,IAAA,CAAA,UAAA,CAAA;AAAA,OACA,CAAA,MAAA;AACA,QAAA,GAAA,GAAA,MAAA;AAAA;AACA,KACA,MAAA,IAAA,KAAA,CAAA,IAAA,KAAA,MAAA,IAAA,MAAA,QAAA,EAAA;AACA,MAAA,QAAA,GAAA,KAAA,CAAA,IAAA;AAAA;AACA;AAGA,EAAA,IAAA,CAAA,IAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA;AAAA,KACA,CAAA;AAAA;AAGA,EAAA,IAAA,CAAA,kBAAA,IAAA,CAAA,IAAA,IAAA,CAAA,QAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA;AAAA,KACA,CAAA;AAAA;AAGA,EAAA,IAAA,CAAA,QAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA;AAAA,KACA,CAAA;AAAA;AAGA,EAAA,MAAA,cACA,GAAA,CAAA,CAAA,CAAA,EAAA,GAAA,QAAA,CAAA,IAAA,CAAA,CAAA,KAAA,KAAA,KAAA,CAAA,IAAA,KAAA,MAAA,CAAA,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,QAAA,KAAA,YACA,EAAA,OAAA,CAAA,qBAAA,GAAA,CAAA;AAEA,EAAA,IAAA;AACA,IAAA,OAAA,MAAA,oBAAA,CAAA;AAAA,MACA,kBAAA;AAAA,MACA,IAAA;AAAA,MACA,IAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,IAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,GAAA;AAAA,MACA,GAAA;AAAA,MACA,QAAA;AAAA,MACA,gBAAA,CAAA,EAAA,IAAA,CAAA,GAAA,EAAA,IAAA,cAAA,CAAA;AAAA,KACA,CAAA;AAAA,WACA,KAAA,EAAA;AACA,IAAA,IAAA,KAAA,IAAA,OAAA,KAAA,KAAA,QAAA,IAAA,gBAAA,KAAA,EAAA;AACA,MAAA,MAAA,KAAA;AAAA;AAGA,IAAA,MAAA,uBAAA,CAAA,MAAA,KAAA,CAAA;AAAA;AAEA,CAAA,CAAA;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { d as defineEventHandler, a as getRouterParam, c as createError } from '../../../../nitro/nitro.mjs';
|
|
2
|
-
import { g as getNativeBackupJobSnapshot } from '../../../../_/
|
|
2
|
+
import { g as getNativeBackupJobSnapshot } from '../../../../_/registry.mjs';
|
|
3
3
|
import 'node:net';
|
|
4
4
|
import 'ssh2';
|
|
5
5
|
import 'node:http';
|
|
@@ -12,26 +12,7 @@ import 'node:crypto';
|
|
|
12
12
|
import 'node:url';
|
|
13
13
|
import '@iconify/utils';
|
|
14
14
|
import 'consola';
|
|
15
|
-
import 'node:child_process';
|
|
16
15
|
import 'node:fs/promises';
|
|
17
|
-
import 'node:os';
|
|
18
|
-
import '../../../../_/database-client-type.mjs';
|
|
19
|
-
import '../../../../_/native-backup.mjs';
|
|
20
|
-
import '../../../../_/tables.factory.mjs';
|
|
21
|
-
import '../../../../_/create-adapter.mjs';
|
|
22
|
-
import '../../../../_/db-connection.mjs';
|
|
23
|
-
import '../../../../_/redis.client.mjs';
|
|
24
|
-
import 'redis';
|
|
25
|
-
import 'knex';
|
|
26
|
-
import 'node:stream';
|
|
27
|
-
import '@libsql/client/http';
|
|
28
|
-
import 'oracledb';
|
|
29
|
-
import 'pg';
|
|
30
|
-
import 'pg-copy-streams';
|
|
31
|
-
import 'pg-query-stream';
|
|
32
|
-
import '../../../../_/error.mjs';
|
|
33
|
-
import '../../../../_/database-error.mjs';
|
|
34
|
-
import '../../../../_/type-alias.constants.mjs';
|
|
35
16
|
|
|
36
17
|
const _jobId__get = defineEventHandler((event) => {
|
|
37
18
|
const jobId = getRouterParam(event, "jobId");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_jobId_.get.mjs","sources":["../../../../../../../server/api/database-import/jobs/[jobId].get.ts"],"sourcesContent":null,"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_jobId_.get.mjs","sources":["../../../../../../../server/api/database-import/jobs/[jobId].get.ts"],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,oBAAA,mBAAA,CAAA,KAAA,KAAA;AACA,EAAA,MAAA,KAAA,GAAA,cAAA,CAAA,KAAA,EAAA,OAAA,CAAA;AAEA,EAAA,IAAA,CAAA,KAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA;AAAA,KACA,CAAA;AAAA;AAGA,EAAA,OAAA,2BAAA,KAAA,CAAA;AACA,CAAA,CAAA;;;;"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as H}from"./DViCRsmA.js";import{d as R,bw as K,e as a,m as d,f as o,bg as U,w as C,g as r,A as j,a4 as G,o as t,z as k,k as V,t as u,l as S,bj as W,r as q,c as M,ao as J,F as y,s as T,n as z,j as X,bf as Y,O as Z,i as ee,bx as te,by as se,bz as ne}from"./DgGwe7jd.js";import{_ as oe,a as ae}from"./Cl3VX8Um.js";import{_ as ie}from"./BKAEFZqP.js";import{_ as P}from"./Un5zjlKE.js";import{_ as re}from"./CnQob-tn.js";const de={class:"flex flex-col gap-2 rounded-lg border bg-card p-4 sm:flex-row sm:items-end sm:justify-between"},le={class:"flex min-w-0 flex-1 flex-col gap-1.5"},ce={class:"flex h-9 items-center justify-center sm:w-6"},ue={class:"flex min-w-0 flex-1 flex-col gap-1.5"},me=R({__name:"SchemaDiffConnectionSelector",props:{sourceConnection:{},targetConnection:{},connections:{},isLoading:{type:Boolean}},emits:["update:targetConnection","run"],setup(x,{emit:_}){const{workspaceId:p}=K(),l=_;return(n,f)=>{var e,c;const g=U,v=j,w=G;return t(),a("div",de,[d("div",le,[o(g,{class:"text-xs font-medium text-muted-foreground"},{default:C(()=>f[2]||(f[2]=[k("Source")])),_:1}),o(P,{class:"h-9 w-full","workspace-id":r(p)||"","connection-id":((e=n.sourceConnection)==null?void 0:e.id)||"",connection:n.sourceConnection||void 0,connections:n.sourceConnection?[n.sourceConnection]:[],disabled:""},null,8,["workspace-id","connection-id","connection","connections"])]),d("div",ce,[o(v,{name:"hugeicons:arrow-right-02",class:"size-4 text-muted-foreground"})]),d("div",ue,[o(g,{class:"text-xs font-medium text-muted-foreground"},{default:C(()=>f[3]||(f[3]=[k("Target")])),_:1}),o(P,{class:"h-9 w-full","workspace-id":r(p)||"","connection-id":((c=n.targetConnection)==null?void 0:c.id)||"",connection:n.targetConnection||void 0,connections:n.connections,"onUpdate:connectionId":f[0]||(f[0]=$=>l("update:targetConnection",n.connections.find(b=>b.id===$)||null)),"skip-strict-mode-connections":""},null,8,["workspace-id","connection-id","connection","connections"])]),o(w,{disabled:!n.sourceConnection||!n.targetConnection||n.isLoading,size:"sm",onClick:f[1]||(f[1]=$=>l("run"))},{default:C(()=>[n.isLoading?(t(),V(v,{key:0,name:"hugeicons:loading-03",class:"size-4 animate-spin"})):(t(),V(v,{key:1,name:"hugeicons:git-compare",class:"size-4"})),k(" "+u(n.isLoading?"Comparing...":"Run Diff"),1)]),_:1},8,["disabled"])])}}}),fe={class:"flex flex-col gap-3"},pe={class:"flex items-center gap-3"},ge={class:"flex items-center gap-2 text-sm"},xe={class:"text-xs text-muted-foreground"},_e={class:"ml-auto flex items-center gap-2 text-xs"},he={key:0,class:"flex items-center gap-1 rounded-md bg-red-100 px-2 py-1 text-xs text-red-700 dark:bg-red-900/30 dark:text-red-400"},ve={key:0,class:"flex items-start gap-2 rounded-md border border-amber-200 bg-amber-50 p-3 text-xs text-amber-800 dark:border-amber-800 dark:bg-amber-900/20 dark:text-amber-300"},ye={key:2,class:"min-h-32 flex items-center justify-center rounded-md border bg-muted/30 p-4 font-mono text-xs text-muted-foreground"},ke=R({__name:"SchemaDiffSqlPanel",props:{sql:{},safeMode:{type:Boolean},statementCount:{},destructiveCount:{}},emits:["update:safeMode"],setup(x,{emit:_}){const p=_;return(l,n)=>{const f=j,g=U,v=W,w=re;return t(),a("div",fe,[d("div",pe,[d("div",ge,[o(f,{name:"hugeicons:code",class:"size-4 text-muted-foreground"}),n[1]||(n[1]=d("span",{class:"font-medium"},"Generated SQL",-1)),d("span",xe,"("+u(l.statementCount)+" statements)",1)]),d("div",_e,[o(g,{for:"safe-mode-toggle",class:"cursor-pointer text-muted-foreground"},{default:C(()=>n[2]||(n[2]=[k(" Safe mode ")])),_:1}),o(v,{id:"safe-mode-toggle","model-value":l.safeMode,"onUpdate:modelValue":n[0]||(n[0]=e=>p("update:safeMode",e))},null,8,["model-value"])]),l.destructiveCount>0&&!l.safeMode?(t(),a("div",he,[o(f,{name:"hugeicons:alert-circle",class:"size-3.5"}),k(" "+u(l.destructiveCount)+" destructive ",1)])):S("",!0)]),l.safeMode?(t(),a("div",ve,[o(f,{name:"hugeicons:shield-01",class:"mt-0.5 size-3.5 shrink-0"}),n[3]||(n[3]=d("span",null,"Safe mode is on — destructive statements (DROP TABLE, DROP COLUMN) are commented out. Disable to include them.",-1))])):S("",!0),l.sql?(t(),V(w,{key:1,code:l.sql,language:"sql","max-height":"400px"},null,8,["code"])):(t(),a("div",ye," No SQL statements generated. "))])}}}),be={class:"space-y-1 font-mono text-sm"},we={class:"mb-3 flex flex-wrap gap-2"},Ce=["onClick"],$e={key:0,class:"divide-y"},ze=["onClick"],Se={class:"flex-1 truncate"},De={class:"flex-1 truncate text-xs"},qe={class:"shrink-0 text-xxs text-muted-foreground"},Le={class:"flex-1 truncate text-xs"},Te={class:"flex-1 truncate"},Me={class:"flex-1 truncate"},Ve={key:0,class:"flex flex-col items-center gap-2 py-12 text-muted-foreground"},Be=R({__name:"SchemaDiffTree",props:{result:{}},setup(x){const _=q(new Set),p=q(new Set),l={added:{label:"Added",class:"text-emerald-600 dark:text-emerald-400",icon:"hugeicons:plus-sign"},removed:{label:"Removed",class:"text-red-600 dark:text-red-400",icon:"hugeicons:minus-sign"},modified:{label:"Modified",class:"text-amber-600 dark:text-amber-400",icon:"hugeicons:edit-02"},unchanged:{label:"Unchanged",class:"text-muted-foreground",icon:"hugeicons:check-01"}},n={added:"bg-emerald-100 text-emerald-700 dark:bg-emerald-900/40 dark:text-emerald-400 rounded-sm",removed:"bg-red-100 text-red-700 dark:bg-red-900/40 dark:text-red-400 rounded-sm",modified:"bg-amber-100 text-amber-700 dark:bg-amber-900/40 dark:text-amber-400 rounded-sm"},f=e=>{_.value.has(e)?_.value.delete(e):_.value.add(e)},g=e=>{p.value.has(e)?p.value.delete(e):p.value.add(e)},v=(e,c)=>`${e}.${c}`,w=M(()=>x.result.schemas.filter(e=>e.tables.some(c=>c.status!=="unchanged")||e.views.some(c=>c.status!=="unchanged")||e.functions.some(c=>c.status!=="unchanged")));return J(()=>{for(const e of w.value)_.value.add(e.name)}),(e,c)=>{const $=Y,b=j;return t(),a("div",be,[d("div",we,[(t(!0),a(y,null,T(e.result.summary,(h,s)=>(t(),a(y,{key:s},[s!=="unchanged"?(t(),V($,{key:0,variant:"outline",class:z(r(X)(n[s],"capitalize border-0"))},{default:C(()=>[k(u(h)+" "+u(s),1)]),_:2},1032,["class"])):S("",!0)],64))),128))]),(t(!0),a(y,null,T(r(w),h=>(t(),a("div",{key:h.name,class:"rounded-md border overflow-hidden"},[d("button",{class:"flex w-full items-center gap-2 bg-muted/50 px-3 py-2 text-left text-xs font-semibold capitalize text-muted-foreground hover:bg-muted",onClick:s=>f(h.name)},[o(b,{name:r(_).has(h.name)?"hugeicons:arrow-down-01":"hugeicons:arrow-right-01",class:"size-3.5 shrink-0"},null,8,["name"]),o(b,{name:"hugeicons:database",class:"size-3.5 shrink-0"}),k(" "+u(h.name),1)],8,Ce),r(_).has(h.name)?(t(),a("div",$e,[(t(!0),a(y,null,T(h.tables.filter(s=>s.status!=="unchanged"),s=>(t(),a(y,{key:s.name},[d("div",{class:z(["flex cursor-pointer items-center gap-2 px-4 py-2 hover:bg-muted/30",l[s.status].class]),onClick:i=>g(v(h.name,s.name))},[o(b,{name:r(p).has(v(h.name,s.name))?"hugeicons:arrow-down-01":"hugeicons:arrow-right-01",class:"size-3 shrink-0 text-muted-foreground"},null,8,["name"]),o(b,{name:"hugeicons:table-01",class:"size-3.5 shrink-0"}),d("span",Se,u(s.name),1),d("span",{class:z(["ml-auto shrink-0 rounded px-1.5 py-0.5 text-xxs font-medium capitalize",n[s.status]])},u(s.status),3)],10,ze),r(p).has(v(h.name,s.name))?(t(),a(y,{key:0},[(t(!0),a(y,null,T(s.columns.filter(i=>i.status!=="unchanged"),i=>{var D,m,B;return t(),a("div",{key:i.name,class:z(["flex items-center gap-2 py-1.5 pl-10 pr-4",l[i.status].class])},[o(b,{name:"hugeicons:columns-02",class:"size-3 shrink-0 opacity-60"}),d("span",De,u(i.name),1),d("span",qe,[i.status==="added"?(t(),a(y,{key:0},[k(u((D=i.source)==null?void 0:D.type),1)],64)):i.status==="removed"?(t(),a(y,{key:1},[k(u((m=i.target)==null?void 0:m.type),1)],64)):(B=i.changes)!=null&&B.type?(t(),a(y,{key:2},[k(u(i.changes.type.from)+" → "+u(i.changes.type.to),1)],64)):S("",!0)]),d("span",{class:z(["shrink-0 rounded px-1 py-0.5 text-[9px] font-medium capitalize",n[i.status]])},u(i.status),3)],2)}),128)),(t(!0),a(y,null,T(s.foreignKeys.filter(i=>i.status!=="unchanged"),i=>(t(),a("div",{key:i.key,class:z(["flex items-center gap-2 py-1.5 pl-10 pr-4",l[i.status].class])},[o(b,{name:"hugeicons:link-01",class:"size-3 shrink-0 opacity-60"}),d("span",Le,u(i.key),1),d("span",{class:z(["shrink-0 rounded px-1 py-0.5 text-[9px] font-medium capitalize",n[i.status]])},u(i.status),3)],2))),128))],64)):S("",!0)],64))),128)),(t(!0),a(y,null,T(h.views.filter(s=>s.status!=="unchanged"),s=>(t(),a("div",{key:s.name,class:z(["flex items-center gap-2 px-4 py-2",l[s.status].class])},[o(b,{name:"hugeicons:eye",class:"size-3.5 shrink-0"}),d("span",Te,u(s.name),1),c[0]||(c[0]=d("span",{class:"ml-2 shrink-0 text-xxs text-muted-foreground"},"view",-1)),d("span",{class:z(["ml-auto shrink-0 rounded px-1.5 py-0.5 text-xxs font-medium capitalize",n[s.status]])},u(s.status),3)],2))),128)),(t(!0),a(y,null,T(h.functions.filter(s=>s.status!=="unchanged"),s=>(t(),a("div",{key:s.signature,class:z(["flex items-center gap-2 px-4 py-2",l[s.status].class])},[o(b,{name:"hugeicons:function-of-x",class:"size-3.5 shrink-0"}),d("span",Me,u(s.name),1),c[1]||(c[1]=d("span",{class:"ml-2 shrink-0 text-xxs text-muted-foreground"},"fn",-1)),d("span",{class:z(["ml-auto shrink-0 rounded px-1.5 py-0.5 text-xxs font-medium capitalize",n[s.status]])},u(s.status),3)],2))),128))])):S("",!0)]))),128)),r(w).length===0?(t(),a("div",Ve,[o(b,{name:"hugeicons:checkmark-circle-02",class:"size-10 text-emerald-500"}),c[2]||(c[2]=d("p",{class:"text-sm font-medium"},"Schemas are identical",-1)),c[3]||(c[3]=d("p",{class:"text-xs"},"No differences detected between source and target.",-1))])):S("",!0)])}}}),Ie={diff:x=>$fetch("/api/schema-diff",{method:"POST",body:x})};function Re(){const x=q(null),_=q(!1),p=q(null),l=q(!0),n=e=>({type:e.type,connectionString:e.connectionString,host:e.host,port:e.port,username:e.username,password:e.password,database:e.database,ssl:e.ssl,ssh:e.ssh}),f=async(e,c)=>{_.value=!0,p.value=null,x.value=null;try{x.value=await Ie.diff({source:n(e),target:n(c),safeMode:l.value})}catch($){p.value=$ instanceof Error?$.message:"Schema diff failed. Check connection details."}finally{_.value=!1}},g=()=>{x.value=null,p.value=null},v=M(()=>x.value?l.value?x.value.sql.safe:x.value.sql.full:""),w=M(()=>{if(!x.value)return!1;const{added:e,removed:c,modified:$}=x.value.summary;return e+c+$>0});return{result:x,isLoading:_,error:p,safeMode:l,currentSql:v,hasDifferences:w,runDiff:f,reset:g}}const je={class:"flex h-full flex-col gap-4 overflow-hidden p-4"},Ne={class:"flex items-center justify-between gap-2"},Pe={key:0,class:"ml-1 rounded-full bg-primary px-1.5 py-0.5 text-xxs text-primary-foreground"},Ue={key:0,class:"ml-1 rounded-full bg-muted px-1.5 py-0.5 text-xxs text-muted-foreground"},Ae={class:"text-xs text-muted-foreground"},Oe={key:0,class:"flex-1 overflow-y-auto"},Qe={key:1,class:"flex-1 overflow-y-auto"},Ee={key:2,class:"flex flex-1 flex-col items-center justify-center gap-3 text-muted-foreground"},Xe=R({__name:"SchemaDiffContainer",props:{sourceConnectionId:{}},setup(x){const _=x,p=Z(),l=M(()=>p.connections.find(D=>D.id===_.sourceConnectionId)??null),n=M(()=>p.connections.filter(D=>D.id!==_.sourceConnectionId)),f=q(null),{result:g,isLoading:v,error:w,safeMode:e,currentSql:c,hasDifferences:$,runDiff:b}=Re(),h=async()=>{!l.value||!f.value||await b(l.value,f.value)},s=M(()=>{var D;return((D=g.value)==null?void 0:D.sql.statements.filter(m=>m.destructive).length)??0}),i=q("diff");return(D,m)=>{const B=H,I=j,A=ie,O=ae,Q=oe,N=ne,E=se,F=te;return t(),a("div",je,[o(B,{icon:"hugeicons:git-compare",title:"Schema Diff",description:"Compare schemas between two database connections and generate sync SQL."}),o(me,{"source-connection":r(l),"target-connection":r(f),connections:r(n),"is-loading":r(v),"onUpdate:targetConnection":m[0]||(m[0]=L=>f.value=L),onRun:h},null,8,["source-connection","target-connection","connections","is-loading"]),r(w)?(t(),V(Q,{key:0,class:"border-border bg-muted/30"},{default:C(()=>[o(I,{name:"hugeicons:alert-circle",class:"size-4 text-destructive"}),o(A,{class:"text-destructive"},{default:C(()=>m[5]||(m[5]=[k("Diff Failed")])),_:1}),o(O,{class:"text-muted-foreground"},{default:C(()=>[k(u(r(w)),1)]),_:1})]),_:1})):S("",!0),r(g)?(t(),a(y,{key:1},[d("div",Ne,[o(F,{modelValue:r(i),"onUpdate:modelValue":m[3]||(m[3]=L=>ee(i)?i.value=L:null),class:"min-w-0 flex-1 gap-0"},{default:C(()=>[o(E,{size:"sm",class:"max-w-full justify-start! overflow-x-auto"},{default:C(()=>[o(N,{size:"xs",value:"diff",class:"min-w-fit shrink-0 cursor-pointer rounded-sm",onClick:m[1]||(m[1]=L=>i.value="diff")},{default:C(()=>[o(I,{name:"hugeicons:git-compare",class:"shrink-0 size-3.5"}),m[6]||(m[6]=k(" Diff View ")),r($)?(t(),a("span",Pe,u(r(g).summary.added+r(g).summary.removed+r(g).summary.modified),1)):S("",!0)]),_:1}),o(N,{value:"sql",class:"min-w-fit shrink-0 cursor-pointer rounded-sm px-1.5 text-xs",onClick:m[2]||(m[2]=L=>i.value="sql")},{default:C(()=>[o(I,{name:"hugeicons:code",class:"shrink-0 size-3.5"}),m[7]||(m[7]=k(" SQL ")),r(g).sql.statements.length>0?(t(),a("span",Ue,u(r(g).sql.statements.length),1)):S("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"]),d("div",Ae,u(r(i)==="diff"?"Visualize structural differences":"Review synchronization script"),1)]),r(i)==="diff"?(t(),a("div",Oe,[o(Be,{result:r(g)},null,8,["result"])])):(t(),a("div",Qe,[o(ke,{sql:r(c),"safe-mode":r(e),"statement-count":r(g).sql.statements.length,"destructive-count":r(s),"onUpdate:safeMode":m[4]||(m[4]=L=>e.value=L)},null,8,["sql","safe-mode","statement-count","destructive-count"])]))],64)):r(v)?S("",!0):(t(),a("div",Ee,[o(I,{name:"hugeicons:git-compare",class:"size-14 opacity-30"}),m[8]||(m[8]=d("p",{class:"text-sm"},"Select a target connection and run the diff",-1))]))])}}});export{Xe as _};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./DRX1aIGD.js";import{_ as i}from"./DYqShb5v.js";import"./CBjcd4cE.js";import"./BbLqUOHs.js";import"./CROH8wgk.js";import"./3jfBYqJb.js";import"./DgGwe7jd.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{bA as y,bB as k,a5 as x,d as _,V as R,ak as A,c as p,bC as P,k as m,o as b,w as n,D as q,l as j,g as e,bD as M,p as g,bE as D,bc as K,q as N,bF as z,a6 as S,f as C,aq as H,bG as L,j as O,bH as T}from"./DgGwe7jd.js";function w(s,d){return y(s)?!1:Array.isArray(s)?s.some(t=>k(t,d)):k(s,d)}const[J,ee]=x("CheckboxGroupRoot");function h(s){return s==="indeterminate"}function E(s){return h(s)?"indeterminate":s?"checked":"unchecked"}const[Q,U]=x("CheckboxRoot");var W=_({inheritAttrs:!1,__name:"CheckboxRoot",props:{defaultValue:{type:[Boolean,String],required:!1},modelValue:{type:[Boolean,String,null],required:!1,default:void 0},disabled:{type:Boolean,required:!1},value:{type:null,required:!1,default:"on"},id:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue"],setup(s,{emit:d}){const t=s,r=d,{forwardRef:c,currentElement:f}=R(),l=J(null),o=A(t,"modelValue",r,{defaultValue:t.defaultValue,passive:t.modelValue===void 0}),u=p(()=>(l==null?void 0:l.disabled.value)||t.disabled),i=p(()=>y(l==null?void 0:l.modelValue.value)?o.value==="indeterminate"?"indeterminate":o.value:w(l.modelValue.value,t.value));function F(){if(y(l==null?void 0:l.modelValue.value))o.value=h(o.value)?!0:!o.value;else{const a=[...l.modelValue.value||[]];if(w(a,t.value)){const V=a.findIndex(v=>k(v,t.value));a.splice(V,1)}else a.push(t.value);l.modelValue.value=a}}const I=P(f),$=p(()=>{var a;return t.id&&f.value?(a=document.querySelector(`[for="${t.id}"]`))==null?void 0:a.innerText:void 0});return U({disabled:u,state:i}),(a,V)=>{var v,B;return b(),m(N((v=e(l))!=null&&v.rovingFocus.value?e(z):e(S)),g(a.$attrs,{id:a.id,ref:e(c),role:"checkbox","as-child":a.asChild,as:a.as,type:a.as==="button"?"button":void 0,"aria-checked":e(h)(i.value)?"mixed":i.value,"aria-required":a.required,"aria-label":a.$attrs["aria-label"]||$.value,"data-state":e(E)(i.value),"data-disabled":u.value?"":void 0,disabled:u.value,focusable:(B=e(l))!=null&&B.rovingFocus.value?!u.value:void 0,onKeydown:D(K(()=>{},["prevent"]),["enter"]),onClick:F}),{default:n(()=>[q(a.$slots,"default",{modelValue:e(o),state:i.value}),e(I)&&a.name&&!e(l)?(b(),m(e(M),{key:0,type:"checkbox",checked:!!i.value,name:a.name,value:a.value,disabled:u.value,required:a.required},null,8,["checked","name","value","disabled","required"])):j("v-if",!0)]),_:3},16,["id","as-child","as","type","aria-checked","aria-required","aria-label","data-state","data-disabled","disabled","focusable","onKeydown"])}}}),X=W,Y=_({__name:"CheckboxIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(s){const{forwardRef:d}=R(),t=Q();return(r,c)=>(b(),m(e(H),{present:r.forceMount||e(h)(e(t).state.value)||e(t).state.value===!0},{default:n(()=>[C(e(S),g({ref:e(d),"data-state":e(E)(e(t).state.value),"data-disabled":e(t).disabled.value?"":void 0,style:{pointerEvents:"none"},"as-child":r.asChild,as:r.as},r.$attrs),{default:n(()=>[q(r.$slots,"default")]),_:3},16,["data-state","data-disabled","as-child","as"])]),_:3},8,["present"]))}}),Z=Y;const ae=_({__name:"Checkbox",props:{defaultValue:{type:[Boolean,String]},modelValue:{type:[Boolean,String,null]},disabled:{type:Boolean},value:{},id:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{}},emits:["update:modelValue"],setup(s,{emit:d}){const t=s,r=d,c=p(()=>{const{class:l,...o}=t;return o}),f=L(c,r);return(l,o)=>(b(),m(e(X),g({"data-slot":"checkbox"},e(f),{class:e(O)("peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t.class)}),{default:n(()=>[C(e(Z),{"data-slot":"checkbox-indicator",class:"flex items-center justify-center text-current transition-none"},{default:n(()=>[q(l.$slots,"default",{},()=>[C(e(T),{class:"size-3.5"})])]),_:3})]),_:3},16,["class"]))}});export{ae as _,w as i};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as m,k as p,o as u,w as i,D as v,W as E,X as R,g as e,a6 as V,p as b,ak as X,r as O,aD as re,a5 as Z,bV as se,bG as k,V as q,am as H,f as M,dw as le,bc as K,aq as ue,aE as ie,c1 as de,c9 as G,dx as pe,ar as I,al as J,bS as ce,an as fe,U as _e,i as ge,c as F,ao as ye,e as D,F as z,j as L,Z as Q,dy as me,s as W,l as T,z as $,t as A,A as ve,n as he}from"./DgGwe7jd.js";import{i as j,p as Ce,e as ee,f as xe,g as be,h as Be,d as te,a as Me,b as qe,M as we,c as Se}from"./DyDU0wFf.js";import{_ as Pe}from"./DP6Az3fC.js";var Oe=m({__name:"MenuLabel",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(n){const o=n;return(t,l)=>(u(),p(e(V),E(R(o)),{default:i(()=>[v(t.$slots,"default")]),_:3},16))}}),ke=Oe,Te=m({__name:"MenuSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(n){const o=n;return(t,l)=>(u(),p(e(V),b(o,{role:"separator","aria-orientation":"horizontal"}),{default:i(()=>[v(t.$slots,"default")]),_:3},16))}}),Ae=Te;const[ne,Fe]=Z("MenuSub");var $e=m({__name:"MenuSub",props:{open:{type:Boolean,required:!1,default:void 0}},emits:["update:open"],setup(n,{emit:o}){const t=n,r=X(t,"open",o,{defaultValue:!1,passive:t.open===void 0}),a=j(),s=O(),d=O();return re(c=>{(a==null?void 0:a.open.value)===!1&&(r.value=!1),c(()=>r.value=!1)}),Ce({open:r,onOpenChange:c=>{r.value=c},content:d,onContentChange:c=>{d.value=c}}),Fe({triggerId:"",contentId:"",trigger:s,onTriggerChange:c=>{s.value=c}}),(c,C)=>(u(),p(e(se),null,{default:i(()=>[v(c.$slots,"default")]),_:3}))}}),De=$e,Ee=m({__name:"MenuSubContent",props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1,default:!0},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(n,{emit:o}){const r=k(n,o),a=j(),s=ee(),d=ne(),{forwardRef:c,currentElement:C}=q();return d.contentId||(d.contentId=H(void 0,"reka-menu-sub-content")),(x,_)=>(u(),p(e(ue),{present:x.forceMount||e(a).open.value},{default:i(()=>[M(xe,b(e(r),{id:e(d).contentId,ref:e(c),"aria-labelledby":e(d).triggerId,align:"start",side:e(s).dir.value==="rtl"?"left":"right","disable-outside-pointer-events":!1,"disable-outside-scroll":!1,"trap-focus":!1,onOpenAutoFocus:_[0]||(_[0]=K(f=>{var h;e(s).isUsingKeyboardRef.value&&((h=e(C))==null||h.focus())},["prevent"])),onCloseAutoFocus:_[1]||(_[1]=K(()=>{},["prevent"])),onFocusOutside:_[2]||(_[2]=f=>{f.defaultPrevented||f.target!==e(d).trigger.value&&e(a).onOpenChange(!1)}),onEscapeKeyDown:_[3]||(_[3]=f=>{e(s).onClose(),f.preventDefault()}),onKeydown:_[4]||(_[4]=f=>{var w,S;const h=(w=f.currentTarget)==null?void 0:w.contains(f.target),g=e(le)[e(s).dir.value].includes(f.key);h&&g&&(e(a).onOpenChange(!1),(S=e(d).trigger.value)==null||S.focus(),f.preventDefault())})}),{default:i(()=>[v(x.$slots,"default")]),_:3},16,["id","aria-labelledby","side"])]),_:3},8,["present"]))}}),Re=Ee,Le=m({__name:"MenuSubTrigger",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(n){const o=n,t=j(),l=ee(),r=ne(),a=be(),s=O(null);r.triggerId||(r.triggerId=H(void 0,"reka-menu-sub-trigger"));function d(){s.value&&window.clearTimeout(s.value),s.value=null}ie(()=>{d()});function c(_){!G(_)||a.onItemEnter(_)||!o.disabled&&!t.open.value&&!s.value&&(a.onPointerGraceIntentChange(null),s.value=window.setTimeout(()=>{t.onOpenChange(!0),d()},100))}async function C(_){var h,g;if(!G(_))return;d();const f=(h=t.content.value)==null?void 0:h.getBoundingClientRect();if(f!=null&&f.width){const w=(g=t.content.value)==null?void 0:g.dataset.side,S=w==="right",U=S?-5:5,y=f[S?"left":"right"],N=f[S?"right":"left"];a.onPointerGraceIntentChange({area:[{x:_.clientX+U,y:_.clientY},{x:y,y:f.top},{x:N,y:f.top},{x:N,y:f.bottom},{x:y,y:f.bottom}],side:w}),window.clearTimeout(a.pointerGraceTimerRef.value),a.pointerGraceTimerRef.value=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(_))return;a.onPointerGraceIntentChange(null)}}async function x(_){var h;const f=a.searchRef.value!=="";o.disabled||f&&_.key===" "||pe[l.dir.value].includes(_.key)&&(t.onOpenChange(!0),await I(),(h=t.content.value)==null||h.focus(),_.preventDefault())}return(_,f)=>(u(),p(te,{"as-child":""},{default:i(()=>[M(Be,b(o,{id:e(r).triggerId,ref:h=>{var g;(g=e(r))==null||g.onTriggerChange(h==null?void 0:h.$el)},"aria-haspopup":"menu","aria-expanded":e(t).open.value,"aria-controls":e(r).contentId,"data-state":e(de)(e(t).open.value),onClick:f[0]||(f[0]=async h=>{o.disabled||h.defaultPrevented||(h.currentTarget.focus(),e(t).open.value||e(t).onOpenChange(!0))}),onPointermove:c,onPointerleave:C,onKeydown:x}),{default:i(()=>[v(_.$slots,"default")]),_:3},16,["id","aria-expanded","aria-controls","data-state"])]),_:3}))}}),ze=Le;const[ae,Ne]=Z("ContextMenuRoot");var Ie=m({inheritAttrs:!1,__name:"ContextMenuRoot",props:{pressOpenDelay:{type:Number,required:!1,default:700},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(n,{emit:o}){const t=n,l=o,{dir:r,modal:a,pressOpenDelay:s}=J(t);q();const d=ce(r),c=O(!1),C=O();return Ne({open:c,onOpenChange:x=>{c.value=x},dir:d,modal:a,triggerElement:C,pressOpenDelay:s}),fe(c,x=>{l("update:open",x)}),(x,_)=>(u(),p(e(Me),{open:c.value,"onUpdate:open":_[0]||(_[0]=f=>c.value=f),dir:e(d),modal:e(a)},{default:i(()=>[v(x.$slots,"default")]),_:3},8,["open","dir","modal"]))}}),Ue=Ie,Ke=m({__name:"ContextMenuContent",props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},sideFlip:{type:Boolean,required:!1},alignOffset:{type:Number,required:!1,default:0},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1,default:!0},collisionBoundary:{type:null,required:!1,default:()=>[]},collisionPadding:{type:[Number,Object],required:!1,default:0},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1,default:"partial"},hideWhenDetached:{type:Boolean,required:!1,default:!1},positionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","closeAutoFocus"],setup(n,{emit:o}){const r=k(n,o);q();const a=ae(),s=O(!1);return(d,c)=>(u(),p(e(qe),b(e(r),{side:"right","side-offset":2,align:"start","update-position-strategy":"always",style:{"--reka-context-menu-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-context-menu-content-available-width":"var(--reka-popper-available-width)","--reka-context-menu-content-available-height":"var(--reka-popper-available-height)","--reka-context-menu-trigger-width":"var(--reka-popper-anchor-width)","--reka-context-menu-trigger-height":"var(--reka-popper-anchor-height)"},onCloseAutoFocus:c[0]||(c[0]=C=>{!C.defaultPrevented&&s.value&&C.preventDefault(),s.value=!1}),onInteractOutside:c[1]||(c[1]=C=>{C.detail.originalEvent.button===2&&C.target===e(a).triggerElement.value&&C.preventDefault(),!C.defaultPrevented&&!e(a).modal.value&&(s.value=!0)})}),{default:i(()=>[v(d.$slots,"default")]),_:3},16))}}),Ve=Ke,je=m({__name:"ContextMenuItem",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(n,{emit:o}){const t=n,r=_e(o);return q(),(a,s)=>(u(),p(e(we),E(R({...t,...e(r)})),{default:i(()=>[v(a.$slots,"default")]),_:3},16))}}),Ge=je,We=m({__name:"ContextMenuLabel",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(n){const o=n;return q(),(t,l)=>(u(),p(e(ke),E(R(o)),{default:i(()=>[v(t.$slots,"default")]),_:3},16))}}),Ye=We,Xe=m({__name:"ContextMenuPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(n){const o=n;return(t,l)=>(u(),p(e(Se),E(R(o)),{default:i(()=>[v(t.$slots,"default")]),_:3},16))}}),Ze=Xe,He=m({__name:"ContextMenuSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(n){const o=n;return q(),(t,l)=>(u(),p(e(Ae),E(R(o)),{default:i(()=>[v(t.$slots,"default")]),_:3},16))}}),Je=He,Qe=m({__name:"ContextMenuSub",props:{defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1,default:void 0}},emits:["update:open"],setup(n,{emit:o}){const t=n,l=o;q();const r=X(t,"open",l,{defaultValue:t.defaultOpen,passive:t.open===void 0});return(a,s)=>(u(),p(e(De),{open:e(r),"onUpdate:open":s[0]||(s[0]=d=>ge(r)?r.value=d:null)},{default:i(()=>[v(a.$slots,"default",{open:e(r)})]),_:3},8,["open"]))}}),et=Qe,tt=m({__name:"ContextMenuSubContent",props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(n,{emit:o}){const r=k(n,o);return q(),(a,s)=>(u(),p(e(Re),b(e(r),{style:{"--reka-context-menu-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-context-menu-content-available-width":"var(--reka-popper-available-width)","--reka-context-menu-content-available-height":"var(--reka-popper-available-height)","--reka-context-menu-trigger-width":"var(--reka-popper-anchor-width)","--reka-context-menu-trigger-height":"var(--reka-popper-anchor-height)"}}),{default:i(()=>[v(a.$slots,"default")]),_:3},16))}}),nt=tt,at=m({__name:"ContextMenuSubTrigger",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(n){const o=n;return q(),(t,l)=>(u(),p(e(ze),E(R(o)),{default:i(()=>[v(t.$slots,"default")]),_:3},16))}}),ot=at;function Y(n){return n.pointerType!=="mouse"}var rt=m({inheritAttrs:!1,__name:"ContextMenuTrigger",props:{disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(n){const o=n,{disabled:t}=J(o),{forwardRef:l,currentElement:r}=q(),a=ae(),s=O({x:0,y:0}),d=F(()=>({getBoundingClientRect:()=>({width:0,height:0,left:s.value.x,right:s.value.x,top:s.value.y,bottom:s.value.y,...s.value})})),c=O(0);function C(){window.clearTimeout(c.value)}function x(g){s.value={x:g.clientX,y:g.clientY},a.onOpenChange(!0)}async function _(g){t.value||(await I(),g.defaultPrevented||(C(),x(g),g.preventDefault()))}async function f(g){t.value||(await I(),Y(g)&&!g.defaultPrevented&&(C(),c.value=window.setTimeout(()=>x(g),a.pressOpenDelay.value)))}async function h(g){t.value||(await I(),Y(g)&&!g.defaultPrevented&&C())}return ye(()=>{r.value&&(a.triggerElement.value=r.value)}),(g,w)=>(u(),D(z,null,[M(e(te),{as:"template",reference:d.value},null,8,["reference"]),M(e(V),b({ref:e(l),as:g.as,"as-child":g.asChild,"data-state":e(a).open.value?"open":"closed","data-disabled":e(t)?"":void 0,style:{WebkitTouchCallout:"none",pointerEvents:"auto"}},g.$attrs,{onContextmenu:_,onPointerdown:f,onPointermove:h,onPointercancel:h,onPointerup:h}),{default:i(()=>[v(g.$slots,"default")]),_:3},16,["as","as-child","data-state","data-disabled"])],64))}}),st=rt;const lt=m({__name:"ContextMenu",props:{pressOpenDelay:{},dir:{},modal:{type:Boolean}},emits:["update:open"],setup(n,{emit:o}){const r=k(n,o);return(a,s)=>(u(),p(e(Ue),b({"data-slot":"context-menu"},e(r)),{default:i(()=>[v(a.$slots,"default")]),_:3},16))}}),ut=m({__name:"ContextMenuContent",props:{forceMount:{type:Boolean},loop:{type:Boolean},sideFlip:{type:Boolean},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{},restoreFocus:{type:Boolean,default:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","closeAutoFocus"],setup(n,{emit:o}){const t=n,l=o,r=F(()=>{const{class:s,restoreFocus:d,...c}=t;return c}),a=k(r,l);return(s,d)=>(u(),p(e(Ze),null,{default:i(()=>[M(e(Ve),b({"data-slot":"context-menu-content"},e(a),{onCloseAutoFocus:d[0]||(d[0]=c=>!t.restoreFocus&&c.preventDefault()),class:e(L)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--reka-context-menu-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",t.class)}),{default:i(()=>[v(s.$slots,"default")]),_:3},16,["class"])]),_:3}))}}),it=m({__name:"ContextMenuItem",props:{disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{},inset:{type:Boolean},variant:{default:"default"}},emits:["select"],setup(n,{emit:o}){const t=n,l=o,r=F(()=>{const{class:s,...d}=t;return d}),a=k(r,l);return(s,d)=>(u(),p(e(Ge),b({"data-slot":"context-menu-item","data-inset":s.inset?"":void 0,"data-variant":s.variant},e(a),{class:e(L)("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive-foreground data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/40 data-[variant=destructive]:focus:text-destructive-foreground data-[variant=destructive]:*:[svg]:!text-destructive-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 cursor-pointer",t.class)}),{default:i(()=>[v(s.$slots,"default")]),_:3},16,["data-inset","data-variant","class"]))}}),dt=m({__name:"ContextMenuLabel",props:{asChild:{type:Boolean},as:{},class:{},inset:{type:Boolean}},setup(n){const o=n,t=F(()=>{const{class:l,...r}=o;return r});return(l,r)=>(u(),p(e(Ye),b({"data-slot":"context-menu-label","data-inset":l.inset?"":void 0},t.value,{class:e(L)("text-foreground px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",o.class)}),{default:i(()=>[v(l.$slots,"default")]),_:3},16,["data-inset","class"]))}}),pt=m({__name:"ContextMenuSeparator",props:{asChild:{type:Boolean},as:{},class:{}},setup(n){const o=n,t=F(()=>{const{class:l,...r}=o;return r});return(l,r)=>(u(),p(e(Je),b({"data-slot":"context-menu-separator"},t.value,{class:e(L)("bg-border -mx-1 my-1 h-px",o.class)}),null,16,["class"]))}}),ct=m({__name:"ContextMenuSub",props:{defaultOpen:{type:Boolean},open:{type:Boolean}},emits:["update:open"],setup(n,{emit:o}){const r=k(n,o);return(a,s)=>(u(),p(e(et),b({"data-slot":"context-menu-sub"},e(r)),{default:i(()=>[v(a.$slots,"default")]),_:3},16))}}),ft=m({__name:"ContextMenuSubContent",props:{forceMount:{type:Boolean},loop:{type:Boolean},sideOffset:{},sideFlip:{type:Boolean},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(n,{emit:o}){const t=n,l=o,r=F(()=>{const{class:s,...d}=t;return d}),a=k(r,l);return(s,d)=>(u(),p(e(nt),b({"data-slot":"context-menu-sub-content"},e(a),{class:e(L)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--reka-context-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",t.class)}),{default:i(()=>[v(s.$slots,"default")]),_:3},16,["class"]))}}),_t=m({__name:"ContextMenuSubTrigger",props:{disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{},inset:{type:Boolean}},setup(n){const o=n,t=F(()=>{const{class:r,...a}=o;return a}),l=Q(t);return(r,a)=>(u(),p(e(ot),b({"data-slot":"context-menu-sub-trigger","data-inset":r.inset?"":void 0},e(l),{class:e(L)("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",o.class)}),{default:i(()=>[v(r.$slots,"default"),M(e(me),{class:"ml-auto"})]),_:3},16,["data-inset","class"]))}}),gt=m({__name:"ContextMenuTrigger",props:{disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(n){const t=Q(n);return(l,r)=>(u(),p(e(st),b({"data-slot":"context-menu-trigger"},e(t)),{default:i(()=>[v(l.$slots,"default")]),_:3},16))}});var P=(n=>(n.ACTION="action",n.LABEL="label",n.SEPARATOR="separator",n.SUBMENU="submenu",n))(P||{});const yt={key:1,class:"text-xs text-muted-foreground ml-2"},Ct=m({__name:"BaseContextMenu",props:{contextMenuItems:{}},emits:["onClearContextMenu"],setup(n,{emit:o}){const t=o,l=a=>typeof a>"u"?!0:!!a,r=a=>{a||t("onClearContextMenu")};return(a,s)=>{const d=gt,c=dt,C=ve,x=Pe,_=it,f=pt,h=_t,g=ft,w=ct,S=ut,U=lt;return u(),p(U,{"onUpdate:open":r},{default:i(()=>[M(d,{"as-child":""},{default:i(()=>[v(a.$slots,"default")]),_:3}),M(S,{class:"min-w-56",onCloseAutoFocus:s[0]||(s[0]=K(()=>{},["prevent"]))},{default:i(()=>[(u(!0),D(z,null,W(a.contextMenuItems,(y,N)=>(u(),D(z,{key:N},[y.type===e(P).LABEL&&l(y.condition)?(u(),p(c,{key:0,class:"font-medium text-xs text-muted-foreground"},{default:i(()=>[$(A(y.title),1)]),_:2},1024)):y.type===e(P).ACTION&&l(y.condition)?(u(),p(_,{key:1,onSelect:y.select,disabled:y.disabled},{default:i(()=>[y.icon?(u(),p(C,{key:0,name:y.icon,class:"size-4! min-w-4 text-muted-foreground"},null,8,["name"])):T("",!0),$(" "+A(y.title)+" ",1),y.shortcut?(u(),p(x,{key:1},{default:i(()=>[$(A(y.shortcut),1)]),_:2},1024)):T("",!0)]),_:2},1032,["onSelect","disabled"])):y.type===e(P).SEPARATOR&&l(y.condition)?(u(),p(f,{key:2})):y.type===e(P).SUBMENU&&l(y.condition)?(u(),p(w,{key:3,disabled:!y.items||y.items.length===0},{default:i(()=>[M(h,null,{default:i(()=>[y.icon?(u(),p(C,{key:0,name:y.icon,class:"size-4! min-w-4 text-muted-foreground mr-2"},null,8,["name"])):T("",!0),$(" "+A(y.title)+" ",1),y.desc?(u(),D("span",yt,A(y.desc),1)):T("",!0)]),_:2},1024),M(g,{class:he("min-w-52")},{default:i(()=>[(u(!0),D(z,null,W(y.items,(B,oe)=>(u(),D(z,{key:oe},[B.type===e(P).ACTION&&l(B.condition)?(u(),p(_,{key:0,onSelect:B.select},{default:i(()=>[B.icon?(u(),p(C,{key:0,name:B.icon,class:"size-4! min-w-4 text-muted-foreground"},null,8,["name"])):T("",!0),$(" "+A(B.title),1)]),_:2},1032,["onSelect"])):B.type===e(P).LABEL&&l(B.condition)?(u(),p(c,{key:1,class:"font-medium text-xs text-muted-foreground"},{default:i(()=>[$(A(B.title),1)]),_:2},1024)):B.type===e(P).SEPARATOR&&l(B.condition)?(u(),p(f,{key:2})):T("",!0)],64))),128))]),_:2},1024)]),_:2},1032,["disabled"])):T("",!0)],64))),128))]),_:1})]),_:3})}}});export{P as C,ke as M,Ct as _,Ae as a,lt as b,gt as c,ut as d,dt as e,it as f,pt as g,ct as h,_t as i,ft as j};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as y,O as C,ad as b,ae as S,c as o,E as D,e as E,o as I,f as i,g as n,af as O}from"./DgGwe7jd.js";import{b as g,a as M,D as V,_ as B}from"./Bok35x_B.js";import{b as N,a as R}from"./BVmBXPoG.js";import{u as W}from"./CE0zlNDo.js";import"./__PEYcIB.js";import"./uDsvlLN0.js";import"./6wO6CbCo.js";import"./DyDU0wFf.js";import"./B5rxJs06.js";import"./DP6Az3fC.js";const F={class:"h-full relative p-1"},j=y({__name:"ViewOverview",props:{connectionId:{}},setup(m){const l=["name","schema","type","owner","comment"],s=m,a=C(),u=b(),{schemaId:c}=S(u),d=o(()=>s.connectionId?a.connections.find(e=>e.id===s.connectionId):a.selectedConnection),r=o(()=>({...D(d.value),schema:c.value})),{data:t,status:p}=W("/api/views/overview",{method:"POST",body:r,watch:[c,r]},"$Vc52vsyWw1"),f=o(()=>{const e=t.value||[];return e.length>0?N(e):R(l)}),_=o(()=>g({columns:f.value,rows:t.value||[],columnKeyBy:"field"})),v=o(()=>M(t.value||[]));return(e,K)=>{const w=O,h=B;return I(),E("div",F,[i(w,{visible:n(p)==="pending"},null,8,["visible"]),i(h,{"column-defs":n(_),"row-data":n(v),"column-types":n(V),class:"h-full border rounded-md"},null,8,["column-defs","row-data","column-types"])])}}});export{j as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as u,K as s,G as h}from"./DgGwe7jd.js";function B(){const i=u(!1),d=u(0),c=u(null);return{isDownloading:i,downloadedBytes:d,error:c,downloadStream:async f=>{const{url:w,method:y="POST",body:m,filename:a,contentType:v}=f;i.value=!0,d.value=0,c.value=null;const l=s.loading(`Exporting ${a}...`,{description:"Starting download..."});try{const e=await fetch(w,{method:y,headers:{"Content-Type":"application/json"},body:m?JSON.stringify(m):void 0});if(!e.ok){let n="Export failed";try{n=(await e.json()).message||n}catch{}throw new Error(n)}if(!e.body)throw new Error("Response body is not available for streaming");const o=e.body.getReader(),b=[];let t=0;for(;;){const{done:n,value:p}=await o.read();if(n)break;b.push(p),t+=p.length,d.value=t;const R=h(t);s.loading(`Exporting ${a}...`,{id:l,description:`Downloaded ${R}`,position:"bottom-right"})}const E=new Blob(b,{type:v||e.headers.get("Content-Type")||"application/octet-stream"}),g=URL.createObjectURL(E),r=document.createElement("a");r.href=g,r.download=a,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(g);const x=h(t);return s.success(`Exported ${a}`,{id:l,description:`${x} downloaded`,position:"bottom-right"}),{success:!0,size:t}}catch(e){const o=e;return c.value=o,s.error("Export failed",{id:l,description:o.message,position:"bottom-right"}),{success:!1,error:o}}finally{i.value=!1}}}}export{B as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as r,e as n,o,n as i,g as u,j as p,D as m,R as e}from"./DgGwe7jd.js";const L=r({__name:"AlertTitle",props:{class:{}},setup(a){const s=a;return(t,l)=>(o(),n("h5",{class:i(u(p)("mb-1 font-medium leading-none tracking-tight",s.class))},[m(t.$slots,"default")],2))}}),c={[e.POSTGRES]:{label:"PostgreSQL native backup artifacts",tools:"pg_dump / pg_restore / psql",supported:!0,defaultFormat:"custom",formats:[{format:"custom",extension:".dump",label:"PostgreSQL custom archive (.dump)"},{format:"plain",extension:".sql",label:"PostgreSQL plain SQL script (.sql)"}]},[e.MYSQL]:{label:"MySQL native SQL dump (.sql)",tools:"mysqlpump or mysqldump / mysql",supported:!0,defaultFormat:"plain",formats:[{format:"plain",extension:".sql",label:"MySQL native SQL dump (.sql)"}]},[e.MARIADB]:{label:"MariaDB native SQL dump (.sql)",tools:"mysqlpump or mysqldump / mysql",supported:!0,defaultFormat:"plain",formats:[{format:"plain",extension:".sql",label:"MariaDB native SQL dump (.sql)"}]},[e.SQLITE3]:{label:"SQLite native SQL dump (.sql)",tools:"sqlite3 .dump / sqlite3",supported:!0,defaultFormat:"plain",formats:[{format:"plain",extension:".sql",label:"SQLite native SQL dump (.sql)"}]},[e.ORACLE]:{label:"Oracle Data Pump dump (.dmp)",tools:"expdp / impdp",supported:!1,defaultFormat:"custom",formats:[{format:"custom",extension:".dmp",label:"Oracle Data Pump dump (.dmp)"}],reason:"Oracle native backup is not enabled yet because Data Pump writes files to a server-side DIRECTORY object. HeraQ needs explicit Oracle DIRECTORY and artifact retrieval configuration before this can be offered safely."}};function Q(a){switch(a){case e.POSTGRES:return"PostgreSQL";case e.MYSQL:return"MySQL";case e.MARIADB:return"MariaDB";case e.SQLITE3:return"SQLite";case e.ORACLE:return"Oracle";case e.MSSQL:return"SQL Server";case e.REDIS:return"Redis";case e.SNOWFLAKE:return"Snowflake";default:return a||"database"}}function f(a){return a&&c[a]||null}function d(a,s){const t=f(a);return t?!s||s==="native"?t.formats.find(l=>l.format===t.defaultFormat)||t.formats[0]||null:s!=="plain"&&s!=="custom"?null:t.formats.find(l=>l.format===s)||null:null}function b(a,s){var t;return((t=d(a,s))==null?void 0:t.extension)||".sql"}export{L as _,Q as a,b as g};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as E,ak as Le,bB as ne,d as T,al as Oe,bS as qe,V as Q,a5 as fe,k as S,o as c,w as o,D as O,g as e,a6 as me,bE as Ne,am as Re,a as Me,r as G,e as h,F as P,f as t,a4 as q,s as j,z as p,cF as re,t as U,l as B,m as a,n as L,cG as ze,A as I,cH as Fe,bG as He,p as Y,j as te,Z as Ke,cI as je,bg as D,bj as ve,bh as w,_ as Qe,h as Ge,bP as Ye,x as Xe,B as N,q as Je,bf as de,aX as Ze,bM as ge,bN as ye,bO as be,bQ as _e,b as We,R as ie,bL as et,bx as tt,i as M,by as st,a8 as at,bz as ot,Q as W,cJ as z,ay as R,bc as lt,bR as nt}from"./DgGwe7jd.js";import{b as rt,d as dt,e as it,a as ut,c as F,_ as pt}from"./BhzzQZRC.js";import{i as ct,_ as ue}from"./6NXhlm49.js";import{i as ft,u as mt,d as vt,a as gt}from"./CP-7VdtS.js";import{C as yt,a as bt,b as _t}from"./XETGYn3c.js";import{u as xt}from"./B5rxJs06.js";import{_ as H}from"./EZ0owjER.js";function ht({type:f,defaultValue:r,modelValue:d}){const l=d||r;return d!==void 0||r!==void 0?Array.isArray(l)?"multiple":"single":f??"single"}function Dt({type:f,defaultValue:r,modelValue:d}){return f||ht({type:f,defaultValue:r,modelValue:d})}function kt({type:f,defaultValue:r}){return r!==void 0?r:f==="single"?void 0:[]}function Ct(f,r){const d=E(()=>Dt(f)),l=Le(f,"modelValue",r,{defaultValue:kt(f),passive:f.modelValue===void 0,deep:!0});function g(x){if(d.value==="single")l.value=ne(x,l.value)?void 0:x;else{const b=Array.isArray(l.value)?[...l.value||[]]:[l.value].filter(Boolean);if(ct(b,x)){const n=b.findIndex(i=>ne(i,x));b.splice(n,1)}else b.push(x);l.value=b}}const m=E(()=>d.value==="single");return{modelValue:l,changeModelValue:g,isSingle:m}}const[X,Vt]=fe("AccordionRoot");var St=T({__name:"AccordionRoot",props:{collapsible:{type:Boolean,required:!1,default:!1},disabled:{type:Boolean,required:!1,default:!1},dir:{type:String,required:!1},orientation:{type:String,required:!1,default:"vertical"},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},type:{type:String,required:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1}},emits:["update:modelValue"],setup(f,{emit:r}){const d=f,l=r,{dir:g,disabled:m,unmountOnHide:x}=Oe(d),b=qe(g),{modelValue:n,changeModelValue:i,isSingle:V}=Ct(d,l),{forwardRef:_,currentElement:k}=Q();return Vt({disabled:m,direction:b,orientation:d.orientation,parentElement:k,isSingle:V,collapsible:d.collapsible,modelValue:n,changeModelValue:i,unmountOnHide:x}),(C,u)=>(c(),S(e(me),{ref:e(_),"as-child":C.asChild,as:C.as},{default:o(()=>[O(C.$slots,"default",{modelValue:e(n)})]),_:3},8,["as-child","as"]))}}),wt=St,ee=function(f){return f.Open="open",f.Closed="closed",f}(ee||{});const[se,$t]=fe("AccordionItem");var At=T({__name:"AccordionItem",props:{disabled:{type:Boolean,required:!1},value:{type:String,required:!0},unmountOnHide:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(f,{expose:r}){const d=f,l=X(),g=E(()=>l.isSingle.value?d.value===l.modelValue.value:Array.isArray(l.modelValue.value)&&l.modelValue.value.includes(d.value)),m=E(()=>l.disabled.value||d.disabled),x=E(()=>m.value?"":void 0),b=E(()=>g.value?ee.Open:ee.Closed);r({open:g,dataDisabled:x});const{currentRef:n,currentElement:i}=Q();$t({open:g,dataState:b,disabled:m,dataDisabled:x,triggerId:"",currentRef:n,currentElement:i,value:E(()=>d.value)});function V(_){var v;const k=_.target;if(Array.from(((v=l.parentElement.value)==null?void 0:v.querySelectorAll("[data-reka-collection-item]"))??[]).findIndex($=>$===k)===-1)return null;xt(_,k,l.parentElement.value,{arrowKeyOptions:l.orientation,dir:l.direction.value,focus:!0})}return(_,k)=>(c(),S(e(yt),{"data-orientation":e(l).orientation,"data-disabled":x.value,"data-state":b.value,disabled:m.value,open:g.value,as:d.as,"as-child":d.asChild,"unmount-on-hide":d.unmountOnHide??e(l).unmountOnHide.value,onKeydown:Ne(V,["up","down","left","right","home","end"])},{default:o(()=>[O(_.$slots,"default",{open:g.value})]),_:3},8,["data-orientation","data-disabled","data-state","disabled","open","as","as-child","unmount-on-hide"]))}}),It=At,Et=T({__name:"AccordionContent",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(f){const r=f,d=X(),l=se();return Q(),(g,m)=>(c(),S(e(bt),{role:"region","as-child":r.asChild,as:g.as,"force-mount":r.forceMount,"aria-labelledby":e(l).triggerId,"data-state":e(l).dataState.value,"data-disabled":e(l).dataDisabled.value,"data-orientation":e(d).orientation,style:{"--reka-accordion-content-width":"var(--reka-collapsible-content-width)","--reka-accordion-content-height":"var(--reka-collapsible-content-height)"},onContentFound:m[0]||(m[0]=x=>e(d).changeModelValue(e(l).value.value))},{default:o(()=>[O(g.$slots,"default")]),_:3},8,["as-child","as","force-mount","aria-labelledby","data-state","data-disabled","data-orientation"]))}}),Tt=Et,Bt=T({__name:"AccordionHeader",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"h3"}},setup(f){const r=f,d=X(),l=se();return Q(),(g,m)=>(c(),S(e(me),{as:r.as,"as-child":r.asChild,"data-orientation":e(d).orientation,"data-state":e(l).dataState.value,"data-disabled":e(l).dataDisabled.value},{default:o(()=>[O(g.$slots,"default")]),_:3},8,["as","as-child","data-orientation","data-state","data-disabled"]))}}),Pt=Bt,Ut=T({__name:"AccordionTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(f){const r=f,d=X(),l=se();l.triggerId||(l.triggerId=Re(void 0,"reka-accordion-trigger"));function g(){const m=d.isSingle.value&&l.open.value&&!d.collapsible;l.disabled.value||m||d.changeModelValue(l.value.value)}return(m,x)=>(c(),S(e(_t),{id:e(l).triggerId,ref:e(l).currentRef,"data-reka-collection-item":"",as:r.as,"as-child":r.asChild,"aria-disabled":e(l).disabled.value||void 0,"aria-expanded":e(l).open.value||!1,"data-disabled":e(l).dataDisabled.value,"data-orientation":e(d).orientation,"data-state":e(l).dataState.value,disabled:e(l).disabled.value,onClick:g},{default:o(()=>[O(m.$slots,"default")]),_:3},8,["id","as","as-child","aria-disabled","aria-expanded","data-disabled","data-orientation","data-state","disabled"]))}}),Lt=Ut;const Ot={key:0,class:"text-sm text-muted-foreground"},qt={key:0,class:"px-2 py-1 text-xs text-muted-foreground select-none"},Nt={role:"listbox","aria-multiselectable":"true",class:"space-y-0.5"},Rt=["aria-selected","aria-disabled"],Mt=["disabled","onClick"],zt={key:0,viewBox:"0 0 12 12",class:"size-3 fill-current"},Ft={class:"flex-1 truncate text-left"},Ht={key:1,class:"px-2 py-3 text-center text-xs text-muted-foreground"},pe=3,Kt=T({__name:"EnvTagPicker",props:{modelValue:{}},emits:["update:modelValue"],setup(f,{emit:r}){const d=f,l=r,g=Me(),m=E(()=>d.modelValue.length>=pe);function x(_){return d.modelValue.includes(_)}function b(_){x(_)?l("update:modelValue",d.modelValue.filter(k=>k!==_)):m.value||l("update:modelValue",[...d.modelValue,_])}const n=E(()=>g.tags.filter(_=>d.modelValue.includes(_.id))),i=G(!1);function V(_){m.value||l("update:modelValue",[...d.modelValue,_.id])}return(_,k)=>{const C=I;return c(),h(P,null,[t(e(rt),null,{default:o(()=>[t(e(dt),{"as-child":""},{default:o(()=>[t(e(q),{type:"button",variant:"outline",class:"h-auto min-h-9 w-full justify-start gap-1 px-2 py-1 flex-wrap"},{default:o(()=>[n.value.length===0?(c(),h("span",Ot,"Assign tags…")):(c(!0),h(P,{key:1},j(n.value,u=>(c(),h("span",{key:u.id,class:"inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-xs font-medium"},[t(re,{color:u.color,size:"sm"},null,8,["color"]),p(" "+U(u.name),1)]))),128))]),_:1})]),_:1}),t(e(it),{class:"w-56 p-1",align:"start","side-offset":4,"restore-focus":!1},{default:o(()=>[m.value?(c(),h("p",qt," Max "+U(pe)+" tags selected ")):B("",!0),a("ul",Nt,[(c(!0),h(P,null,j(e(g).tags,u=>(c(),h("li",{key:u.id,role:"option","aria-selected":x(u.id),"aria-disabled":m.value&&!x(u.id)},[a("button",{type:"button",class:"flex w-full items-center gap-2 rounded px-2 py-1.5 text-sm transition-colors hover:bg-accent focus-visible:bg-accent focus-visible:outline-none disabled:pointer-events-none disabled:opacity-40",disabled:m.value&&!x(u.id),onClick:v=>b(u.id)},[a("span",{class:L(["flex size-4 items-center justify-center rounded-sm border",x(u.id)?"border-primary bg-primary text-primary-foreground":"border-input"])},[x(u.id)?(c(),h("svg",zt,k[2]||(k[2]=[a("path",{d:"M10 3L5 8.5 2 5.5",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round",fill:"none"},null,-1)]))):B("",!0)],2),t(re,{color:u.color,size:"md"},null,8,["color"]),a("span",Ft,U(u.name),1)],8,Mt)],8,Rt))),128))]),e(g).tags.length===0?(c(),h("p",Ht," No tags configured ")):B("",!0),t(e(ze),{class:"my-1"}),a("button",{type:"button",class:"flex w-full items-center gap-2 rounded px-2 py-1.5 text-sm text-muted-foreground hover:bg-accent hover:text-foreground transition-colors focus-visible:outline-none focus-visible:bg-accent",onClick:k[0]||(k[0]=u=>i.value=!0)},[t(C,{name:"hugeicons:plus-sign",class:"size-4"}),k[3]||(k[3]=p(" Add new tag "))])]),_:1})]),_:1}),t(Fe,{open:i.value,"onUpdate:open":k[1]||(k[1]=u=>i.value=u),onCreated:V},null,8,["open"])],64)}}}),ce=T({__name:"Accordion",props:{collapsible:{type:Boolean},disabled:{type:Boolean},dir:{},orientation:{},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{},type:{},modelValue:{},defaultValue:{}},emits:["update:modelValue"],setup(f,{emit:r}){const g=He(f,r);return(m,x)=>(c(),S(e(wt),Y({"data-slot":"accordion"},e(g)),{default:o(()=>[O(m.$slots,"default")]),_:3},16))}}),xe=T({__name:"AccordionContent",props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(f){const r=f,d=E(()=>{const{class:l,...g}=r;return g});return(l,g)=>(c(),S(e(Tt),Y({"data-slot":"accordion-content"},d.value,{class:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm"}),{default:o(()=>[a("div",{class:L(e(te)("pt-0 pb-4",r.class))},[O(l.$slots,"default")],2)]),_:3},16))}}),he=T({__name:"AccordionItem",props:{disabled:{type:Boolean},value:{},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(f){const r=f,d=E(()=>{const{class:g,...m}=r;return m}),l=Ke(d);return(g,m)=>(c(),S(e(It),Y({"data-slot":"accordion-item"},e(l),{class:e(te)("border-b last:border-b-0",r.class)}),{default:o(()=>[O(g.$slots,"default")]),_:3},16,["class"]))}}),De=T({__name:"AccordionTrigger",props:{asChild:{type:Boolean},as:{},class:{}},setup(f){const r=f,d=E(()=>{const{class:l,...g}=r;return g});return(l,g)=>(c(),S(e(Pt),{class:"flex"},{default:o(()=>[t(e(Lt),Y({"data-slot":"accordion-trigger"},d.value,{class:e(te)("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",r.class)}),{default:o(()=>[O(l.$slots,"default"),O(l.$slots,"icon",{},()=>[t(e(je),{class:"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"})])]),_:3},16,["class"])]),_:3}))}});function K(f){const r=G(!1);return{isDragging:r,onDragOver:m=>{m.preventDefault(),r.value=!0},onDragLeave:()=>{r.value=!1},onDrop:async m=>{var i;m.preventDefault(),r.value=!1;const x=(i=m.dataTransfer)==null?void 0:i.files;if(!x||x.length===0)return;const b=x[0],n=new FileReader;n.onload=V=>{var k;const _=(k=V.target)==null?void 0:k.result;f&&f(_)},n.readAsText(b)}}}const jt={class:"flex items-center gap-2"},Qt={class:"flex items-center justify-between"},Gt={class:"grid grid-cols-4 gap-4"},Yt={class:"col-span-3 space-y-2"},Xt={class:"space-y-2"},Jt={class:"grid grid-cols-2 gap-4"},Zt={class:"space-y-2"},Wt={class:"space-y-2"},es={class:"relative"},ts=["aria-label"],ss={class:"flex items-center gap-2"},as={class:"space-y-4 pt-2 border-t"},os={class:"flex items-center gap-2"},ls={key:0,class:"space-y-2"},ns=T({__name:"ConnectionSSHTunnel",props:{formData:{}},setup(f){const r=f,{onDragOver:d,onDragLeave:l,onDrop:g,isDragging:m}=K(b=>{r.formData.sshPrivateKey=b}),x=G(!1);return(b,n)=>(c(),S(e(he),{value:"ssh"},{default:o(()=>[t(e(De),{class:"hover:no-underline"},{default:o(()=>[a("div",jt,[t(e(I),{name:"lucide:terminal",class:"size-4 text-primary"}),n[9]||(n[9]=a("span",null,"SSH Tunnel",-1))])]),_:1}),t(e(xe),{class:"space-y-4 pt-4 px-1"},{default:o(()=>[a("div",Qt,[t(e(D),{for:"ssh-enabled"},{default:o(()=>n[10]||(n[10]=[p("Over SSH")])),_:1}),t(e(ve),{id:"ssh-enabled","model-value":b.formData.sshEnabled,"onUpdate:modelValue":n[0]||(n[0]=i=>b.formData.sshEnabled=i)},null,8,["model-value"])]),b.formData.sshEnabled?(c(),h(P,{key:0},[a("div",Gt,[a("div",Yt,[t(e(D),{for:"ssh-host"},{default:o(()=>n[11]||(n[11]=[p("Server")])),_:1}),t(e(w),{id:"ssh-host",placeholder:"e.g. ssh.example.com or 1.2.3.4",modelValue:b.formData.sshHost,"onUpdate:modelValue":n[1]||(n[1]=i=>b.formData.sshHost=i)},null,8,["modelValue"])]),a("div",Xt,[t(e(D),{for:"ssh-port"},{default:o(()=>n[12]||(n[12]=[p("Port")])),_:1}),t(e(w),{id:"ssh-port",type:"number",placeholder:"22",modelValue:b.formData.sshPort,"onUpdate:modelValue":n[2]||(n[2]=i=>b.formData.sshPort=i)},null,8,["modelValue"])])]),a("div",Jt,[a("div",Zt,[t(e(D),{for:"ssh-user"},{default:o(()=>n[13]||(n[13]=[p("User")])),_:1}),t(e(w),{id:"ssh-user",placeholder:"e.g. root or ubuntu",modelValue:b.formData.sshUsername,"onUpdate:modelValue":n[3]||(n[3]=i=>b.formData.sshUsername=i)},null,8,["modelValue"])]),a("div",Wt,[t(e(D),{for:"ssh-password"},{default:o(()=>n[14]||(n[14]=[p("Password")])),_:1}),a("div",es,[t(e(w),{id:"ssh-password",type:e(x)?"text":"password",placeholder:"SSH password (optional if using key)",modelValue:b.formData.sshPassword,"onUpdate:modelValue":n[4]||(n[4]=i=>b.formData.sshPassword=i),class:"pr-8"},null,8,["type","modelValue"]),a("button",{type:"button",class:"absolute right-2 top-1/2 h-4 cursor-pointer -translate-y-1/2 text-muted-foreground hover:text-foreground transition-colors",onClick:n[5]||(n[5]=i=>x.value=!e(x)),"aria-label":e(x)?"Hide password":"Show password"},[t(e(I),{name:e(x)?"hugeicons:view":"hugeicons:view-off",class:"size-4!"},null,8,["name"])],8,ts)])])]),a("div",ss,[t(e(ue),{id:"ssh-keychain","model-value":b.formData.sshStoreInKeychain,"onUpdate:modelValue":n[6]||(n[6]=i=>b.formData.sshStoreInKeychain=i)},null,8,["model-value"]),t(e(D),{for:"ssh-keychain",class:"text-sm font-normal"},{default:o(()=>n[15]||(n[15]=[p("Store in keychain")])),_:1})]),a("div",as,[a("div",os,[t(e(ue),{id:"ssh-use-key","model-value":b.formData.sshUseKey,"onUpdate:modelValue":n[7]||(n[7]=i=>b.formData.sshUseKey=i)},null,8,["model-value"]),t(e(D),{for:"ssh-use-key",class:"text-sm font-semibold"},{default:o(()=>n[16]||(n[16]=[p("SSH Key Authentication")])),_:1})]),b.formData.sshUseKey?(c(),h("div",ls,[t(e(D),{for:"ssh-key-file"},{default:o(()=>n[17]||(n[17]=[p("Private Key")])),_:1}),t(e(H),{id:"ssh-key-file",modelValue:b.formData.sshPrivateKey,"onUpdate:modelValue":n[8]||(n[8]=i=>b.formData.sshPrivateKey=i),placeholder:"-----BEGIN OPENSSH PRIVATE KEY-----\\n...\\n-----END OPENSSH PRIVATE KEY-----",class:L(["min-h-[100px] max-h-[200px] text-xs font-mono",e(m)?"ring-2 ring-primary":""]),onDragover:e(d),onDragleave:e(l),onDrop:e(g)},null,8,["modelValue","class","onDragover","onDragleave","onDrop"]),n[18]||(n[18]=a("p",{class:"text-xs text-muted-foreground"}," Drop a .pem / .key file here, or paste the SSH private key content ",-1))])):B("",!0)])],64)):B("",!0)]),_:1})]),_:1}))}}),rs={class:"flex items-center gap-2"},ds={class:"flex items-center justify-between"},is={class:"space-y-2"},us={class:"space-y-4"},ps={class:"space-y-2"},cs={class:"space-y-2"},fs={class:"space-y-2"},ms=T({__name:"ConnectionSSLConfig",props:{formData:{}},setup(f){const r=f,{onDragOver:d,onDragLeave:l,onDrop:g,isDragging:m}=K(u=>{r.formData.sslCA=u}),{onDragOver:x,onDragLeave:b,onDrop:n,isDragging:i}=K(u=>{r.formData.sslCert=u}),{onDragOver:V,onDragLeave:_,onDrop:k,isDragging:C}=K(u=>{r.formData.sslKey=u});return(u,v)=>(c(),S(e(he),{value:"ssl"},{default:o(()=>[t(e(De),{class:"hover:no-underline"},{default:o(()=>[a("div",rs,[t(e(I),{name:"hugeicons:security-check",class:"size-4 text-primary"}),v[5]||(v[5]=a("span",null,"SSL Configuration",-1))])]),_:1}),t(e(xe),{class:"space-y-4 pt-4 px-1"},{default:o(()=>[a("div",ds,[t(e(D),{for:"ssl-enabled"},{default:o(()=>v[6]||(v[6]=[p("Enable SSL")])),_:1}),t(e(ve),{id:"ssl-enabled","model-value":u.formData.sslEnabled,"onUpdate:modelValue":v[0]||(v[0]=$=>u.formData.sslEnabled=$)},null,8,["model-value"])]),u.formData.sslEnabled?(c(),h(P,{key:0},[a("div",is,[t(e(D),{for:"ssl-mode"},{default:o(()=>v[7]||(v[7]=[p("SSL Mode")])),_:1}),t(e(Qe),{modelValue:u.formData.sslMode,"onUpdate:modelValue":v[1]||(v[1]=$=>u.formData.sslMode=$)},{default:o(()=>[t(e(Ge),{id:"ssl-mode"},{default:o(()=>[t(e(Ye),{placeholder:"Select mode"})]),_:1}),t(e(Xe),null,{default:o(()=>[t(e(N),{value:"disable"},{default:o(()=>v[8]||(v[8]=[p("Disable")])),_:1}),t(e(N),{value:"preferred"},{default:o(()=>v[9]||(v[9]=[p("Preferred")])),_:1}),t(e(N),{value:"require"},{default:o(()=>v[10]||(v[10]=[p("Require")])),_:1}),t(e(N),{value:"verify-ca"},{default:o(()=>v[11]||(v[11]=[p("Verify CA")])),_:1}),t(e(N),{value:"verify-full"},{default:o(()=>v[12]||(v[12]=[p("Verify Full")])),_:1})]),_:1})]),_:1},8,["modelValue"])]),a("div",us,[a("div",ps,[t(e(D),{for:"ssl-ca"},{default:o(()=>v[13]||(v[13]=[p("CA Certificate")])),_:1}),t(e(H),{id:"ssl-ca",modelValue:u.formData.sslCA,"onUpdate:modelValue":v[2]||(v[2]=$=>u.formData.sslCA=$),placeholder:"-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----",class:L(["min-h-[80px] max-h-[160px] text-xs font-mono",e(m)?"ring-2 ring-primary":""]),onDragover:e(d),onDragleave:e(l),onDrop:e(g)},null,8,["modelValue","class","onDragover","onDragleave","onDrop"]),v[14]||(v[14]=a("p",{class:"text-xs text-muted-foreground"}," Drop a .pem / .crt file here, or paste the CA certificate content ",-1))]),a("div",cs,[t(e(D),{for:"ssl-cert"},{default:o(()=>v[15]||(v[15]=[p("Client Certificate")])),_:1}),t(e(H),{id:"ssl-cert",modelValue:u.formData.sslCert,"onUpdate:modelValue":v[3]||(v[3]=$=>u.formData.sslCert=$),placeholder:"-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----",class:L(["min-h-[80px] max-h-[160px] text-xs font-mono",e(i)?"ring-2 ring-primary":""]),onDragover:e(x),onDragleave:e(b),onDrop:e(n)},null,8,["modelValue","class","onDragover","onDragleave","onDrop"]),v[16]||(v[16]=a("p",{class:"text-xs text-muted-foreground"}," Drop a .pem / .crt file here, or paste the client certificate content ",-1))]),a("div",fs,[t(e(D),{for:"ssl-key"},{default:o(()=>v[17]||(v[17]=[p("SSL Key")])),_:1}),t(e(H),{id:"ssl-key",modelValue:u.formData.sslKey,"onUpdate:modelValue":v[4]||(v[4]=$=>u.formData.sslKey=$),placeholder:"-----BEGIN RSA PRIVATE KEY-----\\n...\\n-----END RSA PRIVATE KEY-----",class:L(["min-h-[80px] max-h-[160px] text-xs font-mono",e(C)?"ring-2 ring-primary":""]),onDragover:e(V),onDragleave:e(_),onDrop:e(k)},null,8,["modelValue","class","onDragover","onDragleave","onDrop"]),v[18]||(v[18]=a("p",{class:"text-xs text-muted-foreground"}," Drop a .pem / .key file here, or paste the private key content ",-1))])])],64)):B("",!0)]),_:1})]),_:1}))}}),vs={key:0,class:"flex items-center gap-2 rounded-md border p-3 text-sm"},gs={key:1,class:"flex items-center gap-2 rounded-md border border-green-200 bg-green-50 p-3 text-sm text-green-600 dark:border-green-900 dark:bg-green-950/50 dark:text-green-400"},ys={key:2,class:"flex items-center gap-2 rounded-md border border-red-200 bg-red-50 p-3 text-sm text-red-600 dark:border-red-900 dark:bg-red-950/50 dark:text-red-400"},bs=T({__name:"ConnectionStatusSection",props:{testStatus:{},errorMessage:{}},setup(f){const r=f;return(d,l)=>(c(),h(P,null,[d.testStatus==="testing"?(c(),h("div",vs,[t(e(I),{name:"hugeicons:loading-03",class:"animate-spin size-5!"}),l[0]||(l[0]=a("span",null,"Testing connection...",-1))])):B("",!0),d.testStatus==="success"?(c(),h("div",gs,[t(e(I),{name:"hugeicons:checkmark-circle-02",class:"shrink-0 size-4"}),l[1]||(l[1]=a("span",null,"Connection successful! Your database is ready to use.",-1))])):B("",!0),d.testStatus==="error"?(c(),h("div",ys,[t(e(I),{name:"hugeicons:cancel-01",class:"shrink-0 size-4"}),a("span",null,U(r.errorMessage||"Connection failed. Please check your details and try again."),1)])):B("",!0)],64))}}),_s={class:"flex flex-col items-center gap-1.5 text-center"},xs={key:0,class:"text-xxs leading-4 text-muted-foreground px-2"},hs={class:"flex items-center justify-center gap-1.5 min-h-3.5"},Ds=T({__name:"DatabaseTypeCard",props:{name:{},icon:{},description:{},selected:{type:Boolean},isSupport:{type:Boolean},isBeta:{type:Boolean},iconClass:{},unsupportedLabel:{}},setup(f){return(r,d)=>(c(),S(e(ut),{class:L(e(F)("relative",r.isSupport?"cursor-pointer":"opacity-90 cursor-not-allowed ",r.selected&&r.isSupport?"border-muted-foreground shadow-lg":"border-transparent bg-background"))},{default:o(()=>[t(e(pt),{class:"flex flex-col items-center justify-center p-0 w-full"},{default:o(()=>[a("div",{class:L(e(F)("flex items-center justify-center rounded-xl p-2 transition-transform duration-300",r.selected&&r.isSupport?"scale-105":"group-hover:scale-105",!r.isSupport&&"opacity-40"))},[(c(),S(Je(r.icon),{class:L(e(F)("size-12",r.iconClass))},null,8,["class"]))],2),a("div",_s,[a("span",{class:L(e(F)("text-sm font-medium tracking-tight transition-colors",r.selected&&r.isSupport?"text-primary":"text-foreground/70",!r.isSupport&&"text-muted-foreground"))},U(r.name),3),r.description?(c(),h("p",xs,U(r.description),1)):B("",!0),a("div",hs,[r.isBeta?(c(),S(e(de),{key:0,variant:"outline",class:"text-[9px] px-1.5 py-0 h-3.5 uppercase tracking-widest font-bold border-amber-500/40 text-amber-600"},{default:o(()=>d[0]||(d[0]=[p(" Beta ")])),_:1})):B("",!0),r.isSupport?B("",!0):(c(),S(e(de),{key:1,variant:"secondary",class:"text-[9px] px-1.5 py-0 h-3.5 uppercase tracking-widest font-bold opacity-60"},{default:o(()=>[p(U(r.unsupportedLabel||"Soon"),1)]),_:1}))])])]),_:1})]),_:1},8,["class"]))}}),ks={class:"flex flex-col h-full overflow-hidden"},Cs={class:"flex-1 overflow-y-auto px-6 pb-4 pt-1"},Vs={id:"tour-database-type-cards",class:"grid grid-cols-2 gap-3 py-2 md:grid-cols-4"},Ss=T({__name:"ConnectionStepType",props:{databaseOptions:{},dbType:{}},emits:["next","close"],setup(f,{emit:r}){const d=f,l=r,g=n=>{n.isSupport&&n.onClick()},m=E(()=>d.databaseOptions.filter(n=>n.isSupport)),x=()=>{const n=m.value.findIndex(_=>_.type===d.dbType);let i=0;n!==-1&&(i=(n+1)%m.value.length);const V=m.value[i];V&&g(V)},b=()=>{const n=m.value.findIndex(_=>_.type===d.dbType);let i=m.value.length-1;n!==-1&&(i=(n-1+m.value.length)%m.value.length);const V=m.value[i];V&&g(V)};return Ze([{key:"arrowdown",excludeInput:!0,isPreventDefault:!0,callback:x},{key:"arrowright",excludeInput:!0,isPreventDefault:!0,callback:x},{key:"arrowup",excludeInput:!0,isPreventDefault:!0,callback:b},{key:"arrowleft",excludeInput:!0,isPreventDefault:!0,callback:b},{key:"enter",excludeInput:!0,isPreventDefault:!0,callback:()=>{d.dbType&&l("next")}}]),(n,i)=>{const V=I;return c(),h("div",ks,[t(e(ge),{class:"p-6 pb-3"},{default:o(()=>[t(e(ye),null,{default:o(()=>i[2]||(i[2]=[p("Select Database Type")])),_:1}),t(e(be),null,{default:o(()=>i[3]||(i[3]=[p("Choose the type of database you want to connect to")])),_:1})]),_:1}),a("div",Cs,[a("div",Vs,[(c(!0),h(P,null,j(n.databaseOptions,_=>(c(),S(Ds,{key:_.type,name:_.name,icon:_.icon,description:_.description,selected:_.isActive,onClick:()=>g(_),isSupport:_.isSupport,isBeta:_.isBeta,"unsupported-label":_.unsupportedLabel,iconClass:"size-10!"},null,8,["name","icon","description","selected","onClick","isSupport","isBeta","unsupported-label"]))),128))])]),t(e(_e),{class:"flex items-center justify-end gap-2 px-6 pb-6 pt-3"},{default:o(()=>[t(e(q),{variant:"outline",onClick:i[0]||(i[0]=_=>n.$emit("close")),size:"sm"},{default:o(()=>i[4]||(i[4]=[p(" Cancel ")])),_:1}),t(e(q),{id:"tour-database-type-next",onClick:i[1]||(i[1]=_=>n.$emit("next")),disabled:!n.dbType,size:"sm"},{default:o(()=>[i[5]||(i[5]=p(" Next ")),t(V,{name:"hugeicons:arrow-right-02"})]),_:1},8,["disabled"])]),_:1})])}}}),ws={class:"flex-1 overflow-y-auto p-4 space-y-4"},$s={key:0,id:"tour-connection-string-tab"},As={key:1,id:"tour-connection-form-tab"},Is={key:2},Es={key:3},Ts={class:"grid grid-cols-3 gap-3 mt-2"},Bs={class:"col-span-2 space-y-2"},Ps={class:"col-span-1 space-y-2"},Us={class:"space-y-2"},Ls={class:"text-xs text-muted-foreground"},Os={class:"space-y-4"},qs={class:"grid grid-cols-4 gap-2"},Ns={class:"col-span-3 space-y-2"},Rs={class:"space-y-2"},Ms={class:"grid grid-cols-2 gap-2"},zs={class:"space-y-2"},Fs={class:"space-y-2"},Hs={class:"relative"},Ks=["aria-label"],js={class:"space-y-2"},Qs={key:0,class:"space-y-4"},Gs={class:"space-y-2"},Ys={class:"flex gap-2"},Xs={class:"text-xs text-muted-foreground"},Js={class:"space-y-3"},Zs={class:"grid grid-cols-2 gap-2"},Ws={class:"text-left"},ea={class:"font-medium"},ta={class:"text-left"},sa={class:"font-medium"},aa={key:0,class:"grid grid-cols-2 gap-3"},oa={class:"space-y-2"},la={class:"space-y-2"},na={class:"col-span-2 space-y-2"},ra={class:"col-span-2 space-y-2"},da={key:1,class:"grid grid-cols-2 gap-3"},ia={class:"col-span-2 space-y-2"},ua={class:"col-span-2 space-y-2"},pa={class:"col-span-2 space-y-2"},ca={class:"flex flex-1 space-x-2"},fa={class:"flex space-x-2"},ha=T({__name:"CreateConnectionModal",props:{open:{type:Boolean},editingConnection:{},workspaceId:{}},emits:["update:open","addNew","update"],setup(f,{emit:r}){const d=f,l=r,g=()=>{l("update:open",!1),setTimeout(Be,300)},m=G(!1),x=We(),b=E(()=>ft(x.public.sqlite3ConnectionsEnabled)),{step:n,dbType:i,connectionName:V,connectionMethod:_,connectionString:k,formData:C,managedSqlite:u,tagIds:v,testStatus:$,testErrorMessage:ke,handleNext:Ce,handleBack:Ve,handleTestConnection:Se,handleCreateConnection:we,getDefaultPort:$e,getConnectionPlaceholder:ae,availableConnectionMethods:oe,structuredTargetLabel:Ae,structuredTargetPlaceholder:Ie,canUseNetworkOptions:Ee,canPickSqliteFile:J,isFormValid:Z,pickSqliteFile:Te,resetForm:Be}=mt({open:()=>d.open,editingConnection:()=>d.editingConnection,workspaceId:()=>d.workspaceId,onAddNew:A=>l("addNew",A),onUpdate:A=>l("update",A),onClose:g}),Pe=E(()=>vt.map(A=>{const s=gt(A,b.value);return{...A,isSupport:s?!1:A.isSupport,unsupportedLabel:s?"Disabled":A.unsupportedLabel,isActive:i.value===A.type,onClick:()=>i.value=A.type}})),le=E({get:()=>i.value===ie.ORACLE?C.serviceName:C.database,set:A=>{if(i.value===ie.ORACLE){C.serviceName=A;return}C.database=A}}),Ue=()=>{Z.value&&$.value!=="testing"&&we()};return(A,s)=>(c(),S(e(et),{open:A.open,"onUpdate:open":s[20]||(s[20]=y=>A.$emit("update:open",y))},{default:o(()=>[t(e(nt),{class:"max-w-[60vw]! w-full h-[60vh]! max-h-[90vh] p-0 flex flex-col overflow-hidden"},{default:o(()=>[e(n)===1?(c(),S(Ss,{key:0,"database-options":Pe.value,"db-type":e(i),onNext:e(Ce),onClose:g},null,8,["database-options","db-type","onNext"])):(c(),h("form",{key:1,onSubmit:lt(Ue,["prevent"]),class:"flex flex-col h-full overflow-hidden"},[t(e(ge),{class:"p-6 pb-2"},{default:o(()=>[t(e(ye),null,{default:o(()=>s[21]||(s[21]=[p("Connection Details")])),_:1}),t(e(be),null,{default:o(()=>[p(" Enter the details for your "+U(e(i))+" database ",1)]),_:1})]),_:1}),a("div",ws,[t(e(tt),{modelValue:e(_),"onUpdate:modelValue":s[19]||(s[19]=y=>M(_)?_.value=y:null),class:"w-full"},{default:o(()=>[t(e(st),{class:"grid w-fit",style:at({gridTemplateColumns:`repeat(${e(oe).length}, minmax(0, 1fr))`}),id:"tour-connection-method-tabs"},{default:o(()=>[(c(!0),h(P,null,j(e(oe),y=>(c(),S(e(ot),{key:y,value:y,class:"cursor-pointer"},{default:o(()=>[y===e(W).STRING?(c(),h("span",$s," Connection String ")):y===e(W).FORM?(c(),h("span",As," Connection Form ")):y===e(W).MANAGED?(c(),h("span",Is," Managed SQLite ")):(c(),h("span",Es,"Database File"))]),_:2},1032,["value"]))),128))]),_:1},8,["style"]),a("div",Ts,[a("div",Bs,[t(e(D),{for:"connection-name",class:"flex items-center gap-2"},{default:o(()=>[t(e(I),{name:"hugeicons:database",class:"h-3.5 w-3.5 text-muted-foreground"}),s[22]||(s[22]=p(" Connection Name ")),s[23]||(s[23]=a("span",{class:"text-destructive"},"*",-1))]),_:1}),t(e(w),{id:"connection-name",placeholder:"My Database Connection",modelValue:e(V),"onUpdate:modelValue":s[0]||(s[0]=y=>M(V)?V.value=y:null)},null,8,["modelValue"])]),a("div",Ps,[t(e(D),{class:"flex items-center gap-2"},{default:o(()=>[t(e(I),{name:"hugeicons:tag-01",class:"h-3.5 w-3.5 text-muted-foreground"}),s[24]||(s[24]=p(" Environment Tags "))]),_:1}),t(e(Kt),{modelValue:e(v),"onUpdate:modelValue":s[1]||(s[1]=y=>M(v)?v.value=y:null)},null,8,["modelValue"])])]),t(e(z),{value:"string",class:"space-y-4 pt-4"},{default:o(()=>[a("div",Us,[t(e(D),{for:"connection-string",class:"flex items-center gap-2"},{default:o(()=>[t(e(I),{name:"hugeicons:connect",class:"h-3.5 w-3.5 text-muted-foreground"}),s[25]||(s[25]=p(" Connection String ")),s[26]||(s[26]=a("span",{class:"text-destructive"},"*",-1))]),_:1}),t(e(w),{id:"connection-string",placeholder:e(ae)(),modelValue:e(k),"onUpdate:modelValue":s[2]||(s[2]=y=>M(k)?k.value=y:null),class:"font-mono text-sm"},null,8,["placeholder","modelValue"]),a("p",Ls," Example: "+U(e(ae)()),1)])]),_:1}),t(e(z),{value:"form",class:"space-y-6 pt-2"},{default:o(()=>[a("div",Os,[a("div",qs,[a("div",Ns,[t(e(D),{for:"host"},{default:o(()=>s[27]||(s[27]=[p("Host "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(w),{id:"host",placeholder:"localhost",modelValue:e(C).host,"onUpdate:modelValue":s[3]||(s[3]=y=>e(C).host=y)},null,8,["modelValue"])]),a("div",Rs,[t(e(D),{for:"port"},{default:o(()=>s[28]||(s[28]=[p("Port "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(w),{id:"port",placeholder:e($e)(),modelValue:e(C).port,"onUpdate:modelValue":s[4]||(s[4]=y=>e(C).port=y)},null,8,["placeholder","modelValue"])])]),a("div",Ms,[a("div",zs,[t(e(D),{for:"username"},{default:o(()=>s[29]||(s[29]=[p("User "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(w),{id:"username",placeholder:"username",modelValue:e(C).username,"onUpdate:modelValue":s[5]||(s[5]=y=>e(C).username=y)},null,8,["modelValue"])]),a("div",Fs,[t(e(D),{for:"password"},{default:o(()=>s[30]||(s[30]=[p("Password")])),_:1}),a("div",Hs,[t(e(w),{id:"password",type:e(m)?"text":"password",placeholder:"••••••••",modelValue:e(C).password,"onUpdate:modelValue":s[6]||(s[6]=y=>e(C).password=y),class:"pr-8"},null,8,["type","modelValue"]),a("button",{type:"button",class:"absolute right-2 top-1/2 h-5 cursor-pointer -translate-y-1/2 text-muted-foreground hover:text-foreground transition-colors",onClick:s[7]||(s[7]=y=>m.value=!e(m)),"aria-label":e(m)?"Hide password":"Show password"},[t(e(I),{name:e(m)?"hugeicons:view":"hugeicons:view-off",class:"size-4!"},null,8,["name"])],8,Ks)])])]),a("div",js,[t(e(D),{for:"structured-target"},{default:o(()=>[p(U(e(Ae))+" ",1),s[31]||(s[31]=a("span",{class:"text-destructive"},"*",-1))]),_:1}),t(e(w),{id:"structured-target",placeholder:e(Ie),modelValue:le.value,"onUpdate:modelValue":s[8]||(s[8]=y=>le.value=y)},null,8,["placeholder","modelValue"])])]),e(Ee)?(c(),h("div",Qs,[t(e(ce),{type:"single",collapsible:"",class:"w-full border px-4 rounded-lg shadow"},{default:o(()=>[t(ms,{"form-data":e(C)},null,8,["form-data"])]),_:1}),t(e(ce),{type:"single",collapsible:"",class:"w-full border px-4 rounded-lg shadow"},{default:o(()=>[t(ns,{"form-data":e(C)},null,8,["form-data"])]),_:1})])):B("",!0)]),_:1}),t(e(z),{value:"file",class:"space-y-4 pt-4"},{default:o(()=>[a("div",Gs,[t(e(D),{for:"file-path",class:"flex items-center gap-2"},{default:o(()=>[t(e(I),{name:"hugeicons:file-01",class:"h-3.5 w-3.5 text-muted-foreground"}),s[32]||(s[32]=p(" SQLite File ")),s[33]||(s[33]=a("span",{class:"text-destructive"},"*",-1))]),_:1}),a("div",Ys,[t(e(w),{id:"file-path",placeholder:"/Users/you/data/app.sqlite",modelValue:e(C).filePath,"onUpdate:modelValue":s[9]||(s[9]=y=>e(C).filePath=y),readonly:e(J)},null,8,["modelValue","readonly"]),e(J)?(c(),S(e(q),{key:0,type:"button",variant:"outline",onClick:e(Te)},{default:o(()=>s[34]||(s[34]=[p(" Browse ")])),_:1},8,["onClick"])):B("",!0)]),a("p",Xs,[e(J)?(c(),h(P,{key:0},[p(" Choose a local SQLite database file from the desktop app. ")],64)):b.value?(c(),h(P,{key:1},[p(" Enter a SQLite file path that this app runtime can read. In hosted web deployments, this path is on the server. ")],64)):(c(),h(P,{key:2},[p(" SQLite file connections are disabled in this deployment. ")],64))])])]),_:1}),t(e(z),{value:"managed",class:"space-y-6 pt-2"},{default:o(()=>[a("div",Js,[t(e(D),null,{default:o(()=>s[35]||(s[35]=[p("SQLite Provider")])),_:1}),a("div",Zs,[t(e(q),{type:"button",variant:e(u).provider===e(R).CLOUDFLARE_D1?"default":"outline",class:"justify-start h-auto py-3",onClick:s[10]||(s[10]=y=>e(u).provider=e(R).CLOUDFLARE_D1)},{default:o(()=>[a("div",Ws,[a("div",ea,[t(e(I),{name:"devicon:cloudflare",class:"h-4 w-4 inline-block"}),s[36]||(s[36]=p(" Cloudflare D1 "))]),s[37]||(s[37]=a("div",{class:"text-xs opacity-80"}," Remote SQLite over the Cloudflare API ",-1))])]),_:1},8,["variant"]),t(e(q),{type:"button",variant:e(u).provider===e(R).TURSO?"default":"outline",class:"justify-start h-auto py-3",onClick:s[11]||(s[11]=y=>e(u).provider=e(R).TURSO)},{default:o(()=>[a("div",ta,[a("div",sa,[t(e(I),{name:"simple-icons:turso",class:"text-[#4ff8d2]"}),s[38]||(s[38]=p(" Turso "))]),s[39]||(s[39]=a("div",{class:"text-xs opacity-80"}," libSQL endpoint with optional branch routing ",-1))])]),_:1},8,["variant"])])]),e(u).provider===e(R).CLOUDFLARE_D1?(c(),h("div",aa,[a("div",oa,[t(e(D),{for:"d1-account-id"},{default:o(()=>s[40]||(s[40]=[p("Account ID "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(w),{id:"d1-account-id",modelValue:e(u).accountId,"onUpdate:modelValue":s[12]||(s[12]=y=>e(u).accountId=y),placeholder:"Cloudflare account ID"},null,8,["modelValue"])]),a("div",la,[t(e(D),{for:"d1-database-id"},{default:o(()=>s[41]||(s[41]=[p("Database ID "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(w),{id:"d1-database-id",modelValue:e(u).databaseId,"onUpdate:modelValue":s[13]||(s[13]=y=>e(u).databaseId=y),placeholder:"D1 database ID"},null,8,["modelValue"])]),a("div",na,[t(e(D),{for:"d1-database-name"},{default:o(()=>s[42]||(s[42]=[p("Database Name")])),_:1}),t(e(w),{id:"d1-database-name",modelValue:e(u).databaseName,"onUpdate:modelValue":s[14]||(s[14]=y=>e(u).databaseName=y),placeholder:"Optional display name"},null,8,["modelValue"])]),a("div",ra,[t(e(D),{for:"d1-api-token"},{default:o(()=>s[43]||(s[43]=[p("API Token "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(w),{id:"d1-api-token",type:"password",modelValue:e(u).apiToken,"onUpdate:modelValue":s[15]||(s[15]=y=>e(u).apiToken=y),placeholder:"Cloudflare API token"},null,8,["modelValue"])])])):(c(),h("div",da,[a("div",ia,[t(e(D),{for:"turso-url"},{default:o(()=>s[44]||(s[44]=[p("Database URL "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(w),{id:"turso-url",modelValue:e(u).url,"onUpdate:modelValue":s[16]||(s[16]=y=>e(u).url=y),placeholder:"libsql://your-db.turso.io",class:"font-mono text-sm"},null,8,["modelValue"])]),a("div",ua,[t(e(D),{for:"turso-auth-token"},{default:o(()=>s[45]||(s[45]=[p("Auth Token "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(w),{id:"turso-auth-token",type:"password",modelValue:e(u).authToken,"onUpdate:modelValue":s[17]||(s[17]=y=>e(u).authToken=y),placeholder:"Turso auth token"},null,8,["modelValue"])]),a("div",pa,[t(e(D),{for:"turso-branch-name"},{default:o(()=>s[46]||(s[46]=[p("Branch")])),_:1}),t(e(w),{id:"turso-branch-name",modelValue:e(u).branchName,"onUpdate:modelValue":s[18]||(s[18]=y=>e(u).branchName=y),placeholder:"main"},null,8,["modelValue"])])])),s[47]||(s[47]=a("p",{class:"text-xs text-muted-foreground"}," Managed SQLite providers stay on the SQL-family workspace after validation, but use provider-specific transport under the hood. ",-1))]),_:1})]),_:1},8,["modelValue"]),t(bs,{"test-status":e($),"error-message":e(ke)},null,8,["test-status","error-message"])]),t(e(_e),{class:"p-6 pt-4 flex flex-col-reverse gap-2 sm:flex-row sm:justify-between sm:space-x-2"},{default:o(()=>[a("div",ca,[t(e(q),{type:"button",variant:"outline",onClick:e(Ve),size:"sm"},{default:o(()=>[t(e(I),{name:"hugeicons:arrow-left-02"}),s[48]||(s[48]=p(" Back "))]),_:1},8,["onClick"])]),a("div",fa,[t(e(q),{type:"button",variant:"outline",onClick:e(Se),size:"sm",disabled:e($)==="testing"||!e(Z)},{default:o(()=>[e($)==="testing"?(c(),S(e(I),{key:0,name:"hugeicons:loading-03",class:"mr-2 size-4 animate-spin"})):B("",!0),s[49]||(s[49]=p(" Test "))]),_:1},8,["onClick","disabled"]),t(e(q),{id:"tour-create-update-connection-btn",type:"submit",size:"sm",disabled:e($)==="testing"||!e(Z)},{default:o(()=>[p(U(A.editingConnection?"Update":"Create"),1)]),_:1},8,["disabled"])])]),_:1})],32))]),_:1})]),_:1},8,["open"]))}});export{ha as _};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as k}from"./NMm6Vanu.js";import{d as y,c as p,a0 as A,a1 as C,a2 as n,a3 as D,b as B,e as a,l as _,m as e,g as s,n as f,j as V,z as g,f as o,w as i,t as z,D as N,F as S,a4 as $,o as l,A as j}from"./DgGwe7jd.js";import{_ as I}from"./o60RgyTd.js";const q=["data-electron-drag-region"],E={class:"flex items-center space-x-2 pointer-events-none"},F={class:"h-full overflow-y-auto flex flex-col"},L={key:0,class:"flex items-center justify-between border-b border-border py-2 px-2"},M={class:"flex items-center space-x-2"},P=["href"],O=y({__name:"home",setup(T){const r=p(()=>A()&&C()),c=B(),x=async()=>{r.value&&n()&&await window.electronAPI.window.maximize()},d=p(()=>n()||D()),v=c.public.githubLink;return(b,t)=>{const u=I,m=k,h=j,w=$;return l(),a(S,null,[s(d)?(l(),a("div",{key:0,class:f(s(V)("w-full h-10.5 select-none pr-2 bg-sidebar flex justify-center")),onDblclick:x},[e("div",{class:f(["flex w-full items-center gap-3 py-2 pr-2",s(r)?"pl-[4.75rem]":"pl-3"]),"data-electron-drag-region":s(n)()?"":void 0},[e("div",E,[o(m,{class:"rounded-2xl"},{default:i(()=>[o(u,{src:"/logo.png",alt:"@unovue"})]),_:1}),t[0]||(t[0]=e("p",{class:"text-xl font-medium"},"orcaq",-1))]),g(" v"+z(s(c).public.version),1)],10,q)],34)):_("",!0),e("div",F,[s(d)?_("",!0):(l(),a("div",L,[e("div",M,[o(m,{class:"rounded-2xl"},{default:i(()=>[o(u,{src:"/logo.png",alt:"@unovue"})]),_:1}),t[1]||(t[1]=e("p",{class:"text-2xl font-medium"},"orcaq",-1))]),e("div",null,[o(w,{variant:"outline",size:"sm","as-child":""},{default:i(()=>[e("a",{href:s(v),target:"_blank"},[o(h,{name:"hugeicons:github",class:"w-5 h-5"}),t[2]||(t[2]=g(" Star us on GitHub ⭐️ "))],8,P)]),_:1})])])),N(b.$slots,"default")])],64)}}});export{O as default};
|