@hiai-gg/docsmint 0.3.0 → 0.3.2

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 (74) hide show
  1. package/README.md +26 -23
  2. package/{packages/sdk/dist → dist}/client.d.ts +16 -1
  3. package/{packages/sdk/dist → dist}/client.js +25 -1
  4. package/dist/frontend/DatePicker-BcMD49PV.js +275 -0
  5. package/dist/frontend/SettingsDialog-DiAyhzw0.js +4852 -0
  6. package/dist/frontend/ShareDialog-DaZf1raY.js +1317 -0
  7. package/dist/frontend/api/categories.d.ts +10 -0
  8. package/dist/frontend/api/categories.js +2 -0
  9. package/dist/frontend/api/documents.d.ts +10 -0
  10. package/dist/frontend/api/documents.js +2 -0
  11. package/dist/frontend/api/folders.d.ts +10 -0
  12. package/dist/frontend/api/folders.js +2 -0
  13. package/dist/frontend/api/settings.d.ts +8 -0
  14. package/dist/frontend/api/settings.js +2 -0
  15. package/dist/frontend/api/tags.d.ts +11 -0
  16. package/dist/frontend/api/tags.js +2 -0
  17. package/dist/frontend/categories-BE6ZpZl8.js +61 -0
  18. package/dist/frontend/client-B9hzI0W8.js +76 -0
  19. package/dist/frontend/client-C6QQGb0e.js +2766 -0
  20. package/dist/frontend/components/settings.d.ts +2 -0
  21. package/dist/frontend/components/settings.js +2 -0
  22. package/dist/frontend/components/sidebar.d.ts +2 -0
  23. package/dist/frontend/components/sidebar.js +4569 -0
  24. package/dist/frontend/context-DbnW5yib.js +31 -0
  25. package/dist/frontend/dashboard.d.ts +2 -0
  26. package/dist/frontend/dashboard.js +2152 -0
  27. package/dist/frontend/documents-DFVS9SsL.js +83 -0
  28. package/dist/frontend/extension.d.ts +2 -0
  29. package/dist/frontend/extension.js +10 -0
  30. package/dist/frontend/folders-CGe9diAG.js +91 -0
  31. package/dist/frontend/frontend.css +2 -0
  32. package/dist/frontend/i18n.d.ts +5 -0
  33. package/dist/frontend/i18n.js +8 -0
  34. package/dist/frontend/input-ieWIt8I7.js +257 -0
  35. package/dist/frontend/messages-CTGAsqFu.js +1106 -0
  36. package/dist/frontend/resolve-Bl6xmJl_.js +2068 -0
  37. package/dist/frontend/schemas-DwtKylCJ.js +3002 -0
  38. package/dist/frontend/search.d.ts +2 -0
  39. package/dist/frontend/search.js +1001 -0
  40. package/dist/frontend/settings-PCrOtied.js +1313 -0
  41. package/dist/frontend/shared-document.d.ts +3 -0
  42. package/dist/frontend/shared-document.js +193 -0
  43. package/dist/frontend/tag-C5xrg-bb.js +53 -0
  44. package/dist/frontend/tag-store.svelte-B3839FYq.js +6152 -0
  45. package/dist/frontend/tags-DVXTut0p.js +48 -0
  46. package/dist/frontend/theme.d.ts +4 -0
  47. package/dist/frontend/theme.js +8 -0
  48. package/dist/frontend/theme.svelte-ei0QxXa8.js +49 -0
  49. package/dist/index.d.ts +7 -0
  50. package/dist/index.js +3 -0
  51. package/dist/lifecycle.d.ts +90 -0
  52. package/dist/lifecycle.js +99 -0
  53. package/{packages/sdk/dist → dist}/types.d.ts +5 -0
  54. package/dist/workspace.d.ts +21 -0
  55. package/dist/workspace.js +66 -0
  56. package/package.json +70 -36
  57. package/packages/cli/src/index.ts +1 -1
  58. package/packages/db/src/schema.ts +41 -0
  59. package/packages/mcp-server/src/index.ts +1 -1
  60. package/frontend/src/lib/components/editor/shared-document.ts +0 -237
  61. package/frontend/src/lib/extensions/context.ts +0 -60
  62. package/frontend/src/lib/extensions/doc-tabs.ts +0 -18
  63. package/frontend/src/lib/extensions/resolve.ts +0 -48
  64. package/frontend/src/lib/extensions/types.ts +0 -202
  65. package/frontend/src/lib/hosts/DocsmintSharedDocumentHost.svelte +0 -65
  66. package/frontend/src/lib/hosts/HiaiDocsDashboardHost.svelte +0 -1007
  67. package/frontend/src/lib/hosts/HiaiDocsExtensionProvider.svelte +0 -20
  68. package/frontend/src/lib/hosts/HiaiDocsSearchHost.svelte +0 -996
  69. package/frontend/src/lib/hosts/index.ts +0 -25
  70. package/frontend/src/lib/index.ts +0 -65
  71. package/frontend/src/lib/stores/doc-tab-registry.svelte.ts +0 -68
  72. package/packages/sdk/dist/index.d.ts +0 -3
  73. package/packages/sdk/dist/index.js +0 -1
  74. /package/{packages/sdk/dist → dist}/types.js +0 -0
@@ -0,0 +1,3 @@
1
+ import type { Component } from "svelte";
2
+ export declare const DocsmintSharedDocumentHost: Component;
3
+ export declare function renderSharedDocument(...args: readonly unknown[]): unknown;
@@ -0,0 +1,193 @@
1
+ import { t as e } from "./context-DbnW5yib.js";
2
+ import { $ as t, D as n, H as r, M as i, N as a, S as o, T as s, _t as c, dt as l, et as u, ft as d, j as f, k as p, tt as m } from "./client-C6QQGb0e.js";
3
+ //#region src/lib/components/editor/shared-document.ts
4
+ var h = /^\/api\/attachments\/[0-9a-f-]+\/raw$/i, g = /* @__PURE__ */ new Set([
5
+ "http:",
6
+ "https:",
7
+ "mailto:"
8
+ ]);
9
+ function _(e) {
10
+ return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
11
+ }
12
+ function v(e, t) {
13
+ switch (e.type) {
14
+ case "bold": return `<strong>${t}</strong>`;
15
+ case "italic": return `<em>${t}</em>`;
16
+ case "strike":
17
+ case "strikethrough": return `<s>${t}</s>`;
18
+ case "underline": return `<u>${t}</u>`;
19
+ case "code": return `<code>${t}</code>`;
20
+ case "link": return `<a href="${_(y(e.attrs?.href ?? "#"))}" target="_blank" rel="noopener noreferrer">${t}</a>`;
21
+ case "highlight": return `<mark style="background-color: ${_(e.attrs?.color ?? "#fde68a")}">${t}</mark>`;
22
+ default: return t;
23
+ }
24
+ }
25
+ function y(e) {
26
+ if (e.startsWith("#") || e.startsWith("/") || e.startsWith("./")) return e;
27
+ try {
28
+ let t = new URL(e);
29
+ return g.has(t.protocol) ? e : "#";
30
+ } catch {
31
+ return "#";
32
+ }
33
+ }
34
+ function b(e) {
35
+ let t = e?.textAlign;
36
+ return t !== "left" && t !== "center" && t !== "right" && t !== "justify" ? "" : ` style="text-align: ${t}"`;
37
+ }
38
+ function x(e) {
39
+ if (e.type === "text") {
40
+ let t = _(e.text ?? "");
41
+ for (let n of e.marks ?? []) t = v(n, t);
42
+ return t;
43
+ }
44
+ return (e.content ?? []).map(x).join("");
45
+ }
46
+ function S(e) {
47
+ let t = (e) => {
48
+ if (e.type === "text") return x(e);
49
+ let n = b(e.attrs), r = (e.content ?? []).map(t).join("");
50
+ switch (e.type) {
51
+ case "paragraph": return `<p${n}>${r}</p>`;
52
+ case "heading": {
53
+ let t = Math.min(Math.max(Number(e.attrs?.level ?? 1), 1), 6);
54
+ return `<h${t}${n}>${(e.content ?? []).map(x).join("")}</h${t}>`;
55
+ }
56
+ case "bulletList": return `<ul${n}>${r}</ul>`;
57
+ case "orderedList": {
58
+ let t = Number(e.attrs?.start ?? 1);
59
+ return `<ol${Number.isSafeInteger(t) && t > 1 ? ` start="${t}"` : ""}${n}>${r}</ol>`;
60
+ }
61
+ case "listItem": return `<li${n}>${r}</li>`;
62
+ case "taskList": return `<ul data-type="taskList">${r}</ul>`;
63
+ case "taskItem": {
64
+ let t = e.attrs?.checked === !0 || e.attrs?.checked === "true";
65
+ return `<li data-type="taskItem"${t ? " data-checked=\"true\"" : ""}><label><input type="checkbox" disabled${t ? " checked" : ""} /></label><div>${r}</div></li>`;
66
+ }
67
+ case "blockquote": return `<blockquote${n}>${r}</blockquote>`;
68
+ case "table": return `<table><tbody>${r}</tbody></table>`;
69
+ case "tableRow": return `<tr>${r}</tr>`;
70
+ case "tableHeader": return `<th${n}>${r}</th>`;
71
+ case "tableCell": return `<td${n}>${r}</td>`;
72
+ case "codeBlock": {
73
+ let t = e.attrs?.language ?? "";
74
+ return `<pre><code${t ? ` class="language-${_(t)}"` : ""}>${r}</code></pre>`;
75
+ }
76
+ case "horizontalRule": return "<hr />";
77
+ case "hardBreak": return "<br />";
78
+ case "image": {
79
+ let t = e.attrs?.src ?? "", n = e.attrs?.alt ?? "", r = Number(e.attrs?.width), i = Number(e.attrs?.height), a = `${Number.isFinite(r) && r > 0 ? ` width="${Math.round(r)}"` : ""}${Number.isFinite(i) && i > 0 ? ` height="${Math.round(i)}"` : ""}`;
80
+ return h.test(t) ? `<img data-shared-attachment-src="${_(t)}" alt="${_(n)}"${a} />` : `<img src="${_(t)}" alt="${_(n)}"${a} />`;
81
+ }
82
+ default: return r;
83
+ }
84
+ };
85
+ return (e.content ?? []).map(t).join("");
86
+ }
87
+ function C(e) {
88
+ return e.replace(/<li>(\s*<input\b[^>]*type=["']checkbox["'][^>]*>)/gi, "<li class=\"task-list-item\">$1");
89
+ }
90
+ function w(e, t = "") {
91
+ return {
92
+ "x-share-token": e,
93
+ ...t ? { "x-share-password": t } : {}
94
+ };
95
+ }
96
+ async function T(e, t, n = "") {
97
+ let r = [], i = e.querySelectorAll("img[data-shared-attachment-src]");
98
+ return await Promise.all(Array.from(i, async (e) => {
99
+ let i = e.dataset.sharedAttachmentSrc;
100
+ if (i) try {
101
+ let a = await fetch(i, { headers: w(t, n) });
102
+ if (!a.ok) {
103
+ e.dataset.sharedAttachmentError = String(a.status);
104
+ return;
105
+ }
106
+ let o = URL.createObjectURL(await a.blob());
107
+ r.push(o), e.src = o, e.removeAttribute("data-shared-attachment-src");
108
+ } catch {
109
+ e.dataset.sharedAttachmentError = "network";
110
+ }
111
+ })), r;
112
+ }
113
+ async function E(e) {
114
+ let t = Array.from(e.querySelectorAll("img"));
115
+ await Promise.all(t.map(async (e) => {
116
+ if (!e.complete) {
117
+ if (typeof e.decode == "function") {
118
+ await e.decode().catch(() => void 0);
119
+ return;
120
+ }
121
+ await new Promise((t) => {
122
+ e.addEventListener("load", () => t(), { once: !0 }), e.addEventListener("error", () => t(), { once: !0 });
123
+ });
124
+ }
125
+ }));
126
+ }
127
+ //#endregion
128
+ //#region src/lib/hosts/DocsmintSharedDocumentHost.svelte
129
+ var D = a("<div data-docsmint-shared-document-host=\"\"><div data-extension-zone=\"shared-header-actions\"></div> <!> <div data-extension-zone=\"shared-document-tabs\"></div> <div data-extension-zone=\"shared-document-notes\"></div> <div data-extension-zone=\"shared-document-editor\"><!></div></div>");
130
+ function O(a, h) {
131
+ d(h, !0);
132
+ let g = e();
133
+ function _(e) {
134
+ return e.permission === "annotate" ? h.context.permissions.annotate : h.context.permissions.edit;
135
+ }
136
+ function v(e) {
137
+ let t = /* @__PURE__ */ new Set();
138
+ return e.filter((e) => {
139
+ if (t.has(e.id) || !_(e)) return !1;
140
+ t.add(e.id);
141
+ try {
142
+ return e.visible?.(h.context) ?? !0;
143
+ } catch {
144
+ return !1;
145
+ }
146
+ }).sort((e, t) => (e.order ?? 0) - (t.order ?? 0) || e.id.localeCompare(t.id));
147
+ }
148
+ var y = D(), b = t(y);
149
+ s(b, 21, () => v(g.sharedDocumentHeaderActions), (e) => e.id, (e, t) => {
150
+ var n = i();
151
+ o(u(n), () => r(t).component, (e, t) => {
152
+ t(e, { get context() {
153
+ return h.context;
154
+ } });
155
+ }), f(e, n);
156
+ }), c(b);
157
+ var x = m(b, 2);
158
+ p(x, () => h.children);
159
+ var S = m(x, 2);
160
+ s(S, 21, () => v(g.sharedDocumentTabs), (e) => e.id, (e, t) => {
161
+ var n = i();
162
+ o(u(n), () => r(t).component, (e, t) => {
163
+ t(e, { get context() {
164
+ return h.context;
165
+ } });
166
+ }), f(e, n);
167
+ }), c(S);
168
+ var C = m(S, 2);
169
+ s(C, 21, () => v(g.sharedDocumentNotesModes), (e) => e.id, (e, t) => {
170
+ var n = i();
171
+ o(u(n), () => r(t).component, (e, t) => {
172
+ t(e, { get context() {
173
+ return h.context;
174
+ } });
175
+ }), f(e, n);
176
+ }), c(C);
177
+ var w = m(C, 2), T = t(w), E = (e) => {
178
+ var t = i();
179
+ s(u(t), 17, () => v(g.sharedDocumentEditorModes), (e) => e.id, (e, t) => {
180
+ var n = i();
181
+ o(u(n), () => r(t).component, (e, t) => {
182
+ t(e, { get context() {
183
+ return h.context;
184
+ } });
185
+ }), f(e, n);
186
+ }), f(e, t);
187
+ };
188
+ n(T, (e) => {
189
+ h.context.permissions.edit && e(E);
190
+ }), c(w), c(y), f(a, y), l();
191
+ }
192
+ //#endregion
193
+ export { O as DocsmintSharedDocumentHost, T as hydrateSharedAttachmentImages, C as markMarkdownTaskItems, S as renderSharedDocument, w as sharedAttachmentHeaders, E as waitForSharedDocumentImages };
@@ -0,0 +1,53 @@
1
+ import "./context-DbnW5yib.js";
2
+ import { C as e, M as t, et as n, i as r, j as i, t as a } from "./client-C6QQGb0e.js";
3
+ import { r as o } from "./resolve-Bl6xmJl_.js";
4
+ //#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/search.svelte
5
+ function s(s, c) {
6
+ let l = a(c, [
7
+ "children",
8
+ "$$slots",
9
+ "$$events",
10
+ "$$legacy"
11
+ ]), u = [["path", { d: "m21 21-4.34-4.34" }], ["circle", {
12
+ cx: "11",
13
+ cy: "11",
14
+ r: "8"
15
+ }]];
16
+ o(s, r({ name: "search" }, () => l, {
17
+ get iconNode() {
18
+ return u;
19
+ },
20
+ children: (r, a) => {
21
+ var o = t();
22
+ e(n(o), c, "default", {}, null), i(r, o);
23
+ },
24
+ $$slots: { default: !0 }
25
+ }));
26
+ }
27
+ //#endregion
28
+ //#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/tag.svelte
29
+ function c(s, c) {
30
+ let l = a(c, [
31
+ "children",
32
+ "$$slots",
33
+ "$$events",
34
+ "$$legacy"
35
+ ]), u = [["path", { d: "M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z" }], ["circle", {
36
+ cx: "7.5",
37
+ cy: "7.5",
38
+ r: ".5",
39
+ fill: "currentColor"
40
+ }]];
41
+ o(s, r({ name: "tag" }, () => l, {
42
+ get iconNode() {
43
+ return u;
44
+ },
45
+ children: (r, a) => {
46
+ var o = t();
47
+ e(n(o), c, "default", {}, null), i(r, o);
48
+ },
49
+ $$slots: { default: !0 }
50
+ }));
51
+ }
52
+ //#endregion
53
+ export { s as n, c as t };