@hiai-gg/docsmint 0.3.9 → 0.4.1

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 (43) hide show
  1. package/dist/backend/index.js +1 -1
  2. package/dist/frontend/FolderNode--l1g8bcL.js +298 -0
  3. package/dist/frontend/{SettingsDialog-BHh68rTB.js → SettingsDialog-LyZUxxku.js} +132 -132
  4. package/dist/frontend/Sidebar-BsJsD1mJ.js +2021 -0
  5. package/dist/frontend/api/categories.js +1 -1
  6. package/dist/frontend/api/documents.js +1 -1
  7. package/dist/frontend/api/folders.js +1 -1
  8. package/dist/frontend/app-shell.d.ts +10 -2
  9. package/dist/frontend/app-shell.js +118 -111
  10. package/dist/frontend/{categories-izQovv2w.js → categories-Drnns7N6.js} +14 -14
  11. package/dist/frontend/components/folder-node.js +1 -1
  12. package/dist/frontend/components/save-as-dialog.js +2 -2
  13. package/dist/frontend/components/settings.js +1 -1
  14. package/dist/frontend/components/sidebar.js +1 -1
  15. package/dist/frontend/dashboard.js +524 -522
  16. package/dist/frontend/{documents-BsDkvzCm.js → documents-Bc7b_MSZ.js} +15 -15
  17. package/dist/frontend/{folders-CTuV_JtU.js → folders-ONG03Dkv.js} +10 -10
  18. package/dist/frontend/route-context-BqQQ5c4i.js +29 -0
  19. package/dist/frontend/search.js +309 -309
  20. package/dist/frontend/{tag-store.svelte-CqrUXo0o.js → tag-store.svelte-CG7RrlDT.js} +1 -1
  21. package/dist/frontend-ssr/api/categories.js +1 -1
  22. package/dist/frontend-ssr/api/documents.js +1 -1
  23. package/dist/frontend-ssr/api/folders.js +1 -1
  24. package/dist/frontend-ssr/app-shell.js +12 -3
  25. package/dist/frontend-ssr/assets/{FolderNode-BZ0Q2QUS.js → FolderNode-CpHrpOED.js} +5 -3
  26. package/dist/frontend-ssr/assets/{SettingsDialog-B8L_YqNA.js → SettingsDialog-Dg97vv83.js} +4 -3
  27. package/dist/frontend-ssr/assets/{Sidebar-EHuUAx3W.js → Sidebar-CrDk_HYY.js} +28 -24
  28. package/dist/frontend-ssr/assets/{categories-AOqgcsn4.js → categories-CTCtdv7V.js} +10 -10
  29. package/dist/frontend-ssr/assets/{documents-BnOTRdTY.js → documents-PObdTOiT.js} +8 -8
  30. package/dist/frontend-ssr/assets/{folders-CTfbS24J.js → folders-BX30gHv6.js} +10 -10
  31. package/dist/frontend-ssr/assets/route-context-uca_b2Px.js +36 -0
  32. package/dist/frontend-ssr/assets/{tag-store.svelte-DPodKj6Z.js → tag-store.svelte-DvgUduhd.js} +1 -1
  33. package/dist/frontend-ssr/components/folder-node.js +1 -1
  34. package/dist/frontend-ssr/components/save-as-dialog.js +1 -1
  35. package/dist/frontend-ssr/components/settings.js +1 -1
  36. package/dist/frontend-ssr/components/sidebar.js +1 -1
  37. package/dist/frontend-ssr/dashboard.js +32 -24
  38. package/dist/frontend-ssr/search.js +6 -4
  39. package/package.json +1 -1
  40. package/packages/cli/src/index.ts +1 -1
  41. package/packages/mcp-server/src/index.ts +1 -1
  42. package/dist/frontend/FolderNode-C6FJv99G.js +0 -298
  43. package/dist/frontend/Sidebar-Cu3JrKDC.js +0 -2021
@@ -214237,7 +214237,7 @@ var swaggerConfig = {
214237
214237
  documentation: {
214238
214238
  info: {
214239
214239
  title: "DocsMint API",
214240
- version: "0.3.9",
214240
+ version: "0.4.1",
214241
214241
  description: "Self-hosted AI-first documentation platform. Full-text + semantic search, version history, sharing, and folder organization.",
214242
214242
  contact: { name: "HiAi-gg", url: "https://github.com/HiAi-gg/docsmint" },
214243
214243
  license: {
@@ -0,0 +1,298 @@
1
+ import { n as e, t } from "./folder-DeWhnD7O.js";
2
+ import { a as n, i as r, o as i, r as a, t as o } from "./dropdown-menu-CRSby3e9.js";
3
+ import { Gt as s, Ni as c, Yn as l, _i as u, mi as ee, pi as te, wi as d } from "./messages-C5Q890i2.js";
4
+ import { n as f, r as p, t as m } from "./route-context-BqQQ5c4i.js";
5
+ import { t as h } from "./utils-DrfHTcei.js";
6
+ import { t as g } from "./dndzone-BzsOINtP.js";
7
+ import { s as _ } from "./folders-ONG03Dkv.js";
8
+ import { l as v, p as y } from "./subfolders-refresh-store.svelte-B2dKVmgz.js";
9
+ import "svelte/internal/disclose-version";
10
+ import * as b from "svelte/internal/client";
11
+ import { page as ne } from "$app/state";
12
+ import { flip as x } from "svelte/animate";
13
+ //#region src/lib/components/sidebar/FolderNode.svelte
14
+ var S = b.from_html("<button><!></button>"), C = b.from_html("<!> <!> <!> <!> <!> <!>", 1), w = b.from_html("<!> <!>", 1), T = b.from_html("<div><!></div>"), E = b.from_html("<p class=\"px-2 py-1 text-xs text-muted-foreground\">Loading subfolders…</p>"), D = b.from_html("<p class=\"px-2 py-1 text-xs text-destructive\"> </p>"), O = b.from_html("<div class=\"group/doc flex w-full min-w-0 items-center gap-1\"><!> <!> <!></div>"), k = b.from_html("<div class=\"ml-0.5 space-y-0.5 border-l border-border pl-0.5\"><div><!> <!> <!></div> <div></div></div>"), re = b.from_html("<div role=\"group\"><div class=\"group/folder flex w-full min-w-0 items-center gap-1\"><button type=\"button\"><!> <!> <span class=\"min-w-0 truncate\"> </span></button> <!></div> <!></div>");
15
+ function A(ie, j) {
16
+ b.push(j, !0);
17
+ let M = f(), ae = m(), N = b.prop(j, "depth", 3, 0), P = b.prop(j, "isDraggingFolder", 3, !1), F = b.prop(j, "isDraggingDoc", 3, !1), I = b.prop(j, "draggedDocId", 3, null), L = b.state(b.proxy([])), R = b.state(!1), z = b.state(!1), B = b.state(null), V = b.state(b.proxy([])), H = b.derived(() => j.expandedFolderIds.has(j.folder.id)), U = b.derived(() => j.folderDocsMap[j.folder.id] ?? []);
18
+ async function W() {
19
+ b.set(z, !0), b.set(B, null);
20
+ try {
21
+ let e = await _(j.folder.id, !1, ae.fetch);
22
+ b.set(L, e.map((e) => (y(e.id, e.parentId ?? null, e.categoryId ?? null, e.order ?? 0), {
23
+ id: e.id,
24
+ name: e.name,
25
+ categoryId: e.categoryId ?? null,
26
+ parentId: e.parentId,
27
+ order: e.order ?? 0
28
+ })), !0), b.set(V, b.get(L), !0), b.set(R, !0);
29
+ } catch (e) {
30
+ console.error("FolderNode: failed to load subfolders", e), b.set(B, e instanceof Error ? e.message : "Failed to load subfolders", !0);
31
+ } finally {
32
+ b.set(z, !1);
33
+ }
34
+ }
35
+ function G() {
36
+ let e = b.get(H);
37
+ j.onToggleFolder(j.folder.id), e || W();
38
+ }
39
+ b.user_effect(() => {
40
+ v(j.folder.id) !== 0 && (!b.get(R) && !b.get(H) || W());
41
+ });
42
+ function K(e) {
43
+ e.stopPropagation(), b.set(V, Array.isArray(e.detail.items) ? e.detail.items : [], !0), j.onConsiderSubfolders(j.folder.id)(e);
44
+ }
45
+ function q(e) {
46
+ e.stopPropagation(), b.set(V, Array.isArray(e.detail.items) ? e.detail.items : [], !0), j.onFinalizeSubfolders(j.folder.id)(e);
47
+ }
48
+ var J = re(), Y = b.child(J), X = b.child(Y), Z = b.child(X);
49
+ {
50
+ let t = b.derived(() => h("size-3.5 shrink-0 transition-transform", b.get(H) && "rotate-90"));
51
+ e(Z, { get class() {
52
+ return b.get(t);
53
+ } });
54
+ }
55
+ var Q = b.sibling(Z, 2);
56
+ t(Q, { class: "size-4 shrink-0 text-muted-foreground" });
57
+ var $ = b.sibling(Q, 2), oe = b.child($, !0);
58
+ b.reset($), b.reset(X), n(b.sibling(X, 2), {
59
+ children: (e, t) => {
60
+ var n = w(), f = b.first_child(n);
61
+ o(f, {
62
+ child: (e, t) => {
63
+ let n = () => (t?.()).props;
64
+ var r = S();
65
+ b.attribute_effect(r, (e, t) => ({
66
+ ...n(),
67
+ type: "button",
68
+ class: "inline-flex size-6 shrink-0 items-center justify-center rounded-md text-muted-foreground opacity-0 transition-opacity hover:bg-accent hover:text-accent-foreground group-hover/folder:opacity-100 focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
69
+ "aria-label": e,
70
+ title: t
71
+ }), [() => s(), () => s()]), i(b.child(r), { class: "size-3.5" }), b.reset(r), b.append(e, r);
72
+ },
73
+ $$slots: { child: !0 }
74
+ }), r(b.sibling(f, 2), {
75
+ align: "end",
76
+ children: (e, t) => {
77
+ var n = C(), r = b.first_child(n);
78
+ a(r, {
79
+ onSelect: () => p(M, "/folders/" + j.folder.id),
80
+ children: (e, t) => {
81
+ b.next();
82
+ var n = b.text();
83
+ b.template_effect((e) => b.set_text(n, e), [() => l()]), b.append(e, n);
84
+ },
85
+ $$slots: { default: !0 }
86
+ });
87
+ var i = b.sibling(r, 2);
88
+ a(i, {
89
+ onSelect: () => p(M, `/docs/new?folder=${j.folder.id}`),
90
+ children: (e, t) => {
91
+ b.next();
92
+ var n = b.text();
93
+ b.template_effect((e) => b.set_text(n, e), [() => c()]), b.append(e, n);
94
+ },
95
+ $$slots: { default: !0 }
96
+ });
97
+ var o = b.sibling(i, 2);
98
+ a(o, {
99
+ onSelect: () => j.onCreateSubfolder(j.folder.id),
100
+ children: (e, t) => {
101
+ b.next();
102
+ var n = b.text();
103
+ b.template_effect((e) => b.set_text(n, e), [() => u()]), b.append(e, n);
104
+ },
105
+ $$slots: { default: !0 }
106
+ });
107
+ var s = b.sibling(o, 2);
108
+ a(s, {
109
+ onSelect: () => j.onShare(j.folder.id, j.folder.name),
110
+ children: (e, t) => {
111
+ b.next();
112
+ var n = b.text();
113
+ b.template_effect((e) => b.set_text(n, e), [() => d()]), b.append(e, n);
114
+ },
115
+ $$slots: { default: !0 }
116
+ });
117
+ var f = b.sibling(s, 2);
118
+ a(f, {
119
+ onSelect: () => j.onRename(j.folder.id, j.folder.name),
120
+ children: (e, t) => {
121
+ b.next();
122
+ var n = b.text();
123
+ b.template_effect((e) => b.set_text(n, e), [() => ee()]), b.append(e, n);
124
+ },
125
+ $$slots: { default: !0 }
126
+ }), a(b.sibling(f, 2), {
127
+ class: "text-destructive focus:text-destructive",
128
+ onSelect: () => j.onDelete(j.folder.id, j.folder.name),
129
+ children: (e, t) => {
130
+ b.next();
131
+ var n = b.text();
132
+ b.template_effect((e) => b.set_text(n, e), [() => te()]), b.append(e, n);
133
+ },
134
+ $$slots: { default: !0 }
135
+ }), b.append(e, n);
136
+ },
137
+ $$slots: { default: !0 }
138
+ }), b.append(e, n);
139
+ },
140
+ $$slots: { default: !0 }
141
+ }), b.reset(Y);
142
+ var se = b.sibling(Y, 2), ce = (e) => {
143
+ var t = k(), n = b.child(t), r = b.child(n);
144
+ b.each(r, 25, () => b.get(V), (e) => e.id, (e, t) => {
145
+ let n = b.derived(() => A);
146
+ var r = T(), i = b.child(r);
147
+ {
148
+ let e = b.derived(() => N() + 1);
149
+ b.component(i, () => b.get(n), (n, r) => {
150
+ r(n, {
151
+ get folder() {
152
+ return b.get(t);
153
+ },
154
+ get depth() {
155
+ return b.get(e);
156
+ },
157
+ get folderDocsMap() {
158
+ return j.folderDocsMap;
159
+ },
160
+ get expandedFolderIds() {
161
+ return j.expandedFolderIds;
162
+ },
163
+ get isDraggingGlobal() {
164
+ return j.isDraggingGlobal;
165
+ },
166
+ get isDraggingFolder() {
167
+ return P();
168
+ },
169
+ get isDraggingDoc() {
170
+ return F();
171
+ },
172
+ get dragDisabled() {
173
+ return j.dragDisabled;
174
+ },
175
+ get folderFlipDurationMs() {
176
+ return j.folderFlipDurationMs;
177
+ },
178
+ get documentFlipDurationMs() {
179
+ return j.documentFlipDurationMs;
180
+ },
181
+ get draggedDocId() {
182
+ return I();
183
+ },
184
+ get onToggleFolder() {
185
+ return j.onToggleFolder;
186
+ },
187
+ get onScheduleFolderExpand() {
188
+ return j.onScheduleFolderExpand;
189
+ },
190
+ get onClearExpandTimer() {
191
+ return j.onClearExpandTimer;
192
+ },
193
+ get onRename() {
194
+ return j.onRename;
195
+ },
196
+ get onShare() {
197
+ return j.onShare;
198
+ },
199
+ get onDelete() {
200
+ return j.onDelete;
201
+ },
202
+ get onCreateSubfolder() {
203
+ return j.onCreateSubfolder;
204
+ },
205
+ get onConsiderDocs() {
206
+ return j.onConsiderDocs;
207
+ },
208
+ get onFinalizeDocs() {
209
+ return j.onFinalizeDocs;
210
+ },
211
+ get onConsiderSubfolders() {
212
+ return j.onConsiderSubfolders;
213
+ },
214
+ get onFinalizeSubfolders() {
215
+ return j.onFinalizeSubfolders;
216
+ },
217
+ get onDropOnFolder() {
218
+ return j.onDropOnFolder;
219
+ },
220
+ get docRowInner() {
221
+ return j.docRowInner;
222
+ },
223
+ get copyButton() {
224
+ return j.copyButton;
225
+ },
226
+ get docMenu() {
227
+ return j.docMenu;
228
+ }
229
+ });
230
+ });
231
+ }
232
+ b.reset(r), b.animation(r, () => x, () => ({ duration: j.folderFlipDurationMs })), b.append(e, r);
233
+ });
234
+ var i = b.sibling(r, 2), a = (e) => {
235
+ var t = E();
236
+ b.append(e, t);
237
+ };
238
+ b.if(i, (e) => {
239
+ b.get(z) && e(a);
240
+ });
241
+ var o = b.sibling(i, 2), s = (e) => {
242
+ var t = D(), n = b.child(t, !0);
243
+ b.reset(t), b.template_effect(() => b.set_text(n, b.get(B))), b.append(e, t);
244
+ };
245
+ b.if(o, (e) => {
246
+ b.get(B) && e(s);
247
+ }), b.reset(n), b.action(n, (e, t) => g?.(e, t), () => ({
248
+ items: b.get(V),
249
+ flipDurationMs: j.folderFlipDurationMs,
250
+ type: "folder",
251
+ dropTargetStyle: {},
252
+ dragDisabled: j.dragDisabled
253
+ }));
254
+ var c = b.sibling(n, 2), l = b.derived(() => j.onConsiderDocs({
255
+ kind: "folder",
256
+ id: j.folder.id
257
+ })), u = b.derived(() => j.onFinalizeDocs({
258
+ kind: "folder",
259
+ id: j.folder.id
260
+ }));
261
+ b.each(c, 29, () => b.get(U), (e) => e.id, (e, t) => {
262
+ var n = O(), r = b.child(n);
263
+ b.snippet(r, () => j.docRowInner, () => b.get(t));
264
+ var i = b.sibling(r, 2);
265
+ b.snippet(i, () => j.copyButton, () => b.get(t));
266
+ var a = b.sibling(i, 2);
267
+ b.snippet(a, () => j.docMenu, () => b.get(t)), b.reset(n), b.animation(n, () => x, () => ({ duration: j.documentFlipDurationMs })), b.append(e, n);
268
+ }), b.reset(c), b.action(c, (e, t) => g?.(e, t), () => ({
269
+ items: b.get(U),
270
+ flipDurationMs: j.documentFlipDurationMs,
271
+ type: "doc",
272
+ dropTargetStyle: {},
273
+ dragDisabled: j.dragDisabled,
274
+ useCursorForDetection: !0,
275
+ centreDraggedOnCursor: !0
276
+ })), b.reset(t), b.template_effect((e, t) => {
277
+ b.set_class(n, 1, e), b.set_class(c, 1, t);
278
+ }, [() => b.clsx(h("min-h-[8px] space-y-0.5 transition-all duration-150", P() && b.get(V).length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20")), () => b.clsx(h("min-h-[8px] space-y-0.5 transition-all duration-150", F() && b.get(U).length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20"))]), b.event("consider", n, K), b.event("finalize", n, q), b.event("consider", c, function(...e) {
279
+ b.get(l)?.apply(this, e);
280
+ }), b.event("finalize", c, function(...e) {
281
+ b.get(u)?.apply(this, e);
282
+ }), b.append(e, t);
283
+ };
284
+ b.if(se, (e) => {
285
+ b.get(H) && e(ce);
286
+ }), b.reset(J), b.template_effect((e) => {
287
+ b.set_attribute(J, "aria-label", j.folder.name), b.set_attribute(X, "aria-expanded", b.get(H)), b.set_class(X, 1, e), b.set_text(oe, j.folder.name);
288
+ }, [() => b.clsx(h("flex min-w-0 flex-1 items-center gap-1.5 rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-accent hover:text-accent-foreground", ne.params.id === j.folder.id && "bg-accent text-accent-foreground font-medium", I() && "hover:bg-accent/40 border border-dashed border-primary/30"))]), b.event("mouseenter", J, () => {
289
+ j.isDraggingGlobal && !b.get(H) && j.onScheduleFolderExpand(j.folder.id);
290
+ }), b.event("mouseleave", J, () => {
291
+ j.isDraggingGlobal && j.onClearExpandTimer();
292
+ }), b.delegated("click", X, G), b.event("dragover", X, (e) => {
293
+ I() && (e.preventDefault(), e.dataTransfer && (e.dataTransfer.dropEffect = "move"));
294
+ }), b.event("drop", X, (e) => j.onDropOnFolder(e, j.folder.id)), b.append(ie, J), b.pop();
295
+ }
296
+ b.delegate(["click"]);
297
+ //#endregion
298
+ export { A as t };