@bendyline/docblocks 2.7.4 → 2.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,7 +6,7 @@ Run `npm run generate:notices` from the repository root.
6
6
  Resolved runtime and optional dependency closure declared by packages/core/package.json.
7
7
 
8
8
  Inventory source: package-lock.json.
9
- Components: 112.
9
+ Components: 113.
10
10
 
11
11
  This notice is included in the published npm tarball. Transitive packages installed by npm also retain their package-local license files.
12
12
 
@@ -14,7 +14,8 @@ 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.12.5 | MIT | https://github.com/bendyline/squisq |
17
+ | @bendyline/squisq | 2.13.0 | MIT | https://github.com/bendyline/squisq |
18
+ | @bendyline/squisq-graph | 2.13.0 | MIT | https://github.com/bendyline/squisq |
18
19
  | @types/debug | 4.1.12 | MIT | https://github.com/DefinitelyTyped/DefinitelyTyped |
19
20
  | @types/hast | 3.0.4 | MIT | https://github.com/DefinitelyTyped/DefinitelyTyped |
20
21
  | @types/katex | 0.16.8 | MIT | https://github.com/DefinitelyTyped/DefinitelyTyped |
@@ -132,8 +133,8 @@ This notice is included in the published npm tarball. Transitive packages instal
132
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.
133
134
 
134
135
  ==============================================================================
135
- Components: @bendyline/squisq@2.12.5
136
- Source files: node_modules/@bendyline/squisq/LICENSE
136
+ Components: @bendyline/squisq-graph@2.13.0, @bendyline/squisq@2.13.0
137
+ Source files: node_modules/@bendyline/squisq-graph/LICENSE, node_modules/@bendyline/squisq/LICENSE
137
138
  ==============================================================================
138
139
  MIT License
139
140
 
@@ -158,7 +159,37 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
158
159
  SOFTWARE.
159
160
 
160
161
  ==============================================================================
161
- Components: @bendyline/squisq@2.12.5
162
+ Components: @bendyline/squisq-graph@2.13.0
163
+ Source files: node_modules/@bendyline/squisq-graph/NOTICE.md
164
+ ==============================================================================
165
+ # Third-Party Notices for @bendyline/squisq-graph
166
+
167
+ This notice applies to the `@bendyline/squisq-graph` npm package.
168
+ Squisq-authored code is licensed under the MIT license in `LICENSE`.
169
+ Third-party components remain under their respective license terms.
170
+
171
+ ## Runtime dependencies
172
+
173
+ | Package | Version | License | Repository |
174
+ | ------- | ------- | ------- | ---------- |
175
+
176
+ This package has no third-party runtime dependencies. The layout engine and its
177
+ worker entry are Squisq-authored (MIT).
178
+
179
+ ==============================================================================
180
+ Components: @bendyline/squisq-graph@2.13.0
181
+ Source files: node_modules/@bendyline/squisq-graph/THIRD_PARTY_LICENSES.txt
182
+ ==============================================================================
183
+ THIRD-PARTY LICENSES FOR @bendyline/squisq-graph
184
+
185
+ Generated from the actual esbuild input graph. Package-local license, copying,
186
+ and notice files are reproduced verbatim. When an npm tarball omits its
187
+ repository license, the pinned upstream copy is vendored and identified below.
188
+
189
+ COMPONENTS
190
+
191
+ ==============================================================================
192
+ Components: @bendyline/squisq@2.13.0
162
193
  Source files: node_modules/@bendyline/squisq/NOTICE.md
163
194
  ==============================================================================
164
195
  # Third-Party Notices for @bendyline/squisq
@@ -189,7 +220,7 @@ third-party license texts for bundled code and data are shipped in
189
220
  THIRD_PARTY_LICENSES.txt.
190
221
 
191
222
  ==============================================================================
192
- Components: @bendyline/squisq@2.12.5
223
+ Components: @bendyline/squisq@2.13.0
193
224
  Source files: node_modules/@bendyline/squisq/THIRD_PARTY_LICENSES.txt
194
225
  ==============================================================================
195
226
  THIRD-PARTY LICENSES FOR @bendyline/squisq
@@ -195,6 +195,18 @@ interface AiChatMessage {
195
195
  * and flashcards, made in many small calls with explicit caps) never does.
196
196
  */
197
197
  type AiChatPurpose = 'write' | 'review' | 'illustrate' | 'study' | 'chat';
198
+ /**
199
+ * Structured output: the reply should be one JSON value matching `schema`, a
200
+ * JSON Schema object. Hosts that can enforce it do (llama.cpp with a grammar,
201
+ * Apple's on-device model with guided generation); others ignore it. Callers
202
+ * still validate the reply.
203
+ */
204
+ interface AiResponseFormat {
205
+ readonly type: 'json_schema';
206
+ /** A short identifier for the shape, such as `presentation_slide`. */
207
+ readonly name: string;
208
+ readonly schema: Readonly<Record<string, unknown>>;
209
+ }
198
210
  interface AiChatRequest {
199
211
  readonly messages: readonly AiChatMessage[];
200
212
  /** Opaque provider model id. Omitted means "the host's current choice". */
@@ -203,6 +215,7 @@ interface AiChatRequest {
203
215
  /** Optional caller cap. Writing without one uses the host/model's available capacity. */
204
216
  readonly maxTokens?: number;
205
217
  readonly purpose: AiChatPurpose;
218
+ readonly responseFormat?: AiResponseFormat;
206
219
  }
207
220
  interface AiChatCompletion {
208
221
  readonly text: string;
@@ -1003,6 +1016,14 @@ interface DocBlocksHostMenuAPI {
1003
1016
  * previously published list; send an empty array to clear the shortcuts.
1004
1017
  */
1005
1018
  setPinnedDocuments(documents: readonly HostPinnedDocument[]): void;
1019
+ /**
1020
+ * Whether DocBlocks keeps an icon in the macOS menu bar, the Windows
1021
+ * notification area, or the Linux system tray. Off until the user turns it
1022
+ * on. Absent on a host without one.
1023
+ */
1024
+ getTrayEnabled?(): Promise<boolean>;
1025
+ /** Show or remove the tray icon, remembered across launches; resolves with the saved value. */
1026
+ setTrayEnabled?(enabled: boolean): Promise<boolean>;
1006
1027
  }
1007
1028
  /**
1008
1029
  * OS open-file / deep-link event resolved by the host.
@@ -1195,6 +1216,8 @@ interface HostCapabilities {
1195
1216
  readonly openRequests: boolean;
1196
1217
  readonly menuCommands: boolean;
1197
1218
  readonly pinnedDocumentMirror: boolean;
1219
+ /** An opt-in tray / menu bar icon the user can turn on and off. */
1220
+ readonly trayIcon: boolean;
1198
1221
  readonly guardedClose: boolean;
1199
1222
  readonly git: boolean;
1200
1223
  readonly updater: boolean;
@@ -1253,4 +1276,4 @@ declare function parseHostEnvironment(value: unknown): HostEnvironment | null;
1253
1276
  */
1254
1277
  declare function deriveHostCapabilities(host: unknown): HostCapabilities;
1255
1278
 
1256
- export { type GitBranchInfo as $, type AiChatCompletion as A, type AiReviewMode as B, type AiSearchHit as C, type AiSearchQuery as D, type AiSearchResult as E, type AiSpeechAudio as F, type AiStatus as G, type AiSynthesizeRequest as H, type AiTranscribeRequest as I, type AiTranscript as J, type AiUnavailableReason as K, type DocBlocksHostAPI as L, type DocBlocksHostAiAPI as M, type DocBlocksHostClipboardAPI as N, type DocBlocksHostExportAPI as O, type DocBlocksHostExternalAPI as P, type DocBlocksHostFfmpegAPI as Q, type DocBlocksHostFsAPI as R, type DocBlocksHostGitAPI as S, type DocBlocksHostLifecycleAPI as T, type DocBlocksHostMenuAPI as U, type DocBlocksHostShellAPI as V, type DocBlocksHostSpeechAPI as W, type DocBlocksHostUpdaterAPI as X, type DocBlocksHostWorkspacesAPI as Y, type ElectronWorkspaceInfo as Z, type ExternalBinaryCommitResult as _, type AiChatEvent as a, type GitCapabilities as a0, type GitCloneHandle as a1, type GitCloneProgress as a2, type GitError as a3, type GitErrorCode as a4, type GitFileAtRevision as a5, type GitFileChange as a6, type GitFileStatusCode as a7, type GitLogEntry as a8, type GitLogOptions as a9, type SpeechModelKind as aA, type SpeechPreferences as aB, type SpeechPreferencesPatch as aC, type SpeechProgress as aD, type SpeechReadiness as aE, type SpeechReadinessState as aF, type SpeechResult as aG, type SpeechSegment as aH, type SpeechStatus as aI, type SpeechSynthesisHandle as aJ, type SpeechSynthesisSummary as aK, type SpeechSynthesizeEvent as aL, type SpeechSynthesizeRequest as aM, type SpeechTranscribeRequest as aN, type SpeechTranscript as aO, type SpeechVoiceInfo as aP, type SpeechWordTiming as aQ, type UpdateCheckResult as aR, type UpdateInstallResult as aS, type UpdaterStatus as aT, deriveHostCapabilities as aU, parseAiKnowledgeAction as aV, parseAiKnowledgeState as aW, parseHostEnvironment as aX, 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 AiChatHandle as b, type AiChatMessage as c, type AiChatProgress as d, type AiChatPurpose as e, type AiChatRequest as f, type AiConnectionStep as g, type AiEnsureWorkspaceHandle as h, type AiError as i, type AiErrorCode as j, type AiImageRequest as k, type AiImageResult as l, type AiKnowledgeAPI as m, type AiKnowledgeAction as n, type AiKnowledgeCatalog 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 AiResult as z };
1279
+ export { type ExternalBinaryCommitResult as $, type AiChatCompletion as A, type AiResult as B, type AiReviewMode as C, type AiSearchHit as D, type AiSearchQuery as E, type AiSearchResult as F, type AiSpeechAudio as G, type AiStatus as H, type AiSynthesizeRequest as I, type AiTranscribeRequest as J, type AiTranscript as K, type AiUnavailableReason as L, type DocBlocksHostAPI as M, type DocBlocksHostAiAPI as N, type DocBlocksHostClipboardAPI as O, type DocBlocksHostExportAPI as P, type DocBlocksHostExternalAPI as Q, type DocBlocksHostFfmpegAPI as R, type DocBlocksHostFsAPI as S, type DocBlocksHostGitAPI as T, type DocBlocksHostLifecycleAPI as U, type DocBlocksHostMenuAPI as V, type DocBlocksHostShellAPI as W, type DocBlocksHostSpeechAPI as X, type DocBlocksHostUpdaterAPI as Y, type DocBlocksHostWorkspacesAPI as Z, type ElectronWorkspaceInfo as _, type AiChatEvent as a, type GitBranchInfo as a0, type GitCapabilities as a1, type GitCloneHandle as a2, type GitCloneProgress as a3, type GitError as a4, type GitErrorCode as a5, type GitFileAtRevision as a6, type GitFileChange as a7, type GitFileStatusCode as a8, type GitLogEntry as a9, type SpeechModelInfo as aA, type SpeechModelKind as aB, type SpeechPreferences as aC, type SpeechPreferencesPatch as aD, type SpeechProgress as aE, type SpeechReadiness as aF, type SpeechReadinessState as aG, type SpeechResult as aH, type SpeechSegment as aI, type SpeechStatus as aJ, type SpeechSynthesisHandle as aK, type SpeechSynthesisSummary as aL, type SpeechSynthesizeEvent as aM, type SpeechSynthesizeRequest as aN, type SpeechTranscribeRequest as aO, type SpeechTranscript as aP, type SpeechVoiceInfo as aQ, type SpeechWordTiming as aR, type UpdateCheckResult as aS, type UpdateInstallResult as aT, type UpdaterStatus as aU, deriveHostCapabilities as aV, parseAiKnowledgeAction as aW, parseAiKnowledgeState as aX, parseHostEnvironment as aY, type GitLogOptions as aa, type GitRemoteInfo as ab, type GitRepoDetection as ac, type GitResult as ad, type GitRevision as ae, type GitStatus as af, HOST_PLATFORMS as ag, HOST_SURFACE_KINDS as ah, type HostCapabilities as ai, type HostCloseReason as aj, type HostEnvironment as ak, type HostExportTargetGrant as al, type HostPinnedDocument as am, type HostPlatform as an, type HostPrepareCloseRequest as ao, type HostPrepareCloseResult as ap, type HostSurfaceKind as aq, type MenuCommand as ar, NO_HOST_CAPABILITIES as as, type OpenRequest as at, type SpeechAudioChunk as au, type SpeechCatalog as av, type SpeechError as aw, type SpeechErrorCode as ax, type SpeechInstallEvent as ay, type SpeechInstallHandle as az, type AiChatHandle as b, type AiChatMessage as c, type AiChatProgress as d, type AiChatPurpose as e, type AiChatRequest as f, type AiConnectionStep as g, type AiEnsureWorkspaceHandle as h, type AiError as i, type AiErrorCode as j, type AiImageRequest as k, type AiImageResult as l, type AiKnowledgeAPI as m, type AiKnowledgeAction as n, type AiKnowledgeCatalog 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 };
@@ -32,6 +32,7 @@ var NO_CAPABILITIES = Object.freeze({
32
32
  openRequests: false,
33
33
  menuCommands: false,
34
34
  pinnedDocumentMirror: false,
35
+ trayIcon: false,
35
36
  guardedClose: false,
36
37
  git: false,
37
38
  updater: false,
@@ -109,6 +110,7 @@ function deriveHostCapabilities(host) {
109
110
  openRequests: hasMethod(host, "onOpenRequest"),
110
111
  menuCommands: hasMethod(host, "onMenuCommand"),
111
112
  pinnedDocumentMirror: hasMethod(host.menu, "setPinnedDocuments"),
113
+ trayIcon: hasMethod(host.menu, "getTrayEnabled") && hasMethod(host.menu, "setTrayEnabled"),
112
114
  guardedClose: hasMethod(host.lifecycle, "onPrepareClose"),
113
115
  git: hasMethod(host.git, "status"),
114
116
  updater: hasMethod(host.updater, "checkForUpdates"),
@@ -143,6 +145,8 @@ var AI_WIRE_LIMITS = Object.freeze({
143
145
  completionCharacters: HOST_WIRE_LIMITS.documentCharacters,
144
146
  maxTokensCeiling: 32768,
145
147
  temperatureCeiling: 2,
148
+ /** A response schema describes a reply's shape; it is not another prompt. */
149
+ responseSchemaCharacters: 16 * 1024,
146
150
  verificationCodeCharacters: 16,
147
151
  progressPhaseCharacters: 64,
148
152
  modelEntries: 200,
@@ -365,9 +369,33 @@ function parseAiChatMessage(value) {
365
369
  if (!isBoundedString(value.content, AI_WIRE_LIMITS.promptCharacters)) return null;
366
370
  return { role: value.role, content: value.content };
367
371
  }
372
+ var RESPONSE_FORMAT_NAME = /^[A-Za-z0-9_-]{1,64}$/u;
373
+ function parseAiResponseFormat(value) {
374
+ if (!isRecord2(value)) return null;
375
+ if (!hasExactKeys(value, ["type", "name", "schema"])) return null;
376
+ if (value.type !== "json_schema") return null;
377
+ if (typeof value.name !== "string" || !RESPONSE_FORMAT_NAME.test(value.name)) return null;
378
+ if (!isRecord2(value.schema)) return null;
379
+ let serialized;
380
+ try {
381
+ serialized = JSON.stringify(value.schema);
382
+ } catch {
383
+ return null;
384
+ }
385
+ if (serialized.length > AI_WIRE_LIMITS.responseSchemaCharacters) return null;
386
+ return {
387
+ type: "json_schema",
388
+ name: value.name,
389
+ schema: JSON.parse(serialized)
390
+ };
391
+ }
368
392
  function parseAiChatRequest(value) {
369
393
  if (!isRecord2(value)) return null;
370
- if (!hasKeysWithin(value, ["messages", "purpose"], ["model", "temperature", "maxTokens"])) {
394
+ if (!hasKeysWithin(
395
+ value,
396
+ ["messages", "purpose"],
397
+ ["model", "temperature", "maxTokens", "responseFormat"]
398
+ )) {
371
399
  return null;
372
400
  }
373
401
  if (typeof value.purpose !== "string" || !CHAT_PURPOSES.has(value.purpose)) return null;
@@ -392,12 +420,15 @@ function parseAiChatRequest(value) {
392
420
  if (value.maxTokens !== void 0 && !isNonNegativeInteger(value.maxTokens, AI_WIRE_LIMITS.maxTokensCeiling)) {
393
421
  return null;
394
422
  }
423
+ const responseFormat = value.responseFormat === void 0 ? void 0 : parseAiResponseFormat(value.responseFormat);
424
+ if (responseFormat === null) return null;
395
425
  return {
396
426
  messages,
397
427
  purpose: value.purpose,
398
428
  ...value.model === void 0 ? {} : { model: value.model },
399
429
  ...value.temperature === void 0 ? {} : { temperature: value.temperature },
400
- ...value.maxTokens === void 0 ? {} : { maxTokens: value.maxTokens }
430
+ ...value.maxTokens === void 0 ? {} : { maxTokens: value.maxTokens },
431
+ ...responseFormat === void 0 ? {} : { responseFormat }
401
432
  };
402
433
  }
403
434
  function parseAiChatProgress(value) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  FILE_SYSTEM_TRANSFER_LIMITS,
3
3
  maybeGetDocBlocksHost
4
- } from "./chunk-KXQDMZFH.js";
4
+ } from "./chunk-64733GFL.js";
5
5
  import {
6
6
  parseFileSystemCapabilities
7
7
  } from "./chunk-245W57QP.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  HostFileSystemProviderV2
3
- } from "./chunk-7LPIGCBG.js";
3
+ } from "./chunk-EFGQUOTL.js";
4
4
  import {
5
5
  ELECTRON_FILE_SYSTEM_V2_CAPABILITIES,
6
6
  maybeGetDocBlocksHost
7
- } from "./chunk-KXQDMZFH.js";
7
+ } from "./chunk-64733GFL.js";
8
8
 
9
9
  // src/filesystem/electron-provider-v2.ts
10
10
  var ElectronFileSystemProviderV2 = class extends HostFileSystemProviderV2 {
@@ -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-BJEkIsO1.js';
7
+ import '../capabilities-DHwh4P4D.js';
8
8
 
9
9
  /** Compatibility entry point retaining the Electron backend's exact guarantees. */
10
10
  declare class ElectronFileSystemProviderV2 extends HostFileSystemProviderV2 {
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  ElectronFileSystemProvider,
3
3
  ElectronFileSystemProviderV2
4
- } from "../chunk-PSGAZKWO.js";
5
- import "../chunk-7LPIGCBG.js";
4
+ } from "../chunk-P32NVUQL.js";
5
+ import "../chunk-EFGQUOTL.js";
6
6
  import {
7
7
  isElectronHost
8
- } from "../chunk-KXQDMZFH.js";
8
+ } from "../chunk-64733GFL.js";
9
9
  import "../chunk-245W57QP.js";
10
10
  import "../chunk-46AGYHDY.js";
11
11
  import "../chunk-73OOROXH.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  HostFileSystemProviderV2
3
- } from "../chunk-7LPIGCBG.js";
3
+ } from "../chunk-EFGQUOTL.js";
4
4
  import {
5
5
  ELECTRON_FILE_SYSTEM_V2_CAPABILITIES,
6
6
  maybeGetDocBlocksHost
7
- } from "../chunk-KXQDMZFH.js";
7
+ } from "../chunk-64733GFL.js";
8
8
  import "../chunk-245W57QP.js";
9
9
  import "../chunk-46AGYHDY.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-BJEkIsO1.js';
18
+ import '../capabilities-DHwh4P4D.js';
19
19
 
20
20
  /** Immediate article/folder suggestions from an already bounded listing. */
21
21
  declare function suggestWikiArticles(files: readonly {
@@ -48,11 +48,11 @@ import "../chunk-3GSMJ4MQ.js";
48
48
  import {
49
49
  ElectronFileSystemProvider,
50
50
  ElectronFileSystemProviderV2
51
- } from "../chunk-PSGAZKWO.js";
52
- import "../chunk-7LPIGCBG.js";
51
+ } from "../chunk-P32NVUQL.js";
52
+ import "../chunk-EFGQUOTL.js";
53
53
  import {
54
54
  isElectronHost
55
- } from "../chunk-KXQDMZFH.js";
55
+ } from "../chunk-64733GFL.js";
56
56
  import "../chunk-245W57QP.js";
57
57
  import "../chunk-46AGYHDY.js";
58
58
  import "../chunk-73OOROXH.js";
@@ -1,5 +1,5 @@
1
- import { a as AiChatEvent, d as AiChatProgress, f as AiChatRequest, i as AiError, q as AiModelDownloadInfo, s as AiModelInfo, t as AiModelInstallEvent, v as AiPreferences, w as AiPreferencesPatch, x as AiProgress, G as AiStatus, at as SpeechAudioChunk, au as SpeechCatalog, av as SpeechError, ax as SpeechInstallEvent, az as SpeechModelInfo, aA as SpeechModelKind, aG as SpeechResult, aB as SpeechPreferences, aC as SpeechPreferencesPatch, aD as SpeechProgress, aE as SpeechReadiness, aI as SpeechStatus, aK as SpeechSynthesisSummary, aL as SpeechSynthesizeEvent, aM as SpeechSynthesizeRequest, aN as SpeechTranscribeRequest, aO as SpeechTranscript, aP as SpeechVoiceInfo, as as OpenRequest, al as HostPinnedDocument, L as DocBlocksHostAPI, ah as HostCapabilities, aj as HostEnvironment } from '../capabilities-BJEkIsO1.js';
2
- export { A as AiChatCompletion, b as AiChatHandle, c as AiChatMessage, e as AiChatPurpose, g as AiConnectionStep, h as AiEnsureWorkspaceHandle, j as AiErrorCode, k as AiImageRequest, l as AiImageResult, m as AiKnowledgeAPI, n as AiKnowledgeAction, o as AiKnowledgeCatalog, p as AiKnowledgeState, r as AiModelFit, u as AiModelInstallHandle, y as AiProviderInfo, z as AiResult, B as AiReviewMode, C as AiSearchHit, D as AiSearchQuery, E as AiSearchResult, F as AiSpeechAudio, H as AiSynthesizeRequest, I as AiTranscribeRequest, J as AiTranscript, K as AiUnavailableReason, M as DocBlocksHostAiAPI, N as DocBlocksHostClipboardAPI, O as DocBlocksHostExportAPI, P as DocBlocksHostExternalAPI, Q as DocBlocksHostFfmpegAPI, R as DocBlocksHostFsAPI, S as DocBlocksHostGitAPI, T as DocBlocksHostLifecycleAPI, U as DocBlocksHostMenuAPI, V as DocBlocksHostShellAPI, W as DocBlocksHostSpeechAPI, X as DocBlocksHostUpdaterAPI, Y as DocBlocksHostWorkspacesAPI, Z as ElectronWorkspaceInfo, _ as ExternalBinaryCommitResult, $ as GitBranchInfo, a0 as GitCapabilities, a1 as GitCloneHandle, a2 as GitCloneProgress, a3 as GitError, a4 as GitErrorCode, a5 as GitFileAtRevision, a6 as GitFileChange, a7 as GitFileStatusCode, a8 as GitLogEntry, a9 as GitLogOptions, aa as GitRemoteInfo, ab as GitRepoDetection, ac as GitResult, ad as GitRevision, ae as GitStatus, af as HOST_PLATFORMS, ag as HOST_SURFACE_KINDS, ai as HostCloseReason, ak as HostExportTargetGrant, am as HostPlatform, an as HostPrepareCloseRequest, ao as HostPrepareCloseResult, ap as HostSurfaceKind, aq as MenuCommand, ar as NO_HOST_CAPABILITIES, aw as SpeechErrorCode, ay as SpeechInstallHandle, aF as SpeechReadinessState, aH as SpeechSegment, aJ as SpeechSynthesisHandle, aQ as SpeechWordTiming, aR as UpdateCheckResult, aS as UpdateInstallResult, aT as UpdaterStatus, aU as deriveHostCapabilities, aV as parseAiKnowledgeAction, aW as parseAiKnowledgeState, aX as parseHostEnvironment } from '../capabilities-BJEkIsO1.js';
1
+ import { a as AiChatEvent, d as AiChatProgress, f as AiChatRequest, i as AiError, q as AiModelDownloadInfo, s as AiModelInfo, t as AiModelInstallEvent, v as AiPreferences, w as AiPreferencesPatch, x as AiProgress, H as AiStatus, au as SpeechAudioChunk, av as SpeechCatalog, aw as SpeechError, ay as SpeechInstallEvent, aA as SpeechModelInfo, aB as SpeechModelKind, aH as SpeechResult, aC as SpeechPreferences, aD as SpeechPreferencesPatch, aE as SpeechProgress, aF as SpeechReadiness, aJ as SpeechStatus, aL as SpeechSynthesisSummary, aM as SpeechSynthesizeEvent, aN as SpeechSynthesizeRequest, aO as SpeechTranscribeRequest, aP as SpeechTranscript, aQ as SpeechVoiceInfo, at as OpenRequest, am as HostPinnedDocument, M as DocBlocksHostAPI, ai as HostCapabilities, ak as HostEnvironment } from '../capabilities-DHwh4P4D.js';
2
+ export { A as AiChatCompletion, b as AiChatHandle, c as AiChatMessage, e as AiChatPurpose, g as AiConnectionStep, h as AiEnsureWorkspaceHandle, j as AiErrorCode, k as AiImageRequest, l as AiImageResult, m as AiKnowledgeAPI, n as AiKnowledgeAction, o as AiKnowledgeCatalog, p as AiKnowledgeState, r as AiModelFit, u as AiModelInstallHandle, y as AiProviderInfo, z as AiResponseFormat, B as AiResult, C as AiReviewMode, D as AiSearchHit, E as AiSearchQuery, F as AiSearchResult, G as AiSpeechAudio, I as AiSynthesizeRequest, J as AiTranscribeRequest, K as AiTranscript, L as AiUnavailableReason, N as DocBlocksHostAiAPI, O as DocBlocksHostClipboardAPI, P as DocBlocksHostExportAPI, Q as DocBlocksHostExternalAPI, R as DocBlocksHostFfmpegAPI, S as DocBlocksHostFsAPI, T as DocBlocksHostGitAPI, U as DocBlocksHostLifecycleAPI, V as DocBlocksHostMenuAPI, W as DocBlocksHostShellAPI, X as DocBlocksHostSpeechAPI, Y as DocBlocksHostUpdaterAPI, Z as DocBlocksHostWorkspacesAPI, _ as ElectronWorkspaceInfo, $ as ExternalBinaryCommitResult, a0 as GitBranchInfo, a1 as GitCapabilities, a2 as GitCloneHandle, a3 as GitCloneProgress, a4 as GitError, a5 as GitErrorCode, a6 as GitFileAtRevision, a7 as GitFileChange, a8 as GitFileStatusCode, a9 as GitLogEntry, aa as GitLogOptions, ab as GitRemoteInfo, ac as GitRepoDetection, ad as GitResult, ae as GitRevision, af as GitStatus, ag as HOST_PLATFORMS, ah as HOST_SURFACE_KINDS, aj as HostCloseReason, al as HostExportTargetGrant, an as HostPlatform, ao as HostPrepareCloseRequest, ap as HostPrepareCloseResult, aq as HostSurfaceKind, ar as MenuCommand, as as NO_HOST_CAPABILITIES, ax as SpeechErrorCode, az as SpeechInstallHandle, aG as SpeechReadinessState, aI as SpeechSegment, aK as SpeechSynthesisHandle, aR as SpeechWordTiming, aS as UpdateCheckResult, aT as UpdateInstallResult, aU as UpdaterStatus, aV as deriveHostCapabilities, aW as parseAiKnowledgeAction, aX as parseAiKnowledgeState, aY as parseHostEnvironment } from '../capabilities-DHwh4P4D.js';
3
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';
@@ -21,6 +21,8 @@ declare const AI_WIRE_LIMITS: Readonly<{
21
21
  completionCharacters: number;
22
22
  maxTokensCeiling: 32768;
23
23
  temperatureCeiling: 2;
24
+ /** A response schema describes a reply's shape; it is not another prompt. */
25
+ responseSchemaCharacters: number;
24
26
  verificationCodeCharacters: 16;
25
27
  progressPhaseCharacters: 64;
26
28
  modelEntries: 200;
@@ -50,7 +50,7 @@ import {
50
50
  parseSpeechTranscribeRequest,
51
51
  parseSpeechTranscript,
52
52
  parseSpeechVoiceInfo
53
- } from "../chunk-KXQDMZFH.js";
53
+ } from "../chunk-64733GFL.js";
54
54
  import {
55
55
  EXPORT_TRANSFER_LIMITS,
56
56
  HOST_WIRE_LIMITS,
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-Bz-iAY_B.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-Ci2lhAdW.js';
11
11
  export { AI_WIRE_LIMITS, EXPORT_TRANSFER_LIMITS, HOST_WIRE_LIMITS, MAX_HOST_PINNED_DOCUMENTS, SPEECH_WIRE_LIMITS, getDocBlocksHost, getHostCapabilities, getHostEnvironment, hasDocBlocksHost, hostSupports, isBoundedBytePayload, isBoundedString, isElectronHost, isSpeechModelId, isTrustedRendererUrl, maybeGetDocBlocksHost, parseAiChatEvent, parseAiChatProgress, parseAiChatRequest, parseAiError, parseAiModelDownloadInfo, parseAiModelDownloadInfoList, parseAiModelInfo, parseAiModelInfoList, parseAiModelInstallEvent, parseAiPreferences, parseAiPreferencesPatch, parseAiProgress, parseAiStatus, parseExternalHttpUrl, parseOpenRequest, parsePinnedMenuDocuments, parseSpeechAudioChunk, parseSpeechCatalog, parseSpeechError, parseSpeechInstallEvent, parseSpeechModelInfo, parseSpeechModelKind, parseSpeechNullResult, parseSpeechPreferences, parseSpeechPreferencesPatch, parseSpeechProgress, parseSpeechReadiness, parseSpeechResult, parseSpeechStatus, parseSpeechSynthesisSummary, parseSpeechSynthesizeEvent, parseSpeechSynthesizeRequest, parseSpeechTranscribeRequest, parseSpeechTranscript, parseSpeechVoiceInfo } 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 AiChatHandle, c as AiChatMessage, d as AiChatProgress, e as AiChatPurpose, f as AiChatRequest, g as AiConnectionStep, h as AiEnsureWorkspaceHandle, i as AiError, j as AiErrorCode, k as AiImageRequest, l as AiImageResult, m as AiKnowledgeAPI, n as AiKnowledgeAction, o as AiKnowledgeCatalog, 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 AiResult, B as AiReviewMode, C as AiSearchHit, D as AiSearchQuery, E as AiSearchResult, F as AiSpeechAudio, G as AiStatus, H as AiSynthesizeRequest, I as AiTranscribeRequest, J as AiTranscript, K as AiUnavailableReason, L as DocBlocksHostAPI, M as DocBlocksHostAiAPI, N as DocBlocksHostClipboardAPI, O as DocBlocksHostExportAPI, P as DocBlocksHostExternalAPI, Q as DocBlocksHostFfmpegAPI, R as DocBlocksHostFsAPI, S as DocBlocksHostGitAPI, T as DocBlocksHostLifecycleAPI, U as DocBlocksHostMenuAPI, V as DocBlocksHostShellAPI, W as DocBlocksHostSpeechAPI, X as DocBlocksHostUpdaterAPI, Y as DocBlocksHostWorkspacesAPI, Z as ElectronWorkspaceInfo, _ as ExternalBinaryCommitResult, $ as GitBranchInfo, a0 as GitCapabilities, a1 as GitCloneHandle, a2 as GitCloneProgress, a3 as GitError, a4 as GitErrorCode, a5 as GitFileAtRevision, a6 as GitFileChange, a7 as GitFileStatusCode, a8 as GitLogEntry, a9 as GitLogOptions, aa as GitRemoteInfo, ab as GitRepoDetection, ac as GitResult, ad as GitRevision, ae as GitStatus, af as HOST_PLATFORMS, ag as HOST_SURFACE_KINDS, 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, aA as SpeechModelKind, aB as SpeechPreferences, aC as SpeechPreferencesPatch, aD as SpeechProgress, aE as SpeechReadiness, aF as SpeechReadinessState, aG as SpeechResult, aH as SpeechSegment, aI as SpeechStatus, aJ as SpeechSynthesisHandle, aK as SpeechSynthesisSummary, aL as SpeechSynthesizeEvent, aM as SpeechSynthesizeRequest, aN as SpeechTranscribeRequest, aO as SpeechTranscript, aP as SpeechVoiceInfo, aQ as SpeechWordTiming, aR as UpdateCheckResult, aS as UpdateInstallResult, aT as UpdaterStatus, aU as deriveHostCapabilities, aV as parseAiKnowledgeAction, aW as parseAiKnowledgeState, aX as parseHostEnvironment } from './capabilities-BJEkIsO1.js';
13
+ export { A as AiChatCompletion, a as AiChatEvent, b as AiChatHandle, c as AiChatMessage, d as AiChatProgress, e as AiChatPurpose, f as AiChatRequest, g as AiConnectionStep, h as AiEnsureWorkspaceHandle, i as AiError, j as AiErrorCode, k as AiImageRequest, l as AiImageResult, m as AiKnowledgeAPI, n as AiKnowledgeAction, o as AiKnowledgeCatalog, 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, B as AiResult, C as AiReviewMode, D as AiSearchHit, E as AiSearchQuery, F as AiSearchResult, G as AiSpeechAudio, H as AiStatus, I as AiSynthesizeRequest, J as AiTranscribeRequest, K as AiTranscript, L as AiUnavailableReason, M as DocBlocksHostAPI, N as DocBlocksHostAiAPI, O as DocBlocksHostClipboardAPI, P as DocBlocksHostExportAPI, Q as DocBlocksHostExternalAPI, R as DocBlocksHostFfmpegAPI, S as DocBlocksHostFsAPI, T as DocBlocksHostGitAPI, U as DocBlocksHostLifecycleAPI, V as DocBlocksHostMenuAPI, W as DocBlocksHostShellAPI, X as DocBlocksHostSpeechAPI, Y as DocBlocksHostUpdaterAPI, Z as DocBlocksHostWorkspacesAPI, _ as ElectronWorkspaceInfo, $ as ExternalBinaryCommitResult, a0 as GitBranchInfo, a1 as GitCapabilities, a2 as GitCloneHandle, a3 as GitCloneProgress, a4 as GitError, a5 as GitErrorCode, a6 as GitFileAtRevision, a7 as GitFileChange, a8 as GitFileStatusCode, a9 as GitLogEntry, aa as GitLogOptions, ab as GitRemoteInfo, ac as GitRepoDetection, ad as GitResult, ae as GitRevision, af as GitStatus, ag as HOST_PLATFORMS, ah as HOST_SURFACE_KINDS, ai as HostCapabilities, aj as HostCloseReason, ak as HostEnvironment, al as HostExportTargetGrant, am as HostPinnedDocument, an as HostPlatform, ao as HostPrepareCloseRequest, ap as HostPrepareCloseResult, aq as HostSurfaceKind, ar as MenuCommand, as as NO_HOST_CAPABILITIES, at as OpenRequest, au as SpeechAudioChunk, av as SpeechCatalog, aw as SpeechError, ax as SpeechErrorCode, ay as SpeechInstallEvent, az as SpeechInstallHandle, aA as SpeechModelInfo, aB as SpeechModelKind, aC as SpeechPreferences, aD as SpeechPreferencesPatch, aE as SpeechProgress, aF as SpeechReadiness, aG as SpeechReadinessState, aH as SpeechResult, aI as SpeechSegment, aJ as SpeechStatus, aK as SpeechSynthesisHandle, aL as SpeechSynthesisSummary, aM as SpeechSynthesizeEvent, aN as SpeechSynthesizeRequest, aO as SpeechTranscribeRequest, aP as SpeechTranscript, aQ as SpeechVoiceInfo, aR as SpeechWordTiming, aS as UpdateCheckResult, aT as UpdateInstallResult, aU as UpdaterStatus, aV as deriveHostCapabilities, aW as parseAiKnowledgeAction, aX as parseAiKnowledgeState, aY as parseHostEnvironment } from './capabilities-DHwh4P4D.js';
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';
package/dist/index.js CHANGED
@@ -68,8 +68,8 @@ import "./chunk-3GSMJ4MQ.js";
68
68
  import {
69
69
  ElectronFileSystemProvider,
70
70
  ElectronFileSystemProviderV2
71
- } from "./chunk-PSGAZKWO.js";
72
- import "./chunk-7LPIGCBG.js";
71
+ } from "./chunk-P32NVUQL.js";
72
+ import "./chunk-EFGQUOTL.js";
73
73
  import {
74
74
  AI_WIRE_LIMITS,
75
75
  ELECTRON_FILE_SYSTEM_V2_CAPABILITIES,
@@ -122,7 +122,7 @@ import {
122
122
  parseSpeechTranscribeRequest,
123
123
  parseSpeechTranscript,
124
124
  parseSpeechVoiceInfo
125
- } from "./chunk-KXQDMZFH.js";
125
+ } from "./chunk-64733GFL.js";
126
126
  import "./chunk-245W57QP.js";
127
127
  import {
128
128
  EXPORT_TRANSFER_LIMITS,
@@ -1,5 +1,5 @@
1
1
  import { d as FileSystemProvider } from './types-DLteNrK0.js';
2
- import { Z as ElectronWorkspaceInfo, aj as HostEnvironment } from './capabilities-BJEkIsO1.js';
2
+ import { _ as ElectronWorkspaceInfo, ak as HostEnvironment } from './capabilities-DHwh4P4D.js';
3
3
 
4
4
  /**
5
5
  * Origin of a transient workspace — records where its contents came from and
@@ -1,9 +1,9 @@
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-Bz-iAY_B.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-Ci2lhAdW.js';
2
2
  import { ContentContainer } from '@bendyline/squisq/storage';
3
3
  import { o as FileSystemProviderV2 } from '../v2-DwxWjFC0.js';
4
4
  import { a as WorkspacePath } from '../workspace-path-CWVrcuPL.js';
5
5
  import '../types-DLteNrK0.js';
6
- import '../capabilities-BJEkIsO1.js';
6
+ import '../capabilities-DHwh4P4D.js';
7
7
  import '../filesystem-v2-CXdAPR27.js';
8
8
 
9
9
  declare const WORKSPACE_BACKUP_MANIFEST = "docblocks-backup.json";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bendyline/docblocks",
3
- "version": "2.7.4",
3
+ "version": "2.7.5",
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.12.5",
129
+ "@bendyline/squisq": "2.13.0",
130
130
  "zod": "3.25.76"
131
131
  }
132
132
  }