@bendyline/docblocks 2.7.3 → 2.7.5

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 (52) hide show
  1. package/THIRD_PARTY_NOTICES.txt +37 -6
  2. package/dist/{capabilities-r03EXSAi.d.ts → capabilities-DHwh4P4D.d.ts} +29 -3
  3. package/dist/{chunk-KQ6756AJ.js → chunk-3GSMJ4MQ.js} +1 -1
  4. package/dist/{chunk-YWYT6K6J.js → chunk-3LXXRIO2.js} +1 -1
  5. package/dist/{chunk-ZTSG7AC3.js → chunk-64733GFL.js} +35 -2
  6. package/dist/{chunk-UK7R3RC7.js → chunk-BC42VRYW.js} +1 -1
  7. package/dist/{chunk-DFMRE22M.js → chunk-EFGQUOTL.js} +17 -3
  8. package/dist/{chunk-IGB2VSRE.js → chunk-FIEMYP2N.js} +2 -2
  9. package/dist/{chunk-M5ZNQGR5.js → chunk-IYKGM3PV.js} +1 -1
  10. package/dist/{chunk-6UPO2GE6.js → chunk-K5HRMSXD.js} +3 -3
  11. package/dist/{chunk-UDEWLHQI.js → chunk-LDAG5NTQ.js} +3 -3
  12. package/dist/{chunk-7SN7YQL4.js → chunk-LJLQYXVL.js} +99 -3
  13. package/dist/{chunk-4I4AG2BH.js → chunk-P32NVUQL.js} +2 -2
  14. package/dist/{chunk-HKOOHM67.js → chunk-Q3OFZWJS.js} +3 -3
  15. package/dist/{chunk-AYWKIZLD.js → chunk-UTH3HYCZ.js} +5 -1
  16. package/dist/{chunk-QS5WTLUZ.js → chunk-XI2LYBRR.js} +167 -0
  17. package/dist/document/index.d.ts +2 -2
  18. package/dist/document/index.js +3 -3
  19. package/dist/filesystem/electron.d.ts +5 -5
  20. package/dist/filesystem/electron.js +4 -4
  21. package/dist/filesystem/host.d.ts +4 -4
  22. package/dist/filesystem/host.js +4 -4
  23. package/dist/filesystem/index.d.ts +27 -8
  24. package/dist/filesystem/index.js +22 -12
  25. package/dist/filesystem/indexeddb.d.ts +2 -2
  26. package/dist/filesystem/indexeddb.js +4 -4
  27. package/dist/filesystem/memory.d.ts +2 -2
  28. package/dist/filesystem/memory.js +4 -4
  29. package/dist/filesystem/native.d.ts +2 -2
  30. package/dist/filesystem/native.js +4 -4
  31. package/dist/{filesystem-v2-C8AdSXUN.d.ts → filesystem-v2-CXdAPR27.d.ts} +1 -1
  32. package/dist/host/index.d.ts +7 -5
  33. package/dist/host/index.js +1 -1
  34. package/dist/host/mobile.d.ts +2 -2
  35. package/dist/host/mobile.js +1 -1
  36. package/dist/{host-provider-v2-CV0joXaL.d.ts → host-provider-v2-DEWMPiRD.d.ts} +2 -2
  37. package/dist/index.d.ts +8 -7
  38. package/dist/index.js +23 -13
  39. package/dist/mcp/index.js +2 -2
  40. package/dist/mcp/zod.js +2 -2
  41. package/dist/reconcile-electron-Ci2lhAdW.d.ts +142 -0
  42. package/dist/{types-BvDnr3YU.d.ts → types-DLteNrK0.d.ts} +3 -1
  43. package/dist/{v2-BVnZZyd4.d.ts → v2-DwxWjFC0.d.ts} +12 -1
  44. package/dist/vscode/index.d.ts +28 -2
  45. package/dist/vscode/index.js +21 -3
  46. package/dist/workspace/index.d.ts +41 -141
  47. package/dist/workspace/index.js +16 -1
  48. package/dist/workspace-index/index.d.ts +3 -1
  49. package/dist/workspace-index/index.js +18 -2
  50. package/dist/workspace-settings/index.d.ts +1 -1
  51. package/dist/workspace-settings/index.js +3 -3
  52. package/package.json +2 -2
@@ -4,6 +4,166 @@ import {
4
4
  import {
5
5
  getFileSystemProviderV2
6
6
  } from "./chunk-XAMILHQP.js";
7
+ import {
8
+ parseWorkspacePath
9
+ } from "./chunk-UTH3HYCZ.js";
10
+
11
+ // src/workspace/backup.ts
12
+ var WORKSPACE_BACKUP_MANIFEST = "docblocks-backup.json";
13
+ var WORKSPACE_BACKUP_LIMITS = Object.freeze({
14
+ maxEntries: 1e4,
15
+ maxUncompressedBytes: 128 * 1024 * 1024,
16
+ maxEntryUncompressedBytes: 64 * 1024 * 1024,
17
+ maxCompressionRatio: 1e3
18
+ });
19
+ function exactRecord(value, keys) {
20
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
21
+ throw new Error("Invalid workspace backup metadata.");
22
+ }
23
+ const record = value;
24
+ if (Object.keys(record).length !== keys.length || keys.some((key) => !(key in record))) {
25
+ throw new Error("Unrecognized workspace backup metadata fields.");
26
+ }
27
+ return record;
28
+ }
29
+ function entryPath(value) {
30
+ if (typeof value !== "string" || value.length > 4096)
31
+ throw new Error("Invalid backup entry path.");
32
+ const path = parseWorkspacePath(value);
33
+ if (!path || path !== value)
34
+ throw new Error("Backup entries must have canonical relative paths.");
35
+ return path;
36
+ }
37
+ function parseWorkspaceBackupManifest(value) {
38
+ const record = exactRecord(value, ["format", "version", "workspaces"]);
39
+ if (record.format !== "docblocks-workspace-backup" || record.version !== 1) {
40
+ throw new Error("This workspace backup version is not supported.");
41
+ }
42
+ if (!Array.isArray(record.workspaces) || !record.workspaces.length || record.workspaces.length > 100) {
43
+ throw new Error("A backup must contain between 1 and 100 workspaces.");
44
+ }
45
+ let directoryCount = 0;
46
+ const workspaces = record.workspaces.map((value2, index) => {
47
+ const workspace = exactRecord(value2, ["name", "prefix", "directories"]);
48
+ if (typeof workspace.name !== "string" || !workspace.name.trim() || workspace.name.length > 1024) {
49
+ throw new Error("Invalid backup workspace name.");
50
+ }
51
+ if (workspace.prefix !== `workspaces/${index + 1}` || !Array.isArray(workspace.directories)) {
52
+ throw new Error("Invalid backup workspace location.");
53
+ }
54
+ directoryCount += workspace.directories.length;
55
+ if (directoryCount > WORKSPACE_BACKUP_LIMITS.maxEntries)
56
+ throw new Error("Too many backup directories.");
57
+ const directories = workspace.directories.map(entryPath);
58
+ if (new Set(directories).size !== directories.length)
59
+ throw new Error("Duplicate backup directories.");
60
+ return { name: workspace.name, prefix: workspace.prefix, directories };
61
+ });
62
+ return { format: "docblocks-workspace-backup", version: 1, workspaces };
63
+ }
64
+ async function appendWorkspaceBackup(container, provider, previous) {
65
+ const snapshot = await provider.snapshot();
66
+ const workspace = {
67
+ name: provider.label || "Workspace",
68
+ prefix: `workspaces/${previous.length + 1}`,
69
+ directories: snapshot.entries.filter((entry) => entry.kind === "directory" && entry.path !== "").map((entry) => entry.path)
70
+ };
71
+ const workspaces = [...previous, workspace];
72
+ parseWorkspaceBackupManifest({ format: "docblocks-workspace-backup", version: 1, workspaces });
73
+ for (const entry of snapshot.entries) {
74
+ if (entry.kind === "file") {
75
+ entryPath(entry.path);
76
+ if (entry.data.byteLength > WORKSPACE_BACKUP_LIMITS.maxEntryUncompressedBytes) {
77
+ throw new Error(`Backup file exceeds the 64 MiB restore limit: ${entry.path}`);
78
+ }
79
+ await container.writeFile(`${workspace.prefix}/${entry.path}`, entry.data);
80
+ }
81
+ }
82
+ return workspaces;
83
+ }
84
+ async function finishWorkspaceBackup(container, workspaces) {
85
+ const manifest = parseWorkspaceBackupManifest({
86
+ format: "docblocks-workspace-backup",
87
+ version: 1,
88
+ workspaces
89
+ });
90
+ const bytes = new TextEncoder().encode(JSON.stringify(manifest));
91
+ if (bytes.byteLength > 1024 * 1024) throw new Error("Workspace backup metadata is too large.");
92
+ await container.writeFile(WORKSPACE_BACKUP_MANIFEST, bytes);
93
+ await readWorkspaceBackup(container, "Workspace");
94
+ }
95
+ async function readWorkspaceBackup(container, legacyName) {
96
+ const entries = await container.listFiles();
97
+ if (entries.length > WORKSPACE_BACKUP_LIMITS.maxEntries)
98
+ throw new Error("Too many backup files.");
99
+ const paths = entries.map((entry) => entryPath(entry.path));
100
+ if (new Set(paths).size !== paths.length) throw new Error("Duplicate backup files.");
101
+ const archiveEntries = new Set(paths);
102
+ for (const path of paths) {
103
+ const parts = path.split("/");
104
+ while (parts.length > 1) {
105
+ parts.pop();
106
+ archiveEntries.add(`${parts.join("/")}/`);
107
+ }
108
+ }
109
+ if (archiveEntries.size > WORKSPACE_BACKUP_LIMITS.maxEntries)
110
+ throw new Error("Too many backup entries.");
111
+ const metadata = paths.includes(parseWorkspacePath(WORKSPACE_BACKUP_MANIFEST)) ? await container.readFile(WORKSPACE_BACKUP_MANIFEST) : null;
112
+ if (metadata && metadata.byteLength > 1024 * 1024)
113
+ throw new Error("Workspace backup metadata is too large.");
114
+ const manifest = metadata ? parseWorkspaceBackupManifest(
115
+ JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(metadata))
116
+ ) : null;
117
+ const workspaces = manifest?.workspaces ?? [{ name: legacyName, prefix: "", directories: [] }];
118
+ if (paths.length + workspaces.reduce((count, workspace) => count + workspace.directories.length, 0) > WORKSPACE_BACKUP_LIMITS.maxEntries) {
119
+ throw new Error("Too many backup files and directories.");
120
+ }
121
+ const result = workspaces.map((workspace) => ({
122
+ ...workspace,
123
+ files: []
124
+ }));
125
+ let total = metadata?.byteLength ?? 0;
126
+ for (const path of paths) {
127
+ if (manifest && path === WORKSPACE_BACKUP_MANIFEST) continue;
128
+ const index = manifest ? workspaces.findIndex((workspace) => path.startsWith(`${workspace.prefix}/`)) : 0;
129
+ if (index < 0) throw new Error(`Backup file is outside its workspace: ${path}`);
130
+ const relative = entryPath(manifest ? path.slice(workspaces[index].prefix.length + 1) : path);
131
+ const data = await container.readFile(path);
132
+ if (!data) throw new Error(`Backup file is missing: ${path}`);
133
+ total += data.byteLength;
134
+ if (data.byteLength > WORKSPACE_BACKUP_LIMITS.maxEntryUncompressedBytes || total > WORKSPACE_BACKUP_LIMITS.maxUncompressedBytes) {
135
+ throw new Error("Workspace backup exceeds the restore size limits.");
136
+ }
137
+ result[index].files.push({ path: relative, data });
138
+ }
139
+ for (const workspace of result) {
140
+ const files = new Set(workspace.files.map((file) => file.path));
141
+ for (const path of [...workspace.directories, ...files]) {
142
+ if (workspace.directories.includes(path) && files.has(path))
143
+ throw new Error(`Conflicting backup entry: ${path}`);
144
+ const parts = path.split("/");
145
+ while (parts.length > 1) {
146
+ parts.pop();
147
+ if (files.has(parseWorkspacePath(parts.join("/"))))
148
+ throw new Error(`Backup file is also a parent directory: ${path}`);
149
+ }
150
+ }
151
+ }
152
+ return result;
153
+ }
154
+ async function restoreWorkspaceBackup(workspace, provider) {
155
+ if ((await provider.readDirectory(parseWorkspacePath(""))).length)
156
+ throw new Error("Restore requires a new, empty workspace.");
157
+ for (const path of workspace.directories)
158
+ await provider.createDirectory(path, { createParents: true });
159
+ for (const file of workspace.files) {
160
+ await provider.writeFile(file.path, file.data, {
161
+ mode: "create",
162
+ createParents: true,
163
+ expectedVersion: null
164
+ });
165
+ }
166
+ }
7
167
 
8
168
  // src/workspace/workspace-schema.ts
9
169
  var MAX_IDENTIFIER_CHARACTERS = 256;
@@ -214,6 +374,13 @@ function reconcileElectronWorkspaceDescriptors(local, hostWorkspaces, platform,
214
374
  }
215
375
 
216
376
  export {
377
+ WORKSPACE_BACKUP_MANIFEST,
378
+ WORKSPACE_BACKUP_LIMITS,
379
+ parseWorkspaceBackupManifest,
380
+ appendWorkspaceBackup,
381
+ finishWorkspaceBackup,
382
+ readWorkspaceBackup,
383
+ restoreWorkspaceBackup,
217
384
  parsePersistedWorkspaceList,
218
385
  DEFAULT_WORKSPACE_ID,
219
386
  registerTransientWorkspace,
@@ -1,5 +1,5 @@
1
- import { d as FileSystemProvider } from '../types-BvDnr3YU.js';
2
- import '../v2-BVnZZyd4.js';
1
+ import { d as FileSystemProvider } from '../types-DLteNrK0.js';
2
+ import '../v2-DwxWjFC0.js';
3
3
  import '../workspace-path-CWVrcuPL.js';
4
4
 
5
5
  /**
@@ -9,10 +9,10 @@ import {
9
9
  DocumentSession,
10
10
  DocumentSessionConflictError,
11
11
  createFileSystemDocumentTarget
12
- } from "../chunk-IGB2VSRE.js";
12
+ } from "../chunk-FIEMYP2N.js";
13
13
  import "../chunk-XAMILHQP.js";
14
- import "../chunk-M5ZNQGR5.js";
15
- import "../chunk-AYWKIZLD.js";
14
+ import "../chunk-IYKGM3PV.js";
15
+ import "../chunk-UTH3HYCZ.js";
16
16
  export {
17
17
  DOCUMENT_RECOVERY_JOURNAL_SCHEMA_VERSION,
18
18
  DOCUMENT_RECOVERY_JOURNAL_STORAGE_KEY,
@@ -1,10 +1,10 @@
1
- import { d as FileSystemProvider, F as FileCommitResult, c as FileSystemEntry, b as FileMeta } from '../types-BvDnr3YU.js';
2
- import { H as HostFileSystemProviderV2 } from '../host-provider-v2-CV0joXaL.js';
1
+ import { d as FileSystemProvider, F as FileCommitResult, c as FileSystemEntry, b as FileMeta } from '../types-DLteNrK0.js';
2
+ import { H as HostFileSystemProviderV2 } from '../host-provider-v2-DEWMPiRD.js';
3
3
  export { isElectronHost } from '../host/index.js';
4
- import '../v2-BVnZZyd4.js';
4
+ import '../v2-DwxWjFC0.js';
5
5
  import '../workspace-path-CWVrcuPL.js';
6
- import '../filesystem-v2-C8AdSXUN.js';
7
- import '../capabilities-r03EXSAi.js';
6
+ import '../filesystem-v2-CXdAPR27.js';
7
+ import '../capabilities-DHwh4P4D.js';
8
8
 
9
9
  /** Compatibility entry point retaining the Electron backend's exact guarantees. */
10
10
  declare class ElectronFileSystemProviderV2 extends HostFileSystemProviderV2 {
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  ElectronFileSystemProvider,
3
3
  ElectronFileSystemProviderV2
4
- } from "../chunk-4I4AG2BH.js";
5
- import "../chunk-DFMRE22M.js";
4
+ } from "../chunk-P32NVUQL.js";
5
+ import "../chunk-EFGQUOTL.js";
6
6
  import {
7
7
  isElectronHost
8
- } from "../chunk-ZTSG7AC3.js";
8
+ } from "../chunk-64733GFL.js";
9
9
  import "../chunk-245W57QP.js";
10
10
  import "../chunk-46AGYHDY.js";
11
11
  import "../chunk-73OOROXH.js";
12
12
  import "../chunk-HABG2JM3.js";
13
13
  import "../chunk-LPIJ6HKL.js";
14
- import "../chunk-AYWKIZLD.js";
14
+ import "../chunk-UTH3HYCZ.js";
15
15
  export {
16
16
  ElectronFileSystemProvider,
17
17
  ElectronFileSystemProviderV2,
@@ -1,7 +1,7 @@
1
- import { H as HostFileSystemProviderV2, a as HostFileSystemClientOptions } from '../host-provider-v2-CV0joXaL.js';
2
- import { d as FileSystemProvider, F as FileCommitResult, c as FileSystemEntry, b as FileMeta } from '../types-BvDnr3YU.js';
3
- import '../filesystem-v2-C8AdSXUN.js';
4
- import '../v2-BVnZZyd4.js';
1
+ import { H as HostFileSystemProviderV2, a as HostFileSystemClientOptions } from '../host-provider-v2-DEWMPiRD.js';
2
+ import { d as FileSystemProvider, F as FileCommitResult, c as FileSystemEntry, b as FileMeta } from '../types-DLteNrK0.js';
3
+ import '../filesystem-v2-CXdAPR27.js';
4
+ import '../v2-DwxWjFC0.js';
5
5
  import '../workspace-path-CWVrcuPL.js';
6
6
 
7
7
  /** Temporary text facade; all storage and conditional mutation is owned by v2. */
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  HostFileSystemProviderV2
3
- } from "../chunk-DFMRE22M.js";
3
+ } from "../chunk-EFGQUOTL.js";
4
4
  import {
5
5
  ELECTRON_FILE_SYSTEM_V2_CAPABILITIES,
6
6
  maybeGetDocBlocksHost
7
- } from "../chunk-ZTSG7AC3.js";
7
+ } from "../chunk-64733GFL.js";
8
8
  import "../chunk-245W57QP.js";
9
9
  import "../chunk-46AGYHDY.js";
10
10
  import "../chunk-73OOROXH.js";
@@ -12,11 +12,11 @@ import "../chunk-HABG2JM3.js";
12
12
  import "../chunk-LPIJ6HKL.js";
13
13
  import {
14
14
  decodeUtf8Text
15
- } from "../chunk-M5ZNQGR5.js";
15
+ } from "../chunk-IYKGM3PV.js";
16
16
  import {
17
17
  FsError,
18
18
  parseWorkspacePath
19
- } from "../chunk-AYWKIZLD.js";
19
+ } from "../chunk-UTH3HYCZ.js";
20
20
 
21
21
  // src/filesystem/host-provider.ts
22
22
  var HostFileSystemProvider = class {
@@ -1,9 +1,10 @@
1
- import { d as FileSystemProvider } from '../types-BvDnr3YU.js';
2
- export { F as FileCommitResult, a as FileEntry, b as FileMeta, c as FileSystemEntry, e as FileSystemProviderWithV2, f as FolderEntry, g as getFileSystemProviderV2, h as hasFileSystemProviderV2 } from '../types-BvDnr3YU.js';
1
+ import { d as FileSystemProvider } from '../types-DLteNrK0.js';
2
+ export { F as FileCommitResult, a as FileEntry, b as FileMeta, c as FileSystemEntry, e as FileSystemProviderWithV2, f as FolderEntry, g as getFileSystemProviderV2, h as hasFileSystemProviderV2 } from '../types-DLteNrK0.js';
3
+ import { WikiLinkSuggestion } from '@bendyline/squisq/markdown';
3
4
  import { a as WorkspacePath } from '../workspace-path-CWVrcuPL.js';
4
5
  export { W as WORKSPACE_ROOT, p as parseWorkspacePath, t as tryParseWorkspacePath, w as workspacePathBasename, b as workspacePathContains, c as workspacePathDirname, d as workspacePathJoin, e as workspacePathToLegacy } from '../workspace-path-CWVrcuPL.js';
5
- import { I as FsOperation, n as FileSystemProviderV2, m as FileSystemProviderCapabilities, F as FileSystemAtomicity, a as FileSystemCaseSensitivity, t as FileSystemSymlinkPolicy, f as FileSystemDurability, g as FileSystemEntrySnapshot, i as FileSystemFileRead, D as FileSystemWriteOptions, j as FileSystemFileSnapshot, d as FileSystemCreateDirectoryOptions, e as FileSystemDirectorySnapshot, o as FileSystemRemoveOptions, p as FileSystemRemoveResult, k as FileSystemMoveOptions, q as FileSystemSnapshot, z as FileSystemWatchListener, A as FileSystemWatchOptions, B as FileSystemWatchSubscription } from '../v2-BVnZZyd4.js';
6
- export { b as FileSystemConditionalWriteStrength, c as FileSystemCreateDirectoryMode, h as FileSystemEntryWatchEvent, l as FileSystemOverflowWatchEvent, r as FileSystemSnapshotEntry, s as FileSystemSnapshotFile, u as FileSystemVersion, v as FileSystemWatchErrorListener, w as FileSystemWatchEvent, x as FileSystemWatchEventOrigin, y as FileSystemWatchEventType, C as FileSystemWriteMode, E as FsError, G as FsErrorCode, H as FsErrorContext, S as SerializedFsError, J as deserializeFsError, K as fsErrorFromUnknown, L as isQuotaExceededError, M as isSerializedFsError, N as mapDomExceptionToFsErrorCode, O as mapNodeErrorCodeToFsErrorCode, P as parseFileSystemVersion, Q as serializeFsError, R as tryParseFileSystemVersion } from '../v2-BVnZZyd4.js';
6
+ import { J as FsOperation, o as FileSystemProviderV2, n as FileSystemProviderCapabilities, F as FileSystemAtomicity, a as FileSystemCaseSensitivity, u as FileSystemSymlinkPolicy, f as FileSystemDurability, h as FileSystemEntrySnapshot, j as FileSystemFileRead, E as FileSystemWriteOptions, k as FileSystemFileSnapshot, d as FileSystemCreateDirectoryOptions, e as FileSystemDirectorySnapshot, p as FileSystemRemoveOptions, q as FileSystemRemoveResult, l as FileSystemMoveOptions, r as FileSystemSnapshot, A as FileSystemWatchListener, B as FileSystemWatchOptions, C as FileSystemWatchSubscription } from '../v2-DwxWjFC0.js';
7
+ export { b as FileSystemConditionalWriteStrength, c as FileSystemCreateDirectoryMode, g as FileSystemEntryReadIssue, i as FileSystemEntryWatchEvent, m as FileSystemOverflowWatchEvent, s as FileSystemSnapshotEntry, t as FileSystemSnapshotFile, v as FileSystemVersion, w as FileSystemWatchErrorListener, x as FileSystemWatchEvent, y as FileSystemWatchEventOrigin, z as FileSystemWatchEventType, D as FileSystemWriteMode, G as FsError, H as FsErrorCode, I as FsErrorContext, S as SerializedFsError, K as deserializeFsError, L as fsErrorFromUnknown, M as isQuotaExceededError, N as isSerializedFsError, O as mapDomExceptionToFsErrorCode, P as mapNodeErrorCodeToFsErrorCode, Q as parseFileSystemVersion, R as serializeFsError, T as tryParseFileSystemVersion } from '../v2-DwxWjFC0.js';
7
8
  import { MemoryFileSystemSnapshot, MemoryFileSystemProvider } from './memory.js';
8
9
  export { MemoryFilePayloadKind, MemoryFileSystemProviderV2, MemoryFileSystemSnapshotFile, MemoryFileSystemV2CompatibilityFile, MemoryFileSystemV2Replacement, MemoryFileSystemV2ReplacementFile, MemoryFileSystemV2State, MemoryFileSystemV2StateFile } from './memory.js';
9
10
  export { IndexedDBContentContainer, IndexedDBFileSystemProvider, IndexedDBFileSystemProviderV2, IndexedDBFileSystemProviderV2Options, IndexedDBLegacyConflictReason, IndexedDBLegacyConflictResolution, IndexedDBLegacyMigrationConflict, IndexedDBLegacyOpaqueDiscardTarget, IndexedDBLegacyOpaqueRecord, IndexedDBLegacyOpaqueRecordSummary, IndexedDBLegacyOpaqueValue, IndexedDBLegacyRecoveryCandidate, IndexedDBLegacyRecoveryKind } from './indexeddb.js';
@@ -12,9 +13,27 @@ import { MediaProvider } from '@bendyline/squisq/schemas';
12
13
  export { NativeFileSystemMovePathState, NativeFileSystemMoveRecoveryError, NativeFileSystemMoveRecoveryState, NativeFileSystemProvider, NativeFileSystemProviderV2, isNativeFileSystemSupported, loadDirectoryHandle, openNativeFolder, removeDirectoryHandle, restoreNativeFolder, storeDirectoryHandle } from './native.js';
13
14
  export { ElectronFileSystemProvider, ElectronFileSystemProviderV2 } from './electron.js';
14
15
  export { isElectronHost } from '../host/index.js';
15
- import '../host-provider-v2-CV0joXaL.js';
16
- import '../filesystem-v2-C8AdSXUN.js';
17
- import '../capabilities-r03EXSAi.js';
16
+ import '../host-provider-v2-DEWMPiRD.js';
17
+ import '../filesystem-v2-CXdAPR27.js';
18
+ import '../capabilities-DHwh4P4D.js';
19
+
20
+ /** Immediate article/folder suggestions from an already bounded listing. */
21
+ declare function suggestWikiArticles(files: readonly {
22
+ path: string;
23
+ }[], directories: readonly string[], documentPath: string, query: string, extension?: '.md' | '.html', explicitExtensions?: boolean): Promise<WikiLinkSuggestion[]>;
24
+ /** Resolve a literal wiki name beside its source, never relative to the media sidecar. */
25
+ declare function resolveWikiArticlePath(documentPath: string, target: string, extension?: '.md' | '.html'): Promise<WorkspacePath>;
26
+ /** Prefer the workspace's article format, then reuse an existing alternate.
27
+ * Explicit extensions always address exactly that file. No recursive scan. */
28
+ declare function findWikiArticle(provider: FileSystemProvider, documentPath: string, target: string, extension?: '.md' | '.html'): Promise<{
29
+ path: WorkspacePath;
30
+ relativePath: string;
31
+ exists: boolean;
32
+ }>;
33
+ declare function wikiArticleExists(provider: FileSystemProvider, path: WorkspacePath): Promise<boolean>;
34
+ /** Create only after the current DocumentSession has flushed. A race winner
35
+ * is opened as-is; permission and IO errors must not become "missing". */
36
+ declare function ensureWikiArticle(provider: FileSystemProvider, path: WorkspacePath): Promise<boolean>;
18
37
 
19
38
  interface DecodeUtf8TextOptions {
20
39
  /** User-facing description of the payload being decoded. */
@@ -272,4 +291,4 @@ declare function isFileSystemMoveStateError(error: unknown): error is FileSystem
272
291
  declare function describePartialMove(provider: FileSystemProvider, sourcePath: string, destinationPath: string, companionSourcePath: string, companionDestinationPath: string): Promise<FileSystemPartialMoveState>;
273
292
  declare function describeEntryMove(provider: FileSystemProvider, sourcePath: string, destinationPath: string): Promise<FileSystemEntryMoveState>;
274
293
 
275
- export { type DbkWorkspaceAssetLayout, type DbkWorkspaceSnapshot, type DbkWorkspaceSnapshotOptions, type DecodeUtf8TextOptions, FileSystemAtomicity, FileSystemCaseSensitivity, FileSystemContentContainer, FileSystemCreateDirectoryOptions, FileSystemDirectorySnapshot, FileSystemDurability, type FileSystemEntryMoveOptions, type FileSystemEntryMoveState, FileSystemEntrySnapshot, FileSystemFileRead, FileSystemFileSnapshot, type FileSystemMoveLocation, FileSystemMoveOptions, FileSystemMoveRecoveryError, FileSystemPartialMoveError, type FileSystemPartialMoveState, type FileSystemPathPresence, FileSystemProvider, FileSystemProviderCapabilities, FileSystemProviderV2, FileSystemRemoveOptions, FileSystemRemoveResult, FileSystemSnapshot, FileSystemSymlinkPolicy, FileSystemWatchListener, FileSystemWatchOptions, FileSystemWatchSubscription, FileSystemWriteOptions, FsOperation, type LegacyFilePayloadModel, LegacyFileSystemProviderV2Adapter, type LegacyFileSystemProviderV2AdapterOptions, MARKDOWN_FILE_EXTENSIONS, MemoryFileSystemProvider, MemoryFileSystemSnapshot, SQUISQ_RUNTIME_DIRECTORY_NAME, WorkspacePath, createDbkWorkspaceSnapshot, createFileMediaProvider, decodeUtf8Text, describeEntryMove, describePartialMove, documentCompanionPath, isBrowsableWorkspaceEntry, isCompanionDirectoryName, isDiscoverableWorkspaceEntry, isFileSystemMoveRecoveryError, isFileSystemMoveStateError, isFileSystemPartialMoveError, isIgnoredWorkspaceEntryName, isMarkdownFileName, moveFileSystemEntry, replaceMemoryWorkspaceFromDbk, rewriteCompanionReferences };
294
+ export { type DbkWorkspaceAssetLayout, type DbkWorkspaceSnapshot, type DbkWorkspaceSnapshotOptions, type DecodeUtf8TextOptions, FileSystemAtomicity, FileSystemCaseSensitivity, FileSystemContentContainer, FileSystemCreateDirectoryOptions, FileSystemDirectorySnapshot, FileSystemDurability, type FileSystemEntryMoveOptions, type FileSystemEntryMoveState, FileSystemEntrySnapshot, FileSystemFileRead, FileSystemFileSnapshot, type FileSystemMoveLocation, FileSystemMoveOptions, FileSystemMoveRecoveryError, FileSystemPartialMoveError, type FileSystemPartialMoveState, type FileSystemPathPresence, FileSystemProvider, FileSystemProviderCapabilities, FileSystemProviderV2, FileSystemRemoveOptions, FileSystemRemoveResult, FileSystemSnapshot, FileSystemSymlinkPolicy, FileSystemWatchListener, FileSystemWatchOptions, FileSystemWatchSubscription, FileSystemWriteOptions, FsOperation, type LegacyFilePayloadModel, LegacyFileSystemProviderV2Adapter, type LegacyFileSystemProviderV2AdapterOptions, MARKDOWN_FILE_EXTENSIONS, MemoryFileSystemProvider, MemoryFileSystemSnapshot, SQUISQ_RUNTIME_DIRECTORY_NAME, WorkspacePath, createDbkWorkspaceSnapshot, createFileMediaProvider, decodeUtf8Text, describeEntryMove, describePartialMove, documentCompanionPath, ensureWikiArticle, findWikiArticle, isBrowsableWorkspaceEntry, isCompanionDirectoryName, isDiscoverableWorkspaceEntry, isFileSystemMoveRecoveryError, isFileSystemMoveStateError, isFileSystemPartialMoveError, isIgnoredWorkspaceEntryName, isMarkdownFileName, moveFileSystemEntry, replaceMemoryWorkspaceFromDbk, resolveWikiArticlePath, rewriteCompanionReferences, suggestWikiArticles, wikiArticleExists };
@@ -4,10 +4,15 @@ import {
4
4
  createDbkWorkspaceSnapshot,
5
5
  createFileMediaProvider,
6
6
  documentCompanionPath,
7
+ ensureWikiArticle,
8
+ findWikiArticle,
7
9
  moveFileSystemEntry,
8
10
  replaceMemoryWorkspaceFromDbk,
9
- rewriteCompanionReferences
10
- } from "../chunk-7SN7YQL4.js";
11
+ resolveWikiArticlePath,
12
+ rewriteCompanionReferences,
13
+ suggestWikiArticles,
14
+ wikiArticleExists
15
+ } from "../chunk-LJLQYXVL.js";
11
16
  import {
12
17
  MARKDOWN_FILE_EXTENSIONS,
13
18
  SQUISQ_RUNTIME_DIRECTORY_NAME,
@@ -21,12 +26,12 @@ import {
21
26
  IndexedDBContentContainer,
22
27
  IndexedDBFileSystemProvider,
23
28
  IndexedDBFileSystemProviderV2
24
- } from "../chunk-HKOOHM67.js";
29
+ } from "../chunk-Q3OFZWJS.js";
25
30
  import "../chunk-DAPFSEKY.js";
26
31
  import {
27
32
  MemoryFileSystemProvider,
28
33
  MemoryFileSystemProviderV2
29
- } from "../chunk-UDEWLHQI.js";
34
+ } from "../chunk-LDAG5NTQ.js";
30
35
  import {
31
36
  NativeFileSystemMoveRecoveryError,
32
37
  NativeFileSystemProvider,
@@ -37,17 +42,17 @@ import {
37
42
  removeDirectoryHandle,
38
43
  restoreNativeFolder,
39
44
  storeDirectoryHandle
40
- } from "../chunk-6UPO2GE6.js";
45
+ } from "../chunk-K5HRMSXD.js";
41
46
  import "../chunk-DZB666V7.js";
42
- import "../chunk-KQ6756AJ.js";
47
+ import "../chunk-3GSMJ4MQ.js";
43
48
  import {
44
49
  ElectronFileSystemProvider,
45
50
  ElectronFileSystemProviderV2
46
- } from "../chunk-4I4AG2BH.js";
47
- import "../chunk-DFMRE22M.js";
51
+ } from "../chunk-P32NVUQL.js";
52
+ import "../chunk-EFGQUOTL.js";
48
53
  import {
49
54
  isElectronHost
50
- } from "../chunk-ZTSG7AC3.js";
55
+ } from "../chunk-64733GFL.js";
51
56
  import "../chunk-245W57QP.js";
52
57
  import "../chunk-46AGYHDY.js";
53
58
  import "../chunk-73OOROXH.js";
@@ -64,14 +69,14 @@ import {
64
69
  isFileSystemMoveRecoveryError,
65
70
  isFileSystemMoveStateError,
66
71
  isFileSystemPartialMoveError
67
- } from "../chunk-IGB2VSRE.js";
72
+ } from "../chunk-FIEMYP2N.js";
68
73
  import {
69
74
  getFileSystemProviderV2,
70
75
  hasFileSystemProviderV2
71
76
  } from "../chunk-XAMILHQP.js";
72
77
  import {
73
78
  decodeUtf8Text
74
- } from "../chunk-M5ZNQGR5.js";
79
+ } from "../chunk-IYKGM3PV.js";
75
80
  import {
76
81
  FsError,
77
82
  WORKSPACE_ROOT,
@@ -89,7 +94,7 @@ import {
89
94
  workspacePathDirname,
90
95
  workspacePathJoin,
91
96
  workspacePathToLegacy
92
- } from "../chunk-AYWKIZLD.js";
97
+ } from "../chunk-UTH3HYCZ.js";
93
98
  export {
94
99
  ElectronFileSystemProvider,
95
100
  ElectronFileSystemProviderV2,
@@ -116,6 +121,8 @@ export {
116
121
  describePartialMove,
117
122
  deserializeFsError,
118
123
  documentCompanionPath,
124
+ ensureWikiArticle,
125
+ findWikiArticle,
119
126
  fsErrorFromUnknown,
120
127
  getFileSystemProviderV2,
121
128
  hasFileSystemProviderV2,
@@ -140,12 +147,15 @@ export {
140
147
  parseWorkspacePath,
141
148
  removeDirectoryHandle,
142
149
  replaceMemoryWorkspaceFromDbk,
150
+ resolveWikiArticlePath,
143
151
  restoreNativeFolder,
144
152
  rewriteCompanionReferences,
145
153
  serializeFsError,
146
154
  storeDirectoryHandle,
155
+ suggestWikiArticles,
147
156
  tryParseFileSystemVersion,
148
157
  tryParseWorkspacePath,
158
+ wikiArticleExists,
149
159
  workspacePathBasename,
150
160
  workspacePathContains,
151
161
  workspacePathDirname,
@@ -1,5 +1,5 @@
1
- import { b as FileMeta, d as FileSystemProvider, F as FileCommitResult, c as FileSystemEntry } from '../types-BvDnr3YU.js';
2
- import { n as FileSystemProviderV2, m as FileSystemProviderCapabilities, g as FileSystemEntrySnapshot, i as FileSystemFileRead, D as FileSystemWriteOptions, j as FileSystemFileSnapshot, d as FileSystemCreateDirectoryOptions, e as FileSystemDirectorySnapshot, o as FileSystemRemoveOptions, p as FileSystemRemoveResult, k as FileSystemMoveOptions, q as FileSystemSnapshot, z as FileSystemWatchListener, A as FileSystemWatchOptions, B as FileSystemWatchSubscription } from '../v2-BVnZZyd4.js';
1
+ import { b as FileMeta, d as FileSystemProvider, F as FileCommitResult, c as FileSystemEntry } from '../types-DLteNrK0.js';
2
+ import { o as FileSystemProviderV2, n as FileSystemProviderCapabilities, h as FileSystemEntrySnapshot, j as FileSystemFileRead, E as FileSystemWriteOptions, k as FileSystemFileSnapshot, d as FileSystemCreateDirectoryOptions, e as FileSystemDirectorySnapshot, p as FileSystemRemoveOptions, q as FileSystemRemoveResult, l as FileSystemMoveOptions, r as FileSystemSnapshot, A as FileSystemWatchListener, B as FileSystemWatchOptions, C as FileSystemWatchSubscription } from '../v2-DwxWjFC0.js';
3
3
  import { a as WorkspacePath } from '../workspace-path-CWVrcuPL.js';
4
4
  import { ContentContainer, ContentEntry } from '@bendyline/squisq/storage';
5
5
 
@@ -2,18 +2,18 @@ import {
2
2
  IndexedDBContentContainer,
3
3
  IndexedDBFileSystemProvider,
4
4
  IndexedDBFileSystemProviderV2
5
- } from "../chunk-HKOOHM67.js";
5
+ } from "../chunk-Q3OFZWJS.js";
6
6
  import {
7
7
  deleteIndexedDBWorkspaceData,
8
8
  indexedDBWorkspaceDatabaseName
9
9
  } from "../chunk-DAPFSEKY.js";
10
10
  import "../chunk-DZB666V7.js";
11
- import "../chunk-KQ6756AJ.js";
11
+ import "../chunk-3GSMJ4MQ.js";
12
12
  import "../chunk-73OOROXH.js";
13
13
  import "../chunk-HABG2JM3.js";
14
14
  import "../chunk-LPIJ6HKL.js";
15
- import "../chunk-M5ZNQGR5.js";
16
- import "../chunk-AYWKIZLD.js";
15
+ import "../chunk-IYKGM3PV.js";
16
+ import "../chunk-UTH3HYCZ.js";
17
17
  export {
18
18
  IndexedDBContentContainer,
19
19
  IndexedDBFileSystemProvider,
@@ -1,5 +1,5 @@
1
- import { F as FileCommitResult, d as FileSystemProvider, c as FileSystemEntry, b as FileMeta } from '../types-BvDnr3YU.js';
2
- import { n as FileSystemProviderV2, m as FileSystemProviderCapabilities, D as FileSystemWriteOptions, j as FileSystemFileSnapshot, g as FileSystemEntrySnapshot, i as FileSystemFileRead, d as FileSystemCreateDirectoryOptions, e as FileSystemDirectorySnapshot, o as FileSystemRemoveOptions, p as FileSystemRemoveResult, k as FileSystemMoveOptions, q as FileSystemSnapshot, z as FileSystemWatchListener, A as FileSystemWatchOptions, B as FileSystemWatchSubscription } from '../v2-BVnZZyd4.js';
1
+ import { F as FileCommitResult, d as FileSystemProvider, c as FileSystemEntry, b as FileMeta } from '../types-DLteNrK0.js';
2
+ import { o as FileSystemProviderV2, n as FileSystemProviderCapabilities, E as FileSystemWriteOptions, k as FileSystemFileSnapshot, h as FileSystemEntrySnapshot, j as FileSystemFileRead, d as FileSystemCreateDirectoryOptions, e as FileSystemDirectorySnapshot, p as FileSystemRemoveOptions, q as FileSystemRemoveResult, l as FileSystemMoveOptions, r as FileSystemSnapshot, A as FileSystemWatchListener, B as FileSystemWatchOptions, C as FileSystemWatchSubscription } from '../v2-DwxWjFC0.js';
3
3
  import { a as WorkspacePath } from '../workspace-path-CWVrcuPL.js';
4
4
 
5
5
  type MemoryFilePayloadKind = 'text' | 'binary';
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  MemoryFileSystemProvider,
3
3
  MemoryFileSystemProviderV2
4
- } from "../chunk-UDEWLHQI.js";
5
- import "../chunk-KQ6756AJ.js";
4
+ } from "../chunk-LDAG5NTQ.js";
5
+ import "../chunk-3GSMJ4MQ.js";
6
6
  import "../chunk-HABG2JM3.js";
7
7
  import "../chunk-LPIJ6HKL.js";
8
- import "../chunk-M5ZNQGR5.js";
9
- import "../chunk-AYWKIZLD.js";
8
+ import "../chunk-IYKGM3PV.js";
9
+ import "../chunk-UTH3HYCZ.js";
10
10
  export {
11
11
  MemoryFileSystemProvider,
12
12
  MemoryFileSystemProviderV2
@@ -1,5 +1,5 @@
1
- import { d as FileSystemProvider, F as FileCommitResult, c as FileSystemEntry, b as FileMeta } from '../types-BvDnr3YU.js';
2
- import { E as FsError, n as FileSystemProviderV2, m as FileSystemProviderCapabilities, g as FileSystemEntrySnapshot, i as FileSystemFileRead, D as FileSystemWriteOptions, j as FileSystemFileSnapshot, d as FileSystemCreateDirectoryOptions, e as FileSystemDirectorySnapshot, o as FileSystemRemoveOptions, p as FileSystemRemoveResult, k as FileSystemMoveOptions, q as FileSystemSnapshot, z as FileSystemWatchListener, A as FileSystemWatchOptions, B as FileSystemWatchSubscription } from '../v2-BVnZZyd4.js';
1
+ import { d as FileSystemProvider, F as FileCommitResult, c as FileSystemEntry, b as FileMeta } from '../types-DLteNrK0.js';
2
+ import { G as FsError, o as FileSystemProviderV2, n as FileSystemProviderCapabilities, h as FileSystemEntrySnapshot, j as FileSystemFileRead, E as FileSystemWriteOptions, k as FileSystemFileSnapshot, d as FileSystemCreateDirectoryOptions, e as FileSystemDirectorySnapshot, p as FileSystemRemoveOptions, q as FileSystemRemoveResult, l as FileSystemMoveOptions, r as FileSystemSnapshot, A as FileSystemWatchListener, B as FileSystemWatchOptions, C as FileSystemWatchSubscription } from '../v2-DwxWjFC0.js';
3
3
  import { a as WorkspacePath } from '../workspace-path-CWVrcuPL.js';
4
4
 
5
5
  type NativeFileSystemMovePathState = 'present' | 'missing' | 'unknown';
@@ -8,13 +8,13 @@ import {
8
8
  removeDirectoryHandle,
9
9
  restoreNativeFolder,
10
10
  storeDirectoryHandle
11
- } from "../chunk-6UPO2GE6.js";
11
+ } from "../chunk-K5HRMSXD.js";
12
12
  import "../chunk-DZB666V7.js";
13
- import "../chunk-KQ6756AJ.js";
13
+ import "../chunk-3GSMJ4MQ.js";
14
14
  import "../chunk-HABG2JM3.js";
15
15
  import "../chunk-LPIJ6HKL.js";
16
- import "../chunk-M5ZNQGR5.js";
17
- import "../chunk-AYWKIZLD.js";
16
+ import "../chunk-IYKGM3PV.js";
17
+ import "../chunk-UTH3HYCZ.js";
18
18
  export {
19
19
  NativeFileSystemMoveRecoveryError,
20
20
  NativeFileSystemProvider,
@@ -1,4 +1,4 @@
1
- import { m as FileSystemProviderCapabilities, S as SerializedFsError, j as FileSystemFileSnapshot, D as FileSystemWriteOptions, g as FileSystemEntrySnapshot, i as FileSystemFileRead, d as FileSystemCreateDirectoryOptions, e as FileSystemDirectorySnapshot, o as FileSystemRemoveOptions, p as FileSystemRemoveResult, k as FileSystemMoveOptions, q as FileSystemSnapshot, w as FileSystemWatchEvent } from './v2-BVnZZyd4.js';
1
+ import { n as FileSystemProviderCapabilities, S as SerializedFsError, k as FileSystemFileSnapshot, E as FileSystemWriteOptions, h as FileSystemEntrySnapshot, j as FileSystemFileRead, d as FileSystemCreateDirectoryOptions, e as FileSystemDirectorySnapshot, p as FileSystemRemoveOptions, q as FileSystemRemoveResult, l as FileSystemMoveOptions, r as FileSystemSnapshot, x as FileSystemWatchEvent } from './v2-DwxWjFC0.js';
2
2
  import { a as WorkspacePath } from './workspace-path-CWVrcuPL.js';
3
3
 
4
4
  /** File size and per-message size are deliberately separate budgets. */
@@ -1,8 +1,8 @@
1
- import { a as AiChatEvent, d as AiChatProgress, f as AiChatRequest, i as AiError, q as AiModelDownloadInfo, s as AiModelInfo, t as AiModelInstallEvent, v as AiPreferences, w as AiPreferencesPatch, x as AiProgress, G as AiStatus, at as SpeechAudioChunk, au as SpeechCatalog, av as SpeechError, ax as SpeechInstallEvent, az as SpeechModelInfo, aA as SpeechModelKind, aG as SpeechResult, aB as SpeechPreferences, aC as SpeechPreferencesPatch, aD as SpeechProgress, aE as SpeechReadiness, aI as SpeechStatus, aK as SpeechSynthesisSummary, aL as SpeechSynthesizeEvent, aM as SpeechSynthesizeRequest, aN as SpeechTranscribeRequest, aO as SpeechTranscript, aP as SpeechVoiceInfo, as as OpenRequest, al as HostPinnedDocument, L as DocBlocksHostAPI, ah as HostCapabilities, aj as HostEnvironment } from '../capabilities-r03EXSAi.js';
2
- export { A as AiChatCompletion, b as AiChatHandle, c as AiChatMessage, e as AiChatPurpose, g as AiConnectionStep, h as AiEnsureWorkspaceHandle, j as AiErrorCode, k as AiImageRequest, l as AiImageResult, m as AiKnowledgeAPI, n as AiKnowledgeAction, o as AiKnowledgeCatalog, p as AiKnowledgeState, r as AiModelFit, u as AiModelInstallHandle, y as AiProviderInfo, z as AiResult, B as AiReviewMode, C as AiSearchHit, D as AiSearchQuery, E as AiSearchResult, F as AiSpeechAudio, H as AiSynthesizeRequest, I as AiTranscribeRequest, J as AiTranscript, K as AiUnavailableReason, M as DocBlocksHostAiAPI, N as DocBlocksHostClipboardAPI, O as DocBlocksHostExportAPI, P as DocBlocksHostExternalAPI, Q as DocBlocksHostFfmpegAPI, R as DocBlocksHostFsAPI, S as DocBlocksHostGitAPI, T as DocBlocksHostLifecycleAPI, U as DocBlocksHostMenuAPI, V as DocBlocksHostShellAPI, W as DocBlocksHostSpeechAPI, X as DocBlocksHostUpdaterAPI, Y as DocBlocksHostWorkspacesAPI, Z as ElectronWorkspaceInfo, _ as ExternalBinaryCommitResult, $ as GitBranchInfo, a0 as GitCapabilities, a1 as GitCloneHandle, a2 as GitCloneProgress, a3 as GitError, a4 as GitErrorCode, a5 as GitFileAtRevision, a6 as GitFileChange, a7 as GitFileStatusCode, a8 as GitLogEntry, a9 as GitLogOptions, aa as GitRemoteInfo, ab as GitRepoDetection, ac as GitResult, ad as GitRevision, ae as GitStatus, af as HOST_PLATFORMS, ag as HOST_SURFACE_KINDS, ai as HostCloseReason, ak as HostExportTargetGrant, am as HostPlatform, an as HostPrepareCloseRequest, ao as HostPrepareCloseResult, ap as HostSurfaceKind, aq as MenuCommand, ar as NO_HOST_CAPABILITIES, aw as SpeechErrorCode, ay as SpeechInstallHandle, aF as SpeechReadinessState, aH as SpeechSegment, aJ as SpeechSynthesisHandle, aQ as SpeechWordTiming, aR as UpdateCheckResult, aS as UpdateInstallResult, aT as UpdaterStatus, aU as deriveHostCapabilities, aV as parseAiKnowledgeAction, aW as parseAiKnowledgeState, aX as parseHostEnvironment } from '../capabilities-r03EXSAi.js';
3
- export { D as DocBlocksHostFsV2API, E as ELECTRON_FILE_SYSTEM_V2_CAPABILITIES, F as FILE_SYSTEM_TRANSFER_LIMITS, H as HostFileSystemReadTransfer, a as HostFileSystemV2OpenRequest, b as HostFileSystemV2Result, c as HostFileSystemV2WatchMessage } from '../filesystem-v2-C8AdSXUN.js';
4
- import '../types-BvDnr3YU.js';
5
- import '../v2-BVnZZyd4.js';
1
+ import { a as AiChatEvent, d as AiChatProgress, f as AiChatRequest, i as AiError, q as AiModelDownloadInfo, s as AiModelInfo, t as AiModelInstallEvent, v as AiPreferences, w as AiPreferencesPatch, x as AiProgress, H as AiStatus, au as SpeechAudioChunk, av as SpeechCatalog, aw as SpeechError, ay as SpeechInstallEvent, aA as SpeechModelInfo, aB as SpeechModelKind, aH as SpeechResult, aC as SpeechPreferences, aD as SpeechPreferencesPatch, aE as SpeechProgress, aF as SpeechReadiness, aJ as SpeechStatus, aL as SpeechSynthesisSummary, aM as SpeechSynthesizeEvent, aN as SpeechSynthesizeRequest, aO as SpeechTranscribeRequest, aP as SpeechTranscript, aQ as SpeechVoiceInfo, at as OpenRequest, am as HostPinnedDocument, M as DocBlocksHostAPI, ai as HostCapabilities, ak as HostEnvironment } from '../capabilities-DHwh4P4D.js';
2
+ export { A as AiChatCompletion, b as AiChatHandle, c as AiChatMessage, e as AiChatPurpose, g as AiConnectionStep, h as AiEnsureWorkspaceHandle, j as AiErrorCode, k as AiImageRequest, l as AiImageResult, m as AiKnowledgeAPI, n as AiKnowledgeAction, o as AiKnowledgeCatalog, p as AiKnowledgeState, r as AiModelFit, u as AiModelInstallHandle, y as AiProviderInfo, z as AiResponseFormat, B as AiResult, C as AiReviewMode, D as AiSearchHit, E as AiSearchQuery, F as AiSearchResult, G as AiSpeechAudio, I as AiSynthesizeRequest, J as AiTranscribeRequest, K as AiTranscript, L as AiUnavailableReason, N as DocBlocksHostAiAPI, O as DocBlocksHostClipboardAPI, P as DocBlocksHostExportAPI, Q as DocBlocksHostExternalAPI, R as DocBlocksHostFfmpegAPI, S as DocBlocksHostFsAPI, T as DocBlocksHostGitAPI, U as DocBlocksHostLifecycleAPI, V as DocBlocksHostMenuAPI, W as DocBlocksHostShellAPI, X as DocBlocksHostSpeechAPI, Y as DocBlocksHostUpdaterAPI, Z as DocBlocksHostWorkspacesAPI, _ as ElectronWorkspaceInfo, $ as ExternalBinaryCommitResult, a0 as GitBranchInfo, a1 as GitCapabilities, a2 as GitCloneHandle, a3 as GitCloneProgress, a4 as GitError, a5 as GitErrorCode, a6 as GitFileAtRevision, a7 as GitFileChange, a8 as GitFileStatusCode, a9 as GitLogEntry, aa as GitLogOptions, ab as GitRemoteInfo, ac as GitRepoDetection, ad as GitResult, ae as GitRevision, af as GitStatus, ag as HOST_PLATFORMS, ah as HOST_SURFACE_KINDS, aj as HostCloseReason, al as HostExportTargetGrant, an as HostPlatform, ao as HostPrepareCloseRequest, ap as HostPrepareCloseResult, aq as HostSurfaceKind, ar as MenuCommand, as as NO_HOST_CAPABILITIES, ax as SpeechErrorCode, az as SpeechInstallHandle, aG as SpeechReadinessState, aI as SpeechSegment, aK as SpeechSynthesisHandle, aR as SpeechWordTiming, aS as UpdateCheckResult, aT as UpdateInstallResult, aU as UpdaterStatus, aV as deriveHostCapabilities, aW as parseAiKnowledgeAction, aX as parseAiKnowledgeState, aY as parseHostEnvironment } from '../capabilities-DHwh4P4D.js';
3
+ export { D as DocBlocksHostFsV2API, E as ELECTRON_FILE_SYSTEM_V2_CAPABILITIES, F as FILE_SYSTEM_TRANSFER_LIMITS, H as HostFileSystemReadTransfer, a as HostFileSystemV2OpenRequest, b as HostFileSystemV2Result, c as HostFileSystemV2WatchMessage } from '../filesystem-v2-CXdAPR27.js';
4
+ import '../types-DLteNrK0.js';
5
+ import '../v2-DwxWjFC0.js';
6
6
  import '../workspace-path-CWVrcuPL.js';
7
7
 
8
8
  /**
@@ -21,6 +21,8 @@ declare const AI_WIRE_LIMITS: Readonly<{
21
21
  completionCharacters: number;
22
22
  maxTokensCeiling: 32768;
23
23
  temperatureCeiling: 2;
24
+ /** A response schema describes a reply's shape; it is not another prompt. */
25
+ responseSchemaCharacters: number;
24
26
  verificationCodeCharacters: 16;
25
27
  progressPhaseCharacters: 64;
26
28
  modelEntries: 200;
@@ -50,7 +50,7 @@ import {
50
50
  parseSpeechTranscribeRequest,
51
51
  parseSpeechTranscript,
52
52
  parseSpeechVoiceInfo
53
- } from "../chunk-ZTSG7AC3.js";
53
+ } from "../chunk-64733GFL.js";
54
54
  import {
55
55
  EXPORT_TRANSFER_LIMITS,
56
56
  HOST_WIRE_LIMITS,
@@ -1,6 +1,6 @@
1
- import { m as FileSystemProviderCapabilities } from '../v2-BVnZZyd4.js';
1
+ import { n as FileSystemProviderCapabilities } from '../v2-DwxWjFC0.js';
2
2
  import { z } from 'zod';
3
- import { D as DocBlocksHostFsV2API } from '../filesystem-v2-C8AdSXUN.js';
3
+ import { D as DocBlocksHostFsV2API } from '../filesystem-v2-CXdAPR27.js';
4
4
  import '../workspace-path-CWVrcuPL.js';
5
5
 
6
6
  /** Capabilities cross the native boundary and must describe the actual backend. */
@@ -9,7 +9,7 @@ import {
9
9
  deserializeFsError,
10
10
  isSerializedFsError,
11
11
  parseWorkspacePath
12
- } from "../chunk-AYWKIZLD.js";
12
+ } from "../chunk-UTH3HYCZ.js";
13
13
 
14
14
  // src/host/mobile-wire.ts
15
15
  import { z } from "zod";
@@ -1,6 +1,6 @@
1
- import { D as DocBlocksHostFsV2API } from './filesystem-v2-C8AdSXUN.js';
1
+ import { D as DocBlocksHostFsV2API } from './filesystem-v2-CXdAPR27.js';
2
2
  import { a as WorkspacePath } from './workspace-path-CWVrcuPL.js';
3
- import { n as FileSystemProviderV2, m as FileSystemProviderCapabilities, g as FileSystemEntrySnapshot, i as FileSystemFileRead, D as FileSystemWriteOptions, j as FileSystemFileSnapshot, d as FileSystemCreateDirectoryOptions, e as FileSystemDirectorySnapshot, o as FileSystemRemoveOptions, p as FileSystemRemoveResult, k as FileSystemMoveOptions, q as FileSystemSnapshot, w as FileSystemWatchEvent, A as FileSystemWatchOptions, B as FileSystemWatchSubscription } from './v2-BVnZZyd4.js';
3
+ import { o as FileSystemProviderV2, n as FileSystemProviderCapabilities, h as FileSystemEntrySnapshot, j as FileSystemFileRead, E as FileSystemWriteOptions, k as FileSystemFileSnapshot, d as FileSystemCreateDirectoryOptions, e as FileSystemDirectorySnapshot, p as FileSystemRemoveOptions, q as FileSystemRemoveResult, l as FileSystemMoveOptions, r as FileSystemSnapshot, x as FileSystemWatchEvent, B as FileSystemWatchOptions, C as FileSystemWatchSubscription } from './v2-DwxWjFC0.js';
4
4
 
5
5
  interface HostFileSystemClientOptions {
6
6
  readonly capabilities: FileSystemProviderCapabilities;