@lifestreamdynamics/vault-sdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +1121 -0
- package/dist/client.d.ts +143 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +286 -0
- package/dist/client.js.map +1 -0
- package/dist/errors.d.ts +28 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +49 -0
- package/dist/errors.js.map +1 -0
- package/dist/handle-error.d.ts +8 -0
- package/dist/handle-error.d.ts.map +1 -0
- package/dist/handle-error.js +35 -0
- package/dist/handle-error.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/audit-logger.d.ts +29 -0
- package/dist/lib/audit-logger.d.ts.map +1 -0
- package/dist/lib/audit-logger.js +99 -0
- package/dist/lib/audit-logger.js.map +1 -0
- package/dist/lib/encryption.d.ts +34 -0
- package/dist/lib/encryption.d.ts.map +1 -0
- package/dist/lib/encryption.js +87 -0
- package/dist/lib/encryption.js.map +1 -0
- package/dist/lib/signature.d.ts +47 -0
- package/dist/lib/signature.d.ts.map +1 -0
- package/dist/lib/signature.js +71 -0
- package/dist/lib/signature.js.map +1 -0
- package/dist/lib/token-manager.d.ts +80 -0
- package/dist/lib/token-manager.d.ts.map +1 -0
- package/dist/lib/token-manager.js +116 -0
- package/dist/lib/token-manager.js.map +1 -0
- package/dist/resources/admin.d.ts +280 -0
- package/dist/resources/admin.d.ts.map +1 -0
- package/dist/resources/admin.js +236 -0
- package/dist/resources/admin.js.map +1 -0
- package/dist/resources/ai.d.ts +184 -0
- package/dist/resources/ai.d.ts.map +1 -0
- package/dist/resources/ai.js +179 -0
- package/dist/resources/ai.js.map +1 -0
- package/dist/resources/api-keys.d.ts +172 -0
- package/dist/resources/api-keys.d.ts.map +1 -0
- package/dist/resources/api-keys.js +166 -0
- package/dist/resources/api-keys.js.map +1 -0
- package/dist/resources/connectors.d.ts +263 -0
- package/dist/resources/connectors.d.ts.map +1 -0
- package/dist/resources/connectors.js +226 -0
- package/dist/resources/connectors.js.map +1 -0
- package/dist/resources/documents.d.ts +334 -0
- package/dist/resources/documents.d.ts.map +1 -0
- package/dist/resources/documents.js +377 -0
- package/dist/resources/documents.js.map +1 -0
- package/dist/resources/hooks.d.ts +195 -0
- package/dist/resources/hooks.d.ts.map +1 -0
- package/dist/resources/hooks.js +166 -0
- package/dist/resources/hooks.js.map +1 -0
- package/dist/resources/publish.d.ts +165 -0
- package/dist/resources/publish.d.ts.map +1 -0
- package/dist/resources/publish.js +150 -0
- package/dist/resources/publish.js.map +1 -0
- package/dist/resources/search.d.ts +94 -0
- package/dist/resources/search.d.ts.map +1 -0
- package/dist/resources/search.js +76 -0
- package/dist/resources/search.js.map +1 -0
- package/dist/resources/shares.d.ts +130 -0
- package/dist/resources/shares.d.ts.map +1 -0
- package/dist/resources/shares.js +115 -0
- package/dist/resources/shares.js.map +1 -0
- package/dist/resources/subscription.d.ts +172 -0
- package/dist/resources/subscription.d.ts.map +1 -0
- package/dist/resources/subscription.js +166 -0
- package/dist/resources/subscription.js.map +1 -0
- package/dist/resources/teams.d.ts +356 -0
- package/dist/resources/teams.d.ts.map +1 -0
- package/dist/resources/teams.js +395 -0
- package/dist/resources/teams.js.map +1 -0
- package/dist/resources/user.d.ts +92 -0
- package/dist/resources/user.d.ts.map +1 -0
- package/dist/resources/user.js +64 -0
- package/dist/resources/user.js.map +1 -0
- package/dist/resources/vaults.d.ts +144 -0
- package/dist/resources/vaults.d.ts.map +1 -0
- package/dist/resources/vaults.js +158 -0
- package/dist/resources/vaults.js.map +1 -0
- package/dist/resources/webhooks.d.ts +187 -0
- package/dist/resources/webhooks.d.ts.map +1 -0
- package/dist/resources/webhooks.js +171 -0
- package/dist/resources/webhooks.js.map +1 -0
- package/dist/types/api.d.ts +17 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/api.js +2 -0
- package/dist/types/api.js.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/resources.d.ts +5 -0
- package/dist/types/resources.d.ts.map +1 -0
- package/dist/types/resources.js +2 -0
- package/dist/types/resources.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
import type { KyInstance } from 'ky';
|
|
2
|
+
/** Metadata for a document stored in a vault. */
|
|
3
|
+
export interface Document {
|
|
4
|
+
/** Unique document identifier. */
|
|
5
|
+
id: string;
|
|
6
|
+
/** ID of the vault containing this document. */
|
|
7
|
+
vaultId: string;
|
|
8
|
+
/** File path relative to the vault root (e.g., `'notes/todo.md'`). */
|
|
9
|
+
path: string;
|
|
10
|
+
/** Document title extracted from frontmatter or first heading, if available. */
|
|
11
|
+
title: string | null;
|
|
12
|
+
/** SHA-256 hash of the document content. */
|
|
13
|
+
contentHash: string;
|
|
14
|
+
/** Document size in bytes. */
|
|
15
|
+
sizeBytes: number;
|
|
16
|
+
/** Tags extracted from frontmatter and inline hashtags. */
|
|
17
|
+
tags: string[];
|
|
18
|
+
/** Whether the document content is encrypted client-side. */
|
|
19
|
+
encrypted: boolean;
|
|
20
|
+
/** The encryption algorithm used, if encrypted. */
|
|
21
|
+
encryptionAlgorithm: string | null;
|
|
22
|
+
/** ISO 8601 timestamp of the last file modification. */
|
|
23
|
+
fileModifiedAt: string;
|
|
24
|
+
/** ISO 8601 creation timestamp. */
|
|
25
|
+
createdAt: string;
|
|
26
|
+
/** ISO 8601 last-updated timestamp. */
|
|
27
|
+
updatedAt: string;
|
|
28
|
+
}
|
|
29
|
+
/** A document with its full Markdown content. */
|
|
30
|
+
export interface DocumentWithContent {
|
|
31
|
+
/** Document metadata. */
|
|
32
|
+
document: Document;
|
|
33
|
+
/** Raw Markdown content of the document. */
|
|
34
|
+
content: string;
|
|
35
|
+
}
|
|
36
|
+
/** Version metadata for a document. */
|
|
37
|
+
export interface DocumentVersion {
|
|
38
|
+
id: string;
|
|
39
|
+
documentId: string;
|
|
40
|
+
versionNum: number;
|
|
41
|
+
contentHash: string;
|
|
42
|
+
sizeBytes: number;
|
|
43
|
+
changeSource: 'web' | 'api' | 'webdav';
|
|
44
|
+
changedBy: string | null;
|
|
45
|
+
isPinned: boolean;
|
|
46
|
+
expiresAt: string | null;
|
|
47
|
+
createdAt: string;
|
|
48
|
+
}
|
|
49
|
+
/** Version with its content. */
|
|
50
|
+
export interface DocumentVersionWithContent extends DocumentVersion {
|
|
51
|
+
content: string | null;
|
|
52
|
+
}
|
|
53
|
+
/** Diff response between two versions. */
|
|
54
|
+
export interface VersionDiffResponse {
|
|
55
|
+
fromVersion: number;
|
|
56
|
+
toVersion: number;
|
|
57
|
+
changes: Array<{
|
|
58
|
+
added?: boolean;
|
|
59
|
+
removed?: boolean;
|
|
60
|
+
value: string;
|
|
61
|
+
}>;
|
|
62
|
+
}
|
|
63
|
+
/** Summary information for a document in a listing. */
|
|
64
|
+
export interface DocumentListItem {
|
|
65
|
+
/** File path relative to the vault root. */
|
|
66
|
+
path: string;
|
|
67
|
+
/** Document title, if available. */
|
|
68
|
+
title: string | null;
|
|
69
|
+
/** Tags extracted from the document. */
|
|
70
|
+
tags: string[];
|
|
71
|
+
/** Document size in bytes. */
|
|
72
|
+
sizeBytes: number;
|
|
73
|
+
/** ISO 8601 timestamp of the last file modification. */
|
|
74
|
+
fileModifiedAt: string;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Resource for managing documents within vaults.
|
|
78
|
+
*
|
|
79
|
+
* Documents are Markdown files stored in vaults. Each document has a file
|
|
80
|
+
* path relative to the vault root and must end with `.md`. The API supports
|
|
81
|
+
* CRUD operations as well as move and copy.
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```typescript
|
|
85
|
+
* const docs = await client.documents.list('vault-uuid');
|
|
86
|
+
* const doc = await client.documents.get('vault-uuid', 'notes/todo.md');
|
|
87
|
+
* console.log(doc.content);
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
export declare class DocumentsResource {
|
|
91
|
+
private http;
|
|
92
|
+
constructor(http: KyInstance);
|
|
93
|
+
/**
|
|
94
|
+
* Lists documents in a vault, optionally filtered by directory.
|
|
95
|
+
*
|
|
96
|
+
* @param vaultId - The vault ID to list documents from
|
|
97
|
+
* @param dirPath - Optional directory path to filter results (e.g., `'notes/'`)
|
|
98
|
+
* @returns Array of document summary objects
|
|
99
|
+
* @throws {NotFoundError} If the vault does not exist
|
|
100
|
+
* @throws {AuthenticationError} If the request is not authenticated
|
|
101
|
+
* @throws {NetworkError} If the request fails due to network issues
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```typescript
|
|
105
|
+
* // List all documents
|
|
106
|
+
* const docs = await client.documents.list('vault-uuid');
|
|
107
|
+
*
|
|
108
|
+
* // List documents in a subdirectory
|
|
109
|
+
* const notes = await client.documents.list('vault-uuid', 'notes/');
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
list(vaultId: string, dirPath?: string): Promise<DocumentListItem[]>;
|
|
113
|
+
/**
|
|
114
|
+
* Retrieves a document's metadata and full Markdown content.
|
|
115
|
+
*
|
|
116
|
+
* @param vaultId - The vault ID containing the document
|
|
117
|
+
* @param docPath - File path relative to vault root (e.g., `'notes/todo.md'`)
|
|
118
|
+
* @returns The document metadata and raw Markdown content
|
|
119
|
+
* @throws {NotFoundError} If the vault or document does not exist
|
|
120
|
+
* @throws {AuthenticationError} If the request is not authenticated
|
|
121
|
+
* @throws {NetworkError} If the request fails due to network issues
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```typescript
|
|
125
|
+
* const { document, content } = await client.documents.get(
|
|
126
|
+
* 'vault-uuid',
|
|
127
|
+
* 'notes/todo.md'
|
|
128
|
+
* );
|
|
129
|
+
* console.log(document.title, content);
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
132
|
+
get(vaultId: string, docPath: string): Promise<DocumentWithContent>;
|
|
133
|
+
/**
|
|
134
|
+
* Creates or updates a document (upsert).
|
|
135
|
+
*
|
|
136
|
+
* If a document already exists at the given path, it is updated only when
|
|
137
|
+
* the content has changed (compared by SHA-256 hash). Intermediate folders
|
|
138
|
+
* are created automatically.
|
|
139
|
+
*
|
|
140
|
+
* @param vaultId - The vault ID to write the document into
|
|
141
|
+
* @param docPath - File path relative to vault root (must end with `.md`)
|
|
142
|
+
* @param content - Raw Markdown content to write
|
|
143
|
+
* @returns The created or updated document metadata
|
|
144
|
+
* @throws {NotFoundError} If the vault does not exist
|
|
145
|
+
* @throws {ValidationError} If the path is invalid or content exceeds size limits
|
|
146
|
+
* @throws {AuthenticationError} If the request is not authenticated
|
|
147
|
+
* @throws {NetworkError} If the request fails due to network issues
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* ```typescript
|
|
151
|
+
* // Create a new document
|
|
152
|
+
* const doc = await client.documents.put(
|
|
153
|
+
* 'vault-uuid',
|
|
154
|
+
* 'notes/hello.md',
|
|
155
|
+
* '# Hello World\n\nThis is my first note.'
|
|
156
|
+
* );
|
|
157
|
+
* ```
|
|
158
|
+
*
|
|
159
|
+
* @example
|
|
160
|
+
* ```typescript
|
|
161
|
+
* // Update an existing document
|
|
162
|
+
* const { content } = await client.documents.get('vault-uuid', 'notes/hello.md');
|
|
163
|
+
* await client.documents.put(
|
|
164
|
+
* 'vault-uuid',
|
|
165
|
+
* 'notes/hello.md',
|
|
166
|
+
* content + '\n\nAppended text.'
|
|
167
|
+
* );
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
put(vaultId: string, docPath: string, content: string): Promise<Document>;
|
|
171
|
+
/**
|
|
172
|
+
* Permanently deletes a document from a vault.
|
|
173
|
+
*
|
|
174
|
+
* Removes the document from both the filesystem and the database.
|
|
175
|
+
* This action is irreversible.
|
|
176
|
+
*
|
|
177
|
+
* @param vaultId - The vault ID containing the document
|
|
178
|
+
* @param docPath - File path of the document to delete
|
|
179
|
+
* @throws {NotFoundError} If the vault or document does not exist
|
|
180
|
+
* @throws {AuthenticationError} If the request is not authenticated
|
|
181
|
+
* @throws {NetworkError} If the request fails due to network issues
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* ```typescript
|
|
185
|
+
* await client.documents.delete('vault-uuid', 'notes/old-note.md');
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
delete(vaultId: string, docPath: string): Promise<void>;
|
|
189
|
+
/**
|
|
190
|
+
* Moves (renames) a document to a new path within the same vault.
|
|
191
|
+
*
|
|
192
|
+
* @param vaultId - The vault ID containing the document
|
|
193
|
+
* @param sourcePath - Current file path of the document
|
|
194
|
+
* @param destination - New file path for the document (must end with `.md`)
|
|
195
|
+
* @param overwrite - If `true`, overwrite any existing document at the destination. Defaults to `false`.
|
|
196
|
+
* @returns Object with a confirmation message and the source/destination paths
|
|
197
|
+
* @throws {NotFoundError} If the vault or source document does not exist
|
|
198
|
+
* @throws {ConflictError} If a document exists at the destination and `overwrite` is `false`
|
|
199
|
+
* @throws {ValidationError} If the destination path is invalid
|
|
200
|
+
* @throws {AuthenticationError} If the request is not authenticated
|
|
201
|
+
* @throws {NetworkError} If the request fails due to network issues
|
|
202
|
+
*
|
|
203
|
+
* @example
|
|
204
|
+
* ```typescript
|
|
205
|
+
* const result = await client.documents.move(
|
|
206
|
+
* 'vault-uuid',
|
|
207
|
+
* 'drafts/note.md',
|
|
208
|
+
* 'published/note.md'
|
|
209
|
+
* );
|
|
210
|
+
* console.log(result.destination); // 'published/note.md'
|
|
211
|
+
* ```
|
|
212
|
+
*
|
|
213
|
+
* @see {@link DocumentsResource.copy} to duplicate a document instead
|
|
214
|
+
*/
|
|
215
|
+
move(vaultId: string, sourcePath: string, destination: string, overwrite?: boolean): Promise<{
|
|
216
|
+
message: string;
|
|
217
|
+
source: string;
|
|
218
|
+
destination: string;
|
|
219
|
+
}>;
|
|
220
|
+
/**
|
|
221
|
+
* Copies a document to a new path within the same vault.
|
|
222
|
+
*
|
|
223
|
+
* The original document is preserved. A new document is created at the
|
|
224
|
+
* destination path with the same content.
|
|
225
|
+
*
|
|
226
|
+
* @param vaultId - The vault ID containing the document
|
|
227
|
+
* @param sourcePath - File path of the document to copy
|
|
228
|
+
* @param destination - File path for the new copy (must end with `.md`)
|
|
229
|
+
* @param overwrite - If `true`, overwrite any existing document at the destination. Defaults to `false`.
|
|
230
|
+
* @returns Object with a confirmation message and the source/destination paths
|
|
231
|
+
* @throws {NotFoundError} If the vault or source document does not exist
|
|
232
|
+
* @throws {ConflictError} If a document exists at the destination and `overwrite` is `false`
|
|
233
|
+
* @throws {ValidationError} If the destination path is invalid
|
|
234
|
+
* @throws {AuthenticationError} If the request is not authenticated
|
|
235
|
+
* @throws {NetworkError} If the request fails due to network issues
|
|
236
|
+
*
|
|
237
|
+
* @example
|
|
238
|
+
* ```typescript
|
|
239
|
+
* const result = await client.documents.copy(
|
|
240
|
+
* 'vault-uuid',
|
|
241
|
+
* 'templates/meeting.md',
|
|
242
|
+
* 'notes/2024-01-15-meeting.md'
|
|
243
|
+
* );
|
|
244
|
+
* ```
|
|
245
|
+
*
|
|
246
|
+
* @see {@link DocumentsResource.move} to relocate a document instead
|
|
247
|
+
*/
|
|
248
|
+
copy(vaultId: string, sourcePath: string, destination: string, overwrite?: boolean): Promise<{
|
|
249
|
+
message: string;
|
|
250
|
+
source: string;
|
|
251
|
+
destination: string;
|
|
252
|
+
}>;
|
|
253
|
+
/**
|
|
254
|
+
* Creates or updates a document with client-side encryption.
|
|
255
|
+
*
|
|
256
|
+
* The content is encrypted locally using AES-256-GCM before being sent to
|
|
257
|
+
* the server. The server stores only the ciphertext and cannot read the
|
|
258
|
+
* plaintext content. Search indexing, AI features, and hooks are disabled
|
|
259
|
+
* for encrypted documents.
|
|
260
|
+
*
|
|
261
|
+
* @param vaultId - The vault ID to write the document into
|
|
262
|
+
* @param docPath - File path relative to vault root (must end with `.md`)
|
|
263
|
+
* @param content - Raw Markdown content to encrypt and write
|
|
264
|
+
* @param keyHex - The 256-bit vault encryption key as a hex string
|
|
265
|
+
* @returns The created or updated document metadata
|
|
266
|
+
* @throws {Error} If the key is invalid
|
|
267
|
+
*/
|
|
268
|
+
putEncrypted(vaultId: string, docPath: string, content: string, keyHex: string): Promise<Document>;
|
|
269
|
+
/**
|
|
270
|
+
* Retrieves an encrypted document and decrypts it client-side.
|
|
271
|
+
*
|
|
272
|
+
* @param vaultId - The vault ID containing the document
|
|
273
|
+
* @param docPath - File path relative to vault root
|
|
274
|
+
* @param keyHex - The 256-bit vault encryption key as a hex string
|
|
275
|
+
* @returns The document metadata and decrypted plaintext content
|
|
276
|
+
* @throws {Error} If the key is invalid or decryption fails
|
|
277
|
+
*/
|
|
278
|
+
getEncrypted(vaultId: string, docPath: string, keyHex: string): Promise<DocumentWithContent>;
|
|
279
|
+
/**
|
|
280
|
+
* Lists version history for a document.
|
|
281
|
+
*
|
|
282
|
+
* @param vaultId - The vault ID containing the document
|
|
283
|
+
* @param docPath - File path relative to vault root
|
|
284
|
+
* @returns Array of version metadata objects (newest first)
|
|
285
|
+
*/
|
|
286
|
+
listVersions(vaultId: string, docPath: string): Promise<DocumentVersion[]>;
|
|
287
|
+
/**
|
|
288
|
+
* Retrieves a specific version's content.
|
|
289
|
+
*
|
|
290
|
+
* @param vaultId - The vault ID containing the document
|
|
291
|
+
* @param docPath - File path relative to vault root
|
|
292
|
+
* @param versionNum - The version number to retrieve
|
|
293
|
+
* @returns The version metadata and content
|
|
294
|
+
*/
|
|
295
|
+
getVersion(vaultId: string, docPath: string, versionNum: number): Promise<DocumentVersionWithContent>;
|
|
296
|
+
/**
|
|
297
|
+
* Computes a diff between two versions of a document.
|
|
298
|
+
*
|
|
299
|
+
* @param vaultId - The vault ID containing the document
|
|
300
|
+
* @param docPath - File path relative to vault root
|
|
301
|
+
* @param from - Source version number
|
|
302
|
+
* @param to - Target version number
|
|
303
|
+
* @returns The diff with line-level changes
|
|
304
|
+
*/
|
|
305
|
+
diffVersions(vaultId: string, docPath: string, from: number, to: number): Promise<VersionDiffResponse>;
|
|
306
|
+
/**
|
|
307
|
+
* Restores a document to a previous version.
|
|
308
|
+
*
|
|
309
|
+
* @param vaultId - The vault ID containing the document
|
|
310
|
+
* @param docPath - File path relative to vault root
|
|
311
|
+
* @param versionNum - The version number to restore
|
|
312
|
+
* @returns The updated document metadata
|
|
313
|
+
*/
|
|
314
|
+
restoreVersion(vaultId: string, docPath: string, versionNum: number): Promise<Document>;
|
|
315
|
+
/**
|
|
316
|
+
* Pins a version to prevent it from being pruned.
|
|
317
|
+
*
|
|
318
|
+
* @param vaultId - The vault ID containing the document
|
|
319
|
+
* @param docPath - File path relative to vault root
|
|
320
|
+
* @param versionNum - The version number to pin
|
|
321
|
+
* @returns The updated version metadata
|
|
322
|
+
*/
|
|
323
|
+
pinVersion(vaultId: string, docPath: string, versionNum: number): Promise<DocumentVersion>;
|
|
324
|
+
/**
|
|
325
|
+
* Unpins a version, allowing it to be pruned.
|
|
326
|
+
*
|
|
327
|
+
* @param vaultId - The vault ID containing the document
|
|
328
|
+
* @param docPath - File path relative to vault root
|
|
329
|
+
* @param versionNum - The version number to unpin
|
|
330
|
+
* @returns The updated version metadata
|
|
331
|
+
*/
|
|
332
|
+
unpinVersion(vaultId: string, docPath: string, versionNum: number): Promise<DocumentVersion>;
|
|
333
|
+
}
|
|
334
|
+
//# sourceMappingURL=documents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/resources/documents.ts"],"names":[],"mappings":"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"}
|