@hiai-gg/docsmint 0.5.2 → 0.5.5

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.
Files changed (34) hide show
  1. package/dist/backend/index.js +1 -1
  2. package/dist/frontend/{CategoryDialog-DmlX0Z97.js → CategoryDialog-BYAFjX7E.js} +152 -138
  3. package/dist/frontend/{FolderNode-D3rN3yLV.js → FolderNode-DAAn_T8_.js} +1 -1
  4. package/dist/frontend/SettingsDialog-CyZSOjLE.js +1024 -0
  5. package/dist/frontend/{Sidebar-BnZgNl_8.js → Sidebar-B-zCJT9i.js} +4 -4
  6. package/dist/frontend/app-shell.js +160 -126
  7. package/dist/frontend/components/category-dialog.js +1 -1
  8. package/dist/frontend/components/folder-node.js +1 -1
  9. package/dist/frontend/components/save-as-dialog.js +1 -1
  10. package/dist/frontend/components/settings.js +1 -1
  11. package/dist/frontend/components/sidebar.js +1 -1
  12. package/dist/frontend/dashboard.js +994 -958
  13. package/dist/frontend/folder-refresh.js +1 -1
  14. package/dist/frontend/frontend.css +1 -1
  15. package/dist/frontend/search.js +593 -575
  16. package/dist/frontend/{subfolders-refresh-store.svelte-B2dKVmgz.js → subfolders-refresh-store.svelte-DxP21a1c.js} +1 -0
  17. package/dist/frontend-ssr/app-shell.js +62 -3
  18. package/dist/frontend-ssr/assets/{CategoryDialog-Cnlmr1sz.js → CategoryDialog-BLxVoynx.js} +26 -9
  19. package/dist/frontend-ssr/assets/{FolderNode-CnFVWuQi.js → FolderNode-kmilhDjO.js} +1 -1
  20. package/dist/frontend-ssr/assets/{SettingsDialog-BPdUl6pd.js → SettingsDialog-DVp0OxPO.js} +2 -2
  21. package/dist/frontend-ssr/assets/{Sidebar-DwYZH0Tr.js → Sidebar-CO9LZRPa.js} +4 -4
  22. package/dist/frontend-ssr/assets/{subfolders-refresh-store.svelte-DAh4gT16.js → subfolders-refresh-store.svelte-CXHxQWKh.js} +1 -0
  23. package/dist/frontend-ssr/components/category-dialog.js +1 -1
  24. package/dist/frontend-ssr/components/folder-node.js +1 -1
  25. package/dist/frontend-ssr/components/save-as-dialog.js +1 -1
  26. package/dist/frontend-ssr/components/settings.js +1 -1
  27. package/dist/frontend-ssr/components/sidebar.js +1 -1
  28. package/dist/frontend-ssr/dashboard.js +38 -4
  29. package/dist/frontend-ssr/folder-refresh.js +1 -1
  30. package/dist/frontend-ssr/search.js +52 -33
  31. package/package.json +1 -1
  32. package/packages/cli/src/index.ts +1 -1
  33. package/packages/mcp-server/src/index.ts +1 -1
  34. package/dist/frontend/SettingsDialog-Bd_S2RKW.js +0 -1024
@@ -234279,7 +234279,7 @@ var swaggerConfig = {
234279
234279
  },
234280
234280
  info: {
234281
234281
  title: "DocsMint API",
234282
- version: "0.5.2",
234282
+ version: "0.5.5",
234283
234283
  description: "Self-hosted AI-first documentation platform. Full-text + semantic search, version history, sharing, and folder organization.",
234284
234284
  contact: { name: "HiAi-gg", url: "https://github.com/HiAi-gg/docsmint" },
234285
234285
  license: {
@@ -10,155 +10,176 @@ import { a as oe, n as se, o as ce, r as b, s as le, t as ue } from "./api-keys-
10
10
  import { a as de, i as fe, n as pe, r as me, t as he } from "./select-value-JCAp2PmU.js";
11
11
  import "svelte/internal/disclose-version";
12
12
  import * as x from "svelte/internal/client";
13
+ //#region src/lib/components/sidebar/category-api-key-flow.ts
14
+ async function ge(e) {
15
+ if (!e.draft.name.trim()) throw Error("Name is required");
16
+ if (e.draft.apiMode !== "category") throw Error("Select Category API access");
17
+ if (!e.draft.apiPermissionRead && !e.draft.apiPermissionEdit && !e.draft.apiPermissionWrite) throw Error("Select at least one permission");
18
+ let t = await e.save(e.draft);
19
+ if (!t || t.id !== e.categoryId) throw Error("Failed to save Category API access");
20
+ return e.issue(e.categoryId);
21
+ }
22
+ //#endregion
13
23
  //#region src/lib/components/sidebar/category-dialog-feedback.ts
14
24
  function S(e, t) {
15
25
  return typeof e == "object" && e && "status" in e && e.status === 409 ? "A category with this name already exists." : e instanceof Error && e.message.trim().length > 0 ? e.message : t;
16
26
  }
17
27
  //#endregion
18
28
  //#region src/lib/components/sidebar/CategoryDialog.svelte
19
- var ge = x.from_html("<span class=\"font-medium text-foreground\"> </span> ", 1), _e = x.from_html("Delete <span class=\"font-medium text-foreground\"> </span> ", 1), C = x.from_html("<!> <!>", 1), ve = x.from_html("<div class=\"flex items-start gap-3 rounded-lg border border-primary/30 bg-primary/10 p-4\" role=\"status\" aria-live=\"polite\"><!> <div><p class=\"text-sm font-medium text-foreground\"> </p> <p class=\"text-sm text-muted-foreground\"><span class=\"font-medium text-foreground\"> </span> </p></div></div>"), ye = x.from_html("<!> Copy API key", 1), be = x.from_html("<div class=\"rounded-md border border-primary/20 bg-background/80 p-3\"><p class=\"text-xs font-medium text-foreground\">Copy the API key now. It remains available in Settings → API.</p> <code class=\"mt-2 block break-all rounded bg-muted p-2 text-xs text-foreground\"> </code> <!></div>"), w = x.from_html("<p class=\"text-xs text-destructive\" role=\"alert\"> </p>"), xe = x.from_html("<div class=\"space-y-3 rounded-lg border border-primary/30 bg-primary/10 p-4\" role=\"status\" aria-live=\"polite\"><div class=\"flex items-start gap-3\"><!> <div><p class=\"text-sm font-medium text-foreground\">Category created</p> <p class=\"text-sm text-muted-foreground\"> </p></div></div> <!> <!></div>"), Se = x.from_html("<p id=\"category-dialog-name-error\" class=\"text-xs text-destructive\" role=\"alert\"> </p>"), T = x.from_html("<!> <!> <!>", 1), Ce = x.from_html("<div class=\"space-y-3 rounded-md border border-border/70 bg-muted/30 p-3\"><div class=\"flex flex-wrap items-center justify-between gap-2\"><!> <div class=\"flex flex-wrap gap-2\"><!> <!></div></div> <div class=\"grid gap-2 sm:grid-cols-3\"><label class=\"flex items-center gap-2 rounded-md border border-border/60 bg-background px-3 py-2 text-sm\"><input type=\"checkbox\" class=\"size-4 rounded border-input\"/> <span>Read</span></label> <label class=\"flex items-center gap-2 rounded-md border border-border/60 bg-background px-3 py-2 text-sm\"><input type=\"checkbox\" class=\"size-4 rounded border-input\"/> <span>Edit</span></label> <label class=\"flex items-center gap-2 rounded-md border border-border/60 bg-background px-3 py-2 text-sm\"><input type=\"checkbox\" class=\"size-4 rounded border-input\"/> <span>Write</span></label></div></div>"), we = x.from_html("<p class=\"text-xs text-muted-foreground\">Save Category API access first, then reopen settings to issue a key.</p>"), Te = x.from_html("<div class=\"rounded-lg border border-primary/30 bg-primary/10 p-3 text-primary\"><p class=\"text-xs font-medium\">Copy now — this raw key is shown once.</p> <code class=\"mt-1 block break-all rounded bg-background/80 p-2 text-xs text-foreground\"> </code> <!></div>"), Ee = x.from_html("<div class=\"flex items-center justify-between gap-3 rounded-md bg-muted/40 px-3 py-2 text-xs\"><span> </span> <div class=\"flex shrink-0 gap-2\"><!> <!></div></div>"), De = x.from_html("<div class=\"space-y-3 rounded-md border border-border/70 p-3\"><div class=\"flex items-center justify-between gap-2\"><div><!><p class=\"text-xs text-muted-foreground\">Keys inherit the saved permissions above.</p></div> <!></div> <!> <!> <div class=\"max-h-48 space-y-2 overflow-y-auto pr-1\"></div></div>"), E = x.from_html("<form class=\"space-y-4\"><div class=\"space-y-2\"><!> <!> <!></div> <div class=\"space-y-2\"><!> <!></div> <!> <!></form>"), Oe = x.from_html("<!> ", 1);
20
- function D(D, O) {
21
- x.push(O, !0);
22
- let k = {
29
+ var _e = x.from_html("<span class=\"font-medium text-foreground\"> </span> ", 1), ve = x.from_html("Delete <span class=\"font-medium text-foreground\"> </span> ", 1), C = x.from_html("<!> <!>", 1), ye = x.from_html("<div class=\"flex items-start gap-3 rounded-lg border border-primary/30 bg-primary/10 p-4\" role=\"status\" aria-live=\"polite\"><!> <div><p class=\"text-sm font-medium text-foreground\"> </p> <p class=\"text-sm text-muted-foreground\"><span class=\"font-medium text-foreground\"> </span> </p></div></div>"), be = x.from_html("<!> Copy API key", 1), xe = x.from_html("<div class=\"rounded-md border border-primary/20 bg-background/80 p-3\"><p class=\"text-xs font-medium text-foreground\">Copy the API key now. It remains available in Settings → API.</p> <code class=\"mt-2 block break-all rounded bg-muted p-2 text-xs text-foreground\"> </code> <!></div>"), w = x.from_html("<p class=\"text-xs text-destructive\" role=\"alert\"> </p>"), Se = x.from_html("<div class=\"space-y-3 rounded-lg border border-primary/30 bg-primary/10 p-4\" role=\"status\" aria-live=\"polite\"><div class=\"flex items-start gap-3\"><!> <div><p class=\"text-sm font-medium text-foreground\">Category created</p> <p class=\"text-sm text-muted-foreground\"> </p></div></div> <!> <!></div>"), Ce = x.from_html("<p id=\"category-dialog-name-error\" class=\"text-xs text-destructive\" role=\"alert\"> </p>"), T = x.from_html("<!> <!> <!>", 1), we = x.from_html("<div class=\"space-y-3 rounded-md border border-border/70 bg-muted/30 p-3\"><div class=\"flex flex-wrap items-center justify-between gap-2\"><!> <div class=\"flex flex-wrap gap-2\"><!> <!></div></div> <div class=\"grid gap-2 sm:grid-cols-3\"><label class=\"flex items-center gap-2 rounded-md border border-border/60 bg-background px-3 py-2 text-sm\"><input type=\"checkbox\" class=\"size-4 rounded border-input\"/> <span>Read</span></label> <label class=\"flex items-center gap-2 rounded-md border border-border/60 bg-background px-3 py-2 text-sm\"><input type=\"checkbox\" class=\"size-4 rounded border-input\"/> <span>Edit</span></label> <label class=\"flex items-center gap-2 rounded-md border border-border/60 bg-background px-3 py-2 text-sm\"><input type=\"checkbox\" class=\"size-4 rounded border-input\"/> <span>Write</span></label></div></div>"), Te = x.from_html("<div class=\"rounded-lg border border-primary/30 bg-primary/10 p-3 text-primary\"><p class=\"text-xs font-medium\">Copy now — this raw key is shown once.</p> <code class=\"mt-1 block break-all rounded bg-background/80 p-2 text-xs text-foreground\"> </code> <!></div>"), Ee = x.from_html("<div class=\"flex items-center justify-between gap-3 rounded-md bg-muted/40 px-3 py-2 text-xs\"><span> </span> <div class=\"flex shrink-0 gap-2\"><!> <!></div></div>"), De = x.from_html("<div class=\"space-y-3 rounded-md border border-border/70 p-3\"><div class=\"flex items-center justify-between gap-2\"><div><!><p class=\"text-xs text-muted-foreground\">The current permissions are saved before the key is issued.</p></div> <!></div> <!> <div class=\"max-h-48 space-y-2 overflow-y-auto pr-1\"></div></div>"), Oe = x.from_html("<form class=\"space-y-4\"><div class=\"space-y-2\"><!> <!> <!></div> <div class=\"space-y-2\"><!> <!></div> <!> <!></form>"), ke = x.from_html("<!> ", 1);
30
+ function E(E, D) {
31
+ x.push(D, !0);
32
+ let O = {
23
33
  Root: de,
24
34
  Content: fe,
25
35
  Item: me,
26
36
  Trigger: pe,
27
37
  Value: he
28
- }, A = ee(), j = x.prop(O, "open", 15, !1), M = x.state(""), N = x.state(null), P = x.state(!1), F = x.state("unavailable"), I = x.state(!1), L = x.state(!1), R = x.state(!1), z = x.state(x.proxy([])), B = x.state(x.proxy({})), V = x.state(null), H = x.state(!1), U = x.state(null), W = x.state(null), G = x.state(null), K = x.derived(() => x.get(V) ? x.get(B)[x.get(V)] : void 0);
29
- async function q(e) {
30
- let t = await oe(A.fetch);
31
- x.set(z, t.keys.filter((t) => se(t.scopes) === e), !0);
38
+ }, k = ee(), A = x.prop(D, "open", 15, !1), j = x.state(""), M = x.state(null), N = x.state(!1), P = x.state("unavailable"), F = x.state(!1), I = x.state(!1), L = x.state(!1), R = x.state(x.proxy([])), z = x.state(x.proxy({})), B = x.state(null), V = x.state(!1), H = x.state(null), U = x.state(null), W = x.state(null), G = x.derived(() => x.get(B) ? x.get(z)[x.get(B)] : void 0);
39
+ async function K(e) {
40
+ let t = await oe(k.fetch);
41
+ x.set(R, t.keys.filter((t) => se(t.scopes) === e), !0);
32
42
  }
33
- async function ke() {
34
- if (O.category?.id) {
35
- x.set(H, !0);
43
+ async function Ae() {
44
+ if (!(!D.category?.id || !D.onSave)) {
45
+ x.set(V, !0), x.set(M, null);
36
46
  try {
37
- let e = await b(O.category.id, void 0, A.fetch);
38
- x.set(B, {
39
- ...x.get(B),
47
+ let e = await ge({
48
+ categoryId: D.category.id,
49
+ draft: {
50
+ name: x.get(q),
51
+ apiMode: X(x.get(P)),
52
+ apiPermissionRead: x.get(F),
53
+ apiPermissionEdit: x.get(I),
54
+ apiPermissionWrite: x.get(L)
55
+ },
56
+ save: async (e) => D.onSave(e),
57
+ issue: async (e) => b(e, void 0, k.fetch)
58
+ });
59
+ x.set(z, {
60
+ ...x.get(z),
40
61
  [e.id]: e.key
41
- }, !0), x.set(V, e.id, !0), await q(O.category.id);
62
+ }, !0), x.set(B, e.id, !0), await K(D.category.id);
42
63
  } catch (e) {
43
- x.set(N, e instanceof Error ? e.message : "Failed to create category API key", !0);
64
+ x.set(M, e instanceof Error ? e.message : "Failed to create category API key", !0);
44
65
  } finally {
45
- x.set(H, !1);
66
+ x.set(V, !1);
46
67
  }
47
68
  }
48
69
  }
49
- async function Ae(e) {
50
- if (O.category?.id) {
51
- x.set(H, !0);
70
+ async function je(e) {
71
+ if (D.category?.id) {
72
+ x.set(V, !0);
52
73
  try {
53
- await le(e, A.fetch);
54
- let { [e]: t, ...n } = x.get(B);
55
- x.set(B, n, !0), x.get(V) === e && x.set(V, null), await q(O.category.id);
74
+ await le(e, k.fetch);
75
+ let { [e]: t, ...n } = x.get(z);
76
+ x.set(z, n, !0), x.get(B) === e && x.set(B, null), await K(D.category.id);
56
77
  } finally {
57
- x.set(H, !1);
78
+ x.set(V, !1);
58
79
  }
59
80
  }
60
81
  }
61
- async function je(e) {
62
- let t = x.get(B)[e.id] ?? await ce(e.id, A.fetch);
82
+ async function Me(e) {
83
+ let t = x.get(z)[e.id] ?? await ce(e.id, k.fetch);
63
84
  await navigator.clipboard.writeText(ue(e, t));
64
85
  }
65
86
  x.user_effect(() => {
66
- if (!j()) return;
67
- x.set(M, O.category?.name ?? "", !0);
68
- let e = O.category?.apiMode === "category" ? "category" : O.category?.apiMode === "global" ? "global" : "unavailable";
69
- x.set(F, e, !0), x.set(I, !!O.category?.apiPermissionRead, !0), x.set(L, !!O.category?.apiPermissionEdit, !0), x.set(R, !!O.category?.apiPermissionWrite, !0), e === "unavailable" && (x.set(I, !1), x.set(L, !1), x.set(R, !1)), x.set(B, {}, !0), x.set(V, null), x.set(z, [], !0), x.set(U, null), x.set(W, null), x.set(G, null), O.mode === "edit" && O.category?.id && q(O.category.id), x.set(N, null);
87
+ if (!A()) return;
88
+ x.set(j, D.category?.name ?? "", !0);
89
+ let e = D.category?.apiMode === "category" ? "category" : D.category?.apiMode === "global" ? "global" : "unavailable";
90
+ x.set(P, e, !0), x.set(F, !!D.category?.apiPermissionRead, !0), x.set(I, !!D.category?.apiPermissionEdit, !0), x.set(L, !!D.category?.apiPermissionWrite, !0), e === "unavailable" && (x.set(F, !1), x.set(I, !1), x.set(L, !1)), x.set(z, {}, !0), x.set(B, null), x.set(R, [], !0), x.set(H, null), x.set(U, null), x.set(W, null), D.mode === "edit" && D.category?.id && K(D.category.id), x.set(M, null);
70
91
  });
71
- let J = x.derived(() => x.get(M).trim()), Y = x.derived(() => O.mode === "delete"), Me = x.derived(() => x.get(I) || x.get(L) || x.get(R)), Ne = x.derived(() => x.get(G) ? l() : x.get(Y) ? a() : O.mode === "edit" ? i() : r()), X = x.derived(() => x.get(Y) ? f() : O.mode === "edit" ? u() : s());
72
- function Pe(e) {
92
+ let q = x.derived(() => x.get(j).trim()), J = x.derived(() => D.mode === "delete"), Y = x.derived(() => x.get(F) || x.get(I) || x.get(L)), Ne = x.derived(() => x.get(W) ? l() : x.get(J) ? a() : D.mode === "edit" ? i() : r()), Pe = x.derived(() => x.get(J) ? f() : D.mode === "edit" ? u() : s());
93
+ function X(e) {
73
94
  return e === "category" ? "category" : e === "global" ? "global" : "unavailable";
74
95
  }
75
96
  function Z(e) {
76
97
  if (e === "read") {
77
- x.set(I, !0), x.set(L, !1), x.set(R, !1);
98
+ x.set(F, !0), x.set(I, !1), x.set(L, !1);
78
99
  return;
79
100
  }
80
101
  if (e === "write") {
81
- x.set(I, !1), x.set(L, !1), x.set(R, !0);
102
+ x.set(F, !1), x.set(I, !1), x.set(L, !0);
82
103
  return;
83
104
  }
84
105
  if (e === "read-write") {
85
- x.set(I, !0), x.set(L, !1), x.set(R, !0);
106
+ x.set(F, !0), x.set(I, !1), x.set(L, !0);
86
107
  return;
87
108
  }
88
- x.set(I, !0), x.set(L, !0), x.set(R, !0);
109
+ x.set(F, !0), x.set(I, !0), x.set(L, !0);
89
110
  }
90
111
  async function Q(e) {
91
- if (e?.preventDefault(), !x.get(P)) {
92
- if (x.get(Y)) {
93
- if (!O.onDelete) {
112
+ if (e?.preventDefault(), !x.get(N)) {
113
+ if (x.get(J)) {
114
+ if (!D.onDelete) {
94
115
  $();
95
116
  return;
96
117
  }
97
- x.set(P, !0);
118
+ x.set(N, !0);
98
119
  try {
99
- await O.onDelete(), x.set(G, O.category?.name ?? "Category", !0);
120
+ await D.onDelete(), x.set(W, D.category?.name ?? "Category", !0);
100
121
  } catch (e) {
101
- console.error("CategoryDialog: delete failed", e), x.set(N, e instanceof Error ? e.message : m(), !0);
122
+ console.error("CategoryDialog: delete failed", e), x.set(M, e instanceof Error ? e.message : m(), !0);
102
123
  } finally {
103
- x.set(P, !1);
124
+ x.set(N, !1);
104
125
  }
105
126
  return;
106
127
  }
107
- if (x.get(J).length === 0) {
108
- x.set(N, "Name is required");
128
+ if (x.get(q).length === 0) {
129
+ x.set(M, "Name is required");
109
130
  return;
110
131
  }
111
- if (x.get(F) !== "unavailable" && !x.get(Me)) {
112
- x.set(N, "Select at least one permission");
132
+ if (x.get(P) !== "unavailable" && !x.get(Y)) {
133
+ x.set(M, "Select at least one permission");
113
134
  return;
114
135
  }
115
- if (!O.onSave) {
136
+ if (!D.onSave) {
116
137
  $();
117
138
  return;
118
139
  }
119
- x.set(N, null), x.set(P, !0);
140
+ x.set(M, null), x.set(N, !0);
120
141
  try {
121
- let e = await O.onSave({
122
- name: x.get(J),
123
- apiMode: Pe(x.get(F)),
124
- apiPermissionRead: x.get(F) === "unavailable" ? !1 : x.get(I),
125
- apiPermissionEdit: x.get(F) === "unavailable" ? !1 : x.get(L),
126
- apiPermissionWrite: x.get(F) === "unavailable" ? !1 : x.get(R)
142
+ let e = await D.onSave({
143
+ name: x.get(q),
144
+ apiMode: X(x.get(P)),
145
+ apiPermissionRead: x.get(P) === "unavailable" ? !1 : x.get(F),
146
+ apiPermissionEdit: x.get(P) === "unavailable" ? !1 : x.get(I),
147
+ apiPermissionWrite: x.get(P) === "unavailable" ? !1 : x.get(L)
127
148
  });
128
- if (O.mode === "create" && e) {
129
- if (x.set(U, e.name, !0), x.get(F) === "category") try {
130
- let t = await b(e.id, void 0, A.fetch);
131
- x.set(W, t.key, !0);
149
+ if (D.mode === "create" && e) {
150
+ if (x.set(H, e.name, !0), x.get(P) === "category") try {
151
+ let t = await b(e.id, void 0, k.fetch);
152
+ x.set(U, t.key, !0);
132
153
  } catch (e) {
133
- x.set(N, `Category created, but its API key could not be created: ${S(e, "Unknown error")}`);
154
+ x.set(M, `Category created, but its API key could not be created: ${S(e, "Unknown error")}`);
134
155
  }
135
156
  return;
136
157
  }
137
158
  $();
138
159
  } catch (e) {
139
- console.error("CategoryDialog: save failed", e), x.set(N, S(e, O.mode === "edit" ? g() : o()), !0);
160
+ console.error("CategoryDialog: save failed", e), x.set(M, S(e, D.mode === "edit" ? g() : o()), !0);
140
161
  } finally {
141
- x.set(P, !1);
162
+ x.set(N, !1);
142
163
  }
143
164
  }
144
165
  }
145
166
  function $() {
146
- x.get(P) || (j(!1), O.onClose?.());
167
+ x.get(N) || (A(!1), D.onClose?.());
147
168
  }
148
169
  function Fe(e) {
149
- if (!e && x.get(P)) {
150
- j(!0);
170
+ if (!e && x.get(N)) {
171
+ A(!0);
151
172
  return;
152
173
  }
153
174
  e || $();
154
175
  }
155
- te(D, {
176
+ te(E, {
156
177
  onOpenChange: Fe,
157
178
  get open() {
158
- return j();
179
+ return A();
159
180
  },
160
181
  set open(e) {
161
- j(e);
182
+ A(e);
162
183
  },
163
184
  children: (r, i) => {
164
185
  var a = T(), o = x.first_child(a);
@@ -176,11 +197,11 @@ function D(D, O) {
176
197
  var i = x.sibling(r, 2), a = (e) => {
177
198
  _(e, {
178
199
  children: (e, t) => {
179
- var n = ge(), r = x.first_child(n), i = x.child(r);
200
+ var n = _e(), r = x.first_child(n), i = x.child(r);
180
201
  x.reset(r);
181
202
  var a = x.sibling(r);
182
203
  x.template_effect((e) => {
183
- x.set_text(i, `“${x.get(G) ?? ""}”`), x.set_text(a, ` ${e ?? ""}`);
204
+ x.set_text(i, `“${x.get(W) ?? ""}”`), x.set_text(a, ` ${e ?? ""}`);
184
205
  }, [() => d()]), x.append(e, n);
185
206
  },
186
207
  $$slots: { default: !0 }
@@ -189,11 +210,11 @@ function D(D, O) {
189
210
  _(e, {
190
211
  children: (e, t) => {
191
212
  x.next();
192
- var n = _e(), r = x.sibling(x.first_child(n)), i = x.child(r);
213
+ var n = ve(), r = x.sibling(x.first_child(n)), i = x.child(r);
193
214
  x.reset(r);
194
215
  var a = x.sibling(r);
195
216
  x.template_effect((e) => {
196
- x.set_text(i, `“${O.category?.name ?? "Category" ?? ""}”`), x.set_text(a, `?
217
+ x.set_text(i, `“${D.category?.name ?? "Category" ?? ""}”`), x.set_text(a, `?
197
218
  ${e ?? ""}`);
198
219
  }, [() => c()]), x.append(e, n);
199
220
  },
@@ -210,13 +231,13 @@ function D(D, O) {
210
231
  });
211
232
  };
212
233
  x.if(i, (e) => {
213
- x.get(G) ? e(a) : x.get(Y) ? e(o, 1) : e(s, -1);
234
+ x.get(W) ? e(a) : x.get(J) ? e(o, 1) : e(s, -1);
214
235
  }), x.append(e, n);
215
236
  },
216
237
  $$slots: { default: !0 }
217
238
  });
218
239
  var s = x.sibling(o, 2), u = (e) => {
219
- var n = ve(), r = x.child(n);
240
+ var n = ye(), r = x.child(n);
220
241
  t(r, { class: "mt-0.5 size-5 shrink-0 text-primary" });
221
242
  var i = x.sibling(r, 2), a = x.child(i), o = x.child(a, !0);
222
243
  x.reset(a);
@@ -224,40 +245,40 @@ function D(D, O) {
224
245
  x.reset(c);
225
246
  var f = x.sibling(c);
226
247
  x.reset(s), x.reset(i), x.reset(n), x.template_effect((e, t) => {
227
- x.set_text(o, e), x.set_text(u, `“${x.get(G) ?? ""}”`), x.set_text(f, ` ${t ?? ""}`);
248
+ x.set_text(o, e), x.set_text(u, `“${x.get(W) ?? ""}”`), x.set_text(f, ` ${t ?? ""}`);
228
249
  }, [() => l(), () => d()]), x.append(e, n);
229
250
  }, f = (n) => {
230
- var r = xe(), i = x.child(r), a = x.child(i);
251
+ var r = Se(), i = x.child(r), a = x.child(i);
231
252
  t(a, { class: "mt-0.5 size-5 shrink-0 text-primary" });
232
253
  var o = x.sibling(a, 2), s = x.sibling(x.child(o), 2), c = x.child(s);
233
254
  x.reset(s), x.reset(o), x.reset(i);
234
255
  var l = x.sibling(i, 2), u = (t) => {
235
- var n = be(), r = x.sibling(x.child(n), 2), i = x.child(r, !0);
256
+ var n = xe(), r = x.sibling(x.child(n), 2), i = x.child(r, !0);
236
257
  x.reset(r), v(x.sibling(r, 2), {
237
258
  type: "button",
238
259
  size: "sm",
239
260
  variant: "outline",
240
261
  class: "mt-2",
241
- onclick: () => navigator.clipboard.writeText(x.get(W) ?? ""),
262
+ onclick: () => navigator.clipboard.writeText(x.get(U) ?? ""),
242
263
  children: (t, n) => {
243
- var r = ye();
264
+ var r = be();
244
265
  e(x.first_child(r), { class: "mr-1 size-3.5" }), x.next(), x.append(t, r);
245
266
  },
246
267
  $$slots: { default: !0 }
247
- }), x.reset(n), x.template_effect(() => x.set_text(i, x.get(W))), x.append(t, n);
268
+ }), x.reset(n), x.template_effect(() => x.set_text(i, x.get(U))), x.append(t, n);
248
269
  };
249
270
  x.if(l, (e) => {
250
- x.get(W) && e(u);
271
+ x.get(U) && e(u);
251
272
  });
252
273
  var d = x.sibling(l, 2), f = (e) => {
253
274
  var t = w(), n = x.child(t, !0);
254
- x.reset(t), x.template_effect(() => x.set_text(n, x.get(N))), x.append(e, t);
275
+ x.reset(t), x.template_effect(() => x.set_text(n, x.get(M))), x.append(e, t);
255
276
  };
256
277
  x.if(d, (e) => {
257
- x.get(N) && e(f);
258
- }), x.reset(r), x.template_effect(() => x.set_text(c, `${x.get(U) ?? ""} is ready to use.`)), x.append(n, r);
278
+ x.get(M) && e(f);
279
+ }), x.reset(r), x.template_effect(() => x.set_text(c, `${x.get(H) ?? ""} is ready to use.`)), x.append(n, r);
259
280
  }, m = (e) => {
260
- var t = E(), n = x.child(t), r = x.child(n);
281
+ var t = Oe(), n = x.child(t), r = x.child(n);
261
282
  y(r, {
262
283
  for: "category-dialog-name",
263
284
  children: (e, t) => {
@@ -269,7 +290,7 @@ function D(D, O) {
269
290
  });
270
291
  var i = x.sibling(r, 2);
271
292
  {
272
- let e = x.derived(() => h()), t = x.derived(() => x.get(N) ? "true" : void 0), n = x.derived(() => x.get(N) ? "category-dialog-name-error" : void 0);
293
+ let e = x.derived(() => h()), t = x.derived(() => x.get(M) ? "true" : void 0), n = x.derived(() => x.get(M) ? "category-dialog-name-error" : void 0);
273
294
  ae(i, {
274
295
  id: "category-dialog-name",
275
296
  name: "name",
@@ -280,7 +301,7 @@ function D(D, O) {
280
301
  maxlength: 255,
281
302
  required: !0,
282
303
  get disabled() {
283
- return x.get(P);
304
+ return x.get(N);
284
305
  },
285
306
  get "aria-invalid"() {
286
307
  return x.get(t);
@@ -290,19 +311,19 @@ function D(D, O) {
290
311
  },
291
312
  autocomplete: "off",
292
313
  get value() {
293
- return x.get(M);
314
+ return x.get(j);
294
315
  },
295
316
  set value(e) {
296
- x.set(M, e, !0);
317
+ x.set(j, e, !0);
297
318
  }
298
319
  });
299
320
  }
300
321
  var a = x.sibling(i, 2), o = (e) => {
301
- var t = Se(), n = x.child(t, !0);
302
- x.reset(t), x.template_effect(() => x.set_text(n, x.get(N))), x.append(e, t);
322
+ var t = Ce(), n = x.child(t, !0);
323
+ x.reset(t), x.template_effect(() => x.set_text(n, x.get(M))), x.append(e, t);
303
324
  };
304
325
  x.if(a, (e) => {
305
- x.get(N) && e(o);
326
+ x.get(M) && e(o);
306
327
  }), x.reset(n);
307
328
  var s = x.sibling(n, 2), c = x.child(s);
308
329
  y(c, {
@@ -315,33 +336,33 @@ function D(D, O) {
315
336
  $$slots: { default: !0 }
316
337
  });
317
338
  var l = x.sibling(c, 2);
318
- x.component(l, () => k.Root, (e, t) => {
339
+ x.component(l, () => O.Root, (e, t) => {
319
340
  t(e, {
320
341
  type: "single",
321
342
  get value() {
322
- return x.get(F);
343
+ return x.get(P);
323
344
  },
324
345
  get disabled() {
325
- return x.get(P);
346
+ return x.get(N);
326
347
  },
327
348
  onValueChange: (e) => {
328
- (e === "unavailable" || e === "global" || e === "category") && x.set(F, e, !0);
349
+ (e === "unavailable" || e === "global" || e === "category") && x.set(P, e, !0);
329
350
  },
330
351
  children: (e, t) => {
331
352
  var n = C(), r = x.first_child(n);
332
- x.component(r, () => k.Trigger, (e, t) => {
353
+ x.component(r, () => O.Trigger, (e, t) => {
333
354
  t(e, {
334
355
  id: "category-dialog-api-mode",
335
356
  class: "h-10 w-full",
336
357
  children: (e, t) => {
337
358
  var n = x.comment(), r = x.first_child(n);
338
- x.component(r, () => k.Value, (e, t) => {
359
+ x.component(r, () => O.Value, (e, t) => {
339
360
  t(e, {
340
361
  placeholder: "Select API access",
341
362
  children: (e, t) => {
342
363
  x.next();
343
364
  var n = x.text();
344
- x.template_effect(() => x.set_text(n, x.get(F) === "unavailable" ? "Unavailable" : x.get(F) === "global" ? "Global" : "Category API")), x.append(e, n);
365
+ x.template_effect(() => x.set_text(n, x.get(P) === "unavailable" ? "Unavailable" : x.get(P) === "global" ? "Global" : "Category API")), x.append(e, n);
345
366
  },
346
367
  $$slots: { default: !0 }
347
368
  });
@@ -351,11 +372,11 @@ function D(D, O) {
351
372
  });
352
373
  });
353
374
  var i = x.sibling(r, 2);
354
- x.component(i, () => k.Content, (e, t) => {
375
+ x.component(i, () => O.Content, (e, t) => {
355
376
  t(e, {
356
377
  children: (e, t) => {
357
378
  var n = T(), r = x.first_child(n);
358
- x.component(r, () => k.Item, (e, t) => {
379
+ x.component(r, () => O.Item, (e, t) => {
359
380
  t(e, {
360
381
  value: "unavailable",
361
382
  children: (e, t) => {
@@ -367,7 +388,7 @@ function D(D, O) {
367
388
  });
368
389
  });
369
390
  var i = x.sibling(r, 2);
370
- x.component(i, () => k.Item, (e, t) => {
391
+ x.component(i, () => O.Item, (e, t) => {
371
392
  t(e, {
372
393
  value: "global",
373
394
  children: (e, t) => {
@@ -379,7 +400,7 @@ function D(D, O) {
379
400
  });
380
401
  });
381
402
  var a = x.sibling(i, 2);
382
- x.component(a, () => k.Item, (e, t) => {
403
+ x.component(a, () => O.Item, (e, t) => {
383
404
  t(e, {
384
405
  value: "category",
385
406
  children: (e, t) => {
@@ -399,7 +420,7 @@ function D(D, O) {
399
420
  });
400
421
  }), x.reset(s);
401
422
  var u = x.sibling(s, 2), d = (e) => {
402
- var t = Ce(), n = x.child(t), r = x.child(n);
423
+ var t = we(), n = x.child(t), r = x.child(n);
403
424
  y(r, {
404
425
  class: "text-sm",
405
426
  children: (e, t) => {
@@ -439,11 +460,11 @@ function D(D, O) {
439
460
  x.remove_input_defaults(u), x.next(2), x.reset(l);
440
461
  var d = x.sibling(l, 2), f = x.child(d);
441
462
  x.remove_input_defaults(f), x.next(2), x.reset(d), x.reset(o), x.reset(t), x.template_effect(() => {
442
- c.disabled = x.get(P), u.disabled = x.get(P), f.disabled = x.get(P);
443
- }), x.bind_checked(c, () => x.get(I), (e) => x.set(I, e)), x.bind_checked(u, () => x.get(L), (e) => x.set(L, e)), x.bind_checked(f, () => x.get(R), (e) => x.set(R, e)), x.append(e, t);
463
+ c.disabled = x.get(N), u.disabled = x.get(N), f.disabled = x.get(N);
464
+ }), x.bind_checked(c, () => x.get(F), (e) => x.set(F, e)), x.bind_checked(u, () => x.get(I), (e) => x.set(I, e)), x.bind_checked(f, () => x.get(L), (e) => x.set(L, e)), x.append(e, t);
444
465
  };
445
466
  x.if(u, (e) => {
446
- x.get(F) !== "unavailable" && e(d);
467
+ x.get(P) !== "unavailable" && e(d);
447
468
  });
448
469
  var f = x.sibling(u, 2), p = (e) => {
449
470
  var t = De(), n = x.child(t), r = x.child(n);
@@ -457,11 +478,11 @@ function D(D, O) {
457
478
  }), x.next(), x.reset(r);
458
479
  var i = x.sibling(r, 2);
459
480
  {
460
- let e = x.derived(() => x.get(P) || x.get(H) || O.category.apiMode !== "category");
481
+ let e = x.derived(() => x.get(N) || x.get(V) || !x.get(q) || !x.get(Y));
461
482
  v(i, {
462
483
  type: "button",
463
484
  size: "sm",
464
- onclick: ke,
485
+ onclick: Ae,
465
486
  get disabled() {
466
487
  return x.get(e);
467
488
  },
@@ -475,50 +496,43 @@ function D(D, O) {
475
496
  }
476
497
  x.reset(n);
477
498
  var a = x.sibling(n, 2), o = (e) => {
478
- var t = we();
479
- x.append(e, t);
480
- };
481
- x.if(a, (e) => {
482
- O.category.apiMode !== "category" && e(o);
483
- });
484
- var s = x.sibling(a, 2), c = (e) => {
485
499
  var t = Te(), n = x.sibling(x.child(t), 2), r = x.child(n, !0);
486
500
  x.reset(n), v(x.sibling(n, 2), {
487
501
  type: "button",
488
502
  size: "sm",
489
503
  variant: "outline",
490
504
  class: "mt-2",
491
- onclick: () => navigator.clipboard.writeText(x.get(K)),
505
+ onclick: () => navigator.clipboard.writeText(x.get(G)),
492
506
  children: (e, t) => {
493
507
  x.next();
494
508
  var n = x.text("Copy key");
495
509
  x.append(e, n);
496
510
  },
497
511
  $$slots: { default: !0 }
498
- }), x.reset(t), x.template_effect(() => x.set_text(r, x.get(K))), x.append(e, t);
512
+ }), x.reset(t), x.template_effect(() => x.set_text(r, x.get(G))), x.append(e, t);
499
513
  };
500
- x.if(s, (e) => {
501
- x.get(K) && e(c);
514
+ x.if(a, (e) => {
515
+ x.get(G) && e(o);
502
516
  });
503
- var l = x.sibling(s, 2);
504
- x.each(l, 21, () => x.get(z), (e) => e.id, (e, t) => {
517
+ var s = x.sibling(a, 2);
518
+ x.each(s, 21, () => x.get(R), (e) => e.id, (e, t) => {
505
519
  var n = Ee(), r = x.child(n), i = x.child(r);
506
520
  x.reset(r);
507
521
  var a = x.sibling(r, 2), o = x.child(a);
508
522
  {
509
- let e = x.derived(() => !x.get(t).recoverable && !x.get(B)[x.get(t).id]);
523
+ let e = x.derived(() => !x.get(t).recoverable && !x.get(z)[x.get(t).id]);
510
524
  v(o, {
511
525
  type: "button",
512
526
  size: "sm",
513
527
  variant: "outline",
514
- onclick: () => je(x.get(t)),
528
+ onclick: () => Me(x.get(t)),
515
529
  get disabled() {
516
530
  return x.get(e);
517
531
  },
518
532
  children: (e, n) => {
519
533
  x.next();
520
534
  var r = x.text();
521
- x.template_effect(() => x.set_text(r, x.get(t).recoverable || x.get(B)[x.get(t).id] ? "Copy key" : "Rotate to enable copy")), x.append(e, r);
535
+ x.template_effect(() => x.set_text(r, x.get(t).recoverable || x.get(z)[x.get(t).id] ? "Copy key" : "Rotate to enable copy")), x.append(e, r);
522
536
  },
523
537
  $$slots: { default: !0 }
524
538
  });
@@ -527,9 +541,9 @@ function D(D, O) {
527
541
  type: "button",
528
542
  size: "sm",
529
543
  variant: "destructive",
530
- onclick: () => Ae(x.get(t).id),
544
+ onclick: () => je(x.get(t).id),
531
545
  get disabled() {
532
- return x.get(H);
546
+ return x.get(V);
533
547
  },
534
548
  children: (e, t) => {
535
549
  x.next();
@@ -538,17 +552,17 @@ function D(D, O) {
538
552
  },
539
553
  $$slots: { default: !0 }
540
554
  }), x.reset(a), x.reset(n), x.template_effect(() => x.set_text(i, `${x.get(t).name ?? ""} · ${x.get(t).prefix ?? ""}…`)), x.append(e, n);
541
- }), x.reset(l), x.reset(t), x.append(e, t);
555
+ }), x.reset(s), x.reset(t), x.append(e, t);
542
556
  };
543
557
  x.if(f, (e) => {
544
- O.mode === "edit" && x.get(F) === "category" && O.category?.id && e(p);
558
+ D.mode === "edit" && x.get(P) === "category" && D.category?.id && e(p);
545
559
  }), x.reset(t), x.event("submit", t, Q), x.append(e, t);
546
560
  }, g = (e) => {
547
561
  var t = w(), n = x.child(t, !0);
548
- x.reset(t), x.template_effect(() => x.set_text(n, x.get(N))), x.append(e, t);
562
+ x.reset(t), x.template_effect(() => x.set_text(n, x.get(M))), x.append(e, t);
549
563
  };
550
564
  x.if(s, (e) => {
551
- x.get(G) ? e(u) : x.get(U) ? e(f, 1) : x.get(Y) ? x.get(N) && e(g, 3) : e(m, 2);
565
+ x.get(W) ? e(u) : x.get(H) ? e(f, 1) : x.get(J) ? x.get(M) && e(g, 3) : e(m, 2);
552
566
  }), re(x.sibling(s, 2), {
553
567
  class: "gap-2 max-sm:flex-col max-sm:items-stretch",
554
568
  children: (e, t) => {
@@ -558,7 +572,7 @@ function D(D, O) {
558
572
  type: "button",
559
573
  onclick: $,
560
574
  get disabled() {
561
- return x.get(P);
575
+ return x.get(N);
562
576
  },
563
577
  children: (e, t) => {
564
578
  x.next();
@@ -569,11 +583,11 @@ function D(D, O) {
569
583
  });
570
584
  };
571
585
  x.if(i, (e) => {
572
- !x.get(U) && !x.get(G) && e(a);
586
+ !x.get(H) && !x.get(W) && e(a);
573
587
  });
574
588
  var o = x.sibling(i, 2);
575
589
  {
576
- let e = x.derived(() => x.get(Y) ? "button" : "submit"), t = x.derived(() => x.get(Y) ? "destructive" : "default"), r = x.derived(() => x.get(U) || x.get(G) ? $ : Q), i = x.derived(() => x.get(P) || !x.get(Y) && !x.get(U) && !x.get(G) && x.get(J).length === 0);
590
+ let e = x.derived(() => x.get(J) ? "button" : "submit"), t = x.derived(() => x.get(J) ? "destructive" : "default"), r = x.derived(() => x.get(H) || x.get(W) ? $ : Q), i = x.derived(() => x.get(N) || !x.get(J) && !x.get(H) && !x.get(W) && x.get(q).length === 0);
577
591
  v(o, {
578
592
  get type() {
579
593
  return x.get(e);
@@ -588,14 +602,14 @@ function D(D, O) {
588
602
  return x.get(i);
589
603
  },
590
604
  children: (e, t) => {
591
- var r = Oe(), i = x.first_child(r), a = (e) => {
605
+ var r = ke(), i = x.first_child(r), a = (e) => {
592
606
  n(e, { class: "mr-1 size-4 animate-spin" });
593
607
  };
594
608
  x.if(i, (e) => {
595
- x.get(P) && e(a);
609
+ x.get(N) && e(a);
596
610
  });
597
611
  var o = x.sibling(i);
598
- x.template_effect(() => x.set_text(o, ` ${(x.get(U) || x.get(G) ? "Done" : x.get(X)) ?? ""}`)), x.append(e, r);
612
+ x.template_effect(() => x.set_text(o, ` ${(x.get(H) || x.get(W) ? "Done" : x.get(Pe)) ?? ""}`)), x.append(e, r);
599
613
  },
600
614
  $$slots: { default: !0 }
601
615
  });
@@ -609,4 +623,4 @@ function D(D, O) {
609
623
  }), x.pop();
610
624
  }
611
625
  //#endregion
612
- export { D as t };
626
+ export { E as t };