@hiai-gg/docsmint 0.3.7 → 0.3.8
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/backend/src/lib/logger.ts +45 -15
- package/dist/backend/index.js +238 -150
- package/dist/frontend/CategoryDialog-DphkZqIB.js +611 -0
- package/dist/frontend/ConfirmDialog-BLF3x_hr.js +214 -0
- package/dist/frontend/CreateSnapshotDialog-D5vPvFTL.js +216 -0
- package/dist/frontend/DatePicker-CLNTdvTk.js +259 -0
- package/dist/frontend/DeleteDialog-DxYFJivN.js +174 -0
- package/dist/frontend/FolderDialog-CRVZM2Oi.js +250 -0
- package/dist/frontend/FolderNode-C2zG7uii.js +298 -0
- package/dist/frontend/FolderTreeSelector-CyB8y2Sm.js +103 -0
- package/dist/frontend/Icon-CooFj4Ee.js +64 -0
- package/dist/frontend/SettingsDialog-DCM4-N6_.js +1016 -0
- package/dist/frontend/ShareDialog-DYu3RKQu.js +165 -0
- package/dist/frontend/TagCreateDialog-DXQs2bL9.js +260 -0
- package/dist/frontend/camera-iKXDOOWT.js +29 -0
- package/dist/frontend/check-D-UuvBuh.js +25 -0
- package/dist/frontend/chevron-down-CiPtYyFh.js +25 -0
- package/dist/frontend/circle-check-tSPE1V6t.js +29 -0
- package/dist/frontend/clock-DJHbHZb8.js +29 -0
- package/dist/frontend/{bundle-mjs-CP6Owz-8.js → clsx-C7bIvsDS.js} +16 -1
- package/dist/frontend/components/category-dialog.js +1 -1
- package/dist/frontend/components/create-snapshot-dialog.js +1 -1
- package/dist/frontend/components/delete-dialog.js +1 -1
- package/dist/frontend/components/editor/document-editor.js +1364 -1353
- package/dist/frontend/components/editor/document-title.js +25 -25
- package/dist/frontend/components/editor/markdown-toggle.js +45 -45
- package/dist/frontend/components/folder-node.js +1 -1
- package/dist/frontend/components/folder-tree-selector.js +1 -1
- package/dist/frontend/components/save-as-dialog.js +169 -151
- package/dist/frontend/components/settings.js +1 -1
- package/dist/frontend/components/share-dialog.js +1 -1
- package/dist/frontend/components/sidebar.js +1161 -1153
- package/dist/frontend/components/tag-create-dialog.js +1 -1
- package/dist/frontend/components/version-history.js +188 -187
- package/dist/frontend/copy-GppwRMjX.js +32 -0
- package/dist/frontend/dashboard.js +1188 -1156
- package/dist/frontend/dialog-D6NxYVmy.js +213 -0
- package/dist/frontend/doc-tabs.js +2 -2
- package/dist/frontend/ellipsis-vertical-P9MHvCps.js +530 -0
- package/dist/frontend/extension.js +8 -8
- package/dist/frontend/{floating-layer-anchor-C51M4l6v.js → floating-layer-anchor-CPwucTfd.js} +1414 -1412
- package/dist/frontend/folder-DeWhnD7O.js +45 -0
- package/dist/frontend/folder-refresh.js +1 -1
- package/dist/frontend/input-B5Rak-5G.js +23 -0
- package/dist/frontend/keyboard.js +1 -1
- package/dist/frontend/{keyboard.svelte-D7H8DihC.js → keyboard.svelte-CApmX0vl.js} +53 -53
- package/dist/frontend/label-CW9rxoAb.js +30 -0
- package/dist/frontend/{loader-circle-Bk-WFz9g.js → loader-circle-BA6aLO71.js} +86 -85
- package/dist/frontend/rotate-ccw-B4Q7brmV.js +25 -0
- package/dist/frontend/search.js +680 -654
- package/dist/frontend/select-value-sF86Geyh.js +1446 -0
- package/dist/frontend/shared-document.js +94 -94
- package/dist/frontend/subfolders-refresh-store.svelte-B2dKVmgz.js +65 -0
- package/dist/frontend/tag-HxRazVN_.js +54 -0
- package/dist/frontend/tag-store.svelte-CqrUXo0o.js +29 -0
- package/dist/frontend/textarea-i1720bE7.js +23 -0
- package/dist/frontend/theme.js +1 -1
- package/dist/frontend/theme.svelte-DKfCy12k.js +49 -0
- package/dist/frontend/{utils-C0OW2678.js → utils-CffiyuTo.js} +2 -3
- package/dist/frontend/{utils-D8kmM3ub.js → utils-hzdMVeCv.js} +2 -3
- package/dist/frontend/utils.js +1 -1
- package/dist/frontend/x-CzBsnJ2x.js +25 -0
- package/dist/frontend-ssr/api/attachments.js +2 -0
- package/dist/frontend-ssr/api/categories.js +2 -0
- package/dist/frontend-ssr/api/documents.js +2 -0
- package/dist/frontend-ssr/api/folders.js +2 -0
- package/dist/frontend-ssr/api/settings.js +2 -0
- package/dist/frontend-ssr/api/share.js +2 -0
- package/dist/frontend-ssr/api/tags.js +2 -0
- package/dist/frontend-ssr/assets/CategoryDialog-C2xaZKHq.js +584 -0
- package/dist/frontend-ssr/assets/ConfirmDialog-DjMFKc0V.js +420 -0
- package/dist/frontend-ssr/assets/CreateSnapshotDialog-BRw1xJW1.js +214 -0
- package/dist/frontend-ssr/assets/DatePicker-DnXniwlZ.js +312 -0
- package/dist/frontend-ssr/assets/DeleteDialog-BCfZy3Zn.js +154 -0
- package/dist/frontend-ssr/assets/FolderDialog-Dq7I2cKZ.js +429 -0
- package/dist/frontend-ssr/assets/FolderNode-DRfBfpft.js +171 -0
- package/dist/frontend-ssr/assets/FolderTreeSelector-DZNZ2oI6.js +147 -0
- package/dist/frontend-ssr/assets/Icon-B0Zqppjo.js +231 -0
- package/dist/frontend-ssr/assets/SettingsDialog-CX8Noa8A.js +1107 -0
- package/dist/frontend-ssr/assets/ShareDialog-Cge49ZdJ.js +54 -0
- package/dist/frontend-ssr/assets/TagCreateDialog-EAChgBF-.js +264 -0
- package/dist/frontend-ssr/assets/api-keys-DFqX39MT.js +35 -0
- package/dist/frontend-ssr/assets/attachments-CWBxE3Vz.js +85 -0
- package/dist/frontend-ssr/assets/auth-client-x26kqY8Z.js +1286 -0
- package/dist/frontend-ssr/assets/camera-CdxscTw-.js +84 -0
- package/dist/frontend-ssr/assets/categories-AOqgcsn4.js +75 -0
- package/dist/frontend-ssr/assets/chevron-down-CSSNGNh_.js +80 -0
- package/dist/frontend-ssr/assets/chevron-right-B4p7Sk6X.js +80 -0
- package/dist/frontend-ssr/assets/circle-check-CI1v4vYh.js +84 -0
- package/dist/frontend-ssr/assets/client-DZMkDkDn.js +129 -0
- package/dist/frontend-ssr/assets/clipboard-CXOaoz2W.js +30 -0
- package/dist/frontend-ssr/assets/clock-IL-eX2di.js +84 -0
- package/dist/frontend-ssr/assets/context-jz1GGEUi.js +45 -0
- package/dist/frontend-ssr/assets/copy-CjV57nGQ.js +87 -0
- package/dist/frontend-ssr/assets/db-CnxeO66n.js +65 -0
- package/dist/frontend-ssr/assets/dialog-BOV1u6zP.js +157 -0
- package/dist/frontend-ssr/assets/dndzone-DMvTO_Jz.js +2114 -0
- package/dist/frontend-ssr/assets/document-drop-coordinator-CEaYACsC.js +109 -0
- package/dist/frontend-ssr/assets/documents-BnOTRdTY.js +108 -0
- package/dist/frontend-ssr/assets/editorExtensions-DUzwndMy.js +186 -0
- package/dist/frontend-ssr/assets/ellipsis-vertical-C-0hgkZn.js +555 -0
- package/dist/frontend-ssr/assets/floating-layer-anchor-uzw9K8qN.js +6114 -0
- package/dist/frontend-ssr/assets/folder-DChhG7qN.js +80 -0
- package/dist/frontend-ssr/assets/folders-CTfbS24J.js +127 -0
- package/dist/frontend-ssr/assets/identity-B3uHoDtf.js +99 -0
- package/dist/frontend-ssr/assets/input-DezGsU3y.js +19 -0
- package/dist/frontend-ssr/assets/keyboard.svelte-BgF47N3L.js +174 -0
- package/dist/frontend-ssr/assets/label-Bj8-TfFN.js +21 -0
- package/dist/frontend-ssr/assets/loader-circle-DZsrZ-er.js +80 -0
- package/dist/frontend-ssr/assets/markdown-CjqvGi5W.js +20 -0
- package/dist/frontend-ssr/assets/messages-DhXqlcJI.js +11125 -0
- package/dist/frontend-ssr/assets/resolve-BqHozBXl.js +32 -0
- package/dist/frontend-ssr/assets/rotate-ccw-BlgWwaiq.js +80 -0
- package/dist/frontend-ssr/assets/select-value-DngdSmLI.js +1526 -0
- package/dist/frontend-ssr/assets/settings-E6qSAWM2.js +64 -0
- package/dist/frontend-ssr/assets/share-BTBJelxA.js +30 -0
- package/dist/frontend-ssr/assets/subfolders-refresh-store.svelte-DAh4gT16.js +77 -0
- package/dist/frontend-ssr/assets/tag-GZEuGWk1.js +166 -0
- package/dist/frontend-ssr/assets/tag-store.svelte-DPodKj6Z.js +21 -0
- package/dist/frontend-ssr/assets/tags-BId2wdYd.js +49 -0
- package/dist/frontend-ssr/assets/textarea-Dev-qSEc.js +21 -0
- package/dist/frontend-ssr/assets/theme.svelte-Co0-ssaD.js +67 -0
- package/dist/frontend-ssr/assets/utils-DtlPPXpJ.js +9 -0
- package/dist/frontend-ssr/assets/utils-DvZnctjz.js +23 -0
- package/dist/frontend-ssr/collaboration.js +39 -0
- package/dist/frontend-ssr/components/category-dialog.js +2 -0
- package/dist/frontend-ssr/components/create-snapshot-dialog.js +2 -0
- package/dist/frontend-ssr/components/delete-dialog.js +2 -0
- package/dist/frontend-ssr/components/editor/document-editor.js +2499 -0
- package/dist/frontend-ssr/components/editor/document-title.js +11 -0
- package/dist/frontend-ssr/components/editor/docx-serializer.js +186 -0
- package/dist/frontend-ssr/components/editor/extensions.js +2 -0
- package/dist/frontend-ssr/components/editor/markdown-toggle.js +20 -0
- package/dist/frontend-ssr/components/editor/markdown.js +2 -0
- package/dist/frontend-ssr/components/folder-node.js +2 -0
- package/dist/frontend-ssr/components/folder-tree-selector.js +2 -0
- package/dist/frontend-ssr/components/save-as-dialog.js +280 -0
- package/dist/frontend-ssr/components/settings.js +2 -0
- package/dist/frontend-ssr/components/share-dialog.js +2 -0
- package/dist/frontend-ssr/components/sidebar.js +2033 -0
- package/dist/frontend-ssr/components/tag-create-dialog.js +2 -0
- package/dist/frontend-ssr/components/version-history.js +370 -0
- package/dist/frontend-ssr/dashboard.js +2542 -0
- package/dist/frontend-ssr/doc-tabs.js +23 -0
- package/dist/frontend-ssr/document-drop-coordinator.js +2 -0
- package/dist/frontend-ssr/extension.js +13 -0
- package/dist/frontend-ssr/folder-refresh.js +2 -0
- package/dist/frontend-ssr/i18n.js +10 -0
- package/dist/frontend-ssr/keyboard.js +2 -0
- package/dist/frontend-ssr/offline/identity.js +2 -0
- package/dist/frontend-ssr/search.js +332 -0
- package/dist/frontend-ssr/shared-document.js +273 -0
- package/dist/frontend-ssr/theme.js +9 -0
- package/dist/frontend-ssr/types.js +1 -0
- package/dist/frontend-ssr/utils/clipboard.js +2 -0
- package/dist/frontend-ssr/utils/dndzone.js +2 -0
- package/dist/frontend-ssr/utils.js +2 -0
- package/package.json +22 -1
- package/packages/cli/src/index.ts +1 -1
- package/packages/db/src/schema.ts +3 -0
- package/packages/mcp-server/src/index.ts +1 -1
- package/dist/frontend/CategoryDialog--rIE7FrH.js +0 -580
- package/dist/frontend/ConfirmDialog-Cpzyb55f.js +0 -212
- package/dist/frontend/CreateSnapshotDialog-CmkV-n2A.js +0 -216
- package/dist/frontend/DatePicker-Byynca7V.js +0 -257
- package/dist/frontend/DeleteDialog-ap6nOywZ.js +0 -174
- package/dist/frontend/FolderDialog-DmN_trV0.js +0 -247
- package/dist/frontend/FolderNode-C4B8a2fd.js +0 -317
- package/dist/frontend/FolderTreeSelector-D6ijiZTA.js +0 -100
- package/dist/frontend/Icon-DtNo0N1U.js +0 -64
- package/dist/frontend/SettingsDialog-2kTaTXAs.js +0 -992
- package/dist/frontend/ShareDialog-BBDGNF5n.js +0 -165
- package/dist/frontend/TagCreateDialog-DiLZnJo4.js +0 -258
- package/dist/frontend/camera-B7dAOd4s.js +0 -28
- package/dist/frontend/check-CDwRlG9T.js +0 -24
- package/dist/frontend/chevron-down-B7ZrjUmT.js +0 -24
- package/dist/frontend/circle-check-CDqeMB2d.js +0 -28
- package/dist/frontend/client-Bc5Fzx40.js +0 -2785
- package/dist/frontend/clock-Ck5Sn-Zl.js +0 -28
- package/dist/frontend/clsx-nmtDPO_P.js +0 -16
- package/dist/frontend/copy-CMAA6GP0.js +0 -31
- package/dist/frontend/dialog-BDkiG42a.js +0 -213
- package/dist/frontend/disclose-version-5I57E3LD.js +0 -3
- package/dist/frontend/ellipsis-vertical-BBuPldbW.js +0 -519
- package/dist/frontend/folder-TQjKY4yn.js +0 -44
- package/dist/frontend/index-client-jobkrWVL.js +0 -86
- package/dist/frontend/input-CBI6p4Xl.js +0 -23
- package/dist/frontend/label-C-GkhEp4.js +0 -30
- package/dist/frontend/rotate-ccw-CleZtJ5D.js +0 -24
- package/dist/frontend/select-value-CvrWRkXW.js +0 -1436
- package/dist/frontend/subfolders-refresh-store.svelte-BsheoQma.js +0 -65
- package/dist/frontend/tag-Dx3SmucJ.js +0 -53
- package/dist/frontend/tag-store.svelte-CIaF4sdZ.js +0 -29
- package/dist/frontend/textarea-Dfp78XlL.js +0 -23
- package/dist/frontend/theme.svelte-CROg1Hi5.js +0 -49
- package/dist/frontend/x-DaTdeDXv.js +0 -24
package/dist/backend/index.js
CHANGED
|
@@ -42924,6 +42924,7 @@ var init_schema2 = __esm(() => {
|
|
|
42924
42924
|
embeddingProfile: text("embedding_profile"),
|
|
42925
42925
|
embeddingErrorCode: text("embedding_error_code"),
|
|
42926
42926
|
embeddingUpdatedAt: timestamp("embedding_updated_at"),
|
|
42927
|
+
deletedAt: timestamp("deleted_at"),
|
|
42927
42928
|
createdAt: timestamp("created_at").defaultNow().notNull(),
|
|
42928
42929
|
updatedAt: timestamp("updated_at").defaultNow().notNull()
|
|
42929
42930
|
}, (table3) => [
|
|
@@ -42934,6 +42935,7 @@ var init_schema2 = __esm(() => {
|
|
|
42934
42935
|
index("idx_documents_search_vector").using("gin", table3.searchVector),
|
|
42935
42936
|
index("idx_documents_search_vector_simple").using("gin", table3.searchVectorSimple),
|
|
42936
42937
|
index("documents_embedding_status_idx").on(table3.embeddingStatus),
|
|
42938
|
+
index("documents_workspace_deleted_at_idx").on(table3.workspaceId, table3.deletedAt),
|
|
42937
42939
|
index("idx_documents_title_trgm").using("gin", sql`${table3.title} gin_trgm_ops`)
|
|
42938
42940
|
]);
|
|
42939
42941
|
documentRelations = relations(documents, ({ one, many }) => ({
|
|
@@ -77696,6 +77698,7 @@ var init_config_schema = __esm(() => {
|
|
|
77696
77698
|
DOCSMINT_WORKSPACE_ISSUER: exports_external2.string().trim().optional(),
|
|
77697
77699
|
DOCSMINT_WORKSPACE_SECRET: exports_external2.string().optional(),
|
|
77698
77700
|
VERSION_RETENTION_COUNT: exports_external2.coerce.number().default(50),
|
|
77701
|
+
DOCUMENT_TRASH_RETENTION_DAYS: exports_external2.coerce.number().int().min(0).max(3650).default(30),
|
|
77699
77702
|
ATTACHMENT_MAX_SIZE_MB: exports_external2.coerce.number().int().min(1).max(500).default(25),
|
|
77700
77703
|
ATTACHMENT_PRESIGN_EXPIRY_SECONDS: exports_external2.coerce.number().int().min(60).max(3600).default(900),
|
|
77701
77704
|
CHUNK_TARGET_TOKENS: exports_external2.coerce.number().int().min(100).max(2000).default(500),
|
|
@@ -82149,14 +82152,27 @@ var require_pino = __commonJS((exports, module) => {
|
|
|
82149
82152
|
});
|
|
82150
82153
|
|
|
82151
82154
|
// ../../backend/src/lib/logger.ts
|
|
82152
|
-
|
|
82155
|
+
function resolvePrettyTransport(environment, resolveModule) {
|
|
82156
|
+
if (environment.NODE_ENV !== "development")
|
|
82157
|
+
return;
|
|
82158
|
+
try {
|
|
82159
|
+
resolveModule("pino-pretty");
|
|
82160
|
+
return { target: "pino-pretty", options: { colorize: true } };
|
|
82161
|
+
} catch {
|
|
82162
|
+
return;
|
|
82163
|
+
}
|
|
82164
|
+
}
|
|
82165
|
+
function createDocsMintLoggerOptions(environment = process.env, resolveModule = (specifier) => import.meta.resolve(specifier)) {
|
|
82166
|
+
const level = environment.LOG_LEVEL ?? "info";
|
|
82167
|
+
return {
|
|
82168
|
+
level,
|
|
82169
|
+
transport: resolvePrettyTransport(environment, resolveModule)
|
|
82170
|
+
};
|
|
82171
|
+
}
|
|
82172
|
+
var import_pino, logger3;
|
|
82153
82173
|
var init_logger3 = __esm(() => {
|
|
82154
82174
|
import_pino = __toESM(require_pino(), 1);
|
|
82155
|
-
|
|
82156
|
-
logger3 = import_pino.default({
|
|
82157
|
-
level,
|
|
82158
|
-
transport: isDev ? { target: "pino-pretty", options: { colorize: true } } : undefined
|
|
82159
|
-
});
|
|
82175
|
+
logger3 = import_pino.default(createDocsMintLoggerOptions());
|
|
82160
82176
|
});
|
|
82161
82177
|
|
|
82162
82178
|
// ../../backend/src/lib/config.ts
|
|
@@ -128942,14 +128958,14 @@ var require_errors3 = __commonJS((exports, module) => {
|
|
|
128942
128958
|
enumerable: true
|
|
128943
128959
|
});
|
|
128944
128960
|
AggregateError2.prototype["isOperational"] = true;
|
|
128945
|
-
var
|
|
128961
|
+
var level = 0;
|
|
128946
128962
|
AggregateError2.prototype.toString = function() {
|
|
128947
|
-
var indent = Array(
|
|
128963
|
+
var indent = Array(level * 4 + 1).join(" ");
|
|
128948
128964
|
var ret = `
|
|
128949
128965
|
` + indent + "AggregateError of:" + `
|
|
128950
128966
|
`;
|
|
128951
|
-
|
|
128952
|
-
indent = Array(
|
|
128967
|
+
level++;
|
|
128968
|
+
indent = Array(level * 4 + 1).join(" ");
|
|
128953
128969
|
for (var i4 = 0;i4 < this.length; ++i4) {
|
|
128954
128970
|
var str = this[i4] === this ? "[Circular AggregateError]" : this[i4] + "";
|
|
128955
128971
|
var lines = str.split(`
|
|
@@ -128962,7 +128978,7 @@ var require_errors3 = __commonJS((exports, module) => {
|
|
|
128962
128978
|
ret += str + `
|
|
128963
128979
|
`;
|
|
128964
128980
|
}
|
|
128965
|
-
|
|
128981
|
+
level--;
|
|
128966
128982
|
return ret;
|
|
128967
128983
|
};
|
|
128968
128984
|
function OperationalError(message2) {
|
|
@@ -138687,13 +138703,13 @@ var require_deflate = __commonJS((exports) => {
|
|
|
138687
138703
|
strm.state.gzhead = head;
|
|
138688
138704
|
return Z_OK;
|
|
138689
138705
|
}
|
|
138690
|
-
function deflateInit2(strm,
|
|
138706
|
+
function deflateInit2(strm, level, method, windowBits, memLevel, strategy) {
|
|
138691
138707
|
if (!strm) {
|
|
138692
138708
|
return Z_STREAM_ERROR;
|
|
138693
138709
|
}
|
|
138694
138710
|
var wrap4 = 1;
|
|
138695
|
-
if (
|
|
138696
|
-
|
|
138711
|
+
if (level === Z_DEFAULT_COMPRESSION) {
|
|
138712
|
+
level = 6;
|
|
138697
138713
|
}
|
|
138698
138714
|
if (windowBits < 0) {
|
|
138699
138715
|
wrap4 = 0;
|
|
@@ -138702,7 +138718,7 @@ var require_deflate = __commonJS((exports) => {
|
|
|
138702
138718
|
wrap4 = 2;
|
|
138703
138719
|
windowBits -= 16;
|
|
138704
138720
|
}
|
|
138705
|
-
if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED || windowBits < 8 || windowBits > 15 ||
|
|
138721
|
+
if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED || windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED) {
|
|
138706
138722
|
return err(strm, Z_STREAM_ERROR);
|
|
138707
138723
|
}
|
|
138708
138724
|
if (windowBits === 8) {
|
|
@@ -138728,13 +138744,13 @@ var require_deflate = __commonJS((exports) => {
|
|
|
138728
138744
|
s2.pending_buf = new utils5.Buf8(s2.pending_buf_size);
|
|
138729
138745
|
s2.d_buf = 1 * s2.lit_bufsize;
|
|
138730
138746
|
s2.l_buf = (1 + 2) * s2.lit_bufsize;
|
|
138731
|
-
s2.level =
|
|
138747
|
+
s2.level = level;
|
|
138732
138748
|
s2.strategy = strategy;
|
|
138733
138749
|
s2.method = method;
|
|
138734
138750
|
return deflateReset(strm);
|
|
138735
138751
|
}
|
|
138736
|
-
function deflateInit(strm,
|
|
138737
|
-
return deflateInit2(strm,
|
|
138752
|
+
function deflateInit(strm, level) {
|
|
138753
|
+
return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);
|
|
138738
138754
|
}
|
|
138739
138755
|
function deflate(strm, flush) {
|
|
138740
138756
|
var old_flush, s2;
|
|
@@ -147034,8 +147050,8 @@ var require_xmldom = __commonJS((exports) => {
|
|
|
147034
147050
|
function parseFromString(string4) {
|
|
147035
147051
|
var error53 = null;
|
|
147036
147052
|
var domParser2 = new xmldom.DOMParser({
|
|
147037
|
-
errorHandler: function(
|
|
147038
|
-
error53 = { level
|
|
147053
|
+
errorHandler: function(level, message2) {
|
|
147054
|
+
error53 = { level, message: message2 };
|
|
147039
147055
|
}
|
|
147040
147056
|
});
|
|
147041
147057
|
var document2 = domParser2.parseFromString(string4);
|
|
@@ -148518,10 +148534,10 @@ var require_XMLWriterBase = __commonJS((exports, module) => {
|
|
|
148518
148534
|
}
|
|
148519
148535
|
return this;
|
|
148520
148536
|
};
|
|
148521
|
-
XMLWriterBase2.prototype.space = function(
|
|
148537
|
+
XMLWriterBase2.prototype.space = function(level) {
|
|
148522
148538
|
var indent;
|
|
148523
148539
|
if (this.pretty) {
|
|
148524
|
-
indent = (
|
|
148540
|
+
indent = (level || 0) + this.offset + 1;
|
|
148525
148541
|
if (indent > 0) {
|
|
148526
148542
|
return new Array(indent).join(this.indent);
|
|
148527
148543
|
} else {
|
|
@@ -148604,15 +148620,15 @@ var require_XMLStringWriter = __commonJS((exports, module) => {
|
|
|
148604
148620
|
XMLStringWriter2.prototype.attribute = function(att) {
|
|
148605
148621
|
return " " + att.name + '="' + att.value + '"';
|
|
148606
148622
|
};
|
|
148607
|
-
XMLStringWriter2.prototype.cdata = function(node,
|
|
148608
|
-
return this.space(
|
|
148623
|
+
XMLStringWriter2.prototype.cdata = function(node, level) {
|
|
148624
|
+
return this.space(level) + "<![CDATA[" + node.text + "]]>" + this.newline;
|
|
148609
148625
|
};
|
|
148610
|
-
XMLStringWriter2.prototype.comment = function(node,
|
|
148611
|
-
return this.space(
|
|
148626
|
+
XMLStringWriter2.prototype.comment = function(node, level) {
|
|
148627
|
+
return this.space(level) + "<!-- " + node.text + " -->" + this.newline;
|
|
148612
148628
|
};
|
|
148613
|
-
XMLStringWriter2.prototype.declaration = function(node,
|
|
148629
|
+
XMLStringWriter2.prototype.declaration = function(node, level) {
|
|
148614
148630
|
var r4;
|
|
148615
|
-
r4 = this.space(
|
|
148631
|
+
r4 = this.space(level);
|
|
148616
148632
|
r4 += '<?xml version="' + node.version + '"';
|
|
148617
148633
|
if (node.encoding != null) {
|
|
148618
148634
|
r4 += ' encoding="' + node.encoding + '"';
|
|
@@ -148624,10 +148640,10 @@ var require_XMLStringWriter = __commonJS((exports, module) => {
|
|
|
148624
148640
|
r4 += this.newline;
|
|
148625
148641
|
return r4;
|
|
148626
148642
|
};
|
|
148627
|
-
XMLStringWriter2.prototype.docType = function(node,
|
|
148643
|
+
XMLStringWriter2.prototype.docType = function(node, level) {
|
|
148628
148644
|
var child2, i3, len, r4, ref;
|
|
148629
|
-
|
|
148630
|
-
r4 = this.space(
|
|
148645
|
+
level || (level = 0);
|
|
148646
|
+
r4 = this.space(level);
|
|
148631
148647
|
r4 += "<!DOCTYPE " + node.root().name;
|
|
148632
148648
|
if (node.pubID && node.sysID) {
|
|
148633
148649
|
r4 += ' PUBLIC "' + node.pubID + '" "' + node.sysID + '"';
|
|
@@ -148643,19 +148659,19 @@ var require_XMLStringWriter = __commonJS((exports, module) => {
|
|
|
148643
148659
|
r4 += function() {
|
|
148644
148660
|
switch (false) {
|
|
148645
148661
|
case !(child2 instanceof XMLDTDAttList):
|
|
148646
|
-
return this.dtdAttList(child2,
|
|
148662
|
+
return this.dtdAttList(child2, level + 1);
|
|
148647
148663
|
case !(child2 instanceof XMLDTDElement):
|
|
148648
|
-
return this.dtdElement(child2,
|
|
148664
|
+
return this.dtdElement(child2, level + 1);
|
|
148649
148665
|
case !(child2 instanceof XMLDTDEntity):
|
|
148650
|
-
return this.dtdEntity(child2,
|
|
148666
|
+
return this.dtdEntity(child2, level + 1);
|
|
148651
148667
|
case !(child2 instanceof XMLDTDNotation):
|
|
148652
|
-
return this.dtdNotation(child2,
|
|
148668
|
+
return this.dtdNotation(child2, level + 1);
|
|
148653
148669
|
case !(child2 instanceof XMLCData):
|
|
148654
|
-
return this.cdata(child2,
|
|
148670
|
+
return this.cdata(child2, level + 1);
|
|
148655
148671
|
case !(child2 instanceof XMLComment):
|
|
148656
|
-
return this.comment(child2,
|
|
148672
|
+
return this.comment(child2, level + 1);
|
|
148657
148673
|
case !(child2 instanceof XMLProcessingInstruction):
|
|
148658
|
-
return this.processingInstruction(child2,
|
|
148674
|
+
return this.processingInstruction(child2, level + 1);
|
|
148659
148675
|
default:
|
|
148660
148676
|
throw new Error("Unknown DTD node type: " + child2.constructor.name);
|
|
148661
148677
|
}
|
|
@@ -148667,9 +148683,9 @@ var require_XMLStringWriter = __commonJS((exports, module) => {
|
|
|
148667
148683
|
r4 += this.newline;
|
|
148668
148684
|
return r4;
|
|
148669
148685
|
};
|
|
148670
|
-
XMLStringWriter2.prototype.element = function(node,
|
|
148686
|
+
XMLStringWriter2.prototype.element = function(node, level) {
|
|
148671
148687
|
var att, child2, i3, j3, len, len1, name, r4, ref, ref1, ref2, space, textispresentwasset;
|
|
148672
|
-
|
|
148688
|
+
level || (level = 0);
|
|
148673
148689
|
textispresentwasset = false;
|
|
148674
148690
|
if (this.textispresent) {
|
|
148675
148691
|
this.newline = "";
|
|
@@ -148678,7 +148694,7 @@ var require_XMLStringWriter = __commonJS((exports, module) => {
|
|
|
148678
148694
|
this.newline = this.newlinedefault;
|
|
148679
148695
|
this.pretty = this.prettydefault;
|
|
148680
148696
|
}
|
|
148681
|
-
space = this.space(
|
|
148697
|
+
space = this.space(level);
|
|
148682
148698
|
r4 = "";
|
|
148683
148699
|
r4 += space + "<" + node.name;
|
|
148684
148700
|
ref = node.attributes;
|
|
@@ -148715,7 +148731,7 @@ var require_XMLStringWriter = __commonJS((exports, module) => {
|
|
|
148715
148731
|
if (this.textispresent) {
|
|
148716
148732
|
this.newline = "";
|
|
148717
148733
|
this.pretty = false;
|
|
148718
|
-
space = this.space(
|
|
148734
|
+
space = this.space(level);
|
|
148719
148735
|
}
|
|
148720
148736
|
r4 += ">" + this.newline;
|
|
148721
148737
|
ref2 = node.children;
|
|
@@ -148724,17 +148740,17 @@ var require_XMLStringWriter = __commonJS((exports, module) => {
|
|
|
148724
148740
|
r4 += function() {
|
|
148725
148741
|
switch (false) {
|
|
148726
148742
|
case !(child2 instanceof XMLCData):
|
|
148727
|
-
return this.cdata(child2,
|
|
148743
|
+
return this.cdata(child2, level + 1);
|
|
148728
148744
|
case !(child2 instanceof XMLComment):
|
|
148729
|
-
return this.comment(child2,
|
|
148745
|
+
return this.comment(child2, level + 1);
|
|
148730
148746
|
case !(child2 instanceof XMLElement):
|
|
148731
|
-
return this.element(child2,
|
|
148747
|
+
return this.element(child2, level + 1);
|
|
148732
148748
|
case !(child2 instanceof XMLRaw):
|
|
148733
|
-
return this.raw(child2,
|
|
148749
|
+
return this.raw(child2, level + 1);
|
|
148734
148750
|
case !(child2 instanceof XMLText):
|
|
148735
|
-
return this.text(child2,
|
|
148751
|
+
return this.text(child2, level + 1);
|
|
148736
148752
|
case !(child2 instanceof XMLProcessingInstruction):
|
|
148737
|
-
return this.processingInstruction(child2,
|
|
148753
|
+
return this.processingInstruction(child2, level + 1);
|
|
148738
148754
|
case !(child2 instanceof XMLDummy):
|
|
148739
148755
|
return "";
|
|
148740
148756
|
default:
|
|
@@ -148753,24 +148769,24 @@ var require_XMLStringWriter = __commonJS((exports, module) => {
|
|
|
148753
148769
|
}
|
|
148754
148770
|
return r4;
|
|
148755
148771
|
};
|
|
148756
|
-
XMLStringWriter2.prototype.processingInstruction = function(node,
|
|
148772
|
+
XMLStringWriter2.prototype.processingInstruction = function(node, level) {
|
|
148757
148773
|
var r4;
|
|
148758
|
-
r4 = this.space(
|
|
148774
|
+
r4 = this.space(level) + "<?" + node.target;
|
|
148759
148775
|
if (node.value) {
|
|
148760
148776
|
r4 += " " + node.value;
|
|
148761
148777
|
}
|
|
148762
148778
|
r4 += this.spacebeforeslash + "?>" + this.newline;
|
|
148763
148779
|
return r4;
|
|
148764
148780
|
};
|
|
148765
|
-
XMLStringWriter2.prototype.raw = function(node,
|
|
148766
|
-
return this.space(
|
|
148781
|
+
XMLStringWriter2.prototype.raw = function(node, level) {
|
|
148782
|
+
return this.space(level) + node.value + this.newline;
|
|
148767
148783
|
};
|
|
148768
|
-
XMLStringWriter2.prototype.text = function(node,
|
|
148769
|
-
return this.space(
|
|
148784
|
+
XMLStringWriter2.prototype.text = function(node, level) {
|
|
148785
|
+
return this.space(level) + node.value + this.newline;
|
|
148770
148786
|
};
|
|
148771
|
-
XMLStringWriter2.prototype.dtdAttList = function(node,
|
|
148787
|
+
XMLStringWriter2.prototype.dtdAttList = function(node, level) {
|
|
148772
148788
|
var r4;
|
|
148773
|
-
r4 = this.space(
|
|
148789
|
+
r4 = this.space(level) + "<!ATTLIST " + node.elementName + " " + node.attributeName + " " + node.attributeType;
|
|
148774
148790
|
if (node.defaultValueType !== "#DEFAULT") {
|
|
148775
148791
|
r4 += " " + node.defaultValueType;
|
|
148776
148792
|
}
|
|
@@ -148780,12 +148796,12 @@ var require_XMLStringWriter = __commonJS((exports, module) => {
|
|
|
148780
148796
|
r4 += this.spacebeforeslash + ">" + this.newline;
|
|
148781
148797
|
return r4;
|
|
148782
148798
|
};
|
|
148783
|
-
XMLStringWriter2.prototype.dtdElement = function(node,
|
|
148784
|
-
return this.space(
|
|
148799
|
+
XMLStringWriter2.prototype.dtdElement = function(node, level) {
|
|
148800
|
+
return this.space(level) + "<!ELEMENT " + node.name + " " + node.value + this.spacebeforeslash + ">" + this.newline;
|
|
148785
148801
|
};
|
|
148786
|
-
XMLStringWriter2.prototype.dtdEntity = function(node,
|
|
148802
|
+
XMLStringWriter2.prototype.dtdEntity = function(node, level) {
|
|
148787
148803
|
var r4;
|
|
148788
|
-
r4 = this.space(
|
|
148804
|
+
r4 = this.space(level) + "<!ENTITY";
|
|
148789
148805
|
if (node.pe) {
|
|
148790
148806
|
r4 += " %";
|
|
148791
148807
|
}
|
|
@@ -148805,9 +148821,9 @@ var require_XMLStringWriter = __commonJS((exports, module) => {
|
|
|
148805
148821
|
r4 += this.spacebeforeslash + ">" + this.newline;
|
|
148806
148822
|
return r4;
|
|
148807
148823
|
};
|
|
148808
|
-
XMLStringWriter2.prototype.dtdNotation = function(node,
|
|
148824
|
+
XMLStringWriter2.prototype.dtdNotation = function(node, level) {
|
|
148809
148825
|
var r4;
|
|
148810
|
-
r4 = this.space(
|
|
148826
|
+
r4 = this.space(level) + "<!NOTATION " + node.name;
|
|
148811
148827
|
if (node.pubID && node.sysID) {
|
|
148812
148828
|
r4 += ' PUBLIC "' + node.pubID + '" "' + node.sysID + '"';
|
|
148813
148829
|
} else if (node.pubID) {
|
|
@@ -148818,11 +148834,11 @@ var require_XMLStringWriter = __commonJS((exports, module) => {
|
|
|
148818
148834
|
r4 += this.spacebeforeslash + ">" + this.newline;
|
|
148819
148835
|
return r4;
|
|
148820
148836
|
};
|
|
148821
|
-
XMLStringWriter2.prototype.openNode = function(node,
|
|
148837
|
+
XMLStringWriter2.prototype.openNode = function(node, level) {
|
|
148822
148838
|
var att, name, r4, ref;
|
|
148823
|
-
|
|
148839
|
+
level || (level = 0);
|
|
148824
148840
|
if (node instanceof XMLElement) {
|
|
148825
|
-
r4 = this.space(
|
|
148841
|
+
r4 = this.space(level) + "<" + node.name;
|
|
148826
148842
|
ref = node.attributes;
|
|
148827
148843
|
for (name in ref) {
|
|
148828
148844
|
if (!hasProp.call(ref, name))
|
|
@@ -148833,7 +148849,7 @@ var require_XMLStringWriter = __commonJS((exports, module) => {
|
|
|
148833
148849
|
r4 += (node.children ? ">" : "/>") + this.newline;
|
|
148834
148850
|
return r4;
|
|
148835
148851
|
} else {
|
|
148836
|
-
r4 = this.space(
|
|
148852
|
+
r4 = this.space(level) + "<!DOCTYPE " + node.rootNodeName;
|
|
148837
148853
|
if (node.pubID && node.sysID) {
|
|
148838
148854
|
r4 += ' PUBLIC "' + node.pubID + '" "' + node.sysID + '"';
|
|
148839
148855
|
} else if (node.sysID) {
|
|
@@ -148843,13 +148859,13 @@ var require_XMLStringWriter = __commonJS((exports, module) => {
|
|
|
148843
148859
|
return r4;
|
|
148844
148860
|
}
|
|
148845
148861
|
};
|
|
148846
|
-
XMLStringWriter2.prototype.closeNode = function(node,
|
|
148847
|
-
|
|
148862
|
+
XMLStringWriter2.prototype.closeNode = function(node, level) {
|
|
148863
|
+
level || (level = 0);
|
|
148848
148864
|
switch (false) {
|
|
148849
148865
|
case !(node instanceof XMLElement):
|
|
148850
|
-
return this.space(
|
|
148866
|
+
return this.space(level) + "</" + node.name + ">" + this.newline;
|
|
148851
148867
|
case !(node instanceof XMLDocType):
|
|
148852
|
-
return this.space(
|
|
148868
|
+
return this.space(level) + "]>" + this.newline;
|
|
148853
148869
|
}
|
|
148854
148870
|
};
|
|
148855
148871
|
return XMLStringWriter2;
|
|
@@ -149175,9 +149191,9 @@ var require_XMLDocumentCB = __commonJS((exports, module) => {
|
|
|
149175
149191
|
return node.isClosed = true;
|
|
149176
149192
|
}
|
|
149177
149193
|
};
|
|
149178
|
-
XMLDocumentCB2.prototype.onData = function(chunk,
|
|
149194
|
+
XMLDocumentCB2.prototype.onData = function(chunk, level) {
|
|
149179
149195
|
this.documentStarted = true;
|
|
149180
|
-
return this.onDataCallback(chunk,
|
|
149196
|
+
return this.onDataCallback(chunk, level + 1);
|
|
149181
149197
|
};
|
|
149182
149198
|
XMLDocumentCB2.prototype.onEnd = function() {
|
|
149183
149199
|
this.documentCompleted = true;
|
|
@@ -149336,14 +149352,14 @@ var require_XMLStreamWriter = __commonJS((exports, module) => {
|
|
|
149336
149352
|
XMLStreamWriter2.prototype.attribute = function(att) {
|
|
149337
149353
|
return this.stream.write(" " + att.name + '="' + att.value + '"');
|
|
149338
149354
|
};
|
|
149339
|
-
XMLStreamWriter2.prototype.cdata = function(node,
|
|
149340
|
-
return this.stream.write(this.space(
|
|
149355
|
+
XMLStreamWriter2.prototype.cdata = function(node, level) {
|
|
149356
|
+
return this.stream.write(this.space(level) + "<![CDATA[" + node.text + "]]>" + this.endline(node));
|
|
149341
149357
|
};
|
|
149342
|
-
XMLStreamWriter2.prototype.comment = function(node,
|
|
149343
|
-
return this.stream.write(this.space(
|
|
149358
|
+
XMLStreamWriter2.prototype.comment = function(node, level) {
|
|
149359
|
+
return this.stream.write(this.space(level) + "<!-- " + node.text + " -->" + this.endline(node));
|
|
149344
149360
|
};
|
|
149345
|
-
XMLStreamWriter2.prototype.declaration = function(node,
|
|
149346
|
-
this.stream.write(this.space(
|
|
149361
|
+
XMLStreamWriter2.prototype.declaration = function(node, level) {
|
|
149362
|
+
this.stream.write(this.space(level));
|
|
149347
149363
|
this.stream.write('<?xml version="' + node.version + '"');
|
|
149348
149364
|
if (node.encoding != null) {
|
|
149349
149365
|
this.stream.write(' encoding="' + node.encoding + '"');
|
|
@@ -149354,10 +149370,10 @@ var require_XMLStreamWriter = __commonJS((exports, module) => {
|
|
|
149354
149370
|
this.stream.write(this.spacebeforeslash + "?>");
|
|
149355
149371
|
return this.stream.write(this.endline(node));
|
|
149356
149372
|
};
|
|
149357
|
-
XMLStreamWriter2.prototype.docType = function(node,
|
|
149373
|
+
XMLStreamWriter2.prototype.docType = function(node, level) {
|
|
149358
149374
|
var child2, i3, len, ref;
|
|
149359
|
-
|
|
149360
|
-
this.stream.write(this.space(
|
|
149375
|
+
level || (level = 0);
|
|
149376
|
+
this.stream.write(this.space(level));
|
|
149361
149377
|
this.stream.write("<!DOCTYPE " + node.root().name);
|
|
149362
149378
|
if (node.pubID && node.sysID) {
|
|
149363
149379
|
this.stream.write(' PUBLIC "' + node.pubID + '" "' + node.sysID + '"');
|
|
@@ -149372,25 +149388,25 @@ var require_XMLStreamWriter = __commonJS((exports, module) => {
|
|
|
149372
149388
|
child2 = ref[i3];
|
|
149373
149389
|
switch (false) {
|
|
149374
149390
|
case !(child2 instanceof XMLDTDAttList):
|
|
149375
|
-
this.dtdAttList(child2,
|
|
149391
|
+
this.dtdAttList(child2, level + 1);
|
|
149376
149392
|
break;
|
|
149377
149393
|
case !(child2 instanceof XMLDTDElement):
|
|
149378
|
-
this.dtdElement(child2,
|
|
149394
|
+
this.dtdElement(child2, level + 1);
|
|
149379
149395
|
break;
|
|
149380
149396
|
case !(child2 instanceof XMLDTDEntity):
|
|
149381
|
-
this.dtdEntity(child2,
|
|
149397
|
+
this.dtdEntity(child2, level + 1);
|
|
149382
149398
|
break;
|
|
149383
149399
|
case !(child2 instanceof XMLDTDNotation):
|
|
149384
|
-
this.dtdNotation(child2,
|
|
149400
|
+
this.dtdNotation(child2, level + 1);
|
|
149385
149401
|
break;
|
|
149386
149402
|
case !(child2 instanceof XMLCData):
|
|
149387
|
-
this.cdata(child2,
|
|
149403
|
+
this.cdata(child2, level + 1);
|
|
149388
149404
|
break;
|
|
149389
149405
|
case !(child2 instanceof XMLComment):
|
|
149390
|
-
this.comment(child2,
|
|
149406
|
+
this.comment(child2, level + 1);
|
|
149391
149407
|
break;
|
|
149392
149408
|
case !(child2 instanceof XMLProcessingInstruction):
|
|
149393
|
-
this.processingInstruction(child2,
|
|
149409
|
+
this.processingInstruction(child2, level + 1);
|
|
149394
149410
|
break;
|
|
149395
149411
|
default:
|
|
149396
149412
|
throw new Error("Unknown DTD node type: " + child2.constructor.name);
|
|
@@ -149401,10 +149417,10 @@ var require_XMLStreamWriter = __commonJS((exports, module) => {
|
|
|
149401
149417
|
this.stream.write(this.spacebeforeslash + ">");
|
|
149402
149418
|
return this.stream.write(this.endline(node));
|
|
149403
149419
|
};
|
|
149404
|
-
XMLStreamWriter2.prototype.element = function(node,
|
|
149420
|
+
XMLStreamWriter2.prototype.element = function(node, level) {
|
|
149405
149421
|
var att, child2, i3, len, name, ref, ref1, space;
|
|
149406
|
-
|
|
149407
|
-
space = this.space(
|
|
149422
|
+
level || (level = 0);
|
|
149423
|
+
space = this.space(level);
|
|
149408
149424
|
this.stream.write(space + "<" + node.name);
|
|
149409
149425
|
ref = node.attributes;
|
|
149410
149426
|
for (name in ref) {
|
|
@@ -149432,22 +149448,22 @@ var require_XMLStreamWriter = __commonJS((exports, module) => {
|
|
|
149432
149448
|
child2 = ref1[i3];
|
|
149433
149449
|
switch (false) {
|
|
149434
149450
|
case !(child2 instanceof XMLCData):
|
|
149435
|
-
this.cdata(child2,
|
|
149451
|
+
this.cdata(child2, level + 1);
|
|
149436
149452
|
break;
|
|
149437
149453
|
case !(child2 instanceof XMLComment):
|
|
149438
|
-
this.comment(child2,
|
|
149454
|
+
this.comment(child2, level + 1);
|
|
149439
149455
|
break;
|
|
149440
149456
|
case !(child2 instanceof XMLElement):
|
|
149441
|
-
this.element(child2,
|
|
149457
|
+
this.element(child2, level + 1);
|
|
149442
149458
|
break;
|
|
149443
149459
|
case !(child2 instanceof XMLRaw):
|
|
149444
|
-
this.raw(child2,
|
|
149460
|
+
this.raw(child2, level + 1);
|
|
149445
149461
|
break;
|
|
149446
149462
|
case !(child2 instanceof XMLText):
|
|
149447
|
-
this.text(child2,
|
|
149463
|
+
this.text(child2, level + 1);
|
|
149448
149464
|
break;
|
|
149449
149465
|
case !(child2 instanceof XMLProcessingInstruction):
|
|
149450
|
-
this.processingInstruction(child2,
|
|
149466
|
+
this.processingInstruction(child2, level + 1);
|
|
149451
149467
|
break;
|
|
149452
149468
|
case !(child2 instanceof XMLDummy):
|
|
149453
149469
|
break;
|
|
@@ -149459,21 +149475,21 @@ var require_XMLStreamWriter = __commonJS((exports, module) => {
|
|
|
149459
149475
|
}
|
|
149460
149476
|
return this.stream.write(this.endline(node));
|
|
149461
149477
|
};
|
|
149462
|
-
XMLStreamWriter2.prototype.processingInstruction = function(node,
|
|
149463
|
-
this.stream.write(this.space(
|
|
149478
|
+
XMLStreamWriter2.prototype.processingInstruction = function(node, level) {
|
|
149479
|
+
this.stream.write(this.space(level) + "<?" + node.target);
|
|
149464
149480
|
if (node.value) {
|
|
149465
149481
|
this.stream.write(" " + node.value);
|
|
149466
149482
|
}
|
|
149467
149483
|
return this.stream.write(this.spacebeforeslash + "?>" + this.endline(node));
|
|
149468
149484
|
};
|
|
149469
|
-
XMLStreamWriter2.prototype.raw = function(node,
|
|
149470
|
-
return this.stream.write(this.space(
|
|
149485
|
+
XMLStreamWriter2.prototype.raw = function(node, level) {
|
|
149486
|
+
return this.stream.write(this.space(level) + node.value + this.endline(node));
|
|
149471
149487
|
};
|
|
149472
|
-
XMLStreamWriter2.prototype.text = function(node,
|
|
149473
|
-
return this.stream.write(this.space(
|
|
149488
|
+
XMLStreamWriter2.prototype.text = function(node, level) {
|
|
149489
|
+
return this.stream.write(this.space(level) + node.value + this.endline(node));
|
|
149474
149490
|
};
|
|
149475
|
-
XMLStreamWriter2.prototype.dtdAttList = function(node,
|
|
149476
|
-
this.stream.write(this.space(
|
|
149491
|
+
XMLStreamWriter2.prototype.dtdAttList = function(node, level) {
|
|
149492
|
+
this.stream.write(this.space(level) + "<!ATTLIST " + node.elementName + " " + node.attributeName + " " + node.attributeType);
|
|
149477
149493
|
if (node.defaultValueType !== "#DEFAULT") {
|
|
149478
149494
|
this.stream.write(" " + node.defaultValueType);
|
|
149479
149495
|
}
|
|
@@ -149482,12 +149498,12 @@ var require_XMLStreamWriter = __commonJS((exports, module) => {
|
|
|
149482
149498
|
}
|
|
149483
149499
|
return this.stream.write(this.spacebeforeslash + ">" + this.endline(node));
|
|
149484
149500
|
};
|
|
149485
|
-
XMLStreamWriter2.prototype.dtdElement = function(node,
|
|
149486
|
-
this.stream.write(this.space(
|
|
149501
|
+
XMLStreamWriter2.prototype.dtdElement = function(node, level) {
|
|
149502
|
+
this.stream.write(this.space(level) + "<!ELEMENT " + node.name + " " + node.value);
|
|
149487
149503
|
return this.stream.write(this.spacebeforeslash + ">" + this.endline(node));
|
|
149488
149504
|
};
|
|
149489
|
-
XMLStreamWriter2.prototype.dtdEntity = function(node,
|
|
149490
|
-
this.stream.write(this.space(
|
|
149505
|
+
XMLStreamWriter2.prototype.dtdEntity = function(node, level) {
|
|
149506
|
+
this.stream.write(this.space(level) + "<!ENTITY");
|
|
149491
149507
|
if (node.pe) {
|
|
149492
149508
|
this.stream.write(" %");
|
|
149493
149509
|
}
|
|
@@ -149506,8 +149522,8 @@ var require_XMLStreamWriter = __commonJS((exports, module) => {
|
|
|
149506
149522
|
}
|
|
149507
149523
|
return this.stream.write(this.spacebeforeslash + ">" + this.endline(node));
|
|
149508
149524
|
};
|
|
149509
|
-
XMLStreamWriter2.prototype.dtdNotation = function(node,
|
|
149510
|
-
this.stream.write(this.space(
|
|
149525
|
+
XMLStreamWriter2.prototype.dtdNotation = function(node, level) {
|
|
149526
|
+
this.stream.write(this.space(level) + "<!NOTATION " + node.name);
|
|
149511
149527
|
if (node.pubID && node.sysID) {
|
|
149512
149528
|
this.stream.write(' PUBLIC "' + node.pubID + '" "' + node.sysID + '"');
|
|
149513
149529
|
} else if (node.pubID) {
|
|
@@ -151414,10 +151430,10 @@ var require_body_reader = __commonJS((exports) => {
|
|
|
151414
151430
|
}
|
|
151415
151431
|
}
|
|
151416
151432
|
function readNumberingProperties(styleId, element2, numbering) {
|
|
151417
|
-
var
|
|
151433
|
+
var level = element2.firstOrEmpty("w:ilvl").attributes["w:val"];
|
|
151418
151434
|
var numId = element2.firstOrEmpty("w:numId").attributes["w:val"];
|
|
151419
|
-
if (
|
|
151420
|
-
return numbering.findLevel(numId,
|
|
151435
|
+
if (level !== undefined && numId !== undefined) {
|
|
151436
|
+
return numbering.findLevel(numId, level);
|
|
151421
151437
|
}
|
|
151422
151438
|
if (styleId != null) {
|
|
151423
151439
|
var levelByStyleId = numbering.findLevelByParagraphStyleId(styleId);
|
|
@@ -151650,20 +151666,20 @@ var require_numbering_xml = __commonJS((exports) => {
|
|
|
151650
151666
|
var allLevels = _2.flatten(_2.values(abstractNums).map(function(abstractNum) {
|
|
151651
151667
|
return _2.values(abstractNum.levels);
|
|
151652
151668
|
}));
|
|
151653
|
-
var levelsByParagraphStyleId = _2.indexBy(allLevels.filter(function(
|
|
151654
|
-
return
|
|
151669
|
+
var levelsByParagraphStyleId = _2.indexBy(allLevels.filter(function(level) {
|
|
151670
|
+
return level.paragraphStyleId != null;
|
|
151655
151671
|
}), "paragraphStyleId");
|
|
151656
|
-
function findLevel(numId,
|
|
151672
|
+
function findLevel(numId, level) {
|
|
151657
151673
|
var num = nums[numId];
|
|
151658
151674
|
if (num) {
|
|
151659
151675
|
var abstractNum = abstractNums[num.abstractNumId];
|
|
151660
151676
|
if (!abstractNum) {
|
|
151661
151677
|
return null;
|
|
151662
151678
|
} else if (abstractNum.numStyleLink == null) {
|
|
151663
|
-
return abstractNums[num.abstractNumId].levels[
|
|
151679
|
+
return abstractNums[num.abstractNumId].levels[level];
|
|
151664
151680
|
} else {
|
|
151665
151681
|
var style = styles.findNumberingStyleById(abstractNum.numStyleLink);
|
|
151666
|
-
return findLevel(style.numId,
|
|
151682
|
+
return findLevel(style.numId, level);
|
|
151667
151683
|
}
|
|
151668
151684
|
} else {
|
|
151669
151685
|
return null;
|
|
@@ -199939,7 +199955,7 @@ async function authorizeDocument(request, documentId, action) {
|
|
|
199939
199955
|
id: documents.id,
|
|
199940
199956
|
categoryId: documents.categoryId,
|
|
199941
199957
|
folderCategoryId: folders.categoryId
|
|
199942
|
-
}).from(documents).leftJoin(folders, eq(folders.id, documents.folderId)).where(and(eq(documents.id, documentId), tenantOwnerCondition(documents.ownerId, documents.workspaceId, access.ctx))).limit(1);
|
|
199958
|
+
}).from(documents).leftJoin(folders, eq(folders.id, documents.folderId)).where(and(eq(documents.id, documentId), tenantOwnerCondition(documents.ownerId, documents.workspaceId, access.ctx), isNull(documents.deletedAt))).limit(1);
|
|
199943
199959
|
return document2 ?? null;
|
|
199944
199960
|
});
|
|
199945
199961
|
return {
|
|
@@ -207041,6 +207057,9 @@ async function recordAuditEvent(params2) {
|
|
|
207041
207057
|
}
|
|
207042
207058
|
}
|
|
207043
207059
|
|
|
207060
|
+
// ../../backend/src/api/routes/documents.ts
|
|
207061
|
+
init_config();
|
|
207062
|
+
|
|
207044
207063
|
// ../../backend/src/lib/doc-cache.ts
|
|
207045
207064
|
init_logger3();
|
|
207046
207065
|
init_redis();
|
|
@@ -207449,7 +207468,8 @@ var documentRoutes = new Elysia({ prefix: "/api" }).get("/documents", async ({ q
|
|
|
207449
207468
|
try {
|
|
207450
207469
|
return await cacheGetOrSet(cacheKey, 30, async () => {
|
|
207451
207470
|
const conditions2 = [
|
|
207452
|
-
tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx)
|
|
207471
|
+
tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx),
|
|
207472
|
+
isNull(documents.deletedAt)
|
|
207453
207473
|
];
|
|
207454
207474
|
if (access.restricted && access.categoryId) {
|
|
207455
207475
|
conditions2.push(eq(documents.categoryId, access.categoryId));
|
|
@@ -207542,6 +207562,7 @@ var documentRoutes = new Elysia({ prefix: "/api" }).get("/documents", async ({ q
|
|
|
207542
207562
|
}
|
|
207543
207563
|
const conditions2 = [
|
|
207544
207564
|
tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx),
|
|
207565
|
+
isNull(documents.deletedAt),
|
|
207545
207566
|
...effectiveCategoryId ? [eq(documents.categoryId, effectiveCategoryId)] : [],
|
|
207546
207567
|
...cursor ? [
|
|
207547
207568
|
or(lt(documents.updatedAt, new Date(cursor.updatedAt)), and(eq(documents.updatedAt, new Date(cursor.updatedAt)), lt(documents.id, cursor.id)))
|
|
@@ -207722,7 +207743,7 @@ var documentRoutes = new Elysia({ prefix: "/api" }).get("/documents", async ({ q
|
|
|
207722
207743
|
completedBatches: documentPipelineRuns.completedBatches,
|
|
207723
207744
|
failedBatches: documentPipelineRuns.failedBatches,
|
|
207724
207745
|
updatedAt: documentPipelineRuns.updatedAt
|
|
207725
|
-
}).from(documentPipelineRuns).innerJoin(documents, eq(documents.id, documentPipelineRuns.documentId)).where(and(eq(documentPipelineRuns.documentId, params2.id), eq(documentPipelineRuns.ownerId, ctx.userId), ...access.restricted && access.categoryId ? [eq(documents.categoryId, access.categoryId)] : [])).orderBy(desc(documentPipelineRuns.updatedAt)).limit(1));
|
|
207746
|
+
}).from(documentPipelineRuns).innerJoin(documents, eq(documents.id, documentPipelineRuns.documentId)).where(and(eq(documentPipelineRuns.documentId, params2.id), eq(documentPipelineRuns.ownerId, ctx.userId), isNull(documents.deletedAt), ...access.restricted && access.categoryId ? [eq(documents.categoryId, access.categoryId)] : [])).orderBy(desc(documentPipelineRuns.updatedAt)).limit(1));
|
|
207726
207747
|
if (!run) {
|
|
207727
207748
|
set2.status = 404;
|
|
207728
207749
|
return { error: "Pipeline run not found" };
|
|
@@ -207787,7 +207808,7 @@ var documentRoutes = new Elysia({ prefix: "/api" }).get("/documents", async ({ q
|
|
|
207787
207808
|
visibility: documents.visibility,
|
|
207788
207809
|
createdAt: documents.createdAt,
|
|
207789
207810
|
updatedAt: documents.updatedAt
|
|
207790
|
-
}).from(documents).leftJoin(folders, eq(folders.id, documents.folderId)).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), ...access.restricted && access.categoryId ? [eq(documents.categoryId, access.categoryId)] : [])).limit(1);
|
|
207811
|
+
}).from(documents).leftJoin(folders, eq(folders.id, documents.folderId)).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), isNull(documents.deletedAt), ...access.restricted && access.categoryId ? [eq(documents.categoryId, access.categoryId)] : [])).limit(1);
|
|
207791
207812
|
const doc3 = rows[0];
|
|
207792
207813
|
if (!doc3) {
|
|
207793
207814
|
return null;
|
|
@@ -207855,7 +207876,7 @@ var documentRoutes = new Elysia({ prefix: "/api" }).get("/documents", async ({ q
|
|
|
207855
207876
|
categoryId: documents.categoryId,
|
|
207856
207877
|
contentHash: documents.contentHash,
|
|
207857
207878
|
updatedAt: documents.updatedAt
|
|
207858
|
-
}).from(documents).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx))).for("update").limit(1);
|
|
207879
|
+
}).from(documents).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), isNull(documents.deletedAt))).for("update").limit(1);
|
|
207859
207880
|
if (existingRows.length === 0) {
|
|
207860
207881
|
return null;
|
|
207861
207882
|
}
|
|
@@ -207922,7 +207943,7 @@ var documentRoutes = new Elysia({ prefix: "/api" }).get("/documents", async ({ q
|
|
|
207922
207943
|
visibility: body.data.visibility
|
|
207923
207944
|
},
|
|
207924
207945
|
updatedAt: new Date
|
|
207925
|
-
}).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx))).returning();
|
|
207946
|
+
}).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), isNull(documents.deletedAt))).returning();
|
|
207926
207947
|
return { updated: updated2, existing: existing2 };
|
|
207927
207948
|
});
|
|
207928
207949
|
if (!result) {
|
|
@@ -208002,7 +208023,7 @@ var documentRoutes = new Elysia({ prefix: "/api" }).get("/documents", async ({ q
|
|
|
208002
208023
|
const copiedStorageKeys = [];
|
|
208003
208024
|
try {
|
|
208004
208025
|
const sourceBundle = await withTenant(ctx, async (tx) => {
|
|
208005
|
-
const sourceRows = await tx.select().from(documents).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), ...access.restricted && access.categoryId ? [eq(documents.categoryId, access.categoryId)] : [])).limit(1);
|
|
208026
|
+
const sourceRows = await tx.select().from(documents).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), isNull(documents.deletedAt), ...access.restricted && access.categoryId ? [eq(documents.categoryId, access.categoryId)] : [])).limit(1);
|
|
208006
208027
|
const source2 = sourceRows[0];
|
|
208007
208028
|
if (!source2) {
|
|
208008
208029
|
return null;
|
|
@@ -208078,6 +208099,73 @@ var documentRoutes = new Elysia({ prefix: "/api" }).get("/documents", async ({ q
|
|
|
208078
208099
|
set2.status = 500;
|
|
208079
208100
|
return { error: "Failed to duplicate document" };
|
|
208080
208101
|
}
|
|
208102
|
+
}).get("/trash", async ({ request, set: set2 }) => {
|
|
208103
|
+
const access = await resolveContentAccess(request);
|
|
208104
|
+
const ctx = access.ctx;
|
|
208105
|
+
if (ctx.role === "none") {
|
|
208106
|
+
set2.status = 401;
|
|
208107
|
+
return { error: "Unauthorized" };
|
|
208108
|
+
}
|
|
208109
|
+
if (!canAccessContent(access, "read")) {
|
|
208110
|
+
set2.status = 403;
|
|
208111
|
+
return { error: "Forbidden" };
|
|
208112
|
+
}
|
|
208113
|
+
const rows = await withTenant(ctx, (tx) => tx.select({
|
|
208114
|
+
id: documents.id,
|
|
208115
|
+
title: documents.title,
|
|
208116
|
+
deletedAt: documents.deletedAt
|
|
208117
|
+
}).from(documents).where(and(tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), isNotNull(documents.deletedAt), ...access.restricted && access.categoryId ? [eq(documents.categoryId, access.categoryId)] : [])).orderBy(desc(documents.deletedAt)));
|
|
208118
|
+
return {
|
|
208119
|
+
documents: rows.map((row) => ({
|
|
208120
|
+
...row,
|
|
208121
|
+
purgeAfter: row.deletedAt ? new Date(row.deletedAt.getTime() + config3.DOCUMENT_TRASH_RETENTION_DAYS * 86400000) : null
|
|
208122
|
+
})),
|
|
208123
|
+
folders: []
|
|
208124
|
+
};
|
|
208125
|
+
}).post("/trash/documents/:id/restore", async ({ params: params2, request, set: set2 }) => {
|
|
208126
|
+
const access = await resolveContentAccess(request);
|
|
208127
|
+
const ctx = access.ctx;
|
|
208128
|
+
if (ctx.role === "none") {
|
|
208129
|
+
set2.status = 401;
|
|
208130
|
+
return { error: "Unauthorized" };
|
|
208131
|
+
}
|
|
208132
|
+
if (!canAccessContent(access, "write")) {
|
|
208133
|
+
set2.status = 403;
|
|
208134
|
+
return { error: "Forbidden" };
|
|
208135
|
+
}
|
|
208136
|
+
const restored = await withTenant(ctx, async (tx) => {
|
|
208137
|
+
const result = await tx.update(documents).set({ deletedAt: null, updatedAt: new Date }).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), isNotNull(documents.deletedAt), ...access.restricted && access.categoryId ? [eq(documents.categoryId, access.categoryId)] : [])).returning({ id: documents.id });
|
|
208138
|
+
return result[0] ?? null;
|
|
208139
|
+
});
|
|
208140
|
+
if (!restored) {
|
|
208141
|
+
set2.status = 404;
|
|
208142
|
+
return { error: "Document not found" };
|
|
208143
|
+
}
|
|
208144
|
+
invalidateDocCache(params2.id);
|
|
208145
|
+
invalidateDocListCache(ctx.userId);
|
|
208146
|
+
return { success: true };
|
|
208147
|
+
}).delete("/trash/documents/:id", async ({ params: params2, request, set: set2 }) => {
|
|
208148
|
+
const access = await resolveContentAccess(request);
|
|
208149
|
+
const ctx = access.ctx;
|
|
208150
|
+
if (ctx.role === "none") {
|
|
208151
|
+
set2.status = 401;
|
|
208152
|
+
return { error: "Unauthorized" };
|
|
208153
|
+
}
|
|
208154
|
+
if (!canAccessContent(access, "write")) {
|
|
208155
|
+
set2.status = 403;
|
|
208156
|
+
return { error: "Forbidden" };
|
|
208157
|
+
}
|
|
208158
|
+
const purged = await withTenant(ctx, async (tx) => {
|
|
208159
|
+
const result = await tx.delete(documents).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), isNotNull(documents.deletedAt), ...access.restricted && access.categoryId ? [eq(documents.categoryId, access.categoryId)] : [])).returning({ id: documents.id });
|
|
208160
|
+
return result[0] ?? null;
|
|
208161
|
+
});
|
|
208162
|
+
if (!purged) {
|
|
208163
|
+
set2.status = 404;
|
|
208164
|
+
return { error: "Document not found" };
|
|
208165
|
+
}
|
|
208166
|
+
invalidateDocCache(params2.id);
|
|
208167
|
+
invalidateDocListCache(ctx.userId);
|
|
208168
|
+
return { success: true };
|
|
208081
208169
|
}).delete("/documents/:id", async ({ params: params2, set: set2, request }) => {
|
|
208082
208170
|
const ip = request.headers.get("x-forwarded-for")?.split(",")[0]?.trim() ?? request.headers.get("x-real-ip") ?? "unknown";
|
|
208083
208171
|
const rl = await writeRateLimiter(ip, request);
|
|
@@ -208100,11 +208188,11 @@ var documentRoutes = new Elysia({ prefix: "/api" }).get("/documents", async ({ q
|
|
|
208100
208188
|
const userId = ctx.userId;
|
|
208101
208189
|
try {
|
|
208102
208190
|
const deleted = await withTenant(ctx, async (tx) => {
|
|
208103
|
-
const existing = await tx.select({ id: documents.id }).from(documents).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), ...access.restricted && access.categoryId ? [eq(documents.categoryId, access.categoryId)] : [])).limit(1);
|
|
208191
|
+
const existing = await tx.select({ id: documents.id }).from(documents).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), isNull(documents.deletedAt), ...access.restricted && access.categoryId ? [eq(documents.categoryId, access.categoryId)] : [])).limit(1);
|
|
208104
208192
|
if (existing.length === 0) {
|
|
208105
208193
|
return false;
|
|
208106
208194
|
}
|
|
208107
|
-
await tx.
|
|
208195
|
+
await tx.update(documents).set({ deletedAt: new Date, updatedAt: new Date }).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), isNull(documents.deletedAt)));
|
|
208108
208196
|
return true;
|
|
208109
208197
|
});
|
|
208110
208198
|
if (!deleted) {
|
|
@@ -208516,7 +208604,7 @@ var folderRoutes = new Elysia({ prefix: "/api/folders" }).get("/:id", async ({ p
|
|
|
208516
208604
|
visibility: documents.visibility,
|
|
208517
208605
|
createdAt: documents.createdAt,
|
|
208518
208606
|
updatedAt: documents.updatedAt
|
|
208519
|
-
}).from(documents).where(and(eq(documents.folderId, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx))).orderBy(documents.updatedAt);
|
|
208607
|
+
}).from(documents).where(and(eq(documents.folderId, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), isNull(documents.deletedAt))).orderBy(documents.updatedAt);
|
|
208520
208608
|
const childDocs = childDocRows.map((document2) => ({
|
|
208521
208609
|
...document2,
|
|
208522
208610
|
content: document2.content?.slice(0, 200) ?? ""
|
|
@@ -209230,14 +209318,14 @@ async function graphRagLookup(ctx, docIds, maxResults, access) {
|
|
|
209230
209318
|
async function allowedGraphDocumentIds(access, docIds) {
|
|
209231
209319
|
if (docIds.length === 0)
|
|
209232
209320
|
return new Set;
|
|
209233
|
-
const rows = await withTenant(access.ctx, (tx) => tx.select({ id: documents.id }).from(documents).leftJoin(folders, and(eq(folders.id, documents.folderId), tenantOwnerCondition(folders.ownerId, folders.workspaceId, access.ctx))).where(and(tenantOwnerCondition(documents.ownerId, documents.workspaceId, access.ctx), inArray(documents.id, docIds), access.restricted ? access.categoryId ? or(eq(documents.categoryId, access.categoryId), and(isNull(documents.categoryId), eq(folders.categoryId, access.categoryId))) : undefined : undefined)));
|
|
209321
|
+
const rows = await withTenant(access.ctx, (tx) => tx.select({ id: documents.id }).from(documents).leftJoin(folders, and(eq(folders.id, documents.folderId), tenantOwnerCondition(folders.ownerId, folders.workspaceId, access.ctx))).where(and(tenantOwnerCondition(documents.ownerId, documents.workspaceId, access.ctx), inArray(documents.id, docIds), isNull(documents.deletedAt), access.restricted ? access.categoryId ? or(eq(documents.categoryId, access.categoryId), and(isNull(documents.categoryId), eq(folders.categoryId, access.categoryId))) : undefined : undefined)));
|
|
209234
209322
|
return new Set(rows.map((row) => row.id));
|
|
209235
209323
|
}
|
|
209236
209324
|
async function filterToOwnedDocuments(ctx, docIds) {
|
|
209237
209325
|
if (docIds.length === 0)
|
|
209238
209326
|
return new Set;
|
|
209239
209327
|
const rows = await withTenant(ctx, async (tx) => {
|
|
209240
|
-
return tx.select({ id: documents.id }).from(documents).where(and(tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), inArray(documents.id, docIds)));
|
|
209328
|
+
return tx.select({ id: documents.id }).from(documents).where(and(tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), inArray(documents.id, docIds), isNull(documents.deletedAt)));
|
|
209241
209329
|
});
|
|
209242
209330
|
return new Set(rows.map((r4) => r4.id));
|
|
209243
209331
|
}
|
|
@@ -209253,7 +209341,7 @@ async function loadDocumentSummaries(ctx, docIds) {
|
|
|
209253
209341
|
folderName: folders.name,
|
|
209254
209342
|
createdAt: documents.createdAt,
|
|
209255
209343
|
updatedAt: documents.updatedAt
|
|
209256
|
-
}).from(documents).leftJoin(folders, eq(folders.id, documents.folderId)).where(inArray(documents.id, docIds));
|
|
209344
|
+
}).from(documents).leftJoin(folders, eq(folders.id, documents.folderId)).where(and(tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), inArray(documents.id, docIds), isNull(documents.deletedAt)));
|
|
209257
209345
|
});
|
|
209258
209346
|
}
|
|
209259
209347
|
function cypherDocReplace(cypher, docId) {
|
|
@@ -210867,7 +210955,7 @@ async function loadCategoryDocumentIds(access) {
|
|
|
210867
210955
|
return [];
|
|
210868
210956
|
const categoryId = access.categoryId;
|
|
210869
210957
|
const { documents: documents2, folders: folders2 } = await Promise.resolve().then(() => (init_schema2(), exports_schema));
|
|
210870
|
-
const rows = await withTenant(access.ctx, (tx) => tx.select({ id: documents2.id }).from(documents2).leftJoin(folders2, and(eq(folders2.id, documents2.folderId), tenantOwnerCondition(folders2.ownerId, folders2.workspaceId, access.ctx))).where(and(tenantOwnerCondition(documents2.ownerId, documents2.workspaceId, access.ctx), or(eq(documents2.categoryId, categoryId), and(sql`${documents2.categoryId} IS NULL`, eq(folders2.categoryId, categoryId))))));
|
|
210958
|
+
const rows = await withTenant(access.ctx, (tx) => tx.select({ id: documents2.id }).from(documents2).leftJoin(folders2, and(eq(folders2.id, documents2.folderId), tenantOwnerCondition(folders2.ownerId, folders2.workspaceId, access.ctx))).where(and(tenantOwnerCondition(documents2.ownerId, documents2.workspaceId, access.ctx), isNull(documents2.deletedAt), or(eq(documents2.categoryId, categoryId), and(sql`${documents2.categoryId} IS NULL`, eq(folders2.categoryId, categoryId))))));
|
|
210871
210959
|
return rows.map((row) => row.id);
|
|
210872
210960
|
}
|
|
210873
210961
|
var searchRoutes = createSearchRoutes();
|
|
@@ -210885,7 +210973,7 @@ async function hydrateResults(ctx, items, includeChunks, query, allowedDocumentI
|
|
|
210885
210973
|
folderName: folders2.name,
|
|
210886
210974
|
createdAt: documents2.createdAt,
|
|
210887
210975
|
updatedAt: documents2.updatedAt
|
|
210888
|
-
}).from(documents2).leftJoin(folders2, and(eq(folders2.id, documents2.folderId), tenantOwnerCondition(folders2.ownerId, folders2.workspaceId, ctx))).where(and(or(tenantOwnerCondition(documents2.ownerId, documents2.workspaceId, ctx), eq(documents2.visibility, "public")), inArray(documents2.id, visibleIds), allowedDocumentIds ? inArray(documents2.id, allowedDocumentIds) : undefined)));
|
|
210976
|
+
}).from(documents2).leftJoin(folders2, and(eq(folders2.id, documents2.folderId), tenantOwnerCondition(folders2.ownerId, folders2.workspaceId, ctx))).where(and(or(tenantOwnerCondition(documents2.ownerId, documents2.workspaceId, ctx), eq(documents2.visibility, "public")), isNull(documents2.deletedAt), inArray(documents2.id, visibleIds), allowedDocumentIds ? inArray(documents2.id, allowedDocumentIds) : undefined)));
|
|
210889
210977
|
const byId = new Map(rows.map((row) => [row.id, row]));
|
|
210890
210978
|
const hydrated = items.flatMap((item) => {
|
|
210891
210979
|
const row = byId.get(item.documentId);
|
|
@@ -211064,7 +211152,7 @@ async function isDocumentInSharedCategory(ctx, documentId, categoryId) {
|
|
|
211064
211152
|
const [document2] = await tx.select({
|
|
211065
211153
|
categoryId: documents.categoryId,
|
|
211066
211154
|
folderId: documents.folderId
|
|
211067
|
-
}).from(documents).where(eq(documents.id, documentId)).limit(1);
|
|
211155
|
+
}).from(documents).where(and(eq(documents.id, documentId), isNull(documents.deletedAt))).limit(1);
|
|
211068
211156
|
if (!document2)
|
|
211069
211157
|
return false;
|
|
211070
211158
|
const effectiveCategoryId = document2.categoryId ?? (document2.folderId ? await resolveFolderEffectiveCategory(tx, ctx.userId, document2.folderId) : null);
|
|
@@ -211105,7 +211193,7 @@ var shareRoutes = new Elysia({ prefix: "/api/share" }).post("/", async ({ reques
|
|
|
211105
211193
|
id: documents.id,
|
|
211106
211194
|
categoryId: documents.categoryId,
|
|
211107
211195
|
folderCategoryId: folders.categoryId
|
|
211108
|
-
}).from(documents).leftJoin(folders, eq(folders.id, documents.folderId)).where(and(eq(documents.id, documentId), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx))).limit(1);
|
|
211196
|
+
}).from(documents).leftJoin(folders, eq(folders.id, documents.folderId)).where(and(eq(documents.id, documentId), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), isNull(documents.deletedAt))).limit(1);
|
|
211109
211197
|
if (!doc3) {
|
|
211110
211198
|
return { notFound: "document" };
|
|
211111
211199
|
}
|
|
@@ -211229,7 +211317,7 @@ var shareRoutes = new Elysia({ prefix: "/api/share" }).post("/", async ({ reques
|
|
|
211229
211317
|
const [document2] = await tx.select({
|
|
211230
211318
|
categoryId: documents.categoryId,
|
|
211231
211319
|
folderId: documents.folderId
|
|
211232
|
-
}).from(documents).where(eq(documents.id, row.documentId)).limit(1);
|
|
211320
|
+
}).from(documents).where(and(eq(documents.id, row.documentId), isNull(documents.deletedAt))).limit(1);
|
|
211233
211321
|
categoryId = document2?.categoryId ?? (document2?.folderId ? await resolveFolderEffectiveCategory(tx, userId, document2.folderId) : null);
|
|
211234
211322
|
} else if (row.folderId) {
|
|
211235
211323
|
categoryId = await resolveFolderEffectiveCategory(tx, userId, row.folderId);
|
|
@@ -211300,7 +211388,7 @@ var shareRoutes = new Elysia({ prefix: "/api/share" }).post("/", async ({ reques
|
|
|
211300
211388
|
metadata: documents.metadata,
|
|
211301
211389
|
createdAt: documents.createdAt,
|
|
211302
211390
|
updatedAt: documents.updatedAt
|
|
211303
|
-
}).from(documents).where(eq(documents.id, documentId)).limit(1);
|
|
211391
|
+
}).from(documents).where(and(eq(documents.id, documentId), isNull(documents.deletedAt))).limit(1);
|
|
211304
211392
|
return row ?? null;
|
|
211305
211393
|
});
|
|
211306
211394
|
if (!doc3) {
|
|
@@ -211349,7 +211437,7 @@ var shareRoutes = new Elysia({ prefix: "/api/share" }).post("/", async ({ reques
|
|
|
211349
211437
|
title: documents.title,
|
|
211350
211438
|
createdAt: documents.createdAt,
|
|
211351
211439
|
updatedAt: documents.updatedAt
|
|
211352
|
-
}).from(documents).where(eq(documents.folderId, folderId)).orderBy(documents.title);
|
|
211440
|
+
}).from(documents).where(and(eq(documents.folderId, folderId), isNull(documents.deletedAt))).orderBy(documents.title);
|
|
211353
211441
|
});
|
|
211354
211442
|
return {
|
|
211355
211443
|
type: "folder",
|
|
@@ -211701,7 +211789,7 @@ var shareRoutes = new Elysia({ prefix: "/api/share" }).post("/", async ({ reques
|
|
|
211701
211789
|
title: documents.title,
|
|
211702
211790
|
createdAt: documents.createdAt,
|
|
211703
211791
|
updatedAt: documents.updatedAt
|
|
211704
|
-
}).from(documents).where(eq(documents.folderId, folderId)).orderBy(documents.title);
|
|
211792
|
+
}).from(documents).where(and(eq(documents.folderId, folderId), isNull(documents.deletedAt))).orderBy(documents.title);
|
|
211705
211793
|
});
|
|
211706
211794
|
return {
|
|
211707
211795
|
id: folder.id,
|
|
@@ -211774,7 +211862,7 @@ var shareRoutes = new Elysia({ prefix: "/api/share" }).post("/", async ({ reques
|
|
|
211774
211862
|
metadata: documents.metadata,
|
|
211775
211863
|
createdAt: documents.createdAt,
|
|
211776
211864
|
updatedAt: documents.updatedAt
|
|
211777
|
-
}).from(documents).where(eq(documents.id, docId)).limit(1);
|
|
211865
|
+
}).from(documents).where(and(eq(documents.id, docId), isNull(documents.deletedAt))).limit(1);
|
|
211778
211866
|
return row ?? null;
|
|
211779
211867
|
});
|
|
211780
211868
|
if (!doc3) {
|
|
@@ -211811,7 +211899,7 @@ async function isFolderDescendant2(ctx, targetFolderId, rootFolderId) {
|
|
|
211811
211899
|
}
|
|
211812
211900
|
async function isDocumentDescendant(ctx, docId, rootFolderId) {
|
|
211813
211901
|
const doc3 = await withTenant(ctx, async (tx) => {
|
|
211814
|
-
const [row] = await tx.select({ folderId: documents.folderId }).from(documents).where(eq(documents.id, docId)).limit(1);
|
|
211902
|
+
const [row] = await tx.select({ folderId: documents.folderId }).from(documents).where(and(eq(documents.id, docId), isNull(documents.deletedAt))).limit(1);
|
|
211815
211903
|
return row ?? null;
|
|
211816
211904
|
});
|
|
211817
211905
|
if (!doc3?.folderId)
|
|
@@ -212000,7 +212088,7 @@ var tagRoutes = new Elysia({ prefix: "/api" }).get("/tags", async ({ set: set2,
|
|
|
212000
212088
|
id: documents.id,
|
|
212001
212089
|
categoryId: documents.categoryId,
|
|
212002
212090
|
folderCategoryId: folders.categoryId
|
|
212003
|
-
}).from(documents).leftJoin(folders, eq(folders.id, documents.folderId)).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx))).limit(1);
|
|
212091
|
+
}).from(documents).leftJoin(folders, eq(folders.id, documents.folderId)).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), isNull(documents.deletedAt))).limit(1);
|
|
212004
212092
|
if (!doc3 || !isAuthorizedCategory(access, effectiveDocumentCategory(doc3))) {
|
|
212005
212093
|
return false;
|
|
212006
212094
|
}
|
|
@@ -212047,7 +212135,7 @@ var tagRoutes = new Elysia({ prefix: "/api" }).get("/tags", async ({ set: set2,
|
|
|
212047
212135
|
id: documents.id,
|
|
212048
212136
|
categoryId: documents.categoryId,
|
|
212049
212137
|
folderCategoryId: folders.categoryId
|
|
212050
|
-
}).from(documents).leftJoin(folders, eq(folders.id, documents.folderId)).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx))).limit(1);
|
|
212138
|
+
}).from(documents).leftJoin(folders, eq(folders.id, documents.folderId)).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), isNull(documents.deletedAt))).limit(1);
|
|
212051
212139
|
if (!doc3 || !isAuthorizedCategory(access, effectiveDocumentCategory(doc3))) {
|
|
212052
212140
|
return false;
|
|
212053
212141
|
}
|
|
@@ -212083,7 +212171,7 @@ async function authorizeVersionDocument(request, documentId, action) {
|
|
|
212083
212171
|
id: documents.id,
|
|
212084
212172
|
categoryId: documents.categoryId,
|
|
212085
212173
|
folderCategoryId: folders.categoryId
|
|
212086
|
-
}).from(documents).leftJoin(folders, eq(folders.id, documents.folderId)).where(and(eq(documents.id, documentId), tenantOwnerCondition(documents.ownerId, documents.workspaceId, access.ctx))).limit(1);
|
|
212174
|
+
}).from(documents).leftJoin(folders, eq(folders.id, documents.folderId)).where(and(eq(documents.id, documentId), tenantOwnerCondition(documents.ownerId, documents.workspaceId, access.ctx), isNull(documents.deletedAt))).limit(1);
|
|
212087
212175
|
return document2 ?? null;
|
|
212088
212176
|
});
|
|
212089
212177
|
return {
|
|
@@ -212520,7 +212608,7 @@ var visibilityRoutes = new Elysia({ prefix: "/api" }).post("/documents/:id/publi
|
|
|
212520
212608
|
ownerId: documents.ownerId,
|
|
212521
212609
|
categoryId: documents.categoryId,
|
|
212522
212610
|
folderCategoryId: folders.categoryId
|
|
212523
|
-
}).from(documents).leftJoin(folders, eq(folders.id, documents.folderId)).where(eq(documents.id, params2.id)).limit(1);
|
|
212611
|
+
}).from(documents).leftJoin(folders, eq(folders.id, documents.folderId)).where(and(eq(documents.id, params2.id), isNull(documents.deletedAt))).limit(1);
|
|
212524
212612
|
if (!doc3) {
|
|
212525
212613
|
return { notFound: true };
|
|
212526
212614
|
}
|
|
@@ -212530,7 +212618,7 @@ var visibilityRoutes = new Elysia({ prefix: "/api" }).post("/documents/:id/publi
|
|
|
212530
212618
|
if (!isAuthorizedCategory(access, effectiveDocumentCategory(doc3))) {
|
|
212531
212619
|
return { forbidden: true };
|
|
212532
212620
|
}
|
|
212533
|
-
const [updated] = await tx.update(documents).set({ visibility: "public" }).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx))).returning();
|
|
212621
|
+
const [updated] = await tx.update(documents).set({ visibility: "public" }).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), isNull(documents.deletedAt))).returning();
|
|
212534
212622
|
return { document: updated };
|
|
212535
212623
|
});
|
|
212536
212624
|
if (result.notFound) {
|
|
@@ -212584,7 +212672,7 @@ var visibilityRoutes = new Elysia({ prefix: "/api" }).post("/documents/:id/publi
|
|
|
212584
212672
|
ownerId: documents.ownerId,
|
|
212585
212673
|
categoryId: documents.categoryId,
|
|
212586
212674
|
folderCategoryId: folders.categoryId
|
|
212587
|
-
}).from(documents).leftJoin(folders, eq(folders.id, documents.folderId)).where(eq(documents.id, params2.id)).limit(1);
|
|
212675
|
+
}).from(documents).leftJoin(folders, eq(folders.id, documents.folderId)).where(and(eq(documents.id, params2.id), isNull(documents.deletedAt))).limit(1);
|
|
212588
212676
|
if (!doc3) {
|
|
212589
212677
|
return { notFound: true };
|
|
212590
212678
|
}
|
|
@@ -212594,7 +212682,7 @@ var visibilityRoutes = new Elysia({ prefix: "/api" }).post("/documents/:id/publi
|
|
|
212594
212682
|
if (!isAuthorizedCategory(access, effectiveDocumentCategory(doc3))) {
|
|
212595
212683
|
return { forbidden: true };
|
|
212596
212684
|
}
|
|
212597
|
-
const [updated] = await tx.update(documents).set({ visibility: "private" }).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx))).returning();
|
|
212685
|
+
const [updated] = await tx.update(documents).set({ visibility: "private" }).where(and(eq(documents.id, params2.id), tenantOwnerCondition(documents.ownerId, documents.workspaceId, ctx), isNull(documents.deletedAt))).returning();
|
|
212598
212686
|
return { document: updated };
|
|
212599
212687
|
});
|
|
212600
212688
|
if (result.notFound) {
|
|
@@ -214149,7 +214237,7 @@ var swaggerConfig = {
|
|
|
214149
214237
|
documentation: {
|
|
214150
214238
|
info: {
|
|
214151
214239
|
title: "DocsMint API",
|
|
214152
|
-
version: "0.3.
|
|
214240
|
+
version: "0.3.8",
|
|
214153
214241
|
description: "Self-hosted AI-first documentation platform. Full-text + semantic search, version history, sharing, and folder organization.",
|
|
214154
214242
|
contact: { name: "HiAi-gg", url: "https://github.com/HiAi-gg/docsmint" },
|
|
214155
214243
|
license: {
|