@bendyline/docblocks 2.7.7 → 2.7.8

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.
@@ -125,7 +125,7 @@ function deriveHostCapabilities(host) {
125
125
  aiKnowledgeManagement: isRecord(host.ai) && hasMethod(host.ai.knowledge, "state") && hasMethod(host.ai.knowledge, "update"),
126
126
  aiWorkspaceIndex: hasMethod(host.ai, "ensureWorkspace"),
127
127
  aiSearch: hasMethod(host.ai, "search"),
128
- aiImages: hasMethod(host.ai, "generateImage"),
128
+ aiImages: isRecord(host.ai) && hasMethod(host.ai.images, "generate"),
129
129
  aiTranscription: hasMethod(host.ai, "transcribe"),
130
130
  aiSpeechSynthesis: hasMethod(host.ai, "synthesize"),
131
131
  speechInput: hasMethod(host.speech, "transcribe"),
@@ -434,11 +434,11 @@ function parseAiChatRequest(value) {
434
434
  const messages = [];
435
435
  let totalCharacters = 0;
436
436
  for (const entry of value.messages) {
437
- const message2 = parseAiChatMessage(entry);
438
- if (!message2) return null;
439
- totalCharacters += message2.content.length;
437
+ const message3 = parseAiChatMessage(entry);
438
+ if (!message3) return null;
439
+ totalCharacters += message3.content.length;
440
440
  if (totalCharacters > AI_WIRE_LIMITS.promptCharacters) return null;
441
- messages.push(message2);
441
+ messages.push(message3);
442
442
  }
443
443
  if (value.model !== void 0 && !isBoundedString(value.model, HOST_WIRE_LIMITS.identifierCharacters, 1)) {
444
444
  return null;
@@ -757,6 +757,7 @@ var SPEECH_WIRE_LIMITS = Object.freeze({
757
757
  languageCharacters: 16,
758
758
  transcriptCharacters: 64 * 1024,
759
759
  segmentEntries: 4096,
760
+ segmentWordEntries: 1024,
760
761
  synthesizeTextCharacters: 2e4,
761
762
  chunkPcmBytes: 16 * 1024 * 1024,
762
763
  chunkWordEntries: 1024,
@@ -838,8 +839,11 @@ function parseSpeechModelKind(value) {
838
839
  }
839
840
  function parseSpeechTranscribeRequest(value) {
840
841
  if (!isRecord3(value)) return null;
841
- if (!hasKeysWithin2(value, ["audio", "mimeType"], ["prompt", "language"])) return null;
842
+ if (!hasKeysWithin2(value, ["audio", "mimeType"], ["prompt", "language", "timestamps"])) {
843
+ return null;
844
+ }
842
845
  if (value.mimeType !== "audio/wav") return null;
846
+ if (value.timestamps !== void 0 && typeof value.timestamps !== "boolean") return null;
843
847
  const audio = ownedBuffer(value.audio, SPEECH_WIRE_LIMITS.transcribeAudioBytes);
844
848
  if (!audio || !hasRiffWaveHeader(audio)) return null;
845
849
  if (value.prompt !== void 0 && !isBoundedString(value.prompt, SPEECH_WIRE_LIMITS.promptCharacters)) {
@@ -852,7 +856,8 @@ function parseSpeechTranscribeRequest(value) {
852
856
  audio,
853
857
  mimeType: "audio/wav",
854
858
  ...value.prompt === void 0 ? {} : { prompt: value.prompt },
855
- ...value.language === void 0 ? {} : { language: value.language }
859
+ ...value.language === void 0 ? {} : { language: value.language },
860
+ ...value.timestamps === true ? { timestamps: true } : {}
856
861
  };
857
862
  }
858
863
  function parseSpeechSynthesizeRequest(value) {
@@ -1069,13 +1074,29 @@ function parseSpeechPreferences(value) {
1069
1074
  speed: patch.speed
1070
1075
  };
1071
1076
  }
1072
- function parseSpeechSegment(value) {
1077
+ function parseSpeechWord(value) {
1073
1078
  if (!isRecord3(value) || !hasExactKeys2(value, ["start", "end", "text"])) return null;
1074
1079
  if (!isFiniteInRange2(value.start, 0, SPEECH_WIRE_LIMITS.durationCeiling)) return null;
1075
1080
  if (!isFiniteInRange2(value.end, value.start, SPEECH_WIRE_LIMITS.durationCeiling)) return null;
1076
1081
  if (!isBoundedString(value.text, SPEECH_WIRE_LIMITS.transcriptCharacters)) return null;
1077
1082
  return { start: value.start, end: value.end, text: value.text };
1078
1083
  }
1084
+ function parseSpeechSegment(value) {
1085
+ if (!isRecord3(value) || !hasKeysWithin2(value, ["start", "end", "text"], ["words"])) return null;
1086
+ const timed = parseSpeechWord({ start: value.start, end: value.end, text: value.text });
1087
+ if (!timed) return null;
1088
+ if (value.words === void 0) return timed;
1089
+ if (!Array.isArray(value.words) || value.words.length > SPEECH_WIRE_LIMITS.segmentWordEntries) {
1090
+ return null;
1091
+ }
1092
+ const words = [];
1093
+ for (const entry of value.words) {
1094
+ const word = parseSpeechWord(entry);
1095
+ if (!word) return null;
1096
+ words.push(word);
1097
+ }
1098
+ return { ...timed, words };
1099
+ }
1079
1100
  function parseSpeechTranscript(value) {
1080
1101
  if (!isRecord3(value)) return null;
1081
1102
  if (!hasExactKeys2(value, ["text", "language", "segments", "durationMs"])) return null;
@@ -1301,6 +1322,262 @@ function parseAiKnowledgeState(value) {
1301
1322
  return { catalogs, improvement };
1302
1323
  }
1303
1324
 
1325
+ // src/host/ai-images.ts
1326
+ var AI_IMAGE_ASPECTS = ["1:1", "4:3", "3:4", "16:9", "9:16"];
1327
+ var AI_IMAGE_FIT_VERDICTS = [
1328
+ "fits",
1329
+ "tight",
1330
+ "over-limit",
1331
+ "may-not-run",
1332
+ "wont-run"
1333
+ ];
1334
+ var AI_IMAGE_WIRE_LIMITS = Object.freeze({
1335
+ promptCharacters: 4e3,
1336
+ /** A PNG at the largest size a model renders. */
1337
+ imageBytes: 64 * 1024 * 1024,
1338
+ models: 256,
1339
+ pixels: 16384,
1340
+ verificationCodeCharacters: 16
1341
+ });
1342
+ var PNG_SIGNATURE = [137, 80, 78, 71, 13, 10, 26, 10];
1343
+ function record2(value) {
1344
+ return typeof value === "object" && value !== null && !Array.isArray(value);
1345
+ }
1346
+ function exact2(value, keys) {
1347
+ return Object.keys(value).length === keys.length && keys.every((key) => Object.prototype.hasOwnProperty.call(value, key));
1348
+ }
1349
+ function within(value, required, optional) {
1350
+ const allowed = /* @__PURE__ */ new Set([...required, ...optional]);
1351
+ return required.every((key) => Object.prototype.hasOwnProperty.call(value, key)) && Object.keys(value).every((key) => allowed.has(key));
1352
+ }
1353
+ var label2 = (value) => isBoundedString(value, HOST_WIRE_LIMITS.labelCharacters, 1);
1354
+ var message2 = (value) => isBoundedString(value, HOST_WIRE_LIMITS.messageCharacters);
1355
+ var nullableLabel = (value) => value === null || label2(value);
1356
+ var count2 = (value, maximum = Number.MAX_SAFE_INTEGER) => typeof value === "number" && Number.isSafeInteger(value) && value >= 0 && value <= maximum;
1357
+ var pixels = (value) => count2(value, AI_IMAGE_WIRE_LIMITS.pixels) && value > 0;
1358
+ function isAiImageModelId(value) {
1359
+ return isBoundedString(value, HOST_WIRE_LIMITS.identifierCharacters, 1);
1360
+ }
1361
+ function isAiImageAspect(value) {
1362
+ return typeof value === "string" && AI_IMAGE_ASPECTS.includes(value);
1363
+ }
1364
+ function parseAiImageAccess(value) {
1365
+ if (!record2(value)) return null;
1366
+ switch (value.kind) {
1367
+ case "ready":
1368
+ case "needs-approval":
1369
+ case "provider-outdated":
1370
+ return exact2(value, ["kind"]) ? { kind: value.kind } : null;
1371
+ case "awaiting-approval":
1372
+ if (!exact2(value, ["kind", "verificationCode"])) return null;
1373
+ if (value.verificationCode !== null && !isBoundedString(value.verificationCode, AI_IMAGE_WIRE_LIMITS.verificationCodeCharacters, 1))
1374
+ return null;
1375
+ return { kind: "awaiting-approval", verificationCode: value.verificationCode };
1376
+ case "unavailable":
1377
+ if (!exact2(value, ["kind", "reason", "message"]) || !message2(value.message)) return null;
1378
+ if (value.reason !== "not-connected" && value.reason !== "no-engine" && value.reason !== "graphics-driver" && value.reason !== "platform")
1379
+ return null;
1380
+ return { kind: "unavailable", reason: value.reason, message: value.message };
1381
+ default:
1382
+ return null;
1383
+ }
1384
+ }
1385
+ var MODEL_KEYS = [
1386
+ "id",
1387
+ "label",
1388
+ "description",
1389
+ "state",
1390
+ "downloadBytes",
1391
+ "shared",
1392
+ "license",
1393
+ "commercialUse",
1394
+ "rendersText",
1395
+ "promptStyle",
1396
+ "hardwareTier",
1397
+ "minRamGb",
1398
+ "fit"
1399
+ ];
1400
+ function parseAiImageModel(value) {
1401
+ if (!record2(value) || !exact2(value, MODEL_KEYS)) return null;
1402
+ if (!isAiImageModelId(value.id) || !label2(value.label)) return null;
1403
+ if (value.description !== null && !message2(value.description)) return null;
1404
+ if (value.state !== "installed" && value.state !== "download-required" && value.state !== "downloading")
1405
+ return null;
1406
+ if (value.downloadBytes !== null && !count2(value.downloadBytes)) return null;
1407
+ if (typeof value.shared !== "boolean" || typeof value.rendersText !== "boolean") return null;
1408
+ if (!nullableLabel(value.license)) return null;
1409
+ if (value.commercialUse !== null && typeof value.commercialUse !== "boolean") return null;
1410
+ if (value.promptStyle !== null && value.promptStyle !== "sentences" && value.promptStyle !== "tags")
1411
+ return null;
1412
+ if (value.hardwareTier !== null && value.hardwareTier !== "low" && value.hardwareTier !== "mid" && value.hardwareTier !== "high" && value.hardwareTier !== "workstation")
1413
+ return null;
1414
+ if (value.minRamGb !== null && !count2(value.minRamGb, 1e6)) return null;
1415
+ let fit = null;
1416
+ if (value.fit !== null) {
1417
+ const raw = value.fit;
1418
+ if (!record2(raw) || !exact2(raw, ["verdict", "reason"]) || typeof raw.verdict !== "string" || !AI_IMAGE_FIT_VERDICTS.includes(raw.verdict) || !message2(raw.reason))
1419
+ return null;
1420
+ fit = { verdict: raw.verdict, reason: raw.reason };
1421
+ }
1422
+ return {
1423
+ id: value.id,
1424
+ label: value.label,
1425
+ description: value.description,
1426
+ state: value.state,
1427
+ downloadBytes: value.downloadBytes,
1428
+ shared: value.shared,
1429
+ license: value.license,
1430
+ commercialUse: value.commercialUse,
1431
+ rendersText: value.rendersText,
1432
+ promptStyle: value.promptStyle,
1433
+ hardwareTier: value.hardwareTier,
1434
+ minRamGb: value.minRamGb,
1435
+ fit
1436
+ };
1437
+ }
1438
+ function parseAiImageModelList(value) {
1439
+ if (!Array.isArray(value) || value.length > AI_IMAGE_WIRE_LIMITS.models) return null;
1440
+ const models = [];
1441
+ const ids = /* @__PURE__ */ new Set();
1442
+ for (const raw of value) {
1443
+ const model = parseAiImageModel(raw);
1444
+ if (!model || ids.has(model.id)) return null;
1445
+ ids.add(model.id);
1446
+ models.push(model);
1447
+ }
1448
+ return models;
1449
+ }
1450
+ function parseAiImagePreferences(value) {
1451
+ if (!record2(value) || !exact2(value, ["model", "designModel", "aspect"])) return null;
1452
+ if (value.model !== null && !isAiImageModelId(value.model)) return null;
1453
+ if (value.designModel !== null && !isAiImageModelId(value.designModel)) return null;
1454
+ if (!isAiImageAspect(value.aspect)) return null;
1455
+ return { model: value.model, designModel: value.designModel, aspect: value.aspect };
1456
+ }
1457
+ function parseAiImagePreferencesPatch(value) {
1458
+ if (!record2(value) || !within(value, [], ["model", "designModel", "aspect"])) return null;
1459
+ const patch = {};
1460
+ if ("model" in value) {
1461
+ if (value.model !== null && !isAiImageModelId(value.model)) return null;
1462
+ patch.model = value.model;
1463
+ }
1464
+ if ("designModel" in value) {
1465
+ if (value.designModel !== null && !isAiImageModelId(value.designModel)) return null;
1466
+ patch.designModel = value.designModel;
1467
+ }
1468
+ if ("aspect" in value) {
1469
+ if (!isAiImageAspect(value.aspect)) return null;
1470
+ patch.aspect = value.aspect;
1471
+ }
1472
+ return patch;
1473
+ }
1474
+ function parseAiImageRequest(value) {
1475
+ if (!record2(value) || !within(value, ["prompt"], ["negativePrompt", "model", "aspect", "seed"]))
1476
+ return null;
1477
+ if (!isBoundedString(value.prompt, AI_IMAGE_WIRE_LIMITS.promptCharacters, 1)) return null;
1478
+ if (!value.prompt.trim()) return null;
1479
+ if (value.negativePrompt !== void 0 && !isBoundedString(value.negativePrompt, AI_IMAGE_WIRE_LIMITS.promptCharacters))
1480
+ return null;
1481
+ if (value.model !== void 0 && !isAiImageModelId(value.model)) return null;
1482
+ if (value.aspect !== void 0 && !isAiImageAspect(value.aspect)) return null;
1483
+ if (value.seed !== void 0 && !count2(value.seed, 2147483647)) return null;
1484
+ return {
1485
+ prompt: value.prompt,
1486
+ ...value.negativePrompt !== void 0 ? { negativePrompt: value.negativePrompt } : {},
1487
+ ...value.model !== void 0 ? { model: value.model } : {},
1488
+ ...value.aspect !== void 0 ? { aspect: value.aspect } : {},
1489
+ ...value.seed !== void 0 ? { seed: value.seed } : {}
1490
+ };
1491
+ }
1492
+ function ownedBuffer2(value, maximumBytes) {
1493
+ if (value instanceof ArrayBuffer) {
1494
+ return value.byteLength <= maximumBytes ? value.slice(0) : null;
1495
+ }
1496
+ if (ArrayBuffer.isView(value) && !(value instanceof DataView)) {
1497
+ if (value.byteLength > maximumBytes) return null;
1498
+ const copy = new Uint8Array(value.byteLength);
1499
+ copy.set(new Uint8Array(value.buffer, value.byteOffset, value.byteLength));
1500
+ return copy.buffer;
1501
+ }
1502
+ return null;
1503
+ }
1504
+ function isPng(buffer) {
1505
+ if (buffer.byteLength < 24) return false;
1506
+ const bytes = new Uint8Array(buffer, 0, PNG_SIGNATURE.length);
1507
+ return PNG_SIGNATURE.every((byte, index) => bytes[index] === byte);
1508
+ }
1509
+ function parseAiImageResult(value) {
1510
+ if (!record2(value) || !exact2(value, ["mimeType", "data", "width", "height", "seed", "model", "durationMs"]))
1511
+ return null;
1512
+ if (value.mimeType !== "image/png") return null;
1513
+ const data = ownedBuffer2(value.data, AI_IMAGE_WIRE_LIMITS.imageBytes);
1514
+ if (!data || !isPng(data)) return null;
1515
+ if (!pixels(value.width) || !pixels(value.height)) return null;
1516
+ if (!count2(value.seed) || !count2(value.durationMs) || !isAiImageModelId(value.model)) return null;
1517
+ return {
1518
+ mimeType: "image/png",
1519
+ data,
1520
+ width: value.width,
1521
+ height: value.height,
1522
+ seed: value.seed,
1523
+ model: value.model,
1524
+ durationMs: value.durationMs
1525
+ };
1526
+ }
1527
+ function parseAiImageProgress(value) {
1528
+ if (!record2(value) || !exact2(value, ["phase", "step", "totalSteps", "secondsPerStep"]))
1529
+ return null;
1530
+ if (value.phase !== "queued" && value.phase !== "loading-model" && value.phase !== "sampling" && value.phase !== "decoding")
1531
+ return null;
1532
+ if (!count2(value.step, 1e6) || !count2(value.totalSteps, 1e6)) return null;
1533
+ if (value.secondsPerStep !== null && !(typeof value.secondsPerStep === "number" && Number.isFinite(value.secondsPerStep) && value.secondsPerStep >= 0 && value.secondsPerStep <= 86400))
1534
+ return null;
1535
+ return {
1536
+ phase: value.phase,
1537
+ step: value.step,
1538
+ totalSteps: value.totalSteps,
1539
+ secondsPerStep: value.secondsPerStep
1540
+ };
1541
+ }
1542
+ function parseAiImageEvent(value) {
1543
+ if (!record2(value)) return null;
1544
+ if (value.kind === "progress") {
1545
+ if (!exact2(value, ["kind", "progress"])) return null;
1546
+ const progress = parseAiImageProgress(value.progress);
1547
+ return progress ? { kind: "progress", progress } : null;
1548
+ }
1549
+ if (value.kind === "done") {
1550
+ if (!exact2(value, ["kind", "image"])) return null;
1551
+ const image = parseAiImageResult(value.image);
1552
+ return image ? { kind: "done", image } : null;
1553
+ }
1554
+ if (value.kind === "error") {
1555
+ if (!exact2(value, ["kind", "error"])) return null;
1556
+ const error = parseAiError(value.error);
1557
+ return error ? { kind: "error", error } : null;
1558
+ }
1559
+ return null;
1560
+ }
1561
+ function parseAiImageInstallEvent(value) {
1562
+ if (!record2(value)) return null;
1563
+ if (value.kind === "progress") {
1564
+ if (!exact2(value, ["kind", "progress"])) return null;
1565
+ const progress = parseAiProgress(value.progress);
1566
+ return progress ? { kind: "progress", progress } : null;
1567
+ }
1568
+ if (value.kind === "done") {
1569
+ if (!exact2(value, ["kind", "model"])) return null;
1570
+ const model = parseAiImageModel(value.model);
1571
+ return model ? { kind: "done", model } : null;
1572
+ }
1573
+ if (value.kind === "error") {
1574
+ if (!exact2(value, ["kind", "error"])) return null;
1575
+ const error = parseAiError(value.error);
1576
+ return error ? { kind: "error", error } : null;
1577
+ }
1578
+ return null;
1579
+ }
1580
+
1304
1581
  // src/host/index.ts
1305
1582
  function rawHost() {
1306
1583
  if (typeof globalThis === "undefined") return null;
@@ -1382,6 +1659,20 @@ export {
1382
1659
  ELECTRON_FILE_SYSTEM_V2_CAPABILITIES,
1383
1660
  parseAiKnowledgeAction,
1384
1661
  parseAiKnowledgeState,
1662
+ AI_IMAGE_ASPECTS,
1663
+ AI_IMAGE_FIT_VERDICTS,
1664
+ AI_IMAGE_WIRE_LIMITS,
1665
+ isAiImageModelId,
1666
+ isAiImageAspect,
1667
+ parseAiImageAccess,
1668
+ parseAiImageModel,
1669
+ parseAiImageModelList,
1670
+ parseAiImagePreferences,
1671
+ parseAiImagePreferencesPatch,
1672
+ parseAiImageRequest,
1673
+ parseAiImageResult,
1674
+ parseAiImageEvent,
1675
+ parseAiImageInstallEvent,
1385
1676
  hasDocBlocksHost,
1386
1677
  getHostCapabilities,
1387
1678
  hostSupports,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  FILE_SYSTEM_TRANSFER_LIMITS,
3
3
  maybeGetDocBlocksHost
4
- } from "./chunk-RFEB4N5Q.js";
4
+ } from "./chunk-WE5W7BRL.js";
5
5
  import {
6
6
  parseFileSystemCapabilities
7
7
  } from "./chunk-245W57QP.js";
@@ -200,6 +200,8 @@ interface DocumentSessionConflict {
200
200
  targetKey: string;
201
201
  localContent: string;
202
202
  localRevision: number;
203
+ /** Wall-clock time of this session's latest local edit, when it made one. */
204
+ localEditedAt?: number;
203
205
  externalContent: string | null;
204
206
  externalVersion: DocumentExternalVersion;
205
207
  }
@@ -287,6 +289,7 @@ declare class DocumentSession {
287
289
  private frozen;
288
290
  private error;
289
291
  private conflict;
292
+ private localEditedAt;
290
293
  private autoSaveTimer;
291
294
  private autoSaveRetryAttempt;
292
295
  private drainPromise;
@@ -9,7 +9,7 @@ import {
9
9
  DocumentSession,
10
10
  DocumentSessionConflictError,
11
11
  createFileSystemDocumentTarget
12
- } from "../chunk-FIEMYP2N.js";
12
+ } from "../chunk-D7VUEVAX.js";
13
13
  import "../chunk-XAMILHQP.js";
14
14
  import "../chunk-IYKGM3PV.js";
15
15
  import "../chunk-UTH3HYCZ.js";
@@ -4,7 +4,7 @@ export { isElectronHost } from '../host/index.js';
4
4
  import '../v2-DwxWjFC0.js';
5
5
  import '../workspace-path-CWVrcuPL.js';
6
6
  import '../filesystem-v2-CXdAPR27.js';
7
- import '../capabilities-D4Z1xYZV.js';
7
+ import '../capabilities-CH66e2pR.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-66WTIYYG.js";
5
- import "../chunk-NECMAJHS.js";
4
+ } from "../chunk-LP6JHGBP.js";
5
+ import "../chunk-ZBRXXOW5.js";
6
6
  import {
7
7
  isElectronHost
8
- } from "../chunk-RFEB4N5Q.js";
8
+ } from "../chunk-WE5W7BRL.js";
9
9
  import "../chunk-245W57QP.js";
10
10
  import "../chunk-V5SWLUZY.js";
11
11
  import "../chunk-73OOROXH.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  HostFileSystemProviderV2
3
- } from "../chunk-NECMAJHS.js";
3
+ } from "../chunk-ZBRXXOW5.js";
4
4
  import {
5
5
  ELECTRON_FILE_SYSTEM_V2_CAPABILITIES,
6
6
  maybeGetDocBlocksHost
7
- } from "../chunk-RFEB4N5Q.js";
7
+ } from "../chunk-WE5W7BRL.js";
8
8
  import "../chunk-245W57QP.js";
9
9
  import "../chunk-V5SWLUZY.js";
10
10
  import "../chunk-73OOROXH.js";
@@ -15,7 +15,7 @@ export { ElectronFileSystemProvider, ElectronFileSystemProviderV2 } from './elec
15
15
  export { isElectronHost } from '../host/index.js';
16
16
  import '../host-provider-v2-DEWMPiRD.js';
17
17
  import '../filesystem-v2-CXdAPR27.js';
18
- import '../capabilities-D4Z1xYZV.js';
18
+ import '../capabilities-CH66e2pR.js';
19
19
 
20
20
  /** Immediate article/folder suggestions from an already bounded listing. */
21
21
  declare function suggestWikiArticles(files: readonly {
@@ -14,7 +14,7 @@ import {
14
14
  rewriteCompanionReferences,
15
15
  suggestWikiArticles,
16
16
  wikiArticleExists
17
- } from "../chunk-5VEIEFFC.js";
17
+ } from "../chunk-CI3DHDPG.js";
18
18
  import {
19
19
  MARKDOWN_FILE_EXTENSIONS,
20
20
  SQUISQ_RUNTIME_DIRECTORY_NAME,
@@ -50,11 +50,11 @@ import "../chunk-3GSMJ4MQ.js";
50
50
  import {
51
51
  ElectronFileSystemProvider,
52
52
  ElectronFileSystemProviderV2
53
- } from "../chunk-66WTIYYG.js";
54
- import "../chunk-NECMAJHS.js";
53
+ } from "../chunk-LP6JHGBP.js";
54
+ import "../chunk-ZBRXXOW5.js";
55
55
  import {
56
56
  isElectronHost
57
- } from "../chunk-RFEB4N5Q.js";
57
+ } from "../chunk-WE5W7BRL.js";
58
58
  import "../chunk-245W57QP.js";
59
59
  import "../chunk-V5SWLUZY.js";
60
60
  import "../chunk-73OOROXH.js";
@@ -71,7 +71,7 @@ import {
71
71
  isFileSystemMoveRecoveryError,
72
72
  isFileSystemMoveStateError,
73
73
  isFileSystemPartialMoveError
74
- } from "../chunk-FIEMYP2N.js";
74
+ } from "../chunk-D7VUEVAX.js";
75
75
  import {
76
76
  getFileSystemProviderV2,
77
77
  hasFileSystemProviderV2
@@ -1,5 +1,5 @@
1
- import { a as AiChatEvent, d as AiChatKnowledge, g as AiChatProgress, i as AiChatRequest, l as AiError, n as AiFactCheck, o as AiFactCheckRequest, w as AiModelDownloadInfo, y as AiModelInfo, z as AiModelInstallEvent, C as AiPreferences, D as AiPreferencesPatch, E as AiProgress, N as AiStatus, aA as SpeechAudioChunk, aB as SpeechCatalog, aC as SpeechError, aE as SpeechInstallEvent, aG as SpeechModelInfo, aH as SpeechModelKind, aN as SpeechResult, aI as SpeechPreferences, aJ as SpeechPreferencesPatch, aK as SpeechProgress, aL as SpeechReadiness, aP as SpeechStatus, aR as SpeechSynthesisSummary, aS as SpeechSynthesizeEvent, aT as SpeechSynthesizeRequest, aU as SpeechTranscribeRequest, aV as SpeechTranscript, aW as SpeechVoiceInfo, az as OpenRequest, as as HostPinnedDocument, S as DocBlocksHostAPI, ao as HostCapabilities, aq as HostEnvironment } from '../capabilities-D4Z1xYZV.js';
2
- export { A as AiChatCompletion, b as AiChatEvidence, c as AiChatHandle, e as AiChatKnowledgeSource, f as AiChatMessage, h as AiChatPurpose, j as AiConnectionStep, k as AiEnsureWorkspaceHandle, m as AiErrorCode, p as AiFactCheckSentence, q as AiImageRequest, r as AiImageResult, s as AiKnowledgeAPI, t as AiKnowledgeAction, u as AiKnowledgeCatalog, v as AiKnowledgeState, x as AiModelFit, B as AiModelInstallHandle, F as AiProviderInfo, G as AiResponseFormat, H as AiResult, I as AiReviewMode, J as AiSearchHit, K as AiSearchQuery, L as AiSearchResult, M as AiSpeechAudio, O as AiSynthesizeRequest, P as AiTranscribeRequest, Q as AiTranscript, R as AiUnavailableReason, T as DocBlocksHostAiAPI, U as DocBlocksHostClipboardAPI, V as DocBlocksHostExportAPI, W as DocBlocksHostExternalAPI, X as DocBlocksHostFfmpegAPI, Y as DocBlocksHostFsAPI, Z as DocBlocksHostGitAPI, _ as DocBlocksHostLifecycleAPI, $ as DocBlocksHostMenuAPI, a0 as DocBlocksHostShellAPI, a1 as DocBlocksHostSpeechAPI, a2 as DocBlocksHostUpdaterAPI, a3 as DocBlocksHostWorkspacesAPI, a4 as ElectronWorkspaceInfo, a5 as ExternalBinaryCommitResult, a6 as GitBranchInfo, a7 as GitCapabilities, a8 as GitCloneHandle, a9 as GitCloneProgress, aa as GitError, ab as GitErrorCode, ac as GitFileAtRevision, ad as GitFileChange, ae as GitFileStatusCode, af as GitLogEntry, ag as GitLogOptions, ah as GitRemoteInfo, ai as GitRepoDetection, aj as GitResult, ak as GitRevision, al as GitStatus, am as HOST_PLATFORMS, an as HOST_SURFACE_KINDS, ap as HostCloseReason, ar as HostExportTargetGrant, at as HostPlatform, au as HostPrepareCloseRequest, av as HostPrepareCloseResult, aw as HostSurfaceKind, ax as MenuCommand, ay as NO_HOST_CAPABILITIES, aD as SpeechErrorCode, aF as SpeechInstallHandle, aM as SpeechReadinessState, aO as SpeechSegment, aQ as SpeechSynthesisHandle, aX as SpeechWordTiming, aY as UpdateCheckResult, aZ as UpdateInstallResult, a_ as UpdaterStatus, a$ as deriveHostCapabilities, b0 as parseAiKnowledgeAction, b1 as parseAiKnowledgeState, b2 as parseHostEnvironment } from '../capabilities-D4Z1xYZV.js';
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
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
4
  import '../types-DLteNrK0.js';
5
5
  import '../v2-DwxWjFC0.js';
@@ -87,6 +87,7 @@ declare const SPEECH_WIRE_LIMITS: Readonly<{
87
87
  languageCharacters: 16;
88
88
  transcriptCharacters: number;
89
89
  segmentEntries: 4096;
90
+ segmentWordEntries: 1024;
90
91
  synthesizeTextCharacters: 20000;
91
92
  chunkPcmBytes: number;
92
93
  chunkWordEntries: 1024;
@@ -1,4 +1,7 @@
1
1
  import {
2
+ AI_IMAGE_ASPECTS,
3
+ AI_IMAGE_FIT_VERDICTS,
4
+ AI_IMAGE_WIRE_LIMITS,
2
5
  AI_WIRE_LIMITS,
3
6
  ELECTRON_FILE_SYSTEM_V2_CAPABILITIES,
4
7
  FILE_SYSTEM_TRANSFER_LIMITS,
@@ -12,6 +15,8 @@ import {
12
15
  getHostEnvironment,
13
16
  hasDocBlocksHost,
14
17
  hostSupports,
18
+ isAiImageAspect,
19
+ isAiImageModelId,
15
20
  isElectronHost,
16
21
  isSpeechModelId,
17
22
  maybeGetDocBlocksHost,
@@ -22,6 +27,15 @@ import {
22
27
  parseAiError,
23
28
  parseAiFactCheck,
24
29
  parseAiFactCheckRequest,
30
+ parseAiImageAccess,
31
+ parseAiImageEvent,
32
+ parseAiImageInstallEvent,
33
+ parseAiImageModel,
34
+ parseAiImageModelList,
35
+ parseAiImagePreferences,
36
+ parseAiImagePreferencesPatch,
37
+ parseAiImageRequest,
38
+ parseAiImageResult,
25
39
  parseAiKnowledgeAction,
26
40
  parseAiKnowledgeState,
27
41
  parseAiModelDownloadInfo,
@@ -53,7 +67,7 @@ import {
53
67
  parseSpeechTranscribeRequest,
54
68
  parseSpeechTranscript,
55
69
  parseSpeechVoiceInfo
56
- } from "../chunk-RFEB4N5Q.js";
70
+ } from "../chunk-WE5W7BRL.js";
57
71
  import {
58
72
  EXPORT_TRANSFER_LIMITS,
59
73
  HOST_WIRE_LIMITS,
@@ -69,6 +83,9 @@ import {
69
83
  parseSupportMailtoUrl
70
84
  } from "../chunk-V5SWLUZY.js";
71
85
  export {
86
+ AI_IMAGE_ASPECTS,
87
+ AI_IMAGE_FIT_VERDICTS,
88
+ AI_IMAGE_WIRE_LIMITS,
72
89
  AI_WIRE_LIMITS,
73
90
  ELECTRON_FILE_SYSTEM_V2_CAPABILITIES,
74
91
  EXPORT_TRANSFER_LIMITS,
@@ -86,6 +103,8 @@ export {
86
103
  getHostEnvironment,
87
104
  hasDocBlocksHost,
88
105
  hostSupports,
106
+ isAiImageAspect,
107
+ isAiImageModelId,
89
108
  isBoundedBytePayload,
90
109
  isBoundedString,
91
110
  isElectronHost,
@@ -99,6 +118,15 @@ export {
99
118
  parseAiError,
100
119
  parseAiFactCheck,
101
120
  parseAiFactCheckRequest,
121
+ parseAiImageAccess,
122
+ parseAiImageEvent,
123
+ parseAiImageInstallEvent,
124
+ parseAiImageModel,
125
+ parseAiImageModelList,
126
+ parseAiImagePreferences,
127
+ parseAiImagePreferencesPatch,
128
+ parseAiImageRequest,
129
+ parseAiImageResult,
102
130
  parseAiKnowledgeAction,
103
131
  parseAiKnowledgeState,
104
132
  parseAiModelDownloadInfo,
package/dist/index.d.ts CHANGED
@@ -7,10 +7,10 @@ export { IndexedDBContentContainer, IndexedDBFileSystemProvider, IndexedDBFileSy
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-DuwLsuic.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';
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 AiChatCompletion, a as AiChatEvent, b as AiChatEvidence, c as AiChatHandle, d as AiChatKnowledge, e as AiChatKnowledgeSource, f as AiChatMessage, g as AiChatProgress, h as AiChatPurpose, i as AiChatRequest, j as AiConnectionStep, k as AiEnsureWorkspaceHandle, l as AiError, m as AiErrorCode, n as AiFactCheck, o as AiFactCheckRequest, p as AiFactCheckSentence, q as AiImageRequest, r as AiImageResult, s as AiKnowledgeAPI, t as AiKnowledgeAction, u as AiKnowledgeCatalog, v as AiKnowledgeState, w as AiModelDownloadInfo, x as AiModelFit, y as AiModelInfo, z as AiModelInstallEvent, B as AiModelInstallHandle, C as AiPreferences, D as AiPreferencesPatch, E as AiProgress, F as AiProviderInfo, G as AiResponseFormat, H as AiResult, I as AiReviewMode, J as AiSearchHit, K as AiSearchQuery, L as AiSearchResult, M as AiSpeechAudio, N as AiStatus, O as AiSynthesizeRequest, P as AiTranscribeRequest, Q as AiTranscript, R as AiUnavailableReason, S as DocBlocksHostAPI, T as DocBlocksHostAiAPI, U as DocBlocksHostClipboardAPI, V as DocBlocksHostExportAPI, W as DocBlocksHostExternalAPI, X as DocBlocksHostFfmpegAPI, Y as DocBlocksHostFsAPI, Z as DocBlocksHostGitAPI, _ as DocBlocksHostLifecycleAPI, $ as DocBlocksHostMenuAPI, a0 as DocBlocksHostShellAPI, a1 as DocBlocksHostSpeechAPI, a2 as DocBlocksHostUpdaterAPI, a3 as DocBlocksHostWorkspacesAPI, a4 as ElectronWorkspaceInfo, a5 as ExternalBinaryCommitResult, a6 as GitBranchInfo, a7 as GitCapabilities, a8 as GitCloneHandle, a9 as GitCloneProgress, aa as GitError, ab as GitErrorCode, ac as GitFileAtRevision, ad as GitFileChange, ae as GitFileStatusCode, af as GitLogEntry, ag as GitLogOptions, ah as GitRemoteInfo, ai as GitRepoDetection, aj as GitResult, ak as GitRevision, al as GitStatus, am as HOST_PLATFORMS, an as HOST_SURFACE_KINDS, ao as HostCapabilities, ap as HostCloseReason, aq as HostEnvironment, ar as HostExportTargetGrant, as as HostPinnedDocument, at as HostPlatform, au as HostPrepareCloseRequest, av as HostPrepareCloseResult, aw as HostSurfaceKind, ax as MenuCommand, ay as NO_HOST_CAPABILITIES, az as OpenRequest, aA as SpeechAudioChunk, aB as SpeechCatalog, aC as SpeechError, aD as SpeechErrorCode, aE as SpeechInstallEvent, aF as SpeechInstallHandle, aG as SpeechModelInfo, aH as SpeechModelKind, aI as SpeechPreferences, aJ as SpeechPreferencesPatch, aK as SpeechProgress, aL as SpeechReadiness, aM as SpeechReadinessState, aN as SpeechResult, aO as SpeechSegment, aP as SpeechStatus, aQ as SpeechSynthesisHandle, aR as SpeechSynthesisSummary, aS as SpeechSynthesizeEvent, aT as SpeechSynthesizeRequest, aU as SpeechTranscribeRequest, aV as SpeechTranscript, aW as SpeechVoiceInfo, aX as SpeechWordTiming, aY as UpdateCheckResult, aZ as UpdateInstallResult, a_ as UpdaterStatus, a$ as deriveHostCapabilities, b0 as parseAiKnowledgeAction, b1 as parseAiKnowledgeState, b2 as parseHostEnvironment } from './capabilities-D4Z1xYZV.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
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';
15
15
  import '@bendyline/squisq/markdown';
16
16
  import '@bendyline/squisq/storage';