@bendyline/docblocks 1.1.2 → 2.1.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/README.md +76 -11
- package/dist/chunk-6IYMTYMQ.js +1692 -0
- package/dist/chunk-6IYMTYMQ.js.map +1 -0
- package/dist/chunk-AEHCVWU5.js +25 -0
- package/dist/chunk-AEHCVWU5.js.map +1 -0
- package/dist/chunk-B56KWCSE.js +802 -0
- package/dist/chunk-B56KWCSE.js.map +1 -0
- package/dist/{chunk-ME76RUMR.js → chunk-BNKV7MTO.js} +15 -1
- package/dist/chunk-BNKV7MTO.js.map +1 -0
- package/dist/chunk-BXMF5YQJ.js +149 -0
- package/dist/chunk-BXMF5YQJ.js.map +1 -0
- package/dist/chunk-COYQXQK3.js +1071 -0
- package/dist/chunk-COYQXQK3.js.map +1 -0
- package/dist/chunk-DN7A33LL.js +780 -0
- package/dist/chunk-DN7A33LL.js.map +1 -0
- package/dist/chunk-EZKJZUNJ.js +13 -0
- package/dist/chunk-EZKJZUNJ.js.map +1 -0
- package/dist/chunk-FA7UNOXK.js +20 -0
- package/dist/chunk-FA7UNOXK.js.map +1 -0
- package/dist/chunk-FNW556FN.js +75 -0
- package/dist/chunk-FNW556FN.js.map +1 -0
- package/dist/chunk-GM5YXU4L.js +29 -0
- package/dist/chunk-GM5YXU4L.js.map +1 -0
- package/dist/chunk-JS6XFWQK.js +225 -0
- package/dist/chunk-JS6XFWQK.js.map +1 -0
- package/dist/chunk-MNSZ7EZN.js +111 -0
- package/dist/chunk-MNSZ7EZN.js.map +1 -0
- package/dist/chunk-P3DVZQ6S.js +228 -0
- package/dist/chunk-P3DVZQ6S.js.map +1 -0
- package/dist/chunk-P4WATND4.js +52 -0
- package/dist/chunk-P4WATND4.js.map +1 -0
- package/dist/chunk-RVPGQBWR.js +169 -0
- package/dist/chunk-RVPGQBWR.js.map +1 -0
- package/dist/chunk-U722UUFN.js +9 -0
- package/dist/chunk-U722UUFN.js.map +1 -0
- package/dist/chunk-VTCSF7VS.js +553 -0
- package/dist/chunk-VTCSF7VS.js.map +1 -0
- package/dist/chunk-WJKYY5QR.js +1350 -0
- package/dist/chunk-WJKYY5QR.js.map +1 -0
- package/dist/chunk-XUML3MKV.js +945 -0
- package/dist/chunk-XUML3MKV.js.map +1 -0
- package/dist/document/index.d.ts +358 -0
- package/dist/document/index.js +25 -0
- package/dist/document/index.js.map +1 -0
- package/dist/filesystem/electron.d.ts +73 -0
- package/dist/filesystem/electron.js +17 -0
- package/dist/filesystem/electron.js.map +1 -0
- package/dist/filesystem/index.d.ts +228 -8
- package/dist/filesystem/index.js +133 -6
- package/dist/filesystem/index.js.map +1 -1
- package/dist/filesystem/indexeddb.d.ts +284 -0
- package/dist/filesystem/indexeddb.js +23 -0
- package/dist/filesystem/indexeddb.js.map +1 -0
- package/dist/filesystem/memory.d.ts +152 -0
- package/dist/filesystem/memory.js +13 -0
- package/dist/filesystem/memory.js.map +1 -0
- package/dist/filesystem/native.d.ts +136 -0
- package/dist/filesystem/native.js +28 -0
- package/dist/filesystem/native.js.map +1 -0
- package/dist/host/index.d.ts +32 -6
- package/dist/host/index.js +26 -27
- package/dist/host/index.js.map +1 -1
- package/dist/index.d.ts +14 -9
- package/dist/index.js +204 -8
- package/dist/index.js.map +1 -1
- package/dist/mcp/index.d.ts +33 -0
- package/dist/mcp/index.js +32 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/zod.d.ts +5765 -0
- package/dist/mcp/zod.js +724 -0
- package/dist/mcp/zod.js.map +1 -0
- package/dist/share/index.d.ts +43 -0
- package/dist/share/index.js +13 -0
- package/dist/share/index.js.map +1 -0
- package/dist/types-BEg5SQ1_.d.ts +301 -0
- package/dist/types-CX893hgH.d.ts +468 -0
- package/dist/types-CueK0tvU.d.ts +501 -0
- package/dist/vscode/index.d.ts +220 -0
- package/dist/vscode/index.js +383 -0
- package/dist/vscode/index.js.map +1 -0
- package/dist/workspace/index.d.ts +141 -3
- package/dist/workspace/index.js +28 -1
- package/dist/workspace/index.js.map +1 -1
- package/dist/workspace-path-CWVrcuPL.d.ts +21 -0
- package/package.json +50 -5
- package/dist/chunk-GUNM43XZ.js +0 -63
- package/dist/chunk-GUNM43XZ.js.map +0 -1
- package/dist/chunk-IM7LCQJ6.js +0 -850
- package/dist/chunk-IM7LCQJ6.js.map +0 -1
- package/dist/chunk-ME76RUMR.js.map +0 -1
- package/dist/filesystem/electron-provider.d.ts +0 -32
- package/dist/filesystem/electron-provider.d.ts.map +0 -1
- package/dist/filesystem/electron-provider.js +0 -64
- package/dist/filesystem/electron-provider.js.map +0 -1
- package/dist/filesystem/file-media-provider.d.ts +0 -23
- package/dist/filesystem/file-media-provider.d.ts.map +0 -1
- package/dist/filesystem/file-media-provider.js +0 -85
- package/dist/filesystem/file-media-provider.js.map +0 -1
- package/dist/filesystem/filesystem-content-container.d.ts +0 -24
- package/dist/filesystem/filesystem-content-container.d.ts.map +0 -1
- package/dist/filesystem/filesystem-content-container.js +0 -116
- package/dist/filesystem/filesystem-content-container.js.map +0 -1
- package/dist/filesystem/index.d.ts.map +0 -1
- package/dist/filesystem/indexeddb-content-container.d.ts +0 -20
- package/dist/filesystem/indexeddb-content-container.d.ts.map +0 -1
- package/dist/filesystem/indexeddb-content-container.js +0 -93
- package/dist/filesystem/indexeddb-content-container.js.map +0 -1
- package/dist/filesystem/indexeddb-provider.d.ts +0 -32
- package/dist/filesystem/indexeddb-provider.d.ts.map +0 -1
- package/dist/filesystem/indexeddb-provider.js +0 -295
- package/dist/filesystem/indexeddb-provider.js.map +0 -1
- package/dist/filesystem/native-provider.d.ts +0 -45
- package/dist/filesystem/native-provider.d.ts.map +0 -1
- package/dist/filesystem/native-provider.js +0 -336
- package/dist/filesystem/native-provider.js.map +0 -1
- package/dist/filesystem/types.d.ts +0 -50
- package/dist/filesystem/types.d.ts.map +0 -1
- package/dist/filesystem/types.js +0 -8
- package/dist/filesystem/types.js.map +0 -1
- package/dist/host/index.d.ts.map +0 -1
- package/dist/host/types.d.ts +0 -149
- package/dist/host/types.d.ts.map +0 -1
- package/dist/host/types.js +0 -10
- package/dist/host/types.js.map +0 -1
- package/dist/index-pgBHBQ9G.d.ts +0 -213
- package/dist/index.d.ts.map +0 -1
- package/dist/workspace/index.d.ts.map +0 -1
- package/dist/workspace/types.d.ts +0 -29
- package/dist/workspace/types.d.ts.map +0 -1
- package/dist/workspace/types.js +0 -6
- package/dist/workspace/types.js.map +0 -1
- package/dist/workspace/workspace-manager.d.ts +0 -35
- package/dist/workspace/workspace-manager.d.ts.map +0 -1
- package/dist/workspace/workspace-manager.js +0 -82
- package/dist/workspace/workspace-manager.js.map +0 -1
- package/src/filesystem/electron-provider.ts +0 -88
- package/src/filesystem/file-media-provider.ts +0 -103
- package/src/filesystem/filesystem-content-container.ts +0 -126
- package/src/filesystem/index.ts +0 -24
- package/src/filesystem/indexeddb-content-container.ts +0 -104
- package/src/filesystem/indexeddb-provider.ts +0 -345
- package/src/filesystem/native-provider.ts +0 -384
- package/src/filesystem/types.ts +0 -69
- package/src/host/index.ts +0 -47
- package/src/host/types.ts +0 -153
- package/src/index.ts +0 -9
- package/src/workspace/index.ts +0 -10
- package/src/workspace/types.ts +0 -29
- package/src/workspace/workspace-manager.ts +0 -90
|
@@ -1,336 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* NativeFileSystemProvider — wraps the File System Access API
|
|
3
|
-
* (window.showDirectoryPicker / FileSystemDirectoryHandle).
|
|
4
|
-
*
|
|
5
|
-
* Progressive enhancement: only available in browsers that support
|
|
6
|
-
* the API (Chrome, Edge). Feature-detect with `isNativeFileSystemSupported()`.
|
|
7
|
-
*/
|
|
8
|
-
// ── Feature detection ──────────────────────────────────────────────
|
|
9
|
-
export function isNativeFileSystemSupported() {
|
|
10
|
-
return typeof globalThis !== 'undefined' && 'showDirectoryPicker' in globalThis;
|
|
11
|
-
}
|
|
12
|
-
// ── Handle persistence (IndexedDB, structured clone) ───────────────
|
|
13
|
-
const HANDLE_DB_NAME = 'docblocks-handles';
|
|
14
|
-
const HANDLE_STORE_NAME = 'directory-handles';
|
|
15
|
-
function openHandleDB() {
|
|
16
|
-
return new Promise((resolve, reject) => {
|
|
17
|
-
const req = indexedDB.open(HANDLE_DB_NAME, 1);
|
|
18
|
-
req.onupgradeneeded = () => {
|
|
19
|
-
req.result.createObjectStore(HANDLE_STORE_NAME);
|
|
20
|
-
};
|
|
21
|
-
req.onsuccess = () => resolve(req.result);
|
|
22
|
-
req.onerror = () => reject(req.error);
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
/** Persist a FileSystemDirectoryHandle so it survives page reloads. */
|
|
26
|
-
export async function storeDirectoryHandle(workspaceId, handle) {
|
|
27
|
-
const db = await openHandleDB();
|
|
28
|
-
return new Promise((resolve, reject) => {
|
|
29
|
-
const tx = db.transaction(HANDLE_STORE_NAME, 'readwrite');
|
|
30
|
-
tx.objectStore(HANDLE_STORE_NAME).put(handle, workspaceId);
|
|
31
|
-
tx.oncomplete = () => {
|
|
32
|
-
db.close();
|
|
33
|
-
resolve();
|
|
34
|
-
};
|
|
35
|
-
tx.onerror = () => {
|
|
36
|
-
db.close();
|
|
37
|
-
reject(tx.error);
|
|
38
|
-
};
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
/** Retrieve a previously stored handle. Returns null if not found. */
|
|
42
|
-
export async function loadDirectoryHandle(workspaceId) {
|
|
43
|
-
const db = await openHandleDB();
|
|
44
|
-
return new Promise((resolve, reject) => {
|
|
45
|
-
const tx = db.transaction(HANDLE_STORE_NAME, 'readonly');
|
|
46
|
-
const req = tx.objectStore(HANDLE_STORE_NAME).get(workspaceId);
|
|
47
|
-
req.onsuccess = () => {
|
|
48
|
-
db.close();
|
|
49
|
-
resolve(req.result ?? null);
|
|
50
|
-
};
|
|
51
|
-
req.onerror = () => {
|
|
52
|
-
db.close();
|
|
53
|
-
reject(req.error);
|
|
54
|
-
};
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
/** Remove a stored handle (e.g. when deleting a workspace). */
|
|
58
|
-
export async function removeDirectoryHandle(workspaceId) {
|
|
59
|
-
const db = await openHandleDB();
|
|
60
|
-
return new Promise((resolve, reject) => {
|
|
61
|
-
const tx = db.transaction(HANDLE_STORE_NAME, 'readwrite');
|
|
62
|
-
tx.objectStore(HANDLE_STORE_NAME).delete(workspaceId);
|
|
63
|
-
tx.oncomplete = () => {
|
|
64
|
-
db.close();
|
|
65
|
-
resolve();
|
|
66
|
-
};
|
|
67
|
-
tx.onerror = () => {
|
|
68
|
-
db.close();
|
|
69
|
-
reject(tx.error);
|
|
70
|
-
};
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
// ── Helpers ────────────────────────────────────────────────────────
|
|
74
|
-
function normalisePath(p) {
|
|
75
|
-
return p.replace(/\\/g, '/').replace(/\/+/g, '/').replace(/^\//, '').replace(/\/$/, '');
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Walk a chain of path segments to reach a FileSystemDirectoryHandle.
|
|
79
|
-
* Returns null if any segment is missing.
|
|
80
|
-
*/
|
|
81
|
-
async function resolveDir(root, dirPath) {
|
|
82
|
-
if (!dirPath)
|
|
83
|
-
return root;
|
|
84
|
-
const parts = dirPath.split('/');
|
|
85
|
-
let current = root;
|
|
86
|
-
for (const part of parts) {
|
|
87
|
-
try {
|
|
88
|
-
current = await current.getDirectoryHandle(part);
|
|
89
|
-
}
|
|
90
|
-
catch {
|
|
91
|
-
return null;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return current;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Walk path segments, creating directories as needed.
|
|
98
|
-
*/
|
|
99
|
-
async function resolveDirCreate(root, dirPath) {
|
|
100
|
-
if (!dirPath)
|
|
101
|
-
return root;
|
|
102
|
-
const parts = dirPath.split('/');
|
|
103
|
-
let current = root;
|
|
104
|
-
for (const part of parts) {
|
|
105
|
-
current = await current.getDirectoryHandle(part, { create: true });
|
|
106
|
-
}
|
|
107
|
-
return current;
|
|
108
|
-
}
|
|
109
|
-
function parentDir(p) {
|
|
110
|
-
const idx = p.lastIndexOf('/');
|
|
111
|
-
return idx === -1 ? '' : p.slice(0, idx);
|
|
112
|
-
}
|
|
113
|
-
function baseName(p) {
|
|
114
|
-
const idx = p.lastIndexOf('/');
|
|
115
|
-
return idx === -1 ? p : p.slice(idx + 1);
|
|
116
|
-
}
|
|
117
|
-
function toWritableBinary(data) {
|
|
118
|
-
if (data instanceof ArrayBuffer)
|
|
119
|
-
return data;
|
|
120
|
-
const copy = new Uint8Array(data.byteLength);
|
|
121
|
-
copy.set(data);
|
|
122
|
-
return copy.buffer;
|
|
123
|
-
}
|
|
124
|
-
// ── Implementation ─────────────────────────────────────────────────
|
|
125
|
-
export class NativeFileSystemProvider {
|
|
126
|
-
constructor(id, root) {
|
|
127
|
-
this.id = id;
|
|
128
|
-
this.label = root.name;
|
|
129
|
-
this.root = root;
|
|
130
|
-
}
|
|
131
|
-
async copyDirectory(oldDirPath, newDirPath) {
|
|
132
|
-
const source = await resolveDir(this.root, oldDirPath);
|
|
133
|
-
if (!source)
|
|
134
|
-
return false;
|
|
135
|
-
await resolveDirCreate(this.root, newDirPath);
|
|
136
|
-
for await (const [name, handle] of source) {
|
|
137
|
-
const oldChild = oldDirPath ? `${oldDirPath}/${name}` : name;
|
|
138
|
-
const newChild = newDirPath ? `${newDirPath}/${name}` : name;
|
|
139
|
-
if (handle.kind === 'directory') {
|
|
140
|
-
await this.copyDirectory(oldChild, newChild);
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
const fileHandle = await source.getFileHandle(name);
|
|
144
|
-
const file = await fileHandle.getFile();
|
|
145
|
-
await this.writeBinary(newChild, await file.arrayBuffer());
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
return true;
|
|
149
|
-
}
|
|
150
|
-
async readFile(path) {
|
|
151
|
-
const p = normalisePath(path);
|
|
152
|
-
const dir = await resolveDir(this.root, parentDir(p));
|
|
153
|
-
if (!dir)
|
|
154
|
-
return null;
|
|
155
|
-
try {
|
|
156
|
-
const fileHandle = await dir.getFileHandle(baseName(p));
|
|
157
|
-
const file = await fileHandle.getFile();
|
|
158
|
-
return file.text();
|
|
159
|
-
}
|
|
160
|
-
catch {
|
|
161
|
-
return null;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
async writeFile(path, content) {
|
|
165
|
-
const p = normalisePath(path);
|
|
166
|
-
const dir = await resolveDirCreate(this.root, parentDir(p));
|
|
167
|
-
const fileHandle = await dir.getFileHandle(baseName(p), { create: true });
|
|
168
|
-
const writable = await fileHandle.createWritable();
|
|
169
|
-
await writable.write(content);
|
|
170
|
-
await writable.close();
|
|
171
|
-
}
|
|
172
|
-
async delete(path) {
|
|
173
|
-
const p = normalisePath(path);
|
|
174
|
-
const parent = parentDir(p);
|
|
175
|
-
const name = baseName(p);
|
|
176
|
-
const dir = await resolveDir(this.root, parent);
|
|
177
|
-
if (!dir)
|
|
178
|
-
return;
|
|
179
|
-
await dir.removeEntry(name, { recursive: true });
|
|
180
|
-
}
|
|
181
|
-
async rename(oldPath, newPath) {
|
|
182
|
-
const op = normalisePath(oldPath);
|
|
183
|
-
const np = normalisePath(newPath);
|
|
184
|
-
if (op === np)
|
|
185
|
-
return;
|
|
186
|
-
if (!op || !np) {
|
|
187
|
-
throw new Error('Cannot rename the filesystem root');
|
|
188
|
-
}
|
|
189
|
-
if (np.startsWith(op + '/')) {
|
|
190
|
-
throw new Error('Cannot move a directory into itself');
|
|
191
|
-
}
|
|
192
|
-
// The File System Access API doesn't have a native rename.
|
|
193
|
-
// Copy → delete.
|
|
194
|
-
const oldParent = await resolveDir(this.root, parentDir(op));
|
|
195
|
-
if (!oldParent)
|
|
196
|
-
return;
|
|
197
|
-
try {
|
|
198
|
-
const fileHandle = await oldParent.getFileHandle(baseName(op));
|
|
199
|
-
const file = await fileHandle.getFile();
|
|
200
|
-
await this.writeBinary(np, await file.arrayBuffer());
|
|
201
|
-
await this.delete(op);
|
|
202
|
-
return;
|
|
203
|
-
}
|
|
204
|
-
catch {
|
|
205
|
-
// Not a file; try directory below.
|
|
206
|
-
}
|
|
207
|
-
const copied = await this.copyDirectory(op, np);
|
|
208
|
-
if (copied) {
|
|
209
|
-
await this.delete(op);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
async readDirectory(path) {
|
|
213
|
-
const p = normalisePath(path);
|
|
214
|
-
const dir = await resolveDir(this.root, p);
|
|
215
|
-
if (!dir)
|
|
216
|
-
return [];
|
|
217
|
-
const entries = [];
|
|
218
|
-
for await (const [name, handle] of dir) {
|
|
219
|
-
const entryPath = p ? `${p}/${name}` : name;
|
|
220
|
-
if (handle.kind === 'directory') {
|
|
221
|
-
entries.push({ kind: 'directory', name, path: entryPath });
|
|
222
|
-
}
|
|
223
|
-
else {
|
|
224
|
-
entries.push({ kind: 'file', name, path: entryPath });
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
// Sort: directories first, then alphabetical
|
|
228
|
-
entries.sort((a, b) => {
|
|
229
|
-
if (a.kind !== b.kind)
|
|
230
|
-
return a.kind === 'directory' ? -1 : 1;
|
|
231
|
-
return a.name.localeCompare(b.name);
|
|
232
|
-
});
|
|
233
|
-
return entries;
|
|
234
|
-
}
|
|
235
|
-
async exists(path) {
|
|
236
|
-
const p = normalisePath(path);
|
|
237
|
-
const parent = parentDir(p);
|
|
238
|
-
const name = baseName(p);
|
|
239
|
-
const dir = await resolveDir(this.root, parent);
|
|
240
|
-
if (!dir)
|
|
241
|
-
return false;
|
|
242
|
-
try {
|
|
243
|
-
await dir.getFileHandle(name);
|
|
244
|
-
return true;
|
|
245
|
-
}
|
|
246
|
-
catch {
|
|
247
|
-
try {
|
|
248
|
-
await dir.getDirectoryHandle(name);
|
|
249
|
-
return true;
|
|
250
|
-
}
|
|
251
|
-
catch {
|
|
252
|
-
return false;
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
async createDirectory(path) {
|
|
257
|
-
const p = normalisePath(path);
|
|
258
|
-
await resolveDirCreate(this.root, p);
|
|
259
|
-
}
|
|
260
|
-
async stat(path) {
|
|
261
|
-
const p = normalisePath(path);
|
|
262
|
-
const dir = await resolveDir(this.root, parentDir(p));
|
|
263
|
-
if (!dir)
|
|
264
|
-
return null;
|
|
265
|
-
try {
|
|
266
|
-
const fileHandle = await dir.getFileHandle(baseName(p));
|
|
267
|
-
const file = await fileHandle.getFile();
|
|
268
|
-
return {
|
|
269
|
-
name: file.name,
|
|
270
|
-
path: p,
|
|
271
|
-
size: file.size,
|
|
272
|
-
lastModified: new Date(file.lastModified).toISOString(),
|
|
273
|
-
};
|
|
274
|
-
}
|
|
275
|
-
catch {
|
|
276
|
-
return null;
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
async readBinary(path) {
|
|
280
|
-
const p = normalisePath(path);
|
|
281
|
-
const dir = await resolveDir(this.root, parentDir(p));
|
|
282
|
-
if (!dir)
|
|
283
|
-
return null;
|
|
284
|
-
try {
|
|
285
|
-
const fileHandle = await dir.getFileHandle(baseName(p));
|
|
286
|
-
const file = await fileHandle.getFile();
|
|
287
|
-
return file.arrayBuffer();
|
|
288
|
-
}
|
|
289
|
-
catch {
|
|
290
|
-
return null;
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
async writeBinary(path, data) {
|
|
294
|
-
const p = normalisePath(path);
|
|
295
|
-
const dir = await resolveDirCreate(this.root, parentDir(p));
|
|
296
|
-
const fileHandle = await dir.getFileHandle(baseName(p), { create: true });
|
|
297
|
-
const writable = await fileHandle.createWritable();
|
|
298
|
-
await writable.write(toWritableBinary(data));
|
|
299
|
-
await writable.close();
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
/**
|
|
303
|
-
* Prompt the user to pick a local folder and return a NativeFileSystemProvider.
|
|
304
|
-
* The directory handle is persisted in IndexedDB so it can be restored later.
|
|
305
|
-
* Throws if the user cancels or the API is unsupported.
|
|
306
|
-
*/
|
|
307
|
-
export async function openNativeFolder() {
|
|
308
|
-
if (!isNativeFileSystemSupported()) {
|
|
309
|
-
throw new Error('File System Access API is not supported in this browser');
|
|
310
|
-
}
|
|
311
|
-
const handle = await globalThis.showDirectoryPicker();
|
|
312
|
-
const id = `native-${handle.name}-${Date.now()}`;
|
|
313
|
-
await storeDirectoryHandle(id, handle);
|
|
314
|
-
return new NativeFileSystemProvider(id, handle);
|
|
315
|
-
}
|
|
316
|
-
/**
|
|
317
|
-
* Restore a previously opened native folder from a persisted handle.
|
|
318
|
-
* Re-requests read/write permission (browser will show a prompt).
|
|
319
|
-
* Returns null if the handle is not found or permission is denied.
|
|
320
|
-
*/
|
|
321
|
-
export async function restoreNativeFolder(workspaceId) {
|
|
322
|
-
const handle = await loadDirectoryHandle(workspaceId);
|
|
323
|
-
if (!handle)
|
|
324
|
-
return null;
|
|
325
|
-
// Verify/request permission
|
|
326
|
-
const opts = { mode: 'readwrite' };
|
|
327
|
-
const h = handle;
|
|
328
|
-
if ((await h.queryPermission(opts)) === 'granted') {
|
|
329
|
-
return new NativeFileSystemProvider(workspaceId, handle);
|
|
330
|
-
}
|
|
331
|
-
if ((await h.requestPermission(opts)) === 'granted') {
|
|
332
|
-
return new NativeFileSystemProvider(workspaceId, handle);
|
|
333
|
-
}
|
|
334
|
-
return null;
|
|
335
|
-
}
|
|
336
|
-
//# sourceMappingURL=native-provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"native-provider.js","sourceRoot":"","sources":["../../src/filesystem/native-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* FileSystemProvider — abstract interface for a virtual filesystem.
|
|
3
|
-
*
|
|
4
|
-
* Implementations back onto IndexedDB (for browser-local storage) or
|
|
5
|
-
* the File System Access API (for native folder access).
|
|
6
|
-
*/
|
|
7
|
-
export interface FileEntry {
|
|
8
|
-
kind: 'file';
|
|
9
|
-
name: string;
|
|
10
|
-
path: string;
|
|
11
|
-
}
|
|
12
|
-
export interface FolderEntry {
|
|
13
|
-
kind: 'directory';
|
|
14
|
-
name: string;
|
|
15
|
-
path: string;
|
|
16
|
-
}
|
|
17
|
-
export type FileSystemEntry = FileEntry | FolderEntry;
|
|
18
|
-
export interface FileMeta {
|
|
19
|
-
name: string;
|
|
20
|
-
path: string;
|
|
21
|
-
size: number;
|
|
22
|
-
lastModified: string;
|
|
23
|
-
}
|
|
24
|
-
export interface FileSystemProvider {
|
|
25
|
-
/** Unique identifier for this provider instance. */
|
|
26
|
-
readonly id: string;
|
|
27
|
-
/** Human-readable label (e.g., folder name or "Browser Storage"). */
|
|
28
|
-
readonly label: string;
|
|
29
|
-
/** Read the text content of a file. Returns null if the file doesn't exist. */
|
|
30
|
-
readFile(path: string): Promise<string | null>;
|
|
31
|
-
/** Write text content to a file, creating it (and parent dirs) if needed. */
|
|
32
|
-
writeFile(path: string, content: string): Promise<void>;
|
|
33
|
-
/** Delete a file or empty directory. */
|
|
34
|
-
delete(path: string): Promise<void>;
|
|
35
|
-
/** Rename or move an entry. */
|
|
36
|
-
rename(oldPath: string, newPath: string): Promise<void>;
|
|
37
|
-
/** List immediate children of a directory. */
|
|
38
|
-
readDirectory(path: string): Promise<FileSystemEntry[]>;
|
|
39
|
-
/** Check whether a path exists. */
|
|
40
|
-
exists(path: string): Promise<boolean>;
|
|
41
|
-
/** Create a directory (and parents if needed). */
|
|
42
|
-
createDirectory(path: string): Promise<void>;
|
|
43
|
-
/** Get metadata for a file. Returns null if not found. */
|
|
44
|
-
stat(path: string): Promise<FileMeta | null>;
|
|
45
|
-
/** Read raw binary content. Returns null if not found. */
|
|
46
|
-
readBinary(path: string): Promise<ArrayBuffer | null>;
|
|
47
|
-
/** Write raw binary content. */
|
|
48
|
-
writeBinary(path: string, data: ArrayBuffer | Uint8Array): Promise<void>;
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/filesystem/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,WAAW,CAAC;AAEtD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAID,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,qEAAqE;IACrE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE/C,6EAA6E;IAC7E,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,wCAAwC;IACxC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC,+BAA+B;IAC/B,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,8CAA8C;IAC9C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAExD,mCAAmC;IACnC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvC,kDAAkD;IAClD,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C,0DAA0D;IAC1D,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAE7C,0DAA0D;IAC1D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAEtD,gCAAgC;IAChC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E"}
|
package/dist/filesystem/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/filesystem/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/dist/host/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,eAAe,EACf,WAAW,EACX,WAAW,EACX,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,2DAA2D;AAC3D,wBAAgB,cAAc,IAAI,OAAO,CASxC;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,IAAI,gBAAgB,CAMnD;AAED,kEAAkE;AAClE,wBAAgB,qBAAqB,IAAI,gBAAgB,GAAG,IAAI,CAE/D"}
|
package/dist/host/types.d.ts
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DocBlocksHostAPI — the contract exposed by the Electron desktop shell
|
|
3
|
-
* to its renderer process via contextBridge.
|
|
4
|
-
*
|
|
5
|
-
* This file is the single source of truth for the host ↔ renderer
|
|
6
|
-
* bridge. The Electron preload script exposes an implementation matching
|
|
7
|
-
* this shape; the React renderer calls it through `window.docBlocksHost`.
|
|
8
|
-
*/
|
|
9
|
-
import type { FileSystemEntry, FileMeta } from '../filesystem/types.js';
|
|
10
|
-
/** Filesystem operations scoped to a registered absolute root path. */
|
|
11
|
-
export interface DocBlocksHostFsAPI {
|
|
12
|
-
readFile(rootPath: string, path: string): Promise<string | null>;
|
|
13
|
-
writeFile(rootPath: string, path: string, content: string): Promise<void>;
|
|
14
|
-
delete(rootPath: string, path: string): Promise<void>;
|
|
15
|
-
rename(rootPath: string, oldPath: string, newPath: string): Promise<void>;
|
|
16
|
-
readDirectory(rootPath: string, path: string): Promise<FileSystemEntry[]>;
|
|
17
|
-
exists(rootPath: string, path: string): Promise<boolean>;
|
|
18
|
-
createDirectory(rootPath: string, path: string): Promise<void>;
|
|
19
|
-
stat(rootPath: string, path: string): Promise<FileMeta | null>;
|
|
20
|
-
readBinary(rootPath: string, path: string): Promise<ArrayBuffer | null>;
|
|
21
|
-
writeBinary(rootPath: string, path: string, data: ArrayBuffer | Uint8Array): Promise<void>;
|
|
22
|
-
/**
|
|
23
|
-
* Subscribe to change notifications for a watched root. Returns an
|
|
24
|
-
* unsubscribe function. The main process uses chokidar under the hood.
|
|
25
|
-
*/
|
|
26
|
-
watch(rootPath: string, onChange: (path: string) => void): () => void;
|
|
27
|
-
}
|
|
28
|
-
/** Descriptor returned for an Electron-managed workspace (backed by a folder). */
|
|
29
|
-
export interface ElectronWorkspaceInfo {
|
|
30
|
-
id: string;
|
|
31
|
-
name: string;
|
|
32
|
-
rootPath: string;
|
|
33
|
-
}
|
|
34
|
-
/** Workspace-management operations exposed to the renderer. */
|
|
35
|
-
export interface DocBlocksHostWorkspacesAPI {
|
|
36
|
-
/**
|
|
37
|
-
* Return the default workspace (creating ~/Documents/DocBlocks on first
|
|
38
|
-
* call, or the user's configured default).
|
|
39
|
-
*/
|
|
40
|
-
getDefault(): Promise<ElectronWorkspaceInfo>;
|
|
41
|
-
/**
|
|
42
|
-
* Open the native folder picker. Returns null if the user cancels.
|
|
43
|
-
* The selected folder is registered in the main process whitelist.
|
|
44
|
-
*/
|
|
45
|
-
pickFolder(): Promise<ElectronWorkspaceInfo | null>;
|
|
46
|
-
/**
|
|
47
|
-
* Re-register a previously known workspace so its rootPath is trusted
|
|
48
|
-
* for subsequent fs calls. Called on app startup for persisted
|
|
49
|
-
* electron-native workspaces before any fs operation.
|
|
50
|
-
*/
|
|
51
|
-
register(info: ElectronWorkspaceInfo): Promise<void>;
|
|
52
|
-
/** Remove a workspace from the trusted whitelist. */
|
|
53
|
-
unregister(id: string): Promise<void>;
|
|
54
|
-
}
|
|
55
|
-
/** Shell operations — reveal in Finder/Explorer, open external URLs. */
|
|
56
|
-
export interface DocBlocksHostShellAPI {
|
|
57
|
-
/** Reveal a file (by absolute path) in the OS file manager. */
|
|
58
|
-
revealInFolder(absolutePath: string): Promise<void>;
|
|
59
|
-
/** Open a URL in the default browser. */
|
|
60
|
-
openExternal(url: string): Promise<void>;
|
|
61
|
-
}
|
|
62
|
-
/** System ffmpeg detection and invocation. */
|
|
63
|
-
export interface DocBlocksHostFfmpegAPI {
|
|
64
|
-
/** True if `ffmpeg` is available on PATH (or bundled). */
|
|
65
|
-
available(): Promise<boolean>;
|
|
66
|
-
/** Version string from `ffmpeg -version`, or null if unavailable. */
|
|
67
|
-
version(): Promise<string | null>;
|
|
68
|
-
/**
|
|
69
|
-
* Render a markdown file at the given absolute path to MP4 using the
|
|
70
|
-
* existing squisq-video CLI pipeline. Returns the absolute path to the
|
|
71
|
-
* produced MP4 file, or throws on failure.
|
|
72
|
-
*/
|
|
73
|
-
renderVideo(markdownAbsolutePath: string, options: {
|
|
74
|
-
fps?: number;
|
|
75
|
-
quality?: 'draft' | 'normal' | 'high';
|
|
76
|
-
}): Promise<string>;
|
|
77
|
-
}
|
|
78
|
-
/** Auto-updater control. */
|
|
79
|
-
export interface DocBlocksHostUpdaterAPI {
|
|
80
|
-
/** Kick off a check; resolves to true if an update is available. */
|
|
81
|
-
checkForUpdates(): Promise<boolean>;
|
|
82
|
-
/** Current app version string. */
|
|
83
|
-
getVersion(): Promise<string>;
|
|
84
|
-
/**
|
|
85
|
-
* Quit the app and apply a downloaded update. Should only be called
|
|
86
|
-
* after an `UpdaterStatus` of kind `'downloaded'` has been observed.
|
|
87
|
-
*/
|
|
88
|
-
quitAndInstall(): Promise<void>;
|
|
89
|
-
/**
|
|
90
|
-
* Subscribe to updater status events. Returns an unsubscribe function.
|
|
91
|
-
*/
|
|
92
|
-
onStatus(listener: (status: UpdaterStatus) => void): () => void;
|
|
93
|
-
}
|
|
94
|
-
export type UpdaterStatus = {
|
|
95
|
-
kind: 'checking';
|
|
96
|
-
} | {
|
|
97
|
-
kind: 'available';
|
|
98
|
-
version: string;
|
|
99
|
-
releaseNotes?: string;
|
|
100
|
-
releaseUrl?: string;
|
|
101
|
-
} | {
|
|
102
|
-
kind: 'not-available';
|
|
103
|
-
} | {
|
|
104
|
-
kind: 'downloading';
|
|
105
|
-
percent: number;
|
|
106
|
-
} | {
|
|
107
|
-
kind: 'downloaded';
|
|
108
|
-
version: string;
|
|
109
|
-
releaseNotes?: string;
|
|
110
|
-
releaseUrl?: string;
|
|
111
|
-
} | {
|
|
112
|
-
kind: 'error';
|
|
113
|
-
message: string;
|
|
114
|
-
};
|
|
115
|
-
/** Menu-command events pushed from the main process to the renderer. */
|
|
116
|
-
export type MenuCommand = 'file:new' | 'file:openFolder' | 'file:revealWorkspace' | 'file:settings' | 'help:about' | 'help:checkForUpdates' | 'help:viewOnGitHub';
|
|
117
|
-
/** Deep-link event resolved by the host into a trusted workspace file. */
|
|
118
|
-
export interface OpenRequest {
|
|
119
|
-
kind: 'workspace-file';
|
|
120
|
-
workspaceId: string;
|
|
121
|
-
/** Slash-prefixed path relative to the workspace root. */
|
|
122
|
-
path: string;
|
|
123
|
-
}
|
|
124
|
-
/** Environment metadata provided by the host. */
|
|
125
|
-
export interface HostEnvironment {
|
|
126
|
-
platform: 'darwin' | 'win32' | 'linux';
|
|
127
|
-
appVersion: string;
|
|
128
|
-
isDev: boolean;
|
|
129
|
-
}
|
|
130
|
-
/** The full DocBlocks desktop host API. */
|
|
131
|
-
export interface DocBlocksHostAPI {
|
|
132
|
-
env: HostEnvironment;
|
|
133
|
-
fs: DocBlocksHostFsAPI;
|
|
134
|
-
workspaces: DocBlocksHostWorkspacesAPI;
|
|
135
|
-
shell: DocBlocksHostShellAPI;
|
|
136
|
-
ffmpeg: DocBlocksHostFfmpegAPI;
|
|
137
|
-
updater: DocBlocksHostUpdaterAPI;
|
|
138
|
-
/**
|
|
139
|
-
* Subscribe to menu commands dispatched by the native menu.
|
|
140
|
-
* Returns an unsubscribe function.
|
|
141
|
-
*/
|
|
142
|
-
onMenuCommand(listener: (cmd: MenuCommand) => void): () => void;
|
|
143
|
-
/**
|
|
144
|
-
* Subscribe to open-file / open-url requests from the OS.
|
|
145
|
-
* Returns an unsubscribe function.
|
|
146
|
-
*/
|
|
147
|
-
onOpenRequest(listener: (request: OpenRequest) => void): () => void;
|
|
148
|
-
}
|
|
149
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/host/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/host/types.ts"],"names":[],"mappings":"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"}
|
package/dist/host/types.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DocBlocksHostAPI — the contract exposed by the Electron desktop shell
|
|
3
|
-
* to its renderer process via contextBridge.
|
|
4
|
-
*
|
|
5
|
-
* This file is the single source of truth for the host ↔ renderer
|
|
6
|
-
* bridge. The Electron preload script exposes an implementation matching
|
|
7
|
-
* this shape; the React renderer calls it through `window.docBlocksHost`.
|
|
8
|
-
*/
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=types.js.map
|
package/dist/host/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/host/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|