@hiai-gg/docsmint 0.5.1 → 0.5.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 (62) hide show
  1. package/dist/backend/index.js +47 -8
  2. package/dist/backend-account-runtime-cleanup.js +20 -3
  3. package/dist/backend-api-key-facade.js +20 -3
  4. package/dist/backend-pipeline-cancellation.js +20 -3
  5. package/dist/frontend/{HiaiDocsExtensionProvider-CMiTXi2J.js → HiaiDocsExtensionProvider-OSn96BBw.js} +1 -1
  6. package/dist/frontend/{SettingsDialog-DEx1eEZm.js → SettingsDialog-Bd_S2RKW.js} +104 -96
  7. package/dist/frontend/ShareDialog-BC-Jl6v1.js +257 -0
  8. package/dist/frontend/{Sidebar-BthP-jOS.js → Sidebar-BnZgNl_8.js} +347 -331
  9. package/dist/frontend/api/attachments.js +1 -1
  10. package/dist/frontend/app-shell.js +3 -3
  11. package/dist/frontend/{attachments-C2DBzU-r.js → attachments-B8AuDjno.js} +8 -5
  12. package/dist/frontend/components/editor/document-editor.js +1 -1
  13. package/dist/frontend/components/settings.js +1 -1
  14. package/dist/frontend/components/share-dialog.js +1 -1
  15. package/dist/frontend/components/sidebar.js +1 -1
  16. package/dist/frontend/{context-KLiM3QQ0.js → context-D0zPFXZ4.js} +2 -0
  17. package/dist/frontend/dashboard.js +10 -4
  18. package/dist/frontend/extension.d.ts +3 -2
  19. package/dist/frontend/extension.js +1 -1
  20. package/dist/frontend/frontend.css +1 -1
  21. package/dist/frontend/search.js +1 -1
  22. package/dist/frontend/shared-document.js +1 -1
  23. package/dist/frontend-ssr/api/attachments.js +1 -1
  24. package/dist/frontend-ssr/app-shell.js +4 -4
  25. package/dist/frontend-ssr/assets/{CategoryDialog-DDu37Oub.js → CategoryDialog-Cnlmr1sz.js} +1 -1
  26. package/dist/frontend-ssr/assets/{CreateSnapshotDialog-DNAjd4eD.js → CreateSnapshotDialog-b6O0nUVp.js} +1 -1
  27. package/dist/frontend-ssr/assets/{DatePicker-Cp6Qmgdb.js → DatePicker-D84cJ-Eq.js} +1 -1
  28. package/dist/frontend-ssr/assets/{FolderNode-CrLWqHJH.js → FolderNode-CnFVWuQi.js} +1 -1
  29. package/dist/frontend-ssr/assets/{HiaiDocsExtensionProvider-B_MrN08c.js → HiaiDocsExtensionProvider-BRKWmcDd.js} +1 -1
  30. package/dist/frontend-ssr/assets/{SettingsDialog-BymUxBgg.js → SettingsDialog-BPdUl6pd.js} +23 -9
  31. package/dist/frontend-ssr/assets/ShareDialog-BZd28sg-.js +45 -0
  32. package/dist/frontend-ssr/assets/{Sidebar-CI8YKbrY.js → Sidebar-DwYZH0Tr.js} +38 -11
  33. package/dist/frontend-ssr/assets/{TagCreateDialog-B7wDbVqG.js → TagCreateDialog-DUPMitlL.js} +1 -1
  34. package/dist/frontend-ssr/assets/{attachments-CXgatN0B.js → attachments-Cj3fQyUp.js} +11 -4
  35. package/dist/frontend-ssr/assets/{confirm-dialog-B3C0WeMn.js → confirm-dialog-XuyaL8sr.js} +1 -1
  36. package/dist/frontend-ssr/assets/{context-BtCMqdVe.js → context-Bi_mO-NS.js} +2 -0
  37. package/dist/frontend-ssr/assets/{messages-D-auzk9H.js → messages-BAQzILs4.js} +1 -1
  38. package/dist/frontend-ssr/components/category-dialog.js +1 -1
  39. package/dist/frontend-ssr/components/create-snapshot-dialog.js +1 -1
  40. package/dist/frontend-ssr/components/editor/document-editor.js +2 -2
  41. package/dist/frontend-ssr/components/editor/document-title.js +1 -1
  42. package/dist/frontend-ssr/components/editor/markdown-toggle.js +1 -1
  43. package/dist/frontend-ssr/components/folder-node.js +1 -1
  44. package/dist/frontend-ssr/components/save-as-dialog.js +1 -1
  45. package/dist/frontend-ssr/components/settings.js +1 -1
  46. package/dist/frontend-ssr/components/share-dialog.js +1 -1
  47. package/dist/frontend-ssr/components/sidebar.js +1 -1
  48. package/dist/frontend-ssr/components/tag-create-dialog.js +1 -1
  49. package/dist/frontend-ssr/components/version-history.js +2 -2
  50. package/dist/frontend-ssr/dashboard.js +12 -7
  51. package/dist/frontend-ssr/extension.js +1 -1
  52. package/dist/frontend-ssr/i18n.js +1 -1
  53. package/dist/frontend-ssr/search.js +3 -3
  54. package/dist/frontend-ssr/shared-document.js +1 -1
  55. package/dist/lifecycle-runtime.js +18 -3
  56. package/dist/types.d.ts +5 -0
  57. package/package.json +1 -1
  58. package/packages/cli/src/index.ts +1 -1
  59. package/packages/db/src/schema.ts +17 -2
  60. package/packages/mcp-server/src/index.ts +1 -1
  61. package/dist/frontend/ShareDialog-uEf8Ks02.js +0 -166
  62. package/dist/frontend-ssr/assets/ShareDialog-B82t8oJi.js +0 -56
@@ -1,12 +1,12 @@
1
- import { Ar as doc_tags, Br as dashboard_title, C as categories_new, D as sidebar_powered_by, Fr as doc_title_label, Mr as doc_delete_success, Nr as doc_delete_confirm, Or as doc_delete, Rn as settings_title, Rr as dashboard_new_document, Sr as folders_new, _n as action_cancel, _r as folders_delete_title, an as sidebar_folders, bn as error_generic, bt as editor_more_options, dn as action_go_to, er as search_placeholder, f as sidebar_uncategorized, gn as action_delete, hn as action_edit, hr as folders_delete_success, ir as tags_delete_title, jr as doc_delete_success_description, kr as doc_share, mr as folders_delete_success_description, nr as tags_add, on as sidebar_recent, pr as folders_name_placeholder, rr as tags_delete_description, sr as tags_new, tr as search_title, un as action_loading, vn as action_save, vt as tags_load_error, yr as folders_rename, yt as action_copy_content } from "./messages-D-auzk9H.js";
1
+ import { $n as search_title, Ar as doc_delete_success, C as categories_new, D as sidebar_powered_by, Dr as doc_share, Er as doc_delete, Ir as dashboard_new_document, Nr as doc_title_label, Or as doc_tags, Qn as search_placeholder, Rn as settings_title, Rr as dashboard_title, _n as action_cancel, _r as folders_rename, an as sidebar_folders, ar as tags_new, bn as error_generic, br as folders_new, bt as editor_more_options, dn as action_go_to, dr as folders_name_placeholder, er as tags_add, f as sidebar_uncategorized, fr as folders_delete_success_description, gn as action_delete, hn as action_edit, hr as folders_delete_title, jr as doc_delete_confirm, kr as doc_delete_success_description, nr as tags_delete_title, on as sidebar_recent, pr as folders_delete_success, tr as tags_delete_description, un as action_loading, vn as action_save, vt as tags_load_error, yt as action_copy_content } from "./messages-BAQzILs4.js";
2
2
  import { t as Icon } from "./Icon-QwirKi9Y.js";
3
- import { i as Check, n as Plus, r as File_text, t as FolderDialog } from "./confirm-dialog-B3C0WeMn.js";
3
+ import { i as Check, n as Plus, r as File_text, t as FolderDialog } from "./confirm-dialog-XuyaL8sr.js";
4
4
  import { t as Chevron_down } from "./chevron-down-CvqKATjM.js";
5
5
  import { t as Chevron_right } from "./chevron-right-DKD7WXjz.js";
6
6
  import { t as Clock } from "./clock-CzsE58TH.js";
7
7
  import { t as Copy } from "./copy-DkkCPkBL.js";
8
8
  import { t as Folder } from "./folder-DYIE-XPP.js";
9
- import { t as SettingsDialog } from "./SettingsDialog-BymUxBgg.js";
9
+ import { t as SettingsDialog } from "./SettingsDialog-BPdUl6pd.js";
10
10
  import { n as Search, t as Tag } from "./tag-BmiVU_Ej.js";
11
11
  import { a as Dropdown_menu, i as Dropdown_menu_content, o as Ellipsis_vertical, r as Dropdown_menu_item, t as Dropdown_menu_trigger } from "./dropdown-menu-Dn_vQq9b.js";
12
12
  import { t as Loader_circle } from "./loader-circle-CIEWGyfP.js";
@@ -17,21 +17,21 @@ import { t as Input } from "./input-DezGsU3y.js";
17
17
  import { t as Label } from "./label-Bj8-TfFN.js";
18
18
  import { n as apiFetch } from "./client-DZMkDkDn.js";
19
19
  import { i as listCategories, r as deleteCategory } from "./categories-av9xjeg5.js";
20
- import { t as getFrontendExtensions } from "./context-BtCMqdVe.js";
20
+ import { t as getFrontendExtensions } from "./context-Bi_mO-NS.js";
21
21
  import { t as resolveExtensions } from "./resolve-BqHozBXl.js";
22
22
  import { n as SHADOW_ITEM_MARKER_PROPERTY_NAME } from "./dndzone-DMvTO_Jz.js";
23
23
  import { c as updateDocument, r as deleteDocument, s as listDocuments, t as clearDocumentsCache } from "./documents-CZ-wQohy.js";
24
24
  import { c as updateFolder, r as deleteFolder, s as listFolders, t as createFolder } from "./folders-BX30gHv6.js";
25
25
  import { t as DeleteDialog } from "./DeleteDialog-DG9Lm38J.js";
26
- import { t as ShareDialog } from "./ShareDialog-B82t8oJi.js";
27
- import { t as CategoryDialog } from "./CategoryDialog-DDu37Oub.js";
26
+ import { t as ShareDialog } from "./ShareDialog-BZd28sg-.js";
27
+ import { t as CategoryDialog } from "./CategoryDialog-Cnlmr1sz.js";
28
28
  import { n as createDocumentPlacementWriter, t as createDocumentDropCoordinator } from "./document-drop-coordinator-CEaYACsC.js";
29
29
  import { a as getFolderFromRegistry, c as getPendingDocumentPlacement, d as refreshFolders, f as registerDocument, n as bumpSubfoldersRefresh, p as registerFolder, r as getDocumentFromRegistry, t as acknowledgeDocumentPlacement, u as publishDocumentPlacement } from "./subfolders-refresh-store.svelte-DAh4gT16.js";
30
- import { t as FolderNode } from "./FolderNode-CrLWqHJH.js";
30
+ import { t as FolderNode } from "./FolderNode-CnFVWuQi.js";
31
31
  import { i as setSelectedTag, n as refreshDocs, r as refreshTags, t as getSelectedTag } from "./tag-store.svelte-BM1lUI_P.js";
32
32
  import { t as ConfirmDialog } from "./ConfirmDialog-BhAelejz.js";
33
33
  import { i as deleteTag, o as listTags } from "./tags-BQsI_6OW.js";
34
- import { t as TagCreateDialog } from "./TagCreateDialog-B7wDbVqG.js";
34
+ import { t as TagCreateDialog } from "./TagCreateDialog-DUPMitlL.js";
35
35
  import * as $ from "svelte/internal/server";
36
36
  import { onDestroy, onMount } from "svelte";
37
37
  import { page } from "$app/state";
@@ -1889,6 +1889,7 @@ function Sidebar($$renderer, $$props) {
1889
1889
  let isResizing = false;
1890
1890
  const frontendExtensions = getFrontendExtensions();
1891
1891
  const sidebarTopExtensions = $.derived(() => resolveExtensions(frontendExtensions.sidebarTop, { pathname: page.url.pathname }));
1892
+ const sidebarFooterActions = $.derived(() => resolveExtensions(frontendExtensions.sidebarFooterActions, { pathname: page.url.pathname }));
1892
1893
  const navigationExtensions = $.derived(() => resolveExtensions(frontendExtensions.navigation, { pathname: page.url.pathname }));
1893
1894
  onMount(() => {
1894
1895
  const refreshWorkspaceViews = () => {
@@ -2028,14 +2029,40 @@ function Sidebar($$renderer, $$props) {
2028
2029
  $$renderer.push(`<!--]--> <div class="border-t border-border p-2">`);
2029
2030
  if (isCollapsed()) {
2030
2031
  $$renderer.push("<!--[0-->");
2031
- $$renderer.push(`<div class="flex flex-col items-center gap-2"><button type="button" class="flex size-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground"${$.attr("title", settings_title())}${$.attr("aria-label", settings_title())}>`);
2032
+ $$renderer.push(`<div class="flex flex-col items-center gap-2"><!--[-->`);
2033
+ const each_array_4 = $.ensure_array_like(sidebarFooterActions());
2034
+ for (let $$index_4 = 0, $$length = each_array_4.length; $$index_4 < $$length; $$index_4++) {
2035
+ const FooterAction = each_array_4[$$index_4].component;
2036
+ if (FooterAction) {
2037
+ $$renderer.push("<!--[-->");
2038
+ FooterAction($$renderer, { collapsed: true });
2039
+ $$renderer.push("<!--]-->");
2040
+ } else {
2041
+ $$renderer.push("<!--[!-->");
2042
+ $$renderer.push("<!--]-->");
2043
+ }
2044
+ }
2045
+ $$renderer.push(`<!--]--> <button type="button" class="flex size-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground"${$.attr("title", settings_title())}${$.attr("aria-label", settings_title())}>`);
2032
2046
  Settings($$renderer, { class: "size-4" });
2033
2047
  $$renderer.push(`<!----></button> <a href="https://docsmint.com" target="_blank" rel="noopener noreferrer" class="flex size-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground"${$.attr("title", sidebar_powered_by())}${$.attr("aria-label", sidebar_powered_by())}><img src="/favicon.ico" alt="DocsMint" class="size-5 object-contain dark:hidden"/> <img src="/favicon_white.ico" alt="" aria-hidden="true" class="hidden size-5 object-contain dark:block"/></a></div>`);
2034
2048
  } else {
2035
2049
  $$renderer.push("<!--[-1-->");
2036
- $$renderer.push(`<div class="flex items-center justify-between"><a href="https://docsmint.com" target="_blank" rel="noopener noreferrer" class="text-xs text-muted-foreground hover:text-foreground transition-colors"${$.attr("title", sidebar_powered_by())}>${$.escape(sidebar_powered_by())}</a> <button type="button" class="flex size-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground"${$.attr("title", settings_title())}${$.attr("aria-label", settings_title())}>`);
2050
+ $$renderer.push(`<div class="flex items-center justify-between"><a href="https://docsmint.com" target="_blank" rel="noopener noreferrer" class="text-xs text-muted-foreground hover:text-foreground transition-colors"${$.attr("title", sidebar_powered_by())}>${$.escape(sidebar_powered_by())}</a> <div class="flex items-center gap-1"><!--[-->`);
2051
+ const each_array_5 = $.ensure_array_like(sidebarFooterActions());
2052
+ for (let $$index_5 = 0, $$length = each_array_5.length; $$index_5 < $$length; $$index_5++) {
2053
+ const FooterAction = each_array_5[$$index_5].component;
2054
+ if (FooterAction) {
2055
+ $$renderer.push("<!--[-->");
2056
+ FooterAction($$renderer, { collapsed: false });
2057
+ $$renderer.push("<!--]-->");
2058
+ } else {
2059
+ $$renderer.push("<!--[!-->");
2060
+ $$renderer.push("<!--]-->");
2061
+ }
2062
+ }
2063
+ $$renderer.push(`<!--]--> <button type="button" class="flex size-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground"${$.attr("title", settings_title())}${$.attr("aria-label", settings_title())}>`);
2037
2064
  Settings($$renderer, { class: "size-4" });
2038
- $$renderer.push(`<!----></button></div>`);
2065
+ $$renderer.push(`<!----></button></div></div>`);
2039
2066
  }
2040
2067
  $$renderer.push(`<!--]--></div></aside> `);
2041
2068
  SettingsDialog($$renderer, {
@@ -1,4 +1,4 @@
1
- import { _n as action_cancel, ar as tags_name_placeholder, bn as error_generic, mn as action_create, or as tags_edit, sr as tags_new, un as action_loading, vn as action_save } from "./messages-D-auzk9H.js";
1
+ import { _n as action_cancel, ar as tags_new, bn as error_generic, ir as tags_edit, mn as action_create, rr as tags_name_placeholder, un as action_loading, vn as action_save } from "./messages-BAQzILs4.js";
2
2
  import { t as Loader_circle } from "./loader-circle-CIEWGyfP.js";
3
3
  import { a as getDocsmintRequestAdapter } from "./route-context-BPRerEtZ.js";
4
4
  import { t as cn } from "./utils-DvZnctjz.js";
@@ -29,14 +29,15 @@ function presignAttachment(documentId, file, fetcher) {
29
29
  * already been PUT to storage. The backend verifies the object exists
30
30
  * before inserting.
31
31
  */
32
- function confirmAttachment(documentId, key, file, fetcher) {
32
+ function confirmAttachment(documentId, key, file, quotaReservationId, fetcher) {
33
33
  return apiFetch(`/api/documents/${documentId}/attachments/confirm`, {
34
34
  method: "POST",
35
35
  body: {
36
36
  key,
37
37
  filename: file.name,
38
38
  contentType: file.type,
39
- size: file.size
39
+ size: file.size,
40
+ ...quotaReservationId ? { quotaReservationId } : {}
40
41
  }
41
42
  }, fetcher);
42
43
  }
@@ -66,11 +67,17 @@ async function uploadAttachment(documentId, file, fetcher) {
66
67
  headers: { "Content-Type": file.type },
67
68
  signal: putController.signal
68
69
  });
70
+ } catch (error) {
71
+ await confirmAttachment(documentId, presign.key, file, presign.quotaReservationId, fetcher).catch(() => void 0);
72
+ throw error;
69
73
  } finally {
70
74
  clearTimeout(putTimeout);
71
75
  }
72
- if (!putResponse.ok) throw new Error(`Storage upload failed: ${putResponse.status} ${putResponse.statusText}`);
73
- return confirmAttachment(documentId, presign.key, file, fetcher);
76
+ if (!putResponse.ok) {
77
+ await confirmAttachment(documentId, presign.key, file, presign.quotaReservationId, fetcher).catch(() => void 0);
78
+ throw new Error(`Storage upload failed: ${putResponse.status} ${putResponse.statusText}`);
79
+ }
80
+ return confirmAttachment(documentId, presign.key, file, presign.quotaReservationId, fetcher);
74
81
  }
75
82
  function listAttachments(documentId, fetcher) {
76
83
  return apiFetch(`/api/documents/${documentId}/attachments`, {}, fetcher);
@@ -1,4 +1,4 @@
1
- import { O as doc_new_folder_name, Sr as folders_new, _n as action_cancel, bn as error_generic, mn as action_create, vn as action_save, yr as folders_rename } from "./messages-D-auzk9H.js";
1
+ import { O as doc_new_folder_name, _n as action_cancel, _r as folders_rename, bn as error_generic, br as folders_new, mn as action_create, vn as action_save } from "./messages-BAQzILs4.js";
2
2
  import { t as Icon } from "./Icon-QwirKi9Y.js";
3
3
  import { t as Circle_check } from "./circle-check-CPS9dKEo.js";
4
4
  import { t as Loader_circle } from "./loader-circle-CIEWGyfP.js";
@@ -9,6 +9,7 @@ import { createContext } from "svelte";
9
9
  function createFrontendExtensions(initial = {}) {
10
10
  return {
11
11
  sidebarTop: [...initial.sidebarTop ?? []],
12
+ sidebarFooterActions: [...initial.sidebarFooterActions ?? []],
12
13
  navigation: [...initial.navigation ?? []],
13
14
  dashboardWidgets: [...initial.dashboardWidgets ?? []],
14
15
  searchWidgets: [...initial.searchWidgets ?? []],
@@ -16,6 +17,7 @@ function createFrontendExtensions(initial = {}) {
16
17
  editorActions: [...initial.editorActions ?? []],
17
18
  documentMenuActions: [...initial.documentMenuActions ?? []],
18
19
  settingsSections: [...initial.settingsSections ?? []],
20
+ profileActions: [...initial.profileActions ?? []],
19
21
  commandPaletteActions: [...initial.commandPaletteActions ?? []],
20
22
  sharedDocumentHeaderActions: [...initial.sharedDocumentHeaderActions ?? []],
21
23
  sharedDocumentTabs: [...initial.sharedDocumentTabs ?? []],
@@ -11144,4 +11144,4 @@ var messages_exports = /* @__PURE__ */ __exportAll({
11144
11144
  weekday_we: () => weekday_we
11145
11145
  });
11146
11146
  //#endregion
11147
- export { month_august as $, search_tags as $n, editor_toolbar_list as $t, editor_highlight_gray as A, settings_email as An, doc_tags as Ar, version_snapshot_description_placeholder as At, date_picker_aria as B, share_guest_access as Bn, dashboard_title as Br, editor_markdown_placeholder as Bt, categories_new as C, change_password as Cn, doc_move_to_folder as Cr, version_badge_snapshot as Ct, sidebar_powered_by as D, settings_save as Dn, doc_updated as Dr, version_snapshot_dialog_title as Dt, scroll_to_top_aria as E, password_label as En, doc_open_menu as Er, version_snapshot_dialog_description as Et, editor_highlight_red as F, settings_appearance as Fn, doc_title_label as Fr, version_restore_confirm as Ft, weekday_th as G, share_expires_never as Gn, editor_toolbar_emoji as Gt, weekday_su as H, share_expires_7d as Hn, app_name as Hr, editor_enter_url as Ht, editor_highlight_orange as I, settings_account as In, doc_title_placeholder as Ir, version_restore_short as It, weekday_mo as J, share_password_protection as Jn, editor_toolbar_redo as Jt, weekday_we as K, share_expires as Kn, editor_toolbar_text_formatting as Kt, editor_highlight_yellow as L, settings_profile as Ln, dashboard_page_title as Lr, version_restore as Lt, editor_highlight_purple as M, theme_dark as Mn, doc_delete_success as Mr, version_snapshot_description as Mt, editor_highlight_blue as N, theme_light as Nn, doc_delete_confirm as Nr, version_snapshot_label as Nt, doc_new_folder_name as O, settings_name as On, doc_delete as Or, version_snapshot_creating as Ot, editor_highlight_green as P, settings_theme as Pn, doc_content_placeholder as Pr, version_create_snapshot as Pt, month_september as Q, search_date_from as Qn, editor_toolbar_heading as Qt, editor_anonymous as R, settings_title as Rn, dashboard_new_document as Rr, version_history_title as Rt, categories_create_title as S, auth_password as Sn, folders_new as Sr, version_restored_from as St, version_history_empty as T, new_password as Tn, doc_open as Tr, version_filter_all as Tt, weekday_sa as U, share_expires_1d as Un, locales as Ur, editor_toolbar_copy as Ut, date_picker_placeholder as V, share_expires_30d as Vn, nav_documents as Vr, editor_content_label as Vt, weekday_fr as W, share_expires_1h as Wn, setLocale as Wr, editor_toolbar_align as Wt, month_november as X, share_create_title as Xn, editor_toolbar_horizontal_rule as Xt, month_december as Y, share_create_link as Yn, editor_toolbar_undo as Yt, month_october as Z, search_date_to as Zn, editor_toolbar_code_block as Zt, categories_delete_error as _, action_cancel as _n, folders_delete_title as _r, folder_page_title as _t, import_progress_error as a, sidebar_folders as an, tags_name_placeholder as ar, month_february as at, categories_name_placeholder as b, error_generic as bn, folders_empty_description as br, editor_more_options as bt, import_progress_queued as c, time_hours_ago as cn, folders_move as cr, search_empty_description as ct, import_progress_title as d, action_go_to as dn, folders_document as dr, search_folders as dt, editor_toolbar_image as en, search_placeholder as er, month_july as et, sidebar_uncategorized as f, action_back as fn, folders_documents as fr, search_clear_all_filters as ft, categories_delete_title as g, action_delete as gn, folders_delete_description as gr, share_copied as gt, categories_delete_description as h, action_edit as hn, folders_delete_success as hr, search_title_with_query as ht, import_progress_summary as i, editor_toolbar_bold as in, tags_delete_title as ir, month_march as it, editor_highlight_pink as j, theme_system as jn, doc_delete_success_description as jr, version_snapshot_label_placeholder as jt, dashboard_import as k, settings_email_change_warning as kn, doc_share as kr, version_snapshot_create as kt, import_progress_uploading as l, time_minutes_ago as ln, folders_subfolder as lr, search_empty_title as lt, categories_delete_success as m, action_create as mn, folders_delete_success_description as mr, search_input_placeholder as mt, import_progress_empty as n, editor_toolbar_underline as nn, tags_add as nr, month_may as nt, import_progress_done as o, sidebar_recent as on, tags_edit as or, month_january as ot, categories_delete_success_description as p, action_close as pn, folders_name_placeholder as pr, search_toggle_filters as pt, weekday_tu as q, share_toggle_password as qn, editor_toolbar_highlight as qt, import_progress_close as r, editor_toolbar_italic as rn, tags_delete_description as rr, month_april as rt, import_progress_processing as s, time_days_ago as sn, tags_new as sr, search_popular as st, messages_exports as t, editor_toolbar_link as tn, search_title as tr, month_june as tt, import_progress_total as u, action_loading as un, folders_subfolders as ur, search_date_range as ut, categories_update_error as v, action_save as vn, folders_delete as vr, tags_load_error as vt, categories_title as w, confirm_password as wn, doc_duplicate as wr, version_filter_snapshots as wt, categories_edit_title as x, auth_logout as xn, folders_empty as xr, version_restore_failed as xt, categories_create_error as y, error_server as yn, folders_rename as yr, action_copy_content as yt, error_validation as z, share_add as zn, dashboard_subtitle as zr, editor_markdown_label as zt };
11147
+ export { month_august as $, search_title as $n, editor_toolbar_list as $t, editor_highlight_gray as A, settings_email as An, doc_delete_success as Ar, version_snapshot_description_placeholder as At, date_picker_aria as B, share_expires_7d as Bn, app_name as Br, editor_markdown_placeholder as Bt, categories_new as C, change_password as Cn, doc_open as Cr, version_badge_snapshot as Ct, sidebar_powered_by as D, settings_save as Dn, doc_share as Dr, version_snapshot_dialog_title as Dt, scroll_to_top_aria as E, password_label as En, doc_delete as Er, version_snapshot_dialog_description as Et, editor_highlight_red as F, settings_appearance as Fn, dashboard_page_title as Fr, version_restore_confirm as Ft, weekday_th as G, share_toggle_password as Gn, editor_toolbar_emoji as Gt, weekday_su as H, share_expires_1h as Hn, setLocale as Hr, editor_enter_url as Ht, editor_highlight_orange as I, settings_account as In, dashboard_new_document as Ir, version_restore_short as It, weekday_mo as J, share_create_title as Jn, editor_toolbar_redo as Jt, weekday_we as K, share_password_protection as Kn, editor_toolbar_text_formatting as Kt, editor_highlight_yellow as L, settings_profile as Ln, dashboard_subtitle as Lr, version_restore as Lt, editor_highlight_purple as M, theme_dark as Mn, doc_content_placeholder as Mr, version_snapshot_description as Mt, editor_highlight_blue as N, theme_light as Nn, doc_title_label as Nr, version_snapshot_label as Nt, doc_new_folder_name as O, settings_name as On, doc_tags as Or, version_snapshot_creating as Ot, editor_highlight_green as P, settings_theme as Pn, doc_title_placeholder as Pr, version_create_snapshot as Pt, month_september as Q, search_placeholder as Qn, editor_toolbar_heading as Qt, editor_anonymous as R, settings_title as Rn, dashboard_title as Rr, version_history_title as Rt, categories_create_title as S, auth_password as Sn, doc_duplicate as Sr, version_restored_from as St, version_history_empty as T, new_password as Tn, doc_updated as Tr, version_filter_all as Tt, weekday_sa as U, share_expires_never as Un, editor_toolbar_copy as Ut, date_picker_placeholder as V, share_expires_1d as Vn, locales as Vr, editor_content_label as Vt, weekday_fr as W, share_expires as Wn, editor_toolbar_align as Wt, month_november as X, search_date_from as Xn, editor_toolbar_horizontal_rule as Xt, month_december as Y, search_date_to as Yn, editor_toolbar_undo as Yt, month_october as Z, search_tags as Zn, editor_toolbar_code_block as Zt, categories_delete_error as _, action_cancel as _n, folders_rename as _r, folder_page_title as _t, import_progress_error as a, sidebar_folders as an, tags_new as ar, month_february as at, categories_name_placeholder as b, error_generic as bn, folders_new as br, editor_more_options as bt, import_progress_queued as c, time_hours_ago as cn, folders_subfolders as cr, search_empty_description as ct, import_progress_title as d, action_go_to as dn, folders_name_placeholder as dr, search_folders as dt, editor_toolbar_image as en, tags_add as er, month_july as et, sidebar_uncategorized as f, action_back as fn, folders_delete_success_description as fr, search_clear_all_filters as ft, categories_delete_title as g, action_delete as gn, folders_delete as gr, share_copied as gt, categories_delete_description as h, action_edit as hn, folders_delete_title as hr, search_title_with_query as ht, import_progress_summary as i, editor_toolbar_bold as in, tags_edit as ir, month_march as it, editor_highlight_pink as j, theme_system as jn, doc_delete_confirm as jr, version_snapshot_label_placeholder as jt, dashboard_import as k, settings_email_change_warning as kn, doc_delete_success_description as kr, version_snapshot_create as kt, import_progress_uploading as l, time_minutes_ago as ln, folders_document as lr, search_empty_title as lt, categories_delete_success as m, action_create as mn, folders_delete_description as mr, search_input_placeholder as mt, import_progress_empty as n, editor_toolbar_underline as nn, tags_delete_title as nr, month_may as nt, import_progress_done as o, sidebar_recent as on, folders_move as or, month_january as ot, categories_delete_success_description as p, action_close as pn, folders_delete_success as pr, search_toggle_filters as pt, weekday_tu as q, share_create_link as qn, editor_toolbar_highlight as qt, import_progress_close as r, editor_toolbar_italic as rn, tags_name_placeholder as rr, month_april as rt, import_progress_processing as s, time_days_ago as sn, folders_subfolder as sr, search_popular as st, messages_exports as t, editor_toolbar_link as tn, tags_delete_description as tr, month_june as tt, import_progress_total as u, action_loading as un, folders_documents as ur, search_date_range as ut, categories_update_error as v, action_save as vn, folders_empty_description as vr, tags_load_error as vt, categories_title as w, confirm_password as wn, doc_open_menu as wr, version_filter_snapshots as wt, categories_edit_title as x, auth_logout as xn, doc_move_to_folder as xr, version_restore_failed as xt, categories_create_error as y, error_server as yn, folders_empty as yr, action_copy_content as yt, error_validation as z, share_expires_30d as zn, nav_documents as zr, editor_markdown_label as zt };
@@ -1,2 +1,2 @@
1
- import { t as CategoryDialog } from "../assets/CategoryDialog-DDu37Oub.js";
1
+ import { t as CategoryDialog } from "../assets/CategoryDialog-Cnlmr1sz.js";
2
2
  export { CategoryDialog };
@@ -1,2 +1,2 @@
1
- import { t as CreateSnapshotDialog } from "../assets/CreateSnapshotDialog-DNAjd4eD.js";
1
+ import { t as CreateSnapshotDialog } from "../assets/CreateSnapshotDialog-b6O0nUVp.js";
2
2
  export { CreateSnapshotDialog };
@@ -1,4 +1,4 @@
1
- import { $t as editor_toolbar_list, A as editor_highlight_gray, F as editor_highlight_red, Gt as editor_toolbar_emoji, Ht as editor_enter_url, I as editor_highlight_orange, Jt as editor_toolbar_redo, Kt as editor_toolbar_text_formatting, L as editor_highlight_yellow, M as editor_highlight_purple, N as editor_highlight_blue, P as editor_highlight_green, Pr as doc_content_placeholder, Pt as version_create_snapshot, Qt as editor_toolbar_heading, R as editor_anonymous, Ut as editor_toolbar_copy, Vt as editor_content_label, Wt as editor_toolbar_align, Xt as editor_toolbar_horizontal_rule, Yt as editor_toolbar_undo, Zt as editor_toolbar_code_block, _n as action_cancel, en as editor_toolbar_image, in as editor_toolbar_bold, j as editor_highlight_pink, nn as editor_toolbar_underline, qt as editor_toolbar_highlight, rn as editor_toolbar_italic, tn as editor_toolbar_link, vn as action_save } from "../../assets/messages-D-auzk9H.js";
1
+ import { $t as editor_toolbar_list, A as editor_highlight_gray, F as editor_highlight_red, Gt as editor_toolbar_emoji, Ht as editor_enter_url, I as editor_highlight_orange, Jt as editor_toolbar_redo, Kt as editor_toolbar_text_formatting, L as editor_highlight_yellow, M as editor_highlight_purple, Mr as doc_content_placeholder, N as editor_highlight_blue, P as editor_highlight_green, Pt as version_create_snapshot, Qt as editor_toolbar_heading, R as editor_anonymous, Ut as editor_toolbar_copy, Vt as editor_content_label, Wt as editor_toolbar_align, Xt as editor_toolbar_horizontal_rule, Yt as editor_toolbar_undo, Zt as editor_toolbar_code_block, _n as action_cancel, en as editor_toolbar_image, in as editor_toolbar_bold, j as editor_highlight_pink, nn as editor_toolbar_underline, qt as editor_toolbar_highlight, rn as editor_toolbar_italic, tn as editor_toolbar_link, vn as action_save } from "../../assets/messages-BAQzILs4.js";
2
2
  import { t as Icon } from "../../assets/Icon-QwirKi9Y.js";
3
3
  import { t as Camera } from "../../assets/camera-D6s20LDi.js";
4
4
  import { t as Chevron_down } from "../../assets/chevron-down-CvqKATjM.js";
@@ -9,7 +9,7 @@ import { t as Input } from "../../assets/input-DezGsU3y.js";
9
9
  import { a as resolveOfflineIdentity } from "../../assets/identity-B3uHoDtf.js";
10
10
  import { n as getOfflineDB } from "../../assets/db-CnxeO66n.js";
11
11
  import { h as unregisterShortcut, u as registerShortcut } from "../../assets/keyboard.svelte-BgF47N3L.js";
12
- import { t as CreateSnapshotDialog } from "../../assets/CreateSnapshotDialog-DNAjd4eD.js";
12
+ import { t as CreateSnapshotDialog } from "../../assets/CreateSnapshotDialog-b6O0nUVp.js";
13
13
  import { r as editorExtensions } from "../../assets/editorExtensions-DUzwndMy.js";
14
14
  import { t as markdownToJson } from "../../assets/markdown-CjqvGi5W.js";
15
15
  import * as $ from "svelte/internal/server";
@@ -1,4 +1,4 @@
1
- import { Fr as doc_title_label, Ir as doc_title_placeholder } from "../../assets/messages-D-auzk9H.js";
1
+ import { Nr as doc_title_label, Pr as doc_title_placeholder } from "../../assets/messages-BAQzILs4.js";
2
2
  import * as $ from "svelte/internal/server";
3
3
  //#region src/lib/components/editor/DocumentTitle.svelte
4
4
  function DocumentTitle($$renderer, $$props) {
@@ -1,4 +1,4 @@
1
- import { Bt as editor_markdown_placeholder, zt as editor_markdown_label } from "../../assets/messages-D-auzk9H.js";
1
+ import { Bt as editor_markdown_placeholder, zt as editor_markdown_label } from "../../assets/messages-BAQzILs4.js";
2
2
  import { t as Copy } from "../../assets/copy-DkkCPkBL.js";
3
3
  import "../../assets/markdown-CjqvGi5W.js";
4
4
  import * as $ from "svelte/internal/server";
@@ -1,2 +1,2 @@
1
- import { t as FolderNode } from "../assets/FolderNode-CrLWqHJH.js";
1
+ import { t as FolderNode } from "../assets/FolderNode-CnFVWuQi.js";
2
2
  export { FolderNode };
@@ -1,4 +1,4 @@
1
- import { _n as action_cancel, vn as action_save } from "../assets/messages-D-auzk9H.js";
1
+ import { _n as action_cancel, vn as action_save } from "../assets/messages-BAQzILs4.js";
2
2
  import { t as Chevron_down } from "../assets/chevron-down-CvqKATjM.js";
3
3
  import { t as FolderTreeSelector } from "../assets/FolderTreeSelector-Bxi8EqMm.js";
4
4
  import { t as Loader_circle } from "../assets/loader-circle-CIEWGyfP.js";
@@ -1,2 +1,2 @@
1
- import { t as SettingsDialog } from "../assets/SettingsDialog-BymUxBgg.js";
1
+ import { t as SettingsDialog } from "../assets/SettingsDialog-BPdUl6pd.js";
2
2
  export { SettingsDialog };
@@ -1,2 +1,2 @@
1
- import { t as ShareDialog } from "../assets/ShareDialog-B82t8oJi.js";
1
+ import { t as ShareDialog } from "../assets/ShareDialog-BZd28sg-.js";
2
2
  export { ShareDialog };
@@ -1,2 +1,2 @@
1
- import { t as Sidebar } from "../assets/Sidebar-CI8YKbrY.js";
1
+ import { t as Sidebar } from "../assets/Sidebar-DwYZH0Tr.js";
2
2
  export { Sidebar };
@@ -1,2 +1,2 @@
1
- import { t as TagCreateDialog } from "../assets/TagCreateDialog-B7wDbVqG.js";
1
+ import { t as TagCreateDialog } from "../assets/TagCreateDialog-DUPMitlL.js";
2
2
  export { TagCreateDialog };
@@ -1,4 +1,4 @@
1
- import { Ct as version_badge_snapshot, Ft as version_restore_confirm, It as version_restore_short, Lt as version_restore, Pt as version_create_snapshot, Rt as version_history_title, St as version_restored_from, T as version_history_empty, Tt as version_filter_all, _n as action_cancel, bn as error_generic, cn as time_hours_ago, ln as time_minutes_ago, sn as time_days_ago, un as action_loading, wt as version_filter_snapshots, xt as version_restore_failed } from "../assets/messages-D-auzk9H.js";
1
+ import { Ct as version_badge_snapshot, Ft as version_restore_confirm, It as version_restore_short, Lt as version_restore, Pt as version_create_snapshot, Rt as version_history_title, St as version_restored_from, T as version_history_empty, Tt as version_filter_all, _n as action_cancel, bn as error_generic, cn as time_hours_ago, ln as time_minutes_ago, sn as time_days_ago, un as action_loading, wt as version_filter_snapshots, xt as version_restore_failed } from "../assets/messages-BAQzILs4.js";
2
2
  import { t as Icon } from "../assets/Icon-QwirKi9Y.js";
3
3
  import { t as Camera } from "../assets/camera-D6s20LDi.js";
4
4
  import { t as Clock } from "../assets/clock-CzsE58TH.js";
@@ -7,7 +7,7 @@ import { t as Circle_check } from "../assets/circle-check-CPS9dKEo.js";
7
7
  import { t as Loader_circle } from "../assets/loader-circle-CIEWGyfP.js";
8
8
  import { n as apiFetch, t as ApiError } from "../assets/client-DZMkDkDn.js";
9
9
  import { t as ConfirmDialog } from "../assets/ConfirmDialog-BhAelejz.js";
10
- import { t as CreateSnapshotDialog } from "../assets/CreateSnapshotDialog-DNAjd4eD.js";
10
+ import { t as CreateSnapshotDialog } from "../assets/CreateSnapshotDialog-b6O0nUVp.js";
11
11
  import * as $ from "svelte/internal/server";
12
12
  //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/history.svelte
13
13
  function History($$renderer, $$props) {
@@ -1,7 +1,7 @@
1
- import { Br as dashboard_title, Cr as doc_move_to_folder, Dr as doc_updated, Er as doc_open_menu, Lr as dashboard_page_title, Rr as dashboard_new_document, Tr as doc_open, Vr as nav_documents, _n as action_cancel, _r as folders_delete_title, _t as folder_page_title, a as import_progress_error, br as folders_empty_description, bt as editor_more_options, c as import_progress_queued, cr as folders_move, d as import_progress_title, dr as folders_document, f as sidebar_uncategorized, fn as action_back, fr as folders_documents, gn as action_delete, gr as folders_delete_description, gt as share_copied, i as import_progress_summary, k as dashboard_import, kr as doc_share, l as import_progress_uploading, lr as folders_subfolder, n as import_progress_empty, o as import_progress_done, pn as action_close, r as import_progress_close, s as import_progress_processing, u as import_progress_total, un as action_loading, ur as folders_subfolders, vn as action_save, vr as folders_delete, wr as doc_duplicate, xr as folders_empty, yr as folders_rename, yt as action_copy_content, zr as dashboard_subtitle } from "./assets/messages-D-auzk9H.js";
1
+ import { Cr as doc_open, 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, _n as action_cancel, _r as folders_rename, _t as folder_page_title, a as import_progress_error, bt as editor_more_options, c as import_progress_queued, cr as folders_subfolders, d as import_progress_title, f as sidebar_uncategorized, fn as action_back, gn as action_delete, gr as folders_delete, gt as share_copied, hr as folders_delete_title, i as import_progress_summary, k as dashboard_import, l as import_progress_uploading, lr as folders_document, mr as folders_delete_description, n as import_progress_empty, o as import_progress_done, or as folders_move, pn as action_close, r as import_progress_close, s as import_progress_processing, sr as folders_subfolder, u as import_progress_total, un as action_loading, ur as folders_documents, vn as action_save, vr as folders_empty_description, wr as doc_open_menu, xr as doc_move_to_folder, yr as folders_empty, yt as action_copy_content, zr as nav_documents } from "./assets/messages-BAQzILs4.js";
2
2
  import { t as Icon } from "./assets/Icon-QwirKi9Y.js";
3
- import { i as Folder_kanban, n as Badge, r as X, t as DatePicker } from "./assets/DatePicker-Cp6Qmgdb.js";
4
- import { i as Check, n as Plus, r as File_text, t as FolderDialog } from "./assets/confirm-dialog-B3C0WeMn.js";
3
+ import { i as Folder_kanban, n as Badge, r as X, t as DatePicker } from "./assets/DatePicker-D84cJ-Eq.js";
4
+ import { i as Check, n as Plus, r as File_text, t as FolderDialog } from "./assets/confirm-dialog-XuyaL8sr.js";
5
5
  import { t as Chevron_down } from "./assets/chevron-down-CvqKATjM.js";
6
6
  import { t as Chevron_right } from "./assets/chevron-right-DKD7WXjz.js";
7
7
  import { t as Copy } from "./assets/copy-DkkCPkBL.js";
@@ -17,14 +17,14 @@ import { a as Dialog, i as Dialog_description, n as Dialog_header, o as Button,
17
17
  import { t as Label } from "./assets/label-Bj8-TfFN.js";
18
18
  import { n as apiFetch } from "./assets/client-DZMkDkDn.js";
19
19
  import "./assets/categories-av9xjeg5.js";
20
- import { t as getFrontendExtensions } from "./assets/context-BtCMqdVe.js";
20
+ import { t as getFrontendExtensions } from "./assets/context-Bi_mO-NS.js";
21
21
  import { t as resolveExtensions } from "./assets/resolve-BqHozBXl.js";
22
22
  import { A as isBrowser, K as watch, et as boxWith, q as Context } from "./assets/floating-layer-anchor-BIAu-252.js";
23
23
  import { a as Select, i as Select_content, n as Select_trigger, r as Select_item, t as Select_value } from "./assets/select-value-DBhbkNcc.js";
24
24
  import { c as updateDocument, i as getDocument } from "./assets/documents-CZ-wQohy.js";
25
25
  import { c as updateFolder, i as duplicateDocument } from "./assets/folders-BX30gHv6.js";
26
26
  import { t as copyToClipboard } from "./assets/clipboard-CXOaoz2W.js";
27
- import { t as ShareDialog } from "./assets/ShareDialog-B82t8oJi.js";
27
+ import { t as ShareDialog } from "./assets/ShareDialog-BZd28sg-.js";
28
28
  import { d as refreshFolders, n as bumpSubfoldersRefresh } from "./assets/subfolders-refresh-store.svelte-DAh4gT16.js";
29
29
  import { n as refreshDocs } from "./assets/tag-store.svelte-BM1lUI_P.js";
30
30
  import { t as ConfirmDialog } from "./assets/ConfirmDialog-BhAelejz.js";
@@ -1900,7 +1900,12 @@ function HiaiDocsDashboardHost($$renderer, $$props) {
1900
1900
  duplicatingDocumentId = null;
1901
1901
  }
1902
1902
  }
1903
- function triggerImport() {}
1903
+ function triggerImport() {
1904
+ if (extensionContext.capabilities?.["docsmint.import.manager"]) {
1905
+ navigateDocsmintRoute(route, "/organize");
1906
+ return;
1907
+ }
1908
+ }
1904
1909
  function closeImport() {
1905
1910
  importOpen = false;
1906
1911
  setTimeout(() => {
@@ -2115,7 +2120,7 @@ function HiaiDocsDashboardHost($$renderer, $$props) {
2115
2120
  for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
2116
2121
  let widget = each_array[$$index];
2117
2122
  const Widget = widget.component;
2118
- $$renderer.push(`<div class="rounded-xl border border-border bg-card p-4"${$.attr("data-hiai-docs-extension-id", widget.id)}>`);
2123
+ $$renderer.push(`<div${$.attr_class($.clsx([widget.chrome === false ? "contents" : "rounded-xl border border-border bg-card p-4", widget.colSpan === 12 && "md:col-span-2"]))}${$.attr("data-hiai-docs-extension-id", widget.id)}>`);
2119
2124
  if (widget.title) {
2120
2125
  $$renderer.push("<!--[0-->");
2121
2126
  $$renderer.push(`<h2 class="mb-3 text-sm font-semibold">${$.escape(widget.title)}</h2>`);
@@ -1,2 +1,2 @@
1
- import { t as HiaiDocsExtensionProvider } from "./assets/HiaiDocsExtensionProvider-B_MrN08c.js";
1
+ import { t as HiaiDocsExtensionProvider } from "./assets/HiaiDocsExtensionProvider-BRKWmcDd.js";
2
2
  export { HiaiDocsExtensionProvider as DocsmintExtensionProvider };
@@ -1,4 +1,4 @@
1
- import { Ur as locales, Wr as setLocale$1, t as messages_exports } from "./assets/messages-D-auzk9H.js";
1
+ import { Hr as setLocale$1, Vr as locales, t as messages_exports } from "./assets/messages-BAQzILs4.js";
2
2
  //#region ../packages/sdk/frontend-entries/i18n.ts
3
3
  var messages = messages_exports;
4
4
  var supportedLocales = locales;
@@ -1,13 +1,13 @@
1
- import { $n as search_tags, Hr as app_name, Qn as search_date_from, Zn as search_date_to, ct as search_empty_description, dt as search_folders, ft as search_clear_all_filters, ht as search_title_with_query, lt as search_empty_title, mt as search_input_placeholder, pt as search_toggle_filters, st as search_popular, tr as search_title, ut as search_date_range, w as categories_title } from "./assets/messages-D-auzk9H.js";
1
+ import { $n as search_title, Br as app_name, Xn as search_date_from, Yn as search_date_to, Zn as search_tags, ct as search_empty_description, dt as search_folders, ft as search_clear_all_filters, ht as search_title_with_query, lt as search_empty_title, mt as search_input_placeholder, pt as search_toggle_filters, st as search_popular, ut as search_date_range, w as categories_title } from "./assets/messages-BAQzILs4.js";
2
2
  import { t as Icon } from "./assets/Icon-QwirKi9Y.js";
3
- import { a as Calendar, i as Folder_kanban, r as X, t as DatePicker } from "./assets/DatePicker-Cp6Qmgdb.js";
3
+ import { a as Calendar, i as Folder_kanban, r as X, t as DatePicker } from "./assets/DatePicker-D84cJ-Eq.js";
4
4
  import { t as Chevron_down } from "./assets/chevron-down-CvqKATjM.js";
5
5
  import { t as Folder } from "./assets/folder-DYIE-XPP.js";
6
6
  import { t as Rotate_ccw } from "./assets/rotate-ccw-dJSqPyTd.js";
7
7
  import { n as Search, t as Tag } from "./assets/tag-BmiVU_Ej.js";
8
8
  import { a as getDocsmintRequestAdapter, n as navigateDocsmintRoute, t as getDocsmintRouteAdapter } from "./assets/route-context-BPRerEtZ.js";
9
9
  import "./assets/categories-av9xjeg5.js";
10
- import { t as getFrontendExtensions } from "./assets/context-BtCMqdVe.js";
10
+ import { t as getFrontendExtensions } from "./assets/context-Bi_mO-NS.js";
11
11
  import { t as resolveExtensions } from "./assets/resolve-BqHozBXl.js";
12
12
  import "./assets/select-value-DBhbkNcc.js";
13
13
  import "./assets/tag-store.svelte-BM1lUI_P.js";
@@ -1,4 +1,4 @@
1
- import { t as getFrontendExtensions } from "./assets/context-BtCMqdVe.js";
1
+ import { t as getFrontendExtensions } from "./assets/context-Bi_mO-NS.js";
2
2
  import * as $ from "svelte/internal/server";
3
3
  //#region src/lib/components/editor/shared-document.ts
4
4
  var ATTACHMENT_PATH = /^\/api\/attachments\/[0-9a-f-]+\/raw$/i;
@@ -22,6 +22,8 @@ var tsvector = customType({
22
22
  });
23
23
  var documentVisibilityEnum = pgEnum("document_visibility", ["private", "shared", "public"]);
24
24
  var shareRoleEnum = pgEnum("share_role", ["viewer", "commenter", "editor"]);
25
+ var shareAccessModeEnum = pgEnum("share_access_mode", ["public", "restricted"]);
26
+ var shareGrantStatusEnum = pgEnum("share_grant_status", ["pending", "accepted", "revoked"]);
25
27
  var embeddingStatusEnum = pgEnum("embedding_status", [
26
28
  "pending",
27
29
  "processing",
@@ -313,6 +315,9 @@ var shareLinks = pgTable("share_links", {
313
315
  token: text("token").notNull().unique(),
314
316
  passwordHash: text("password_hash"),
315
317
  role: shareRoleEnum("role").notNull().default("viewer"),
318
+ accessMode: shareAccessModeEnum("access_mode").notNull().default("public"),
319
+ allowPasswordFallback: boolean("allow_password_fallback").notNull().default(false),
320
+ policyVersion: integer("policy_version").notNull().default(1),
316
321
  expiresAt: timestamp("expires_at"),
317
322
  createdBy: uuid("created_by").notNull().references(() => users.id, { onDelete: "cascade" }),
318
323
  workspaceId: text("workspace_id"),
@@ -348,8 +353,15 @@ var guestAccess = pgTable("guest_access", {
348
353
  shareLinkId: uuid("share_link_id").notNull().references(() => shareLinks.id, { onDelete: "cascade" }),
349
354
  workspaceId: text("workspace_id"),
350
355
  guestEmail: text("guest_email").notNull(),
351
- grantedAt: timestamp("granted_at").defaultNow().notNull()
352
- }, (table) => [index("guest_access_share_link_idx").on(table.shareLinkId)]);
356
+ role: shareRoleEnum("role").notNull().default("viewer"),
357
+ status: shareGrantStatusEnum("status").notNull().default("pending"),
358
+ grantedAt: timestamp("granted_at").defaultNow().notNull(),
359
+ acceptedAt: timestamp("accepted_at"),
360
+ revokedAt: timestamp("revoked_at")
361
+ }, (table) => [
362
+ index("guest_access_share_link_idx").on(table.shareLinkId),
363
+ uniqueIndex("guest_access_share_link_email_unique_idx").on(table.shareLinkId, table.guestEmail)
364
+ ]);
353
365
  var guestAccessRelations = relations(guestAccess, ({ one }) => ({
354
366
  shareLink: one(shareLinks, {
355
367
  fields: [guestAccess.shareLinkId],
@@ -365,7 +377,10 @@ var attachments = pgTable("attachments", {
365
377
  size: bigint("size", { mode: "number" }).notNull(),
366
378
  storageKey: text("storage_key").notNull(),
367
379
  createdAt: timestamp("created_at").defaultNow().notNull()
368
- }, (table) => [index("attachments_document_id_idx").on(table.documentId)]);
380
+ }, (table) => [
381
+ index("attachments_document_id_idx").on(table.documentId),
382
+ uniqueIndex("attachments_storage_key_unique").on(table.storageKey)
383
+ ]);
369
384
  var attachmentRelations = relations(attachments, ({ one }) => ({
370
385
  document: one(documents, {
371
386
  fields: [attachments.documentId],
package/dist/types.d.ts CHANGED
@@ -161,6 +161,11 @@ export interface DocsSearchResponse {
161
161
  total: number;
162
162
  page: number;
163
163
  limit: number;
164
+ diagnostics?: {
165
+ graphAttempted: boolean;
166
+ graphFailed: boolean;
167
+ graphContribution: boolean;
168
+ };
164
169
  }
165
170
  export interface DocsSearchOptions {
166
171
  folder?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hiai-gg/docsmint",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "type": "module",
5
5
  "browser": {
6
6
  "./dist/backend-launcher.js": false,
@@ -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.5.1";
27
+ const VERSION = "0.5.2";
28
28
 
29
29
  const program = new Command();
30
30
  program
@@ -32,6 +32,8 @@ import { relations, sql } from "drizzle-orm";
32
32
  // ============================================
33
33
  export const documentVisibilityEnum = pgEnum("document_visibility", ["private", "shared", "public"]);
34
34
  export const shareRoleEnum = pgEnum("share_role", ["viewer", "commenter", "editor"]);
35
+ export const shareAccessModeEnum = pgEnum("share_access_mode", ["public", "restricted"]);
36
+ export const shareGrantStatusEnum = pgEnum("share_grant_status", ["pending", "accepted", "revoked"]);
35
37
  export const embeddingStatusEnum = pgEnum("embedding_status", [
36
38
  "pending",
37
39
  "processing",
@@ -455,6 +457,9 @@ export const shareLinks = pgTable(
455
457
  token: text("token").notNull().unique(),
456
458
  passwordHash: text("password_hash"),
457
459
  role: shareRoleEnum("role").notNull().default("viewer"),
460
+ accessMode: shareAccessModeEnum("access_mode").notNull().default("public"),
461
+ allowPasswordFallback: boolean("allow_password_fallback").notNull().default(false),
462
+ policyVersion: integer("policy_version").notNull().default(1),
458
463
  expiresAt: timestamp("expires_at"),
459
464
  createdBy: uuid("created_by")
460
465
  .notNull()
@@ -506,9 +511,16 @@ export const guestAccess = pgTable(
506
511
  .references(() => shareLinks.id, { onDelete: "cascade" }),
507
512
  workspaceId: text("workspace_id"),
508
513
  guestEmail: text("guest_email").notNull(),
514
+ role: shareRoleEnum("role").notNull().default("viewer"),
515
+ status: shareGrantStatusEnum("status").notNull().default("pending"),
509
516
  grantedAt: timestamp("granted_at").defaultNow().notNull(),
517
+ acceptedAt: timestamp("accepted_at"),
518
+ revokedAt: timestamp("revoked_at"),
510
519
  },
511
- (table) => [index("guest_access_share_link_idx").on(table.shareLinkId)]
520
+ (table) => [
521
+ index("guest_access_share_link_idx").on(table.shareLinkId),
522
+ uniqueIndex("guest_access_share_link_email_unique_idx").on(table.shareLinkId, table.guestEmail),
523
+ ]
512
524
  );
513
525
 
514
526
  export const guestAccessRelations = relations(guestAccess, ({ one }) => ({
@@ -535,7 +547,10 @@ export const attachments = pgTable(
535
547
  storageKey: text("storage_key").notNull(),
536
548
  createdAt: timestamp("created_at").defaultNow().notNull(),
537
549
  },
538
- (table) => [index("attachments_document_id_idx").on(table.documentId)]
550
+ (table) => [
551
+ index("attachments_document_id_idx").on(table.documentId),
552
+ uniqueIndex("attachments_storage_key_unique").on(table.storageKey),
553
+ ]
539
554
  );
540
555
 
541
556
  export const attachmentRelations = relations(attachments, ({ one }) => ({
@@ -35,7 +35,7 @@ interface McpToolResult {
35
35
 
36
36
  const server = new McpServer({
37
37
  name: "hiai-docs",
38
- version: "0.5.1",
38
+ version: "0.5.2",
39
39
  });
40
40
 
41
41
  /**