@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.
- package/dist/backend/index.js +47 -8
- package/dist/backend-account-runtime-cleanup.js +20 -3
- package/dist/backend-api-key-facade.js +20 -3
- package/dist/backend-pipeline-cancellation.js +20 -3
- package/dist/frontend/{HiaiDocsExtensionProvider-CMiTXi2J.js → HiaiDocsExtensionProvider-OSn96BBw.js} +1 -1
- package/dist/frontend/{SettingsDialog-DEx1eEZm.js → SettingsDialog-Bd_S2RKW.js} +104 -96
- package/dist/frontend/ShareDialog-BC-Jl6v1.js +257 -0
- package/dist/frontend/{Sidebar-BthP-jOS.js → Sidebar-BnZgNl_8.js} +347 -331
- package/dist/frontend/api/attachments.js +1 -1
- package/dist/frontend/app-shell.js +3 -3
- package/dist/frontend/{attachments-C2DBzU-r.js → attachments-B8AuDjno.js} +8 -5
- package/dist/frontend/components/editor/document-editor.js +1 -1
- package/dist/frontend/components/settings.js +1 -1
- package/dist/frontend/components/share-dialog.js +1 -1
- package/dist/frontend/components/sidebar.js +1 -1
- package/dist/frontend/{context-KLiM3QQ0.js → context-D0zPFXZ4.js} +2 -0
- package/dist/frontend/dashboard.js +10 -4
- package/dist/frontend/extension.d.ts +3 -2
- package/dist/frontend/extension.js +1 -1
- package/dist/frontend/frontend.css +1 -1
- package/dist/frontend/search.js +1 -1
- package/dist/frontend/shared-document.js +1 -1
- package/dist/frontend-ssr/api/attachments.js +1 -1
- package/dist/frontend-ssr/app-shell.js +4 -4
- package/dist/frontend-ssr/assets/{CategoryDialog-DDu37Oub.js → CategoryDialog-Cnlmr1sz.js} +1 -1
- package/dist/frontend-ssr/assets/{CreateSnapshotDialog-DNAjd4eD.js → CreateSnapshotDialog-b6O0nUVp.js} +1 -1
- package/dist/frontend-ssr/assets/{DatePicker-Cp6Qmgdb.js → DatePicker-D84cJ-Eq.js} +1 -1
- package/dist/frontend-ssr/assets/{FolderNode-CrLWqHJH.js → FolderNode-CnFVWuQi.js} +1 -1
- package/dist/frontend-ssr/assets/{HiaiDocsExtensionProvider-B_MrN08c.js → HiaiDocsExtensionProvider-BRKWmcDd.js} +1 -1
- package/dist/frontend-ssr/assets/{SettingsDialog-BymUxBgg.js → SettingsDialog-BPdUl6pd.js} +23 -9
- package/dist/frontend-ssr/assets/ShareDialog-BZd28sg-.js +45 -0
- package/dist/frontend-ssr/assets/{Sidebar-CI8YKbrY.js → Sidebar-DwYZH0Tr.js} +38 -11
- package/dist/frontend-ssr/assets/{TagCreateDialog-B7wDbVqG.js → TagCreateDialog-DUPMitlL.js} +1 -1
- package/dist/frontend-ssr/assets/{attachments-CXgatN0B.js → attachments-Cj3fQyUp.js} +11 -4
- package/dist/frontend-ssr/assets/{confirm-dialog-B3C0WeMn.js → confirm-dialog-XuyaL8sr.js} +1 -1
- package/dist/frontend-ssr/assets/{context-BtCMqdVe.js → context-Bi_mO-NS.js} +2 -0
- package/dist/frontend-ssr/assets/{messages-D-auzk9H.js → messages-BAQzILs4.js} +1 -1
- package/dist/frontend-ssr/components/category-dialog.js +1 -1
- package/dist/frontend-ssr/components/create-snapshot-dialog.js +1 -1
- package/dist/frontend-ssr/components/editor/document-editor.js +2 -2
- package/dist/frontend-ssr/components/editor/document-title.js +1 -1
- package/dist/frontend-ssr/components/editor/markdown-toggle.js +1 -1
- package/dist/frontend-ssr/components/folder-node.js +1 -1
- package/dist/frontend-ssr/components/save-as-dialog.js +1 -1
- package/dist/frontend-ssr/components/settings.js +1 -1
- package/dist/frontend-ssr/components/share-dialog.js +1 -1
- package/dist/frontend-ssr/components/sidebar.js +1 -1
- package/dist/frontend-ssr/components/tag-create-dialog.js +1 -1
- package/dist/frontend-ssr/components/version-history.js +2 -2
- package/dist/frontend-ssr/dashboard.js +12 -7
- package/dist/frontend-ssr/extension.js +1 -1
- package/dist/frontend-ssr/i18n.js +1 -1
- package/dist/frontend-ssr/search.js +3 -3
- package/dist/frontend-ssr/shared-document.js +1 -1
- package/dist/lifecycle-runtime.js +18 -3
- package/dist/types.d.ts +5 -0
- package/package.json +1 -1
- package/packages/cli/src/index.ts +1 -1
- package/packages/db/src/schema.ts +17 -2
- package/packages/mcp-server/src/index.ts +1 -1
- package/dist/frontend/ShareDialog-uEf8Ks02.js +0 -166
- package/dist/frontend-ssr/assets/ShareDialog-B82t8oJi.js +0 -56
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
27
|
-
import { t as CategoryDialog } from "./CategoryDialog-
|
|
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-
|
|
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-
|
|
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"
|
|
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> <
|
|
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, {
|
package/dist/frontend-ssr/assets/{TagCreateDialog-B7wDbVqG.js → TagCreateDialog-DUPMitlL.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _n as action_cancel, ar as
|
|
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)
|
|
73
|
-
|
|
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,
|
|
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 $,
|
|
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-
|
|
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-
|
|
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,
|
|
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-
|
|
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 {
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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 {
|
|
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-
|
|
4
|
-
import { i as Check, n as Plus, r as File_text, t as FolderDialog } from "./assets/confirm-dialog-
|
|
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-
|
|
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-
|
|
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
|
|
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-
|
|
1
|
+
import { t as HiaiDocsExtensionProvider } from "./assets/HiaiDocsExtensionProvider-BRKWmcDd.js";
|
|
2
2
|
export { HiaiDocsExtensionProvider as DocsmintExtensionProvider };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
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
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
352
|
-
|
|
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) => [
|
|
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
|
@@ -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.
|
|
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) => [
|
|
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) => [
|
|
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 }) => ({
|