@batalabs/virlow-mcp-core 3.119.4 → 3.121.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/dist/api.d.ts +23 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +30 -2
- package/dist/api.js.map +1 -1
- package/dist/attachments.d.ts +34 -1
- package/dist/attachments.d.ts.map +1 -1
- package/dist/attachments.js +100 -2
- package/dist/attachments.js.map +1 -1
- package/dist/cjs/api.d.ts +23 -1
- package/dist/cjs/api.js +30 -2
- package/dist/cjs/attachments.d.ts +34 -1
- package/dist/cjs/attachments.js +101 -3
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +3 -2
- package/dist/cjs/large-files.d.ts +72 -0
- package/dist/cjs/large-files.js +235 -0
- package/dist/cjs/notes.d.ts +34 -1
- package/dist/cjs/notes.js +72 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/large-files.d.ts +73 -0
- package/dist/large-files.d.ts.map +1 -0
- package/dist/large-files.js +230 -0
- package/dist/large-files.js.map +1 -0
- package/dist/notes.d.ts +34 -1
- package/dist/notes.d.ts.map +1 -1
- package/dist/notes.js +72 -2
- package/dist/notes.js.map +1 -1
- package/package.json +13 -3
package/dist/api.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
import { type Transport } from './large-files.js';
|
|
1
2
|
export declare class ApiError extends Error {
|
|
2
3
|
readonly status: number;
|
|
3
|
-
|
|
4
|
+
/** The refusal as the API sent it, for a caller that acts on its code. */
|
|
5
|
+
readonly body?: unknown | undefined;
|
|
6
|
+
constructor(status: number, message: string,
|
|
7
|
+
/** The refusal as the API sent it, for a caller that acts on its code. */
|
|
8
|
+
body?: unknown | undefined);
|
|
4
9
|
}
|
|
5
10
|
export interface AuthTokens {
|
|
6
11
|
accessToken: string;
|
|
@@ -57,6 +62,15 @@ export interface ApiNote {
|
|
|
57
62
|
folder?: {
|
|
58
63
|
workspaceId?: string | null;
|
|
59
64
|
} | null;
|
|
65
|
+
/** On list rows: how many live attachments the note has. */
|
|
66
|
+
attachmentCount?: number;
|
|
67
|
+
/** On list rows: enough of each live attachment to tell when one changed.
|
|
68
|
+
* Not enough to read one (no key version): list the note's files for that. */
|
|
69
|
+
attachments?: Array<{
|
|
70
|
+
id: string;
|
|
71
|
+
encryptedTitle: string;
|
|
72
|
+
iv: string;
|
|
73
|
+
}>;
|
|
60
74
|
}
|
|
61
75
|
export interface NoteWrite {
|
|
62
76
|
title: string;
|
|
@@ -184,6 +198,11 @@ export interface ApiFileWithData extends ApiFile {
|
|
|
184
198
|
/** "v2:<iv>:<ciphertext>"; anything else is legacy v1. */
|
|
185
199
|
encryptedData: string;
|
|
186
200
|
noteSalt: string | null;
|
|
201
|
+
/** For a large file: where its sealed chunks are, signed for a while. */
|
|
202
|
+
download?: {
|
|
203
|
+
url: string;
|
|
204
|
+
expiresIn: number;
|
|
205
|
+
};
|
|
187
206
|
}
|
|
188
207
|
export interface FileUpload {
|
|
189
208
|
encryptedTitle: string;
|
|
@@ -212,6 +231,9 @@ export declare class VirlowApi {
|
|
|
212
231
|
* not a race, they are a forced sign-out.
|
|
213
232
|
*/
|
|
214
233
|
refreshSession(): Promise<RefreshBody>;
|
|
234
|
+
/** How a large file travels: JSON through this session, bytes straight to
|
|
235
|
+
* the signed URLs the API hands out, which take no session of ours. */
|
|
236
|
+
largeFileTransport(): Transport;
|
|
215
237
|
private request;
|
|
216
238
|
private refresh;
|
|
217
239
|
private doRefresh;
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAS,SAAQ,KAAK;aAEf,MAAM,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/api.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import { ApiRefusal } from './large-files.js';
|
|
1
2
|
export class ApiError extends Error {
|
|
2
3
|
status;
|
|
3
|
-
|
|
4
|
+
body;
|
|
5
|
+
constructor(status, message,
|
|
6
|
+
/** The refusal as the API sent it, for a caller that acts on its code. */
|
|
7
|
+
body) {
|
|
4
8
|
super(message);
|
|
5
9
|
this.status = status;
|
|
10
|
+
this.body = body;
|
|
6
11
|
this.name = 'ApiError';
|
|
7
12
|
}
|
|
8
13
|
}
|
|
@@ -79,6 +84,29 @@ export class VirlowApi {
|
|
|
79
84
|
});
|
|
80
85
|
return this.refreshInFlight;
|
|
81
86
|
}
|
|
87
|
+
/** How a large file travels: JSON through this session, bytes straight to
|
|
88
|
+
* the signed URLs the API hands out, which take no session of ours. */
|
|
89
|
+
largeFileTransport() {
|
|
90
|
+
return {
|
|
91
|
+
api: async (path, init) => {
|
|
92
|
+
try {
|
|
93
|
+
return await this.request(init?.method ?? 'GET', `/api${path}`, init?.body);
|
|
94
|
+
}
|
|
95
|
+
catch (err) {
|
|
96
|
+
if (err instanceof ApiError)
|
|
97
|
+
throw new ApiRefusal(err.status, { ...err.body, error: err.message });
|
|
98
|
+
throw err;
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
put: async (url, body, onSent, signal) => {
|
|
102
|
+
const res = await fetch(url, { method: 'PUT', body: body, ...(signal ? { signal } : {}) });
|
|
103
|
+
if (res.ok)
|
|
104
|
+
onSent(body.byteLength);
|
|
105
|
+
return res.status;
|
|
106
|
+
},
|
|
107
|
+
getRange: (url, start, end, signal) => fetch(url, { headers: { range: `bytes=${start}-${end - 1}` }, ...(signal ? { signal } : {}) }),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
82
110
|
async request(method, path, body, opts = {}) {
|
|
83
111
|
const { auth = true, retryOn401 = true } = opts;
|
|
84
112
|
const headers = { 'content-type': 'application/json', 'x-virlow-client': 'mcp' };
|
|
@@ -97,7 +125,7 @@ export class VirlowApi {
|
|
|
97
125
|
return undefined;
|
|
98
126
|
const data = await res.json().catch(() => ({}));
|
|
99
127
|
if (!res.ok) {
|
|
100
|
-
throw new ApiError(res.status, describeErrorBody(data, res.statusText));
|
|
128
|
+
throw new ApiError(res.status, describeErrorBody(data, res.statusText), data);
|
|
101
129
|
}
|
|
102
130
|
return data;
|
|
103
131
|
}
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/attachments.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type VirlowApi } from './api.js';
|
|
2
2
|
import { type Vault } from './vault.js';
|
|
3
3
|
import { WorkspaceKeyring } from './keyring.js';
|
|
4
|
+
/** Above this a file goes as a large upload, in chunks. The web app's limit too. */
|
|
5
|
+
export declare const SMALL_FILE_BYTES: number;
|
|
4
6
|
export interface AttachmentInfo {
|
|
5
7
|
id: string;
|
|
6
8
|
noteId: string;
|
|
@@ -14,6 +16,10 @@ export declare function largeFileMessage(size: number): string;
|
|
|
14
16
|
export declare class AttachmentsService {
|
|
15
17
|
private readonly api;
|
|
16
18
|
private readonly vault;
|
|
19
|
+
/** For the account holder's own surfaces (the desktop drive), where "Expose
|
|
20
|
+
* to MCP" does not apply: that switch is consent for AI tools, and no AI
|
|
21
|
+
* tool is the caller. Never set this for anything serving tools. */
|
|
22
|
+
private readonly options;
|
|
17
23
|
private readonly keyring;
|
|
18
24
|
/** Bumped when the vault locks. add() and rename() capture it before their
|
|
19
25
|
* first await and check it right before the upload or patch, so nothing is
|
|
@@ -21,7 +27,13 @@ export declare class AttachmentsService {
|
|
|
21
27
|
private epoch;
|
|
22
28
|
constructor(api: VirlowApi, vault: Vault,
|
|
23
29
|
/** Shared with NotesService (its `keyring`) so keys open once per unlock. */
|
|
24
|
-
keyring?: WorkspaceKeyring
|
|
30
|
+
keyring?: WorkspaceKeyring,
|
|
31
|
+
/** For the account holder's own surfaces (the desktop drive), where "Expose
|
|
32
|
+
* to MCP" does not apply: that switch is consent for AI tools, and no AI
|
|
33
|
+
* tool is the caller. Never set this for anything serving tools. */
|
|
34
|
+
options?: {
|
|
35
|
+
allFolders?: boolean;
|
|
36
|
+
});
|
|
25
37
|
private requireSameSession;
|
|
26
38
|
list(noteId: string, includeTrashed: boolean): Promise<AttachmentInfo[]>;
|
|
27
39
|
add(input: {
|
|
@@ -36,6 +48,27 @@ export declare class AttachmentsService {
|
|
|
36
48
|
info: AttachmentInfo;
|
|
37
49
|
bytes: Uint8Array;
|
|
38
50
|
}>;
|
|
51
|
+
/**
|
|
52
|
+
* A file's plaintext for bytes [start, end), written as it arrives, so a large
|
|
53
|
+
* file never sits in memory whole. May write more than was asked, from an
|
|
54
|
+
* earlier offset and on to the end of what it had to decrypt anyway: a small
|
|
55
|
+
* file is one ciphertext, a large one opens by the chunk. Offsets given to
|
|
56
|
+
* `write` are always chunk or 1 MiB boundaries.
|
|
57
|
+
*/
|
|
58
|
+
readRange(id: string, input: {
|
|
59
|
+
start: number;
|
|
60
|
+
end: number;
|
|
61
|
+
write: (bytes: Uint8Array, offset: number) => Promise<void> | void;
|
|
62
|
+
signal?: AbortSignal;
|
|
63
|
+
}): Promise<void>;
|
|
64
|
+
/** A file of any size from a Blob: one request when small, chunks when not. */
|
|
65
|
+
addBlob(input: {
|
|
66
|
+
noteId: string;
|
|
67
|
+
filename: string;
|
|
68
|
+
file: Blob;
|
|
69
|
+
mimeType?: string;
|
|
70
|
+
signal?: AbortSignal;
|
|
71
|
+
}): Promise<AttachmentInfo>;
|
|
39
72
|
rename(id: string, newFilename: string): Promise<AttachmentInfo>;
|
|
40
73
|
move(id: string, toNoteId: string): Promise<AttachmentInfo>;
|
|
41
74
|
trash(id: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../src/attachments.ts"],"names":[],"mappings":"AAYA,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAChF,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../src/attachments.ts"],"names":[],"mappings":"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"}
|
package/dist/attachments.js
CHANGED
|
@@ -5,6 +5,11 @@ import { ApiError } from './api.js';
|
|
|
5
5
|
import { LockedError } from './vault.js';
|
|
6
6
|
import { WorkspaceKeyring } from './keyring.js';
|
|
7
7
|
import { PATH_MAX_BYTES, formatSize, inferMimeType, sanitizeFilename } from './attachment-format.js';
|
|
8
|
+
import { downloadLargeFile, uploadLargeFile } from './large-files.js';
|
|
9
|
+
/** Above this a file goes as a large upload, in chunks. The web app's limit too. */
|
|
10
|
+
export const SMALL_FILE_BYTES = 10 * 1024 * 1024;
|
|
11
|
+
/** How much of a small file's plaintext one `readRange` write carries. */
|
|
12
|
+
const SMALL_FILE_WRITE_BYTES = 1024 * 1024;
|
|
8
13
|
/** A file this vault's key cannot open: encrypted before the account had a
|
|
9
14
|
* master password, under the web app's old per-device key. */
|
|
10
15
|
const WRONG_KEY_MESSAGE = 'Could not decrypt this file with your vault key. Open it in the Virlow app.';
|
|
@@ -47,6 +52,7 @@ function inferredMimeType(filename, fromText) {
|
|
|
47
52
|
export class AttachmentsService {
|
|
48
53
|
api;
|
|
49
54
|
vault;
|
|
55
|
+
options;
|
|
50
56
|
keyring;
|
|
51
57
|
/** Bumped when the vault locks. add() and rename() capture it before their
|
|
52
58
|
* first await and check it right before the upload or patch, so nothing is
|
|
@@ -54,9 +60,14 @@ export class AttachmentsService {
|
|
|
54
60
|
epoch = 0;
|
|
55
61
|
constructor(api, vault,
|
|
56
62
|
/** Shared with NotesService (its `keyring`) so keys open once per unlock. */
|
|
57
|
-
keyring
|
|
63
|
+
keyring,
|
|
64
|
+
/** For the account holder's own surfaces (the desktop drive), where "Expose
|
|
65
|
+
* to MCP" does not apply: that switch is consent for AI tools, and no AI
|
|
66
|
+
* tool is the caller. Never set this for anything serving tools. */
|
|
67
|
+
options = {}) {
|
|
58
68
|
this.api = api;
|
|
59
69
|
this.vault = vault;
|
|
70
|
+
this.options = options;
|
|
60
71
|
this.keyring = keyring ?? new WorkspaceKeyring(api, vault);
|
|
61
72
|
this.vault.onLock = () => {
|
|
62
73
|
this.epoch++;
|
|
@@ -123,6 +134,93 @@ export class AttachmentsService {
|
|
|
123
134
|
throw decryptFailure(err);
|
|
124
135
|
}
|
|
125
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* A file's plaintext for bytes [start, end), written as it arrives, so a large
|
|
139
|
+
* file never sits in memory whole. May write more than was asked, from an
|
|
140
|
+
* earlier offset and on to the end of what it had to decrypt anyway: a small
|
|
141
|
+
* file is one ciphertext, a large one opens by the chunk. Offsets given to
|
|
142
|
+
* `write` are always chunk or 1 MiB boundaries.
|
|
143
|
+
*/
|
|
144
|
+
async readRange(id, input) {
|
|
145
|
+
const key = this.requireSession();
|
|
146
|
+
const startEpoch = this.epoch;
|
|
147
|
+
const meta = await this.api.getFileMeta(id);
|
|
148
|
+
let place = await this.requirePlace(meta.noteId);
|
|
149
|
+
const file = await this.api.getFile(id);
|
|
150
|
+
// Moved between the two calls: check where it is now, too.
|
|
151
|
+
if (file.noteId !== meta.noteId)
|
|
152
|
+
place = await this.requirePlace(file.noteId);
|
|
153
|
+
const fileKey = await this.readKey(key, file, place);
|
|
154
|
+
this.requireSameSession(startEpoch);
|
|
155
|
+
const write = async (bytes, offset) => {
|
|
156
|
+
this.requireSameSession(startEpoch);
|
|
157
|
+
await input.write(bytes, offset);
|
|
158
|
+
};
|
|
159
|
+
try {
|
|
160
|
+
if (file.chunkSize) {
|
|
161
|
+
if (!file.download)
|
|
162
|
+
throw new Error('The file has no stored content to read');
|
|
163
|
+
await downloadLargeFile(this.api.largeFileTransport(), {
|
|
164
|
+
size: file.size,
|
|
165
|
+
chunkSize: file.chunkSize,
|
|
166
|
+
header: file.encryptedData,
|
|
167
|
+
url: file.download.url,
|
|
168
|
+
masterKey: fileKey,
|
|
169
|
+
refreshUrl: async () => {
|
|
170
|
+
const fresh = await this.api.getFile(id);
|
|
171
|
+
if (!fresh.download)
|
|
172
|
+
throw new Error('The file has no stored content to read');
|
|
173
|
+
return fresh.download.url;
|
|
174
|
+
},
|
|
175
|
+
range: { start: input.start, end: input.end },
|
|
176
|
+
write,
|
|
177
|
+
...(input.signal ? { signal: input.signal } : {}),
|
|
178
|
+
});
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
const { bytes } = await decryptAttachment(fileKey, file);
|
|
182
|
+
const from = Math.floor(input.start / SMALL_FILE_WRITE_BYTES) * SMALL_FILE_WRITE_BYTES;
|
|
183
|
+
for (let at = from; at < bytes.byteLength; at += SMALL_FILE_WRITE_BYTES) {
|
|
184
|
+
if (input.signal?.aborted)
|
|
185
|
+
throw new DOMException('Download cancelled', 'AbortError');
|
|
186
|
+
await write(bytes.subarray(at, Math.min(at + SMALL_FILE_WRITE_BYTES, bytes.byteLength)), at);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
catch (err) {
|
|
190
|
+
throw err?.name === 'AbortError' || err instanceof LockedError ? err : decryptFailure(err);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/** A file of any size from a Blob: one request when small, chunks when not. */
|
|
194
|
+
async addBlob(input) {
|
|
195
|
+
const { file } = input;
|
|
196
|
+
if (file.size <= SMALL_FILE_BYTES) {
|
|
197
|
+
return this.add({
|
|
198
|
+
noteId: input.noteId,
|
|
199
|
+
filename: input.filename,
|
|
200
|
+
bytes: new Uint8Array(await file.arrayBuffer()),
|
|
201
|
+
...(input.mimeType ? { mimeType: input.mimeType } : {}),
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
const key = this.requireSession();
|
|
205
|
+
const startEpoch = this.epoch;
|
|
206
|
+
const place = await this.requirePlace(input.noteId);
|
|
207
|
+
const filename = sanitizeFilename(input.filename);
|
|
208
|
+
const choice = await this.writeKey(key, place, place.row.keyVersion ?? null);
|
|
209
|
+
const name = await encryptAttachmentName(choice.key, filename);
|
|
210
|
+
this.requireSameSession(startEpoch);
|
|
211
|
+
const row = await uploadLargeFile(this.api.largeFileTransport(), {
|
|
212
|
+
noteId: input.noteId,
|
|
213
|
+
file,
|
|
214
|
+
mimeType: input.mimeType ?? inferredMimeType(filename, false),
|
|
215
|
+
masterKey: choice.key,
|
|
216
|
+
keyVersion: choice.keyVersion,
|
|
217
|
+
encryptedTitle: name.encryptedTitle,
|
|
218
|
+
iv: name.iv,
|
|
219
|
+
salt: bytesToBase64(crypto.getRandomValues(new Uint8Array(32))),
|
|
220
|
+
...(input.signal ? { signal: input.signal } : {}),
|
|
221
|
+
});
|
|
222
|
+
return { ...infoOf(row), filename };
|
|
223
|
+
}
|
|
126
224
|
async rename(id, newFilename) {
|
|
127
225
|
const key = this.requireSession();
|
|
128
226
|
const startEpoch = this.epoch;
|
|
@@ -211,7 +309,7 @@ export class AttachmentsService {
|
|
|
211
309
|
});
|
|
212
310
|
const workspaces = new Map(folders.map((f) => [f.id, f.workspaceId ?? null]));
|
|
213
311
|
return rows.map((row) => {
|
|
214
|
-
if (!exposure.allows(row.folderId)) {
|
|
312
|
+
if (this.options.allFolders !== true && !exposure.allows(row.folderId)) {
|
|
215
313
|
throw new Error(`Note ${row.id} is in a folder that is not exposed to MCP. Turn on "Expose to MCP" in that folder's settings in the Virlow app to access it here.`);
|
|
216
314
|
}
|
|
217
315
|
const listed = row.folderId === null ? null : (workspaces.get(row.folderId) ?? null);
|
package/dist/attachments.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachments.js","sourceRoot":"","sources":["../src/attachments.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attachments.js","sourceRoot":"","sources":["../src/attachments.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/api.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
import { type Transport } from './large-files.js';
|
|
1
2
|
export declare class ApiError extends Error {
|
|
2
3
|
readonly status: number;
|
|
3
|
-
|
|
4
|
+
/** The refusal as the API sent it, for a caller that acts on its code. */
|
|
5
|
+
readonly body?: unknown | undefined;
|
|
6
|
+
constructor(status: number, message: string,
|
|
7
|
+
/** The refusal as the API sent it, for a caller that acts on its code. */
|
|
8
|
+
body?: unknown | undefined);
|
|
4
9
|
}
|
|
5
10
|
export interface AuthTokens {
|
|
6
11
|
accessToken: string;
|
|
@@ -57,6 +62,15 @@ export interface ApiNote {
|
|
|
57
62
|
folder?: {
|
|
58
63
|
workspaceId?: string | null;
|
|
59
64
|
} | null;
|
|
65
|
+
/** On list rows: how many live attachments the note has. */
|
|
66
|
+
attachmentCount?: number;
|
|
67
|
+
/** On list rows: enough of each live attachment to tell when one changed.
|
|
68
|
+
* Not enough to read one (no key version): list the note's files for that. */
|
|
69
|
+
attachments?: Array<{
|
|
70
|
+
id: string;
|
|
71
|
+
encryptedTitle: string;
|
|
72
|
+
iv: string;
|
|
73
|
+
}>;
|
|
60
74
|
}
|
|
61
75
|
export interface NoteWrite {
|
|
62
76
|
title: string;
|
|
@@ -184,6 +198,11 @@ export interface ApiFileWithData extends ApiFile {
|
|
|
184
198
|
/** "v2:<iv>:<ciphertext>"; anything else is legacy v1. */
|
|
185
199
|
encryptedData: string;
|
|
186
200
|
noteSalt: string | null;
|
|
201
|
+
/** For a large file: where its sealed chunks are, signed for a while. */
|
|
202
|
+
download?: {
|
|
203
|
+
url: string;
|
|
204
|
+
expiresIn: number;
|
|
205
|
+
};
|
|
187
206
|
}
|
|
188
207
|
export interface FileUpload {
|
|
189
208
|
encryptedTitle: string;
|
|
@@ -212,6 +231,9 @@ export declare class VirlowApi {
|
|
|
212
231
|
* not a race, they are a forced sign-out.
|
|
213
232
|
*/
|
|
214
233
|
refreshSession(): Promise<RefreshBody>;
|
|
234
|
+
/** How a large file travels: JSON through this session, bytes straight to
|
|
235
|
+
* the signed URLs the API hands out, which take no session of ours. */
|
|
236
|
+
largeFileTransport(): Transport;
|
|
215
237
|
private request;
|
|
216
238
|
private refresh;
|
|
217
239
|
private doRefresh;
|
package/dist/cjs/api.js
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.VirlowApi = exports.ApiError = void 0;
|
|
4
|
+
const large_files_js_1 = require("./large-files.js");
|
|
4
5
|
class ApiError extends Error {
|
|
5
6
|
status;
|
|
6
|
-
|
|
7
|
+
body;
|
|
8
|
+
constructor(status, message,
|
|
9
|
+
/** The refusal as the API sent it, for a caller that acts on its code. */
|
|
10
|
+
body) {
|
|
7
11
|
super(message);
|
|
8
12
|
this.status = status;
|
|
13
|
+
this.body = body;
|
|
9
14
|
this.name = 'ApiError';
|
|
10
15
|
}
|
|
11
16
|
}
|
|
@@ -83,6 +88,29 @@ class VirlowApi {
|
|
|
83
88
|
});
|
|
84
89
|
return this.refreshInFlight;
|
|
85
90
|
}
|
|
91
|
+
/** How a large file travels: JSON through this session, bytes straight to
|
|
92
|
+
* the signed URLs the API hands out, which take no session of ours. */
|
|
93
|
+
largeFileTransport() {
|
|
94
|
+
return {
|
|
95
|
+
api: async (path, init) => {
|
|
96
|
+
try {
|
|
97
|
+
return await this.request(init?.method ?? 'GET', `/api${path}`, init?.body);
|
|
98
|
+
}
|
|
99
|
+
catch (err) {
|
|
100
|
+
if (err instanceof ApiError)
|
|
101
|
+
throw new large_files_js_1.ApiRefusal(err.status, { ...err.body, error: err.message });
|
|
102
|
+
throw err;
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
put: async (url, body, onSent, signal) => {
|
|
106
|
+
const res = await fetch(url, { method: 'PUT', body: body, ...(signal ? { signal } : {}) });
|
|
107
|
+
if (res.ok)
|
|
108
|
+
onSent(body.byteLength);
|
|
109
|
+
return res.status;
|
|
110
|
+
},
|
|
111
|
+
getRange: (url, start, end, signal) => fetch(url, { headers: { range: `bytes=${start}-${end - 1}` }, ...(signal ? { signal } : {}) }),
|
|
112
|
+
};
|
|
113
|
+
}
|
|
86
114
|
async request(method, path, body, opts = {}) {
|
|
87
115
|
const { auth = true, retryOn401 = true } = opts;
|
|
88
116
|
const headers = { 'content-type': 'application/json', 'x-virlow-client': 'mcp' };
|
|
@@ -101,7 +129,7 @@ class VirlowApi {
|
|
|
101
129
|
return undefined;
|
|
102
130
|
const data = await res.json().catch(() => ({}));
|
|
103
131
|
if (!res.ok) {
|
|
104
|
-
throw new ApiError(res.status, describeErrorBody(data, res.statusText));
|
|
132
|
+
throw new ApiError(res.status, describeErrorBody(data, res.statusText), data);
|
|
105
133
|
}
|
|
106
134
|
return data;
|
|
107
135
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type VirlowApi } from './api.js';
|
|
2
2
|
import { type Vault } from './vault.js';
|
|
3
3
|
import { WorkspaceKeyring } from './keyring.js';
|
|
4
|
+
/** Above this a file goes as a large upload, in chunks. The web app's limit too. */
|
|
5
|
+
export declare const SMALL_FILE_BYTES: number;
|
|
4
6
|
export interface AttachmentInfo {
|
|
5
7
|
id: string;
|
|
6
8
|
noteId: string;
|
|
@@ -14,6 +16,10 @@ export declare function largeFileMessage(size: number): string;
|
|
|
14
16
|
export declare class AttachmentsService {
|
|
15
17
|
private readonly api;
|
|
16
18
|
private readonly vault;
|
|
19
|
+
/** For the account holder's own surfaces (the desktop drive), where "Expose
|
|
20
|
+
* to MCP" does not apply: that switch is consent for AI tools, and no AI
|
|
21
|
+
* tool is the caller. Never set this for anything serving tools. */
|
|
22
|
+
private readonly options;
|
|
17
23
|
private readonly keyring;
|
|
18
24
|
/** Bumped when the vault locks. add() and rename() capture it before their
|
|
19
25
|
* first await and check it right before the upload or patch, so nothing is
|
|
@@ -21,7 +27,13 @@ export declare class AttachmentsService {
|
|
|
21
27
|
private epoch;
|
|
22
28
|
constructor(api: VirlowApi, vault: Vault,
|
|
23
29
|
/** Shared with NotesService (its `keyring`) so keys open once per unlock. */
|
|
24
|
-
keyring?: WorkspaceKeyring
|
|
30
|
+
keyring?: WorkspaceKeyring,
|
|
31
|
+
/** For the account holder's own surfaces (the desktop drive), where "Expose
|
|
32
|
+
* to MCP" does not apply: that switch is consent for AI tools, and no AI
|
|
33
|
+
* tool is the caller. Never set this for anything serving tools. */
|
|
34
|
+
options?: {
|
|
35
|
+
allFolders?: boolean;
|
|
36
|
+
});
|
|
25
37
|
private requireSameSession;
|
|
26
38
|
list(noteId: string, includeTrashed: boolean): Promise<AttachmentInfo[]>;
|
|
27
39
|
add(input: {
|
|
@@ -36,6 +48,27 @@ export declare class AttachmentsService {
|
|
|
36
48
|
info: AttachmentInfo;
|
|
37
49
|
bytes: Uint8Array;
|
|
38
50
|
}>;
|
|
51
|
+
/**
|
|
52
|
+
* A file's plaintext for bytes [start, end), written as it arrives, so a large
|
|
53
|
+
* file never sits in memory whole. May write more than was asked, from an
|
|
54
|
+
* earlier offset and on to the end of what it had to decrypt anyway: a small
|
|
55
|
+
* file is one ciphertext, a large one opens by the chunk. Offsets given to
|
|
56
|
+
* `write` are always chunk or 1 MiB boundaries.
|
|
57
|
+
*/
|
|
58
|
+
readRange(id: string, input: {
|
|
59
|
+
start: number;
|
|
60
|
+
end: number;
|
|
61
|
+
write: (bytes: Uint8Array, offset: number) => Promise<void> | void;
|
|
62
|
+
signal?: AbortSignal;
|
|
63
|
+
}): Promise<void>;
|
|
64
|
+
/** A file of any size from a Blob: one request when small, chunks when not. */
|
|
65
|
+
addBlob(input: {
|
|
66
|
+
noteId: string;
|
|
67
|
+
filename: string;
|
|
68
|
+
file: Blob;
|
|
69
|
+
mimeType?: string;
|
|
70
|
+
signal?: AbortSignal;
|
|
71
|
+
}): Promise<AttachmentInfo>;
|
|
39
72
|
rename(id: string, newFilename: string): Promise<AttachmentInfo>;
|
|
40
73
|
move(id: string, toNoteId: string): Promise<AttachmentInfo>;
|
|
41
74
|
trash(id: string): Promise<void>;
|