@puddle-code/cli 0.2.21 → 0.2.24
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/CHANGELOG.md +2 -3
- package/dist/host-control.mjs +55 -22
- package/dist/index.js +61 -25
- package/dist/public/assets/App-BYidYCu7.js +2 -0
- package/dist/public/assets/{Dashboard-BhAek_r4.js → Dashboard-Dzjf0zET.js} +1 -1
- package/dist/public/assets/{EditorTabClose-CSKAGWsA.js → EditorTabClose-DKA1_wod.js} +1 -1
- package/dist/public/assets/{FindWidget-B6dVpkKr.js → FindWidget-AH805XK9.js} +1 -1
- package/dist/public/assets/LazyTerminal-Bqg0V2V8.js +2 -0
- package/dist/public/assets/{ModelRefcount-CrpDNwTn.js → ModelRefcount-5wOQD9So.js} +1 -1
- package/dist/public/assets/{NewProjectDialog-D-hVQlA4.js → NewProjectDialog-B6E4_Y_p.js} +1 -1
- package/dist/public/assets/{PaneEditorBody--h9jLt1e.js → PaneEditorBody-LVZ3_6WO.js} +3 -3
- package/dist/public/assets/{PdfViewer-CNzO040W.js → PdfViewer-BGVCeFGN.js} +2 -2
- package/dist/public/assets/{SettingsDialog-DaxYdggs.js → SettingsDialog-DKCK1la1.js} +2 -2
- package/dist/public/assets/{Terminal-DQL8GETy.js → Terminal-BSDLWpgK.js} +5 -5
- package/dist/public/assets/{Workspace-BDDSmIKE.js → Workspace-CR8tLiD8.js} +4 -4
- package/dist/public/assets/{abnfDiagram-VCTEODGH-Dj6CI3Nv.js → abnfDiagram-VCTEODGH-FgX2dXui.js} +1 -1
- package/dist/public/assets/architecture-7GRP2DOG-BtJFkJAN.js +1 -0
- package/dist/public/assets/{architectureDiagram-5GKGNRK7-7n7HJQxV.js → architectureDiagram-5GKGNRK7-CdJkD_Pz.js} +1 -1
- package/dist/public/assets/{blockDiagram-I7D4REHJ-Cmsxv8OS.js → blockDiagram-I7D4REHJ-DNbmvisu.js} +1 -1
- package/dist/public/assets/{buffer-store-NeRSjzSg.js → buffer-store-BvXwuYnu.js} +2 -2
- package/dist/public/assets/{button-hdghxls7.js → button-CHEvj8hX.js} +1 -1
- package/dist/public/assets/{c4Diagram-7LVT6UL2-D23ryIme.js → c4Diagram-7LVT6UL2-CjD9lD8i.js} +1 -1
- package/dist/public/assets/channel-Cdoqj1v0.js +1 -0
- package/dist/public/assets/{chunk-2E4U76K2-usroR3SM.js → chunk-2E4U76K2-SJhD4HB_.js} +1 -1
- package/dist/public/assets/{chunk-4HAMMTFA-B4mxD8f1.js → chunk-4HAMMTFA-C_eKRFh0.js} +1 -1
- package/dist/public/assets/{chunk-75Z2AOVW-BSDNHsOk.js → chunk-75Z2AOVW-DRIbOeZi.js} +1 -1
- package/dist/public/assets/{chunk-CLGD4ZFX-DpUm0L6C.js → chunk-CLGD4ZFX-CMf2IZk2.js} +1 -1
- package/dist/public/assets/{chunk-DU6HZSFF-Cin9bFEJ.js → chunk-DU6HZSFF-PwbPwYnk.js} +1 -1
- package/dist/public/assets/{chunk-F27PBJKO-BWPIZmRh.js → chunk-F27PBJKO-Oq_sdoh3.js} +1 -1
- package/dist/public/assets/{chunk-GMAD6QVW-eS27qQYi.js → chunk-GMAD6QVW-Ck8EGVZC.js} +1 -1
- package/dist/public/assets/{chunk-GVQU2GXP-DvZzuy44.js → chunk-GVQU2GXP-Ny1aeY0A.js} +1 -1
- package/dist/public/assets/{chunk-IMKFNOWR-CKfEqBn8.js → chunk-IMKFNOWR-fHImnlSZ.js} +1 -1
- package/dist/public/assets/{chunk-L3NEJ4N5-Gq2sL0Oq.js → chunk-L3NEJ4N5-BbUIctlf.js} +1 -1
- package/dist/public/assets/{chunk-OSK3NFVY-DSHFDm2K.js → chunk-OSK3NFVY-hqM-ZrkL.js} +1 -1
- package/dist/public/assets/{chunk-P2QGCYS3-B0b6PsO0.js → chunk-P2QGCYS3-B23zjSSj.js} +1 -1
- package/dist/public/assets/{chunk-POPQ4Y6H-B_whPWNN.js → chunk-POPQ4Y6H-GEEn3V5D.js} +1 -1
- package/dist/public/assets/{chunk-PWAF6VOD-DfdxoQ_F.js → chunk-PWAF6VOD-DW1kCowt.js} +1 -1
- package/dist/public/assets/{chunk-SHT3W25Y-CHrnqlvt.js → chunk-SHT3W25Y-DmDCmUrG.js} +1 -1
- package/dist/public/assets/{chunk-SVP7TREG-keTkvLck.js → chunk-SVP7TREG-DwlrYDnP.js} +1 -1
- package/dist/public/assets/{chunk-TICWLB2K-ZF0XdA5t.js → chunk-TICWLB2K-C5NBrDW2.js} +1 -1
- package/dist/public/assets/{chunk-TLUHSLCS-B3xiw07r.js → chunk-TLUHSLCS-COQ_6Xv5.js} +2 -2
- package/dist/public/assets/classDiagram-ZZMXUADV-BgnwaWPy.js +1 -0
- package/dist/public/assets/classDiagram-v2-VYDZK3BY-BgnwaWPy.js +1 -0
- package/dist/public/assets/{context-menu-fGutCa7q.js → context-menu-DofF0Gza.js} +1 -1
- package/dist/public/assets/{copy-B38GDFbv.js → copy-BW2fd4uA.js} +1 -1
- package/dist/public/assets/{cssMode-BBPxRrZH.js → cssMode-B4htuRa7.js} +1 -1
- package/dist/public/assets/{cynefin-OW5HDTMX-BKwXHhp6.js → cynefin-OW5HDTMX-DypMTjQw.js} +1 -1
- package/dist/public/assets/{cynefinDiagram-5FMLGOSQ-B59dmX8D.js → cynefinDiagram-5FMLGOSQ-WLacyiJj.js} +1 -1
- package/dist/public/assets/{dagre-GXQ25YYZ-BysK_yGg.js → dagre-GXQ25YYZ-DaKOhMFv.js} +1 -1
- package/dist/public/assets/{diagram-S7CK7UJ4-BTvgOprS.js → diagram-S7CK7UJ4-DIwi33o4.js} +1 -1
- package/dist/public/assets/{diagram-UQ7AKVKN-C1FXQfFT.js → diagram-UQ7AKVKN-x_QCuDjf.js} +1 -1
- package/dist/public/assets/{diagram-VSXAHHWV-CTub3LLw.js → diagram-VSXAHHWV-Bjr6LKcx.js} +1 -1
- package/dist/public/assets/{diagram-VX7I27RA-C8YSQsst.js → diagram-VX7I27RA-BQ1d8ghu.js} +1 -1
- package/dist/public/assets/{diagram-Z3DM3KII-zBY2ZT-7.js → diagram-Z3DM3KII-CN1JdLeI.js} +1 -1
- package/dist/public/assets/dialog-DPE0j1Ok.js +41 -0
- package/dist/public/assets/disclosure-BmYZGR3p.js +1 -0
- package/dist/public/assets/{dist-1iWQMdtt.js → dist-B1jh4y60.js} +1 -1
- package/dist/public/assets/{dist-DWt3BCrg.js → dist-BROMyZLV.js} +1 -1
- package/dist/public/assets/{ebnfDiagram-PWID7BFC-DZbYMMq9.js → ebnfDiagram-PWID7BFC-BWTV2Lw8.js} +1 -1
- package/dist/public/assets/{erDiagram-RLTQ6QDP-BufFqh6K.js → erDiagram-RLTQ6QDP-DiYZY7fZ.js} +1 -1
- package/dist/public/assets/{errors-0CwhraNS.js → errors-CZ1Lhnki.js} +1 -1
- package/dist/public/assets/eventmodeling-NTZA5JFV-RcT3PESX.js +1 -0
- package/dist/public/assets/flowDiagram-HODETNUW-DwQ7P0aM.js +1 -0
- package/dist/public/assets/{ganttDiagram-EL5Y4UJY-CzBnAVfV.js → ganttDiagram-EL5Y4UJY-ChyMBO-e.js} +1 -1
- package/dist/public/assets/{gitGraph-4MIJSDKK-DzkiKDz3.js → gitGraph-4MIJSDKK-qX2_zEiU.js} +1 -1
- package/dist/public/assets/{gitGraphDiagram-WWUBYQGX-Cg5zqV71.js → gitGraphDiagram-WWUBYQGX-DJb4bV4o.js} +1 -1
- package/dist/public/assets/{htmlMode-HP2zLptL.js → htmlMode-BaQBKHvn.js} +1 -1
- package/dist/public/assets/index-CAvJOpdz.css +2 -0
- package/dist/public/assets/{index-W9vnFL1i.js → index-yGQSODPf.js} +5 -5
- package/dist/public/assets/{info-A6RAGUB7-DrzRcVCp.js → info-A6RAGUB7-t5cYX1fg.js} +1 -1
- package/dist/public/assets/{infoDiagram-27XIBGKW-DKhhQ6Mi.js → infoDiagram-27XIBGKW-CoS-Nsq6.js} +1 -1
- package/dist/public/assets/{ishikawaDiagram-5VMMS53U-Sxvy6BP4.js → ishikawaDiagram-5VMMS53U-DaKttTut.js} +1 -1
- package/dist/public/assets/{journeyDiagram-3NMN7TZE-DLCDGlAt.js → journeyDiagram-3NMN7TZE-kLaNVwdB.js} +1 -1
- package/dist/public/assets/{jsonMode-3cqCCYan.js → jsonMode-DhacIbdT.js} +1 -1
- package/dist/public/assets/{kanban-definition-UXKFOSKX-BBHezsUK.js → kanban-definition-UXKFOSKX-sBx71npp.js} +1 -1
- package/dist/public/assets/{line-CXD0KIW6.js → line-B6tFaQMh.js} +1 -1
- package/dist/public/assets/{markdown-mermaid-gr78oRak.js → markdown-mermaid-C56AFLzi.js} +2 -2
- package/dist/public/assets/{math-DD0qgOf_.js → math-S65D25xf.js} +1 -1
- package/dist/public/assets/{media-refresh-store-DTLvGgrw.js → media-refresh-store-BhfM9D0i.js} +1 -1
- package/dist/public/assets/{mermaid-parser.core-CQpv25sY.js → mermaid-parser.core-D4kJBS6w.js} +3 -3
- package/dist/public/assets/{mermaid.core-CO3okgIG.js → mermaid.core-Cne_RySy.js} +3 -3
- package/dist/public/assets/{mindmap-definition-YA3MSWOX-DnuqRR1y.js → mindmap-definition-YA3MSWOX-BEhzKX0Z.js} +1 -1
- package/dist/public/assets/notification-delivery-BNxj08z5.js +1 -0
- package/dist/public/assets/{packet-AYTQ26CC--9UnHksn.js → packet-AYTQ26CC-BzfZcYUP.js} +1 -1
- package/dist/public/assets/{pdf-DFR5TvGJ.js → pdf-Cg-HiUjy.js} +1 -1
- package/dist/public/assets/{pegDiagram-XKGWAZYB-m8JdNNtC.js → pegDiagram-XKGWAZYB-DzpbUJ7d.js} +1 -1
- package/dist/public/assets/{pie-WAS4IAKB-GnDinOP5.js → pie-WAS4IAKB-DNKuxanW.js} +1 -1
- package/dist/public/assets/{pieDiagram-E7YTZNPT-u-NA8MFl.js → pieDiagram-E7YTZNPT-BeOnYivs.js} +1 -1
- package/dist/public/assets/{project-abbrev-Ce2YQx3q.js → project-abbrev-CKBTuDt5.js} +1 -1
- package/dist/public/assets/{protocol-support-DM3D3Owq.js → protocol-support-B-0f1eJ3.js} +1 -1
- package/dist/public/assets/{quadrantDiagram-AXDQQJYC-si_KhMBB.js → quadrantDiagram-AXDQQJYC-D5RU0BZ9.js} +1 -1
- package/dist/public/assets/{radar-RG4KPBEZ-CnJwODJt.js → radar-RG4KPBEZ-C-7t5hsN.js} +1 -1
- package/dist/public/assets/{railroad-74A4TZTK-Cgg0LWTI.js → railroad-74A4TZTK-CaVM2B69.js} +1 -1
- package/dist/public/assets/railroad-abnf-HS5TGJTU-BU_CVJO3.js +1 -0
- package/dist/public/assets/railroad-ebnf-LZEXJU2U-DfYF2tn-.js +1 -0
- package/dist/public/assets/railroad-peg-WCYAUIDC-DjlDlAsc.js +1 -0
- package/dist/public/assets/{railroadDiagram-O6MQD6OU-DuQX8qaE.js → railroadDiagram-O6MQD6OU-DxkTp-H6.js} +1 -1
- package/dist/public/assets/{requirementDiagram-BXWQKSXE-Chwrn5Tf.js → requirementDiagram-BXWQKSXE-DXsUjGlL.js} +1 -1
- package/dist/public/assets/{sankeyDiagram-P5KCCOFB-FpJ30BIQ.js → sankeyDiagram-P5KCCOFB-CjlMAu4N.js} +1 -1
- package/dist/public/assets/{scroll-restoration-B3J09_am.js → scroll-restoration-BMX0q1d6.js} +1 -1
- package/dist/public/assets/{selection-actions-awCJJCSe.js → selection-actions-BnvTzlOF.js} +1 -1
- package/dist/public/assets/{sequenceDiagram-WJ2MYXX4-DVw87Ucm.js → sequenceDiagram-WJ2MYXX4-B8pW_U2s.js} +1 -1
- package/dist/public/assets/{stateDiagram-D77RDMKH-qmBcs9VH.js → stateDiagram-D77RDMKH-C4649vJ_.js} +1 -1
- package/dist/public/assets/stateDiagram-v2-MP3YSRHH-z1utsNYA.js +1 -0
- package/dist/public/assets/{swimlanes-42K2YHIH-ts5KQGMt.js → swimlanes-42K2YHIH-D2bi0IkJ.js} +1 -1
- package/dist/public/assets/swimlanesDiagram-VR7AAH4N-RcujV43_.js +8 -0
- package/dist/public/assets/{switch-DMkSxGf3.js → switch-CEs7mmdu.js} +1 -1
- package/dist/public/assets/{timeline-definition-24CTP7MA-BDL_pzrt.js → timeline-definition-24CTP7MA-D55uisDI.js} +1 -1
- package/dist/public/assets/{treeView-Q6P3EWNA-B1vMOTkl.js → treeView-Q6P3EWNA-BTfpSxF_.js} +1 -1
- package/dist/public/assets/{treemap-WGGIJYW6-wi5T0FIb.js → treemap-WGGIJYW6-Ck20fjtW.js} +1 -1
- package/dist/public/assets/{tsMode-CsaS5imR.js → tsMode-BiJ1tmbK.js} +1 -1
- package/dist/public/assets/{use-ui-state-2VprViGF.js → use-ui-state-DMXseT3q.js} +1 -1
- package/dist/public/assets/{vennDiagram-4TSXK5OY-Djvp5-2_.js → vennDiagram-4TSXK5OY-BKNs6Vhx.js} +1 -1
- package/dist/public/assets/{view-state-store-rOwEBYKn.js → view-state-store-B64Y8syO.js} +1 -1
- package/dist/public/assets/{wardley-WFR3VGLG-Di-PFH_i.js → wardley-WFR3VGLG-sC7irUb3.js} +1 -1
- package/dist/public/assets/{wardleyDiagram-VM6X3IG4-B5Y8UZiL.js → wardleyDiagram-VM6X3IG4-BwmBuIAi.js} +1 -1
- package/dist/public/assets/{ws-DsytGlkr.js → ws-Djpdj45w.js} +1 -1
- package/dist/public/assets/{xychartDiagram-S5SC5T6Z-d-pvxFe2.js → xychartDiagram-S5SC5T6Z-IfkSgCyl.js} +1 -1
- package/dist/public/index.html +2 -2
- package/dist/public/notification-worker.js +104 -6
- package/package.json +1 -1
- package/dist/public/assets/App-NrJUEV9p.js +0 -2
- package/dist/public/assets/LazyTerminal-fxF4IO4o.js +0 -2
- package/dist/public/assets/architecture-7GRP2DOG-CDcS1iVd.js +0 -1
- package/dist/public/assets/channel-B98_B4F2.js +0 -1
- package/dist/public/assets/classDiagram-ZZMXUADV-CalLaxUD.js +0 -1
- package/dist/public/assets/classDiagram-v2-VYDZK3BY-CalLaxUD.js +0 -1
- package/dist/public/assets/dialog-CVAp0B_q.js +0 -41
- package/dist/public/assets/disclosure-CWTUvRKU.js +0 -1
- package/dist/public/assets/eventmodeling-NTZA5JFV-CC5F0fZk.js +0 -1
- package/dist/public/assets/flowDiagram-HODETNUW-Dmt2DAB8.js +0 -1
- package/dist/public/assets/index-Bwl8S5Du.css +0 -2
- package/dist/public/assets/notification-delivery-rQp5tkM8.js +0 -1
- package/dist/public/assets/railroad-abnf-HS5TGJTU-DPqD3hz7.js +0 -1
- package/dist/public/assets/railroad-ebnf-LZEXJU2U-9Jxyrh7e.js +0 -1
- package/dist/public/assets/railroad-peg-WCYAUIDC-gr2ZokSI.js +0 -1
- package/dist/public/assets/stateDiagram-v2-MP3YSRHH-TK5UygAI.js +0 -1
- package/dist/public/assets/swimlanesDiagram-VR7AAH4N-BUMN0oZf.js +0 -8
|
@@ -1,8 +1,81 @@
|
|
|
1
|
-
/* global self, indexedDB */
|
|
1
|
+
/* global self, indexedDB, crypto, TextEncoder, TextDecoder */
|
|
2
2
|
/* Notifications only: no fetch interception or caching of host content. */
|
|
3
3
|
let queue = Promise.resolve();
|
|
4
4
|
let database;
|
|
5
5
|
const uuid = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/i;
|
|
6
|
+
function targetOf(value) {
|
|
7
|
+
if (
|
|
8
|
+
!value ||
|
|
9
|
+
!/^[0-9a-f]{10}$/.test(value.project) ||
|
|
10
|
+
!uuid.test(value.session) ||
|
|
11
|
+
(value.host !== undefined && !uuid.test(value.host))
|
|
12
|
+
)
|
|
13
|
+
return undefined;
|
|
14
|
+
return {
|
|
15
|
+
project: value.project,
|
|
16
|
+
session: value.session,
|
|
17
|
+
...(value.host ? { host: value.host } : {}),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function validContent(value) {
|
|
21
|
+
return (
|
|
22
|
+
value &&
|
|
23
|
+
typeof value.title === 'string' &&
|
|
24
|
+
value.title.length > 0 &&
|
|
25
|
+
value.title.length <= 160 &&
|
|
26
|
+
typeof value.body === 'string' &&
|
|
27
|
+
value.body.length > 0 &&
|
|
28
|
+
value.body.length <= 256 &&
|
|
29
|
+
targetOf(value)
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
function bytes(hex) {
|
|
33
|
+
return Uint8Array.from(hex.match(/../g), (byte) => parseInt(byte, 16));
|
|
34
|
+
}
|
|
35
|
+
async function decryptPreview(payload) {
|
|
36
|
+
const preview = payload.preview;
|
|
37
|
+
if (
|
|
38
|
+
!preview ||
|
|
39
|
+
!uuid.test(preview.key) ||
|
|
40
|
+
!/^[a-f0-9]{24}$/.test(preview.iv) ||
|
|
41
|
+
typeof preview.ciphertext !== 'string' ||
|
|
42
|
+
preview.ciphertext.length > 3072 ||
|
|
43
|
+
!/^(?:[a-f0-9]{2}){16,}$/.test(preview.ciphertext)
|
|
44
|
+
)
|
|
45
|
+
return null;
|
|
46
|
+
const db = await new Promise((resolve, reject) => {
|
|
47
|
+
const request = indexedDB.open('puddle-notification-keys', 1);
|
|
48
|
+
request.onupgradeneeded = () => request.result.createObjectStore('keys', { keyPath: 'host' });
|
|
49
|
+
request.onsuccess = () => resolve(request.result);
|
|
50
|
+
request.onerror = () => reject(request.error);
|
|
51
|
+
});
|
|
52
|
+
try {
|
|
53
|
+
const saved = await new Promise((resolve, reject) => {
|
|
54
|
+
const request = db.transaction('keys').objectStore('keys').get(payload.host);
|
|
55
|
+
request.onsuccess = () => resolve(request.result);
|
|
56
|
+
request.onerror = () => reject(request.error);
|
|
57
|
+
});
|
|
58
|
+
if (!saved || saved.id !== preview.key || !/^[a-f0-9]{64}$/.test(saved.secret)) return null;
|
|
59
|
+
const key = await crypto.subtle.importKey('raw', bytes(saved.secret), 'AES-GCM', false, [
|
|
60
|
+
'decrypt',
|
|
61
|
+
]);
|
|
62
|
+
const clear = await crypto.subtle.decrypt(
|
|
63
|
+
{
|
|
64
|
+
name: 'AES-GCM',
|
|
65
|
+
iv: bytes(preview.iv),
|
|
66
|
+
additionalData: new TextEncoder().encode(
|
|
67
|
+
JSON.stringify(['puddle-notification-v1', payload.host, payload.id, preview.key]),
|
|
68
|
+
),
|
|
69
|
+
},
|
|
70
|
+
key,
|
|
71
|
+
bytes(preview.ciphertext),
|
|
72
|
+
);
|
|
73
|
+
const content = JSON.parse(new TextDecoder().decode(clear));
|
|
74
|
+
return validContent(content) ? content : null;
|
|
75
|
+
} finally {
|
|
76
|
+
db.close();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
6
79
|
function receipts() {
|
|
7
80
|
if (!database)
|
|
8
81
|
database = new Promise((resolve, reject) => {
|
|
@@ -46,6 +119,7 @@ async function seen(id, save = false) {
|
|
|
46
119
|
}
|
|
47
120
|
function show(request, host, fromPush = false, client) {
|
|
48
121
|
const task = queue.then(async () => {
|
|
122
|
+
if (typeof request === 'function') request = await request();
|
|
49
123
|
const deduplicate = request.id.startsWith('puddle-event-');
|
|
50
124
|
// Every push must call showNotification: Safari revokes permission for
|
|
51
125
|
// silent pushes. Matching tags replace a racing live alert without renotify.
|
|
@@ -55,7 +129,10 @@ function show(request, host, fromPush = false, client) {
|
|
|
55
129
|
tag: request.id,
|
|
56
130
|
silent: true,
|
|
57
131
|
renotify: false,
|
|
58
|
-
data:
|
|
132
|
+
data: {
|
|
133
|
+
...(host ? { host } : { client }),
|
|
134
|
+
...(targetOf(request.target) ? { target: targetOf(request.target) } : {}),
|
|
135
|
+
},
|
|
59
136
|
icon: '/puddle-app.png',
|
|
60
137
|
});
|
|
61
138
|
if (deduplicate) await seen(request.id, true).catch(() => {});
|
|
@@ -96,7 +173,18 @@ self.addEventListener('push', (event) => {
|
|
|
96
173
|
if (!uuid.test(payload?.id) || !uuid.test(payload?.host)) return;
|
|
97
174
|
event.waitUntil(
|
|
98
175
|
show(
|
|
99
|
-
|
|
176
|
+
async () => {
|
|
177
|
+
// A missing/rotated key or damaged ciphertext must still produce a visible push.
|
|
178
|
+
const content = await decryptPreview(payload).catch(() => null);
|
|
179
|
+
return {
|
|
180
|
+
id: `puddle-event-${payload.id}`,
|
|
181
|
+
title: content?.title ?? 'Puddle',
|
|
182
|
+
body: content?.body ?? 'An agent needs your attention.',
|
|
183
|
+
...(content
|
|
184
|
+
? { target: { project: content.project, session: content.session, host: payload.host } }
|
|
185
|
+
: {}),
|
|
186
|
+
};
|
|
187
|
+
},
|
|
100
188
|
payload.host,
|
|
101
189
|
true,
|
|
102
190
|
),
|
|
@@ -104,8 +192,13 @@ self.addEventListener('push', (event) => {
|
|
|
104
192
|
});
|
|
105
193
|
self.addEventListener('notificationclick', (event) => {
|
|
106
194
|
event.notification.close();
|
|
107
|
-
const
|
|
108
|
-
const
|
|
195
|
+
const destination = targetOf(event.notification.data?.target);
|
|
196
|
+
const host = destination?.host ?? event.notification.data?.host;
|
|
197
|
+
const target = uuid.test(host)
|
|
198
|
+
? `/?notificationHost=${host}${destination ? `¬ificationProject=${destination.project}¬ificationSession=${destination.session}` : ''}`
|
|
199
|
+
: destination
|
|
200
|
+
? `/project/${destination.project}/session/${destination.session}`
|
|
201
|
+
: '/';
|
|
109
202
|
event.waitUntil(
|
|
110
203
|
(async () => {
|
|
111
204
|
const windows = await self.clients.matchAll({ type: 'window', includeUncontrolled: true });
|
|
@@ -121,11 +214,16 @@ self.addEventListener('notificationclick', (event) => {
|
|
|
121
214
|
new URL(client.url).pathname === '/preview.html'
|
|
122
215
|
)
|
|
123
216
|
continue;
|
|
124
|
-
|
|
217
|
+
try {
|
|
218
|
+
await client.focus();
|
|
219
|
+
} catch {
|
|
220
|
+
continue;
|
|
221
|
+
}
|
|
125
222
|
client.postMessage({
|
|
126
223
|
t: 'notification-click',
|
|
127
224
|
id: event.notification.tag,
|
|
128
225
|
...(uuid.test(host) ? { host } : {}),
|
|
226
|
+
...(destination ? { target: destination } : {}),
|
|
129
227
|
});
|
|
130
228
|
return;
|
|
131
229
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@puddle-code/cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.24",
|
|
4
4
|
"description": "puddle \u2014 self-hosted orchestrator for CLI coding agents: serves the cockpit UI and connects it to local or SSH hosts.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/PerceptronV/puddle-code#readme",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SettingsDialog-DaxYdggs.js","assets/rolldown-runtime-QTnfLwEv.js","assets/react-CZI7_Jkm.js","assets/index-W9vnFL1i.js","assets/index-Bwl8S5Du.css","assets/dist-1iWQMdtt.js","assets/protocol-support-DM3D3Owq.js","assets/dialog-CVAp0B_q.js","assets/button-hdghxls7.js","assets/x-CZCUod6A.js","assets/createLucideIcon-DyMAgLa3.js","assets/LazyTerminal-fxF4IO4o.js","assets/switch-DMkSxGf3.js","assets/notification-delivery-rQp5tkM8.js","assets/disclosure-CWTUvRKU.js","assets/chevron-down--sjpQEHH.js","assets/dist-DWt3BCrg.js","assets/code-DRWf9a5s.js","assets/errors-0CwhraNS.js","assets/use-debounced-value-C86N-mOK.js","assets/Dashboard-BhAek_r4.js","assets/project-abbrev-Ce2YQx3q.js","assets/context-menu-fGutCa7q.js","assets/NewProjectDialog-D-hVQlA4.js","assets/ws-DsytGlkr.js","assets/Workspace-BDDSmIKE.js","assets/copy-B38GDFbv.js","assets/media-refresh-store-DTLvGgrw.js","assets/use-ui-state-2VprViGF.js","assets/preview-kind-QJSMKfUN.js","assets/debounce-B9DrqirV.js","assets/selection-actions-awCJJCSe.js","assets/drafts-B_tChlzR.js","assets/buffer-logic-BAkSBQT7.js","assets/view-state-store-rOwEBYKn.js","assets/scroll-restoration-B3J09_am.js","assets/Workspace-DdL3ODEC.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{K as n,N as r,S as i,T as a,U as o,a as s,at as c,c as l,g as u,h as d,i as f,m as p,n as m,nt as h,r as g,s as _,t as v,y}from"./index-W9vnFL1i.js";import{i as b,n as x,t as S}from"./dist-1iWQMdtt.js";import{$t as C,A as w,B as ee,Bt as T,C as E,D,E as O,Et as k,F as A,Gt as j,Ht as M,It as te,Jt as ne,K as re,Kt as N,M as ie,Mt as ae,N as oe,Nt as se,O as ce,P as le,Pt as ue,Qt as de,St as fe,T as pe,Ut as me,V as he,Vt as ge,W as _e,Wt as ve,Xt as ye,Y as be,Yt as xe,Z as Se,Zt as Ce,_ as we,a as Te,b as Ee,ct as De,ft as Oe,g as ke,gt as Ae,ht as je,k as Me,lt as Ne,m as Pe,mt as Fe,nt as Ie,ot as Le,p as Re,pt as ze,qt as Be,rt as Ve,st as He,tt as Ue,w as We,x as Ge,y as Ke,zt as qe}from"./protocol-support-DM3D3Owq.js";import{n as Je,t as Ye}from"./copy-B38GDFbv.js";import{a as Xe,c as Ze,d as Qe,f as $e,i as et,l as tt,m as nt,p as rt,s as it,u as at}from"./project-abbrev-Ce2YQx3q.js";import{S as P,c as ot,l as st,n as ct,s as lt,t as ut,u as dt,v as F}from"./dialog-CVAp0B_q.js";import{i as ft,t as I}from"./button-hdghxls7.js";import{c as pt,f as mt,i as ht,o as gt,s as L,u as _t}from"./LazyTerminal-fxF4IO4o.js";import{a as vt,c as yt,d as bt,f as xt,l as St,t as Ct,u as wt}from"./switch-DMkSxGf3.js";import{$ as Tt,G as Et,H as Dt,J as Ot,K as kt,Q as At,U as jt,W as Mt,X as Nt,Y as Pt,at as Ft,d as It,et as Lt,f as Rt,h as R,i as zt,it as z,m as Bt,nt as Vt,ot as B,p as Ht,q as Ut,r as Wt,rt as V,t as Gt,tt as Kt}from"./use-ui-state-2VprViGF.js";import{n as H}from"./x-CZCUod6A.js";import{t as U}from"./createLucideIcon-DyMAgLa3.js";import{a as qt,b as Jt,d as Yt,f as Xt,g as Zt,h as Qt,i as $t,l as en,m as tn,o as nn,p as rn,s as an,t as on,u as sn,v as cn,x as ln}from"./notification-delivery-rQp5tkM8.js";import{t as un}from"./NewProjectDialog-D-hVQlA4.js";import{n as W}from"./errors-0CwhraNS.js";import{t as G}from"./ws-DsytGlkr.js";var K=e(t(),1),q=m();function dn(){let[e,t]=(0,K.useState)(`Opening forwarded application…`);return(0,K.useEffect)(()=>{if(!/^\/forward\/([^/]+)\/(\d+)$/.exec(window.location.pathname)){t(`This forwarding link is invalid.`);return}let e=!0;return Je(new URL(window.location.href)).then(t=>{e&&window.location.replace(t)}).catch(()=>{e&&t(`The application is unavailable. Reconnect to Puddle and open this link again.`)}),()=>{e=!1}},[]),(0,q.jsx)(`p`,{className:`p-8 text-sm text-fg-secondary`,children:e})}var fn=class extends Ce{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new ue({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=pn(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=pn(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=pn(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}else return!0}runNext(e){let t=pn(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){T.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>ve(t,e))}findAll(e={}){return this.getAll().filter(t=>ve(e,t))}notify(e){T.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return T.batch(()=>Promise.all(e.map(e=>e.continue().catch(N))))}};function pn(e){return e.options.scope?.id}var mn=class extends Ce{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??me(r,t),a=this.get(i);return a||(a=new te({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){T.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>j(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>j(e,t)):t}notify(e){T.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){T.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){T.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},hn=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new mn,this.#t=e.mutationCache||new fn,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=ye.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=qe.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(ne(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=ge(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return T.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;T.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return T.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=T.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(N).catch(N)}invalidateQueries(e,t={}){return T.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=T.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(N)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(N)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(ne(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(N).catch(N)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(N).catch(N)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return qe.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(M(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{Be(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(M(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{Be(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=me(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===xe&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},gn=class extends K.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidUpdate(e){this.state.error!==null&&e.resetOn!==this.props.resetOn&&this.setState({error:null})}componentDidCatch(e,t){console.error(`Puddle: the ${this.props.scope} crashed`,e,t.componentStack)}render(){let{error:e}=this.state;return e===null?this.props.children:(0,q.jsxs)(`div`,{className:`flex h-full min-h-40 flex-col items-center justify-center gap-4 px-8 py-10 text-center`,children:[(0,q.jsxs)(`p`,{className:`text-sm text-fg`,children:[`The `,this.props.scope,` stopped rendering.`]}),(0,q.jsx)(`p`,{className:`max-w-lg font-mono text-2xs leading-relaxed text-interrupted`,children:e.message||String(e)}),(0,q.jsx)(`p`,{className:`max-w-sm text-2xs leading-relaxed text-fg-muted`,children:`Your sessions and their worktrees are on the daemon and untouched; the layout is saved. The console has the full stack.`}),(0,q.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>this.setState({error:null}),className:`text-2xs font-medium text-fg-gold transition-colors hover:underline`,children:`Try again`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>window.location.reload(),className:`text-2xs text-fg-muted transition-colors hover:text-fg`,children:`Reload`})]})]})}};function _n(){return(0,q.jsx)(S,{theme:(0,K.useSyncExternalStore)(_,s),position:`bottom-right`,toastOptions:{style:{background:`var(--bg-elevated)`,border:`none`,boxShadow:`0 8px 30px rgb(0 0 0 / 0.25)`,color:`var(--text-primary)`},classNames:{description:`whitespace-pre-wrap break-words font-mono text-2xs leading-snug max-h-40 overflow-y-auto`}}})}function vn(){return(0,q.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-ground`,children:(0,q.jsxs)(`div`,{className:`flex w-full max-w-md flex-col gap-10 px-8 pb-24`,children:[(0,q.jsx)(`h1`,{className:`font-mono text-2xl font-semibold text-fg`,children:`Puddle`}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-3 text-sm leading-relaxed text-fg-secondary`,children:[(0,q.jsxs)(`p`,{children:[`Authorise this browser by running`,` `,(0,q.jsx)(`span`,{className:`font-mono text-accent`,children:`puddle launch`}),` in a terminal.`]}),(0,q.jsx)(`p`,{children:`Use the link it opens. Your sessions, drafts and layouts stay in place.`})]})]})})}var yn=e(c(),1),bn=`a, button, [role="button"], [role="slider"], input, select, textarea, summary, label, [onclick], .cursor-pointer`,xn=`.monaco-editor`;function Sn(e,t){return e?.closest(xn)&&!e.closest(t)?`text`:e?.closest(bn)?`interactive`:`default`}function Cn(e,t=`.no-custom-caret`){(0,K.useEffect)(()=>{let n=e.current;if(!n)return;let r=window.matchMedia(`(pointer: fine)`),i=()=>{n.style.opacity=`0`},a=e=>{if(e.pointerType===`touch`||!r.matches){i();return}n.style.transform=`translate3d(${e.clientX}px, ${e.clientY}px, 0) translate(-50%, -50%)`;let a=e.target instanceof Element?e.target:null;if(a instanceof HTMLIFrameElement){i();return}n.style.opacity=`1`;let o=a?.closest(xn),s=Sn(a,t),c=s===`text`,l=s===`interactive`,u=c;if(c&&o){let e=getComputedStyle(o);n.style.setProperty(`--custom-cursor-caret-height`,`${Math.round(Number.parseFloat(e.fontSize)*1.3)}px`)}else if(!l&&a&&!a.closest(t)&&Array.from(a.childNodes).some(e=>e.nodeType===Node.TEXT_NODE&&e.textContent?.trim())){let e=getComputedStyle(a);e.userSelect!==`none`&&(u=!0,n.style.setProperty(`--custom-cursor-caret-height`,`${Math.round(Number.parseFloat(e.fontSize)*1.3)}px`))}n.classList.toggle(`is-interactive`,l),n.classList.toggle(`is-text`,u)};return window.addEventListener(`pointermove`,a,{passive:!0}),document.documentElement.addEventListener(`pointerleave`,i),window.addEventListener(`blur`,i),()=>{window.removeEventListener(`pointermove`,a),document.documentElement.removeEventListener(`pointerleave`,i),window.removeEventListener(`blur`,i)}},[t,e])}var wn=[`top`,`right`,`bottom`,`left`];function Tn(){let e=(0,K.useRef)(null);return Cn(e),(0,q.jsx)(`div`,{ref:e,className:`custom-cursor drafting-cursor`,"aria-hidden":`true`,children:wn.map(e=>(0,q.jsx)(`span`,{className:`drafting-cursor-tick`,"data-side":e},e))})}function En(){let e=(0,K.useRef)(null);return Cn(e),(0,q.jsx)(`div`,{ref:e,className:`custom-cursor invert-cursor`,"aria-hidden":`true`})}var Dn=`h1, h2, h3, h4, h5, h6, .no-rangefinder-caret`,On=40.5,J=4.05,kn=J*Math.sqrt(3)/2;function An(){let e=[],t=[],n=On/2,r=Math.ceil(n/kn)+1,i=e=>Math.round(e*100)/100,a=e=>`M${e.map(([e,t])=>`${i(e)} ${i(t)}`).join(`L`)}Z`;for(let i=-r;i<r;i+=1){let o=n+i*kn,s=o+kn,c=(i%2+2)%2*(J/2);for(let i=-r;i<r;i+=1){let r=n+i*J+c,l=[[r+J/2,o],[r,s],[r+J,s]],u=[[r+J/2,o],[r+3*J/2,o],[r+J,s]],d=e=>{let t=e.map(([e])=>e),n=e.map(([,e])=>e);return Math.max(...t)>0&&Math.min(...t)<On&&Math.max(...n)>0&&Math.min(...n)<On};d(l)&&e.push(a(l)),d(u)&&t.push(a(u))}}return{light:e.join(``),dark:t.join(``)}}var jn=An();function Mn(){let e=(0,K.useRef)(null);return Cn(e,Dn),(0,q.jsx)(`div`,{ref:e,className:`custom-cursor rangefinder-cursor`,"aria-hidden":`true`,children:(0,q.jsxs)(`svg`,{className:`rangefinder-cursor-facets`,viewBox:`0 0 ${On} ${On}`,focusable:`false`,children:[(0,q.jsx)(`path`,{className:`rangefinder-cursor-facet-light`,d:jn.light}),(0,q.jsx)(`path`,{className:`rangefinder-cursor-facet-dark`,d:jn.dark})]})})}function Nn(){let{cursorPackage:e}=u(),t=null;switch(e){case`rangefinder`:t=(0,q.jsx)(Mn,{});break;case`drafting`:t=(0,q.jsx)(Tn,{});break;case`invert`:t=(0,q.jsx)(En,{});break;case`system`:return null}return(0,yn.createPortal)(t,document.body)}var Pn=U(`corner-down-left`,[[`path`,{d:`M20 4v7a4 4 0 0 1-4 4H4`,key:`6o5b7l`}],[`path`,{d:`m9 10-5 5 5 5`,key:`1kshq7`}]]),Fn=U(`layout-template`,[[`rect`,{width:`18`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`f1a2em`}],[`rect`,{width:`9`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`jqznyg`}],[`rect`,{width:`5`,height:`7`,x:`16`,y:`14`,rx:`1`,key:`q5h2i8`}]]),In=U(`monitor-cog`,[[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m14.305 7.53.923-.382`,key:`1mlnsw`}],[`path`,{d:`m15.228 4.852-.923-.383`,key:`82mpwg`}],[`path`,{d:`m16.852 3.228-.383-.924`,key:`ln4sir`}],[`path`,{d:`m16.852 8.772-.383.923`,key:`1dejw0`}],[`path`,{d:`m19.148 3.228.383-.924`,key:`192kgf`}],[`path`,{d:`m19.53 9.696-.382-.924`,key:`fiavlr`}],[`path`,{d:`m20.772 4.852.924-.383`,key:`1j8mgp`}],[`path`,{d:`m20.772 7.148.924.383`,key:`zix9be`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`,key:`1tnzv8`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}]]),Ln=U(`notebook-pen`,[[`path`,{d:`M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4`,key:`re6nr2`}],[`path`,{d:`M2 6h4`,key:`aawbzj`}],[`path`,{d:`M2 10h4`,key:`l0bgd4`}],[`path`,{d:`M2 14h4`,key:`1gsvsf`}],[`path`,{d:`M2 18h4`,key:`1bu2t1`}],[`path`,{d:`M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`,key:`pqwjuv`}]]),Rn=U(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),zn=U(`settings-2`,[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]),Bn=U(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]);function Vn(){let e=Fe(),t=he(),[r,i]=(0,K.useState)(``),[a,o]=(0,K.useState)(n),s=()=>{r.trim()&&t.mutate({name:r.trim(),branch_prefix:a.trim()},{onSuccess:e=>pe(e.id)})},c=(e.data?.length??0)>0;return(0,q.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-ground`,children:(0,q.jsxs)(`div`,{className:`flex w-full max-w-md flex-col gap-10 px-8 pb-16`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(`h1`,{className:`font-mono text-2xl font-semibold text-fg`,children:`Puddle`}),(0,q.jsx)(`p`,{className:`text-sm text-fg-secondary`,children:`Who is working?`})]}),c&&(0,q.jsx)(`div`,{className:`flex flex-col`,children:e.data.map(e=>(0,q.jsxs)(`button`,{onClick:()=>pe(e.id),className:`flex items-center gap-3 rounded-md px-3 py-2.5 text-left transition-colors hover:bg-elevated active:bg-border/70`,children:[(0,q.jsx)(Qt,{icon:e.icon,colour:e.icon_colour,className:`size-5`}),(0,q.jsx)(`span`,{className:H(`text-base`,Zt(e.icon_colour)||`text-fg`),children:e.name}),e.branch_prefix&&(0,q.jsxs)(`span`,{className:`ml-auto text-2xs text-fg-muted`,children:[e.branch_prefix,`…`]})]},e.id))}),(0,q.jsxs)(`form`,{className:`flex flex-col gap-5`,onSubmit:e=>{e.preventDefault(),s()},children:[c&&(0,q.jsx)(`p`,{className:`text-2xs font-medium uppercase tracking-wide text-fg-muted`,children:`or create a profile`}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsx)(gt,{htmlFor:`profile-name`,children:`Name`}),(0,q.jsx)(L,{id:`profile-name`,placeholder:`e.g. alice`,value:r,onChange:e=>i(e.target.value),className:`h-10`,autoFocus:!c})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsx)(gt,{htmlFor:`branch-prefix`,children:`Branch prefix`}),(0,q.jsx)(L,{id:`branch-prefix`,placeholder:`no prefix`,value:a,onChange:e=>o(e.target.value),className:`h-10`})]}),t.error&&(0,q.jsx)(`p`,{className:`text-xs text-danger`,children:t.error.message}),(0,q.jsx)(I,{type:`submit`,size:`lg`,className:`self-start px-6`,disabled:!r.trim()||t.isPending,children:`Create profile`})]})]})})}var Hn=1,Un=.9,Wn=.8,Gn=.17,Kn=.1,qn=.999,Jn=.9999,Yn=.99,Xn=/[\\\/_+.#"@\[\(\{&]/,Zn=/[\\\/_+.#"@\[\(\{&]/g,Qn=/[\s-]/,$n=/[\s-]/g;function er(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?Hn:Yn;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=er(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=Hn:Xn.test(e.charAt(l-1))?(d*=Wn,p=e.slice(i,l-1).match(Zn),p&&i>0&&(d*=qn**+p.length)):Qn.test(e.charAt(l-1))?(d*=Un,m=e.slice(i,l-1).match($n),m&&i>0&&(d*=qn**+m.length)):(d*=Gn,i>0&&(d*=qn**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=Jn)),(d<Kn&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=er(e,t,n,r,l+1,a+2,o),f*Kn>d&&(d=f*Kn)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function tr(e){return e.toLowerCase().replace($n,` `)}function nr(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,er(e,t,tr(e),tr(t),0,0,{})}var rr=`[cmdk-group=""]`,ir=`[cmdk-group-items=""]`,ar=`[cmdk-group-heading=""]`,or=`[cmdk-item=""]`,sr=`${or}:not([aria-disabled="true"])`,cr=`cmdk-item-select`,Y=`data-value`,lr=(e,t,n)=>nr(e,t,n),ur=K.createContext(void 0),dr=()=>K.useContext(ur),fr=K.createContext(void 0),pr=()=>K.useContext(fr),mr=K.createContext(void 0),hr=K.forwardRef((e,t)=>{let n=Q(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=Q(()=>new Set),i=Q(()=>new Map),a=Q(()=>new Map),o=Q(()=>new Set),s=Er(e),{label:c,children:l,value:u,onValueChange:d,filter:f,shouldFilter:p,loop:m,disablePointerSelection:h=!1,vimBindings:g=!0,..._}=e,v=F(),y=F(),b=F(),x=K.useRef(null),S=Or();Z(()=>{if(u!==void 0){let e=u.trim();n.current.value=e,C.emit()}},[u]),Z(()=>{S(6,O)},[]);let C=K.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)D(),T(),S(1,E);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(b);e?e.focus():(i=document.getElementById(v))==null||i.focus()}if(S(7,()=>{n.current.selectedItemId=k()?.id,C.emit()}),r||S(5,O),s.current?.value!==void 0){let e=t??``;(o=(a=s.current).onValueChange)==null||o.call(a,e);return}}C.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),w=K.useMemo(()=>({value:(e,t,r)=>{t!==a.current.get(e)?.value&&(a.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,ee(t,r)),S(2,()=>{T(),C.emit()}))},item:(e,t)=>(r.current.add(e),t&&(i.current.has(t)?i.current.get(t).add(e):i.current.set(t,new Set([e]))),S(3,()=>{D(),T(),n.current.value||E(),C.emit()}),()=>{a.current.delete(e),r.current.delete(e),n.current.filtered.items.delete(e);let t=k();S(4,()=>{D(),t?.getAttribute(`id`)===e&&E(),C.emit()})}),group:e=>(i.current.has(e)||i.current.set(e,new Set),()=>{a.current.delete(e),i.current.delete(e)}),filter:()=>s.current.shouldFilter,label:c||e[`aria-label`],getDisablePointerSelection:()=>s.current.disablePointerSelection,listId:v,inputId:b,labelId:y,listInnerRef:x}),[]);function ee(e,t){let r=s.current?.filter??lr;return e?r(e,n.current.search,t):0}function T(){if(!n.current.search||s.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=i.current.get(n),a=0;r.forEach(t=>{let n=e.get(t);a=Math.max(n,a)}),t.push([n,a])});let r=x.current;A().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(ir);t?t.appendChild(e.parentElement===t?e:e.closest(`${ir} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${ir} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=x.current?.querySelector(`${rr}[${Y}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function E(){let e=A().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(Y);C.setState(`value`,e||void 0)}function D(){if(!n.current.search||s.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of r.current){let r=ee(a.current.get(t)?.value??``,a.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of i.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function O(){var e;let t=k();t&&(t.parentElement?.firstChild===t&&((e=t.closest(rr)?.querySelector(ar))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function k(){return x.current?.querySelector(`${or}[aria-selected="true"]`)}function A(){return Array.from(x.current?.querySelectorAll(sr)||[])}function j(e){let t=A()[e];t&&C.setState(`value`,t.getAttribute(Y))}function M(e){var t;let n=k(),r=A(),i=r.findIndex(e=>e===n),a=r[i+e];(t=s.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&C.setState(`value`,a.getAttribute(Y))}function te(e){let t=k()?.closest(rr),n;for(;t&&!n;)t=e>0?wr(t,rr):Tr(t,rr),n=t?.querySelector(sr);n?C.setState(`value`,n.getAttribute(Y)):M(e)}let ne=()=>j(A().length-1),re=e=>{e.preventDefault(),e.metaKey?ne():e.altKey?te(1):M(1)},N=e=>{e.preventDefault(),e.metaKey?j(0):e.altKey?te(-1):M(-1)};return K.createElement(P.div,{ref:t,tabIndex:-1,..._,"cmdk-root":``,onKeyDown:e=>{var t;(t=_.onKeyDown)==null||t.call(_,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:g&&e.ctrlKey&&re(e);break;case`ArrowDown`:re(e);break;case`p`:case`k`:g&&e.ctrlKey&&N(e);break;case`ArrowUp`:N(e);break;case`Home`:e.preventDefault(),j(0);break;case`End`:e.preventDefault(),ne();break;case`Enter`:{e.preventDefault();let t=k();if(t){let e=new Event(cr);t.dispatchEvent(e)}}}}},K.createElement(`label`,{"cmdk-label":``,htmlFor:w.inputId,id:w.labelId,style:jr},c),Ar(e,e=>K.createElement(fr.Provider,{value:C},K.createElement(ur.Provider,{value:w},e))))}),gr=K.forwardRef((e,t)=>{let n=F(),r=K.useRef(null),i=K.useContext(mr),a=dr(),o=Er(e),s=o.current?.forceMount??i?.forceMount;Z(()=>{if(!s)return a.item(n,i?.id)},[s]);let c=Dr(n,r,[e.value,e.children,r],e.keywords),l=pr(),u=$(e=>e.value&&e.value===c.current),d=$(e=>s||a.filter()===!1?!0:!e.search||e.filtered.items.get(n)>0);K.useEffect(()=>{let t=r.current;if(!(!t||e.disabled))return t.addEventListener(cr,f),()=>t.removeEventListener(cr,f)},[d,e.onSelect,e.disabled]);function f(){var e,t;p(),(t=(e=o.current).onSelect)==null||t.call(e,c.current)}function p(){l.setState(`value`,c.current,!0)}if(!d)return null;let{disabled:m,value:h,onSelect:g,forceMount:_,keywords:v,...y}=e;return K.createElement(P.div,{ref:ft(r,t),...y,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!m,"aria-selected":!!u,"data-disabled":!!m,"data-selected":!!u,onPointerMove:m||a.getDisablePointerSelection()?void 0:p,onClick:m?void 0:f},e.children)}),_r=K.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...a}=e,o=F(),s=K.useRef(null),c=K.useRef(null),l=F(),u=dr(),d=$(e=>i||u.filter()===!1?!0:!e.search||e.filtered.groups.has(o));Z(()=>u.group(o),[]),Dr(o,s,[e.value,e.heading,c]);let f=K.useMemo(()=>({id:o,forceMount:i}),[i]);return K.createElement(P.div,{ref:ft(s,t),...a,"cmdk-group":``,role:`presentation`,hidden:!d||void 0},n&&K.createElement(`div`,{ref:c,"cmdk-group-heading":``,"aria-hidden":!0,id:l},n),Ar(e,e=>K.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?l:void 0},K.createElement(mr.Provider,{value:f},e))))}),vr=K.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=K.useRef(null),a=$(e=>!e.search);return!n&&!a?null:K.createElement(P.div,{ref:ft(i,t),...r,"cmdk-separator":``,role:`separator`})}),yr=K.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=pr(),o=$(e=>e.search),s=$(e=>e.selectedItemId),c=dr();return K.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),K.createElement(P.input,{ref:t,...r,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":s,id:c.inputId,type:`text`,value:i?e.value:o,onChange:e=>{i||a.setState(`search`,e.target.value),n?.(e.target.value)}})}),br=K.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=K.useRef(null),o=K.useRef(null),s=$(e=>e.selectedItemId),c=dr();return K.useEffect(()=>{if(o.current&&a.current){let e=o.current,t=a.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),K.createElement(P.div,{ref:ft(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":s,"aria-label":r,id:c.listId},Ar(e,e=>K.createElement(`div`,{ref:ft(o,c.listInnerRef),"cmdk-list-sizer":``},e)))}),xr=K.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return K.createElement(lt,{open:n,onOpenChange:r},K.createElement(dt,{container:o},K.createElement(st,{"cmdk-overlay":``,className:i}),K.createElement(ot,{"aria-label":e.label,"cmdk-dialog":``,className:a},K.createElement(hr,{ref:t,...s}))))}),Sr=K.forwardRef((e,t)=>$(e=>e.filtered.count===0)?K.createElement(P.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),Cr=K.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return K.createElement(P.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},Ar(e,e=>K.createElement(`div`,{"aria-hidden":!0},e)))}),X=Object.assign(hr,{List:br,Item:gr,Input:yr,Group:_r,Separator:vr,Dialog:xr,Empty:Sr,Loading:Cr});function wr(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function Tr(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function Er(e){let t=K.useRef(e);return Z(()=>{t.current=e}),t}var Z=typeof window>`u`?K.useEffect:K.useLayoutEffect;function Q(e){let t=K.useRef();return t.current===void 0&&(t.current=e()),t}function $(e){let t=pr(),n=()=>e(t.snapshot());return K.useSyncExternalStore(t.subscribe,n,n)}function Dr(e,t,n,r=[]){let i=K.useRef(),a=dr();return Z(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(Y,s),i.current=s}),i}var Or=()=>{let[e,t]=K.useState(),n=Q(()=>new Map);return Z(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function kr(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function Ar({asChild:e,children:t},n){return e&&K.isValidElement(t)?K.cloneElement(kr(t),{ref:t.ref},n(t.props.children)):n(t)}var jr={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};function Mr({className:e,...t}){return(0,q.jsx)(X,{className:H(`flex size-full flex-col overflow-hidden rounded-lg bg-elevated`,e),...t})}function Nr({open:e,onOpenChange:t,children:n}){return(0,q.jsx)(ut,{open:e,onOpenChange:t,children:(0,q.jsx)(ct,{className:`max-w-lg overflow-hidden p-0 [&>button]:hidden`,children:(0,q.jsx)(Mr,{loop:!0,children:n})})})}function Pr({className:e,...t}){return(0,q.jsxs)(`div`,{className:`flex items-center gap-2 px-3 pt-1`,children:[(0,q.jsx)(Vt,{className:`size-4 shrink-0 text-fg-muted`}),(0,q.jsx)(X.Input,{className:H(`flex h-10 w-full bg-transparent text-sm text-fg outline-none placeholder:text-fg-muted`,e),...t})]})}function Fr({className:e,...t}){return(0,q.jsx)(X.List,{className:H(`max-h-72 overflow-y-auto p-1`,e),...t})}function Ir(e){return(0,q.jsx)(X.Empty,{className:`py-6 text-center text-sm text-fg-muted`,...e})}function Lr({className:e,...t}){return(0,q.jsx)(X.Group,{className:H(`overflow-hidden [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-2xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:uppercase [&_[cmdk-group-heading]]:tracking-wide [&_[cmdk-group-heading]]:text-fg-muted`,e),...t})}function Rr({className:e,...t}){return(0,q.jsx)(X.Item,{className:H(mt,_t,`[&_svg]:size-3.5 [&_svg]:text-fg-muted data-[selected=true]:[&_svg]:text-action-ink`,e),...t})}function zr({className:e,...t}){return(0,q.jsx)(`span`,{className:H(`ml-auto font-mono text-2xs tracking-widest text-fg-muted`,e),...t})}var Br=new class{transport;reload;pause;phase=`idle`;pending=null;constructor(e=fetch,t=()=>window.location.reload(),n=e=>new Promise(t=>setTimeout(t,e))){this.transport=e,this.reload=t,this.pause=n}refresh(e=12e4){return this.pending||=this.run(e).finally(()=>{this.pending=null}),this.pending}async run(e){this.phase=`requesting`;let t={authorization:`Bearer ${y.get()??``}`,"content-type":`application/json`};try{let n=await this.transport(`/cockpit/refresh`,{method:`POST`,headers:t,signal:AbortSignal.timeout(1e4),body:JSON.stringify({refreshId:crypto.randomUUID()})});if(n.status!==202)throw Error(`refresh rejected`);let i=r.parse(await n.json());this.phase=`waiting`;let o=Date.now()+e;for(;Date.now()<o;){await this.pause(1e3);try{let e=await this.transport(`/cockpit/status`,{headers:t,cache:`no-store`,signal:AbortSignal.timeout(3e3)});if(!e.ok)continue;let n=a.parse(await e.json());if(n.instance===i.instance||n.refreshId!==i.refreshId||n.upstream!==`ready`)continue;return this.phase=`complete`,this.reload(),!0}catch{}}}catch{}return this.phase=`failed`,!1}},Vr=null;function Hr(e){return Vr=e,()=>{Vr===e&&(Vr=null)}}function Ur(){Vr?.()}var Wr=new Set;function Gr(){return[...Wr].flatMap(e=>e())}function Kr({onNewSession:e,onNewProject:t}){let[n,r]=(0,K.useState)(!1),[i,a]=(0,K.useState)(`commands`),[o,s]=(0,K.useState)(``),[c,l]=(0,K.useState)(null),[u,d]=(0,K.useState)(!1),f=rt(),p=nt(),m=O(),h=p.id,_=Ae(m??void 0),v=k(h),y=Pt();(0,K.useEffect)(()=>Ee(`palette.toggle`,()=>r(e=>!e)),[]),(0,K.useEffect)(()=>Tt(()=>r(!0)),[]),(0,K.useEffect)(()=>{n||(a(`commands`),s(``),l(null),d(!1))},[n]);let b=(0,K.useMemo)(()=>{let n=[];for(let e of _.data??[])n.push({id:`project-${e.id}`,group:`Projects`,label:e.name,icon:Xe,keywords:`switch project open`,run:()=>void f(`/project/${e.id}`)});for(let e of v.data??[])e.status!==`archived`&&n.push({id:`session-${e.id}`,group:`Sessions`,label:y(e),icon:et,keywords:`switch session ${e.branch}`,run:()=>void f(`/project/${e.project_id}/session/${e.id}`)});return h!==void 0&&e&&n.push({id:`new-agent`,group:`Actions`,label:`New agent`,icon:xt,keywords:`new agent create start session`,run:()=>e()},{id:`new-terminal`,group:`Actions`,label:`New terminal`,icon:et,keywords:`new terminal create start shell session`,run:()=>e({kind:`terminal`})}),h!==void 0&&n.push({id:`open-path`,group:`Actions`,label:`Open path`,icon:Xe,keywords:`open path file directory folder editor tree browse absolute relative home`,closeOnRun:!1,run:()=>{s(``),l(null),a(`path`)}}),t&&n.push({id:`new-project`,group:`Actions`,label:`New project`,icon:bt,keywords:`new project open create repository repo workspace`,run:t}),n.push({id:`theme-dark`,group:`Theme`,label:`Switch theme: dark`,icon:Jt,keywords:`switch theme dark appearance`,run:()=>void g(`dark`)},{id:`theme-light`,group:`Theme`,label:`Switch theme: light`,icon:cn,keywords:`switch theme light appearance`,run:()=>void g(`light`)},{id:`theme-system`,group:`Theme`,label:`Switch theme: system`,icon:In,keywords:`switch theme system appearance`,run:()=>void g(`system`)},{id:`open-settings`,group:`Actions`,label:`Settings`,icon:Bn,keywords:`open settings preferences options configure`,run:()=>vt()},{id:`switch-profile`,group:`Actions`,label:`Switch profile`,icon:yt,keywords:`switch profile identity user change`,run:()=>We.set(null)},{id:`refresh-connection`,group:`Actions`,label:`Refresh connection`,icon:wt,keywords:`refresh connection reconnect restart cockpit tunnel ssh daemon`,run:()=>Ur()}),[...n,...Gr()]},[_.data,v.data,h,f,e,t,y]),x=(0,K.useMemo)(()=>{let e=new Map;for(let t of b){let n=e.get(t.group)??[];n.push(t),e.set(t.group,n)}return[...e.entries()]},[b]),S=async()=>{let e=o.trim();if(!(e===``||u)){d(!0),l(null);try{await Nt(e),r(!1)}catch(e){l(e instanceof Error?e.message:`Could not open that path.`)}finally{d(!1)}}};return(0,q.jsxs)(Nr,{open:n,onOpenChange:r,children:[(0,q.jsx)(Pr,{value:o,onValueChange:e=>{s(e),l(null)},placeholder:i===`path`?`Enter a path…`:`Type a command or search…`,onKeyDown:e=>{i===`path`&&(e.key===`Enter`?(e.preventDefault(),e.stopPropagation(),S()):e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),a(`commands`),s(``),l(null)))}}),i===`path`?(0,q.jsx)(Fr,{children:(0,q.jsxs)(`div`,{className:`px-3 py-3 text-xs text-fg-muted`,children:[(0,q.jsx)(`p`,{children:`Relative paths start from the bound worktree or project. Absolute and ~ paths work too.`}),(0,q.jsx)(`p`,{className:c?`mt-2 text-danger`:`mt-2`,"aria-live":`polite`,children:c??(u?`Opening…`:`Press Enter to open.`)})]})}):(0,q.jsxs)(Fr,{children:[(0,q.jsx)(Ir,{children:`Nothing matches.`}),x.map(([e,t])=>(0,q.jsx)(Lr,{heading:e,children:t.map(e=>{let t=e.icon;return(0,q.jsxs)(Rr,{value:`${e.label} ${e.keywords??``}`,onSelect:()=>{e.closeOnRun!==!1&&r(!1),e.run()},children:[t&&(0,q.jsx)(t,{}),e.label,e.shortcut&&(0,q.jsx)(zr,{children:e.shortcut})]},e.id)})},e))]})]})}function qr(){let e=document.activeElement;return e instanceof Element&&e.closest(`.xterm`)!==null}function Jr(){let e=document.activeElement;return e instanceof Element&&e.closest(`.monaco-editor`)!==null}function Yr(){let e=ze(O()??void 0).data?.hotkeys;return(0,K.useEffect)(()=>{Ge(e&&typeof e==`object`?e:void 0)},[e]),(0,K.useEffect)(()=>Ee(`window.close`,()=>{let e=de();e?.closeWindow?e.closeWindow():window.close()}),[]),(0,K.useEffect)(()=>{let e=e=>{let t=Pe(e);if(!t)return;let n=Re(t);if(!n)return;let r=ke(n);if(!r||!Ke(r,Jr()))return;let i=we(n);i&&(e.preventDefault(),e.stopPropagation(),i())},t=e=>{let t=Pe(e);if(!t)return;let n=Re(t);if(!n)return;let r=ke(n);if(!r||r.editor&&Jr()||r.deferInTerminal&&qr())return;let i=we(n);i&&(e.preventDefault(),i())};return window.addEventListener(`keydown`,e,!0),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`keydown`,e,!0),window.removeEventListener(`keydown`,t)}},[]),null}var Xr=4e3;function Zr(){let[e,t]=(0,K.useState)(`hidden`),n=(0,K.useRef)(e);n.current=e,(0,K.useEffect)(()=>{let e=null,r=G.onConnectionChange(r=>{if(r){e!==null&&clearTimeout(e),e=null,n.current===`lost`&&t(`hidden`);return}e!==null||n.current!==`hidden`||(e=setTimeout(()=>{e=null,n.current===`hidden`&&t(`lost`)},Xr))});return()=>{r(),e!==null&&clearTimeout(e)}},[]);let r=(0,K.useCallback)(async()=>{n.current!==`refreshing`&&(t(`refreshing`),await Br.refresh()||(x.error(`The cockpit has not come back — it may need a terminal (ssh re-auth): puddle refresh`),t(G.isConnected()?`hidden`:`lost`)))},[]);return(0,K.useEffect)(()=>Hr(()=>void r()),[r]),e===`hidden`?null:(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 bg-elevated px-3 py-2`,children:[(0,q.jsx)(`span`,{className:`text-xs text-fg-secondary`,children:e===`refreshing`?`Restarting the cockpit.`:`Connection to the daemon lost.`}),e===`lost`&&(0,q.jsxs)(I,{size:`sm`,className:`ml-auto`,onClick:()=>void r(),children:[(0,q.jsx)(wt,{}),`Refresh connection`]})]})}function Qr({label:e,percentage:t,hint:n}){let r=Math.max(0,Math.min(100,t));return(0,q.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`w-24 shrink-0 truncate text-2xs text-fg-muted`,title:e,children:e}),(0,q.jsx)(`span`,{className:`relative h-1.5 min-w-0 flex-1 overflow-hidden rounded-full bg-border`,children:(0,q.jsx)(`span`,{className:`absolute inset-y-0 left-0 rounded-full ${r>=90?`bg-danger`:r>=75?`bg-warning`:`bg-action`}`,style:{width:`${r}%`}})}),(0,q.jsxs)(`span`,{className:`shrink-0 text-2xs tabular-nums text-fg-muted`,children:[Math.round(r),`%`,n?` · ${n}`:``]})]})}function $r(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function ei(e){if(e===null)return`never`;let t=new Date(e).getTime(),n=Math.max(0,Math.round((Date.now()-t)/1e3));if(n<60)return`just now`;let r=Math.round(n/60);if(r<60)return`${r}m ago`;let i=Math.round(r/60);return i<24?`${i}h ago`:`${Math.round(i/24)}d ago`}function ti({account:e,onLogin:t,onStartSession:n,installed:r=!0}){let i=ie(e.id),a=e.logged_in?n:r?t:null,o=i.data?.subscription;return(0,q.jsxs)(`div`,{className:`rounded-md px-2 py-2 transition-colors hover:bg-elevated`,children:[(0,q.jsxs)(`button`,{type:`button`,disabled:a===null,onClick:()=>a?.(),className:`flex w-full items-center gap-3 text-left disabled:cursor-default`,children:[(0,q.jsx)(`span`,{className:`size-2 shrink-0 rounded-full ${e.logged_in?`bg-success`:`bg-idle`}`,"aria-hidden":!0}),(0,q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`span`,{className:`block truncate text-sm text-fg`,children:e.label}),(0,q.jsxs)(`span`,{className:`block text-2xs text-fg-muted`,children:[e.logged_in?`logged in`:`logged out`,i.data&&(0,q.jsxs)(q.Fragment,{children:[` · `,i.data.session_count,` session`,i.data.session_count===1?``:`s`,i.data.active_session_count>0&&` (${i.data.active_session_count} active)`,` · `,`last `,ei(i.data.last_activity_at)]})]}),i.data?.agent_usage&&(0,q.jsxs)(`span`,{className:`block text-2xs text-fg-muted`,children:[$r(i.data.agent_usage.input_tokens),` in ·`,` `,$r(i.data.agent_usage.output_tokens),` out ·`,` `,$r(i.data.agent_usage.cache_read_input_tokens),` cached ·`,` `,i.data.agent_usage.message_count,` msgs`]}),i.data?.live_usage?.context_used_percentage!=null&&(0,q.jsx)(`span`,{className:`mt-1 block`,children:(0,q.jsx)(Qr,{label:`context`,percentage:i.data.live_usage.context_used_percentage})})]}),(0,q.jsx)(`span`,{className:`shrink-0 text-2xs text-fg-muted`,children:r?e.logged_in?n?`new agent`:``:(0,q.jsxs)(`span`,{className:`flex items-center gap-1 text-warning`,children:[(0,q.jsx)(ln,{className:`size-3`}),`sign in`]}):`unavailable`})]}),o!=null&&o.windows.length>0&&(0,q.jsx)(`div`,{className:`mt-2 flex flex-col gap-1 pl-5`,children:o.windows.map(e=>(0,q.jsx)(Qr,{label:e.label,percentage:e.used_percentage,hint:e.resets==null?void 0:`resets ${e.resets}`},e.key))})]})}function ni(){let[e,t]=(0,K.useState)(!1),[n,r]=(0,K.useState)(!1),i=O(),a=Fe(),o=De(),s=a.data?.find(e=>e.id===i),c=oe(i??void 0),l=le(),u=Ve(),{open:d,handler:f}=Ot(),[p,m]=(0,K.useState)(null),h=e=>u.mutate(e.id,{onSuccess:t=>m({stream:t.stream,label:`${e.agent_type}/${e.label}`}),onError:e=>W(e)}),g=e=>{t(!1),d({accountId:e.id})};return n&&s?(0,q.jsxs)(`div`,{className:`flex h-8 items-center gap-2 px-3`,children:[(0,q.jsx)(Qt,{icon:s.icon,colour:s.icon_colour}),(0,q.jsx)(Lt,{initial:s.name,maxLength:100,className:H(`w-32 text-sm`,Zt(s.icon_colour)),onCommit:e=>{r(!1);let t=e.trim();!i||!t||t===s?.name||o.mutate({id:i,name:t},{onError:e=>W(e)})},onCancel:()=>r(!1)})]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(Xt,{open:e,onOpenChange:t,children:[(0,q.jsxs)(V,{children:[(0,q.jsx)(B,{asChild:!0,children:(0,q.jsx)(tn,{asChild:!0,children:(0,q.jsxs)(I,{variant:`ghost`,size:`sm`,className:`font-sans compact:h-7 compact:px-1.5`,children:[(0,q.jsx)(Qt,{icon:s?.icon,colour:s?.icon_colour}),(0,q.jsx)(`span`,{className:Zt(s?.icon_colour),...Kt(()=>{t(!1),r(!0)}),children:s?.name??`…`})]})})}),(0,q.jsx)(z,{children:`Profile`})]}),(0,q.jsxs)(rn,{className:`w-[28rem] max-w-[calc(100vw-1rem)]`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(l.data??[]).map(e=>{let t=c.data?.filter(t=>t.agent_type===e.id)??[];if(t.length===0)return null;let n=e.available!==!1;return(0,q.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,q.jsxs)(`span`,{className:`px-2 text-2xs font-medium uppercase tracking-wide text-fg-muted`,children:[e.display_name,!n&&(0,q.jsxs)(`span`,{className:`ml-2 normal-case tracking-normal text-fg-muted`,children:[`not installed — no `,e.binary??e.id,` on PATH`]})]}),t.map(e=>(0,q.jsx)(ti,{account:e,onLogin:()=>h(e),onStartSession:f&&n?()=>g(e):null,installed:n},e.id))]},e.id)}),c.data?.length===0&&(0,q.jsx)(`p`,{className:`px-2 text-sm text-fg-muted`,children:`No accounts yet — add one in settings.`})]}),(0,q.jsxs)(`div`,{className:`mt-4 flex items-center gap-2`,children:[(0,q.jsxs)(I,{variant:`ghost`,size:`sm`,onClick:()=>{t(!1),vt(`accounts`)},children:[(0,q.jsx)(bt,{}),`Add account`]}),(0,q.jsxs)(I,{variant:`ghost`,size:`sm`,className:`ml-auto`,onClick:()=>{t(!1),We.set(null)},children:[(0,q.jsx)(zn,{}),`Switch profile`]})]})]})]}),p&&(0,q.jsx)(Yt,{stream:p.stream,label:p.label,onClose:()=>m(null)})]})}var ri=`desktop-update`;function ii(){let e=(0,K.useRef)(null);return(0,K.useEffect)(()=>{let t=de();if(t?.updateReady===void 0||t.onUpdateReady===void 0)return;let n=t=>{e.current!==t&&(e.current=t,x(`Puddle ${t} is downloaded and ready.`,{id:ri,duration:1/0,closeButton:!0,action:{label:`Restart to update`,onClick:()=>{de()?.installUpdate?.(),x.loading(`Restarting into Puddle ${t}…`,{id:`${ri}-restarting`,duration:1/0})}}}))};return t.updateReady().then(e=>{e!==null&&n(e)}),t.onUpdateReady(n)},[]),null}function ai(){let e=O(),t=Fe().data?.find(t=>t.id===e),n=ze(e??void 0),r=fe(e??void 0,void 0),i=u(),a=nn(),o=an(),s=Ne(e??``),c=De(),f=_e(),[p,m]=(0,K.useReducer)(e=>e+1,0);(0,K.useEffect)(()=>_(()=>m()),[]);let h=(0,K.useRef)(null);(0,K.useEffect)(()=>{h.current=null},[t?.name]);let v=a.data?.available===!0?a.data.file:void 0,y=t!==void 0&&e!==null&&n.data!==void 0&&r.data!==void 0&&v!==void 0,b=t&&v?qt(v,t.name):void 0,x=s.isPending||c.isPending||f.isPending||o.isPending||n.isFetching||r.isFetching;(0,K.useEffect)(()=>{if(!y||!b?.enabled||x)return;let a={client:i,theme:l(),profileSettings:n.data,profile:t,scratchpad:r.data},u={setClient:e=>d(e),setTheme:e=>{typeof e==`string`&&g(e)},patchProfileSettings:e=>s.mutate(e),patchProfileColumns:t=>c.mutate({id:e,...t}),createScratchpad:t=>{for(let n of t)f.mutate({profile_id:e,scope:`profile`,title:n.title??void 0,body:n.body,tags:n.tags,agent_type:n.agent_type??void 0})}},p=JSON.stringify(b.doc);if(h.current!==p){h.current=p,en(b.doc,u,a,b.groups);return}let m=sn(b.groups,a),_=JSON.stringify(m);_!==p&&(h.current=_,o.mutate({profile:t.name,entry:{...b,doc:m,updatedAt:new Date().toISOString()}}))})}var oi=new Set,si=e=>!!e&&oi.has(e),ci=h.parse({});function li(e){return e.prefs.muted_projects.includes(e.projectId)?{desktop:!1,sound:!1}:{desktop:e.prefs.desktop&&(e.permission===`granted`||e.permission===`unverified`)&&(e.prefs.when_focused||!e.windowFocused),sound:e.prefs.sound}}function ui(e,t){for(let[,n]of e.getQueriesData({queryKey:[`sessions`]})){let e=n?.find(e=>e.id===t);if(e)return e}for(let[,n]of e.getQueriesData({queryKey:[`project`]})){let e=n?.sessions.find(e=>e.id===t);if(e)return e}}function di(e){return e.title??e.agent_title??e.osc_title??e.id.slice(0,8)}function fi(){try{let e=new AudioContext,t=e.createGain();t.gain.value=.04,t.connect(e.destination);for(let[n,r]of[[880,0],[1318.5,.09]]){let i=e.createOscillator();i.type=`sine`,i.frequency.value=n,i.connect(t),i.start(e.currentTime+r),i.stop(e.currentTime+r+.12)}setTimeout(()=>void e.close(),400)}catch{}}function pi(){let e=rt();mi(t=>{e(`/project/${t.project_id}/session/${t.id}`)})}function mi(e){let t=se(),n=(0,K.useRef)(e);n.current=e;let r=Me(Ue().data)??`Puddle`,a=(0,K.useRef)(r);(0,K.useEffect)(()=>{document.title===a.current&&(document.title=r),a.current=r},[r]),(0,K.useEffect)(()=>{let e=new Set,r=()=>{document.title=e.size>0?`(${e.size}) ${a.current}`:a.current},o=!0,s=async e=>{let r=ui(t,e.session);if(!r)try{r=(await D(t)).find(t=>t.id===e.session)}catch{return}if(!o||!r)return;let a=r,s;try{let e=await t.fetchQuery({queryKey:[`project`,a.project_id],queryFn:()=>b(`GET`,`/api/projects/${a.project_id}`),staleTime:1e4});if(!o)return;let n=e.project.profile_id,r=await t.fetchQuery({queryKey:[`profile-settings`,n],queryFn:()=>b(`GET`,`/api/profiles/${n}/settings`),staleTime:1e4});s=h.catch(ci).parse(r.notifications??{})}catch{return}if(!o)return;let c=li({prefs:s,projectId:a.project_id,windowFocused:document.hasFocus(),permission:$t()});c.sound&&fi(),c.desktop&&!si(i()?.scope)&&await on({id:e.id?`puddle-event-${e.id}`:`puddle-agent-${a.id}`,title:di(a).slice(0,160),body:e.reason===`exited`?`Agent finished running`:`Waiting for your input`},()=>{o&&n.current(a)})},c=G.onAgentNotification(e=>{s(e)}),l=G.onStatus(n=>{let i=e.has(n.session);n.status===`waiting_input`?e.add(n.session):e.delete(n.session),r(),!(n.status!==`waiting_input`||i)&&t.fetchQuery({queryKey:[`version`],queryFn:()=>b(`GET`,`/api/version`),staleTime:1/0}).then(e=>{if(!(e.protocol.major>22||e.protocol.major===22&&e.protocol.minor>=3))return s({session:n.session,reason:`waiting_input`})}).catch(()=>{})});return()=>{o=!1,l(),c(),document.title=a.current}},[t])}function hi({initial:e,defaultScope:t,allowProject:n=!0,agents:r,onSave:i,onCancel:a}){let[o,s]=(0,K.useState)(e?.title??``),[c,l]=(0,K.useState)(e?.body??``),[u,d]=(0,K.useState)(n?e?.scope??t:`profile`),[f,p]=(0,K.useState)((e?.tags??[]).join(`, `)),[m,h]=(0,K.useState)(e?.agent_type??null),g=()=>{let e=c.trim();e&&i({title:o.trim()||null,body:e,scope:u,tags:f.split(`,`).map(e=>e.trim()).filter(Boolean),agent_type:m})};return(0,q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,q.jsx)(L,{value:o,placeholder:`Title (optional)`,spellCheck:!1,onChange:e=>s(e.target.value),onKeyDown:e=>e.stopPropagation(),className:`h-9 text-sm font-medium`}),(0,q.jsx)(pt,{autoFocus:!0,value:c,placeholder:`Prompt or note…`,spellCheck:!1,rows:10,onChange:e=>l(e.target.value),onKeyDown:e=>{e.stopPropagation(),e.key===`Escape`?a():e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&g()},className:`resize-y text-sm leading-relaxed`}),(0,q.jsx)(L,{value:f,placeholder:`tags, comma, separated`,spellCheck:!1,onChange:e=>p(e.target.value),onKeyDown:e=>e.stopPropagation(),className:`h-8 text-xs`}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[n&&(0,q.jsxs)(`label`,{className:`flex items-center gap-1.5 text-2xs text-fg-secondary`,children:[(0,q.jsx)(Ct,{checked:u===`profile`,onCheckedChange:e=>d(e?`profile`:`project`)}),`Profile-wide`]}),(0,q.jsx)(`div`,{className:`ml-auto flex items-center gap-1`,children:r.map(e=>(0,q.jsxs)(`button`,{type:`button`,title:e.display_name,"aria-pressed":m===e.id,onClick:()=>h(t=>t===e.id?null:e.id),className:H(`rounded-md p-1 transition-colors`,m===e.id?`bg-surface text-fg`:`text-fg-gold hover:bg-surface hover:text-fg`),children:[(0,q.jsx)(kt,{type:e.id,className:`size-3.5`}),(0,q.jsx)(`span`,{className:`sr-only`,children:e.display_name})]},e.id))})]}),(0,q.jsxs)(`div`,{className:`flex items-center justify-end gap-1.5`,children:[(0,q.jsx)(I,{variant:`ghost`,size:`sm`,onClick:a,children:`Cancel`}),(0,q.jsx)(I,{size:`sm`,disabled:!c.trim(),onClick:g,children:`Save`})]})]})}function gi(){let e=Et(),t=O(),n=nt().id,r=fe(t??void 0,n).data??[],i=le().data??[],a=_e(),o=Oe(),s=Se(),c=Mt(),[l,u]=(0,K.useState)(null),[d,f]=(0,K.useState)(null),[p,m]=(0,K.useState)(null),[h,g]=(0,K.useState)(null),[_,v]=(0,K.useState)(null);(0,K.useEffect)(()=>Ee(`scratchpad.toggle`,jt),[]),(0,K.useEffect)(()=>{e||(u(null),f(null),m(null))},[e]);let y=(0,K.useMemo)(()=>[...new Set(r.flatMap(e=>e.tags))].sort((e,t)=>e.localeCompare(t)),[r]),b=(0,K.useMemo)(()=>[...new Set(r.map(e=>e.agent_type).filter(e=>e!==null))],[r]),S=d!==null||p!==null,C=r.filter(e=>(d===null||e.tags.includes(d))&&(p===null||e.agent_type===p)),w=S?C:_??r,ee=e=>{t&&(a.mutate({profile_id:t,scope:e.scope,project_id:e.scope===`project`?n:void 0,title:e.title??void 0,body:e.body,tags:e.tags,agent_type:e.agent_type??void 0}),u(null))},T=(e,t)=>{o.mutate({id:e,scope:t.scope,project_id:t.scope===`project`?n??null:null,title:t.title,body:t.body,tags:t.tags,agent_type:t.agent_type}),u(null)},E=(e,t)=>{let n=_??r,i=n.findIndex(t=>t.id===e),a=n.findIndex(e=>e.id===t);if(i===-1||a===-1||i===a)return;let o=n.slice(),[s]=o.splice(i,1);o.splice(a,0,s),v(o)},D=()=>{let e=h,t=_;if(g(null),v(null),e===null||!t)return;let n=t.findIndex(t=>t.id===e);if(n===-1)return;let r=t[n-1],i=t[n+1],a=r?i?(r.position+i.position)/2:r.position+1:(i?i.position:0)-1;o.mutate({id:e,position:a})},k=e=>{navigator.clipboard?.writeText(e.body),x.success(`Copied to clipboard`)};return(0,q.jsxs)(Xt,{open:e,onOpenChange:Dt,children:[(0,q.jsxs)(V,{children:[(0,q.jsx)(B,{asChild:!0,children:(0,q.jsx)(tn,{asChild:!0,children:(0,q.jsxs)(I,{variant:`ghost`,size:`icon`,className:`compact:h-7 compact:w-7`,children:[(0,q.jsx)(Ln,{}),(0,q.jsx)(`span`,{className:`sr-only`,children:`Scratchpad`})]})})}),(0,q.jsx)(z,{children:`Scratchpad`})]}),(0,q.jsxs)(rn,{className:`w-[34rem] max-w-[calc(100vw-1rem)] p-0`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 px-5 pb-2 pt-4`,children:[(0,q.jsx)(`span`,{className:`text-2xs font-medium uppercase tracking-wide text-fg-gold`,children:`Scratchpad`}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>u(l===`new`?null:`new`),className:`ml-auto flex items-center rounded-md p-1 text-fg-gold transition-colors hover:bg-surface hover:text-fg`,children:[(0,q.jsx)(bt,{className:`size-4`}),(0,q.jsx)(`span`,{className:`sr-only`,children:`New entry`})]})]}),(y.length>0||b.length>0)&&(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1 px-5 pb-2`,children:[y.map(e=>(0,q.jsx)(`button`,{type:`button`,onClick:()=>f(t=>t===e?null:e),className:H(`rounded-full px-2 py-0.5 text-2xs transition-colors`,d===e?`bg-action text-action-ink`:`bg-surface text-fg-secondary hover:text-fg`),children:e},e)),b.map(e=>(0,q.jsx)(`button`,{type:`button`,"aria-pressed":p===e,onClick:()=>m(t=>t===e?null:e),className:H(`rounded-md p-1 transition-colors`,p===e?`bg-action text-action-ink`:`text-fg-gold hover:bg-surface`),children:(0,q.jsx)(kt,{type:e,className:`size-3.5`})},e))]}),(0,q.jsxs)(`div`,{className:`no-scrollbar max-h-[65vh] overflow-y-auto px-2 pb-3`,children:[l===`new`&&(0,q.jsx)(`div`,{className:`px-3 py-2`,children:(0,q.jsx)(hi,{defaultScope:n?`project`:`profile`,allowProject:n!==void 0,agents:i,onSave:ee,onCancel:()=>u(null)})}),w.length===0&&l!==`new`&&(0,q.jsx)(`p`,{className:`px-3 py-3 text-sm text-fg-muted`,children:S?`Nothing matches this filter.`:`No entries yet — press + to add a reusable prompt or note.`}),(0,q.jsx)(`ul`,{className:`flex flex-col`,children:w.map(e=>l===e.id?(0,q.jsx)(`li`,{className:`px-3 py-2`,children:(0,q.jsx)(hi,{initial:e,defaultScope:e.scope,allowProject:n!==void 0||e.scope===`project`,agents:i,onSave:t=>T(e.id,t),onCancel:()=>u(null)})},e.id):(0,q.jsx)(`li`,{draggable:!S&&l===null,onDragStart:t=>{t.dataTransfer.effectAllowed=`move`,g(e.id)},onDragOver:t=>{h!==null&&(t.preventDefault(),h!==e.id&&E(h,e.id))},onDragEnd:D,className:H(`transition-opacity`,h===e.id&&`opacity-50`),children:(0,q.jsx)(_i,{entry:e,onInsert:c?()=>{c(e.body),Dt(!1)}:null,onCopy:()=>k(e),onEdit:()=>u(e.id),onDelete:()=>s.mutate(e.id)})},e.id))})]})]})]})}function _i({entry:e,onInsert:t,onCopy:n,onEdit:r,onDelete:i}){let[a,o]=(0,K.useState)(!1);return(0,q.jsxs)(`div`,{onClick:e=>{e.target.closest(`button`)||r()},className:`cursor-pointer rounded-md px-3 py-2.5 transition-colors hover:bg-surface`,children:[e.title&&(0,q.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:e.title}),(0,q.jsx)(`p`,{className:H(`line-clamp-3 whitespace-pre-wrap text-sm text-fg-secondary`,e.title&&`mt-0.5`),children:e.body}),a?(0,q.jsxs)(`div`,{className:`mt-2 flex items-center gap-3`,children:[(0,q.jsx)(`span`,{className:`text-2xs text-fg-muted`,children:`Delete this entry? This can’t be undone.`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>{o(!1),i()},className:`text-2xs font-medium text-interrupted transition-colors hover:underline`,children:`Delete`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>o(!1),className:`text-2xs text-fg-muted transition-colors hover:text-fg`,children:`Cancel`})]}):(0,q.jsxs)(`div`,{className:`mt-2 flex items-center gap-1.5`,children:[(0,q.jsx)(`span`,{className:`text-2xs uppercase tracking-wide text-fg-muted`,children:e.scope===`profile`?`Profile-wide`:`Project`}),e.agent_type&&(0,q.jsx)(kt,{type:e.agent_type,className:`size-3 text-fg-gold`}),e.tags.map(e=>(0,q.jsx)(`span`,{className:`rounded-full bg-surface px-1.5 text-2xs text-fg-secondary`,children:e},e)),(0,q.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[t&&(0,q.jsx)(vi,{icon:Pn,label:`Insert into focused terminal`,onClick:t}),(0,q.jsx)(vi,{icon:Ye,label:`Copy`,onClick:n}),(0,q.jsx)(vi,{icon:ht,label:`Edit`,onClick:r}),(0,q.jsx)(vi,{icon:St,label:`Delete`,onClick:()=>o(!0)})]})]})]})}function vi({icon:e,label:t,onClick:n}){return(0,q.jsxs)(V,{children:[(0,q.jsx)(B,{asChild:!0,children:(0,q.jsxs)(`button`,{type:`button`,onClick:n,className:`rounded-md p-1 text-fg-gold transition-colors hover:bg-elevated hover:text-fg`,children:[(0,q.jsx)(e,{className:`size-3.5`}),(0,q.jsx)(`span`,{className:`sr-only`,children:t})]})}),(0,q.jsx)(z,{children:t})]})}var yi=o.parse({});function bi(e,t){let[n,r]=(0,K.useState)(null),i=A(t).data,a=Ae(e??void 0,t&&e!==null).data;return(0,K.useEffect)(()=>{if(!t||e===null){r(null);return}let n=!1,i;try{i=Gt(sessionStorage.getItem(Wt(e)))}catch{i={kind:`absent`}}if(i.kind===`present`){r(i.snapshot);return}return ce(e).then(e=>{n||r(e?e.ui_state:yi)}).catch(()=>{n||r(yi)}),()=>{n=!0}},[t,e]),(0,K.useMemo)(()=>{if(!t||e===null||n===null)return null;let o=t=>{if(!i||!a)return!1;let{patch:o,projectBased:s}=zt(n,t,{alive:new Set(i.filter(e=>e.status!==`archived`).map(e=>e.id)),sessionProject:new Map(i.map(e=>[e.id,e.project_id])),projectIds:a.map(e=>e.id),currentProject:null}),c={...n,...o};r(c),w(e,c).catch(e=>console.warn(`ui-state save failed: ${e.message}`));try{sessionStorage.setItem(Wt(e),JSON.stringify(c))}catch(e){console.warn(`ui-state write failed: ${e.message}`)}return p().projectBasedLayout!==s&&d({projectBasedLayout:s}),!0},s=Object.fromEntries(Object.entries(n.project_layouts).map(([e,t])=>[e,{layoutRef:t.layout_ref,signature:R(t.layout_tree)}]));return(n.layout_mode??`profile`)===`project`?{headless:!0,scope:`project`,projectId:``,layoutRef:null,signature:R(null),slices:s,capture:()=>({layout_tree:null,active_session:null}),apply:o}:{scope:`profile`,projectId:``,layoutRef:n.layout_ref,signature:R(n.layout_tree),slices:s,capture:()=>({layout_tree:n.layout_tree,active_session:n.active_session}),apply:o}},[t,e,n,i,a])}var xi=R(null);function Si(){let e=Bt(),t=rt(),n=O(),r=Ht(),i=bi(n,e&&r===null),a=r??i,o=Ie(n??void 0,void 0).data??[],s=Ae(n??void 0,e&&n!==null).data??[],c=ee(),l=He(),u=be(),[d,f]=(0,K.useState)(``),[p,m]=(0,K.useState)(!1),[h,g]=(0,K.useState)(null);(0,K.useEffect)(()=>Ee(`layouts.toggle`,Rt),[]),(0,K.useEffect)(()=>{e||(f(``),m(!1),g(null))},[e]);let _=a?.headless===!0,v=a===null||_?null:o.find(e=>e.id===a.layoutRef)??null,y=a!==null&&!_&&(v===null?a.signature!==xi:R(v.layout_tree)!==a.signature),b=e=>{let t=a?.slices?.[e];if(!t)return!1;let n=t.layoutRef===null?null:o.find(e=>e.id===t.layoutRef)??null;return n?R(n.layout_tree)!==t.signature:t.signature!==xi},S=e=>a===null?!1:e.scope===`profile`?a.scope===`profile`&&y:e.project_id===null?!1:a.scope===`project`?!_&&e.project_id===a.projectId?y:b(e.project_id):y||b(e.project_id),C=e=>v!==null&&e.id===v.id,w=e=>(e===null?void 0:s.find(t=>t.id===e)?.name)??`Project`,T=a!==null&&!_&&a.scope===`project`?o.filter(e=>e.scope===`profile`||e.project_id===a.projectId):o,E=[...T.some(e=>e.scope===`profile`)?[{key:`profile`,name:`Profile-wide`}]:[],...[...new Set(T.flatMap(e=>e.project_id===null?[]:[e.project_id]))].map(e=>({key:e,name:w(e)})).sort((e,t)=>e.name.localeCompare(t.name))],D=h===null?T:h===`profile`?T.filter(e=>e.scope===`profile`):T.filter(e=>e.project_id===h),k=e=>a!==null&&e.scope===a.scope&&(a.scope===`profile`||e.project_id===a.projectId),A=(e,t,r)=>{!a||!n||c.mutate({profile_id:n,scope:a.scope,project_id:a.scope===`project`?a.projectId:void 0,name:e,...t},{onSuccess:e=>{r&&a.apply(e)},onError:e=>W(e)})},j=e=>{if(!a)return;let t=k(e)?e:o.find(t=>t.name===e.name&&k(t));if(!t){A(e.name,a.capture(),!0);return}l.mutate({id:t.id,...a.capture()},{onSuccess:e=>a.apply(e),onError:e=>W(e)})},M=(e,t)=>A(t,{layout_tree:e.layout_tree,active_session:e.active_session},!1),te=e=>{if(a){if(!a.apply(e)){x.error(`Workspace is still loading — try again in a moment`);return}e.project_id!==null&&e.project_id!==a.projectId&&t(`/project/${e.project_id}`),It(!1)}};return(0,q.jsxs)(Xt,{open:e,onOpenChange:It,children:[(0,q.jsxs)(V,{children:[(0,q.jsx)(B,{asChild:!0,children:(0,q.jsx)(tn,{asChild:!0,children:(0,q.jsxs)(I,{variant:`ghost`,size:`icon`,className:`compact:h-7 compact:w-7`,children:[(0,q.jsx)(Fn,{}),(0,q.jsx)(`span`,{className:`sr-only`,children:`Layouts`})]})})}),(0,q.jsx)(z,{children:`Layouts`})]}),(0,q.jsxs)(rn,{className:`w-[26rem] max-w-[calc(100vw-1rem)] p-0`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 px-5 pb-2 pt-4`,children:[(0,q.jsx)(`span`,{className:`text-2xs font-medium uppercase tracking-wide text-fg-gold`,children:`Layouts`}),a!==null&&!_&&(0,q.jsxs)(`button`,{type:`button`,onClick:()=>m(e=>!e),className:`ml-auto flex items-center rounded-md p-1 text-fg-gold transition-colors hover:bg-surface hover:text-fg`,children:[(0,q.jsx)(bt,{className:`size-4`}),(0,q.jsx)(`span`,{className:`sr-only`,children:`Save the current layout as a new layout`})]})]}),a===null?(0,q.jsx)(`p`,{className:`px-5 pb-3 text-sm text-fg-muted`,children:`Loading the profile’s layout state…`}):_?(0,q.jsx)(`p`,{className:`px-5 pb-3 text-sm text-fg-muted`,children:`Project-based layout is on — every project keeps its own layout. Open a project to name or save it; loading works from here.`}):(v===null||p)&&(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 px-5 pb-3`,children:[v===null&&(0,q.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,q.jsx)(`span`,{className:`text-sm font-medium text-fg`,children:`Unnamed layout`}),(0,q.jsx)(`span`,{className:`text-2xs uppercase tracking-wide text-fg-muted`,children:a.scope===`profile`?`Profile-wide`:`Project`}),(0,q.jsx)(`span`,{className:`ml-auto text-2xs text-interrupted`,children:`Unsaved`})]}),(0,q.jsxs)(`form`,{className:`flex items-center gap-1.5`,onSubmit:e=>{e.preventDefault();let t=d.trim();t&&(A(t,a.capture(),!0),f(``),m(!1))},children:[(0,q.jsx)(L,{autoFocus:p,value:d,placeholder:v===null?`Name this layout…`:`Save as a new layout…`,spellCheck:!1,onChange:e=>f(e.target.value),onKeyDown:e=>{e.stopPropagation(),e.key===`Escape`&&m(!1)},className:`h-8 flex-1 text-sm`}),(0,q.jsx)(I,{size:`sm`,type:`submit`,disabled:!d.trim(),children:`Save`}),v!==null&&(0,q.jsx)(I,{variant:`ghost`,size:`sm`,onClick:()=>m(!1),children:`Cancel`})]})]}),E.length>1&&(0,q.jsx)(`div`,{className:`flex flex-wrap items-center gap-1 px-5 pb-2`,children:E.map(e=>(0,q.jsx)(Ti,{active:h===e.key,onClick:()=>g(t=>t===e.key?null:e.key),children:e.name},e.key))}),(0,q.jsxs)(`div`,{className:`no-scrollbar max-h-[60vh] overflow-y-auto px-2 pb-3`,children:[D.length===0&&(0,q.jsx)(`p`,{className:`px-3 py-3 text-sm text-fg-muted`,children:h===null?`No layouts yet — name and save the current layout to keep it.`:`Nothing matches this filter.`}),(0,q.jsx)(`ul`,{className:`flex flex-col`,children:D.map(e=>(0,q.jsx)(`li`,{children:(0,q.jsx)(Ci,{layout:e,projectLabel:e.scope===`profile`?null:w(e.project_id),isCurrent:C(e),dirty:y,loadable:a!==null,savable:a!==null&&!_,confirmBeforeLoad:S(e),overwrites:k(e),onLoad:()=>te(e),onRename:t=>l.mutate({id:e.id,name:t}),onDelete:()=>u.mutate(e.id),onSaveAs:()=>j(e),onDuplicate:t=>M(e,t)})},e.id))})]})]})]})}function Ci({layout:e,projectLabel:t,isCurrent:n,dirty:r,loadable:i,savable:a,confirmBeforeLoad:o,overwrites:s,onLoad:c,onRename:l,onDelete:u,onSaveAs:d,onDuplicate:f}){let[p,m]=(0,K.useState)(null),[h,g]=(0,K.useState)(null),[_,v]=(0,K.useState)(e.name),y=()=>{if(!(!i||h!==null)){if(o&&p!==`load`){m(`load`);return}m(null),c()}},b=t=>{m(null),v(t===`rename`?e.name:`${e.name} copy`),g(t)},x=()=>{if(n){d();return}m(`save`)},S=n?r?`unsaved`:`active`:null;return(0,q.jsxs)(`div`,{onClick:e=>{e.target.closest(`button, input`)||y()},className:H(`rounded-md px-3 py-2.5 transition-colors`,i&&`cursor-pointer hover:bg-surface`),children:[h===null?(0,q.jsxs)(`p`,{className:H(`flex items-baseline gap-2 text-sm font-medium`,S===`active`?`text-success`:S===`unsaved`?`text-interrupted`:`text-fg`),children:[e.name,S!==null&&(0,q.jsx)(`span`,{className:`text-2xs font-normal`,children:S===`active`?`Active`:`Unsaved`})]}):(0,q.jsxs)(`form`,{className:`flex items-center gap-1.5`,onSubmit:t=>{t.preventDefault();let n=_.trim();n&&(h===`rename`?n!==e.name&&l(n):f(n)),g(null)},children:[(0,q.jsx)(L,{autoFocus:!0,value:_,spellCheck:!1,onChange:e=>v(e.target.value),onKeyDown:e=>{e.stopPropagation(),e.key===`Escape`&&g(null)},className:`h-7 flex-1 text-sm`}),(0,q.jsx)(I,{size:`sm`,type:`submit`,disabled:!_.trim(),children:h===`rename`?`Rename`:`Save`})]}),p===`save`?(0,q.jsx)(wi,{question:s?`Overwrite “${e.name}” with the current layout?`:`Save the current layout as “${e.name}” here?`,verb:s?`Overwrite`:`Save`,onConfirm:()=>{m(null),d()},onCancel:()=>m(null)}):p===`delete`?(0,q.jsx)(wi,{question:`Delete this layout? This can’t be undone.`,verb:`Delete`,onConfirm:()=>{m(null),u()},onCancel:()=>m(null)}):p===`load`?(0,q.jsx)(wi,{question:`Loading discards unsaved layout changes.`,verb:`Load`,onConfirm:y,onCancel:()=>m(null)}):(0,q.jsxs)(`div`,{className:`mt-2 flex items-center gap-1.5`,children:[t!==null&&(0,q.jsx)(`span`,{className:`text-2xs uppercase tracking-wide text-fg-muted`,children:t}),(0,q.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[a&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Ei,{icon:Rn,label:n?`Save`:`Save the current layout as “${e.name}”`,onClick:x}),(0,q.jsx)(Ei,{icon:Ye,label:`Duplicate`,onClick:()=>b(`duplicate`)})]}),(0,q.jsx)(Ei,{icon:ht,label:`Rename`,onClick:()=>b(`rename`)}),(0,q.jsx)(Ei,{icon:St,label:`Delete`,onClick:()=>m(`delete`)})]})]})]})}function wi({question:e,verb:t,onConfirm:n,onCancel:r}){return(0,q.jsxs)(`div`,{className:`mt-2 flex items-center gap-3`,children:[(0,q.jsx)(`span`,{className:`text-2xs text-fg-muted`,children:e}),(0,q.jsx)(`button`,{type:`button`,onClick:n,className:`text-2xs font-medium text-interrupted transition-colors hover:underline`,children:t}),(0,q.jsx)(`button`,{type:`button`,onClick:r,className:`text-2xs text-fg-muted transition-colors hover:text-fg`,children:`Cancel`})]})}function Ti({active:e,onClick:t,children:n}){return(0,q.jsx)(`button`,{type:`button`,"aria-pressed":e,onClick:t,className:H(`rounded-full px-2 py-0.5 text-2xs transition-colors`,e?`bg-action text-action-ink`:`bg-surface text-fg-secondary hover:text-fg`),children:n})}function Ei({icon:e,label:t,onClick:n}){return(0,q.jsxs)(V,{children:[(0,q.jsx)(B,{asChild:!0,children:(0,q.jsxs)(`button`,{type:`button`,onClick:n,className:`rounded-md p-1 text-fg-gold transition-colors hover:bg-elevated hover:text-fg`,children:[(0,q.jsx)(e,{className:`size-3.5`}),(0,q.jsx)(`span`,{className:`sr-only`,children:t})]})}),(0,q.jsx)(z,{children:t})]})}var Di=de()!==void 0&&/Mac/.test(navigator.platform),Oi=(0,K.lazy)(()=>v(()=>import(`./SettingsDialog-DaxYdggs.js`).then(e=>({default:e.SettingsDialog})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19])));function ki(){let e=se();(0,K.useEffect)(()=>{let t=t=>{for(let[n,r]of e.getQueriesData({queryKey:[`sessions`]}))r&&e.setQueryData(n,r.map(t));for(let[n,r]of e.getQueriesData({queryKey:[`project`]}))r&&e.setQueryData(n,{...r,sessions:r.sessions.map(t)})},n=G.onStatus(e=>t(t=>t.id===e.session?{...t,status:e.status,last_activity_at:e.last_activity_at}:t)),r=G.onRenamed(e=>t(t=>t.id===e.session?{...t,title:e.title,agent_title:`agent_title`in e?e.agent_title:t.agent_title,osc_title:`osc_title`in e?e.osc_title:t.osc_title}:t)),i=G.onAccount(t=>{for(let[n,r]of e.getQueriesData({queryKey:[`accounts`]}))r&&e.setQueryData(n,r.map(e=>e.id===t.account_id?{...e,logged_in:t.logged_in}:e))}),a=t=>{e.invalidateQueries({queryKey:[`sessions`]});for(let n of t)e.invalidateQueries({queryKey:[`project`,n]})},o=G.onSessionsChanged(e=>a(e.project_ids)),s=G.onSessionSwitched(e=>a([e.target_project]));return()=>{n(),r(),i(),o(),s()}},[e])}function Ai(){let e=Ue(),t=Le(),[n,r]=(0,K.useState)(!1),i=Me(e.data),a=n=>{r(!1);let a=n.trim();a!==i&&t.mutate({displayName:a===e.data?.hostname?``:a},{onError:e=>W(e)})},o=!Di&&(0,q.jsx)(`img`,{src:`/puddle.svg`,alt:`Puddle`,className:`size-4`}),s=H(`flex shrink-0 items-center gap-2`,Di&&`[-webkit-app-region:no-drag]`),c=`truncate text-sm font-semibold text-fg-secondary`;return n&&i!==void 0?(0,q.jsxs)(`div`,{className:s,children:[o,(0,q.jsx)(Lt,{initial:e.data?.displayName??i,maxLength:64,className:H(c,`w-40`),onCommit:a,onCancel:()=>r(!1)})]}):(0,q.jsxs)(Ze,{to:`/`,className:H(s,`transition-opacity hover:opacity-70`),title:`All projects`,children:[o,i!==void 0&&(0,q.jsx)(`span`,{className:c,...Kt(()=>r(!0)),children:i})]})}function ji(){let e=nt(),t=E(`palette.toggle`),n=je(e.id).data?.project,r=n!==void 0&&n.id===e.id?n.name:void 0;return(0,q.jsxs)(`button`,{type:`button`,onClick:At,className:H(`absolute left-1/2 flex h-6 w-[min(30rem,42%)] -translate-x-1/2 items-center justify-center gap-2 rounded-md bg-ground text-fg-muted transition-colors hover:bg-elevated hover:text-fg-secondary`,Di&&`[-webkit-app-region:no-drag]`),children:[(0,q.jsx)(`span`,{className:`truncate text-xs`,children:r??`Puddle`}),(0,q.jsx)(`span`,{className:`text-2xs`,children:t})]})}function Mi(){let{fullScreen:e,animate:t}=C();return(0,q.jsxs)(`header`,{className:H(`relative flex h-9 shrink-0 items-center gap-3 bg-surface pl-3 pr-3`,Di&&!e&&`pl-[88px] [-webkit-app-region:drag]`,t&&`transition-[padding] duration-200 ease-out`),children:[(0,q.jsx)(Ai,{}),(0,q.jsx)(ji,{}),(0,q.jsxs)(`div`,{className:H(`ml-auto flex items-center`,Di&&`[-webkit-app-region:no-drag]`),children:[(0,q.jsxs)(V,{children:[(0,q.jsx)(B,{asChild:!0,children:(0,q.jsxs)(I,{variant:`ghost`,size:`icon`,className:`compact:h-7 compact:w-7`,onClick:()=>vt(),children:[(0,q.jsx)(Bn,{}),(0,q.jsx)(`span`,{className:`sr-only`,children:`Settings`})]})}),(0,q.jsx)(z,{children:`Settings`})]}),(0,q.jsx)(Si,{}),(0,q.jsx)(gi,{}),(0,q.jsx)(ni,{})]})]})}function Ni(){ki(),ai(),pi();let{handler:e}=Ot(),t=O(),{pathname:n}=$e(),[r,i]=(0,K.useState)(!1),a=re(),o=a.data!==void 0&&Te(a.data.protocol);return(0,K.useEffect)(()=>{if(!o)return;let e=()=>{let e=f();G.reportTheme(e(`--text-primary`),e(`--bg-base`))};return e(),_(e)},[o]),(0,q.jsxs)(`div`,{className:`flex h-screen flex-col overflow-hidden overscroll-y-none bg-ground`,children:[(0,q.jsx)(Mi,{}),(0,q.jsx)(`main`,{className:`min-h-0 flex-1`,children:(0,q.jsx)(gn,{resetOn:n,scope:n.startsWith(`/project/`)?`workspace`:`view`,children:(0,q.jsx)(tt,{})})}),(0,q.jsx)(Zr,{}),(0,q.jsx)(ii,{}),(0,q.jsx)(Kr,{onNewSession:e??void 0,onNewProject:()=>i(!0)}),t!==null&&(0,q.jsx)(un,{profileId:t,open:r,onOpenChange:i}),(0,q.jsx)(K.Suspense,{fallback:null,children:(0,q.jsx)(Oi,{})}),(0,q.jsx)(Yr,{})]})}function Pi(){return(0,q.jsx)(Ut,{children:(0,q.jsx)(Ni,{})})}var Fi=(0,K.lazy)(()=>v(()=>import(`./Dashboard-BhAek_r4.js`).then(e=>({default:e.Dashboard})),__vite__mapDeps([20,1,2,3,4,6,5,21,10,7,8,9,11,22,16,23,19,18,24]))),Ii=(0,K.lazy)(()=>v(()=>import(`./Workspace-BDDSmIKE.js`).then(e=>({default:e.Workspace})),__vite__mapDeps([25,1,2,3,4,5,6,26,10,27,21,7,8,9,11,12,28,29,30,22,16,31,24,14,15,18,32,33,34,35,36]))),Li=new hn({defaultOptions:{queries:{retry:1,staleTime:5e3}},mutationCache:new fn({onError:e=>W(e)})});function Ri(){let e=O(),t=Fe(),n=e!==null&&t.data!==void 0&&!t.data.some(t=>t.id===e);return e===null||n?(0,q.jsx)(Vn,{}):(0,q.jsx)(it,{useTransitions:!1,children:(0,q.jsx)(K.Suspense,{fallback:null,children:(0,q.jsx)(Qe,{children:(0,q.jsxs)(at,{element:(0,q.jsx)(Pi,{}),children:[(0,q.jsx)(at,{path:`/`,element:(0,q.jsx)(Fi,{})}),(0,q.jsx)(at,{path:`/project/:id`,element:(0,q.jsx)(Ii,{})}),(0,q.jsx)(at,{path:`/project/:id/session/:sid`,element:(0,q.jsx)(Ii,{})})]})})})})}function zi(){let e=(0,K.useSyncExternalStore)(y.subscribe,y.get);return(0,q.jsx)(ae,{client:Li,children:(0,q.jsxs)(Ft,{delayDuration:300,children:[(0,q.jsx)(Nn,{}),(0,q.jsx)(gn,{scope:`app`,children:e?window.location.pathname.startsWith(`/forward/`)?(0,q.jsx)(dn,{}):(0,q.jsx)(Ri,{}):(0,q.jsx)(vn,{})}),(0,q.jsx)(_n,{})]})})}export{zi as App};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Terminal-DQL8GETy.js","assets/rolldown-runtime-QTnfLwEv.js","assets/react-CZI7_Jkm.js","assets/index-W9vnFL1i.js","assets/index-Bwl8S5Du.css","assets/dist-1iWQMdtt.js","assets/protocol-support-DM3D3Owq.js","assets/copy-B38GDFbv.js","assets/createLucideIcon-DyMAgLa3.js","assets/x-CZCUod6A.js","assets/selection-actions-awCJJCSe.js","assets/button-hdghxls7.js","assets/ws-DsytGlkr.js","assets/FindWidget-B6dVpkKr.js","assets/chevron-down--sjpQEHH.js","assets/code-DRWf9a5s.js","assets/errors-0CwhraNS.js","assets/Terminal-BrP-ENHg.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{at as n,n as r,t as i}from"./index-W9vnFL1i.js";import{S as a,w as o,x as s,y as c}from"./dialog-CVAp0B_q.js";import{a as l}from"./button-hdghxls7.js";import{n as u}from"./x-CZCUod6A.js";import{t as d}from"./createLucideIcon-DyMAgLa3.js";var f=e(t(),1),p=[`top`,`right`,`bottom`,`left`],m=Math.min,h=Math.max,g=Math.round,_=Math.floor,v=e=>({x:e,y:e}),y={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function b(e,t,n){return h(e,m(t,n))}function x(e,t){return typeof e==`function`?e(t):e}function S(e){return e.split(`-`)[0]}function C(e){return e.split(`-`)[1]}function w(e){return e===`x`?`y`:`x`}function T(e){return e===`y`?`height`:`width`}function E(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function D(e){return w(E(e))}function O(e,t,n){n===void 0&&(n=!1);let r=C(e),i=D(e),a=T(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=L(o)),[o,L(o)]}function k(e){let t=L(e);return[A(e),t,A(t)]}function A(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var j=[`left`,`right`],M=[`right`,`left`],N=[`top`,`bottom`],P=[`bottom`,`top`];function F(e,t,n){switch(e){case`top`:case`bottom`:return n?t?M:j:t?j:M;case`left`:case`right`:return t?N:P;default:return[]}}function I(e,t,n,r){let i=C(e),a=F(S(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(A)))),a}function L(e){let t=S(e);return y[t]+e.slice(t.length)}function R(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function z(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:R(e)}function B(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function ee(e,t,n){let{reference:r,floating:i}=e,a=E(t),o=D(t),s=T(o),c=S(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=C(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function te(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=x(t,e),p=z(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=B(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=B(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var ne=50,re=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:te},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=ee(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<ne&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=ee(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},ie=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=x(e,t)||{};if(l==null)return{};let d=z(u),f={x:n,y:r},p=D(i),h=T(p),g=await o.getDimensions(l),_=p===`y`,v=_?`top`:`left`,y=_?`bottom`:`right`,S=_?`clientHeight`:`clientWidth`,w=a.reference[h]+a.reference[p]-f[p]-a.floating[h],E=f[p]-a.reference[p],O=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),k=O?O[S]:0;(!k||!await(o.isElement==null?void 0:o.isElement(O)))&&(k=s.floating[S]||a.floating[h]);let A=w/2-E/2,j=k/2-g[h]/2-1,M=m(d[v],j),N=m(d[y],j),P=k-g[h]-N,F=k/2-g[h]/2+A,I=b(M,F,P),L=!c.arrow&&C(i)!=null&&F!==I&&a.reference[h]/2-(F<M?M:N)-g[h]/2<0,R=L?F<M?F-M:F-P:0;return{[p]:f[p]+R,data:{[p]:I,centerOffset:F-I-R,...L&&{alignmentOffset:R}},reset:L}}}),ae=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=x(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=S(r),_=E(o),v=S(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[L(o)]:k(o)),C=p!==`none`;!d&&C&&b.push(...I(o,m,p,y));let w=[o,...b],T=await s.detectOverflow(t,h),D=[],A=i.flip?.overflows||[];if(l&&D.push(T[g]),u){let e=O(r,a,y);D.push(T[e[0]],T[e[1]])}if(A=[...A,{placement:r,overflows:D}],!D.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=w[e];if(t&&(!(u===`alignment`&&_!==E(t))||A.every(e=>E(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:A},reset:{placement:t}};let n=A.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=A.filter(e=>{if(C){let t=E(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function oe(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function se(e){return p.some(t=>e[t]>=0)}var ce=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=x(e,t);switch(i){case`referenceHidden`:{let e=oe(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:se(e)}}}case`escaped`:{let e=oe(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:se(e)}}}default:return{}}}}},le=new Set([`left`,`top`]);async function ue(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=S(n),s=C(n),c=E(n)===`y`,l=le.has(o)?-1:1,u=a&&c?-1:1,d=x(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var de=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await ue(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},fe=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=x(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=E(i),p=w(f),m=u[p],h=u[f],g=(e,t)=>b(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},pe=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=x(e,t),u={x:n,y:r},d=E(i),f=w(d),p=u[f],m=u[d],h=x(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:h.mainAxis??0,crossAxis:h.crossAxis??0};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=le.has(S(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},me=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=x(e,t),c=await i.detectOverflow(t,s),l=S(n),u=C(n),d=E(n)===`y`,{width:f,height:p}=r.floating,g,_;l===`top`||l===`bottom`?(g=l,_=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(_=l,g=u===`end`?`top`:`bottom`);let v=p-c.top-c.bottom,y=f-c.left-c.right,b=m(p-c[g],v),w=m(f-c[_],y),T=t.middlewareData.shift,D=!T,O=b,k=w;T!=null&&T.enabled.x&&(k=y),T!=null&&T.enabled.y&&(O=v),D&&!u&&(d?k=f-2*h(c.left,c.right):O=p-2*h(c.top,c.bottom)),await o({...t,availableWidth:k,availableHeight:O});let A=await i.getDimensions(a.floating);return f!==A.width||p!==A.height?{reset:{rects:!0}}:{}}}};function he(){return typeof window<`u`}function V(e){return ge(e)?(e.nodeName||``).toLowerCase():`#document`}function H(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function U(e){return((ge(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function ge(e){return he()?e instanceof Node||e instanceof H(e).Node:!1}function W(e){return he()?e instanceof Element||e instanceof H(e).Element:!1}function G(e){return he()?e instanceof HTMLElement||e instanceof H(e).HTMLElement:!1}function _e(e){return!he()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof H(e).ShadowRoot}function ve(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=J(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function ye(e){return/^(table|td|th)$/.test(V(e))}function be(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var xe=/transform|translate|scale|rotate|perspective|filter/,Se=/paint|layout|strict|content/,K=e=>!!e&&e!==`none`,Ce;function we(e){let t=W(e)?J(e):e;return K(t.transform)||K(t.translate)||K(t.scale)||K(t.rotate)||K(t.perspective)||!Ee()&&(K(t.backdropFilter)||K(t.filter))||xe.test(t.willChange||``)||Se.test(t.contain||``)}function Te(e){let t=Y(e);for(;G(t)&&!q(t);){if(we(t))return t;if(be(t))return null;t=Y(t)}return null}function Ee(){return Ce??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Ce}function q(e){return/^(html|body|#document)$/.test(V(e))}function J(e){return H(e).getComputedStyle(e)}function De(e){return W(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Y(e){if(V(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||_e(e)&&e.host||U(e);return _e(t)?t.host:t}function Oe(e){let t=Y(e);return q(t)?(e.ownerDocument||e).body:G(t)&&ve(t)?t:Oe(t)}function X(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Oe(e),i=r===e.ownerDocument?.body,a=H(r);if(i){let e=ke(a);return t.concat(a,a.visualViewport||[],ve(r)?r:[],e&&n?X(e):[])}else return t.concat(r,X(r,[],n))}function ke(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ae(e){let t=J(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=G(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=g(n)!==a||g(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function je(e){return W(e)?e:e.contextElement}function Z(e){let t=je(e);if(!G(t))return v(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Ae(t),o=(a?g(n.width):n.width)/r,s=(a?g(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Me=v(0);function Ne(e){let t=H(e);return!Ee()||!t.visualViewport?Me:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Pe(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===H(e)}function Q(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=je(e),o=v(1);t&&(r?W(r)&&(o=Z(r)):o=Z(e));let s=Pe(a,n,r)?Ne(a):v(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=H(a),t=W(r)?H(r):r,n=e,i=ke(n);for(;i&&t!==n;){let e=Z(i),t=i.getBoundingClientRect(),r=J(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=H(i),i=ke(n)}}return B({width:u,height:d,x:c,y:l})}function Fe(e,t){let n=De(e).scrollLeft;return t?t.left+n:Q(U(e)).left+n}function Ie(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Fe(e,n),y:n.top+t.scrollTop}}function Le(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=U(r),s=t?be(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=v(1),u=v(0),d=G(r);if((d||!a)&&((V(r)!==`body`||ve(o))&&(c=De(r)),d)){let e=Q(r);l=Z(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Ie(o,c):v(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Re(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function ze(e){let t=De(e),n=e.ownerDocument.body,r=h(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=h(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+Fe(e),o=-t.scrollTop;return J(n).direction===`rtl`&&(a+=h(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var Be=25;function Ve(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=H(e),a=U(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!Ee()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(Fe(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=Be&&(s-=o)}return{width:s,height:c,x:l,y:u}}function He(e,t){let n=Q(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Z(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Ue(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=Ve(e,n,t);else if(t===`document`)r=ze(U(e));else if(W(t))r=He(t,n);else{let n=Ne(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return B(r)}function We(e,t){let n=t.get(e);if(n)return n;let r=X(e,[],!1).filter(e=>W(e)&&V(e)!==`body`),i=null,a=J(e).position===`fixed`,o=a?Y(e):e;for(;W(o)&&!q(o);){let e=J(o),t=we(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=Y(o)}return t.set(e,r),r}function Ge(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?be(t)?[]:We(t,this._c):[].concat(n),r],o=Ue(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Ue(t,a[e],i);s=h(n.top,s),c=m(n.right,c),l=m(n.bottom,l),u=h(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Ke(e){let{width:t,height:n}=Ae(e);return{width:t,height:n}}function qe(e,t,n){let r=G(t),i=U(t),a=n===`fixed`,o=Q(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=v(0);if((r||!a)&&((V(t)!==`body`||ve(i))&&(s=De(t)),r)){let e=Q(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=Fe(i));let l=i&&!r&&!a?Ie(i,s):v(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function Je(e){return J(e).position===`static`}function Ye(e,t){if(!G(e)||J(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return U(e)===n&&(n=n.ownerDocument.body),n}function Xe(e,t){let n=H(e);if(be(e))return n;if(!G(e)){let t=Y(e);for(;t&&!q(t);){if(W(t)&&!Je(t))return t;t=Y(t)}return n}let r=Ye(e,t);for(;r&&ye(r)&&Je(r);)r=Ye(r,t);return r&&q(r)&&Je(r)&&!we(r)?n:r||Te(e)||n}var Ze=async function(e){let t=this.getOffsetParent||Xe,n=this.getDimensions,r=await n(e.floating);return{reference:qe(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Qe(e){return J(e).direction===`rtl`}var $e={convertOffsetParentRelativeRectToViewportRelativeRect:Le,getDocumentElement:U,getClippingRect:Ge,getOffsetParent:Xe,getElementRects:Ze,getClientRects:Re,getDimensions:Ke,getScale:Z,isElement:W,isRTL:Qe};function et(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function tt(e,t,n){let r=null,i,a=U(e);function o(){var e;clearTimeout(i),(e=r)==null||e.disconnect(),r=null}function s(n,c){n===void 0&&(n=!1),c===void 0&&(c=1),o();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(n||t(),!f||!p)return;let g=_(d),v=_(a.clientWidth-(u+f)),y=_(a.clientHeight-(d+p)),b=_(u),x={rootMargin:-g+`px `+-v+`px `+-y+`px `+-b+`px`,threshold:h(0,m(1,c))||1},S=!0;function C(t){let n=t[0].intersectionRatio;if(!et(l,e.getBoundingClientRect()))return s();if(n!==c){if(!S)return s();n?s(!1,n):i=setTimeout(()=>{s(!1,1e-7)},1e3)}S=!1}try{r=new IntersectionObserver(C,{...x,root:a.ownerDocument})}catch{r=new IntersectionObserver(C,x)}r.observe(e)}let c=H(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function nt(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=je(e),u=i||a?[...l?X(l):[],...t?X(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?tt(l,n,a):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Q(e):null;c&&g();function g(){let t=Q(e);h&&!et(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var rt=de,it=fe,at=ae,ot=me,st=ce,ct=ie,lt=pe,ut=(e,t,n)=>{let r=new Map,i=n??{},a={...$e,...i.platform,_c:r};return re(e,t,{...i,platform:a})},dt=e(n(),1),ft=typeof document<`u`?f.useLayoutEffect:function(){};function pt(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!pt(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!pt(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function mt(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function ht(e,t){let n=mt(e);return Math.round(t*n)/n}function gt(e){let t=f.useRef(e);return ft(()=>{t.current=e}),t}function _t(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=f.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=f.useState(r);pt(p,r)||m(r);let[h,g]=f.useState(null),[_,v]=f.useState(null),y=f.useCallback(e=>{e!==C.current&&(C.current=e,g(e))},[]),b=f.useCallback(e=>{e!==w.current&&(w.current=e,v(e))},[]),x=a||h,S=o||_,C=f.useRef(null),w=f.useRef(null),T=f.useRef(u),E=c!=null,D=gt(c),O=gt(i),k=gt(l),A=f.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:p};O.current&&(e.platform=O.current),ut(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!pt(T.current,t)&&(T.current=t,dt.flushSync(()=>{d(t)}))})},[p,t,n,O,k]);ft(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let j=f.useRef(!1);ft(()=>(j.current=!0,()=>{j.current=!1}),[]),ft(()=>{if(x&&(C.current=x),S&&(w.current=S),x&&S){if(D.current)return D.current(x,S,A);A()}},[x,S,A,D,E]);let M=f.useMemo(()=>({reference:C,floating:w,setReference:y,setFloating:b}),[y,b]),N=f.useMemo(()=>({reference:x,floating:S}),[x,S]),P=f.useMemo(()=>{let e={position:n,left:0,top:0};if(!N.floating)return e;let t=ht(N.floating,u.x),r=ht(N.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...mt(N.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,N.floating,u.x,u.y]);return f.useMemo(()=>({...u,update:A,refs:M,elements:N,floatingStyles:P}),[u,A,M,N,P])}var vt=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:ct({element:r.current,padding:i}).fn(n):r?ct({element:r,padding:i}).fn(n):{}}}},yt=(e,t)=>{let n=rt(e);return{name:n.name,fn:n.fn,options:[e,t]}},bt=(e,t)=>{let n=it(e);return{name:n.name,fn:n.fn,options:[e,t]}},xt=(e,t)=>({fn:lt(e).fn,options:[e,t]}),St=(e,t)=>{let n=at(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ct=(e,t)=>{let n=ot(e);return{name:n.name,fn:n.fn,options:[e,t]}},wt=(e,t)=>{let n=st(e);return{name:n.name,fn:n.fn,options:[e,t]}},Tt=(e,t)=>{let n=vt(e);return{name:n.name,fn:n.fn,options:[e,t]}},$=r(),Et=`Arrow`,Dt=f.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...o}=e;return(0,$.jsx)(a.svg,{...o,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,$.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});Dt.displayName=Et;var Ot=Dt;function kt(e){let[t,n]=f.useState(void 0);return c(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var At=`Popper`,[jt,Mt]=o(At),[Nt,Pt]=jt(At),Ft=e=>{let{__scopePopper:t,children:n}=e,[r,i]=f.useState(null),[a,o]=f.useState(void 0);return(0,$.jsx)(Nt,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};Ft.displayName=At;var It=`PopperAnchor`,Lt=f.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,o=Pt(It,n),s=f.useRef(null),c=o.onAnchorChange,u=l(t,f.useCallback(e=>{s.current=e,e&&c(e)},[c])),d=f.useRef(null);f.useEffect(()=>{if(!r)return;let e=d.current;d.current=r.current,e!==d.current&&c(d.current)});let p=o.placementState&&qt(o.placementState),m=p?.[0],h=p?.[1];return r?null:(0,$.jsx)(a.div,{"data-radix-popper-side":m,"data-radix-popper-align":h,...i,ref:u})});Lt.displayName=It;var Rt=`PopperContent`,[zt,Bt]=jt(Rt),Vt=f.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:o=`center`,alignOffset:u=0,arrowPadding:d=0,avoidCollisions:p=!0,collisionBoundary:m=[],collisionPadding:h=0,sticky:g=`partial`,hideWhenDetached:_=!1,updatePositionStrategy:v=`optimized`,onPlaced:y,...b}=e,x=Pt(Rt,n),[S,C]=f.useState(null),w=l(t,C),[T,E]=f.useState(null),D=kt(T),O=D?.width??0,k=D?.height??0,A=r+(o===`center`?``:`-`+o),j=typeof h==`number`?h:{top:0,right:0,bottom:0,left:0,...h},M=Array.isArray(m)?m:[m],N=M.length>0,P={padding:j,boundary:M.filter(Gt),altBoundary:N},{refs:F,floatingStyles:I,placement:L,isPositioned:R,middlewareData:z}=_t({strategy:`fixed`,placement:A,whileElementsMounted:(...e)=>nt(...e,{animationFrame:v===`always`}),elements:{reference:x.anchor},middleware:[yt({mainAxis:i+k,alignmentAxis:u}),p&&bt({mainAxis:!0,crossAxis:!1,limiter:g===`partial`?xt():void 0,...P}),p&&St({...P}),Ct({...P,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),T&&Tt({element:T,padding:d}),Kt({arrowWidth:O,arrowHeight:k}),_&&wt({strategy:`referenceHidden`,...P,boundary:N?P.boundary:void 0})]}),B=x.setPlacementState;c(()=>(B(L),()=>{B(void 0)}),[L,B]);let[ee,te]=qt(L),ne=s(y);c(()=>{R&&ne?.()},[R,ne]);let re=z.arrow?.x,ie=z.arrow?.y,ae=z.arrow?.centerOffset!==0,[oe,se]=f.useState();return c(()=>{S&&se(window.getComputedStyle(S).zIndex)},[S]),(0,$.jsx)(`div`,{ref:F.setFloating,"data-radix-popper-content-wrapper":``,style:{...I,transform:R?I.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:oe,"--radix-popper-transform-origin":[z.transformOrigin?.x,z.transformOrigin?.y].join(` `),...z.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,$.jsx)(zt,{scope:n,placedSide:ee,placedAlign:te,onArrowChange:E,arrowX:re,arrowY:ie,shouldHideArrow:ae,children:(0,$.jsx)(a.div,{"data-side":ee,"data-align":te,...b,ref:w,style:{...b.style,animation:R?void 0:`none`}})})})});Vt.displayName=Rt;var Ht=`PopperArrow`,Ut={top:`bottom`,right:`left`,bottom:`top`,left:`right`},Wt=f.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Bt(Ht,n),a=Ut[i.placedSide];return(0,$.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,$.jsx)(Ot,{...r,ref:t,style:{...r.style,display:`block`}})})});Wt.displayName=Ht;function Gt(e){return e!==null}var Kt=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=qt(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function qt(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Jt=Ft,Yt=Lt,Xt=Vt,Zt=Wt,Qt=`rounded-md bg-border/50 text-sm text-fg placeholder:text-fg-muted transition-colors hover:bg-border/80 focus:bg-border/80 disabled:cursor-not-allowed disabled:opacity-50`,$t=`relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm text-fg outline-none transition-colors`,en=`data-[highlighted]:bg-action data-[highlighted]:text-action-ink data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,tn=`data-[selected=true]:bg-action data-[selected=true]:text-action-ink data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50`;function nn({className:e,type:t,...n}){return(0,$.jsx)(`input`,{type:t,className:u(`flex h-8 w-full px-2.5`,Qt,e),...n})}function rn({className:e,...t}){return(0,$.jsx)(`textarea`,{className:u(`flex min-h-16 w-full px-2.5 py-2`,Qt,e),...t})}var an=`Label`,on=f.forwardRef((e,t)=>(0,$.jsx)(a.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));on.displayName=an;var sn=on;function cn({className:e,...t}){return(0,$.jsx)(sn,{className:u(`text-xs font-medium text-fg-secondary peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}var ln=d(`folder-git-2`,[[`path`,{d:`M18 19a5 5 0 0 1-5-5v8`,key:`sz5oeg`}],[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5`,key:`1w6njk`}],[`circle`,{cx:`13`,cy:`12`,r:`2`,key:`1j92g6`}],[`circle`,{cx:`20`,cy:`19`,r:`2`,key:`1obnsp`}]]),un=d(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]);function dn({id:e,value:t,onValueChange:n,onChoose:r,hints:i,placeholder:a,className:o,hintsClassName:s,autoFocus:c}){let[l,d]=(0,f.useState)(!1),[p,m]=(0,f.useState)(0),h=e=>{n(e.value),r?.(e),d(!1)};return(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(nn,{id:e,value:t,onChange:e=>{n(e.target.value),d(!0),m(0)},onFocus:()=>d(!0),onBlur:()=>d(!1),onKeyDown:e=>{if(!(!l||i.length===0))if(e.key===`ArrowDown`)e.preventDefault(),m(e=>(e+1)%i.length);else if(e.key===`ArrowUp`)e.preventDefault(),m(e=>(e-1+i.length)%i.length);else if(e.key===`Enter`||e.key===`Tab`){let t=i[p]??i[0];t&&(e.preventDefault(),h(t))}else e.key===`Escape`&&(e.stopPropagation(),d(!1))},placeholder:a,className:o,autoComplete:`off`,spellCheck:!1,autoFocus:c}),l&&i.length>0&&(0,$.jsx)(`ul`,{className:u(`absolute top-full z-10 mt-1 max-h-56 overflow-y-auto rounded-md bg-elevated p-1 shadow-xl`,s??`w-full`),children:i.map((e,t)=>(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onMouseDown:t=>{t.preventDefault(),h(e)},onMouseEnter:()=>m(t),className:u(`relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm text-fg outline-none transition-colors`,`data-[selected=true]:bg-action data-[selected=true]:text-action-ink data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50`,`w-full text-xs`),"data-selected":t===p,children:[(0,$.jsx)(`span`,{className:`truncate`,children:e.label??e.value}),e.badge&&(0,$.jsx)(`span`,{className:`ml-auto shrink-0 text-2xs opacity-70`,children:e.badge})]})},e.value))})]})}var fn=(0,f.lazy)(()=>i(()=>import(`./Terminal-DQL8GETy.js`).then(e=>({default:e.Terminal})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]))),pn=null;async function mn(){pn=(await i(()=>import(`./Terminal-DQL8GETy.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]))).Terminal}function hn(e){return pn?(0,$.jsx)(pn,{...e}):(0,$.jsx)(f.Suspense,{fallback:(0,$.jsx)(`div`,{className:`size-full bg-ground`}),children:(0,$.jsx)(fn,{...e})})}export{Mt as _,ln as a,rn as c,en as d,$t as f,Jt as g,Xt as h,un as i,Qt as l,Zt as m,mn as n,cn as o,Yt as p,dn as r,nn as s,hn as t,tn as u,kt as v};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./chunk-FOHPRMQF-CdD2_EOh.js";import{M as e}from"./mermaid-parser.core-CQpv25sY.js";export{e as createArchitectureServices};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{at as e,it as t}from"./chunk-DU6HZSFF-Cin9bFEJ.js";var n=(n,r)=>e.lang.round(t.parse(n)[r]);export{n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-_wZywoZs.js";import"./chunk-DU6HZSFF-Cin9bFEJ.js";import"./chunk-75Z2AOVW-BSDNHsOk.js";import"./chunk-PWAF6VOD-DfdxoQ_F.js";import"./chunk-GMAD6QVW-eS27qQYi.js";import"./chunk-P2QGCYS3-B0b6PsO0.js";import"./chunk-4HAMMTFA-B4mxD8f1.js";import"./chunk-GVQU2GXP-DvZzuy44.js";import"./chunk-OSK3NFVY-DSHFDm2K.js";import"./chunk-F27PBJKO-BWPIZmRh.js";import"./chunk-XXDRQBXY-BuE3VzE_.js";import"./chunk-POPQ4Y6H-B_whPWNN.js";import"./chunk-L3NEJ4N5-Gq2sL0Oq.js";import"./chunk-TLUHSLCS-B3xiw07r.js";import{i as t,n,r,t as i}from"./chunk-TICWLB2K-ZF0XdA5t.js";var a={parser:n,get db(){return new i},renderer:r,styles:t,init:e(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-_wZywoZs.js";import"./chunk-DU6HZSFF-Cin9bFEJ.js";import"./chunk-75Z2AOVW-BSDNHsOk.js";import"./chunk-PWAF6VOD-DfdxoQ_F.js";import"./chunk-GMAD6QVW-eS27qQYi.js";import"./chunk-P2QGCYS3-B0b6PsO0.js";import"./chunk-4HAMMTFA-B4mxD8f1.js";import"./chunk-GVQU2GXP-DvZzuy44.js";import"./chunk-OSK3NFVY-DSHFDm2K.js";import"./chunk-F27PBJKO-BWPIZmRh.js";import"./chunk-XXDRQBXY-BuE3VzE_.js";import"./chunk-POPQ4Y6H-B_whPWNN.js";import"./chunk-L3NEJ4N5-Gq2sL0Oq.js";import"./chunk-TLUHSLCS-B3xiw07r.js";import{i as t,n,r,t as i}from"./chunk-TICWLB2K-ZF0XdA5t.js";var a={parser:n,get db(){return new i},renderer:r,styles:t,init:e(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{at as n,n as r}from"./index-W9vnFL1i.js";import{a as i,n as a}from"./button-hdghxls7.js";import{n as o,t as s}from"./x-CZCUod6A.js";var c=e(t(),1);typeof window<`u`&&window.document&&window.document.createElement;function l(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)}}var u=r();function d(e,t=[]){let n=[];function r(t,r){let i=c.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,l=c.useMemo(()=>o,Object.values(o));return(0,u.jsx)(s.Provider,{value:l,children:r})};o.displayName=t+`Provider`;function s(n,o,s={}){let{optional:l=!1}=s,u=o?.[e]?.[a]||i,d=c.useContext(u);if(d)return d;if(r!==void 0)return r;if(!l)throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>c.createContext(e));return function(n){let r=n?.[e]||t;return c.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,f(i,...t)]}function f(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return c.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}var p=e(n(),1),m=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=a(`Primitive.${t}`),r=c.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,u.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function h(e,t){e&&p.flushSync(()=>e.dispatchEvent(t))}function g(e){let t=c.useRef(e);return c.useEffect(()=>{t.current=e}),c.useMemo(()=>((...e)=>t.current?.(...e)),[])}var _=`DismissableLayer`,v=`dismissableLayer.update`,y=`dismissableLayer.pointerDownOutside`,b=`dismissableLayer.focusOutside`,ee,x=c.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),S=c.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:s,onInteractOutside:d,onDismiss:f,...p}=e,h=c.useContext(x),[_,y]=c.useState(null),b=_?.ownerDocument??globalThis?.document,[,S]=c.useState({}),C=i(t,y),w=Array.from(h.layers),[te]=[...h.layersWithOutsidePointerEventsDisabled].slice(-1),ne=te?w.indexOf(te):-1,T=_?w.indexOf(_):-1,E=h.layersWithOutsidePointerEventsDisabled.size>0,D=T>=ne,oe=c.useRef(!1),O=re(e=>{o?.(e),d?.(e),e.defaultPrevented||f?.()},{ownerDocument:b,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:oe,dismissableSurfaces:h.dismissableSurfaces,shouldHandlePointerDownOutside:c.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...h.branches].some(t=>t.contains(e));return D&&!t},[h.branches,D])}),se=ie(e=>{if(r&&oe.current)return;let t=e.target;[...h.branches].some(e=>e.contains(t))||(s?.(e),d?.(e),e.defaultPrevented||f?.())},b),k=_?T===w.length-1:!1,A=g(e=>{e.key===`Escape`&&(a?.(e),!e.defaultPrevented&&f&&(e.preventDefault(),f()))});return c.useEffect(()=>{if(k)return b.addEventListener(`keydown`,A,{capture:!0}),()=>b.removeEventListener(`keydown`,A,{capture:!0})},[b,k,A]),c.useEffect(()=>{if(_)return n&&(h.layersWithOutsidePointerEventsDisabled.size===0&&(ee=b.body.style.pointerEvents,b.body.style.pointerEvents=`none`),h.layersWithOutsidePointerEventsDisabled.add(_)),h.layers.add(_),ae(),()=>{n&&(h.layersWithOutsidePointerEventsDisabled.delete(_),h.layersWithOutsidePointerEventsDisabled.size===0&&(b.body.style.pointerEvents=ee))}},[_,b,n,h]),c.useEffect(()=>()=>{_&&(h.layers.delete(_),h.layersWithOutsidePointerEventsDisabled.delete(_),ae())},[_,h]),c.useEffect(()=>{let e=()=>S({});return document.addEventListener(v,e),()=>document.removeEventListener(v,e)},[]),(0,u.jsx)(m.div,{...p,ref:C,style:{pointerEvents:E?D?`auto`:`none`:void 0,...e.style},onFocusCapture:l(e.onFocusCapture,se.onFocusCapture),onBlurCapture:l(e.onBlurCapture,se.onBlurCapture),onPointerDownCapture:l(e.onPointerDownCapture,O.onPointerDownCapture)})});S.displayName=_;var C=`DismissableLayerBranch`,w=c.forwardRef((e,t)=>{let n=c.useContext(x),r=c.useRef(null),a=i(t,r);return c.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,u.jsx)(m.div,{...e,ref:a})});w.displayName=C;function te(){let e=c.useContext(x),[t,n]=c.useState(null);return c.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}var ne=()=>!0;function re(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:o=ne}=t,s=g(e),l=c.useRef(!1),u=c.useRef(!1),d=c.useRef(new Map),f=c.useRef(()=>{});return c.useEffect(()=>{function e(){u.current=!1,i.current=!1,d.current.clear()}function t(){return Array.from(d.current.values()).some(Boolean)}function c(e){if(!u.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||d.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{u.current&&f.current()},0)}function p(e){u.current&&d.current.set(e.type,!1)}let m=a=>{if(a.target&&!l.current){let c=function(){n.removeEventListener(`click`,f.current);let r=t();e(),r||T(y,s,p,{discrete:!0})};if(!o(a.target)){n.removeEventListener(`click`,f.current),e(),l.current=!1;return}let p={originalEvent:a};u.current=!0,i.current=r&&a.button===0,d.current.clear(),!r||a.button!==0?c():(n.removeEventListener(`click`,f.current),f.current=c,n.addEventListener(`click`,f.current,{once:!0}))}else n.removeEventListener(`click`,f.current),e();l.current=!1},h=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of h)n.addEventListener(e,c,!0),n.addEventListener(e,p);let g=window.setTimeout(()=>{n.addEventListener(`pointerdown`,m)},0);return()=>{window.clearTimeout(g),n.removeEventListener(`pointerdown`,m),n.removeEventListener(`click`,f.current);for(let e of h)n.removeEventListener(e,c,!0),n.removeEventListener(e,p)}},[n,s,r,i,a,o]),{onPointerDownCapture:()=>l.current=!0}}function ie(e,t=globalThis?.document){let n=g(e),r=c.useRef(!1);return c.useEffect(()=>{let e=e=>{e.target&&!r.current&&T(b,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function ae(){let e=new CustomEvent(v);document.dispatchEvent(e)}function T(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?h(i,a):i.dispatchEvent(a)}var E=globalThis?.document?c.useLayoutEffect:()=>{},D=c.useId||(()=>void 0),oe=0;function O(e){let[t,n]=c.useState(D());return E(()=>{e||n(e=>e??String(oe++))},[e]),e||(t?`radix-${t}`:``)}var se=`Portal`,k=c.forwardRef((e,t)=>{let{container:n,...r}=e,[i,a]=c.useState(!1);E(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?p.createPortal((0,u.jsx)(m.div,{...r,ref:t}),o):null});k.displayName=se;function A(e,t){return c.useReducer((e,n)=>t[e][n]??e,e)}var j=e=>{let{present:t,children:n}=e,r=ce(t),i=typeof n==`function`?n({present:r.isPresent}):c.Children.only(n),a=ue(r.ref,de(i));return typeof n==`function`||r.isPresent?c.cloneElement(i,{ref:a}):null};j.displayName=`Presence`;function ce(e){let[t,n]=c.useState(),r=c.useRef(null),i=c.useRef(e),a=c.useRef(`none`),o=c.useRef(void 0),[s,l]=A(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return c.useEffect(()=>{s===`mounted`?(a.current=o.current??M(r.current),o.current=void 0):a.current=`none`},[s]),E(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,s=M(t);e?(o.current=s,l(`MOUNT`)):s===`none`||t?.display===`none`?l(`UNMOUNT`):l(n&&r!==s?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,l]),E(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=M(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(l(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},s=e=>{e.target===t&&(a.current=M(r.current))};return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else l(`ANIMATION_END`)},[t,l]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:c.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,o.current=M(t)}else r.current=null;n(e)},[])}}function le(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function ue(...e){let t=c.useRef(e);return t.current=e,c.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=le(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():le(n[e],null)}}},[])}function M(e){return e?.animationName||`none`}function de(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var fe=c.useInsertionEffect||E;function pe({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=me({defaultProp:t,onChange:n}),s=e!==void 0,l=s?e:i;{let t=c.useRef(e!==void 0);c.useEffect(()=>{let e=t.current;e!==s&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${s?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=s},[s,r])}return[l,c.useCallback(t=>{if(s){let n=he(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function me({defaultProp:e,onChange:t}){let[n,r]=c.useState(e),i=c.useRef(n),a=c.useRef(t);return fe(()=>{a.current=t},[t]),c.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function he(e){return typeof e==`function`}var ge=`focusScope.autoFocusOnMount`,N=`focusScope.autoFocusOnUnmount`,_e={bubbles:!1,cancelable:!0},ve=`FocusScope`,ye=c.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:a,onUnmountAutoFocus:o,...s}=e,[l,d]=c.useState(null),f=g(a),p=g(o),h=c.useRef(null),_=i(t,d),v=c.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;c.useEffect(()=>{if(r){let e=function(e){if(v.paused||!l)return;let t=e.target;l.contains(t)?h.current=t:P(h.current,{select:!0})},t=function(e){if(v.paused||!l)return;let t=e.relatedTarget;t!==null&&(l.contains(t)||P(h.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&P(l)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return l&&r.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,l,v.paused]),c.useEffect(()=>{if(l){Ee.add(v);let e=document.activeElement;if(!l.contains(e)){let t=new CustomEvent(ge,_e);l.addEventListener(ge,f),l.dispatchEvent(t),t.defaultPrevented||(be(ke(Se(l)),{select:!0}),document.activeElement===e&&P(l))}return()=>{l.removeEventListener(ge,f),setTimeout(()=>{let t=new CustomEvent(N,_e);l.addEventListener(N,p),l.dispatchEvent(t),t.defaultPrevented||P(e??document.body,{select:!0}),l.removeEventListener(N,p),Ee.remove(v)},0)}}},[l,f,p,v]);let y=c.useCallback(e=>{if(!n&&!r||v.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=xe(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&P(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&P(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,v.paused]);return(0,u.jsx)(m.div,{tabIndex:-1,...s,ref:_,onKeyDown:y})});ye.displayName=ve;function be(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(P(r,{select:t}),document.activeElement!==n)return}function xe(e){let t=Se(e);return[Ce(t,e),Ce(t.reverse(),e)]}function Se(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Ce(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):we(r,{upTo:t})))return r}function we(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function Te(e){return e instanceof HTMLInputElement&&`select`in e}function P(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Te(e)&&t&&e.select()}}var Ee=De();function De(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=Oe(e,t),e.unshift(t)},remove(t){e=Oe(e,t),e[0]?.resume()}}}function Oe(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function ke(e){return e.filter(e=>e.tagName!==`A`)}var F=0,I=null;function Ae(){c.useEffect(()=>{I||={start:je(),end:je()};let{start:e,end:t}=I;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),F++,()=>{F===1&&(I?.start.remove(),I?.end.remove(),I=null),F=Math.max(0,F-1)}},[])}function je(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var L=function(){return L=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},L.apply(this,arguments)};function Me(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Ne(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var R=`right-scroll-bar-position`,z=`width-before-scroll-bar`,Pe=`with-scroll-bars-hidden`,Fe=`--removed-body-scroll-bar-size`;function B(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function Ie(e,t){var n=(0,c.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var Le=typeof window<`u`?c.useLayoutEffect:c.useEffect,Re=new WeakMap;function ze(e,t){var n=Ie(t||null,function(t){return e.forEach(function(e){return B(e,t)})});return Le(function(){var t=Re.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||B(e,null)}),i.forEach(function(e){r.has(e)||B(e,a)})}Re.set(n,e)},[e]),n}function Be(e){return e}function Ve(e,t){t===void 0&&(t=Be);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function He(e){e===void 0&&(e={});var t=Ve(null);return t.options=L({async:!0,ssr:!1},e),t}var Ue=function(e){var t=e.sideCar,n=Me(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return c.createElement(r,L({},n))};Ue.isSideCarExport=!0;function We(e,t){return e.useMedium(t),Ue}var Ge=He(),Ke=function(){},V=c.forwardRef(function(e,t){var n=c.useRef(null),r=c.useState({onScrollCapture:Ke,onWheelCapture:Ke,onTouchMoveCapture:Ke}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,l=e.className,u=e.removeScrollBar,d=e.enabled,f=e.shards,p=e.sideCar,m=e.noRelative,h=e.noIsolation,g=e.inert,_=e.allowPinchZoom,v=e.as,y=v===void 0?`div`:v,b=e.gapMode,ee=Me(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),x=p,S=ze([n,t]),C=L(L({},ee),i);return c.createElement(c.Fragment,null,d&&c.createElement(x,{sideCar:Ge,removeScrollBar:u,shards:f,noRelative:m,noIsolation:h,inert:g,setCallbacks:a,allowPinchZoom:!!_,lockRef:n,gapMode:b}),o?c.cloneElement(c.Children.only(s),L(L({},C),{ref:S})):c.createElement(y,L({},C,{className:l,ref:S}),s))});V.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},V.classNames={fullWidth:z,zeroRight:R};var qe,Je=function(){if(qe)return qe;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function Ye(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=Je();return t&&e.setAttribute(`nonce`,t),e}function Xe(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Ze(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var Qe=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Ye())&&(Xe(t,n),Ze(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},$e=function(){var e=Qe();return function(t,n){c.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},et=function(){var e=$e();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},tt={left:0,top:0,right:0,gap:0},nt=function(e){return parseInt(e||``,10)||0},rt=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[nt(n),nt(r),nt(i)]},it=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return tt;var t=rt(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},at=et(),H=`data-scroll-locked`,ot=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
|
|
2
|
-
.${Pe} {
|
|
3
|
-
overflow: hidden ${r};
|
|
4
|
-
padding-right: ${s}px ${r};
|
|
5
|
-
}
|
|
6
|
-
body[${H}] {
|
|
7
|
-
overflow: hidden ${r};
|
|
8
|
-
overscroll-behavior: contain;
|
|
9
|
-
${[t&&`position: relative ${r};`,n===`margin`&&`
|
|
10
|
-
padding-left: ${i}px;
|
|
11
|
-
padding-top: ${a}px;
|
|
12
|
-
padding-right: ${o}px;
|
|
13
|
-
margin-left:0;
|
|
14
|
-
margin-top:0;
|
|
15
|
-
margin-right: ${s}px ${r};
|
|
16
|
-
`,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.${R} {
|
|
20
|
-
right: ${s}px ${r};
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.${z} {
|
|
24
|
-
margin-right: ${s}px ${r};
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.${R} .${R} {
|
|
28
|
-
right: 0 ${r};
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.${z} .${z} {
|
|
32
|
-
margin-right: 0 ${r};
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
body[${H}] {
|
|
36
|
-
${Fe}: ${s}px;
|
|
37
|
-
}
|
|
38
|
-
`},st=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},ct=function(){c.useEffect(function(){return document.body.setAttribute(H,(st()+1).toString()),function(){var e=st()-1;e<=0?document.body.removeAttribute(H):document.body.setAttribute(H,e.toString())}},[])},lt=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;ct();var a=c.useMemo(function(){return it(i)},[i]);return c.createElement(at,{styles:ot(a,!t,i,n?``:`!important`)})},ut=!1;if(typeof window<`u`)try{var U=Object.defineProperty({},"passive",{get:function(){return ut=!0,!0}});window.addEventListener(`test`,U,U),window.removeEventListener(`test`,U,U)}catch{ut=!1}var W=ut?{passive:!1}:!1,dt=function(e){return e.tagName===`TEXTAREA`},ft=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!dt(e)&&n[t]===`visible`)},pt=function(e){return ft(e,`overflowY`)},mt=function(e){return ft(e,`overflowX`)},ht=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),vt(e,r)){var i=yt(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},gt=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},_t=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},vt=function(e,t){return e===`v`?pt(t):mt(t)},yt=function(e,t){return e===`v`?gt(t):_t(t)},bt=function(e,t){return e===`h`&&t===`rtl`?-1:1},xt=function(e,t,n,r,i){var a=bt(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=yt(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&vt(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},G=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},St=function(e){return[e.deltaX,e.deltaY]},Ct=function(e){return e&&`current`in e?e.current:e},wt=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Tt=function(e){return`
|
|
39
|
-
.block-interactivity-${e} {pointer-events: none;}
|
|
40
|
-
.allow-interactivity-${e} {pointer-events: all;}
|
|
41
|
-
`},Et=0,K=[];function Dt(e){var t=c.useRef([]),n=c.useRef([0,0]),r=c.useRef(),i=c.useState(Et++)[0],a=c.useState(et)[0],o=c.useRef(e);c.useEffect(function(){o.current=e},[e]),c.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=Ne([e.lockRef.current],(e.shards||[]).map(Ct),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=c.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=G(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=ht(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=ht(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return xt(h,t,e,h===`h`?s:c,!0)},[]),l=c.useCallback(function(e){var n=e;if(!(!K.length||K[K.length-1]!==a)){var r=`deltaY`in n?St(n):G(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&wt(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(Ct).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),u=c.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:Ot(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),d=c.useCallback(function(e){n.current=G(e),r.current=void 0},[]),f=c.useCallback(function(t){u(t.type,St(t),t.target,s(t,e.lockRef.current))},[]),p=c.useCallback(function(t){u(t.type,G(t),t.target,s(t,e.lockRef.current))},[]);c.useEffect(function(){return K.push(a),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener(`wheel`,l,W),document.addEventListener(`touchmove`,l,W),document.addEventListener(`touchstart`,d,W),function(){K=K.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,l,W),document.removeEventListener(`touchmove`,l,W),document.removeEventListener(`touchstart`,d,W)}},[]);var m=e.removeScrollBar,h=e.inert;return c.createElement(c.Fragment,null,h?c.createElement(a,{styles:Tt(i)}):null,m?c.createElement(lt,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Ot(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var kt=We(Ge,Dt),At=c.forwardRef(function(e,t){return c.createElement(V,L({},e,{ref:t,sideCar:kt}))});At.classNames=V.classNames;var jt=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},q=new WeakMap,J=new WeakMap,Y={},Mt=0,Nt=function(e){return e&&(e.host||Nt(e.parentNode))},Pt=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Nt(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Ft=function(e,t,n,r){var i=Pt(t,Array.isArray(e)?e:[e]);Y[n]||(Y[n]=new WeakMap);var a=Y[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(q.get(e)||0)+1,l=(a.get(e)||0)+1;q.set(e,c),a.set(e,l),o.push(e),c===1&&i&&J.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),Mt++,function(){o.forEach(function(e){var t=q.get(e)-1,i=a.get(e)-1;q.set(e,t),a.set(e,i),t||(J.has(e)||e.removeAttribute(r),J.delete(e)),i||e.removeAttribute(n)}),Mt--,Mt||(q=new WeakMap,q=new WeakMap,J=new WeakMap,Y={})}},It=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||jt(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Ft(r,i,n,`aria-hidden`)):function(){return null}},X=`Dialog`,[Lt,Rt]=d(X),[zt,Z]=Lt(X),Bt=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=c.useRef(null),l=c.useRef(null),[d,f]=pe({prop:r,defaultProp:i??!1,onChange:a,caller:X});return(0,u.jsx)(zt,{scope:t,triggerRef:s,contentRef:l,contentId:O(),titleId:O(),descriptionId:O(),open:d,onOpenChange:f,onOpenToggle:c.useCallback(()=>f(e=>!e),[f]),modal:o,children:n})};Bt.displayName=X;var Vt=`DialogTrigger`,Ht=c.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,a=Z(Vt,n),o=i(t,a.triggerRef);return(0,u.jsx)(m.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":sn(a.open),...r,ref:o,onClick:l(e.onClick,a.onOpenToggle)})});Ht.displayName=Vt;var Ut=`DialogPortal`,[Wt,Gt]=Lt(Ut,{forceMount:void 0}),Kt=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=Z(Ut,t);return(0,u.jsx)(Wt,{scope:t,forceMount:n,children:c.Children.map(r,e=>(0,u.jsx)(j,{present:n||a.open,children:(0,u.jsx)(k,{asChild:!0,container:i,children:e})}))})};Kt.displayName=Ut;var Q=`DialogOverlay`,qt=c.forwardRef((e,t)=>{let n=Gt(Q,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=Z(Q,e.__scopeDialog);return a.modal?(0,u.jsx)(j,{present:r||a.open,children:(0,u.jsx)(Yt,{...i,ref:t})}):null});qt.displayName=Q;var Jt=a(`DialogOverlay.RemoveScroll`),Yt=c.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,a=Z(Q,n),o=i(t,te());return(0,u.jsx)(At,{as:Jt,allowPinchZoom:!0,shards:[a.contentRef],children:(0,u.jsx)(m.div,{"data-state":sn(a.open),...r,ref:o,style:{pointerEvents:`auto`,...r.style}})})}),$=`DialogContent`,Xt=c.forwardRef((e,t)=>{let n=Gt($,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=Z($,e.__scopeDialog);return(0,u.jsx)(j,{present:r||a.open,children:a.modal?(0,u.jsx)(Zt,{...i,ref:t}):(0,u.jsx)(Qt,{...i,ref:t})})});Xt.displayName=$;var Zt=c.forwardRef((e,t)=>{let n=Z($,e.__scopeDialog),r=c.useRef(null),a=i(t,n.contentRef,r);return c.useEffect(()=>{let e=r.current;if(e)return It(e)},[]),(0,u.jsx)($t,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:l(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:l(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:l(e.onFocusOutside,e=>e.preventDefault())})}),Qt=c.forwardRef((e,t)=>{let n=Z($,e.__scopeDialog),r=c.useRef(!1),i=c.useRef(!1);return(0,u.jsx)($t,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),$t=c.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=Z($,n);return Ae(),(0,u.jsx)(u.Fragment,{children:(0,u.jsx)(ye,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,u.jsx)(S,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":sn(s.open),...o,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})}),en=`DialogTitle`,tn=c.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Z(en,n);return(0,u.jsx)(m.h2,{id:i.titleId,...r,ref:t})});tn.displayName=en;var nn=`DialogDescription`,rn=c.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Z(nn,n);return(0,u.jsx)(m.p,{id:i.descriptionId,...r,ref:t})});rn.displayName=nn;var an=`DialogClose`,on=c.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Z(an,n);return(0,u.jsx)(m.button,{type:`button`,...r,ref:t,onClick:l(e.onClick,()=>i.onOpenChange(!1))})});on.displayName=an;function sn(e){return e?`open`:`closed`}var cn=Bt;function ln({className:e,children:t,wide:n=!1,...r}){return(0,u.jsxs)(Kt,{children:[(0,u.jsx)(qt,{className:`fixed inset-0 z-50 bg-ground/70 backdrop-blur-[2px]`}),(0,u.jsxs)(Xt,{className:o(`fixed left-1/2 top-[calc(var(--phone-top,0px)+var(--phone-height,100dvh)/2)] z-50 grid max-h-[calc(var(--phone-height,100dvh)-2rem)] w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 overflow-y-auto rounded-lg bg-elevated p-5 shadow-2xl`,n?`max-w-3xl`:`max-w-md`,e),...r,children:[t,(0,u.jsxs)(on,{className:`absolute right-3.5 top-3.5 rounded-sm text-fg-muted transition-colors hover:text-fg`,children:[(0,u.jsx)(s,{className:`size-4`}),(0,u.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function un({className:e,...t}){return(0,u.jsx)(`div`,{className:o(`flex flex-col gap-1`,e),...t})}function dn({className:e,...t}){return(0,u.jsx)(tn,{className:o(`text-lg font-semibold text-fg`,e),...t})}function fn({className:e,...t}){return(0,u.jsx)(rn,{className:o(`text-sm text-fg-secondary`,e),...t})}function pn({className:e,...t}){return(0,u.jsx)(`div`,{className:o(`flex justify-end gap-2`,e),...t})}export{h as C,m as S,l as T,k as _,un as a,S as b,Xt as c,It as d,At as f,j as g,pe as h,pn as i,qt as l,ye as m,ln as n,dn as o,Ae as p,fn as r,Bt as s,cn as t,Kt as u,O as v,d as w,g as x,E as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{at as n,n as r}from"./index-W9vnFL1i.js";import{S as i,T as a,_ as o,b as s,d as c,f as l,g as u,h as d,m as f,p,v as m,w as h,x as g,y as _}from"./dialog-CVAp0B_q.js";import{a as v,n as y}from"./button-hdghxls7.js";import{_ as b,d as x,f as S,g as C,h as w,l as T,m as E,p as D}from"./LazyTerminal-fxF4IO4o.js";import{m as O,n as k}from"./switch-DMkSxGf3.js";import{n as A}from"./x-CZCUod6A.js";import{t as j}from"./createLucideIcon-DyMAgLa3.js";import{t as ee}from"./chevron-down--sjpQEHH.js";import{n as te,r as M,t as N}from"./dist-DWt3BCrg.js";var P=j(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),F=e(t(),1),I=e(n(),1);function L(e,[t,n]){return Math.min(n,Math.max(t,e))}var R=r(),z=[` `,`Enter`,`ArrowUp`,`ArrowDown`],B=[` `,`Enter`],V=`Select`,[H,U,ne]=te(V),[W,re]=h(V,[ne,b]),G=b(),[ie,K]=W(V),[q,ae]=W(V),oe=`SelectProvider`;function se(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:l,name:u,autoComplete:f,disabled:p,required:h,form:g,internal_do_not_use_render:_}=e,v=G(t),[y,b]=F.useState(null),[x,S]=F.useState(null),[w,T]=F.useState(!1),E=N(l),[D,O]=d({prop:r,defaultProp:i??!1,onChange:a,caller:V}),[k,A]=d({prop:o,defaultProp:s,onChange:c,caller:V}),j=F.useRef(null),ee=F.useRef(k);F.useEffect(()=>{let e=g?y?.ownerDocument.getElementById(g):y?.form;if(e instanceof HTMLFormElement){let t=()=>A(ee.current);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[g,y,A]);let te=!y||!!g||!!y.closest(`form`),[M,P]=F.useState(new Set),I=m(),L=Array.from(M).map(e=>e.props.value).join(`;`),z=F.useCallback(e=>{P(t=>new Set(t).add(e))},[]),B=F.useCallback(e=>{P(t=>{let n=new Set(t);return n.delete(e),n})},[]),U={required:h,trigger:y,onTriggerChange:b,valueNode:x,onValueNodeChange:S,valueNodeHasChildren:w,onValueNodeHasChildrenChange:T,contentId:I,value:k,onValueChange:A,open:D,onOpenChange:O,dir:E,triggerPointerDownPosRef:j,disabled:p,name:u,autoComplete:f,form:g,nativeOptions:M,nativeSelectKey:L,isFormControl:te};return(0,R.jsx)(C,{...v,children:(0,R.jsx)(ie,{scope:t,...U,children:(0,R.jsx)(H.Provider,{scope:t,children:(0,R.jsx)(q,{scope:t,onNativeOptionAdd:z,onNativeOptionRemove:B,children:nt(_)?_(U):n})})})})}se.displayName=oe;var ce=e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,R.jsx)(se,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,R.jsxs)(R.Fragment,{children:[n,e?(0,R.jsx)(tt,{__scopeSelect:t}):null]})})};ce.displayName=V;var le=`SelectTrigger`,ue=F.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...o}=e,s=G(n),c=K(le,n),l=c.disabled||r,u=v(t,c.onTriggerChange),d=U(n),f=F.useRef(`touch`),[p,m,h]=rt(e=>{let t=d().filter(e=>!e.disabled),n=it(t,e,t.find(e=>e.value===c.value));n!==void 0&&c.onValueChange(n.value)}),g=e=>{l||(c.onOpenChange(!0),h()),e&&(c.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,R.jsx)(D,{asChild:!0,...s,children:(0,R.jsx)(i.button,{type:`button`,role:`combobox`,"aria-controls":c.open?c.contentId:void 0,"aria-expanded":c.open,"aria-required":c.required,"aria-autocomplete":`none`,dir:c.dir,"data-state":c.open?`open`:`closed`,disabled:l,"data-disabled":l?``:void 0,"data-placeholder":$(c.value)?``:void 0,...o,ref:u,onClick:a(o.onClick,e=>{e.currentTarget.focus(),f.current!==`mouse`&&g(e)}),onPointerDown:a(o.onPointerDown,e=>{f.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(g(e),e.preventDefault())}),onKeyDown:a(o.onKeyDown,e=>{let t=p.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&m(e.key),!(t&&e.key===` `)&&z.includes(e.key)&&(g(),e.preventDefault())})})})});ue.displayName=le;var de=`SelectValue`,fe=F.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:a,children:o,placeholder:s=``,...c}=e,l=K(de,n),{onValueNodeHasChildrenChange:u}=l,d=o!==void 0,f=v(t,l.onValueNodeChange);_(()=>{u(d)},[u,d]);let p=$(l.value);return(0,R.jsx)(i.span,{...c,asChild:!p&&c.asChild,ref:f,style:{pointerEvents:`none`},children:(0,R.jsx)(F.Fragment,{children:p?s:o},p?`placeholder`:`value`)})});fe.displayName=de;var pe=`SelectIcon`,me=F.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...a}=e;return(0,R.jsx)(i.span,{"aria-hidden":!0,...a,ref:t,children:r||`▼`})});me.displayName=pe;var he=`SelectPortal`,[ge,_e]=W(he,{forceMount:void 0}),ve=e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,R.jsx)(ge,{scope:e.__scopeSelect,forceMount:n,children:(0,R.jsx)(o,{asChild:!0,...r})})};ve.displayName=he;var J=`SelectContent`,ye=F.forwardRef((e,t)=>{let n=_e(J,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=K(J,e.__scopeSelect),[o,s]=F.useState();return _(()=>{s(new DocumentFragment)},[]),(0,R.jsx)(u,{present:r||a.open,children:({present:e})=>e?(0,R.jsx)(we,{...i,ref:t}):(0,R.jsx)(be,{...i,fragment:o})})});ye.displayName=J;var be=F.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,fragment:i}=e;return i?I.createPortal((0,R.jsx)(xe,{scope:n,children:(0,R.jsx)(H.Slot,{scope:n,children:(0,R.jsx)(`div`,{ref:t,children:r})})}),i):null});be.displayName=`SelectContentFragment`;var Y=10,[xe,X]=W(J),Se=`SelectContentImpl`,Ce=y(`SelectContent.RemoveScroll`),we=F.forwardRef((e,t)=>{let{__scopeSelect:n}=e,{position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:o,onPointerDownOutside:u,side:d,sideOffset:m,align:h,alignOffset:g,arrowPadding:_,collisionBoundary:y,collisionPadding:b,sticky:x,hideWhenDetached:S,avoidCollisions:C,...w}=e,T=K(J,n),[E,D]=F.useState(null),[O,k]=F.useState(null),A=v(t,D),[j,ee]=F.useState(null),[te,M]=F.useState(null),N=U(n),[P,I]=F.useState(!1),L=F.useRef(!1);F.useEffect(()=>{if(E)return c(E)},[E]),p();let z=F.useCallback(e=>{let[t,...n]=N().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&O&&(O.scrollTop=0),n===r&&O&&(O.scrollTop=O.scrollHeight),n?.focus(),document.activeElement!==i))return},[N,O]),B=F.useCallback(()=>z([j,E]),[z,j,E]);F.useEffect(()=>{P&&B()},[P,B]);let{onOpenChange:V,triggerPointerDownPosRef:H}=T;F.useEffect(()=>{if(E){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(H.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(H.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(E)||V(!1),document.removeEventListener(`pointermove`,t),H.current=null};return H.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[E,V,H]),F.useEffect(()=>{let e=()=>V(!1);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[V]);let[ne,W]=rt(e=>{let t=N().filter(e=>!e.disabled),n=it(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current?.focus())}),re=F.useCallback((e,t,n)=>{let r=!L.current&&!n;(T.value!==void 0&&T.value===t||r)&&(ee(e),r&&(L.current=!0))},[T.value]),G=F.useCallback(()=>E?.focus(),[E]),ie=F.useCallback((e,t,n)=>{let r=!L.current&&!n;(T.value!==void 0&&T.value===t||r)&&M(e)},[T.value]),q=r===`popper`?Oe:Ee,ae=q===Oe?{side:d,sideOffset:m,align:h,alignOffset:g,arrowPadding:_,collisionBoundary:y,collisionPadding:b,sticky:x,hideWhenDetached:S,avoidCollisions:C}:{};return(0,R.jsx)(xe,{scope:n,content:E,viewport:O,onViewportChange:k,itemRefCallback:re,selectedItem:j,onItemLeave:G,itemTextRefCallback:ie,focusSelectedItem:B,selectedItemText:te,position:r,isPositioned:P,searchRef:ne,children:(0,R.jsx)(l,{as:Ce,allowPinchZoom:!0,children:(0,R.jsx)(f,{asChild:!0,trapped:T.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:a(i,e=>{T.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,R.jsx)(s,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:o,onPointerDownOutside:u,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>T.onOpenChange(!1),children:(0,R.jsx)(q,{role:`listbox`,id:T.contentId,"data-state":T.open?`open`:`closed`,dir:T.dir,onContextMenu:e=>e.preventDefault(),...w,...ae,onPlaced:()=>I(!0),ref:A,style:{display:`flex`,flexDirection:`column`,outline:`none`,...w.style},onKeyDown:a(w.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&W(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=N().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>z(t)),e.preventDefault()}})})})})})})});we.displayName=Se;var Te=`SelectItemAlignedPosition`,Ee=F.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...a}=e,o=K(J,n),s=X(J,n),[c,l]=F.useState(null),[u,d]=F.useState(null),f=v(t,d),p=U(n),m=F.useRef(!1),h=F.useRef(!0),{viewport:g,selectedItem:y,selectedItemText:b,focusSelectedItem:x}=s,S=F.useCallback(()=>{if(o.trigger&&o.valueNode&&c&&u&&g&&y&&b){let e=o.trigger.getBoundingClientRect(),t=u.getBoundingClientRect(),n=o.valueNode.getBoundingClientRect(),i=b.getBoundingClientRect();if(o.dir!==`rtl`){let r=i.left-t.left,a=n.left-r,o=e.left-a,s=e.width+o,l=Math.max(s,t.width),u=window.innerWidth-Y,d=L(a,[Y,Math.max(Y,u-l)]);c.style.minWidth=s+`px`,c.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,s=e.width+o,l=Math.max(s,t.width),u=window.innerWidth-Y,d=L(a,[Y,Math.max(Y,u-l)]);c.style.minWidth=s+`px`,c.style.right=d+`px`}let a=p(),s=window.innerHeight-Y*2,l=g.scrollHeight,d=window.getComputedStyle(u),f=parseInt(d.borderTopWidth,10),h=parseInt(d.paddingTop,10),_=parseInt(d.borderBottomWidth,10),v=parseInt(d.paddingBottom,10),x=f+h+l+v+_,S=Math.min(y.offsetHeight*5,x),C=window.getComputedStyle(g),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-Y,D=s-E,O=y.offsetHeight/2,k=y.offsetTop+O,A=f+h+k,j=x-A;if(A<=E){let e=a.length>0&&y===a[a.length-1].ref.current;c.style.bottom=`0px`;let t=u.clientHeight-g.offsetTop-g.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+_);c.style.height=n+`px`}else{let e=a.length>0&&y===a[0].ref.current;c.style.top=`0px`;let t=Math.max(E,f+g.offsetTop+(e?w:0)+O)+j;c.style.height=t+`px`,g.scrollTop=A-E+g.offsetTop}c.style.margin=`${Y}px 0`,c.style.minHeight=S+`px`,c.style.maxHeight=s+`px`,r?.(),requestAnimationFrame(()=>m.current=!0)}},[p,o.trigger,o.valueNode,c,u,g,y,b,o.dir,r]);_(()=>S(),[S]);let[C,w]=F.useState();return _(()=>{u&&w(window.getComputedStyle(u).zIndex)},[u]),(0,R.jsx)(ke,{scope:n,contentWrapper:c,shouldExpandOnScrollRef:m,onScrollButtonChange:F.useCallback(e=>{e&&h.current===!0&&(S(),x?.(),h.current=!1)},[S,x]),children:(0,R.jsx)(`div`,{ref:l,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:C},children:(0,R.jsx)(i.div,{...a,ref:f,style:{boxSizing:`border-box`,maxHeight:`100%`,...a.style}})})})});Ee.displayName=Te;var De=`SelectPopperPosition`,Oe=F.forwardRef((e,t)=>{let{__scopeSelect:n,align:r=`start`,collisionPadding:i=Y,...a}=e,o=G(n);return(0,R.jsx)(w,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})});Oe.displayName=De;var[ke,Ae]=W(J,{}),je=`SelectViewport`,Me=F.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...o}=e,s=X(je,n),c=Ae(je,n),l=v(t,s.onViewportChange),u=F.useRef(0);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,R.jsx)(H.Slot,{scope:n,children:(0,R.jsx)(i.div,{"data-radix-select-viewport":``,role:`presentation`,...o,ref:l,style:{position:`relative`,flex:1,overflow:`hidden auto`,...o.style},onScroll:a(o.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=c;if(r?.current&&n){let e=Math.abs(u.current-t.scrollTop);if(e>0){let r=window.innerHeight-Y*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}u.current=t.scrollTop})})})]})});Me.displayName=je;var Ne=`SelectGroup`,[Pe,Fe]=W(Ne),Ie=F.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,a=m();return(0,R.jsx)(Pe,{scope:n,id:a,children:(0,R.jsx)(i.div,{role:`group`,"aria-labelledby":a,...r,ref:t})})});Ie.displayName=Ne;var Le=`SelectLabel`,Re=F.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,a=Fe(Le,n);return(0,R.jsx)(i.div,{id:a.id,...r,ref:t})});Re.displayName=Le;var Z=`SelectItem`,[ze,Be]=W(Z),Ve=F.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:o=!1,textValue:s,...c}=e,l=K(Z,n),u=X(Z,n),d=l.value===r,[f,p]=F.useState(s??``),[h,_]=F.useState(!1),y=v(t,g(e=>u.itemRefCallback?.(e,r,o))),b=m(),x=F.useRef(`touch`),S=()=>{o||(l.onValueChange(r),l.onOpenChange(!1))};return(0,R.jsx)(ze,{scope:n,value:r,disabled:o,textId:b,isSelected:d,onItemTextChange:F.useCallback(e=>{p(t=>t||(e?.textContent??``).trim())},[]),children:(0,R.jsx)(H.ItemSlot,{scope:n,value:r,disabled:o,textValue:f,children:(0,R.jsx)(i.div,{role:`option`,"aria-labelledby":b,"data-highlighted":h?``:void 0,"aria-selected":d&&h,"data-state":d?`checked`:`unchecked`,"aria-disabled":o||void 0,"data-disabled":o?``:void 0,tabIndex:o?void 0:-1,...c,ref:y,onFocus:a(c.onFocus,()=>_(!0)),onBlur:a(c.onBlur,()=>_(!1)),onClick:a(c.onClick,()=>{x.current!==`mouse`&&S()}),onPointerUp:a(c.onPointerUp,()=>{x.current===`mouse`&&S()}),onPointerDown:a(c.onPointerDown,e=>{x.current=e.pointerType}),onPointerMove:a(c.onPointerMove,e=>{x.current=e.pointerType,o?u.onItemLeave?.():x.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:a(c.onPointerLeave,e=>{e.currentTarget===document.activeElement&&u.onItemLeave?.()}),onKeyDown:a(c.onKeyDown,e=>{o||e.target!==e.currentTarget||u.searchRef?.current!==``&&e.key===` `||(B.includes(e.key)&&S(),e.key===` `&&e.preventDefault())})})})})});Ve.displayName=Z;var Q=`SelectItemText`,He=F.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:a,...o}=e,s=K(Q,n),c=X(Q,n),l=Be(Q,n),u=ae(Q,n),[d,f]=F.useState(null),p=g(e=>c.itemTextRefCallback?.(e,l.value,l.disabled)),m=v(t,f,l.onItemTextChange,p),h=d?.textContent,y=F.useMemo(()=>(0,R.jsx)(`option`,{value:l.value,disabled:l.disabled,children:h},l.value),[l.disabled,l.value,h]),{onNativeOptionAdd:b,onNativeOptionRemove:x}=u;return _(()=>(b(y),()=>x(y)),[b,x,y]),(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(i.span,{id:l.textId,...o,ref:m}),l.isSelected&&s.valueNode&&!s.valueNodeHasChildren&&!$(s.value)?I.createPortal(o.children,s.valueNode):null]})});He.displayName=Q;var Ue=`SelectItemIndicator`,We=F.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return Be(Ue,n).isSelected?(0,R.jsx)(i.span,{"aria-hidden":!0,...r,ref:t}):null});We.displayName=Ue;var Ge=`SelectScrollUpButton`,Ke=F.forwardRef((e,t)=>{let n=X(Ge,e.__scopeSelect),r=Ae(Ge,e.__scopeSelect),[i,a]=F.useState(!1),o=v(t,r.onScrollButtonChange);return _(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollTop>0;a(e)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,R.jsx)(Ye,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null});Ke.displayName=Ge;var qe=`SelectScrollDownButton`,Je=F.forwardRef((e,t)=>{let n=X(qe,e.__scopeSelect),r=Ae(qe,e.__scopeSelect),[i,a]=F.useState(!1),o=v(t,r.onScrollButtonChange);return _(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight,n=Math.ceil(t.scrollTop)<e;a(n)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,R.jsx)(Ye,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null});Je.displayName=qe;var Ye=F.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...o}=e,s=X(`SelectScrollButton`,n),c=F.useRef(null),l=U(n),u=F.useCallback(()=>{c.current!==null&&(window.clearInterval(c.current),c.current=null)},[]);return F.useEffect(()=>()=>u(),[u]),_(()=>{l().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[l]),(0,R.jsx)(i.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:a(o.onPointerDown,()=>{c.current===null&&(c.current=window.setInterval(r,50))}),onPointerMove:a(o.onPointerMove,()=>{s.onItemLeave?.(),c.current===null&&(c.current=window.setInterval(r,50))}),onPointerLeave:a(o.onPointerLeave,()=>{u()})})}),Xe=`SelectSeparator`,Ze=F.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,R.jsx)(i.div,{"aria-hidden":!0,...r,ref:t})});Ze.displayName=Xe;var Qe=`SelectArrow`,$e=F.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=G(n);return X(Qe,n).position===`popper`?(0,R.jsx)(E,{...i,...r,ref:t}):null});$e.displayName=Qe;var et=`SelectBubbleInput`,tt=F.forwardRef(({__scopeSelect:e,...t},n)=>{let r=K(et,e),{value:a,onValueChange:o,required:s,disabled:c,name:l,autoComplete:u,form:d}=r,{nativeOptions:f,nativeSelectKey:p}=r,m=F.useRef(null),h=v(n,m),g=a??``,_=k(g),y=Array.from(f).some(e=>(e.props.value??``)===``);return F.useEffect(()=>{let e=m.current;if(!e)return;let t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(_!==g&&n){let t=new Event(`change`,{bubbles:!0});n.call(e,g),e.dispatchEvent(t)}},[_,g]),(0,R.jsxs)(i.select,{"aria-hidden":!0,required:s,tabIndex:-1,name:l,autoComplete:u,disabled:c,form:d,onChange:e=>o(e.target.value),...t,style:{...O,...t.style},ref:h,defaultValue:g,children:[$(a)&&!y?(0,R.jsx)(`option`,{value:``}):null,Array.from(f)]},p)});tt.displayName=et;function nt(e){return typeof e==`function`}function $(e){return e===``||e===void 0}function rt(e){let t=g(e),n=F.useRef(``),r=F.useRef(0),i=F.useCallback(e=>{let i=n.current+e;t(i),(function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))})(i)},[t]),a=F.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return F.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}function it(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=at(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function at(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var ot=ce,st=fe;function ct({className:e,children:t,...n}){return(0,R.jsxs)(ue,{className:A(`flex h-8 w-full cursor-pointer items-center justify-between gap-2 px-2.5 [&>span]:truncate`,T,e),...n,children:[t,(0,R.jsx)(me,{asChild:!0,children:(0,R.jsx)(ee,{className:`size-3.5 shrink-0 text-fg-muted`})})]})}function lt({className:e,children:t,position:n=`popper`,...r}){return(0,R.jsx)(ve,{children:(0,R.jsx)(ye,{position:n,sideOffset:4,className:A(`z-50 max-h-72 min-w-[var(--radix-select-trigger-width)] max-w-[var(--radix-select-content-available-width)] overflow-y-auto rounded-md bg-elevated p-1 shadow-xl`,e),...r,children:(0,R.jsx)(Me,{children:t})})})}function ut({className:e,children:t,detail:n,...r}){return(0,R.jsxs)(Ve,{className:A(S,x,`py-1.5 pl-7 pr-2`,e),...r,children:[(0,R.jsx)(`span`,{className:`absolute left-2 flex size-3.5 items-center justify-center`,children:(0,R.jsx)(We,{children:(0,R.jsx)(P,{className:`size-3.5`})})}),(0,R.jsx)(He,{children:t}),n]})}var dt={agent:{baseBranch:``,separateBranch:!1,separateWorktree:!1},terminal:{baseBranch:``,separateBranch:!1,separateWorktree:!1}};function ft(e,t){let n=t?.sessionDefaults?.[e],r=dt[e],i=n?.separateBranch??r.separateBranch;return{baseBranch:n?.baseBranch??r.baseBranch,separateBranch:i,separateWorktree:i?!0:n?.separateWorktree??r.separateWorktree}}function pt({summary:e,summaryClassName:t,className:n,children:r,...i}){return(0,R.jsxs)(`details`,{className:A(`[&[open]>summary>svg]:rotate-90`,n),...i,children:[(0,R.jsxs)(`summary`,{className:A(`flex cursor-pointer select-none list-none items-center gap-1 text-fg-secondary transition-colors hover:text-fg [&::-webkit-details-marker]:hidden`,t),children:[(0,R.jsx)(M,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}),e]}),r]})}export{ut as a,lt as i,ft as n,ct as o,ot as r,st as s,pt as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./chunk-FOHPRMQF-CdD2_EOh.js";import{O as e}from"./mermaid-parser.core-CQpv25sY.js";export{e as createEventModelingServices};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./src-_wZywoZs.js";import"./chunk-DU6HZSFF-Cin9bFEJ.js";import"./chunk-75Z2AOVW-BSDNHsOk.js";import"./chunk-PWAF6VOD-DfdxoQ_F.js";import"./chunk-GMAD6QVW-eS27qQYi.js";import"./chunk-P2QGCYS3-B0b6PsO0.js";import"./chunk-4HAMMTFA-B4mxD8f1.js";import"./chunk-GVQU2GXP-DvZzuy44.js";import"./chunk-OSK3NFVY-DSHFDm2K.js";import"./chunk-F27PBJKO-BWPIZmRh.js";import"./chunk-XXDRQBXY-BuE3VzE_.js";import"./chunk-POPQ4Y6H-B_whPWNN.js";import"./chunk-L3NEJ4N5-Gq2sL0Oq.js";import"./chunk-TLUHSLCS-B3xiw07r.js";import"./chunk-LNGE3PJU-DNNNwF8Y.js";import{n as e}from"./chunk-SHT3W25Y-CHrnqlvt.js";export{e as diagram};
|