@bendyline/docblocks 2.7.11 → 2.7.13

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 (32) hide show
  1. package/THIRD_PARTY_NOTICES.txt +4 -4
  2. package/dist/{capabilities-CH66e2pR.d.ts → capabilities-yyRj0hyP.d.ts} +35 -7
  3. package/dist/{chunk-LP6JHGBP.js → chunk-C6J65F5C.js} +2 -2
  4. package/dist/{chunk-WE5W7BRL.js → chunk-OIBDXKQN.js} +113 -9
  5. package/dist/{chunk-ZBRXXOW5.js → chunk-P5VP6XMH.js} +7 -2
  6. package/dist/document/index.d.ts +2 -2
  7. package/dist/filesystem/electron.d.ts +5 -5
  8. package/dist/filesystem/electron.js +3 -3
  9. package/dist/filesystem/host.d.ts +4 -4
  10. package/dist/filesystem/host.js +2 -2
  11. package/dist/filesystem/index.d.ts +7 -7
  12. package/dist/filesystem/index.js +3 -3
  13. package/dist/filesystem/indexeddb.d.ts +2 -2
  14. package/dist/filesystem/memory.d.ts +2 -2
  15. package/dist/filesystem/native.d.ts +2 -2
  16. package/dist/{filesystem-v2-CXdAPR27.d.ts → filesystem-v2-CYPHqoIw.d.ts} +1 -1
  17. package/dist/host/index.d.ts +5 -5
  18. package/dist/host/index.js +9 -1
  19. package/dist/host/mobile.d.ts +3 -2
  20. package/dist/host/mobile.js +5 -2
  21. package/dist/{host-provider-v2-DEWMPiRD.d.ts → host-provider-v2-C2g9R17A.d.ts} +2 -2
  22. package/dist/index.d.ts +6 -6
  23. package/dist/index.js +11 -3
  24. package/dist/mcp/zod.js +10 -8
  25. package/dist/{reconcile-electron-BcwJ7z5Z.d.ts → reconcile-electron-FvgF5oC7.d.ts} +2 -2
  26. package/dist/{types-DLteNrK0.d.ts → types-BIaQ_gYW.d.ts} +1 -1
  27. package/dist/{v2-DwxWjFC0.d.ts → v2-pBdrFAlW.d.ts} +8 -0
  28. package/dist/workspace/index.d.ts +5 -5
  29. package/dist/workspace-index/index.d.ts +4 -2
  30. package/dist/workspace-index/index.js +5 -1
  31. package/dist/workspace-settings/index.d.ts +1 -1
  32. package/package.json +2 -2
@@ -14,7 +14,7 @@ This notice is included in the published npm tarball. Transitive packages instal
14
14
 
15
15
  | Package | Version | License | Source |
16
16
  | --- | --- | --- | --- |
17
- | @bendyline/squisq | 2.13.10 | MIT | https://github.com/bendyline/squisq |
17
+ | @bendyline/squisq | 2.13.12 | MIT | https://github.com/bendyline/squisq |
18
18
  | @bendyline/squisq-graph | 2.13.1 | MIT | https://github.com/bendyline/squisq |
19
19
  | @types/debug | 4.1.12 | MIT | https://github.com/DefinitelyTyped/DefinitelyTyped |
20
20
  | @types/hast | 3.0.4 | MIT | https://github.com/DefinitelyTyped/DefinitelyTyped |
@@ -133,7 +133,7 @@ This notice is included in the published npm tarball. Transitive packages instal
133
133
  Package-local license, copying, and notice files are reproduced below. Where a published package omits its repository license, the reviewed aggregate or README identified in `Source files` supplies the retained material.
134
134
 
135
135
  ==============================================================================
136
- Components: @bendyline/squisq-graph@2.13.1, @bendyline/squisq@2.13.10
136
+ Components: @bendyline/squisq-graph@2.13.1, @bendyline/squisq@2.13.12
137
137
  Source files: node_modules/@bendyline/squisq-graph/LICENSE, node_modules/@bendyline/squisq/LICENSE
138
138
  ==============================================================================
139
139
  MIT License
@@ -189,7 +189,7 @@ repository license, the pinned upstream copy is vendored and identified below.
189
189
  COMPONENTS
190
190
 
191
191
  ==============================================================================
192
- Components: @bendyline/squisq@2.13.10
192
+ Components: @bendyline/squisq@2.13.12
193
193
  Source files: node_modules/@bendyline/squisq/NOTICE.md
194
194
  ==============================================================================
195
195
  # Third-Party Notices for @bendyline/squisq
@@ -220,7 +220,7 @@ third-party license texts for bundled code and data are shipped in
220
220
  THIRD_PARTY_LICENSES.txt.
221
221
 
222
222
  ==============================================================================
223
- Components: @bendyline/squisq@2.13.10
223
+ Components: @bendyline/squisq@2.13.12
224
224
  Source files: node_modules/@bendyline/squisq/THIRD_PARTY_LICENSES.txt
225
225
  ==============================================================================
226
226
  THIRD-PARTY LICENSES FOR @bendyline/squisq
@@ -1,5 +1,5 @@
1
- import { F as FileCommitResult, c as FileSystemEntry, b as FileMeta } from './types-DLteNrK0.js';
2
- import { D as DocBlocksHostFsV2API } from './filesystem-v2-CXdAPR27.js';
1
+ import { F as FileCommitResult, c as FileSystemEntry, b as FileMeta } from './types-BIaQ_gYW.js';
2
+ import { D as DocBlocksHostFsV2API } from './filesystem-v2-CYPHqoIw.js';
3
3
 
4
4
  /**
5
5
  * On-device image generation.
@@ -61,6 +61,7 @@ interface AiImageModel {
61
61
  /** Installed in a store the provider reads but this app does not own; not removable here. */
62
62
  readonly shared: boolean;
63
63
  readonly license: string | null;
64
+ readonly licenseUrl?: string | null;
64
65
  /** False when the license forbids commercial use; null when the provider does not say. */
65
66
  readonly commercialUse: boolean | null;
66
67
  /** Draws legible text, which design graphics depend on. */
@@ -72,12 +73,18 @@ interface AiImageModel {
72
73
  readonly minRamGb: number | null;
73
74
  readonly fit: AiImageModelFit | null;
74
75
  }
76
+ interface AiImageStyle extends Pick<AiImageModel, 'id' | 'label' | 'description' | 'state' | 'downloadBytes' | 'license' | 'licenseUrl' | 'commercialUse'> {
77
+ /** Opaque model ids this style was checked against. */
78
+ readonly baseModels: readonly string[];
79
+ }
75
80
  interface AiImagePreferences {
76
81
  /** The model "Generate image" uses; null lets the provider choose an installed one. */
77
82
  readonly model: string | null;
78
83
  /** The model Illustrate's design graphics use; null offers none. */
79
84
  readonly designModel: string | null;
80
85
  readonly aspect: AiImageAspect;
86
+ /** Preferred rendering style for Generate image. Absent on older installs. */
87
+ readonly style?: string | null;
81
88
  }
82
89
  type AiImagePreferencesPatch = Partial<AiImagePreferences>;
83
90
  interface AiImageRequest {
@@ -87,6 +94,8 @@ interface AiImageRequest {
87
94
  readonly model?: string;
88
95
  readonly aspect?: AiImageAspect;
89
96
  readonly seed?: number;
97
+ /** An installed style compatible with model; omitted for no style. */
98
+ readonly style?: string;
90
99
  }
91
100
  interface AiImageResult {
92
101
  readonly mimeType: 'image/png';
@@ -124,18 +133,18 @@ interface AiImageHandle {
124
133
  /** Stop the render. The engine stops, so the next render reloads its weights. */
125
134
  cancel(): void;
126
135
  }
127
- type AiImageInstallEvent = {
136
+ type AiImageInstallEvent<T = AiImageModel> = {
128
137
  readonly kind: 'progress';
129
138
  readonly progress: AiProgress;
130
139
  } | {
131
140
  readonly kind: 'done';
132
- readonly model: AiImageModel;
141
+ readonly model: T;
133
142
  } | {
134
143
  readonly kind: 'error';
135
144
  readonly error: AiError;
136
145
  };
137
- interface AiImageInstallHandle {
138
- readonly done: Promise<AiResult<AiImageModel>>;
146
+ interface AiImageInstallHandle<T = AiImageModel> {
147
+ readonly done: Promise<AiResult<T>>;
139
148
  /** Stop the download. Starting it again resumes. */
140
149
  cancel(): void;
141
150
  }
@@ -148,6 +157,9 @@ interface AiImagesAPI {
148
157
  /** Start a model download from an explicit gesture. */
149
158
  installModel(id: string, onProgress?: (progress: AiProgress) => void): AiImageInstallHandle;
150
159
  removeModel(id: string): Promise<AiResult<null>>;
160
+ styles?(): Promise<AiResult<readonly AiImageStyle[]>>;
161
+ installStyle?(id: string, onProgress?: (progress: AiProgress) => void): AiImageInstallHandle<AiImageStyle>;
162
+ removeStyle?(id: string): Promise<AiResult<null>>;
151
163
  getPreferences(): Promise<AiImagePreferences>;
152
164
  setPreferences(patch: AiImagePreferencesPatch): Promise<AiImagePreferences>;
153
165
  generate(request: AiImageRequest, onEvent: (event: AiImageEvent) => void): AiImageHandle;
@@ -165,12 +177,15 @@ declare function isAiImageAspect(value: unknown): value is AiImageAspect;
165
177
  declare function parseAiImageAccess(value: unknown): AiImageAccess | null;
166
178
  declare function parseAiImageModel(value: unknown): AiImageModel | null;
167
179
  declare function parseAiImageModelList(value: unknown): AiImageModel[] | null;
180
+ declare function parseAiImageStyle(value: unknown): AiImageStyle | null;
181
+ declare function parseAiImageStyleList(value: unknown): AiImageStyle[] | null;
168
182
  declare function parseAiImagePreferences(value: unknown): AiImagePreferences | null;
169
183
  declare function parseAiImagePreferencesPatch(value: unknown): AiImagePreferencesPatch | null;
170
184
  declare function parseAiImageRequest(value: unknown): AiImageRequest | null;
171
185
  declare function parseAiImageResult(value: unknown): AiImageResult | null;
172
186
  declare function parseAiImageEvent(value: unknown): AiImageEvent | null;
173
187
  declare function parseAiImageInstallEvent(value: unknown): AiImageInstallEvent | null;
188
+ declare function parseAiImageInstallEvent<T>(value: unknown, parse: (value: unknown) => T | null): AiImageInstallEvent<T> | null;
174
189
 
175
190
  /** Provider-neutral catalog management. IDs never authorize filesystem access. */
176
191
  interface AiKnowledgeCatalog {
@@ -211,6 +226,19 @@ interface AiKnowledgeAPI {
211
226
  state(): Promise<AiResult<AiKnowledgeState>>;
212
227
  update(action: AiKnowledgeAction): Promise<AiResult<null>>;
213
228
  }
229
+ /** A reference passage a provider gave the model, as a host receives it. */
230
+ interface AiKnowledgePassage {
231
+ readonly title: string;
232
+ readonly catalogId: string;
233
+ readonly text: string;
234
+ }
235
+ /** Group cited passages by catalog, in the order the provider ranked them. */
236
+ declare function knowledgeSources(passages: readonly AiKnowledgePassage[], names: ReadonlyMap<string, string> | undefined): AiChatKnowledgeSource[];
237
+ /**
238
+ * The `knowledge` chat event for one retrieval: what was cited, or that
239
+ * nothing was. Null when no catalog is enabled, so no indicator appears.
240
+ */
241
+ declare function knowledgeChatEvent(status: 'used' | 'none' | 'skipped', passages: readonly AiKnowledgePassage[], names: ReadonlyMap<string, string> | undefined, anyEnabled: boolean): AiChatKnowledge | null;
214
242
  declare function parseAiKnowledgeAction(value: unknown): AiKnowledgeAction | null;
215
243
  declare function parseAiKnowledgeState(value: unknown): AiKnowledgeState | null;
216
244
 
@@ -1552,4 +1580,4 @@ declare function parseHostEnvironment(value: unknown): HostEnvironment | null;
1552
1580
  */
1553
1581
  declare function deriveHostCapabilities(host: unknown): HostCapabilities;
1554
1582
 
1555
- export { type AiSearchQuery as $, AI_IMAGE_ASPECTS as A, type AiImageModelFit as B, type AiImagePhase as C, type AiImagePreferences as D, type AiImagePreferencesPatch as E, type AiImageProgress as F, type AiImageRequest as G, type AiImageResult as H, type AiImageUnavailableReason as I, type AiImagesAPI as J, type AiKnowledgeAPI as K, type AiKnowledgeAction as L, type AiKnowledgeCatalog as M, type AiKnowledgeState as N, type AiModelDownloadInfo as O, type AiModelFit as P, type AiModelInfo as Q, type AiModelInstallEvent as R, type AiModelInstallHandle as S, type AiPreferences as T, type AiPreferencesPatch as U, type AiProgress as V, type AiProviderInfo as W, type AiResponseFormat as X, type AiResult as Y, type AiReviewMode as Z, type AiSearchHit as _, AI_IMAGE_FIT_VERDICTS as a, type SpeechProgress as a$, type AiSearchResult as a0, type AiSpeechAudio as a1, type AiStatus as a2, type AiSynthesizeRequest as a3, type AiTranscribeRequest as a4, type AiTranscript as a5, type AiUnavailableReason as a6, type DocBlocksHostAPI as a7, type DocBlocksHostAiAPI as a8, type DocBlocksHostClipboardAPI as a9, type GitResult as aA, type GitRevision as aB, type GitStatus as aC, HOST_PLATFORMS as aD, HOST_SURFACE_KINDS as aE, type HostCapabilities as aF, type HostCloseReason as aG, type HostEnvironment as aH, type HostExportTargetGrant as aI, type HostPinnedDocument as aJ, type HostPlatform as aK, type HostPrepareCloseRequest as aL, type HostPrepareCloseResult as aM, type HostSurfaceKind as aN, type MenuCommand as aO, NO_HOST_CAPABILITIES as aP, type OpenRequest as aQ, type SpeechAudioChunk as aR, type SpeechCatalog as aS, type SpeechError as aT, type SpeechErrorCode as aU, type SpeechInstallEvent as aV, type SpeechInstallHandle as aW, type SpeechModelInfo as aX, type SpeechModelKind as aY, type SpeechPreferences as aZ, type SpeechPreferencesPatch as a_, type DocBlocksHostExportAPI as aa, type DocBlocksHostExternalAPI as ab, type DocBlocksHostFfmpegAPI as ac, type DocBlocksHostFsAPI as ad, type DocBlocksHostGitAPI as ae, type DocBlocksHostLifecycleAPI as af, type DocBlocksHostMenuAPI as ag, type DocBlocksHostShellAPI as ah, type DocBlocksHostSpeechAPI as ai, type DocBlocksHostUpdaterAPI as aj, type DocBlocksHostWorkspacesAPI as ak, type ElectronWorkspaceInfo as al, type ExternalBinaryCommitResult as am, type GitBranchInfo as an, type GitCapabilities as ao, type GitCloneHandle as ap, type GitCloneProgress as aq, type GitError as ar, type GitErrorCode as as, type GitFileAtRevision as at, type GitFileChange as au, type GitFileStatusCode as av, type GitLogEntry as aw, type GitLogOptions as ax, type GitRemoteInfo as ay, type GitRepoDetection as az, AI_IMAGE_WIRE_LIMITS as b, type SpeechReadiness as b0, type SpeechReadinessState as b1, type SpeechResult as b2, type SpeechSegment as b3, type SpeechStatus as b4, type SpeechSynthesisHandle as b5, type SpeechSynthesisSummary as b6, type SpeechSynthesizeEvent as b7, type SpeechSynthesizeRequest as b8, type SpeechTranscribeRequest as b9, type SpeechTranscript as ba, type SpeechVoiceInfo as bb, type SpeechWord as bc, type SpeechWordTiming as bd, type UpdateCheckResult as be, type UpdateInstallResult as bf, type UpdaterStatus as bg, deriveHostCapabilities as bh, isAiImageAspect as bi, isAiImageModelId as bj, parseAiImageAccess as bk, parseAiImageEvent as bl, parseAiImageInstallEvent as bm, parseAiImageModel as bn, parseAiImageModelList as bo, parseAiImagePreferences as bp, parseAiImagePreferencesPatch as bq, parseAiImageRequest as br, parseAiImageResult as bs, parseAiKnowledgeAction as bt, parseAiKnowledgeState as bu, parseHostEnvironment as bv, type AiChatCompletion as c, type AiChatEvent as d, type AiChatEvidence as e, type AiChatHandle as f, type AiChatKnowledge as g, type AiChatKnowledgeSource as h, type AiChatMessage as i, type AiChatProgress as j, type AiChatPurpose as k, type AiChatRequest as l, type AiConnectionStep as m, type AiEnsureWorkspaceHandle as n, type AiError as o, type AiErrorCode as p, type AiFactCheck as q, type AiFactCheckRequest as r, type AiFactCheckSentence as s, type AiImageAccess as t, type AiImageAspect as u, type AiImageEvent as v, type AiImageHandle as w, type AiImageInstallEvent as x, type AiImageInstallHandle as y, type AiImageModel as z };
1583
+ export { type AiReviewMode as $, AI_IMAGE_ASPECTS as A, type AiImageModelFit as B, type AiImagePhase as C, type AiImagePreferences as D, type AiImagePreferencesPatch as E, type AiImageProgress as F, type AiImageRequest as G, type AiImageResult as H, type AiImageStyle as I, type AiImageUnavailableReason as J, type AiImagesAPI as K, type AiKnowledgeAPI as L, type AiKnowledgeAction as M, type AiKnowledgeCatalog as N, type AiKnowledgePassage as O, type AiKnowledgeState as P, type AiModelDownloadInfo as Q, type AiModelFit as R, type AiModelInfo as S, type AiModelInstallEvent as T, type AiModelInstallHandle as U, type AiPreferences as V, type AiPreferencesPatch as W, type AiProgress as X, type AiProviderInfo as Y, type AiResponseFormat as Z, type AiResult as _, AI_IMAGE_FIT_VERDICTS as a, type SpeechPreferences as a$, type AiSearchHit as a0, type AiSearchQuery as a1, type AiSearchResult as a2, type AiSpeechAudio as a3, type AiStatus as a4, type AiSynthesizeRequest as a5, type AiTranscribeRequest as a6, type AiTranscript as a7, type AiUnavailableReason as a8, type DocBlocksHostAPI as a9, type GitRemoteInfo as aA, type GitRepoDetection as aB, type GitResult as aC, type GitRevision as aD, type GitStatus as aE, HOST_PLATFORMS as aF, HOST_SURFACE_KINDS as aG, type HostCapabilities as aH, type HostCloseReason as aI, type HostEnvironment as aJ, type HostExportTargetGrant as aK, type HostPinnedDocument as aL, type HostPlatform as aM, type HostPrepareCloseRequest as aN, type HostPrepareCloseResult as aO, type HostSurfaceKind as aP, type MenuCommand as aQ, NO_HOST_CAPABILITIES as aR, type OpenRequest as aS, type SpeechAudioChunk as aT, type SpeechCatalog as aU, type SpeechError as aV, type SpeechErrorCode as aW, type SpeechInstallEvent as aX, type SpeechInstallHandle as aY, type SpeechModelInfo as aZ, type SpeechModelKind as a_, type DocBlocksHostAiAPI as aa, type DocBlocksHostClipboardAPI as ab, type DocBlocksHostExportAPI as ac, type DocBlocksHostExternalAPI as ad, type DocBlocksHostFfmpegAPI as ae, type DocBlocksHostFsAPI as af, type DocBlocksHostGitAPI as ag, type DocBlocksHostLifecycleAPI as ah, type DocBlocksHostMenuAPI as ai, type DocBlocksHostShellAPI as aj, type DocBlocksHostSpeechAPI as ak, type DocBlocksHostUpdaterAPI as al, type DocBlocksHostWorkspacesAPI as am, type ElectronWorkspaceInfo as an, type ExternalBinaryCommitResult as ao, type GitBranchInfo as ap, type GitCapabilities as aq, type GitCloneHandle as ar, type GitCloneProgress as as, type GitError as at, type GitErrorCode as au, type GitFileAtRevision as av, type GitFileChange as aw, type GitFileStatusCode as ax, type GitLogEntry as ay, type GitLogOptions as az, AI_IMAGE_WIRE_LIMITS as b, type SpeechPreferencesPatch as b0, type SpeechProgress as b1, type SpeechReadiness as b2, type SpeechReadinessState as b3, type SpeechResult as b4, type SpeechSegment as b5, type SpeechStatus as b6, type SpeechSynthesisHandle as b7, type SpeechSynthesisSummary as b8, type SpeechSynthesizeEvent as b9, parseAiKnowledgeState as bA, parseHostEnvironment as bB, type SpeechSynthesizeRequest as ba, type SpeechTranscribeRequest as bb, type SpeechTranscript as bc, type SpeechVoiceInfo as bd, type SpeechWord as be, type SpeechWordTiming as bf, type UpdateCheckResult as bg, type UpdateInstallResult as bh, type UpdaterStatus as bi, deriveHostCapabilities as bj, isAiImageAspect as bk, isAiImageModelId as bl, knowledgeChatEvent as bm, knowledgeSources as bn, parseAiImageAccess as bo, parseAiImageEvent as bp, parseAiImageInstallEvent as bq, parseAiImageModel as br, parseAiImageModelList as bs, parseAiImagePreferences as bt, parseAiImagePreferencesPatch as bu, parseAiImageRequest as bv, parseAiImageResult as bw, parseAiImageStyle as bx, parseAiImageStyleList as by, parseAiKnowledgeAction as bz, type AiChatCompletion as c, type AiChatEvent as d, type AiChatEvidence as e, type AiChatHandle as f, type AiChatKnowledge as g, type AiChatKnowledgeSource as h, type AiChatMessage as i, type AiChatProgress as j, type AiChatPurpose as k, type AiChatRequest as l, type AiConnectionStep as m, type AiEnsureWorkspaceHandle as n, type AiError as o, type AiErrorCode as p, type AiFactCheck as q, type AiFactCheckRequest as r, type AiFactCheckSentence as s, type AiImageAccess as t, type AiImageAspect as u, type AiImageEvent as v, type AiImageHandle as w, type AiImageInstallEvent as x, type AiImageInstallHandle as y, type AiImageModel as z };
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  HostFileSystemProviderV2
3
- } from "./chunk-ZBRXXOW5.js";
3
+ } from "./chunk-P5VP6XMH.js";
4
4
  import {
5
5
  ELECTRON_FILE_SYSTEM_V2_CAPABILITIES,
6
6
  maybeGetDocBlocksHost
7
- } from "./chunk-WE5W7BRL.js";
7
+ } from "./chunk-OIBDXKQN.js";
8
8
 
9
9
  // src/filesystem/electron-provider-v2.ts
10
10
  var ElectronFileSystemProviderV2 = class extends HostFileSystemProviderV2 {
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  HOST_WIRE_LIMITS,
3
- isBoundedString
3
+ isBoundedString,
4
+ parseExternalHttpUrl
4
5
  } from "./chunk-V5SWLUZY.js";
5
6
 
6
7
  // src/host/capabilities.ts
@@ -1245,6 +1246,37 @@ var ELECTRON_FILE_SYSTEM_V2_CAPABILITIES = Object.freeze({
1245
1246
  });
1246
1247
 
1247
1248
  // src/host/ai-knowledge.ts
1249
+ function knowledgeSources(passages, names) {
1250
+ const sources = /* @__PURE__ */ new Map();
1251
+ for (const passage of passages) {
1252
+ let source = sources.get(passage.catalogId);
1253
+ if (!source) {
1254
+ if (sources.size >= AI_WIRE_LIMITS.knowledgeSources) continue;
1255
+ const name = names?.get(passage.catalogId) ?? passage.catalogId;
1256
+ source = { name: name.slice(0, 256), titles: [] };
1257
+ sources.set(passage.catalogId, source);
1258
+ }
1259
+ const title = passage.title.trim().slice(0, AI_WIRE_LIMITS.knowledgeTitleCharacters);
1260
+ if (title && !source.titles.includes(title) && source.titles.length < AI_WIRE_LIMITS.knowledgeTitles) {
1261
+ source.titles.push(title);
1262
+ }
1263
+ }
1264
+ return [...sources].map(([catalogId, { name, titles }]) => ({ catalogId, name, titles }));
1265
+ }
1266
+ function knowledgeChatEvent(status, passages, names, anyEnabled) {
1267
+ if (status === "used")
1268
+ return {
1269
+ outcome: "used",
1270
+ sources: knowledgeSources(passages, names),
1271
+ // In citation order: the model was asked to cite `evidence[0]` as [1].
1272
+ evidence: passages.map((passage) => ({
1273
+ title: passage.title.trim().slice(0, AI_WIRE_LIMITS.knowledgeTitleCharacters),
1274
+ catalogId: passage.catalogId,
1275
+ text: passage.text
1276
+ }))
1277
+ };
1278
+ return anyEnabled ? { outcome: status } : null;
1279
+ }
1248
1280
  function record(value) {
1249
1281
  return typeof value === "object" && value !== null && !Array.isArray(value);
1250
1282
  }
@@ -1398,7 +1430,9 @@ var MODEL_KEYS = [
1398
1430
  "fit"
1399
1431
  ];
1400
1432
  function parseAiImageModel(value) {
1401
- if (!record2(value) || !exact2(value, MODEL_KEYS)) return null;
1433
+ if (!record2(value) || !within(value, MODEL_KEYS, ["licenseUrl"])) return null;
1434
+ if (value.licenseUrl !== void 0 && value.licenseUrl !== null && !parseExternalHttpUrl(value.licenseUrl))
1435
+ return null;
1402
1436
  if (!isAiImageModelId(value.id) || !label2(value.label)) return null;
1403
1437
  if (value.description !== null && !message2(value.description)) return null;
1404
1438
  if (value.state !== "installed" && value.state !== "download-required" && value.state !== "downloading")
@@ -1427,6 +1461,7 @@ function parseAiImageModel(value) {
1427
1461
  downloadBytes: value.downloadBytes,
1428
1462
  shared: value.shared,
1429
1463
  license: value.license,
1464
+ ...value.licenseUrl !== void 0 ? { licenseUrl: value.licenseUrl } : {},
1430
1465
  commercialUse: value.commercialUse,
1431
1466
  rendersText: value.rendersText,
1432
1467
  promptStyle: value.promptStyle,
@@ -1447,15 +1482,74 @@ function parseAiImageModelList(value) {
1447
1482
  }
1448
1483
  return models;
1449
1484
  }
1485
+ function parseAiImageStyle(value) {
1486
+ if (!record2(value) || !within(
1487
+ value,
1488
+ [
1489
+ "id",
1490
+ "label",
1491
+ "description",
1492
+ "state",
1493
+ "downloadBytes",
1494
+ "license",
1495
+ "commercialUse",
1496
+ "baseModels"
1497
+ ],
1498
+ ["licenseUrl"]
1499
+ ))
1500
+ return null;
1501
+ if (!Array.isArray(value.baseModels) || value.baseModels.length === 0 || value.baseModels.length > AI_IMAGE_WIRE_LIMITS.models || !value.baseModels.every(isAiImageModelId))
1502
+ return null;
1503
+ const { baseModels, ...fields } = value;
1504
+ const model = parseAiImageModel({
1505
+ ...fields,
1506
+ shared: false,
1507
+ rendersText: false,
1508
+ promptStyle: null,
1509
+ hardwareTier: null,
1510
+ minRamGb: null,
1511
+ fit: null
1512
+ });
1513
+ if (!model) return null;
1514
+ return {
1515
+ id: model.id,
1516
+ label: model.label,
1517
+ description: model.description,
1518
+ state: model.state,
1519
+ downloadBytes: model.downloadBytes,
1520
+ license: model.license,
1521
+ ...model.licenseUrl !== void 0 ? { licenseUrl: model.licenseUrl } : {},
1522
+ commercialUse: model.commercialUse,
1523
+ baseModels: [...baseModels]
1524
+ };
1525
+ }
1526
+ function parseAiImageStyleList(value) {
1527
+ if (!Array.isArray(value) || value.length > AI_IMAGE_WIRE_LIMITS.models) return null;
1528
+ const styles = [];
1529
+ for (const raw of value) {
1530
+ const style = parseAiImageStyle(raw);
1531
+ if (!style || styles.some((entry) => entry.id === style.id)) return null;
1532
+ styles.push(style);
1533
+ }
1534
+ return styles;
1535
+ }
1450
1536
  function parseAiImagePreferences(value) {
1451
- if (!record2(value) || !exact2(value, ["model", "designModel", "aspect"])) return null;
1537
+ if (!record2(value) || !within(value, ["model", "designModel", "aspect"], ["style"])) return null;
1452
1538
  if (value.model !== null && !isAiImageModelId(value.model)) return null;
1453
1539
  if (value.designModel !== null && !isAiImageModelId(value.designModel)) return null;
1454
1540
  if (!isAiImageAspect(value.aspect)) return null;
1455
- return { model: value.model, designModel: value.designModel, aspect: value.aspect };
1541
+ if (value.style !== void 0 && value.style !== null && !isAiImageModelId(value.style))
1542
+ return null;
1543
+ return {
1544
+ model: value.model,
1545
+ designModel: value.designModel,
1546
+ aspect: value.aspect,
1547
+ ...value.style !== void 0 ? { style: value.style } : {}
1548
+ };
1456
1549
  }
1457
1550
  function parseAiImagePreferencesPatch(value) {
1458
- if (!record2(value) || !within(value, [], ["model", "designModel", "aspect"])) return null;
1551
+ if (!record2(value) || !within(value, [], ["model", "designModel", "aspect", "style"]))
1552
+ return null;
1459
1553
  const patch = {};
1460
1554
  if ("model" in value) {
1461
1555
  if (value.model !== null && !isAiImageModelId(value.model)) return null;
@@ -1469,10 +1563,14 @@ function parseAiImagePreferencesPatch(value) {
1469
1563
  if (!isAiImageAspect(value.aspect)) return null;
1470
1564
  patch.aspect = value.aspect;
1471
1565
  }
1566
+ if ("style" in value) {
1567
+ if (value.style !== null && !isAiImageModelId(value.style)) return null;
1568
+ patch.style = value.style;
1569
+ }
1472
1570
  return patch;
1473
1571
  }
1474
1572
  function parseAiImageRequest(value) {
1475
- if (!record2(value) || !within(value, ["prompt"], ["negativePrompt", "model", "aspect", "seed"]))
1573
+ if (!record2(value) || !within(value, ["prompt"], ["negativePrompt", "model", "aspect", "seed", "style"]))
1476
1574
  return null;
1477
1575
  if (!isBoundedString(value.prompt, AI_IMAGE_WIRE_LIMITS.promptCharacters, 1)) return null;
1478
1576
  if (!value.prompt.trim()) return null;
@@ -1481,12 +1579,14 @@ function parseAiImageRequest(value) {
1481
1579
  if (value.model !== void 0 && !isAiImageModelId(value.model)) return null;
1482
1580
  if (value.aspect !== void 0 && !isAiImageAspect(value.aspect)) return null;
1483
1581
  if (value.seed !== void 0 && !count2(value.seed, 2147483647)) return null;
1582
+ if (value.style !== void 0 && !isAiImageModelId(value.style)) return null;
1484
1583
  return {
1485
1584
  prompt: value.prompt,
1486
1585
  ...value.negativePrompt !== void 0 ? { negativePrompt: value.negativePrompt } : {},
1487
1586
  ...value.model !== void 0 ? { model: value.model } : {},
1488
1587
  ...value.aspect !== void 0 ? { aspect: value.aspect } : {},
1489
- ...value.seed !== void 0 ? { seed: value.seed } : {}
1588
+ ...value.seed !== void 0 ? { seed: value.seed } : {},
1589
+ ...value.style !== void 0 ? { style: value.style } : {}
1490
1590
  };
1491
1591
  }
1492
1592
  function ownedBuffer2(value, maximumBytes) {
@@ -1558,7 +1658,7 @@ function parseAiImageEvent(value) {
1558
1658
  }
1559
1659
  return null;
1560
1660
  }
1561
- function parseAiImageInstallEvent(value) {
1661
+ function parseAiImageInstallEvent(value, parse = parseAiImageModel) {
1562
1662
  if (!record2(value)) return null;
1563
1663
  if (value.kind === "progress") {
1564
1664
  if (!exact2(value, ["kind", "progress"])) return null;
@@ -1567,7 +1667,7 @@ function parseAiImageInstallEvent(value) {
1567
1667
  }
1568
1668
  if (value.kind === "done") {
1569
1669
  if (!exact2(value, ["kind", "model"])) return null;
1570
- const model = parseAiImageModel(value.model);
1670
+ const model = parse(value.model);
1571
1671
  return model ? { kind: "done", model } : null;
1572
1672
  }
1573
1673
  if (value.kind === "error") {
@@ -1657,6 +1757,8 @@ export {
1657
1757
  parseSpeechSynthesizeEvent,
1658
1758
  FILE_SYSTEM_TRANSFER_LIMITS,
1659
1759
  ELECTRON_FILE_SYSTEM_V2_CAPABILITIES,
1760
+ knowledgeSources,
1761
+ knowledgeChatEvent,
1660
1762
  parseAiKnowledgeAction,
1661
1763
  parseAiKnowledgeState,
1662
1764
  AI_IMAGE_ASPECTS,
@@ -1667,6 +1769,8 @@ export {
1667
1769
  parseAiImageAccess,
1668
1770
  parseAiImageModel,
1669
1771
  parseAiImageModelList,
1772
+ parseAiImageStyle,
1773
+ parseAiImageStyleList,
1670
1774
  parseAiImagePreferences,
1671
1775
  parseAiImagePreferencesPatch,
1672
1776
  parseAiImageRequest,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  FILE_SYSTEM_TRANSFER_LIMITS,
3
3
  maybeGetDocBlocksHost
4
- } from "./chunk-WE5W7BRL.js";
4
+ } from "./chunk-OIBDXKQN.js";
5
5
  import {
6
6
  parseFileSystemCapabilities
7
7
  } from "./chunk-245W57QP.js";
@@ -421,11 +421,16 @@ function normalizeEntry(entry) {
421
421
  throw new TypeError("Filesystem file size must be a non-negative safe integer.");
422
422
  }
423
423
  const readIssue = normalizeReadIssue(entry.readIssue);
424
+ const onlineOnly = entry.onlineOnly;
425
+ if (onlineOnly !== void 0 && onlineOnly !== true) {
426
+ throw new TypeError("Filesystem entry online-only flag must be true when present.");
427
+ }
424
428
  return Object.freeze({
425
429
  ...common,
426
430
  kind: "file",
427
431
  size: entry.size,
428
- ...readIssue ? { readIssue } : {}
432
+ ...readIssue ? { readIssue } : {},
433
+ ...onlineOnly === true ? { onlineOnly: true } : {}
429
434
  });
430
435
  }
431
436
  if (entry.kind === "directory") {
@@ -1,5 +1,5 @@
1
- import { d as FileSystemProvider } from '../types-DLteNrK0.js';
2
- import '../v2-DwxWjFC0.js';
1
+ import { d as FileSystemProvider } from '../types-BIaQ_gYW.js';
2
+ import '../v2-pBdrFAlW.js';
3
3
  import '../workspace-path-CWVrcuPL.js';
4
4
 
5
5
  /**
@@ -1,10 +1,10 @@
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';
1
+ import { d as FileSystemProvider, F as FileCommitResult, c as FileSystemEntry, b as FileMeta } from '../types-BIaQ_gYW.js';
2
+ import { H as HostFileSystemProviderV2 } from '../host-provider-v2-C2g9R17A.js';
3
3
  export { isElectronHost } from '../host/index.js';
4
- import '../v2-DwxWjFC0.js';
4
+ import '../v2-pBdrFAlW.js';
5
5
  import '../workspace-path-CWVrcuPL.js';
6
- import '../filesystem-v2-CXdAPR27.js';
7
- import '../capabilities-CH66e2pR.js';
6
+ import '../filesystem-v2-CYPHqoIw.js';
7
+ import '../capabilities-yyRj0hyP.js';
8
8
 
9
9
  /** Compatibility entry point retaining the Electron backend's exact guarantees. */
10
10
  declare class ElectronFileSystemProviderV2 extends HostFileSystemProviderV2 {
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  ElectronFileSystemProvider,
3
3
  ElectronFileSystemProviderV2
4
- } from "../chunk-LP6JHGBP.js";
5
- import "../chunk-ZBRXXOW5.js";
4
+ } from "../chunk-C6J65F5C.js";
5
+ import "../chunk-P5VP6XMH.js";
6
6
  import {
7
7
  isElectronHost
8
- } from "../chunk-WE5W7BRL.js";
8
+ } from "../chunk-OIBDXKQN.js";
9
9
  import "../chunk-245W57QP.js";
10
10
  import "../chunk-V5SWLUZY.js";
11
11
  import "../chunk-73OOROXH.js";
@@ -1,7 +1,7 @@
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';
1
+ import { H as HostFileSystemProviderV2, a as HostFileSystemClientOptions } from '../host-provider-v2-C2g9R17A.js';
2
+ import { d as FileSystemProvider, F as FileCommitResult, c as FileSystemEntry, b as FileMeta } from '../types-BIaQ_gYW.js';
3
+ import '../filesystem-v2-CYPHqoIw.js';
4
+ import '../v2-pBdrFAlW.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-ZBRXXOW5.js";
3
+ } from "../chunk-P5VP6XMH.js";
4
4
  import {
5
5
  ELECTRON_FILE_SYSTEM_V2_CAPABILITIES,
6
6
  maybeGetDocBlocksHost
7
- } from "../chunk-WE5W7BRL.js";
7
+ } from "../chunk-OIBDXKQN.js";
8
8
  import "../chunk-245W57QP.js";
9
9
  import "../chunk-V5SWLUZY.js";
10
10
  import "../chunk-73OOROXH.js";
@@ -1,10 +1,10 @@
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';
1
+ import { d as FileSystemProvider } from '../types-BIaQ_gYW.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-BIaQ_gYW.js';
3
3
  import { WikiLinkSuggestion } from '@bendyline/squisq/markdown';
4
4
  import { a as WorkspacePath } from '../workspace-path-CWVrcuPL.js';
5
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';
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';
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-pBdrFAlW.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-pBdrFAlW.js';
8
8
  import { MemoryFileSystemSnapshot, MemoryFileSystemProvider } from './memory.js';
9
9
  export { MemoryFilePayloadKind, MemoryFileSystemProviderV2, MemoryFileSystemSnapshotFile, MemoryFileSystemV2CompatibilityFile, MemoryFileSystemV2Replacement, MemoryFileSystemV2ReplacementFile, MemoryFileSystemV2State, MemoryFileSystemV2StateFile } from './memory.js';
10
10
  export { IndexedDBContentContainer, IndexedDBFileSystemProvider, IndexedDBFileSystemProviderV2, IndexedDBFileSystemProviderV2Options, IndexedDBLegacyConflictReason, IndexedDBLegacyConflictResolution, IndexedDBLegacyMigrationConflict, IndexedDBLegacyOpaqueDiscardTarget, IndexedDBLegacyOpaqueRecord, IndexedDBLegacyOpaqueRecordSummary, IndexedDBLegacyOpaqueValue, IndexedDBLegacyRecoveryCandidate, IndexedDBLegacyRecoveryKind } from './indexeddb.js';
@@ -13,9 +13,9 @@ import { MediaProvider } from '@bendyline/squisq/schemas';
13
13
  export { NativeFileSystemMovePathState, NativeFileSystemMoveRecoveryError, NativeFileSystemMoveRecoveryState, NativeFileSystemProvider, NativeFileSystemProviderV2, isNativeFileSystemSupported, loadDirectoryHandle, openNativeFolder, removeDirectoryHandle, restoreNativeFolder, storeDirectoryHandle } from './native.js';
14
14
  export { ElectronFileSystemProvider, ElectronFileSystemProviderV2 } from './electron.js';
15
15
  export { isElectronHost } from '../host/index.js';
16
- import '../host-provider-v2-DEWMPiRD.js';
17
- import '../filesystem-v2-CXdAPR27.js';
18
- import '../capabilities-CH66e2pR.js';
16
+ import '../host-provider-v2-C2g9R17A.js';
17
+ import '../filesystem-v2-CYPHqoIw.js';
18
+ import '../capabilities-yyRj0hyP.js';
19
19
 
20
20
  /** Immediate article/folder suggestions from an already bounded listing. */
21
21
  declare function suggestWikiArticles(files: readonly {
@@ -50,11 +50,11 @@ import "../chunk-3GSMJ4MQ.js";
50
50
  import {
51
51
  ElectronFileSystemProvider,
52
52
  ElectronFileSystemProviderV2
53
- } from "../chunk-LP6JHGBP.js";
54
- import "../chunk-ZBRXXOW5.js";
53
+ } from "../chunk-C6J65F5C.js";
54
+ import "../chunk-P5VP6XMH.js";
55
55
  import {
56
56
  isElectronHost
57
- } from "../chunk-WE5W7BRL.js";
57
+ } from "../chunk-OIBDXKQN.js";
58
58
  import "../chunk-245W57QP.js";
59
59
  import "../chunk-V5SWLUZY.js";
60
60
  import "../chunk-73OOROXH.js";
@@ -1,5 +1,5 @@
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';
1
+ import { b as FileMeta, d as FileSystemProvider, F as FileCommitResult, c as FileSystemEntry } from '../types-BIaQ_gYW.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-pBdrFAlW.js';
3
3
  import { a as WorkspacePath } from '../workspace-path-CWVrcuPL.js';
4
4
  import { ContentContainer, ContentEntry } from '@bendyline/squisq/storage';
5
5
 
@@ -1,5 +1,5 @@
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';
1
+ import { F as FileCommitResult, d as FileSystemProvider, c as FileSystemEntry, b as FileMeta } from '../types-BIaQ_gYW.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-pBdrFAlW.js';
3
3
  import { a as WorkspacePath } from '../workspace-path-CWVrcuPL.js';
4
4
 
5
5
  type MemoryFilePayloadKind = 'text' | 'binary';
@@ -1,5 +1,5 @@
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';
1
+ import { d as FileSystemProvider, F as FileCommitResult, c as FileSystemEntry, b as FileMeta } from '../types-BIaQ_gYW.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-pBdrFAlW.js';
3
3
  import { a as WorkspacePath } from '../workspace-path-CWVrcuPL.js';
4
4
 
5
5
  type NativeFileSystemMovePathState = 'present' | 'missing' | 'unknown';
@@ -1,4 +1,4 @@
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';
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-pBdrFAlW.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 { d as AiChatEvent, g as AiChatKnowledge, j as AiChatProgress, l as AiChatRequest, o as AiError, q as AiFactCheck, r as AiFactCheckRequest, O as AiModelDownloadInfo, Q as AiModelInfo, R as AiModelInstallEvent, T as AiPreferences, U as AiPreferencesPatch, V as AiProgress, a2 as AiStatus, aR as SpeechAudioChunk, aS as SpeechCatalog, aT as SpeechError, aV as SpeechInstallEvent, aX as SpeechModelInfo, aY as SpeechModelKind, b2 as SpeechResult, aZ as SpeechPreferences, a_ as SpeechPreferencesPatch, a$ as SpeechProgress, b0 as SpeechReadiness, b4 as SpeechStatus, b6 as SpeechSynthesisSummary, b7 as SpeechSynthesizeEvent, b8 as SpeechSynthesizeRequest, b9 as SpeechTranscribeRequest, ba as SpeechTranscript, bb as SpeechVoiceInfo, aQ as OpenRequest, aJ as HostPinnedDocument, a7 as DocBlocksHostAPI, aF as HostCapabilities, aH as HostEnvironment } from '../capabilities-CH66e2pR.js';
2
- export { A as AI_IMAGE_ASPECTS, a as AI_IMAGE_FIT_VERDICTS, b as AI_IMAGE_WIRE_LIMITS, c as AiChatCompletion, e as AiChatEvidence, f as AiChatHandle, h as AiChatKnowledgeSource, i as AiChatMessage, k as AiChatPurpose, m as AiConnectionStep, n as AiEnsureWorkspaceHandle, p as AiErrorCode, s as AiFactCheckSentence, t as AiImageAccess, u as AiImageAspect, v as AiImageEvent, w as AiImageHandle, x as AiImageInstallEvent, y as AiImageInstallHandle, z as AiImageModel, B as AiImageModelFit, C as AiImagePhase, D as AiImagePreferences, E as AiImagePreferencesPatch, F as AiImageProgress, G as AiImageRequest, H as AiImageResult, I as AiImageUnavailableReason, J as AiImagesAPI, K as AiKnowledgeAPI, L as AiKnowledgeAction, M as AiKnowledgeCatalog, N as AiKnowledgeState, P as AiModelFit, S as AiModelInstallHandle, W as AiProviderInfo, X as AiResponseFormat, Y as AiResult, Z as AiReviewMode, _ as AiSearchHit, $ as AiSearchQuery, a0 as AiSearchResult, a1 as AiSpeechAudio, a3 as AiSynthesizeRequest, a4 as AiTranscribeRequest, a5 as AiTranscript, a6 as AiUnavailableReason, a8 as DocBlocksHostAiAPI, a9 as DocBlocksHostClipboardAPI, aa as DocBlocksHostExportAPI, ab as DocBlocksHostExternalAPI, ac as DocBlocksHostFfmpegAPI, ad as DocBlocksHostFsAPI, ae as DocBlocksHostGitAPI, af as DocBlocksHostLifecycleAPI, ag as DocBlocksHostMenuAPI, ah as DocBlocksHostShellAPI, ai as DocBlocksHostSpeechAPI, aj as DocBlocksHostUpdaterAPI, ak as DocBlocksHostWorkspacesAPI, al as ElectronWorkspaceInfo, am as ExternalBinaryCommitResult, an as GitBranchInfo, ao as GitCapabilities, ap as GitCloneHandle, aq as GitCloneProgress, ar as GitError, as as GitErrorCode, at as GitFileAtRevision, au as GitFileChange, av as GitFileStatusCode, aw as GitLogEntry, ax as GitLogOptions, ay as GitRemoteInfo, az as GitRepoDetection, aA as GitResult, aB as GitRevision, aC as GitStatus, aD as HOST_PLATFORMS, aE as HOST_SURFACE_KINDS, aG as HostCloseReason, aI as HostExportTargetGrant, aK as HostPlatform, aL as HostPrepareCloseRequest, aM as HostPrepareCloseResult, aN as HostSurfaceKind, aO as MenuCommand, aP as NO_HOST_CAPABILITIES, aU as SpeechErrorCode, aW as SpeechInstallHandle, b1 as SpeechReadinessState, b3 as SpeechSegment, b5 as SpeechSynthesisHandle, bc as SpeechWord, bd as SpeechWordTiming, be as UpdateCheckResult, bf as UpdateInstallResult, bg as UpdaterStatus, bh as deriveHostCapabilities, bi as isAiImageAspect, bj as isAiImageModelId, bk as parseAiImageAccess, bl as parseAiImageEvent, bm as parseAiImageInstallEvent, bn as parseAiImageModel, bo as parseAiImageModelList, bp as parseAiImagePreferences, bq as parseAiImagePreferencesPatch, br as parseAiImageRequest, bs as parseAiImageResult, bt as parseAiKnowledgeAction, bu as parseAiKnowledgeState, bv as parseHostEnvironment } from '../capabilities-CH66e2pR.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';
1
+ import { d as AiChatEvent, g as AiChatKnowledge, j as AiChatProgress, l as AiChatRequest, o as AiError, q as AiFactCheck, r as AiFactCheckRequest, Q as AiModelDownloadInfo, S as AiModelInfo, T as AiModelInstallEvent, V as AiPreferences, W as AiPreferencesPatch, X as AiProgress, a4 as AiStatus, aT as SpeechAudioChunk, aU as SpeechCatalog, aV as SpeechError, aX as SpeechInstallEvent, aZ as SpeechModelInfo, a_ as SpeechModelKind, b4 as SpeechResult, a$ as SpeechPreferences, b0 as SpeechPreferencesPatch, b1 as SpeechProgress, b2 as SpeechReadiness, b6 as SpeechStatus, b8 as SpeechSynthesisSummary, b9 as SpeechSynthesizeEvent, ba as SpeechSynthesizeRequest, bb as SpeechTranscribeRequest, bc as SpeechTranscript, bd as SpeechVoiceInfo, aS as OpenRequest, aL as HostPinnedDocument, a9 as DocBlocksHostAPI, aH as HostCapabilities, aJ as HostEnvironment } from '../capabilities-yyRj0hyP.js';
2
+ export { A as AI_IMAGE_ASPECTS, a as AI_IMAGE_FIT_VERDICTS, b as AI_IMAGE_WIRE_LIMITS, c as AiChatCompletion, e as AiChatEvidence, f as AiChatHandle, h as AiChatKnowledgeSource, i as AiChatMessage, k as AiChatPurpose, m as AiConnectionStep, n as AiEnsureWorkspaceHandle, p as AiErrorCode, s as AiFactCheckSentence, t as AiImageAccess, u as AiImageAspect, v as AiImageEvent, w as AiImageHandle, x as AiImageInstallEvent, y as AiImageInstallHandle, z as AiImageModel, B as AiImageModelFit, C as AiImagePhase, D as AiImagePreferences, E as AiImagePreferencesPatch, F as AiImageProgress, G as AiImageRequest, H as AiImageResult, I as AiImageStyle, J as AiImageUnavailableReason, K as AiImagesAPI, L as AiKnowledgeAPI, M as AiKnowledgeAction, N as AiKnowledgeCatalog, O as AiKnowledgePassage, P as AiKnowledgeState, R as AiModelFit, U as AiModelInstallHandle, Y as AiProviderInfo, Z as AiResponseFormat, _ as AiResult, $ as AiReviewMode, a0 as AiSearchHit, a1 as AiSearchQuery, a2 as AiSearchResult, a3 as AiSpeechAudio, a5 as AiSynthesizeRequest, a6 as AiTranscribeRequest, a7 as AiTranscript, a8 as AiUnavailableReason, aa as DocBlocksHostAiAPI, ab as DocBlocksHostClipboardAPI, ac as DocBlocksHostExportAPI, ad as DocBlocksHostExternalAPI, ae as DocBlocksHostFfmpegAPI, af as DocBlocksHostFsAPI, ag as DocBlocksHostGitAPI, ah as DocBlocksHostLifecycleAPI, ai as DocBlocksHostMenuAPI, aj as DocBlocksHostShellAPI, ak as DocBlocksHostSpeechAPI, al as DocBlocksHostUpdaterAPI, am as DocBlocksHostWorkspacesAPI, an as ElectronWorkspaceInfo, ao as ExternalBinaryCommitResult, ap as GitBranchInfo, aq as GitCapabilities, ar as GitCloneHandle, as as GitCloneProgress, at as GitError, au as GitErrorCode, av as GitFileAtRevision, aw as GitFileChange, ax as GitFileStatusCode, ay as GitLogEntry, az 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, b3 as SpeechReadinessState, b5 as SpeechSegment, b7 as SpeechSynthesisHandle, be as SpeechWord, bf as SpeechWordTiming, bg as UpdateCheckResult, bh as UpdateInstallResult, bi as UpdaterStatus, bj as deriveHostCapabilities, bk as isAiImageAspect, bl as isAiImageModelId, bm as knowledgeChatEvent, bn as knowledgeSources, bo as parseAiImageAccess, bp as parseAiImageEvent, bq as parseAiImageInstallEvent, br as parseAiImageModel, bs as parseAiImageModelList, bt as parseAiImagePreferences, bu as parseAiImagePreferencesPatch, bv as parseAiImageRequest, bw as parseAiImageResult, bx as parseAiImageStyle, by as parseAiImageStyleList, bz as parseAiKnowledgeAction, bA as parseAiKnowledgeState, bB as parseHostEnvironment } from '../capabilities-yyRj0hyP.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-CYPHqoIw.js';
4
+ import '../types-BIaQ_gYW.js';
5
+ import '../v2-pBdrFAlW.js';
6
6
  import '../workspace-path-CWVrcuPL.js';
7
7
 
8
8
  /**
@@ -19,6 +19,8 @@ import {
19
19
  isAiImageModelId,
20
20
  isElectronHost,
21
21
  isSpeechModelId,
22
+ knowledgeChatEvent,
23
+ knowledgeSources,
22
24
  maybeGetDocBlocksHost,
23
25
  parseAiChatEvent,
24
26
  parseAiChatKnowledge,
@@ -36,6 +38,8 @@ import {
36
38
  parseAiImagePreferencesPatch,
37
39
  parseAiImageRequest,
38
40
  parseAiImageResult,
41
+ parseAiImageStyle,
42
+ parseAiImageStyleList,
39
43
  parseAiKnowledgeAction,
40
44
  parseAiKnowledgeState,
41
45
  parseAiModelDownloadInfo,
@@ -67,7 +71,7 @@ import {
67
71
  parseSpeechTranscribeRequest,
68
72
  parseSpeechTranscript,
69
73
  parseSpeechVoiceInfo
70
- } from "../chunk-WE5W7BRL.js";
74
+ } from "../chunk-OIBDXKQN.js";
71
75
  import {
72
76
  EXPORT_TRANSFER_LIMITS,
73
77
  HOST_WIRE_LIMITS,
@@ -110,6 +114,8 @@ export {
110
114
  isElectronHost,
111
115
  isSpeechModelId,
112
116
  isTrustedRendererUrl,
117
+ knowledgeChatEvent,
118
+ knowledgeSources,
113
119
  maybeGetDocBlocksHost,
114
120
  parseAiChatEvent,
115
121
  parseAiChatKnowledge,
@@ -127,6 +133,8 @@ export {
127
133
  parseAiImagePreferencesPatch,
128
134
  parseAiImageRequest,
129
135
  parseAiImageResult,
136
+ parseAiImageStyle,
137
+ parseAiImageStyleList,
130
138
  parseAiKnowledgeAction,
131
139
  parseAiKnowledgeState,
132
140
  parseAiModelDownloadInfo,
@@ -1,6 +1,6 @@
1
- import { n as FileSystemProviderCapabilities } from '../v2-DwxWjFC0.js';
1
+ import { n as FileSystemProviderCapabilities } from '../v2-pBdrFAlW.js';
2
2
  import { z } from 'zod';
3
- import { D as DocBlocksHostFsV2API } from '../filesystem-v2-CXdAPR27.js';
3
+ import { D as DocBlocksHostFsV2API } from '../filesystem-v2-CYPHqoIw.js';
4
4
  import '../workspace-path-CWVrcuPL.js';
5
5
 
6
6
  /** Capabilities cross the native boundary and must describe the actual backend. */
@@ -8,6 +8,7 @@ declare function parseFileSystemCapabilities(value: unknown): FileSystemProvider
8
8
 
9
9
  declare const MOBILE_STORAGE_LIMITS: Readonly<{
10
10
  fileBytes: number;
11
+ exportBytes: number;
11
12
  chunkBytes: number;
12
13
  totalBytes: number;
13
14
  entries: 10000;
@@ -15,6 +15,9 @@ import {
15
15
  import { z } from "zod";
16
16
  var MOBILE_STORAGE_LIMITS = Object.freeze({
17
17
  fileBytes: 16 * 1024 * 1024,
18
+ // Exports append to a native staging file instead of a memory buffer, so a
19
+ // rendered video can be far larger than a workspace file.
20
+ exportBytes: 1024 * 1024 * 1024,
18
21
  chunkBytes: 256 * 1024,
19
22
  totalBytes: 32 * 1024 * 1024,
20
23
  entries: 1e4,
@@ -265,12 +268,12 @@ var mobileExportRequests = {
265
268
  begin: z.object({
266
269
  op: z.literal("begin"),
267
270
  filename: exportFilename,
268
- byteLength: integer.max(MOBILE_STORAGE_LIMITS.fileBytes)
271
+ byteLength: integer.max(MOBILE_STORAGE_LIMITS.exportBytes)
269
272
  }).strict(),
270
273
  append: z.object({
271
274
  op: z.literal("append"),
272
275
  transferId: id,
273
- offset: integer.max(MOBILE_STORAGE_LIMITS.fileBytes),
276
+ offset: integer.max(MOBILE_STORAGE_LIMITS.exportBytes),
274
277
  data: base64.max(Math.ceil(MOBILE_STORAGE_LIMITS.chunkBytes / 3) * 4)
275
278
  }).strict(),
276
279
  finish: z.object({ op: z.literal("finish"), transferId: id, action: z.enum(["save", "share"]) }).strict(),
@@ -1,6 +1,6 @@
1
- import { D as DocBlocksHostFsV2API } from './filesystem-v2-CXdAPR27.js';
1
+ import { D as DocBlocksHostFsV2API } from './filesystem-v2-CYPHqoIw.js';
2
2
  import { a as WorkspacePath } from './workspace-path-CWVrcuPL.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';
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-pBdrFAlW.js';
4
4
 
5
5
  interface HostFileSystemClientOptions {
6
6
  readonly capabilities: FileSystemProviderCapabilities;
package/dist/index.d.ts CHANGED
@@ -1,18 +1,18 @@
1
- export { F as FileCommitResult, a as FileEntry, b as FileMeta, c as FileSystemEntry, d as FileSystemProvider, e as FileSystemProviderWithV2, f as FolderEntry, g as getFileSystemProviderV2, h as hasFileSystemProviderV2 } from './types-DLteNrK0.js';
1
+ export { F as FileCommitResult, a as FileEntry, b as FileMeta, c as FileSystemEntry, d as FileSystemProvider, e as FileSystemProviderWithV2, f as FolderEntry, g as getFileSystemProviderV2, h as hasFileSystemProviderV2 } from './types-BIaQ_gYW.js';
2
2
  export { DbkWorkspaceAssetLayout, DbkWorkspaceSnapshot, DbkWorkspaceSnapshotOptions, DecodeUtf8TextOptions, FileMediaProviderOptions, FileSystemContentContainer, FileSystemEntryMoveOptions, FileSystemEntryMoveState, FileSystemMoveLocation, FileSystemMoveRecoveryError, FileSystemPartialMoveError, FileSystemPartialMoveState, FileSystemPathPresence, LegacyFilePayloadModel, LegacyFileSystemProviderV2Adapter, LegacyFileSystemProviderV2AdapterOptions, MARKDOWN_FILE_EXTENSIONS, SQUISQ_RUNTIME_DIRECTORY_NAME, createDbkWorkspaceSnapshot, createFileMediaProvider, decodeUtf8Text, describeEntryMove, describePartialMove, documentCompanionPath, ensureWikiArticle, findWikiArticle, isBrowsableWorkspaceEntry, isCompanionDirectoryName, isDiscoverableWorkspaceEntry, isDocumentMediaPath, isFileSystemMoveRecoveryError, isFileSystemMoveStateError, isFileSystemPartialMoveError, isIgnoredWorkspaceEntryName, isMarkdownFileName, moveFileSystemEntry, replaceMemoryWorkspaceFromDbk, resolveDocumentRelativeMediaPath, resolveWikiArticlePath, rewriteCompanionReferences, suggestWikiArticles, wikiArticleExists } from './filesystem/index.js';
3
3
  export { W as WORKSPACE_ROOT, a as WorkspacePath, 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';
4
- export { F as FileSystemAtomicity, a as FileSystemCaseSensitivity, b as FileSystemConditionalWriteStrength, c as FileSystemCreateDirectoryMode, d as FileSystemCreateDirectoryOptions, e as FileSystemDirectorySnapshot, f as FileSystemDurability, g as FileSystemEntryReadIssue, h as FileSystemEntrySnapshot, i as FileSystemEntryWatchEvent, j as FileSystemFileRead, k as FileSystemFileSnapshot, l as FileSystemMoveOptions, m as FileSystemOverflowWatchEvent, n as FileSystemProviderCapabilities, o as FileSystemProviderV2, p as FileSystemRemoveOptions, q as FileSystemRemoveResult, r as FileSystemSnapshot, s as FileSystemSnapshotEntry, t as FileSystemSnapshotFile, u as FileSystemSymlinkPolicy, v as FileSystemVersion, w as FileSystemWatchErrorListener, x as FileSystemWatchEvent, y as FileSystemWatchEventOrigin, z as FileSystemWatchEventType, A as FileSystemWatchListener, B as FileSystemWatchOptions, C as FileSystemWatchSubscription, D as FileSystemWriteMode, E as FileSystemWriteOptions, G as FsError, H as FsErrorCode, I as FsErrorContext, J as FsOperation, 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';
4
+ export { F as FileSystemAtomicity, a as FileSystemCaseSensitivity, b as FileSystemConditionalWriteStrength, c as FileSystemCreateDirectoryMode, d as FileSystemCreateDirectoryOptions, e as FileSystemDirectorySnapshot, f as FileSystemDurability, g as FileSystemEntryReadIssue, h as FileSystemEntrySnapshot, i as FileSystemEntryWatchEvent, j as FileSystemFileRead, k as FileSystemFileSnapshot, l as FileSystemMoveOptions, m as FileSystemOverflowWatchEvent, n as FileSystemProviderCapabilities, o as FileSystemProviderV2, p as FileSystemRemoveOptions, q as FileSystemRemoveResult, r as FileSystemSnapshot, s as FileSystemSnapshotEntry, t as FileSystemSnapshotFile, u as FileSystemSymlinkPolicy, v as FileSystemVersion, w as FileSystemWatchErrorListener, x as FileSystemWatchEvent, y as FileSystemWatchEventOrigin, z as FileSystemWatchEventType, A as FileSystemWatchListener, B as FileSystemWatchOptions, C as FileSystemWatchSubscription, D as FileSystemWriteMode, E as FileSystemWriteOptions, G as FsError, H as FsErrorCode, I as FsErrorContext, J as FsOperation, 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-pBdrFAlW.js';
5
5
  export { MemoryFilePayloadKind, MemoryFileSystemProvider, MemoryFileSystemProviderV2, MemoryFileSystemSnapshot, MemoryFileSystemSnapshotFile, MemoryFileSystemV2CompatibilityFile, MemoryFileSystemV2Replacement, MemoryFileSystemV2ReplacementFile, MemoryFileSystemV2State, MemoryFileSystemV2StateFile } from './filesystem/memory.js';
6
6
  export { IndexedDBContentContainer, IndexedDBFileSystemProvider, IndexedDBFileSystemProviderV2, IndexedDBFileSystemProviderV2Options, IndexedDBLegacyConflictReason, IndexedDBLegacyConflictResolution, IndexedDBLegacyMigrationConflict, IndexedDBLegacyOpaqueDiscardTarget, IndexedDBLegacyOpaqueRecord, IndexedDBLegacyOpaqueRecordSummary, IndexedDBLegacyOpaqueValue, IndexedDBLegacyRecoveryCandidate, IndexedDBLegacyRecoveryKind } from './filesystem/indexeddb.js';
7
7
  export { NativeFileSystemMovePathState, NativeFileSystemMoveRecoveryError, NativeFileSystemMoveRecoveryState, NativeFileSystemProvider, NativeFileSystemProviderV2, isNativeFileSystemSupported, loadDirectoryHandle, openNativeFolder, removeDirectoryHandle, restoreNativeFolder, storeDirectoryHandle } from './filesystem/native.js';
8
8
  export { ElectronFileSystemProvider, ElectronFileSystemProviderV2 } from './filesystem/electron.js';
9
9
  export { DOCUMENT_RECOVERY_JOURNAL_SCHEMA_VERSION, DOCUMENT_RECOVERY_JOURNAL_STORAGE_KEY, DocumentCommitConflictError, DocumentCommitRequest, DocumentCommitResult, DocumentCommitTarget, DocumentConflictStrategy, DocumentExternalChangeResult, DocumentExternalSnapshot, DocumentExternalVersion, DocumentRecoveryAcknowledgement, DocumentRecoveryJournal, DocumentRecoveryJournalOptions, DocumentRecoveryRecord, DocumentRecoveryStorage, DocumentRecoveryWrite, DocumentRecoveryWriteFailure, DocumentRecoveryWriteResult, DocumentSaveReason, DocumentSession, DocumentSessionConflict, DocumentSessionConflictError, DocumentSessionEditScope, DocumentSessionLifecycle, DocumentSessionOptions, DocumentSessionSnapshot, DocumentSessionStatus, DocumentSessionTransition, FileSystemDocumentTargetOptions, createFileSystemDocumentTarget, getDefaultDocumentRecoveryStorage } from './document/index.js';
10
- export { D as DEFAULT_WORKSPACE_ID, E as ElectronWorkspaceReconciliation, T as TransientOrigin, W as WorkspaceDescriptor, e as ensureDefaultWorkspace, g as getTransientWorkspace, a as getWorkspace, l as listWorkspaces, p as parsePersistedWorkspaceList, r as reconcileElectronWorkspaceDescriptors, b as registerTransientWorkspace, c as removeWorkspace, s as saveWorkspace, t as touchWorkspace, u as unregisterTransientWorkspace } from './reconcile-electron-BcwJ7z5Z.js';
10
+ export { D as DEFAULT_WORKSPACE_ID, E as ElectronWorkspaceReconciliation, T as TransientOrigin, W as WorkspaceDescriptor, e as ensureDefaultWorkspace, g as getTransientWorkspace, a as getWorkspace, l as listWorkspaces, p as parsePersistedWorkspaceList, r as reconcileElectronWorkspaceDescriptors, b as registerTransientWorkspace, c as removeWorkspace, s as saveWorkspace, t as touchWorkspace, u as unregisterTransientWorkspace } from './reconcile-electron-FvgF5oC7.js';
11
11
  export { AI_WIRE_LIMITS, EXPORT_TRANSFER_LIMITS, HOST_WIRE_LIMITS, MAX_HOST_PINNED_DOCUMENTS, SPEECH_WIRE_LIMITS, SUPPORT_EMAIL_ADDRESS, getDocBlocksHost, getHostCapabilities, getHostEnvironment, hasDocBlocksHost, hostSupports, isBoundedBytePayload, isBoundedString, isElectronHost, isSpeechModelId, isTrustedRendererUrl, maybeGetDocBlocksHost, parseAiChatEvent, parseAiChatKnowledge, parseAiChatProgress, parseAiChatRequest, parseAiError, parseAiFactCheck, parseAiFactCheckRequest, parseAiModelDownloadInfo, parseAiModelDownloadInfoList, parseAiModelInfo, parseAiModelInfoList, parseAiModelInstallEvent, parseAiPreferences, parseAiPreferencesPatch, parseAiProgress, parseAiStatus, parseExternalHttpUrl, parseOpenExternalUrl, parseOpenRequest, parsePinnedMenuDocuments, parseSpeechAudioChunk, parseSpeechCatalog, parseSpeechError, parseSpeechInstallEvent, parseSpeechModelInfo, parseSpeechModelKind, parseSpeechNullResult, parseSpeechPreferences, parseSpeechPreferencesPatch, parseSpeechProgress, parseSpeechReadiness, parseSpeechResult, parseSpeechStatus, parseSpeechSynthesisSummary, parseSpeechSynthesizeEvent, parseSpeechSynthesizeRequest, parseSpeechTranscribeRequest, parseSpeechTranscript, parseSpeechVoiceInfo, parseSupportMailtoUrl } from './host/index.js';
12
12
  export { SHARED_DOCUMENT_LIMITS, SharedDocumentHashParseResult, SharedDocumentMode, SharedDocumentPayload, createSharedDocumentHash, createSharedDocumentUrl, parseSharedDocumentHash } from './share/index.js';
13
- export { A as AI_IMAGE_ASPECTS, a as AI_IMAGE_FIT_VERDICTS, b as AI_IMAGE_WIRE_LIMITS, c as AiChatCompletion, d as AiChatEvent, e as AiChatEvidence, f as AiChatHandle, g as AiChatKnowledge, h as AiChatKnowledgeSource, i as AiChatMessage, j as AiChatProgress, k as AiChatPurpose, l as AiChatRequest, m as AiConnectionStep, n as AiEnsureWorkspaceHandle, o as AiError, p as AiErrorCode, q as AiFactCheck, r as AiFactCheckRequest, s as AiFactCheckSentence, t as AiImageAccess, u as AiImageAspect, v as AiImageEvent, w as AiImageHandle, x as AiImageInstallEvent, y as AiImageInstallHandle, z as AiImageModel, B as AiImageModelFit, C as AiImagePhase, D as AiImagePreferences, E as AiImagePreferencesPatch, F as AiImageProgress, G as AiImageRequest, H as AiImageResult, I as AiImageUnavailableReason, J as AiImagesAPI, K as AiKnowledgeAPI, L as AiKnowledgeAction, M as AiKnowledgeCatalog, N as AiKnowledgeState, O as AiModelDownloadInfo, P as AiModelFit, Q as AiModelInfo, R as AiModelInstallEvent, S as AiModelInstallHandle, T as AiPreferences, U as AiPreferencesPatch, V as AiProgress, W as AiProviderInfo, X as AiResponseFormat, Y as AiResult, Z as AiReviewMode, _ as AiSearchHit, $ as AiSearchQuery, a0 as AiSearchResult, a1 as AiSpeechAudio, a2 as AiStatus, a3 as AiSynthesizeRequest, a4 as AiTranscribeRequest, a5 as AiTranscript, a6 as AiUnavailableReason, a7 as DocBlocksHostAPI, a8 as DocBlocksHostAiAPI, a9 as DocBlocksHostClipboardAPI, aa as DocBlocksHostExportAPI, ab as DocBlocksHostExternalAPI, ac as DocBlocksHostFfmpegAPI, ad as DocBlocksHostFsAPI, ae as DocBlocksHostGitAPI, af as DocBlocksHostLifecycleAPI, ag as DocBlocksHostMenuAPI, ah as DocBlocksHostShellAPI, ai as DocBlocksHostSpeechAPI, aj as DocBlocksHostUpdaterAPI, ak as DocBlocksHostWorkspacesAPI, al as ElectronWorkspaceInfo, am as ExternalBinaryCommitResult, an as GitBranchInfo, ao as GitCapabilities, ap as GitCloneHandle, aq as GitCloneProgress, ar as GitError, as as GitErrorCode, at as GitFileAtRevision, au as GitFileChange, av as GitFileStatusCode, aw as GitLogEntry, ax as GitLogOptions, ay as GitRemoteInfo, az as GitRepoDetection, aA as GitResult, aB as GitRevision, aC as GitStatus, aD as HOST_PLATFORMS, aE as HOST_SURFACE_KINDS, aF as HostCapabilities, aG as HostCloseReason, aH as HostEnvironment, aI as HostExportTargetGrant, aJ as HostPinnedDocument, aK as HostPlatform, aL as HostPrepareCloseRequest, aM as HostPrepareCloseResult, aN as HostSurfaceKind, aO as MenuCommand, aP as NO_HOST_CAPABILITIES, aQ as OpenRequest, aR as SpeechAudioChunk, aS as SpeechCatalog, aT as SpeechError, aU as SpeechErrorCode, aV as SpeechInstallEvent, aW as SpeechInstallHandle, aX as SpeechModelInfo, aY as SpeechModelKind, aZ as SpeechPreferences, a_ as SpeechPreferencesPatch, a$ as SpeechProgress, b0 as SpeechReadiness, b1 as SpeechReadinessState, b2 as SpeechResult, b3 as SpeechSegment, b4 as SpeechStatus, b5 as SpeechSynthesisHandle, b6 as SpeechSynthesisSummary, b7 as SpeechSynthesizeEvent, b8 as SpeechSynthesizeRequest, b9 as SpeechTranscribeRequest, ba as SpeechTranscript, bb as SpeechVoiceInfo, bc as SpeechWord, bd as SpeechWordTiming, be as UpdateCheckResult, bf as UpdateInstallResult, bg as UpdaterStatus, bh as deriveHostCapabilities, bi as isAiImageAspect, bj as isAiImageModelId, bk as parseAiImageAccess, bl as parseAiImageEvent, bm as parseAiImageInstallEvent, bn as parseAiImageModel, bo as parseAiImageModelList, bp as parseAiImagePreferences, bq as parseAiImagePreferencesPatch, br as parseAiImageRequest, bs as parseAiImageResult, bt as parseAiKnowledgeAction, bu as parseAiKnowledgeState, bv as parseHostEnvironment } from './capabilities-CH66e2pR.js';
14
- 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';
13
+ export { A as AI_IMAGE_ASPECTS, a as AI_IMAGE_FIT_VERDICTS, b as AI_IMAGE_WIRE_LIMITS, c as AiChatCompletion, d as AiChatEvent, e as AiChatEvidence, f as AiChatHandle, g as AiChatKnowledge, h as AiChatKnowledgeSource, i as AiChatMessage, j as AiChatProgress, k as AiChatPurpose, l as AiChatRequest, m as AiConnectionStep, n as AiEnsureWorkspaceHandle, o as AiError, p as AiErrorCode, q as AiFactCheck, r as AiFactCheckRequest, s as AiFactCheckSentence, t as AiImageAccess, u as AiImageAspect, v as AiImageEvent, w as AiImageHandle, x as AiImageInstallEvent, y as AiImageInstallHandle, z as AiImageModel, B as AiImageModelFit, C as AiImagePhase, D as AiImagePreferences, E as AiImagePreferencesPatch, F as AiImageProgress, G as AiImageRequest, H as AiImageResult, I as AiImageStyle, J as AiImageUnavailableReason, K as AiImagesAPI, L as AiKnowledgeAPI, M as AiKnowledgeAction, N as AiKnowledgeCatalog, O as AiKnowledgePassage, P as AiKnowledgeState, Q as AiModelDownloadInfo, R as AiModelFit, S as AiModelInfo, T as AiModelInstallEvent, U as AiModelInstallHandle, V as AiPreferences, W as AiPreferencesPatch, X as AiProgress, Y as AiProviderInfo, Z as AiResponseFormat, _ as AiResult, $ as AiReviewMode, a0 as AiSearchHit, a1 as AiSearchQuery, a2 as AiSearchResult, a3 as AiSpeechAudio, a4 as AiStatus, a5 as AiSynthesizeRequest, a6 as AiTranscribeRequest, a7 as AiTranscript, a8 as AiUnavailableReason, a9 as DocBlocksHostAPI, aa as DocBlocksHostAiAPI, ab as DocBlocksHostClipboardAPI, ac as DocBlocksHostExportAPI, ad as DocBlocksHostExternalAPI, ae as DocBlocksHostFfmpegAPI, af as DocBlocksHostFsAPI, ag as DocBlocksHostGitAPI, ah as DocBlocksHostLifecycleAPI, ai as DocBlocksHostMenuAPI, aj as DocBlocksHostShellAPI, ak as DocBlocksHostSpeechAPI, al as DocBlocksHostUpdaterAPI, am as DocBlocksHostWorkspacesAPI, an as ElectronWorkspaceInfo, ao as ExternalBinaryCommitResult, ap as GitBranchInfo, aq as GitCapabilities, ar as GitCloneHandle, as as GitCloneProgress, at as GitError, au as GitErrorCode, av as GitFileAtRevision, aw as GitFileChange, ax as GitFileStatusCode, ay as GitLogEntry, az 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, aH as HostCapabilities, aI as HostCloseReason, aJ as HostEnvironment, aK as HostExportTargetGrant, aL as HostPinnedDocument, aM as HostPlatform, aN as HostPrepareCloseRequest, aO as HostPrepareCloseResult, aP as HostSurfaceKind, aQ as MenuCommand, aR as NO_HOST_CAPABILITIES, aS as OpenRequest, aT as SpeechAudioChunk, aU as SpeechCatalog, aV as SpeechError, aW as SpeechErrorCode, aX as SpeechInstallEvent, aY as SpeechInstallHandle, aZ as SpeechModelInfo, a_ as SpeechModelKind, a$ as SpeechPreferences, b0 as SpeechPreferencesPatch, b1 as SpeechProgress, b2 as SpeechReadiness, b3 as SpeechReadinessState, b4 as SpeechResult, b5 as SpeechSegment, b6 as SpeechStatus, b7 as SpeechSynthesisHandle, b8 as SpeechSynthesisSummary, b9 as SpeechSynthesizeEvent, ba as SpeechSynthesizeRequest, bb as SpeechTranscribeRequest, bc as SpeechTranscript, bd as SpeechVoiceInfo, be as SpeechWord, bf as SpeechWordTiming, bg as UpdateCheckResult, bh as UpdateInstallResult, bi as UpdaterStatus, bj as deriveHostCapabilities, bk as isAiImageAspect, bl as isAiImageModelId, bm as knowledgeChatEvent, bn as knowledgeSources, bo as parseAiImageAccess, bp as parseAiImageEvent, bq as parseAiImageInstallEvent, br as parseAiImageModel, bs as parseAiImageModelList, bt as parseAiImagePreferences, bu as parseAiImagePreferencesPatch, bv as parseAiImageRequest, bw as parseAiImageResult, bx as parseAiImageStyle, by as parseAiImageStyleList, bz as parseAiKnowledgeAction, bA as parseAiKnowledgeState, bB as parseHostEnvironment } from './capabilities-yyRj0hyP.js';
14
+ 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-CYPHqoIw.js';
15
15
  import '@bendyline/squisq/markdown';
16
16
  import '@bendyline/squisq/storage';
17
17
  import '@bendyline/squisq/schemas';
18
- import './host-provider-v2-DEWMPiRD.js';
18
+ import './host-provider-v2-C2g9R17A.js';
package/dist/index.js CHANGED
@@ -70,8 +70,8 @@ import "./chunk-3GSMJ4MQ.js";
70
70
  import {
71
71
  ElectronFileSystemProvider,
72
72
  ElectronFileSystemProviderV2
73
- } from "./chunk-LP6JHGBP.js";
74
- import "./chunk-ZBRXXOW5.js";
73
+ } from "./chunk-C6J65F5C.js";
74
+ import "./chunk-P5VP6XMH.js";
75
75
  import {
76
76
  AI_IMAGE_ASPECTS,
77
77
  AI_IMAGE_FIT_VERDICTS,
@@ -93,6 +93,8 @@ import {
93
93
  isAiImageModelId,
94
94
  isElectronHost,
95
95
  isSpeechModelId,
96
+ knowledgeChatEvent,
97
+ knowledgeSources,
96
98
  maybeGetDocBlocksHost,
97
99
  parseAiChatEvent,
98
100
  parseAiChatKnowledge,
@@ -110,6 +112,8 @@ import {
110
112
  parseAiImagePreferencesPatch,
111
113
  parseAiImageRequest,
112
114
  parseAiImageResult,
115
+ parseAiImageStyle,
116
+ parseAiImageStyleList,
113
117
  parseAiKnowledgeAction,
114
118
  parseAiKnowledgeState,
115
119
  parseAiModelDownloadInfo,
@@ -141,7 +145,7 @@ import {
141
145
  parseSpeechTranscribeRequest,
142
146
  parseSpeechTranscript,
143
147
  parseSpeechVoiceInfo
144
- } from "./chunk-WE5W7BRL.js";
148
+ } from "./chunk-OIBDXKQN.js";
145
149
  import "./chunk-245W57QP.js";
146
150
  import {
147
151
  EXPORT_TRANSFER_LIMITS,
@@ -292,6 +296,8 @@ export {
292
296
  isSerializedFsError,
293
297
  isSpeechModelId,
294
298
  isTrustedRendererUrl,
299
+ knowledgeChatEvent,
300
+ knowledgeSources,
295
301
  listWorkspaces,
296
302
  loadDirectoryHandle,
297
303
  mapDomExceptionToFsErrorCode,
@@ -315,6 +321,8 @@ export {
315
321
  parseAiImagePreferencesPatch,
316
322
  parseAiImageRequest,
317
323
  parseAiImageResult,
324
+ parseAiImageStyle,
325
+ parseAiImageStyleList,
318
326
  parseAiKnowledgeAction,
319
327
  parseAiKnowledgeState,
320
328
  parseAiModelDownloadInfo,
package/dist/mcp/zod.js CHANGED
@@ -596,16 +596,18 @@ var DOCBLOCKS_MCP_TOOL_OUTPUT_SCHEMAS = Object.freeze({
596
596
  });
597
597
  var materializationOptionsSchema = z.discriminatedUnion("ifExists", [
598
598
  z.object({
599
- rootId: idSchema,
600
- path: workspacePathSchema,
601
- ifExists: z.literal("error"),
602
- expectedSha256: z.null().optional().default(null)
599
+ rootId: idSchema.describe("A write root id from list_roots."),
600
+ path: workspacePathSchema.describe("Path below that root."),
601
+ ifExists: z.literal("error").describe("Create the file; fails if one is already there."),
602
+ expectedSha256: z.null().optional().default(null).describe("Omit or null when creating a file.")
603
603
  }).strict(),
604
604
  z.object({
605
- rootId: idSchema,
606
- path: workspacePathSchema,
607
- ifExists: z.literal("replace"),
608
- expectedSha256: z.string().regex(/^[a-f0-9]{64}$/u)
605
+ rootId: idSchema.describe("A write root id from list_roots."),
606
+ path: workspacePathSchema.describe("Path below that root."),
607
+ ifExists: z.literal("replace").describe("Replace the file already at this path; fails if nothing is there."),
608
+ expectedSha256: z.string().regex(/^[a-f0-9]{64}$/u).describe(
609
+ "SHA-256 of the file now at this path (the sha256 returned when it was saved), not of the artifact being saved."
610
+ )
609
611
  }).strict()
610
612
  ]);
611
613
  function addExactWireIssue(parsed, context) {
@@ -1,5 +1,5 @@
1
- import { d as FileSystemProvider } from './types-DLteNrK0.js';
2
- import { al as ElectronWorkspaceInfo, aH as HostEnvironment } from './capabilities-CH66e2pR.js';
1
+ import { d as FileSystemProvider } from './types-BIaQ_gYW.js';
2
+ import { an as ElectronWorkspaceInfo, aJ as HostEnvironment } from './capabilities-yyRj0hyP.js';
3
3
 
4
4
  /**
5
5
  * Origin of a transient workspace — records where its contents came from and
@@ -1,4 +1,4 @@
1
- import { g as FileSystemEntryReadIssue, o as FileSystemProviderV2 } from './v2-DwxWjFC0.js';
1
+ import { g as FileSystemEntryReadIssue, o as FileSystemProviderV2 } from './v2-pBdrFAlW.js';
2
2
 
3
3
  /**
4
4
  * FileSystemProvider — abstract interface for a virtual filesystem.
@@ -106,6 +106,14 @@ interface FileSystemFileSnapshot extends FileSystemEntrySnapshotBase {
106
106
  * then reflects metadata only; callers needing content must read the file.
107
107
  */
108
108
  readonly readIssue?: FileSystemEntryReadIssue;
109
+ /**
110
+ * Present when a cloud sync client (OneDrive, iCloud Drive) keeps the bytes
111
+ * online until something reads them. Reading downloads the whole file
112
+ * first, so background work should leave it alone. A listing or stat does
113
+ * not hash it, so its version may reflect metadata only; a content read
114
+ * still returns a content-derived version.
115
+ */
116
+ readonly onlineOnly?: true;
109
117
  }
110
118
  interface FileSystemDirectorySnapshot extends FileSystemEntrySnapshotBase {
111
119
  readonly kind: 'directory';
@@ -1,10 +1,10 @@
1
- export { D as DEFAULT_WORKSPACE_ID, E as ElectronWorkspaceReconciliation, T as TransientOrigin, W as WorkspaceDescriptor, e as ensureDefaultWorkspace, g as getTransientWorkspace, a as getWorkspace, l as listWorkspaces, p as parsePersistedWorkspaceList, r as reconcileElectronWorkspaceDescriptors, b as registerTransientWorkspace, c as removeWorkspace, s as saveWorkspace, t as touchWorkspace, u as unregisterTransientWorkspace } from '../reconcile-electron-BcwJ7z5Z.js';
1
+ export { D as DEFAULT_WORKSPACE_ID, E as ElectronWorkspaceReconciliation, T as TransientOrigin, W as WorkspaceDescriptor, e as ensureDefaultWorkspace, g as getTransientWorkspace, a as getWorkspace, l as listWorkspaces, p as parsePersistedWorkspaceList, r as reconcileElectronWorkspaceDescriptors, b as registerTransientWorkspace, c as removeWorkspace, s as saveWorkspace, t as touchWorkspace, u as unregisterTransientWorkspace } from '../reconcile-electron-FvgF5oC7.js';
2
2
  import { ContentContainer } from '@bendyline/squisq/storage';
3
- import { o as FileSystemProviderV2 } from '../v2-DwxWjFC0.js';
3
+ import { o as FileSystemProviderV2 } from '../v2-pBdrFAlW.js';
4
4
  import { a as WorkspacePath } from '../workspace-path-CWVrcuPL.js';
5
- import '../types-DLteNrK0.js';
6
- import '../capabilities-CH66e2pR.js';
7
- import '../filesystem-v2-CXdAPR27.js';
5
+ import '../types-BIaQ_gYW.js';
6
+ import '../capabilities-yyRj0hyP.js';
7
+ import '../filesystem-v2-CYPHqoIw.js';
8
8
 
9
9
  declare const WORKSPACE_BACKUP_MANIFEST = "docblocks-backup.json";
10
10
  declare const WORKSPACE_BACKUP_LIMITS: Readonly<{
@@ -1,4 +1,4 @@
1
- import { o as FileSystemProviderV2, n as FileSystemProviderCapabilities } from '../v2-DwxWjFC0.js';
1
+ import { o as FileSystemProviderV2, n as FileSystemProviderCapabilities } from '../v2-pBdrFAlW.js';
2
2
  import { a as WorkspacePath } from '../workspace-path-CWVrcuPL.js';
3
3
  import { e as CatalogDocumentFormat, g as CatalogOutlineEntry } from '../catalog-flfSruLW.js';
4
4
  import '@bendyline/squisq/markdown';
@@ -74,7 +74,9 @@ interface WorkspaceIndexFile {
74
74
  readonly kind: WorkspaceIndexFileKind;
75
75
  }
76
76
  type IndexedDocumentContent = 'full' | 'lines' | 'name-only';
77
- type IndexedDocumentIssue = 'pending' | 'too-large' | 'parse-limit' | 'not-utf8' | 'read-error' | 'no-companion' | 'over-budget';
77
+ type IndexedDocumentIssue = 'pending' | 'too-large' | 'parse-limit' | 'not-utf8' | 'read-error' | 'no-companion' | 'over-budget'
78
+ /** Kept online by a cloud sync client; reading it would download it. */
79
+ | 'online-only';
78
80
  interface IndexedDocument {
79
81
  /** Navigation identity: the rendered file for outside-in documents. */
80
82
  readonly path: WorkspacePath;
@@ -944,6 +944,7 @@ var WorkspaceIndexImpl = class {
944
944
  },
945
945
  entry.version,
946
946
  entry.kind === "file" ? entry.size : 0,
947
+ entry.kind === "file" && entry.onlineOnly === true,
947
948
  null,
948
949
  previous
949
950
  );
@@ -958,11 +959,12 @@ var WorkspaceIndexImpl = class {
958
959
  },
959
960
  source?.version ?? null,
960
961
  source?.kind === "file" ? source.size : 0,
962
+ source?.kind === "file" && source.onlineOnly === true,
961
963
  layout,
962
964
  previous
963
965
  );
964
966
  }
965
- documentState(identity, sourceVersion, sourceSize, layout, previous) {
967
+ documentState(identity, sourceVersion, sourceSize, sourceOnlineOnly, layout, previous) {
966
968
  const state = {
967
969
  identity,
968
970
  sourceVersion,
@@ -981,6 +983,8 @@ var WorkspaceIndexImpl = class {
981
983
  text: previous.analysis.text
982
984
  };
983
985
  state.analysisVersion = previous.analysisVersion;
986
+ } else if (sourceOnlineOnly) {
987
+ state.analysis = nameOnlyDocument(identity, "online-only");
984
988
  }
985
989
  return state;
986
990
  }
@@ -3,7 +3,7 @@ export { b as CATALOG_JSON_CONTENT_MODES, c as CATALOG_SORT_ORDERS, d as Catalog
3
3
  import { C as CatalogEntry, W as WorkspaceCatalog } from '../catalog-flfSruLW.js';
4
4
  export { a as CATALOG_FORMAT_VERSION, b as CATALOG_GENERATOR, c as CATALOG_LIMITS, d as CatalogDateRecord, e as CatalogDocumentFormat, f as CatalogEntryHints, g as CatalogOutlineEntry, h as CatalogSource, O as OUTSIDE_IN_FORMAT_IDS, i as OutsideInFormatId, j as OutsideInLayout, k as buildCatalogMarkdownDocument, l as catalogEntryForUnreadable, m as catalogEntryFromDocument, n as catalogEntryFromMarkdown, o as chooseOutsideInMarkdownPath, p as createWorkspaceCatalog, q as isGeneratedCatalogHtml, r as isGeneratedCatalogJson, s as readCatalogDateHistory, t as readCatalogHtmlDigest, u as relativeCatalogLink, v as relocateOutsideInLayout, w as resolveOutsideInLayout, x as serializeCatalogJson, y as sortCatalogEntries, z as stampCatalogDates, A as stampCatalogHtml } from '../catalog-flfSruLW.js';
5
5
  import { MarkdownDocument } from '@bendyline/squisq/markdown';
6
- import { v as FileSystemVersion, o as FileSystemProviderV2 } from '../v2-DwxWjFC0.js';
6
+ import { v as FileSystemVersion, o as FileSystemProviderV2 } from '../v2-pBdrFAlW.js';
7
7
  import { a as WorkspacePath } from '../workspace-path-CWVrcuPL.js';
8
8
 
9
9
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bendyline/docblocks",
3
- "version": "2.7.11",
3
+ "version": "2.7.13",
4
4
  "description": "Core data structures and filesystem abstractions for DocBlocks",
5
5
  "license": "MIT",
6
6
  "author": "Bendyline",
@@ -126,7 +126,7 @@
126
126
  "typecheck": "tsc --noEmit"
127
127
  },
128
128
  "dependencies": {
129
- "@bendyline/squisq": "2.13.10",
129
+ "@bendyline/squisq": "2.13.12",
130
130
  "zod": "3.25.76"
131
131
  }
132
132
  }