@hiai-gg/docsmint 0.3.8 → 0.4.0

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 (107) hide show
  1. package/dist/backend/index.js +1 -1
  2. package/dist/client.d.ts +11 -0
  3. package/dist/client.js +9 -0
  4. package/dist/frontend/CategoryDialog-CxVyaBV5.js +611 -0
  5. package/dist/frontend/{ConfirmDialog-BLF3x_hr.js → ConfirmDialog-NFGXRa3E.js} +2 -2
  6. package/dist/frontend/{CreateSnapshotDialog-D5vPvFTL.js → CreateSnapshotDialog-BDgFTeFn.js} +40 -40
  7. package/dist/frontend/{DatePicker-CLNTdvTk.js → DatePicker-BZRBluzF.js} +102 -105
  8. package/dist/frontend/{DeleteDialog-DxYFJivN.js → DeleteDialog-CvAr2WPu.js} +39 -39
  9. package/dist/frontend/FolderNode--l1g8bcL.js +298 -0
  10. package/dist/frontend/HiaiDocsExtensionProvider-DHWLzRUu.js +11 -0
  11. package/dist/frontend/SettingsDialog-LyZUxxku.js +1016 -0
  12. package/dist/frontend/{ShareDialog-DYu3RKQu.js → ShareDialog-BUOkYSlw.js} +35 -35
  13. package/dist/frontend/Sidebar-BsJsD1mJ.js +2021 -0
  14. package/dist/frontend/{TagCreateDialog-DXQs2bL9.js → TagCreateDialog-B9YZBNHi.js} +38 -38
  15. package/dist/frontend/api/categories.js +1 -1
  16. package/dist/frontend/api/documents.js +1 -1
  17. package/dist/frontend/api/folders.js +1 -1
  18. package/dist/frontend/api/settings.js +1 -1
  19. package/dist/frontend/app-shell.d.ts +8 -0
  20. package/dist/frontend/app-shell.js +298 -0
  21. package/dist/frontend/{clsx-C7bIvsDS.js → bundle-mjs-DllmqUxV.js} +583 -583
  22. package/dist/frontend/{categories-izQovv2w.js → categories-Drnns7N6.js} +14 -14
  23. package/dist/frontend/components/category-dialog.js +1 -1
  24. package/dist/frontend/components/create-snapshot-dialog.js +1 -1
  25. package/dist/frontend/components/delete-dialog.js +1 -1
  26. package/dist/frontend/components/editor/document-editor.js +1102 -1102
  27. package/dist/frontend/components/editor/document-title.js +2 -2
  28. package/dist/frontend/components/editor/markdown-toggle.js +1 -1
  29. package/dist/frontend/components/folder-node.js +1 -1
  30. package/dist/frontend/components/save-as-dialog.js +75 -75
  31. package/dist/frontend/components/settings.js +1 -1
  32. package/dist/frontend/components/share-dialog.js +1 -1
  33. package/dist/frontend/components/sidebar.js +2 -2021
  34. package/dist/frontend/components/tag-create-dialog.js +1 -1
  35. package/dist/frontend/components/version-history.js +58 -58
  36. package/dist/frontend/{FolderDialog-CRVZM2Oi.js → confirm-dialog-C4jTRbiS.js} +69 -69
  37. package/dist/frontend/dashboard.js +1139 -1137
  38. package/dist/frontend/{dialog-D6NxYVmy.js → dialog-Bevp9mmM.js} +2 -2
  39. package/dist/frontend/{loader-circle-BA6aLO71.js → dist-C3857Spp.js} +81 -81
  40. package/dist/frontend/{documents-BsDkvzCm.js → documents-Bc7b_MSZ.js} +15 -15
  41. package/dist/frontend/{ellipsis-vertical-P9MHvCps.js → dropdown-menu-CRSby3e9.js} +182 -182
  42. package/dist/frontend/extension.js +2 -11
  43. package/dist/frontend/{floating-layer-anchor-CPwucTfd.js → floating-layer-anchor-BDs7vO-M.js} +1 -1
  44. package/dist/frontend/{folders-CTuV_JtU.js → folders-ONG03Dkv.js} +10 -10
  45. package/dist/frontend/frontend.css +1 -1
  46. package/dist/frontend/i18n.js +2 -2
  47. package/dist/frontend/{input-B5Rak-5G.js → input-BWlOML_m.js} +1 -1
  48. package/dist/frontend/{label-CW9rxoAb.js → label-C2HfJNQ2.js} +1 -1
  49. package/dist/frontend/{messages-BpYaLbzE.js → messages-C5Q890i2.js} +8 -8
  50. package/dist/frontend/route-context-BqQQ5c4i.js +29 -0
  51. package/dist/frontend/search.js +629 -629
  52. package/dist/frontend/{select-value-sF86Geyh.js → select-value-GXwx90Pr.js} +2 -2
  53. package/dist/frontend/{settings-blyobazp.js → settings-DSrUl4hW.js} +9 -9
  54. package/dist/frontend/{tag-store.svelte-CqrUXo0o.js → tag-store.svelte-CG7RrlDT.js} +1 -1
  55. package/dist/frontend/{textarea-i1720bE7.js → textarea-DOAE-h42.js} +1 -1
  56. package/dist/frontend/{utils-hzdMVeCv.js → utils-BPDRytUU.js} +1 -1
  57. package/dist/frontend/{utils-CffiyuTo.js → utils-DrfHTcei.js} +1 -1
  58. package/dist/frontend/utils.js +1 -1
  59. package/dist/frontend-ssr/api/categories.js +1 -1
  60. package/dist/frontend-ssr/api/documents.js +1 -1
  61. package/dist/frontend-ssr/api/folders.js +1 -1
  62. package/dist/frontend-ssr/api/settings.js +1 -1
  63. package/dist/frontend-ssr/app-shell.js +303 -0
  64. package/dist/frontend-ssr/assets/{CategoryDialog-C2xaZKHq.js → CategoryDialog-BcGW8-Kf.js} +4 -4
  65. package/dist/frontend-ssr/assets/{CreateSnapshotDialog-BRw1xJW1.js → CreateSnapshotDialog-1bROJ-Rn.js} +4 -4
  66. package/dist/frontend-ssr/assets/{DatePicker-DnXniwlZ.js → DatePicker-B1ML8OVz.js} +33 -33
  67. package/dist/frontend-ssr/assets/{FolderNode-DRfBfpft.js → FolderNode-CpHrpOED.js} +8 -6
  68. package/dist/frontend-ssr/assets/HiaiDocsExtensionProvider-DAM-lX4R.js +13 -0
  69. package/dist/frontend-ssr/assets/{SettingsDialog-CX8Noa8A.js → SettingsDialog-Dg97vv83.js} +20 -19
  70. package/dist/frontend-ssr/assets/{ShareDialog-Cge49ZdJ.js → ShareDialog-vMvJLRfn.js} +1 -1
  71. package/dist/frontend-ssr/assets/Sidebar-CrDk_HYY.js +2037 -0
  72. package/dist/frontend-ssr/assets/{TagCreateDialog-EAChgBF-.js → TagCreateDialog-B0DPEfmQ.js} +3 -3
  73. package/dist/frontend-ssr/assets/{categories-AOqgcsn4.js → categories-CTCtdv7V.js} +10 -10
  74. package/dist/frontend-ssr/assets/{FolderDialog-Dq7I2cKZ.js → confirm-dialog-BCthVwUY.js} +4 -4
  75. package/dist/frontend-ssr/assets/{documents-BnOTRdTY.js → documents-PObdTOiT.js} +8 -8
  76. package/dist/frontend-ssr/assets/{ellipsis-vertical-C-0hgkZn.js → dropdown-menu-Bj5rbqbB.js} +96 -96
  77. package/dist/frontend-ssr/assets/{folders-CTfbS24J.js → folders-BX30gHv6.js} +10 -10
  78. package/dist/frontend-ssr/assets/{messages-DhXqlcJI.js → messages-CvqpZNJe.js} +1 -1
  79. package/dist/frontend-ssr/assets/route-context-uca_b2Px.js +36 -0
  80. package/dist/frontend-ssr/assets/{select-value-DngdSmLI.js → select-value-6Lk0ToYd.js} +1 -1
  81. package/dist/frontend-ssr/assets/{tag-store.svelte-DPodKj6Z.js → tag-store.svelte-DvgUduhd.js} +1 -1
  82. package/dist/frontend-ssr/components/category-dialog.js +1 -1
  83. package/dist/frontend-ssr/components/create-snapshot-dialog.js +1 -1
  84. package/dist/frontend-ssr/components/delete-dialog.js +1 -1
  85. package/dist/frontend-ssr/components/editor/document-editor.js +5 -5
  86. package/dist/frontend-ssr/components/editor/document-title.js +1 -1
  87. package/dist/frontend-ssr/components/editor/markdown-toggle.js +1 -1
  88. package/dist/frontend-ssr/components/folder-node.js +1 -1
  89. package/dist/frontend-ssr/components/save-as-dialog.js +5 -5
  90. package/dist/frontend-ssr/components/settings.js +1 -1
  91. package/dist/frontend-ssr/components/share-dialog.js +1 -1
  92. package/dist/frontend-ssr/components/sidebar.js +1 -2032
  93. package/dist/frontend-ssr/components/tag-create-dialog.js +1 -1
  94. package/dist/frontend-ssr/components/version-history.js +3 -3
  95. package/dist/frontend-ssr/dashboard.js +45 -37
  96. package/dist/frontend-ssr/extension.js +1 -12
  97. package/dist/frontend-ssr/i18n.js +1 -1
  98. package/dist/frontend-ssr/search.js +9 -7
  99. package/package.json +7 -1
  100. package/packages/cli/src/index.ts +1 -1
  101. package/packages/mcp-server/src/index.ts +1 -1
  102. package/dist/frontend/CategoryDialog-DphkZqIB.js +0 -611
  103. package/dist/frontend/FolderNode-C2zG7uii.js +0 -298
  104. package/dist/frontend/SettingsDialog-DCM4-N6_.js +0 -1016
  105. package/dist/frontend-ssr/assets/{DeleteDialog-BCfZy3Zn.js → DeleteDialog-tBYaP0L3.js} +1 -1
  106. package/dist/frontend-ssr/assets/{floating-layer-anchor-uzw9K8qN.js → floating-layer-anchor-CYIE8Oj6.js} +1 -1
  107. package/dist/frontend-ssr/assets/{settings-E6qSAWM2.js → settings-Bk5Hk9Vq.js} +1 -1
@@ -1,2 +1,2 @@
1
- import { t as TagCreateDialog } from "../assets/TagCreateDialog-EAChgBF-.js";
1
+ import { t as TagCreateDialog } from "../assets/TagCreateDialog-B0DPEfmQ.js";
2
2
  export { TagCreateDialog };
@@ -1,13 +1,13 @@
1
- import { Ct as version_filter_all, Ft as version_restore, It as version_history_title, Mt as version_create_snapshot, Nt as version_restore_confirm, Pt as version_restore_short, St as version_filter_snapshots, an as time_days_ago, bt as version_restored_from, cn as action_loading, hn as action_cancel, on as time_hours_ago, sn as time_minutes_ago, vn as error_generic, w as version_history_empty, xt as version_badge_snapshot, yt as version_restore_failed } from "../assets/messages-DhXqlcJI.js";
1
+ import { Ct as version_filter_snapshots, Ft as version_restore_short, It as version_restore, Lt as version_history_title, Nt as version_create_snapshot, Pt as version_restore_confirm, St as version_badge_snapshot, bt as version_restore_failed, cn as time_minutes_ago, gn as action_cancel, ln as action_loading, on as time_days_ago, sn as time_hours_ago, w as version_history_empty, wt as version_filter_all, xt as version_restored_from, yn as error_generic } from "../assets/messages-CvqpZNJe.js";
2
2
  import { t as Icon } from "../assets/Icon-B0Zqppjo.js";
3
3
  import { t as Camera } from "../assets/camera-CdxscTw-.js";
4
4
  import { t as Clock } from "../assets/clock-IL-eX2di.js";
5
5
  import { t as Rotate_ccw } from "../assets/rotate-ccw-BlgWwaiq.js";
6
6
  import { t as Circle_check } from "../assets/circle-check-CI1v4vYh.js";
7
7
  import { t as Loader_circle } from "../assets/loader-circle-DZsrZ-er.js";
8
- import { t as ConfirmDialog } from "../assets/ConfirmDialog-DjMFKc0V.js";
9
8
  import { n as apiFetch, t as ApiError } from "../assets/client-DZMkDkDn.js";
10
- import { t as CreateSnapshotDialog } from "../assets/CreateSnapshotDialog-BRw1xJW1.js";
9
+ import { t as ConfirmDialog } from "../assets/ConfirmDialog-DjMFKc0V.js";
10
+ import { t as CreateSnapshotDialog } from "../assets/CreateSnapshotDialog-1bROJ-Rn.js";
11
11
  import * as $ from "svelte/internal/server";
12
12
  //#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/history.svelte
13
13
  function History($$renderer, $$props) {
@@ -1,34 +1,35 @@
1
- import { Cr as doc_open, D as dashboard_import, Dr as doc_share, Fr as dashboard_page_title, Ir as dashboard_new_document, Lr as dashboard_subtitle, Rr as dashboard_title, Sr as doc_duplicate, Tr as doc_updated, _r as folders_rename, _t as action_copy_content, a as import_progress_error, c as import_progress_uploading, cn as action_loading, cr as folders_subfolders, d as sidebar_uncategorized, dn as action_close, gn as action_save, gr as folders_delete, hn as action_cancel, hr as folders_delete_title, ht as folder_page_title, i as import_progress_summary, l as import_progress_total, lr as folders_document, mn as action_delete, mr as folders_delete_description, mt as share_copied, n as import_progress_empty, o as import_progress_done, or as folders_move, r as import_progress_close, s as import_progress_processing, sr as folders_subfolder, u as import_progress_title, un as action_back, ur as folders_documents, vr as folders_empty_description, vt as editor_more_options, wr as doc_open_menu, xr as doc_move_to_folder, yr as folders_empty, zr as nav_documents } from "./assets/messages-DhXqlcJI.js";
2
- import { t as cn } from "./assets/utils-DtlPPXpJ.js";
3
- import { a as Badge, n as X, r as Folder_kanban, t as DatePicker } from "./assets/DatePicker-DnXniwlZ.js";
4
- import { a as Dialog, i as Dialog_description, n as Dialog_header, o as Button, r as Dialog_footer, t as Dialog_title } from "./assets/dialog-BOV1u6zP.js";
5
- import { a as Select, i as Select_content, n as Select_trigger, r as Select_item, t as Select_value } from "./assets/select-value-DngdSmLI.js";
6
- import { a as Dropdown_menu_content, i as Dropdown_menu_item, n as Dropdown_menu_trigger, o as Dropdown_menu, r as Dropdown_menu_separator, t as Ellipsis_vertical } from "./assets/ellipsis-vertical-C-0hgkZn.js";
7
- import { t as Label } from "./assets/label-Bj8-TfFN.js";
1
+ import { Br as nav_documents, Cr as doc_duplicate, Er as doc_updated, Ir as dashboard_page_title, Lr as dashboard_new_document, O as dashboard_import, Or as doc_share, Rr as dashboard_subtitle, Sr as doc_move_to_folder, Tr as doc_open_menu, _n as action_save, _r as folders_delete, a as import_progress_error, br as folders_empty, c as import_progress_uploading, cr as folders_subfolder, d as sidebar_uncategorized, dn as action_back, dr as folders_documents, fn as action_close, gn as action_cancel, gr as folders_delete_title, gt as folder_page_title, hn as action_delete, hr as folders_delete_description, ht as share_copied, i as import_progress_summary, l as import_progress_total, ln as action_loading, lr as folders_subfolders, n as import_progress_empty, o as import_progress_done, r as import_progress_close, s as import_progress_processing, sr as folders_move, u as import_progress_title, ur as folders_document, vr as folders_rename, vt as action_copy_content, wr as doc_open, yr as folders_empty_description, yt as editor_more_options, zr as dashboard_title } from "./assets/messages-CvqpZNJe.js";
8
2
  import { t as Icon } from "./assets/Icon-B0Zqppjo.js";
9
- import { i as Check, n as Plus, r as File_text, t as FolderDialog } from "./assets/FolderDialog-Dq7I2cKZ.js";
3
+ import { i as Folder_kanban, n as Badge, r as X, t as DatePicker } from "./assets/DatePicker-B1ML8OVz.js";
4
+ import { i as Check, n as Plus, r as File_text, t as FolderDialog } from "./assets/confirm-dialog-BCthVwUY.js";
10
5
  import { t as Chevron_down } from "./assets/chevron-down-CSSNGNh_.js";
11
6
  import { t as Chevron_right } from "./assets/chevron-right-B4p7Sk6X.js";
12
7
  import { t as Copy } from "./assets/copy-CjV57nGQ.js";
13
8
  import { n as Folder_open, t as FolderTreeSelector } from "./assets/FolderTreeSelector-DZNZ2oI6.js";
14
9
  import { t as Folder } from "./assets/folder-DChhG7qN.js";
15
10
  import { t as Rotate_ccw } from "./assets/rotate-ccw-BlgWwaiq.js";
11
+ import { a as Dropdown_menu, i as Dropdown_menu_content, n as Dropdown_menu_separator, o as Ellipsis_vertical, r as Dropdown_menu_item, t as Dropdown_menu_trigger } from "./assets/dropdown-menu-Bj5rbqbB.js";
16
12
  import { t as Loader_circle } from "./assets/loader-circle-DZsrZ-er.js";
17
- import { t as ConfirmDialog } from "./assets/ConfirmDialog-DjMFKc0V.js";
18
- import { n as apiFetch } from "./assets/client-DZMkDkDn.js";
19
- import { c as updateDocument, i as getDocument } from "./assets/documents-BnOTRdTY.js";
20
- import { c as updateFolder, i as duplicateDocument } from "./assets/folders-CTfbS24J.js";
21
- import "./assets/categories-AOqgcsn4.js";
22
- import { d as refreshFolders, n as bumpSubfoldersRefresh } from "./assets/subfolders-refresh-store.svelte-DAh4gT16.js";
23
- import { t as copyToClipboard } from "./assets/clipboard-CXOaoz2W.js";
13
+ import { n as getDocsmintRouteAdapter, o as resolveDocsmintRoute, r as navigateDocsmintRoute, t as getDocsmintRequestAdapter } from "./assets/route-context-uca_b2Px.js";
24
14
  import { n as formatRelativeTime } from "./assets/utils-DvZnctjz.js";
25
- import { t as ShareDialog } from "./assets/ShareDialog-Cge49ZdJ.js";
15
+ import { t as cn } from "./assets/utils-DtlPPXpJ.js";
16
+ import { a as Dialog, i as Dialog_description, n as Dialog_header, o as Button, r as Dialog_footer, t as Dialog_title } from "./assets/dialog-BOV1u6zP.js";
17
+ import { t as Label } from "./assets/label-Bj8-TfFN.js";
18
+ import { n as apiFetch } from "./assets/client-DZMkDkDn.js";
19
+ import "./assets/categories-CTCtdv7V.js";
26
20
  import { t as getFrontendExtensions } from "./assets/context-jz1GGEUi.js";
27
21
  import { t as resolveExtensions } from "./assets/resolve-BqHozBXl.js";
28
- import { n as refreshDocs } from "./assets/tag-store.svelte-DPodKj6Z.js";
22
+ import { a as Select, i as Select_content, n as Select_trigger, r as Select_item, t as Select_value } from "./assets/select-value-6Lk0ToYd.js";
23
+ import { c as updateDocument, i as getDocument } from "./assets/documents-PObdTOiT.js";
24
+ import { c as updateFolder, i as duplicateDocument } from "./assets/folders-BX30gHv6.js";
25
+ import { t as copyToClipboard } from "./assets/clipboard-CXOaoz2W.js";
26
+ import { t as ShareDialog } from "./assets/ShareDialog-vMvJLRfn.js";
27
+ import { d as refreshFolders, n as bumpSubfoldersRefresh } from "./assets/subfolders-refresh-store.svelte-DAh4gT16.js";
28
+ import { n as refreshDocs } from "./assets/tag-store.svelte-DvgUduhd.js";
29
+ import { t as ConfirmDialog } from "./assets/ConfirmDialog-DjMFKc0V.js";
29
30
  import * as $ from "svelte/internal/server";
30
- import { goto, invalidateAll } from "$app/navigation";
31
31
  import { page } from "$app/state";
32
+ import { invalidateAll } from "$app/navigation";
32
33
  //#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/arrow-left.svelte
33
34
  function Arrow_left($$renderer, $$props) {
34
35
  const $$sanitized_props = $.sanitize_props($$props);
@@ -1153,15 +1154,17 @@ function stripMarkdown(markdown) {
1153
1154
  function DocumentCard($$renderer, $$props) {
1154
1155
  $$renderer.component(($$renderer) => {
1155
1156
  const { document: doc, onDelete, onDuplicate, onShare, duplicateBusy = false } = $$props;
1157
+ const route = getDocsmintRouteAdapter();
1158
+ const request = getDocsmintRequestAdapter();
1156
1159
  function navigateToDoc() {
1157
- goto(`/docs/${doc.id}`);
1160
+ navigateDocsmintRoute(route, `/docs/${doc.id}`);
1158
1161
  }
1159
1162
  let showMoveDialog = false;
1160
1163
  async function handleMove(parentId, categoryId) {
1161
1164
  await updateDocument(doc.id, {
1162
1165
  folderId: parentId,
1163
1166
  categoryId
1164
- });
1167
+ }, request.fetch);
1165
1168
  await invalidateAll();
1166
1169
  }
1167
1170
  let contentCopied = false;
@@ -1173,7 +1176,7 @@ function DocumentCard($$renderer, $$props) {
1173
1176
  let text = "";
1174
1177
  contentCopying = true;
1175
1178
  try {
1176
- text = (await getDocument(doc.id)).content ?? "";
1179
+ text = (await getDocument(doc.id, request.fetch)).content ?? "";
1177
1180
  } catch (err) {
1178
1181
  console.error("DocumentCard: failed to fetch full document for copy", err);
1179
1182
  text = doc.excerpt || doc.content || "";
@@ -1227,7 +1230,7 @@ function DocumentCard($$renderer, $$props) {
1227
1230
  align: "end",
1228
1231
  children: ($$renderer) => {
1229
1232
  Dropdown_menu_item($$renderer, {
1230
- onclick: () => goto(`/docs/${doc.id}`),
1233
+ onclick: () => navigateDocsmintRoute(route, `/docs/${doc.id}`),
1231
1234
  children: ($$renderer) => {
1232
1235
  Arrow_up_right($$renderer, { class: "size-4" });
1233
1236
  $$renderer.push(`<!----> ${$.escape(doc_open())}`);
@@ -1404,15 +1407,17 @@ function DocumentCard($$renderer, $$props) {
1404
1407
  function FolderCard($$renderer, $$props) {
1405
1408
  $$renderer.component(($$renderer) => {
1406
1409
  const { folder, onDelete, onRename, onShare } = $$props;
1410
+ const route = getDocsmintRouteAdapter();
1411
+ const request = getDocsmintRequestAdapter();
1407
1412
  function navigateToFolder() {
1408
- goto(`/folders/${folder.id}`);
1413
+ navigateDocsmintRoute(route, `/folders/${folder.id}`);
1409
1414
  }
1410
1415
  let showMoveDialog = false;
1411
1416
  async function handleMove(parentId, categoryId) {
1412
1417
  await updateFolder(folder.id, {
1413
1418
  parentId,
1414
1419
  categoryId
1415
- });
1420
+ }, request.fetch);
1416
1421
  await invalidateAll();
1417
1422
  }
1418
1423
  let $$settled = true;
@@ -1452,7 +1457,7 @@ function FolderCard($$renderer, $$props) {
1452
1457
  align: "end",
1453
1458
  children: ($$renderer) => {
1454
1459
  Dropdown_menu_item($$renderer, {
1455
- onclick: () => goto(`/folders/${folder.id}`),
1460
+ onclick: () => navigateDocsmintRoute(route, `/folders/${folder.id}`),
1456
1461
  children: ($$renderer) => {
1457
1462
  Folder($$renderer, { class: "size-4" });
1458
1463
  $$renderer.push(`<!----> ${$.escape(doc_open())}`);
@@ -1555,6 +1560,7 @@ function FolderCard($$renderer, $$props) {
1555
1560
  function ImportProgress($$renderer, $$props) {
1556
1561
  $$renderer.component(($$renderer) => {
1557
1562
  const { open = true, items, onClose } = $$props;
1563
+ const route = getDocsmintRouteAdapter();
1558
1564
  const total = $.derived(() => items.length);
1559
1565
  const done = $.derived(() => items.filter((i) => i.status === "done").length);
1560
1566
  const failed = $.derived(() => items.filter((i) => i.status === "error").length);
@@ -1599,7 +1605,7 @@ function ImportProgress($$renderer, $$props) {
1599
1605
  $$renderer.push(`<!----> `);
1600
1606
  if (item.documentId) {
1601
1607
  $$renderer.push("<!--[0-->");
1602
- $$renderer.push(`<a${$.attr("href", `/docs/${item.documentId}`)} class="inline-flex items-center gap-1 rounded bg-primary/10 px-2 py-0.5 text-xs font-semibold text-primary transition-colors hover:bg-primary/20"><span>View</span> `);
1608
+ $$renderer.push(`<a${$.attr("href", resolveDocsmintRoute(route, `/docs/${item.documentId}`))} class="inline-flex items-center gap-1 rounded bg-primary/10 px-2 py-0.5 text-xs font-semibold text-primary transition-colors hover:bg-primary/20"><span>View</span> `);
1603
1609
  Chevron_right($$renderer, { class: "size-3" });
1604
1610
  $$renderer.push(`<!----></a>`);
1605
1611
  } else {
@@ -1642,6 +1648,8 @@ function HiaiDocsDashboardHost($$renderer, $$props) {
1642
1648
  };
1643
1649
  const { data, extensionContext = { pathname: "/" } } = $$props;
1644
1650
  const frontendExtensions = getFrontendExtensions();
1651
+ const route = getDocsmintRouteAdapter();
1652
+ const request = getDocsmintRequestAdapter();
1645
1653
  const dashboardWidgets = $.derived(() => resolveExtensions(frontendExtensions.dashboardWidgets, extensionContext));
1646
1654
  const activeFolderId = $.derived(() => page.url.searchParams.get("folder") || null);
1647
1655
  const activeCategoryId = $.derived(() => page.url.searchParams.get("category") || null);
@@ -1692,7 +1700,7 @@ function HiaiDocsDashboardHost($$renderer, $$props) {
1692
1700
  if (activeCategoryId()) params.set("category", activeCategoryId());
1693
1701
  const qs = params.toString();
1694
1702
  if (qs) url += `?${qs}`;
1695
- goto(url);
1703
+ return navigateDocsmintRoute(route, url);
1696
1704
  }
1697
1705
  function handleRenameFolder(id) {
1698
1706
  const folder = activeFolderId() ? data.activeFolder?.children?.find((c) => c.id === id) : data.rootFolders.find((f) => f.id === id);
@@ -1712,11 +1720,11 @@ function HiaiDocsDashboardHost($$renderer, $$props) {
1712
1720
  parentId: activeFolderId() || null,
1713
1721
  categoryId: activeFolderId() ? null : activeCategoryId() || null
1714
1722
  })
1715
- });
1723
+ }, request.fetch);
1716
1724
  else if (folderDialogMode === "edit" && folderDialogTarget) await apiFetch(`/api/folders/${folderDialogTarget.id}`, {
1717
1725
  method: "PATCH",
1718
1726
  body: JSON.stringify({ name })
1719
- });
1727
+ }, request.fetch);
1720
1728
  showFolderDialog = false;
1721
1729
  refreshFolders();
1722
1730
  await invalidateAll();
@@ -1730,7 +1738,7 @@ function HiaiDocsDashboardHost($$renderer, $$props) {
1730
1738
  if (!id || deleteFolderBusy) return;
1731
1739
  deleteFolderBusy = true;
1732
1740
  try {
1733
- await apiFetch(`/api/folders/${id}`, { method: "DELETE" });
1741
+ await apiFetch(`/api/folders/${id}`, { method: "DELETE" }, request.fetch);
1734
1742
  showDeleteFolderDialog = false;
1735
1743
  deleteFolderTargetId = null;
1736
1744
  await invalidateAll();
@@ -1745,7 +1753,7 @@ function HiaiDocsDashboardHost($$renderer, $$props) {
1745
1753
  async function handleDeleteDocument(id) {
1746
1754
  if (!confirm(`${action_delete()}?`)) return;
1747
1755
  try {
1748
- await apiFetch(`/api/documents/${id}`, { method: "DELETE" });
1756
+ await apiFetch(`/api/documents/${id}`, { method: "DELETE" }, request.fetch);
1749
1757
  await invalidateAll();
1750
1758
  refreshDocs();
1751
1759
  } catch (e) {
@@ -1756,7 +1764,7 @@ function HiaiDocsDashboardHost($$renderer, $$props) {
1756
1764
  if (duplicatingDocumentId) return;
1757
1765
  duplicatingDocumentId = id;
1758
1766
  try {
1759
- const duplicate = await duplicateDocument(id);
1767
+ const duplicate = await duplicateDocument(id, request.fetch);
1760
1768
  optimisticDocuments = [...optimisticDocuments.filter((doc) => doc.id !== duplicate.id), duplicate];
1761
1769
  await invalidateAll();
1762
1770
  const currentDocuments = data.activeFolder?.documents ?? data.recentDocs;
@@ -1785,7 +1793,7 @@ function HiaiDocsDashboardHost($$renderer, $$props) {
1785
1793
  else params.delete("dateFrom");
1786
1794
  if (dateTo) params.set("dateTo", dateTo);
1787
1795
  else params.delete("dateTo");
1788
- goto(`/?${params.toString()}`, {
1796
+ return navigateDocsmintRoute(route, `/?${params.toString()}`, {
1789
1797
  replaceState: true,
1790
1798
  keepFocus: true,
1791
1799
  noScroll: true
@@ -1868,8 +1876,8 @@ function HiaiDocsDashboardHost($$renderer, $$props) {
1868
1876
  class: "size-8 shrink-0",
1869
1877
  onclick: () => {
1870
1878
  const parentId = data.activeFolder?.parentId;
1871
- if (parentId) goto(`/?folder=${parentId}`);
1872
- else goto("/");
1879
+ if (parentId) return navigateDocsmintRoute(route, `/?folder=${parentId}`);
1880
+ else return navigateDocsmintRoute(route, "/");
1873
1881
  },
1874
1882
  title: action_back(),
1875
1883
  children: ($$renderer) => {
@@ -1902,7 +1910,7 @@ function HiaiDocsDashboardHost($$renderer, $$props) {
1902
1910
  variant: "ghost",
1903
1911
  size: "icon",
1904
1912
  class: "size-8 shrink-0",
1905
- onclick: () => goto("/"),
1913
+ onclick: () => navigateDocsmintRoute(route, "/"),
1906
1914
  title: action_back(),
1907
1915
  children: ($$renderer) => {
1908
1916
  Arrow_left($$renderer, { class: "size-4" });
@@ -2054,7 +2062,7 @@ function HiaiDocsDashboardHost($$renderer, $$props) {
2054
2062
  const params = new URLSearchParams(page.url.searchParams);
2055
2063
  if (val && val !== "all") params.set("category", val);
2056
2064
  else params.delete("category");
2057
- goto(`/?${params.toString()}`);
2065
+ return navigateDocsmintRoute(route, `/?${params.toString()}`);
2058
2066
  },
2059
2067
  children: ($$renderer) => {
2060
2068
  if (Select$1.Trigger) {
@@ -1,13 +1,2 @@
1
- import { n as provideFrontendExtensions } from "./assets/context-jz1GGEUi.js";
2
- import "svelte/internal/server";
3
- //#region src/lib/hosts/HiaiDocsExtensionProvider.svelte
4
- function HiaiDocsExtensionProvider($$renderer, $$props) {
5
- $$renderer.component(($$renderer) => {
6
- const { extensions = {}, children } = $$props;
7
- provideFrontendExtensions(extensions);
8
- children($$renderer);
9
- $$renderer.push(`<!---->`);
10
- });
11
- }
12
- //#endregion
1
+ import { t as HiaiDocsExtensionProvider } from "./assets/HiaiDocsExtensionProvider-DAM-lX4R.js";
13
2
  export { HiaiDocsExtensionProvider as DocsmintExtensionProvider };
@@ -1,4 +1,4 @@
1
- import { Hr as setLocale$1, Vr as locales, t as messages_exports } from "./assets/messages-DhXqlcJI.js";
1
+ import { Hr as locales, Ur as setLocale$1, t as messages_exports } from "./assets/messages-CvqpZNJe.js";
2
2
  //#region ../packages/sdk/frontend-entries/i18n.ts
3
3
  var messages = messages_exports;
4
4
  var supportedLocales = locales;
@@ -1,17 +1,17 @@
1
- import { $n as search_title, Br as app_name, C as categories_title, Xn as search_date_from, Yn as search_date_to, Zn as search_tags, at as search_popular, ct as search_date_range, dt as search_toggle_filters, ft as search_input_placeholder, lt as search_folders, ot as search_empty_description, pt as search_title_with_query, st as search_empty_title, ut as search_clear_all_filters } from "./assets/messages-DhXqlcJI.js";
2
- import { i as Calendar, n as X, r as Folder_kanban, t as DatePicker } from "./assets/DatePicker-DnXniwlZ.js";
3
- import "./assets/select-value-DngdSmLI.js";
1
+ import { C as categories_title, Qn as search_tags, Vr as app_name, Xn as search_date_to, Zn as search_date_from, ct as search_empty_title, dt as search_clear_all_filters, er as search_title, ft as search_toggle_filters, lt as search_date_range, mt as search_title_with_query, ot as search_popular, pt as search_input_placeholder, st as search_empty_description, ut as search_folders } from "./assets/messages-CvqpZNJe.js";
4
2
  import { t as Icon } from "./assets/Icon-B0Zqppjo.js";
3
+ import { a as Calendar, i as Folder_kanban, r as X, t as DatePicker } from "./assets/DatePicker-B1ML8OVz.js";
5
4
  import { t as Chevron_down } from "./assets/chevron-down-CSSNGNh_.js";
6
5
  import { t as Folder } from "./assets/folder-DChhG7qN.js";
7
6
  import { t as Rotate_ccw } from "./assets/rotate-ccw-BlgWwaiq.js";
8
7
  import { n as Search, t as Tag } from "./assets/tag-GZEuGWk1.js";
9
- import "./assets/categories-AOqgcsn4.js";
8
+ import { n as getDocsmintRouteAdapter, r as navigateDocsmintRoute, t as getDocsmintRequestAdapter } from "./assets/route-context-uca_b2Px.js";
9
+ import "./assets/categories-CTCtdv7V.js";
10
10
  import { t as getFrontendExtensions } from "./assets/context-jz1GGEUi.js";
11
11
  import { t as resolveExtensions } from "./assets/resolve-BqHozBXl.js";
12
- import "./assets/tag-store.svelte-DPodKj6Z.js";
12
+ import "./assets/select-value-6Lk0ToYd.js";
13
+ import "./assets/tag-store.svelte-DvgUduhd.js";
13
14
  import * as $ from "svelte/internal/server";
14
- import { goto } from "$app/navigation";
15
15
  //#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/sliders-horizontal.svelte
16
16
  function Sliders_horizontal($$renderer, $$props) {
17
17
  const $$sanitized_props = $.sanitize_props($$props);
@@ -104,6 +104,8 @@ function HiaiDocsSearchHost($$renderer, $$props) {
104
104
  $$renderer.component(($$renderer) => {
105
105
  const { data, extensionContext = { pathname: "/search" } } = $$props;
106
106
  const frontendExtensions = getFrontendExtensions();
107
+ const route = getDocsmintRouteAdapter();
108
+ getDocsmintRequestAdapter();
107
109
  let query = "";
108
110
  let activeFolder = "";
109
111
  let activeTags = [];
@@ -157,7 +159,7 @@ function HiaiDocsSearchHost($$renderer, $$props) {
157
159
  }
158
160
  function applyDateRange() {
159
161
  currentPage = 1;
160
- goto(buildUrl({
162
+ navigateDocsmintRoute(route, buildUrl({
161
163
  dateFrom,
162
164
  dateTo,
163
165
  page: "1"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hiai-gg/docsmint",
3
- "version": "0.3.8",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
5
  "browser": {
6
6
  "./dist/backend-launcher.js": false,
@@ -74,6 +74,11 @@
74
74
  "import": "./dist/storage-quota.js",
75
75
  "types": "./dist/storage-quota.d.ts"
76
76
  },
77
+ "./frontend/app-shell": {
78
+ "node": "./dist/frontend-ssr/app-shell.js",
79
+ "import": "./dist/frontend/app-shell.js",
80
+ "types": "./dist/frontend/app-shell.d.ts"
81
+ },
77
82
  "./frontend/dashboard": {
78
83
  "node": "./dist/frontend-ssr/dashboard.js",
79
84
  "import": "./dist/frontend/dashboard.js",
@@ -94,6 +99,7 @@
94
99
  "import": "./dist/frontend/extension.js",
95
100
  "types": "./dist/frontend/extension.d.ts"
96
101
  },
102
+ "./frontend/styles.css": "./dist/frontend/frontend.css",
97
103
  "./frontend/api/categories": {
98
104
  "import": "./dist/frontend/api/categories.js",
99
105
  "types": "./dist/frontend/api/categories.d.ts"
@@ -24,7 +24,7 @@ import { registerSearch } from "./commands/search.js";
24
24
  import { registerSnapshot } from "./commands/snapshot.js";
25
25
  import { registerUpdate } from "./commands/update.js";
26
26
 
27
- const VERSION = "0.3.8";
27
+ const VERSION = "0.4.0";
28
28
 
29
29
  const program = new Command();
30
30
  program
@@ -35,7 +35,7 @@ interface McpToolResult {
35
35
 
36
36
  const server = new McpServer({
37
37
  name: "hiai-docs",
38
- version: "0.3.8",
38
+ version: "0.4.0",
39
39
  });
40
40
 
41
41
  /**