@hiai-gg/docsmint 0.6.8 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/README.md +90 -99
  2. package/backend/src/lib/api-keys.ts +14 -6
  3. package/backend/src/lib/lifecycle-service.ts +397 -73
  4. package/dist/backend/index.js +13039 -10865
  5. package/dist/backend-account-runtime-cleanup.js +152 -42
  6. package/dist/backend-api-key-facade.js +207 -61
  7. package/dist/backend-pipeline-cancellation.js +144 -42
  8. package/dist/client.d.ts +12 -2
  9. package/dist/client.js +83 -30
  10. package/dist/frontend/{CategoryDialog-CbXBMBZB.js → CategoryDialog-t_WIvFAG.js} +5 -5
  11. package/dist/frontend/{ConfirmDialog-DgMTQBq4.js → ConfirmDialog-_LlrA--f.js} +3 -3
  12. package/dist/frontend/{CreateSnapshotDialog-FUq-ZfBH.js → CreateSnapshotDialog-DW3PwAt5.js} +4 -4
  13. package/dist/frontend/{DatePicker-D6E-EEtZ.js → DatePicker-CAw0wZZK.js} +9 -9
  14. package/dist/frontend/{DeleteDialog-8k6JYWCx.js → DeleteDialog-L1A3FhMM.js} +1 -1
  15. package/dist/frontend/{FolderNode-DAAn_T8_.js → FolderNode-DzTqitR8.js} +2 -2
  16. package/dist/frontend/{HiAiEditor-DSVG3GNd.js → HiAiEditor-B7MK19_j.js} +7 -7
  17. package/dist/frontend/{SettingsDialog-BDNgf5rv.js → SettingsDialog-CS5L4nnU.js} +13 -13
  18. package/dist/frontend/ShareDialog-CwFa8mlk.js +281 -0
  19. package/dist/frontend/{Sidebar-DX08utdV.js → Sidebar-CDaFFmaQ.js} +18 -17
  20. package/dist/frontend/{TagCreateDialog-Bb0-Vtzh.js → TagCreateDialog-C7Avn2_h.js} +4 -4
  21. package/dist/frontend/api/attachments.js +1 -1
  22. package/dist/frontend/api/settings.js +1 -1
  23. package/dist/frontend/app-shell.js +3 -3
  24. package/dist/frontend/{attachments-B8AuDjno.js → attachments-B2aH3hXF.js} +10 -9
  25. package/dist/frontend/{auth-client-Cygmp1I2.js → auth-client-CnDZwPfp.js} +11 -11
  26. package/dist/frontend/components/category-dialog.js +1 -1
  27. package/dist/frontend/components/create-snapshot-dialog.js +1 -1
  28. package/dist/frontend/components/delete-dialog.js +1 -1
  29. package/dist/frontend/components/editor/compact-editor.js +1 -1
  30. package/dist/frontend/components/editor/document-editor.js +1 -1
  31. package/dist/frontend/components/editor/document-title.js +1 -1
  32. package/dist/frontend/components/editor/markdown-toggle.js +1 -1
  33. package/dist/frontend/components/folder-node.js +1 -1
  34. package/dist/frontend/components/save-as-dialog.js +4 -4
  35. package/dist/frontend/components/settings.js +1 -1
  36. package/dist/frontend/components/share-dialog.d.ts +2 -1
  37. package/dist/frontend/components/share-dialog.js +1 -1
  38. package/dist/frontend/components/sidebar.js +1 -1
  39. package/dist/frontend/components/tag-create-dialog.js +1 -1
  40. package/dist/frontend/components/version-history.js +3 -3
  41. package/dist/frontend/{confirm-dialog-CzmoZw3a.js → confirm-dialog-BW2h2NE8.js} +5 -5
  42. package/dist/frontend/dashboard.js +1008 -998
  43. package/dist/frontend/{db-ByrlYfaI.js → db-Bo1t_76T.js} +1 -1
  44. package/dist/frontend/{dialog-Ce79C9fd.js → dialog-C2iKObEu.js} +7 -7
  45. package/dist/frontend/{dropdown-menu-CJ_7V3N0.js → dropdown-menu-BXIl2E26.js} +12 -12
  46. package/dist/frontend/{floating-layer-anchor-S5RSefGN.js → floating-layer-anchor-BGIndLY-.js} +63 -63
  47. package/dist/frontend/i18n.js +1 -1
  48. package/dist/frontend/{identity-DyWeNzu_.js → identity-Ynrglr5i.js} +1 -1
  49. package/dist/frontend/{input-BWlOML_m.js → input-eHFb2qiL.js} +2 -2
  50. package/dist/frontend/{label-C2HfJNQ2.js → label-_I1iiaNU.js} +2 -2
  51. package/dist/frontend/messages-DTRe4U2V.js +1093 -0
  52. package/dist/frontend/offline/identity.js +1 -1
  53. package/dist/frontend/search.js +3 -3
  54. package/dist/frontend/{select-value-JCAp2PmU.js → select-value-CtMyrvDJ.js} +18 -18
  55. package/dist/frontend/{settings-DSrUl4hW.js → settings-BR48ihB4.js} +6 -23
  56. package/dist/frontend/{textarea-DOAE-h42.js → textarea-2eslfANY.js} +2 -2
  57. package/dist/frontend/{utils-BPDRytUU.js → utils-CDBqTgoV.js} +1 -1
  58. package/dist/frontend-ssr/api/attachments.js +1 -1
  59. package/dist/frontend-ssr/api/settings.js +1 -1
  60. package/dist/frontend-ssr/app-shell.js +3 -3
  61. package/dist/frontend-ssr/assets/{CategoryDialog-QHEv_9N4.js → CategoryDialog-B3MrZUho.js} +5 -5
  62. package/dist/frontend-ssr/assets/{ConfirmDialog-BhAelejz.js → ConfirmDialog-D1BDXXll.js} +3 -3
  63. package/dist/frontend-ssr/assets/{CreateSnapshotDialog-CI8vXXcN.js → CreateSnapshotDialog-NM0n1Whr.js} +4 -4
  64. package/dist/frontend-ssr/assets/{DatePicker-D84cJ-Eq.js → DatePicker-Dcok9XVm.js} +4 -4
  65. package/dist/frontend-ssr/assets/{DeleteDialog-DG9Lm38J.js → DeleteDialog-oHT_p_vG.js} +1 -1
  66. package/dist/frontend-ssr/assets/{FolderNode-kmilhDjO.js → FolderNode-B84NL8Rg.js} +2 -2
  67. package/dist/frontend-ssr/assets/{HiAiEditor-CUOJmKzT.js → HiAiEditor-tU0jmp6L.js} +6 -6
  68. package/dist/frontend-ssr/assets/{SettingsDialog-BjJIiVLc.js → SettingsDialog-Dkp79L1B.js} +13 -13
  69. package/dist/frontend-ssr/assets/{ShareDialog-C9C-XTm4.js → ShareDialog-B1-30sRR.js} +20 -7
  70. package/dist/frontend-ssr/assets/{Sidebar-C2sUfGNk.js → Sidebar-CGp45ngo.js} +14 -13
  71. package/dist/frontend-ssr/assets/{TagCreateDialog-DUPMitlL.js → TagCreateDialog-CGGtYSso.js} +4 -4
  72. package/dist/frontend-ssr/assets/{attachments-Cj3fQyUp.js → attachments-BdkOp8ha.js} +5 -4
  73. package/dist/frontend-ssr/assets/{auth-client-x26kqY8Z.js → auth-client-CojKIzqy.js} +13 -13
  74. package/dist/frontend-ssr/assets/{confirm-dialog-XuyaL8sr.js → confirm-dialog-B-oV5wYk.js} +5 -5
  75. package/dist/frontend-ssr/assets/{db-CnxeO66n.js → db-BhwJPEkn.js} +1 -1
  76. package/dist/frontend-ssr/assets/{dialog-BOV1u6zP.js → dialog-1SB5neow.js} +8 -8
  77. package/dist/frontend-ssr/assets/{dropdown-menu-Dn_vQq9b.js → dropdown-menu-DqoOkdqB.js} +12 -12
  78. package/dist/frontend-ssr/assets/{floating-layer-anchor-BIAu-252.js → floating-layer-anchor-BoiiIEiK.js} +71 -71
  79. package/dist/frontend-ssr/assets/{identity-B3uHoDtf.js → identity-DcMMBKWg.js} +1 -1
  80. package/dist/frontend-ssr/assets/{input-DezGsU3y.js → input-Df-QP3Km.js} +2 -2
  81. package/dist/frontend-ssr/assets/{label-Bj8-TfFN.js → label-CbUOUz6L.js} +2 -2
  82. package/dist/frontend-ssr/assets/{messages-BAQzILs4.js → messages-B1TjVIH8.js} +2 -2
  83. package/dist/frontend-ssr/assets/{select-value-DBhbkNcc.js → select-value-CXEDWrZg.js} +18 -18
  84. package/dist/frontend-ssr/assets/{settings-Bk5Hk9Vq.js → settings-Mp8EuFSn.js} +3 -21
  85. package/dist/frontend-ssr/assets/{textarea-Dev-qSEc.js → textarea-CHh8NuSS.js} +2 -2
  86. package/dist/frontend-ssr/assets/{utils-DtlPPXpJ.js → utils-DtX0ta7y.js} +1 -1
  87. package/dist/frontend-ssr/components/category-dialog.js +1 -1
  88. package/dist/frontend-ssr/components/create-snapshot-dialog.js +1 -1
  89. package/dist/frontend-ssr/components/delete-dialog.js +1 -1
  90. package/dist/frontend-ssr/components/editor/compact-editor.js +1 -1
  91. package/dist/frontend-ssr/components/editor/document-editor.js +1 -1
  92. package/dist/frontend-ssr/components/editor/document-title.js +1 -1
  93. package/dist/frontend-ssr/components/editor/markdown-toggle.js +1 -1
  94. package/dist/frontend-ssr/components/folder-node.js +1 -1
  95. package/dist/frontend-ssr/components/save-as-dialog.js +4 -4
  96. package/dist/frontend-ssr/components/settings.js +1 -1
  97. package/dist/frontend-ssr/components/share-dialog.js +1 -1
  98. package/dist/frontend-ssr/components/sidebar.js +1 -1
  99. package/dist/frontend-ssr/components/tag-create-dialog.js +1 -1
  100. package/dist/frontend-ssr/components/version-history.js +3 -3
  101. package/dist/frontend-ssr/dashboard.js +32 -30
  102. package/dist/frontend-ssr/i18n.js +1 -1
  103. package/dist/frontend-ssr/offline/identity.js +1 -1
  104. package/dist/frontend-ssr/search.js +3 -3
  105. package/dist/index.d.ts +5 -5
  106. package/dist/index.js +2 -2
  107. package/dist/lifecycle-persistent.d.ts +1 -1
  108. package/dist/lifecycle-runtime.js +52659 -338
  109. package/dist/mcp-cli.js +1056 -0
  110. package/dist/mcp-server.d.ts +39 -0
  111. package/dist/mcp-server.js +1053 -0
  112. package/dist/storage-quota.d.ts +5 -1
  113. package/dist/types.d.ts +7 -0
  114. package/dist/workspace.d.ts +11 -2
  115. package/dist/workspace.js +82 -10
  116. package/package.json +7 -13
  117. package/packages/cli/src/index.ts +4 -3
  118. package/packages/db/src/client.ts +56 -5
  119. package/packages/db/src/schema.ts +192 -1
  120. package/packages/db/src/with-tenant.ts +20 -2
  121. package/server.json +42 -5
  122. package/dist/frontend/ShareDialog-2Mty7hm4.js +0 -258
  123. package/dist/frontend/messages-DIovIZrK.js +0 -1093
  124. package/packages/mcp-server/src/capabilities.ts +0 -189
  125. package/packages/mcp-server/src/client.ts +0 -225
  126. package/packages/mcp-server/src/index.ts +0 -8
  127. package/packages/mcp-server/src/server.ts +0 -87
  128. package/packages/mcp-server/src/tools/create-document.ts +0 -34
  129. package/packages/mcp-server/src/tools/create-folder.ts +0 -31
  130. package/packages/mcp-server/src/tools/create-snapshot.ts +0 -27
  131. package/packages/mcp-server/src/tools/export-document.ts +0 -22
  132. package/packages/mcp-server/src/tools/get-document.ts +0 -22
  133. package/packages/mcp-server/src/tools/list-documents.ts +0 -34
  134. package/packages/mcp-server/src/tools/list-folders.ts +0 -26
  135. package/packages/mcp-server/src/tools/search.ts +0 -39
  136. package/packages/mcp-server/src/tools/update-document.ts +0 -38
  137. package/packages/mcp-server/src/tools/version-history.ts +0 -27
  138. package/packages/mcp-server/src/types.ts +0 -126
@@ -1,26 +0,0 @@
1
- import { z } from 'zod';
2
- import { client, type HiaiDocsClient } from '../client.js';
3
- import type { Folder } from '../types.js';
4
-
5
- export const definition = {
6
- name: 'list_folders',
7
- description:
8
- 'List folders, optionally scoped to a parent folder. Returns a flat list of immediate children.',
9
- inputSchema: {
10
- parentId: z
11
- .string()
12
- .optional()
13
- .describe('Optional parent folder ID. Omit to list top-level (root) folders.'),
14
- },
15
- } as const;
16
-
17
- export interface ListFoldersArgs {
18
- parentId?: string;
19
- }
20
-
21
- export const createHandler = (api: HiaiDocsClient) =>
22
- async function listFolders(args: ListFoldersArgs): Promise<Folder[]> {
23
- return (await api.listFolders(args)) as Folder[];
24
- };
25
-
26
- export const handler = createHandler(client);
@@ -1,39 +0,0 @@
1
- import { z } from 'zod';
2
- import { client, type HiaiDocsClient } from '../client.js';
3
- import type { SearchResponse } from '../types.js';
4
-
5
- export const definition = {
6
- name: 'search_documents',
7
- description:
8
- 'Hybrid search across documents (full-text + semantic). Supports filtering by folder and tags.',
9
- inputSchema: {
10
- query: z.string().describe('Search query string.'),
11
- folder: z.string().optional().describe('Optional folder ID to scope the search to.'),
12
- tags: z.array(z.string()).optional().describe('Optional tag IDs to filter by.'),
13
- limit: z
14
- .number()
15
- .int()
16
- .positive()
17
- .optional()
18
- .describe('Maximum number of results to return (default 20).'),
19
- },
20
- } as const;
21
-
22
- export type SearchArgs = {
23
- query: string;
24
- folder?: string;
25
- tags?: string[];
26
- limit?: number;
27
- };
28
-
29
- export const createHandler = (api: HiaiDocsClient) =>
30
- async function searchDocuments(args: SearchArgs): Promise<SearchResponse> {
31
- return (await api.search({
32
- query: args.query,
33
- folder: args.folder,
34
- tags: args.tags,
35
- limit: args.limit,
36
- })) as SearchResponse;
37
- };
38
-
39
- export const handler = createHandler(client);
@@ -1,38 +0,0 @@
1
- import { z } from 'zod';
2
- import { client, type HiaiDocsClient } from '../client.js';
3
- import type { DocumentDetail } from '../types.js';
4
-
5
- export const definition = {
6
- name: 'update_document',
7
- description:
8
- "Update an existing document's title and/or content. The server creates a new version on each update.",
9
- inputSchema: {
10
- id: z.string().describe('Document ID to update.'),
11
- title: z.string().optional().describe('New title for the document.'),
12
- content: z.string().optional().describe('New markdown content for the document.'),
13
- folderId: z.string().nullable().optional().describe('Move the document to a folder.'),
14
- categoryId: z
15
- .string()
16
- .nullable()
17
- .optional()
18
- .describe(
19
- 'Move the document to a category. Category keys cannot escape their configured category.'
20
- ),
21
- },
22
- } as const;
23
-
24
- export interface UpdateDocumentArgs {
25
- id: string;
26
- title?: string;
27
- content?: string;
28
- folderId?: string | null;
29
- categoryId?: string | null;
30
- }
31
-
32
- export const createHandler = (api: HiaiDocsClient) =>
33
- async function updateDocument(args: UpdateDocumentArgs): Promise<DocumentDetail> {
34
- const { id, ...patch } = args;
35
- return (await api.updateDocument(id, patch)) as DocumentDetail;
36
- };
37
-
38
- export const handler = createHandler(client);
@@ -1,27 +0,0 @@
1
- import { z } from 'zod';
2
- import { client, type HiaiDocsClient } from '../client.js';
3
- import type { Version } from '../types.js';
4
-
5
- export const definition = {
6
- name: 'get_version_history',
7
- description: 'List the version history for a document. Optionally restrict to named snapshots.',
8
- inputSchema: {
9
- documentId: z.string().describe('Document ID whose versions should be listed.'),
10
- onlySnapshots: z
11
- .boolean()
12
- .optional()
13
- .describe('When true, only return named snapshots (skip auto-saved revisions).'),
14
- },
15
- } as const;
16
-
17
- export interface VersionHistoryArgs {
18
- documentId: string;
19
- onlySnapshots?: boolean;
20
- }
21
-
22
- export const createHandler = (api: HiaiDocsClient) =>
23
- async function getVersionHistory(args: VersionHistoryArgs): Promise<Version[]> {
24
- return (await api.getVersionHistory(args.documentId, args.onlySnapshots)) as Version[];
25
- };
26
-
27
- export const handler = createHandler(client);
@@ -1,126 +0,0 @@
1
- /**
2
- * Shared TypeScript types for hiai-docs REST API responses.
3
- * Keep these minimal — only the fields consumed by MCP tools.
4
- */
5
-
6
- export interface Tag {
7
- id: string;
8
- name: string;
9
- color: string | null;
10
- }
11
-
12
- export interface DocumentSummary {
13
- id: string;
14
- title: string;
15
- content?: string;
16
- folderId: string | null;
17
- createdAt: string;
18
- updatedAt: string;
19
- tags?: Tag[];
20
- }
21
-
22
- export interface DocumentDetail {
23
- id: string;
24
- ownerId: string;
25
- folderId: string | null;
26
- folderName?: string | null;
27
- title: string;
28
- content: string;
29
- contentJson?: unknown;
30
- createdAt: string;
31
- updatedAt: string;
32
- tags?: Tag[];
33
- }
34
-
35
- export interface SearchResultItem {
36
- id: string;
37
- title: string;
38
- snippet: string;
39
- score: number;
40
- folder_id: string | null;
41
- folder_name: string | null;
42
- created_at: string;
43
- updated_at: string;
44
- tags?: Tag[];
45
- }
46
-
47
- export interface SearchResponse {
48
- items: SearchResultItem[];
49
- total: number;
50
- page: number;
51
- limit: number;
52
- }
53
-
54
- export interface ListDocumentsResponse {
55
- items: DocumentSummary[];
56
- total: number;
57
- page: number;
58
- limit: number;
59
- }
60
-
61
- export interface Folder {
62
- id: string;
63
- name: string;
64
- parentId: string | null;
65
- ownerId: string;
66
- createdAt: string;
67
- updatedAt: string;
68
- }
69
-
70
- export interface Version {
71
- id: string;
72
- documentId: string;
73
- content: string;
74
- contentJson?: unknown;
75
- createdBy: string;
76
- createdAt: string;
77
- }
78
-
79
- export interface ExportResponse {
80
- markdown: string;
81
- filename?: string;
82
- }
83
-
84
- export interface CreateDocumentInput {
85
- title: string;
86
- content?: string;
87
- folderId?: string;
88
- }
89
-
90
- export interface UpdateDocumentInput {
91
- title?: string;
92
- content?: string;
93
- }
94
-
95
- export interface CreateSnapshotInput {
96
- label: string;
97
- description?: string;
98
- }
99
-
100
- export interface CreateFolderInput {
101
- name: string;
102
- parentId?: string;
103
- }
104
-
105
- export interface SearchInput {
106
- query: string;
107
- folder?: string;
108
- tags?: string[];
109
- limit?: number;
110
- }
111
-
112
- export interface ListDocumentsInput {
113
- folderId?: string;
114
- tag?: string;
115
- page?: number;
116
- limit?: number;
117
- }
118
-
119
- export interface ListFoldersInput {
120
- parentId?: string;
121
- }
122
-
123
- export interface VersionHistoryInput {
124
- documentId: string;
125
- onlySnapshots?: boolean;
126
- }