@wootsup/yt-builder-mcp 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist/auth.d.ts +11 -0
  2. package/dist/auth.d.ts.map +1 -1
  3. package/dist/auth.js +11 -0
  4. package/dist/auth.js.map +1 -1
  5. package/dist/cli/doctor-command.d.ts.map +1 -1
  6. package/dist/cli/doctor-command.js +45 -2
  7. package/dist/cli/doctor-command.js.map +1 -1
  8. package/dist/client.d.ts +18 -0
  9. package/dist/client.d.ts.map +1 -1
  10. package/dist/client.js +13 -1
  11. package/dist/client.js.map +1 -1
  12. package/dist/clients/claude-code.d.ts.map +1 -1
  13. package/dist/clients/claude-code.js +5 -2
  14. package/dist/clients/claude-code.js.map +1 -1
  15. package/dist/clients/claude-desktop.d.ts.map +1 -1
  16. package/dist/clients/claude-desktop.js +5 -2
  17. package/dist/clients/claude-desktop.js.map +1 -1
  18. package/dist/clients/cline.d.ts.map +1 -1
  19. package/dist/clients/cline.js +5 -2
  20. package/dist/clients/cline.js.map +1 -1
  21. package/dist/clients/codex-cli.d.ts.map +1 -1
  22. package/dist/clients/codex-cli.js +127 -2
  23. package/dist/clients/codex-cli.js.map +1 -1
  24. package/dist/clients/continue.d.ts.map +1 -1
  25. package/dist/clients/continue.js +11 -2
  26. package/dist/clients/continue.js.map +1 -1
  27. package/dist/clients/cursor.d.ts.map +1 -1
  28. package/dist/clients/cursor.js +5 -2
  29. package/dist/clients/cursor.js.map +1 -1
  30. package/dist/clients/gemini-cli.d.ts.map +1 -1
  31. package/dist/clients/gemini-cli.js +5 -2
  32. package/dist/clients/gemini-cli.js.map +1 -1
  33. package/dist/clients/index.d.ts +49 -0
  34. package/dist/clients/index.d.ts.map +1 -1
  35. package/dist/clients/index.js +79 -0
  36. package/dist/clients/index.js.map +1 -1
  37. package/dist/clients/roo-code.d.ts.map +1 -1
  38. package/dist/clients/roo-code.js +5 -2
  39. package/dist/clients/roo-code.js.map +1 -1
  40. package/dist/clients/zed.d.ts.map +1 -1
  41. package/dist/clients/zed.js +22 -2
  42. package/dist/clients/zed.js.map +1 -1
  43. package/dist/diagnostics/doctor.d.ts +10 -1
  44. package/dist/diagnostics/doctor.d.ts.map +1 -1
  45. package/dist/diagnostics/doctor.js +23 -0
  46. package/dist/diagnostics/doctor.js.map +1 -1
  47. package/dist/diagnostics/startup-self-probe.d.ts +39 -0
  48. package/dist/diagnostics/startup-self-probe.d.ts.map +1 -0
  49. package/dist/diagnostics/startup-self-probe.js +87 -0
  50. package/dist/diagnostics/startup-self-probe.js.map +1 -0
  51. package/dist/gateway/essentials.d.ts +15 -6
  52. package/dist/gateway/essentials.d.ts.map +1 -1
  53. package/dist/gateway/essentials.js +51 -5
  54. package/dist/gateway/essentials.js.map +1 -1
  55. package/dist/index.d.ts +15 -1
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +37 -2
  58. package/dist/index.js.map +1 -1
  59. package/dist/net/proxy-dispatcher.d.ts +7 -0
  60. package/dist/net/proxy-dispatcher.d.ts.map +1 -1
  61. package/dist/net/proxy-dispatcher.js +7 -2
  62. package/dist/net/proxy-dispatcher.js.map +1 -1
  63. package/dist/net/site-basic-auth.d.ts +65 -0
  64. package/dist/net/site-basic-auth.d.ts.map +1 -0
  65. package/dist/net/site-basic-auth.js +118 -0
  66. package/dist/net/site-basic-auth.js.map +1 -0
  67. package/dist/proxy/bridge.d.ts +18 -1
  68. package/dist/proxy/bridge.d.ts.map +1 -1
  69. package/dist/proxy/bridge.js +23 -3
  70. package/dist/proxy/bridge.js.map +1 -1
  71. package/dist/setup-wizard-types.d.ts +9 -0
  72. package/dist/setup-wizard-types.d.ts.map +1 -1
  73. package/dist/setup-wizard.d.ts.map +1 -1
  74. package/dist/setup-wizard.js +37 -0
  75. package/dist/setup-wizard.js.map +1 -1
  76. package/dist/sites/client-pool.d.ts +35 -1
  77. package/dist/sites/client-pool.d.ts.map +1 -1
  78. package/dist/sites/client-pool.js +45 -1
  79. package/dist/sites/client-pool.js.map +1 -1
  80. package/dist/tools/elements/builders.js +7 -7
  81. package/dist/tools/elements/builders.js.map +1 -1
  82. package/dist/tools/elements/handlers.d.ts +2 -0
  83. package/dist/tools/elements/handlers.d.ts.map +1 -1
  84. package/dist/tools/elements/handlers.js +48 -2
  85. package/dist/tools/elements/handlers.js.map +1 -1
  86. package/dist/tools/format/elements-format.d.ts.map +1 -1
  87. package/dist/tools/format/elements-format.js +8 -0
  88. package/dist/tools/format/elements-format.js.map +1 -1
  89. package/dist/tools/format/health-format.d.ts +2 -0
  90. package/dist/tools/format/health-format.d.ts.map +1 -1
  91. package/dist/tools/format/health-format.js +11 -0
  92. package/dist/tools/format/health-format.js.map +1 -1
  93. package/dist/tools/format/pages-format.d.ts +23 -0
  94. package/dist/tools/format/pages-format.d.ts.map +1 -1
  95. package/dist/tools/format/pages-format.js +28 -0
  96. package/dist/tools/format/pages-format.js.map +1 -1
  97. package/dist/tools/format/source-schema-format.d.ts +64 -0
  98. package/dist/tools/format/source-schema-format.d.ts.map +1 -0
  99. package/dist/tools/format/source-schema-format.js +161 -0
  100. package/dist/tools/format/source-schema-format.js.map +1 -0
  101. package/dist/tools/health.d.ts.map +1 -1
  102. package/dist/tools/health.js +31 -0
  103. package/dist/tools/health.js.map +1 -1
  104. package/dist/tools/multi-items/builders.js +2 -2
  105. package/dist/tools/multi-items/builders.js.map +1 -1
  106. package/dist/tools/multi-items/inspect-handler.d.ts +8 -0
  107. package/dist/tools/multi-items/inspect-handler.d.ts.map +1 -1
  108. package/dist/tools/multi-items/inspect-handler.js +48 -2
  109. package/dist/tools/multi-items/inspect-handler.js.map +1 -1
  110. package/dist/tools/pages/builders.d.ts.map +1 -1
  111. package/dist/tools/pages/builders.js +115 -26
  112. package/dist/tools/pages/builders.js.map +1 -1
  113. package/dist/tools/pages/handlers-read.d.ts +20 -1
  114. package/dist/tools/pages/handlers-read.d.ts.map +1 -1
  115. package/dist/tools/pages/handlers-read.js +131 -7
  116. package/dist/tools/pages/handlers-read.js.map +1 -1
  117. package/dist/tools/pages/handlers-write.d.ts +42 -1
  118. package/dist/tools/pages/handlers-write.d.ts.map +1 -1
  119. package/dist/tools/pages/handlers-write.js +114 -5
  120. package/dist/tools/pages/handlers-write.js.map +1 -1
  121. package/dist/tools/pages/schemas.d.ts +24 -0
  122. package/dist/tools/pages/schemas.d.ts.map +1 -1
  123. package/dist/tools/pages/schemas.js +30 -0
  124. package/dist/tools/pages/schemas.js.map +1 -1
  125. package/dist/tools/pool-resolve-helper.d.ts +11 -26
  126. package/dist/tools/pool-resolve-helper.d.ts.map +1 -1
  127. package/dist/tools/pool-resolve-helper.js +50 -0
  128. package/dist/tools/pool-resolve-helper.js.map +1 -1
  129. package/dist/tools/sources/builders.d.ts.map +1 -1
  130. package/dist/tools/sources/builders.js +258 -4
  131. package/dist/tools/sources/builders.js.map +1 -1
  132. package/dist/tools/sources/handlers-bind.d.ts +107 -0
  133. package/dist/tools/sources/handlers-bind.d.ts.map +1 -1
  134. package/dist/tools/sources/handlers-bind.js +197 -2
  135. package/dist/tools/sources/handlers-bind.js.map +1 -1
  136. package/dist/tools/sources/handlers.d.ts +54 -0
  137. package/dist/tools/sources/handlers.d.ts.map +1 -1
  138. package/dist/tools/sources/handlers.js +82 -0
  139. package/dist/tools/sources/handlers.js.map +1 -1
  140. package/dist/tools/sparse-fields.d.ts +37 -1
  141. package/dist/tools/sparse-fields.d.ts.map +1 -1
  142. package/dist/tools/sparse-fields.js +35 -5
  143. package/dist/tools/sparse-fields.js.map +1 -1
  144. package/dist/tools/tool-builder/results.d.ts.map +1 -1
  145. package/dist/tools/tool-builder/results.js +3 -0
  146. package/dist/tools/tool-builder/results.js.map +1 -1
  147. package/manifest.json +1 -1
  148. package/package.json +1 -1
  149. package/skills/yt-builder-mcp/SKILL.md +80 -34
@@ -9,11 +9,13 @@
9
9
  * @license MIT
10
10
  */
11
11
  import { elicitChoice, elicitConfirmation } from '@getimo/mcp-toolkit';
12
+ import { z } from 'zod';
12
13
  import { encodeElementPath, encodeTemplateId } from '../../client.js';
13
14
  import { RestError } from '../../errors.js';
14
15
  import { flattenSourcesPayload, mapSourceRow, } from '../format/sources-format.js';
15
16
  import { ambiguityFallbackError, } from '../elicitation.js';
16
- import { confirmGuard, errorResult, jsonResult, } from '../tool-builder.js';
17
+ import { confirmGuard, errorResult, jsonResult, structuredResult, } from '../tool-builder.js';
18
+ import { detailResult } from '@getimo/mcp-toolkit';
17
19
  import { GRID_ITEM_ITERATOR_REJECT, SLOT_COLLISION_STEERING, } from '../bind-guidance.js';
18
20
  /**
19
21
  * Wave-12 F9 — extract validation-hint fields surfaced by the WP REST
@@ -196,7 +198,7 @@ async function fetchSourceCandidates(client, source_name) {
196
198
  return flat.map(mapSourceRow).filter((r) => r.name === source_name);
197
199
  }
198
200
  export async function handleElementBindSource({ client, elicitation }, input) {
199
- const { template_id, element_path, source_name, source_id, etag, bindingLevel, field_mappings } = input;
201
+ const { template_id, element_path, source_name, source_id, etag, bindingLevel, field_mappings, relation, field, arguments: fieldArguments, directives, query_arguments, } = input;
200
202
  const encoded = encodeElementPath(element_path);
201
203
  // Wave G.4.3 — ambiguity resolution.
202
204
  //
@@ -220,6 +222,29 @@ export async function handleElementBindSource({ client, elicitation }, input) {
220
222
  if (field_mappings !== undefined) {
221
223
  resolvedBody.field_mappings = field_mappings;
222
224
  }
225
+ // B5 — forward the relation/field selector verbatim. `arguments` +
226
+ // `directives` are only meaningful alongside `field`, but we forward them
227
+ // whenever present and let the PHP SourcesController be the single
228
+ // place that decides how they land in `query.field` (one engine, both
229
+ // platforms). Omitting all four preserves the legacy flat-source bind.
230
+ if (relation !== undefined) {
231
+ resolvedBody.relation = relation;
232
+ }
233
+ if (field !== undefined) {
234
+ resolvedBody.field = field;
235
+ }
236
+ if (fieldArguments !== undefined) {
237
+ resolvedBody.arguments = fieldArguments;
238
+ }
239
+ if (directives !== undefined) {
240
+ resolvedBody.directives = directives;
241
+ }
242
+ // N2 — forward the TOP-LEVEL query arguments verbatim. The PHP
243
+ // SourcesController is the single place that lands them in
244
+ // `source.query.arguments` (one engine, both platforms).
245
+ if (query_arguments !== undefined) {
246
+ resolvedBody.query_arguments = query_arguments;
247
+ }
223
248
  if (source_id === undefined) {
224
249
  const candidates = await fetchSourceCandidates(client, source_name);
225
250
  if (candidates.length > 1) {
@@ -340,4 +365,174 @@ export async function handleElementUnbindSource({ client, elicitation }, input)
340
365
  });
341
366
  }
342
367
  }
368
+ // ─── element_set_source (F2 — surgical source-edit) ─────────────────
369
+ /**
370
+ * F2 (Glöckle HANDOFF-4) — the `element_set_source` STRICT output schema.
371
+ *
372
+ * A default (strip) ZodObject so a strict (`additionalProperties:false`) host
373
+ * accepts the structuredContent and the shape-pin guard's `.strict()` re-parse
374
+ * passes. The success body the PHP `SourcesController::set_source` returns is
375
+ * `{template_id, element_path, etag, new_etag, changed_paths}` — EVERY key here
376
+ * must be DECLARED, else a strict MCP host -32602-rejects the success (the G2
377
+ * `changed_paths` lesson).
378
+ */
379
+ export const ELEMENT_SET_SOURCE_OUTPUT_SCHEMA = z.object({
380
+ template_id: z.string(),
381
+ element_path: z.string(),
382
+ // The ETag the write was performed against (the If-Match the caller sent).
383
+ etag: z.string(),
384
+ // The bumped ETag after the surgical write — pass as `etag` on the next write.
385
+ new_etag: z.string(),
386
+ // The JSON-pointer(s) the write touched (just the edited node — blast-radius 0).
387
+ changed_paths: z.array(z.string()),
388
+ });
389
+ /**
390
+ * F2 — surgically set a PRECOMPOSED `source` (+ optional `source_extended`) onto
391
+ * ONE element at a pointer, ETag-locked, leaving the rest of the layout
392
+ * byte-unchanged. The two carriers are author-composed objects forwarded
393
+ * VERBATIM to `PUT /pages/<id>/elements/<path>/source`; the PHP controller is the
394
+ * single place that persists them onto `node.source` / `node.source_extended`.
395
+ */
396
+ export async function handleElementSetSource({ client }, input) {
397
+ const { template_id, element_path, etag, source, source_extended } = input;
398
+ const encoded = encodeElementPath(element_path);
399
+ // Forward only the keys the caller supplied. `source_extended` is forwarded
400
+ // even when explicitly null (that CLEARS the carrier server-side); it is
401
+ // omitted only when undefined.
402
+ const body = {};
403
+ if (source !== undefined)
404
+ body.source = source;
405
+ if (source_extended !== undefined)
406
+ body.source_extended = source_extended;
407
+ try {
408
+ const data = await client.put(`/pages/${encodeTemplateId(template_id)}/elements/${encoded}/source`, { body, etag });
409
+ // The PHP success body carries exactly the strict output-schema keys;
410
+ // project them so structuredContent never carries an undeclared key (a
411
+ // strict host -32602-rejects extras). Fall back to the request values
412
+ // for template_id/element_path so the shape is always complete.
413
+ const changedPaths = Array.isArray(data.changed_paths)
414
+ ? data.changed_paths.filter((p) => typeof p === 'string')
415
+ : [typeof data.element_path === 'string' ? data.element_path : element_path];
416
+ const structured = {
417
+ template_id: typeof data.template_id === 'string' ? data.template_id : template_id,
418
+ element_path: typeof data.element_path === 'string' ? data.element_path : element_path,
419
+ etag: typeof data.etag === 'string' ? data.etag : etag,
420
+ new_etag: typeof data.new_etag === 'string' ? data.new_etag : '',
421
+ changed_paths: changedPaths,
422
+ };
423
+ const toolkitResult = detailResult({
424
+ title: 'Source set (surgical)',
425
+ groups: [
426
+ {
427
+ label: 'Surgical source-edit',
428
+ entries: [
429
+ { key: 'template_id', label: 'Template', value: structured.template_id, format: 'text' },
430
+ { key: 'element_path', label: 'Element', value: structured.element_path, format: 'code', copyable: true },
431
+ { key: 'new_etag', label: 'New ETag', value: structured.new_etag, format: 'badge', copyable: true },
432
+ { key: 'changed_paths', label: 'Changed paths', value: structured.changed_paths.join(', '), format: 'code' },
433
+ ],
434
+ },
435
+ ],
436
+ });
437
+ return structuredResult(toolkitResult, structured);
438
+ }
439
+ catch (e) {
440
+ return errorResult({
441
+ error: e,
442
+ context: { template_id, element_path },
443
+ hint: 'On 412 refresh the ETag via yootheme_builder_get_etag and retry. ' +
444
+ 'On 400 invalid_body, ensure `source.query.name` is a non-empty string ' +
445
+ '(e.g. "categoryFaqs.taxonomyCategoryFaq"). Verify element_path via ' +
446
+ 'yootheme_builder_element_list.',
447
+ });
448
+ }
449
+ }
450
+ // ─── rename_source (N1 — template-wide source/field rename) ─────────
451
+ /**
452
+ * N1 (Glöckle HANDOFF-5) — the `rename_source` STRICT output schema.
453
+ *
454
+ * A default (strip) ZodObject so a strict (`additionalProperties:false`) host
455
+ * accepts the structuredContent and the shape-pin guard's `.strict()` re-parse
456
+ * passes. The success body the PHP `SourcesController::rename_source` returns is
457
+ * `{template_id, replaced_count, changed_paths, etag, new_etag}` — EVERY key here
458
+ * must be DECLARED, else a strict MCP host -32602-rejects the success (the G2
459
+ * `changed_paths` lesson).
460
+ */
461
+ export const RENAME_SOURCE_OUTPUT_SCHEMA = z.object({
462
+ template_id: z.string(),
463
+ // The number of BOUND nodes whose binding was rewritten template-wide.
464
+ replaced_count: z.number(),
465
+ // The rel-path pointer of each changed node, in document order.
466
+ changed_paths: z.array(z.string()),
467
+ // The ETag the write was performed against (the If-Match the caller sent).
468
+ etag: z.string(),
469
+ // The bumped ETag after the write — pass as `etag` on the next write.
470
+ new_etag: z.string(),
471
+ });
472
+ /**
473
+ * N1 — TEMPLATE-WIDE rename every matching binding's source-name + field-name
474
+ * tokens in ONE ETag-locked write. The rename spec (the single-source shorthand
475
+ * `from`/`to` and/or the explicit `source_map`/`field_map`) is forwarded VERBATIM
476
+ * to `PUT /pages/<id>/rename-source`; the PHP controller is the single place that
477
+ * runs the SourceRenamer engine across the whole template, preserving every
478
+ * binding's arguments / props / field_mappings and leaving non-matching bindings
479
+ * byte-identical.
480
+ */
481
+ export async function handleRenameSource({ client }, input) {
482
+ const { template_id, etag, from, to, source_map, field_map } = input;
483
+ // Forward only the keys the caller supplied — the PHP controller folds the
484
+ // `from`/`to` shorthand into source_map and validates "at least one rename
485
+ // instruction" on its end (one engine, both platforms).
486
+ const body = {};
487
+ if (from !== undefined)
488
+ body.from = from;
489
+ if (to !== undefined)
490
+ body.to = to;
491
+ if (source_map !== undefined)
492
+ body.source_map = source_map;
493
+ if (field_map !== undefined)
494
+ body.field_map = field_map;
495
+ try {
496
+ const data = await client.put(`/pages/${encodeTemplateId(template_id)}/rename-source`, { body, etag });
497
+ // The PHP success body carries exactly the strict output-schema keys;
498
+ // project them so structuredContent never carries an undeclared key (a
499
+ // strict host -32602-rejects extras). Fall back to request/sane values so
500
+ // the shape is always complete.
501
+ const changedPaths = Array.isArray(data.changed_paths)
502
+ ? data.changed_paths.filter((p) => typeof p === 'string')
503
+ : [];
504
+ const structured = {
505
+ template_id: typeof data.template_id === 'string' ? data.template_id : template_id,
506
+ replaced_count: typeof data.replaced_count === 'number' ? data.replaced_count : changedPaths.length,
507
+ changed_paths: changedPaths,
508
+ etag: typeof data.etag === 'string' ? data.etag : etag,
509
+ new_etag: typeof data.new_etag === 'string' ? data.new_etag : '',
510
+ };
511
+ const toolkitResult = detailResult({
512
+ title: 'Source renamed (template-wide)',
513
+ groups: [
514
+ {
515
+ label: 'Template-wide source/field rename',
516
+ entries: [
517
+ { key: 'template_id', label: 'Template', value: structured.template_id, format: 'text' },
518
+ { key: 'replaced_count', label: 'Bindings changed', value: String(structured.replaced_count), format: 'badge' },
519
+ { key: 'new_etag', label: 'New ETag', value: structured.new_etag, format: 'badge', copyable: true },
520
+ { key: 'changed_paths', label: 'Changed paths', value: structured.changed_paths.join(', '), format: 'code' },
521
+ ],
522
+ },
523
+ ],
524
+ });
525
+ return structuredResult(toolkitResult, structured);
526
+ }
527
+ catch (e) {
528
+ return errorResult({
529
+ error: e,
530
+ context: { template_id },
531
+ hint: 'On 412 refresh the ETag via yootheme_builder_get_etag and retry. ' +
532
+ 'On 400 invalid_body, pass `from`+`to` (single source rename) and/or ' +
533
+ '`source_map`/`field_map` (objects of {old: new} name tokens) — at least ' +
534
+ 'one is required. Verify template_id via yootheme_builder_pages_list.',
535
+ });
536
+ }
537
+ }
343
538
  //# sourceMappingURL=handlers-bind.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers-bind.js","sourceRoot":"","sources":["../../../src/tools/sources/handlers-bind.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers-bind.js","sourceRoot":"","sources":["../../../src/tools/sources/handlers-bind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAmB,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACH,qBAAqB,EACrB,YAAY,GAEf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACH,sBAAsB,GAEzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACH,YAAY,EACZ,WAAW,EACX,UAAU,EACV,gBAAgB,GAEnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACH,yBAAyB,EACzB,uBAAuB,GAC1B,MAAM,qBAAqB,CAAC;AAG7B;;;;;;;GAOG;AACH,SAAS,yBAAyB,CAC9B,IAAa;IAEb,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,IAAI,GAAG,IAA+B,CAAC;IAC7C,IAAI,IAAI,CAAC,IAAI,KAAK,oDAAoD;QAAE,OAAO,IAAI,CAAC;IACpF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,CAAC,GAAG,IAA+B,CAAC;IAC1C,OAAO;QACH,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QACxD,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,qBAAqB,EAAE,CAAC,CAAC,qBAAqB;KACjD,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,IAAa;IAClC,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5D,MAAM,IAAI,GAAG,IAA+B,CAAC;IAC7C,IACI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;QAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EACrD,CAAC;QACC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,KAAK,gBAAgB;QAAE,OAAO,IAAI,CAAC;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAQ,IAAgC,CAAC,UAAU,KAAK,gBAAgB,CAAC;IAC7E,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,oEAAoE;AACpE,SAAS,UAAU,CAAC,KAAc;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,wBAAwB;IAC7B,OAAO,CACH,wEAAwE;QACxE,iEAAiE;QACjE,qEAAqE;QACrE,mDAAmD;QACnD,mEAAmE;QACnE,wEAAwE;QACxE,kEAAkE;QAClE,uEAAuE;QACvE,wEAAwE;QACxE,sCAAsC,CACzC,CAAC;AACN,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,gBAAgB,CAAC,IAAa,EAAE,WAAoB;IACzD,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAClF,MAAM,IAAI,GAAG,IAA+B,CAAC;IAC7C,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAE5D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CACN,sEAAsE;YAClE,6CAA6C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACvE,oEAAoE;YACpE,wEAAwE;YACxE,sCAAsC,CAC7C,CAAC;IACN,CAAC;IACD,mEAAmE;IACnE,yEAAyE;IACzE,uEAAuE;IACvE,qEAAqE;IACrE,kEAAkE;IAClE,2DAA2D;IAC3D,kEAAkE;IAClE,mEAAmE;IACnE,8BAA8B;IAC9B,MAAM,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxE,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACzE,MAAM,aAAa,GACf,SAAS,CAAC,MAAM,GAAG,CAAC;YAChB,CAAC,CAAC,6BAA6B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACtD,CAAC,CAAC,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CACN,uEAAuE;YACnE,iEAAiE;YACjE,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,kBAAkB;YACnE,4DAA4D;YAC5D,sCAAsC,CAC7C,CAAC;IACN,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CACN,uEAAuE;YACnE,iCAAiC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB;YACvE,mEAAmE,CAC1E,CAAC;IACN,CAAC;IACD,sEAAsE;IACtE,wEAAwE;IACxE,qEAAqE;IACrE,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,6EAA6E;IAC7E,0CAA0C;IAC1C,IAAI,IAAI,CAAC,yBAAyB,KAAK,IAAI,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,IAA6B;IACtD,MAAM,WAAW,GACb,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QACrF,CAAC,CAAE,IAAI,CAAC,OAAmC,CAAC,WAAW;QACvD,CAAC,CAAC,SAAS,CAAC;IACpB,MAAM,IAAI,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAC9E,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,uEAAuE;AAEvE;;;;;;;;;GASG;AACH,KAAK,UAAU,qBAAqB,CAChC,MAAkB,EAClB,WAAmB;IAEnB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAwB,UAAU,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;IACrC,MAAM,IAAI,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;AACxE,CAAC;AAyBD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CACzC,EAAE,MAAM,EAAE,WAAW,EAAsB,EAC3C,KAgBC;IAED,MAAM,EACF,WAAW,EACX,YAAY,EACZ,WAAW,EACX,SAAS,EACT,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,KAAK,EACL,SAAS,EAAE,cAAc,EACzB,UAAU,EACV,eAAe,GAClB,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAEhD,qCAAqC;IACrC,EAAE;IACF,oEAAoE;IACpE,qCAAqC;IACrC,EAAE;IACF,iDAAiD;IACjD,gEAAgE;IAChE,kEAAkE;IAClE,qDAAqD;IACrD,uCAAuC;IACvC,iEAAiE;IACjE,kEAAkE;IAClE,0DAA0D;IAC1D,kEAAkE;IAClE,+CAA+C;IAC/C,IAAI,YAAY,GAYZ,EAAE,WAAW,EAAE,CAAC;IACpB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC7B,YAAY,CAAC,YAAY,GAAG,YAAY,CAAC;IAC7C,CAAC;IACD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAC/B,YAAY,CAAC,cAAc,GAAG,cAAc,CAAC;IACjD,CAAC;IACD,mEAAmE;IACnE,0EAA0E;IAC1E,mEAAmE;IACnE,sEAAsE;IACtE,uEAAuE;IACvE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACrC,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;IAC/B,CAAC;IACD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAC/B,YAAY,CAAC,SAAS,GAAG,cAAc,CAAC;IAC5C,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3B,YAAY,CAAC,UAAU,GAAG,UAAU,CAAC;IACzC,CAAC;IACD,+DAA+D;IAC/D,2DAA2D;IAC3D,yDAAyD;IACzD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAChC,YAAY,CAAC,eAAe,GAAG,eAAe,CAAC;IACnD,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACpE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,gBAAgB,GAA2B,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpE,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE;gBAC3B,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;aAC3E,CAAC,CAAC,CAAC;YACJ,MAAM,MAAM,GAAG,WAAW;gBACtB,CAAC,CAAC,MAAM,YAAY,CACd,WAAW,EACX,2BAA2B,WAAW,sBAAsB;oBACxD,mBAAmB,YAAY,IAAI,EACvC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACpC;gBACH,CAAC,CAAC,IAAI,CAAC;YACX,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,sBAAsB,CAAC;oBAC1B,IAAI,EAAE,kBAAkB;oBACxB,SAAS,EAAE,WAAW;oBACtB,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,gBAAgB;oBAC5B,OAAO,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE;iBACtD,CAAC,CAAC;YACP,CAAC;YACD,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAC1D,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,SAAS,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CACzB,UAAU,gBAAgB,CAAC,WAAW,CAAC,aAAa,OAAO,UAAU,EACrE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAC/B,CAAC;QACF,qEAAqE;QACrE,oEAAoE;QACpE,kEAAkE;QAClE,iEAAiE;QACjE,qEAAqE;QACrE,iEAAiE;QACjE,qEAAqE;QACrE,qEAAqE;QACrE,yCAAyC;QACzC,MAAM,WAAW,GACb,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3E,OAAO,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,8DAA8D;QAC9D,8DAA8D;QAC9D,yCAAyC;QACzC,MAAM,WAAW,GAA4B;YACzC,WAAW;YACX,YAAY;YACZ,WAAW;YACX,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC;QACF,IAAI,CAAC,YAAY,SAAS,EAAE,CAAC;YACzB,iEAAiE;YACjE,mEAAmE;YACnE,oEAAoE;YACpE,mEAAmE;YACnE,6DAA6D;YAC7D,IAAI,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,OAAO,WAAW,CAAC;oBACf,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE,WAAW;oBACpB,IAAI,EAAE,uBAAuB;iBAChC,CAAC,CAAC;YACP,CAAC;YACD,MAAM,KAAK,GAAG,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBACnC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;gBAClD,CAAC;gBACD,IAAI,KAAK,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;oBAC5C,WAAW,CAAC,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,CAAC;gBACpE,CAAC;gBACD,OAAO,WAAW,CAAC;oBACf,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE,WAAW;oBACpB,IAAI,EACA,6DAA6D;wBAC7D,0EAA0E;wBAC1E,kEAAkE;iBACzE,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QACD,OAAO,WAAW,CAAC;YACf,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,WAAW;YACpB,IAAI,EACA,+DAA+D;gBAC/D,yBAAyB;SAChC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED,uEAAuE;AAEvE,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC3C,EAAE,MAAM,EAAE,WAAW,EAAsB,EAC3C,KAAqF;IAErF,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC3D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACnB,IAAI,OAAO,KAAK,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,OAAO,YAAY,CAAC;gBAChB,SAAS,EAAE,eAAe;gBAC1B,OAAO,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;aACzC,CAAC,CAAC;QACP,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CACrC,WAAW,EACX,2CAA2C,YAAY,gBAAgB;YACnE,IAAI,WAAW,8CAA8C,CACpE,CAAC;QACF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,YAAY,CAAC;gBAChB,SAAS,EAAE,eAAe;gBAC1B,OAAO,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;aACzC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAChD,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAC5B,UAAU,gBAAgB,CAAC,WAAW,CAAC,aAAa,OAAO,UAAU,EACrE,EAAE,IAAI,EAAE,CACX,CAAC;QACF,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,WAAW,CAAC;YACf,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;YACtC,IAAI,EAAE,yDAAyD;SAClE,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED,uEAAuE;AAEvE;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,2EAA2E;IAC3E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,+EAA+E;IAC/E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,iFAAiF;IACjF,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACrC,CAAC,CAAC;AAcH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CACxC,EAAE,MAAM,EAAsB,EAC9B,KAiBC;IAED,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAC3E,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAEhD,4EAA4E;IAC5E,yEAAyE;IACzE,+BAA+B;IAC/B,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,IAAI,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IAC/C,IAAI,eAAe,KAAK,SAAS;QAAE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IAE1E,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CACzB,UAAU,gBAAgB,CAAC,WAAW,CAAC,aAAa,OAAO,SAAS,EACpE,EAAE,IAAI,EAAE,IAAI,EAAE,CACjB,CAAC;QACF,sEAAsE;QACtE,uEAAuE;QACvE,sEAAsE;QACtE,gEAAgE;QAChE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;YAClD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YACtE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACjF,MAAM,UAAU,GAAG;YACf,WAAW,EACP,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW;YACzE,YAAY,EACR,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY;YAC5E,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YACtD,QAAQ,EAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YAChE,aAAa,EAAE,YAAY;SAC9B,CAAC;QACF,MAAM,aAAa,GAAG,YAAY,CAAC;YAC/B,KAAK,EAAE,uBAAuB;YAC9B,MAAM,EAAE;gBACJ;oBACI,KAAK,EAAE,sBAAsB;oBAC7B,OAAO,EAAE;wBACL,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;wBACxF,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;wBACzG,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;wBACnG,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;qBAC/G;iBACJ;aACJ;SACJ,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,WAAW,CAAC;YACf,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;YACtC,IAAI,EACA,mEAAmE;gBACnE,wEAAwE;gBACxE,qEAAqE;gBACrE,gCAAgC;SACvC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED,uEAAuE;AAEvE;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,uEAAuE;IACvE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,gEAAgE;IAChE,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,2EAA2E;IAC3E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,sEAAsE;IACtE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,EAAE,MAAM,EAAsB,EAC9B,KAOC;IAED,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAErE,2EAA2E;IAC3E,2EAA2E;IAC3E,wDAAwD;IACxD,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,IAAI,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACzC,IAAI,EAAE,KAAK,SAAS;QAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACnC,IAAI,UAAU,KAAK,SAAS;QAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC3D,IAAI,SAAS,KAAK,SAAS;QAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAExD,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CACzB,UAAU,gBAAgB,CAAC,WAAW,CAAC,gBAAgB,EACvD,EAAE,IAAI,EAAE,IAAI,EAAE,CACjB,CAAC;QACF,sEAAsE;QACtE,uEAAuE;QACvE,0EAA0E;QAC1E,gCAAgC;QAChC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;YAClD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YACtE,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,UAAU,GAAG;YACf,WAAW,EACP,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW;YACzE,cAAc,EACV,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM;YACvF,aAAa,EAAE,YAAY;YAC3B,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YACtD,QAAQ,EAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;SACnE,CAAC;QACF,MAAM,aAAa,GAAG,YAAY,CAAC;YAC/B,KAAK,EAAE,gCAAgC;YACvC,MAAM,EAAE;gBACJ;oBACI,KAAK,EAAE,mCAAmC;oBAC1C,OAAO,EAAE;wBACL,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;wBACxF,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE;wBAC/G,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;wBACnG,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;qBAC/G;iBACJ;aACJ;SACJ,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,WAAW,CAAC;YACf,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,EAAE,WAAW,EAAE;YACxB,IAAI,EACA,mEAAmE;gBACnE,sEAAsE;gBACtE,0EAA0E;gBAC1E,sEAAsE;SAC7E,CAAC,CAAC;IACP,CAAC;AACL,CAAC"}
@@ -30,6 +30,44 @@ export declare const BINDING_OUTPUT_SCHEMA: z.ZodObject<{
30
30
  field_mapping_count: z.ZodNumber;
31
31
  warning: z.ZodOptional<z.ZodString>;
32
32
  }, z.core.$strip>;
33
+ /**
34
+ * U4 — the `source_get_schema` outputSchema. A default (strip) ZodObject so a
35
+ * strict (`additionalProperties:false`) host accepts the structuredContent and
36
+ * the shape-pin guard's `.strict()` re-parse passes.
37
+ */
38
+ export declare const SOURCE_SCHEMA_OUTPUT_SCHEMA: z.ZodObject<{
39
+ source_name: z.ZodString;
40
+ label: z.ZodString;
41
+ group: z.ZodString;
42
+ type: z.ZodString;
43
+ query_methods: z.ZodArray<z.ZodObject<{
44
+ name: z.ZodString;
45
+ dotted_name: z.ZodString;
46
+ arguments: z.ZodArray<z.ZodObject<{
47
+ name: z.ZodString;
48
+ type: z.ZodString;
49
+ description: z.ZodString;
50
+ }, z.core.$strip>>;
51
+ }, z.core.$strip>>;
52
+ relations: z.ZodArray<z.ZodObject<{
53
+ name: z.ZodString;
54
+ dotted_name: z.ZodString;
55
+ relation_fields: z.ZodArray<z.ZodString>;
56
+ arguments: z.ZodArray<z.ZodObject<{
57
+ name: z.ZodString;
58
+ type: z.ZodString;
59
+ description: z.ZodString;
60
+ }, z.core.$strip>>;
61
+ provides_archive_context: z.ZodBoolean;
62
+ }, z.core.$strip>>;
63
+ provides_archive_context: z.ZodBoolean;
64
+ archive_context: z.ZodNullable<z.ZodObject<{
65
+ query_method: z.ZodString;
66
+ dotted_name: z.ZodString;
67
+ relation_field: z.ZodString;
68
+ current_term_arg: z.ZodString;
69
+ }, z.core.$strip>>;
70
+ }, z.core.$strip>;
33
71
  export interface SourcesHandlerDeps {
34
72
  readonly client: RestClient;
35
73
  /**
@@ -50,6 +88,22 @@ export declare function handleSourcesList({ client }: SourcesHandlerDeps, { fiel
50
88
  kind?: string;
51
89
  max_chars?: number;
52
90
  }): Promise<ToolResult>;
91
+ /**
92
+ * U4 (B2 + B6) — the single largest agent-efficiency lever (Glöckle). Reads
93
+ * ONE source's query methods + their arguments + RELATIONS (Term→Posts etc.)
94
+ * and the `provides_archive_context` flag in ONE call, so an agent no longer
95
+ * SSH-dives YOOtheme PHP (`TaxonomyType`/`Helper`/`CustomPostQueryType`) to
96
+ * discover the native relation binding + the `id:0` current-term convention.
97
+ *
98
+ * Issues `GET /sources/<name>/schema` against the plugin REST (the same shared
99
+ * `SourceRegistry::getSourceSchema()` engine the plugin-served MCP uses), so
100
+ * proxy-mode and plugin-served return byte-identical schemas. A 404
101
+ * (unknown source / YT-not-loaded) becomes a structured `source_not_found`.
102
+ */
103
+ export declare function handleSourceGetSchema({ client }: SourcesHandlerDeps, { name, max_chars }: {
104
+ name: string;
105
+ max_chars?: number;
106
+ }): Promise<ToolResult>;
53
107
  export declare function handleElementGetBinding({ client }: SourcesHandlerDeps, { template_id, element_path }: {
54
108
  template_id: string;
55
109
  element_path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/tools/sources/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AASvF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAYlE,OAAO,EAGH,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAC;AAI5B,eAAO,MAAM,0BAA0B;;;;;;;;;iBAiBrC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;iBAahC,CAAC;AAEH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACnD;AAaD,wBAAsB,iBAAiB,CACnC,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAC9B,EACI,MAAM,EACN,KAAK,EACL,MAAM,EACN,aAAa,EACb,KAAK,EACL,IAAI,EACJ,SAAS,GACZ,EAAE;IACC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,GACF,OAAO,CAAC,UAAU,CAAC,CAoFrB;AAID,wBAAsB,uBAAuB,CACzC,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAC9B,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC7E,OAAO,CAAC,UAAU,CAAC,CAwDrB;AAID,OAAO,EACH,uBAAuB,EACvB,yBAAyB,GAC5B,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/tools/sources/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAavF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAYlE,OAAO,EAGH,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAC;AAI5B,eAAO,MAAM,0BAA0B;;;;;;;;;iBAiBrC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;iBAahC,CAAC;AAmCH;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAStC,CAAC;AAEH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACnD;AAaD,wBAAsB,iBAAiB,CACnC,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAC9B,EACI,MAAM,EACN,KAAK,EACL,MAAM,EACN,aAAa,EACb,KAAK,EACL,IAAI,EACJ,SAAS,GACZ,EAAE;IACC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,GACF,OAAO,CAAC,UAAU,CAAC,CAoFrB;AAID;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CACvC,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAC9B,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D,OAAO,CAAC,UAAU,CAAC,CA0BrB;AAID,wBAAsB,uBAAuB,CACzC,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAC9B,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC7E,OAAO,CAAC,UAAU,CAAC,CAwDrB;AAID,OAAO,EACH,uBAAuB,EACvB,yBAAyB,GAC5B,MAAM,oBAAoB,CAAC"}
@@ -12,6 +12,7 @@ import { detailResult, tableResult } from '@getimo/mcp-toolkit';
12
12
  import { z } from 'zod';
13
13
  import { encodeElementPath, encodeTemplateId } from '../../client.js';
14
14
  import { SOURCES_TABLE_COLUMNS, bindingFieldMappingCount, buildBindingDetail, flattenSourcesPayload, mapSourceRow, remapOriginForPlatform, } from '../format/sources-format.js';
15
+ import { buildSourceSchemaDetail, mapSourceSchema, } from '../format/source-schema-format.js';
15
16
  import { DEFAULT_FIELDS_SOURCES_LIST, applyMaxChars, columnsFromFields, decodeOffsetCursor, encodeOffsetCursor, projectFields, projectedFieldsEcho, projectionFeedback, projectionWarning, } from '../sparse-fields.js';
16
17
  import { errorResult, structuredResult, } from '../tool-builder.js';
17
18
  // ─── outputSchemas (Wave G.2 §4) ─────────────────────────────────────
@@ -47,6 +48,49 @@ export const BINDING_OUTPUT_SCHEMA = z.object({
47
48
  // text). Absent on the happy path.
48
49
  warning: z.string().optional(),
49
50
  });
51
+ // ─── source_get_schema (U4 — B2 + B6) ────────────────────────────────
52
+ /** One GraphQL argument descriptor on a query method / relation. */
53
+ const SCHEMA_ARGUMENT = z.object({
54
+ name: z.string(),
55
+ type: z.string(),
56
+ description: z.string(),
57
+ });
58
+ /** A query method (the source field itself) + its arguments. */
59
+ const SCHEMA_QUERY_METHOD = z.object({
60
+ name: z.string(),
61
+ dotted_name: z.string(),
62
+ arguments: z.array(SCHEMA_ARGUMENT),
63
+ });
64
+ /** A relation field on the source's inner type (Term→Posts, …). */
65
+ const SCHEMA_RELATION = z.object({
66
+ name: z.string(),
67
+ dotted_name: z.string(),
68
+ relation_fields: z.array(z.string()),
69
+ arguments: z.array(SCHEMA_ARGUMENT),
70
+ provides_archive_context: z.boolean(),
71
+ });
72
+ /** The B6 archive-context descriptor (the current-term traversal). */
73
+ const SCHEMA_ARCHIVE_CONTEXT = z.object({
74
+ query_method: z.string(),
75
+ dotted_name: z.string(),
76
+ relation_field: z.string(),
77
+ current_term_arg: z.string(),
78
+ });
79
+ /**
80
+ * U4 — the `source_get_schema` outputSchema. A default (strip) ZodObject so a
81
+ * strict (`additionalProperties:false`) host accepts the structuredContent and
82
+ * the shape-pin guard's `.strict()` re-parse passes.
83
+ */
84
+ export const SOURCE_SCHEMA_OUTPUT_SCHEMA = z.object({
85
+ source_name: z.string(),
86
+ label: z.string(),
87
+ group: z.string(),
88
+ type: z.string(),
89
+ query_methods: z.array(SCHEMA_QUERY_METHOD),
90
+ relations: z.array(SCHEMA_RELATION),
91
+ provides_archive_context: z.boolean(),
92
+ archive_context: SCHEMA_ARCHIVE_CONTEXT.nullable(),
93
+ });
50
94
  // ─── sources_list ────────────────────────────────────────────────────
51
95
  /** Default page size for sources_list when `limit` is omitted (G-B). */
52
96
  const DEFAULT_SOURCES_LIMIT = 50;
@@ -136,6 +180,44 @@ export async function handleSourcesList({ client }, { fields, limit, cursor, nam
136
180
  });
137
181
  }
138
182
  }
183
+ // ─── source_get_schema (U4 — B2 + B6) ────────────────────────────────
184
+ /**
185
+ * U4 (B2 + B6) — the single largest agent-efficiency lever (Glöckle). Reads
186
+ * ONE source's query methods + their arguments + RELATIONS (Term→Posts etc.)
187
+ * and the `provides_archive_context` flag in ONE call, so an agent no longer
188
+ * SSH-dives YOOtheme PHP (`TaxonomyType`/`Helper`/`CustomPostQueryType`) to
189
+ * discover the native relation binding + the `id:0` current-term convention.
190
+ *
191
+ * Issues `GET /sources/<name>/schema` against the plugin REST (the same shared
192
+ * `SourceRegistry::getSourceSchema()` engine the plugin-served MCP uses), so
193
+ * proxy-mode and plugin-served return byte-identical schemas. A 404
194
+ * (unknown source / YT-not-loaded) becomes a structured `source_not_found`.
195
+ */
196
+ export async function handleSourceGetSchema({ client }, { name, max_chars }) {
197
+ try {
198
+ const data = await client.get(`/sources/${encodeURIComponent(name)}/schema`);
199
+ const schema = mapSourceSchema(data);
200
+ const toolkitResult = detailResult(buildSourceSchemaDetail(schema));
201
+ return structuredResult(applyMaxChars(toolkitResult, max_chars), {
202
+ source_name: schema.source_name,
203
+ label: schema.label,
204
+ group: schema.group,
205
+ type: schema.type,
206
+ query_methods: schema.query_methods,
207
+ relations: schema.relations,
208
+ provides_archive_context: schema.provides_archive_context,
209
+ archive_context: schema.archive_context,
210
+ });
211
+ }
212
+ catch (e) {
213
+ return errorResult({
214
+ error: e,
215
+ context: { name },
216
+ hint: 'List valid source names with yootheme_builder_sources_list, then retry ' +
217
+ 'yootheme_builder_source_get_schema with an exact name.',
218
+ });
219
+ }
220
+ }
139
221
  // ─── element_get_binding ─────────────────────────────────────────────
140
222
  export async function handleElementGetBinding({ client }, { template_id, element_path }) {
141
223
  const encoded = encodeElementPath(element_path);
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/tools/sources/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/tools/sources/handlers.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,41 @@ export declare const MAX_CHARS: z.ZodOptional<z.ZodNumber>;
57
57
  */
58
58
  export declare function decodeOffsetCursor(cursor: string | undefined): number;
59
59
  export declare function encodeOffsetCursor(offset: number): string;
60
+ /**
61
+ * B7 (Glöckle continuation cursor): the outcome of windowing a text leg —
62
+ * the (possibly clipped) slice plus enough metadata for the caller to emit a
63
+ * continuation cursor. `clipped` is true ONLY when there is MORE text after
64
+ * the returned slice; `nextOffset` is the char index a follow-up read must
65
+ * resume from (always `offset + slice.length` of the RAW slice, before the
66
+ * marker is appended) so paging is loss-free and the marker never counts
67
+ * against the offset.
68
+ */
69
+ export interface TextWindow {
70
+ /** The windowed slice (with a truncation marker appended iff `clipped`). */
71
+ readonly text: string;
72
+ /** True iff text remains AFTER this slice (caller should emit next_cursor). */
73
+ readonly clipped: boolean;
74
+ /** Char offset to resume from on the next read (only meaningful if clipped). */
75
+ readonly nextOffset: number;
76
+ /** The offset this window started at (echoed for the cursor contract). */
77
+ readonly offset: number;
78
+ }
79
+ /**
80
+ * B7: window a string from `offset` for up to `maxChars` chars, reporting
81
+ * whether anything remains after the slice.
82
+ *
83
+ * Pure. When `maxChars` is undefined the WHOLE remainder from `offset` is
84
+ * returned unclipped (the default, no-cursor path). When the remainder fits
85
+ * within `maxChars` it is returned unclipped. Otherwise the slice is capped
86
+ * (reserving room for the truncation marker so the returned text never exceeds
87
+ * `maxChars`) and `clipped` is true with `nextOffset` pointing one past the
88
+ * last raw char emitted — so a follow-up read resumes EXACTLY where this one
89
+ * stopped, losing no characters.
90
+ *
91
+ * `offset` is clamped to `[0, text.length]`; a `nextOffset === text.length`
92
+ * read returns an empty, unclipped final slice (the natural end of paging).
93
+ */
94
+ export declare function clipTextWindow(text: string, offset: number, maxChars: number | undefined): TextWindow;
60
95
  /**
61
96
  * G-B: cap the text leg of an already-built tool result at `maxChars`.
62
97
  *
@@ -67,7 +102,8 @@ export declare function encodeOffsetCursor(offset: number): string;
67
102
  * when the first block is not text, or when the text is already within budget.
68
103
  *
69
104
  * The slice reserves room for the truncation marker so the returned text never
70
- * exceeds `maxChars`.
105
+ * exceeds `maxChars`. B7: implemented on top of {@link clipTextWindow} (offset
106
+ * 0) so the simple cap and the continuation-cursor path clip identically.
71
107
  */
72
108
  export declare function applyMaxChars<R extends {
73
109
  content: ToolContent[];
@@ -1 +1 @@
1
- {"version":3,"file":"sparse-fields.d.ts","sourceRoot":"","sources":["../../src/tools/sparse-fields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D;;;;GAIG;AACH,eAAO,MAAM,MAAM,wCASd,CAAC;AAEN;;;;GAIG;AACH,eAAO,MAAM,IAAI,4BAMZ,CAAC;AAEN;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,4BAWjB,CAAC;AAEN;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAYrE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEzD;AAKD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,WAAW,EAAE,CAAA;CAAE,EAC9D,MAAM,EAAE,CAAC,EACT,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC7B,CAAC,CAcH;AAID;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAMtD,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAIxD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAIlD,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAKxD,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAKtD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAAE,GAAG,SAAqB,CAAC;AAInF;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACrC,SAAS,EAAE,SAAS,MAAM,EAAE,GAC7B,CAAC,EAAE,CAWL;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,GAAG,EAAE,CAAC,EACN,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACrC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GACzC,CAAC,CAQH;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACxC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GACxC,SAAS,MAAM,EAAE,GAAG,SAAS,CAI/B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,kBAAkB;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,+DAA+D;IAC/D,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C;AAED,wBAAgB,kBAAkB,CAC9B,KAAK,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACzC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GACzC,kBAAkB,GAAG,SAAS,CAkBhC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAC7B,QAAQ,EAAE,kBAAkB,GAAG,SAAS,GACzC,MAAM,CAQR;AAgBD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,EAAE,CAM1E"}
1
+ {"version":3,"file":"sparse-fields.d.ts","sourceRoot":"","sources":["../../src/tools/sparse-fields.ts"],"names":[],"mappings":"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"}
@@ -95,6 +95,36 @@ export function encodeOffsetCursor(offset) {
95
95
  }
96
96
  /** Marker appended when {@link applyMaxChars} truncates a text leg. */
97
97
  const TRUNCATION_MARKER = '\n--- TRUNCATED by max_chars ---';
98
+ /**
99
+ * B7: window a string from `offset` for up to `maxChars` chars, reporting
100
+ * whether anything remains after the slice.
101
+ *
102
+ * Pure. When `maxChars` is undefined the WHOLE remainder from `offset` is
103
+ * returned unclipped (the default, no-cursor path). When the remainder fits
104
+ * within `maxChars` it is returned unclipped. Otherwise the slice is capped
105
+ * (reserving room for the truncation marker so the returned text never exceeds
106
+ * `maxChars`) and `clipped` is true with `nextOffset` pointing one past the
107
+ * last raw char emitted — so a follow-up read resumes EXACTLY where this one
108
+ * stopped, losing no characters.
109
+ *
110
+ * `offset` is clamped to `[0, text.length]`; a `nextOffset === text.length`
111
+ * read returns an empty, unclipped final slice (the natural end of paging).
112
+ */
113
+ export function clipTextWindow(text, offset, maxChars) {
114
+ const start = Math.min(Math.max(0, offset), text.length);
115
+ const remainder = text.slice(start);
116
+ if (maxChars === undefined || remainder.length <= maxChars) {
117
+ return { text: remainder, clipped: false, nextOffset: text.length, offset: start };
118
+ }
119
+ const room = Math.max(0, maxChars - TRUNCATION_MARKER.length);
120
+ const rawSlice = remainder.slice(0, room);
121
+ return {
122
+ text: rawSlice + TRUNCATION_MARKER,
123
+ clipped: true,
124
+ nextOffset: start + rawSlice.length,
125
+ offset: start,
126
+ };
127
+ }
98
128
  /**
99
129
  * G-B: cap the text leg of an already-built tool result at `maxChars`.
100
130
  *
@@ -105,7 +135,8 @@ const TRUNCATION_MARKER = '\n--- TRUNCATED by max_chars ---';
105
135
  * when the first block is not text, or when the text is already within budget.
106
136
  *
107
137
  * The slice reserves room for the truncation marker so the returned text never
108
- * exceeds `maxChars`.
138
+ * exceeds `maxChars`. B7: implemented on top of {@link clipTextWindow} (offset
139
+ * 0) so the simple cap and the continuation-cursor path clip identically.
109
140
  */
110
141
  export function applyMaxChars(result, maxChars) {
111
142
  if (maxChars === undefined)
@@ -114,14 +145,13 @@ export function applyMaxChars(result, maxChars) {
114
145
  if (first === undefined || first.type !== 'text' || typeof first.text !== 'string') {
115
146
  return result;
116
147
  }
117
- if (first.text.length <= maxChars)
148
+ const window = clipTextWindow(first.text, 0, maxChars);
149
+ if (!window.clipped)
118
150
  return result;
119
- const room = Math.max(0, maxChars - TRUNCATION_MARKER.length);
120
- const truncated = first.text.slice(0, room) + TRUNCATION_MARKER;
121
151
  const rest = result.content.slice(1);
122
152
  return {
123
153
  ...result,
124
- content: [{ ...first, text: truncated }, ...rest],
154
+ content: [{ ...first, text: window.text }, ...rest],
125
155
  };
126
156
  }
127
157
  // ─── Default field-sets per tool ─────────────────────────────────────