@superdoc-dev/cli 0.2.0-next.6 → 0.2.0-next.7

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 (2) hide show
  1. package/dist/index.js +451 -27
  2. package/package.json +8 -8
package/dist/index.js CHANGED
@@ -408,7 +408,7 @@ var init_args = __esm(() => {
408
408
  });
409
409
 
410
410
  // ../../packages/document-api/src/types/base.ts
411
- var NODE_KINDS, NODE_TYPES, BLOCK_NODE_TYPES, INLINE_NODE_TYPES;
411
+ var NODE_KINDS, NODE_TYPES, BLOCK_NODE_TYPES, DELETABLE_BLOCK_NODE_TYPES, INLINE_NODE_TYPES;
412
412
  var init_base = __esm(() => {
413
413
  NODE_KINDS = ["block", "inline"];
414
414
  NODE_TYPES = [
@@ -438,6 +438,13 @@ var init_base = __esm(() => {
438
438
  "image",
439
439
  "sdt"
440
440
  ];
441
+ DELETABLE_BLOCK_NODE_TYPES = [
442
+ "paragraph",
443
+ "heading",
444
+ "listItem",
445
+ "table",
446
+ "sdt"
447
+ ];
441
448
  INLINE_NODE_TYPES = [
442
449
  "run",
443
450
  "bookmark",
@@ -480,7 +487,6 @@ function buildDiscoveryResult(params) {
480
487
  page: params.page
481
488
  };
482
489
  }
483
-
484
490
  // ../../packages/document-api/src/types/index.ts
485
491
  var init_types = __esm(() => {
486
492
  init_base();
@@ -638,6 +644,27 @@ var init_operation_definitions = __esm(() => {
638
644
  referenceDocPath: "delete.mdx",
639
645
  referenceGroup: "core"
640
646
  },
647
+ "blocks.delete": {
648
+ memberPath: "blocks.delete",
649
+ description: "Delete an entire block node (paragraph, heading, list item, table, image, or sdt) deterministically.",
650
+ requiresDocumentContext: true,
651
+ metadata: mutationOperation({
652
+ idempotency: "conditional",
653
+ supportsDryRun: true,
654
+ supportsTrackedMode: false,
655
+ possibleFailureCodes: NONE_FAILURES,
656
+ throws: [
657
+ "TARGET_NOT_FOUND",
658
+ "AMBIGUOUS_TARGET",
659
+ "CAPABILITY_UNAVAILABLE",
660
+ "INVALID_TARGET",
661
+ "INVALID_INPUT",
662
+ "INTERNAL_ERROR"
663
+ ]
664
+ }),
665
+ referenceDocPath: "blocks/delete.mdx",
666
+ referenceGroup: "blocks"
667
+ },
641
668
  "format.apply": {
642
669
  memberPath: "format.apply",
643
670
  description: "Apply explicit inline style changes (bold, italic, underline, strike) to the target range using boolean patch semantics.",
@@ -1400,7 +1427,7 @@ function buildInternalContractSchemas() {
1400
1427
  operations
1401
1428
  };
1402
1429
  }
1403
- var nodeTypeValues, blockNodeTypeValues, inlineNodeTypeValues, knownTargetKindValues, SHARED_DEFS, rangeSchema, positionSchema, inlineAnchorSchema, targetKindSchema, textAddressSchema, textTargetSchema, blockNodeAddressSchema, paragraphAddressSchema, headingAddressSchema, listItemAddressSchema, inlineNodeAddressSchema, nodeAddressSchema, commentAddressSchema, trackedChangeAddressSchema, entityAddressSchema, resolvedHandleSchema, pageInfoSchema, receiptSuccessSchema, textMutationRangeSchema, textMutationResolutionSchema, textMutationSuccessSchema, matchRunSchema, matchBlockSchema, trackChangeRefSchema, createParagraphSuccessSchema, createHeadingSuccessSchema, headingLevelSchema, listsInsertSuccessSchema, listsMutateItemSuccessSchema, listsExitSuccessSchema, nodeSummarySchema, nodeInfoSchema, matchContextSchema, unknownNodeDiagnosticSchema, textSelectorSchema, nodeSelectorSchema, selectorShorthandSchema, selectSchema, findInputSchema, findItemDomainSchema, findOutputSchema, documentInfoCountsSchema, documentInfoOutlineItemSchema, documentInfoCapabilitiesSchema, documentInfoSchema, listKindSchema, listInsertPositionSchema, listItemInfoSchema, listItemDomainItemSchema, listsListResultSchema, commentInfoSchema, commentDomainItemSchema, commentsListResultSchema, trackChangeInfoSchema, trackChangeDomainItemSchema, trackChangesListResultSchema, capabilityReasonCodeSchema, capabilityReasonsSchema, capabilityFlagSchema, operationRuntimeCapabilitySchema, operationCapabilitiesSchema, formatCapabilitiesSchema, capabilitiesOutputSchema, strictEmptyObjectSchema, insertInputSchema, operationSchemas;
1430
+ var nodeTypeValues, blockNodeTypeValues, deletableBlockNodeTypeValues, inlineNodeTypeValues, knownTargetKindValues, SHARED_DEFS, rangeSchema, positionSchema, inlineAnchorSchema, targetKindSchema, textAddressSchema, textTargetSchema, blockNodeAddressSchema, deletableBlockNodeAddressSchema, paragraphAddressSchema, headingAddressSchema, listItemAddressSchema, inlineNodeAddressSchema, nodeAddressSchema, commentAddressSchema, trackedChangeAddressSchema, entityAddressSchema, resolvedHandleSchema, pageInfoSchema, receiptSuccessSchema, textMutationRangeSchema, textMutationResolutionSchema, textMutationSuccessSchema, matchRunSchema, matchBlockSchema, trackChangeRefSchema, createParagraphSuccessSchema, createHeadingSuccessSchema, headingLevelSchema, listsInsertSuccessSchema, listsMutateItemSuccessSchema, listsExitSuccessSchema, nodeSummarySchema, nodeInfoSchema, matchContextSchema, unknownNodeDiagnosticSchema, textSelectorSchema, nodeSelectorSchema, selectorShorthandSchema, selectSchema, findInputSchema, findItemDomainSchema, findOutputSchema, documentInfoCountsSchema, documentInfoOutlineItemSchema, documentInfoCapabilitiesSchema, documentInfoSchema, listKindSchema, listInsertPositionSchema, listItemInfoSchema, listItemDomainItemSchema, listsListResultSchema, commentInfoSchema, commentDomainItemSchema, commentsListResultSchema, trackChangeInfoSchema, trackChangeDomainItemSchema, trackChangesListResultSchema, capabilityReasonCodeSchema, capabilityReasonsSchema, capabilityFlagSchema, operationRuntimeCapabilitySchema, operationCapabilitiesSchema, formatCapabilitiesSchema, capabilitiesOutputSchema, strictEmptyObjectSchema, insertInputSchema, operationSchemas;
1404
1431
  var init_schemas = __esm(() => {
1405
1432
  init_command_catalog();
1406
1433
  init_types2();
@@ -1409,6 +1436,7 @@ var init_schemas = __esm(() => {
1409
1436
  init_format();
1410
1437
  nodeTypeValues = NODE_TYPES;
1411
1438
  blockNodeTypeValues = BLOCK_NODE_TYPES;
1439
+ deletableBlockNodeTypeValues = DELETABLE_BLOCK_NODE_TYPES;
1412
1440
  inlineNodeTypeValues = INLINE_NODE_TYPES;
1413
1441
  knownTargetKindValues = [
1414
1442
  "text",
@@ -1456,6 +1484,11 @@ var init_schemas = __esm(() => {
1456
1484
  nodeType: { enum: [...blockNodeTypeValues] },
1457
1485
  nodeId: { type: "string" }
1458
1486
  }, ["kind", "nodeType", "nodeId"]),
1487
+ DeletableBlockNodeAddress: objectSchema({
1488
+ kind: { const: "block" },
1489
+ nodeType: { enum: [...deletableBlockNodeTypeValues] },
1490
+ nodeId: { type: "string" }
1491
+ }, ["kind", "nodeType", "nodeId"]),
1459
1492
  ParagraphAddress: objectSchema({
1460
1493
  kind: { const: "block" },
1461
1494
  nodeType: { const: "paragraph" },
@@ -1562,6 +1595,7 @@ var init_schemas = __esm(() => {
1562
1595
  textAddressSchema = ref("TextAddress");
1563
1596
  textTargetSchema = ref("TextTarget");
1564
1597
  blockNodeAddressSchema = ref("BlockNodeAddress");
1598
+ deletableBlockNodeAddressSchema = ref("DeletableBlockNodeAddress");
1565
1599
  paragraphAddressSchema = ref("ParagraphAddress");
1566
1600
  headingAddressSchema = ref("HeadingAddress");
1567
1601
  listItemAddressSchema = ref("ListItemAddress");
@@ -1770,6 +1804,7 @@ var init_schemas = __esm(() => {
1770
1804
  capabilityReasonCodeSchema = {
1771
1805
  enum: [
1772
1806
  "COMMAND_UNAVAILABLE",
1807
+ "HELPER_UNAVAILABLE",
1773
1808
  "OPERATION_UNAVAILABLE",
1774
1809
  "TRACKED_MODE_UNAVAILABLE",
1775
1810
  "DRY_RUN_UNAVAILABLE",
@@ -1906,6 +1941,20 @@ var init_schemas = __esm(() => {
1906
1941
  success: textMutationSuccessSchema,
1907
1942
  failure: textMutationFailureSchemaFor("format.align")
1908
1943
  },
1944
+ "blocks.delete": {
1945
+ input: objectSchema({
1946
+ target: deletableBlockNodeAddressSchema
1947
+ }, ["target"]),
1948
+ output: objectSchema({
1949
+ success: { const: true },
1950
+ deleted: deletableBlockNodeAddressSchema
1951
+ }, ["success", "deleted"]),
1952
+ success: objectSchema({
1953
+ success: { const: true },
1954
+ deleted: deletableBlockNodeAddressSchema
1955
+ }, ["success", "deleted"]),
1956
+ failure: preApplyFailureResultSchemaFor("blocks.delete")
1957
+ },
1909
1958
  "create.paragraph": {
1910
1959
  input: objectSchema({
1911
1960
  at: {
@@ -2178,6 +2227,11 @@ var init_reference_doc_map = __esm(() => {
2178
2227
  description: "Primary read and write operations.",
2179
2228
  pagePath: "core/index.mdx"
2180
2229
  },
2230
+ blocks: {
2231
+ title: "Blocks",
2232
+ description: "Block-level structural operations.",
2233
+ pagePath: "blocks/index.mdx"
2234
+ },
2181
2235
  capabilities: {
2182
2236
  title: "Capabilities",
2183
2237
  description: "Runtime support discovery for capability-aware branching.",
@@ -2246,6 +2300,7 @@ var CAPABILITY_REASON_CODES;
2246
2300
  var init_capabilities = __esm(() => {
2247
2301
  CAPABILITY_REASON_CODES = [
2248
2302
  "COMMAND_UNAVAILABLE",
2303
+ "HELPER_UNAVAILABLE",
2249
2304
  "OPERATION_UNAVAILABLE",
2250
2305
  "TRACKED_MODE_UNAVAILABLE",
2251
2306
  "DRY_RUN_UNAVAILABLE",
@@ -2605,6 +2660,51 @@ var init_create = __esm(() => {
2605
2660
  init_errors2();
2606
2661
  });
2607
2662
 
2663
+ // ../../packages/document-api/src/blocks/blocks.ts
2664
+ function validateBlocksDeleteInput(input) {
2665
+ if (!input || typeof input !== "object") {
2666
+ throw new DocumentApiValidationError("INVALID_INPUT", "blocks.delete requires an input object.", {
2667
+ fields: ["input"]
2668
+ });
2669
+ }
2670
+ if (!input.target) {
2671
+ throw new DocumentApiValidationError("INVALID_INPUT", "blocks.delete requires a target.", {
2672
+ fields: ["target"]
2673
+ });
2674
+ }
2675
+ if (input.target.kind !== "block") {
2676
+ throw new DocumentApiValidationError("INVALID_INPUT", 'blocks.delete target must have kind "block".', {
2677
+ fields: ["target.kind"]
2678
+ });
2679
+ }
2680
+ if (!input.target.nodeId || typeof input.target.nodeId !== "string") {
2681
+ throw new DocumentApiValidationError("INVALID_INPUT", "blocks.delete target requires a nodeId string.", {
2682
+ fields: ["target.nodeId"]
2683
+ });
2684
+ }
2685
+ const { nodeType } = input.target;
2686
+ if (REJECTED_DELETE_NODE_TYPES.has(nodeType)) {
2687
+ throw new DocumentApiValidationError("INVALID_TARGET", `blocks.delete does not support "${nodeType}" targets. Table row/column operations are out of scope.`, { fields: ["target.nodeType"], nodeType });
2688
+ }
2689
+ if (!SUPPORTED_DELETE_NODE_TYPES.has(nodeType)) {
2690
+ throw new DocumentApiValidationError("INVALID_TARGET", `blocks.delete does not support "${nodeType}" targets.`, {
2691
+ fields: ["target.nodeType"],
2692
+ nodeType
2693
+ });
2694
+ }
2695
+ }
2696
+ function executeBlocksDelete(adapter, input, options) {
2697
+ validateBlocksDeleteInput(input);
2698
+ return adapter.delete(input, normalizeMutationOptions(options));
2699
+ }
2700
+ var SUPPORTED_DELETE_NODE_TYPES, REJECTED_DELETE_NODE_TYPES;
2701
+ var init_blocks = __esm(() => {
2702
+ init_base();
2703
+ init_errors2();
2704
+ SUPPORTED_DELETE_NODE_TYPES = new Set(DELETABLE_BLOCK_NODE_TYPES);
2705
+ REJECTED_DELETE_NODE_TYPES = new Set(["tableRow", "tableCell"]);
2706
+ });
2707
+
2608
2708
  // ../../packages/document-api/src/track-changes/track-changes.ts
2609
2709
  function executeTrackChangesList(adapter, input) {
2610
2710
  return adapter.list(input);
@@ -2657,6 +2757,7 @@ function buildDispatchTable(api) {
2657
2757
  insert: (input, options) => api.insert(input, options),
2658
2758
  replace: (input, options) => api.replace(input, options),
2659
2759
  delete: (input, options) => api.delete(input, options),
2760
+ "blocks.delete": (input, options) => api.blocks.delete(input, options),
2660
2761
  "format.apply": (input, options) => api.format.apply(input, options),
2661
2762
  "format.fontSize": (input, options) => api.format.fontSize(input, options),
2662
2763
  "format.fontFamily": (input, options) => api.format.fontFamily(input, options),
@@ -2780,6 +2881,11 @@ function createDocumentApi(adapters) {
2780
2881
  return executeTrackChangesDecide(adapters.trackChanges, input, options);
2781
2882
  }
2782
2883
  },
2884
+ blocks: {
2885
+ delete(input, options) {
2886
+ return executeBlocksDelete(adapters.blocks, input, options);
2887
+ }
2888
+ },
2783
2889
  create: {
2784
2890
  paragraph(input, options) {
2785
2891
  return executeCreateParagraph(adapters.create, input, options);
@@ -2847,6 +2953,7 @@ var init_src = __esm(() => {
2847
2953
  init_lists();
2848
2954
  init_replace();
2849
2955
  init_create();
2956
+ init_blocks();
2850
2957
  init_track_changes();
2851
2958
  init_capabilities();
2852
2959
  init_format();
@@ -3481,6 +3588,7 @@ var init_operation_hints = __esm(() => {
3481
3588
  insert: "inserted text",
3482
3589
  replace: "replaced text",
3483
3590
  delete: "deleted text",
3591
+ "blocks.delete": "deleted block",
3484
3592
  "format.apply": "applied style",
3485
3593
  "format.fontSize": "set font size",
3486
3594
  "format.fontFamily": "set font family",
@@ -3518,6 +3626,7 @@ var init_operation_hints = __esm(() => {
3518
3626
  insert: "mutationReceipt",
3519
3627
  replace: "mutationReceipt",
3520
3628
  delete: "mutationReceipt",
3629
+ "blocks.delete": "plain",
3521
3630
  "format.apply": "mutationReceipt",
3522
3631
  "format.fontSize": "mutationReceipt",
3523
3632
  "format.fontFamily": "mutationReceipt",
@@ -3555,6 +3664,7 @@ var init_operation_hints = __esm(() => {
3555
3664
  insert: null,
3556
3665
  replace: null,
3557
3666
  delete: null,
3667
+ "blocks.delete": "result",
3558
3668
  "format.apply": null,
3559
3669
  "format.fontSize": null,
3560
3670
  "format.fontFamily": null,
@@ -3602,6 +3712,7 @@ var init_operation_hints = __esm(() => {
3602
3712
  insert: "textMutation",
3603
3713
  replace: "textMutation",
3604
3714
  delete: "textMutation",
3715
+ "blocks.delete": "blocks",
3605
3716
  "format.apply": "textMutation",
3606
3717
  "format.fontSize": "textMutation",
3607
3718
  "format.fontFamily": "textMutation",
@@ -87393,9 +87504,9 @@ var init_remark_gfm_RDxetNVS_es = __esm(() => {
87393
87504
  emptyOptions4 = {};
87394
87505
  });
87395
87506
 
87396
- // ../../packages/superdoc/dist/chunks/src-DVVC7vA7.es.js
87397
- var exports_src_DVVC7vA7_es = {};
87398
- __export(exports_src_DVVC7vA7_es, {
87507
+ // ../../packages/superdoc/dist/chunks/src-B6O9kkNF.es.js
87508
+ var exports_src_B6O9kkNF_es = {};
87509
+ __export(exports_src_B6O9kkNF_es, {
87399
87510
  zt: () => defineMark,
87400
87511
  z: () => cM,
87401
87512
  yt: () => removeAwarenessStates,
@@ -94586,6 +94697,31 @@ function executeCreateHeading2(adapter, input2, options) {
94586
94697
  validateCreateLocation2(normalized.at, "create.heading");
94587
94698
  return adapter.heading(normalized, normalizeMutationOptions2(options));
94588
94699
  }
94700
+ function validateBlocksDeleteInput2(input2) {
94701
+ if (!input2 || typeof input2 !== "object")
94702
+ throw new DocumentApiValidationError2("INVALID_INPUT", "blocks.delete requires an input object.", { fields: ["input"] });
94703
+ if (!input2.target)
94704
+ throw new DocumentApiValidationError2("INVALID_INPUT", "blocks.delete requires a target.", { fields: ["target"] });
94705
+ if (input2.target.kind !== "block")
94706
+ throw new DocumentApiValidationError2("INVALID_INPUT", 'blocks.delete target must have kind "block".', { fields: ["target.kind"] });
94707
+ if (!input2.target.nodeId || typeof input2.target.nodeId !== "string")
94708
+ throw new DocumentApiValidationError2("INVALID_INPUT", "blocks.delete target requires a nodeId string.", { fields: ["target.nodeId"] });
94709
+ const { nodeType } = input2.target;
94710
+ if (REJECTED_DELETE_NODE_TYPES2.has(nodeType))
94711
+ throw new DocumentApiValidationError2("INVALID_TARGET", `blocks.delete does not support "${nodeType}" targets. Table row/column operations are out of scope.`, {
94712
+ fields: ["target.nodeType"],
94713
+ nodeType
94714
+ });
94715
+ if (!SUPPORTED_DELETE_NODE_TYPES2.has(nodeType))
94716
+ throw new DocumentApiValidationError2("INVALID_TARGET", `blocks.delete does not support "${nodeType}" targets.`, {
94717
+ fields: ["target.nodeType"],
94718
+ nodeType
94719
+ });
94720
+ }
94721
+ function executeBlocksDelete2(adapter, input2, options) {
94722
+ validateBlocksDeleteInput2(input2);
94723
+ return adapter.delete(input2, normalizeMutationOptions2(options));
94724
+ }
94589
94725
  function executeTrackChangesList2(adapter, input2) {
94590
94726
  return adapter.list(input2);
94591
94727
  }
@@ -94635,6 +94771,7 @@ function buildDispatchTable2(api) {
94635
94771
  insert: (input2, options) => api.insert(input2, options),
94636
94772
  replace: (input2, options) => api.replace(input2, options),
94637
94773
  delete: (input2, options) => api.delete(input2, options),
94774
+ "blocks.delete": (input2, options) => api.blocks.delete(input2, options),
94638
94775
  "format.apply": (input2, options) => api.format.apply(input2, options),
94639
94776
  "format.fontSize": (input2, options) => api.format.fontSize(input2, options),
94640
94777
  "format.fontFamily": (input2, options) => api.format.fontFamily(input2, options),
@@ -94760,6 +94897,9 @@ function createDocumentApi2(adapters) {
94760
94897
  return executeTrackChangesDecide2(adapters.trackChanges, input2, options);
94761
94898
  }
94762
94899
  },
94900
+ blocks: { delete(input2, options) {
94901
+ return executeBlocksDelete2(adapters.blocks, input2, options);
94902
+ } },
94763
94903
  create: {
94764
94904
  paragraph(input2, options) {
94765
94905
  return executeCreateParagraph2(adapters.create, input2, options);
@@ -94825,6 +94965,12 @@ function hasAllCommands(editor, operationId) {
94825
94965
  return true;
94826
94966
  return required.every((command$1) => hasCommand(editor, command$1));
94827
94967
  }
94968
+ function hasRequiredHelpers(editor, operationId) {
94969
+ const check = REQUIRED_HELPERS[operationId];
94970
+ if (!check)
94971
+ return true;
94972
+ return check(editor);
94973
+ }
94828
94974
  function hasMarkCapability(editor, markName) {
94829
94975
  return Boolean(editor.schema?.marks?.[markName]);
94830
94976
  }
@@ -94866,7 +95012,7 @@ function isOperationAvailable(editor, operationId) {
94866
95012
  return MARK_KEYS2.some((key$1) => hasMarkCapability(editor, STYLE_MARK_SCHEMA_NAMES[key$1] ?? key$1));
94867
95013
  if (INLINE_FORMAT_OPERATIONS.has(operationId))
94868
95014
  return hasAllCommands(editor, operationId) && hasMarkCapability(editor, "textStyle");
94869
- return hasAllCommands(editor, operationId);
95015
+ return hasAllCommands(editor, operationId) && hasRequiredHelpers(editor, operationId);
94870
95016
  }
94871
95017
  function isCommandBackedAvailability(operationId) {
94872
95018
  return !isMarkBackedOperation(operationId) && !INLINE_FORMAT_OPERATIONS.has(operationId);
@@ -94880,8 +95026,12 @@ function buildOperationCapabilities(editor) {
94880
95026
  const dryRun = metadata.supportsDryRun && available;
94881
95027
  const reasons = [];
94882
95028
  if (!available) {
94883
- if (isCommandBackedAvailability(operationId))
94884
- pushReason(reasons, "COMMAND_UNAVAILABLE");
95029
+ if (isCommandBackedAvailability(operationId)) {
95030
+ if (!hasAllCommands(editor, operationId))
95031
+ pushReason(reasons, "COMMAND_UNAVAILABLE");
95032
+ if (!hasRequiredHelpers(editor, operationId))
95033
+ pushReason(reasons, "HELPER_UNAVAILABLE");
95034
+ }
94885
95035
  pushReason(reasons, "OPERATION_UNAVAILABLE");
94886
95036
  }
94887
95037
  if (metadata.supportsTrackedMode && !tracked)
@@ -95391,7 +95541,8 @@ function buildBlockIndex(editor) {
95391
95541
  });
95392
95542
  return {
95393
95543
  candidates,
95394
- byId
95544
+ byId,
95545
+ ambiguous
95395
95546
  };
95396
95547
  }
95397
95548
  function findBlockById(index2, address2) {
@@ -95399,6 +95550,15 @@ function findBlockById(index2, address2) {
95399
95550
  return;
95400
95551
  return index2.byId.get(`${address2.nodeType}:${address2.nodeId}`);
95401
95552
  }
95553
+ function findBlockByIdStrict(index2, address2) {
95554
+ const key$1 = `${address2.nodeType}:${address2.nodeId}`;
95555
+ if (index2.ambiguous.has(key$1))
95556
+ throw new DocumentApiAdapterError("AMBIGUOUS_TARGET", `Multiple blocks share key "${key$1}".`, { target: address2 });
95557
+ const candidate = index2.byId.get(key$1);
95558
+ if (!candidate)
95559
+ throw new DocumentApiAdapterError("TARGET_NOT_FOUND", `Block "${key$1}" was not found.`, { target: address2 });
95560
+ return candidate;
95561
+ }
95402
95562
  function isTextBlockCandidate(candidate) {
95403
95563
  const node3 = candidate.node;
95404
95564
  return Boolean(node3?.inlineContent || node3?.isTextblock);
@@ -96984,7 +97144,8 @@ function buildAssertIndex(doc$2) {
96984
97144
  });
96985
97145
  return {
96986
97146
  candidates,
96987
- byId
97147
+ byId,
97148
+ ambiguous
96988
97149
  };
96989
97150
  }
96990
97151
  function resolveAssertScope(index2, select2, within$1) {
@@ -98358,6 +98519,58 @@ function createCommentsWrapper(editor) {
98358
98519
  list: (query2) => listCommentsHandler(editor, query2)
98359
98520
  };
98360
98521
  }
98522
+ function validateTargetNodeType(nodeType) {
98523
+ if (REJECTED_NODE_TYPES.has(nodeType))
98524
+ throw new DocumentApiAdapterError("INVALID_TARGET", `blocks.delete does not support "${nodeType}" targets. Table row/column operations are out of scope.`, { nodeType });
98525
+ if (!SUPPORTED_NODE_TYPES.has(nodeType))
98526
+ throw new DocumentApiAdapterError("INVALID_TARGET", `blocks.delete does not support "${nodeType}" targets.`, { nodeType });
98527
+ }
98528
+ function resolveSdBlockId(candidate) {
98529
+ const sdBlockId = candidate.node.attrs?.sdBlockId;
98530
+ if (typeof sdBlockId === "string" && sdBlockId.length > 0)
98531
+ return sdBlockId;
98532
+ throw new DocumentApiAdapterError("INTERNAL_ERROR", "Resolved block candidate is missing sdBlockId attribute. This indicates a schema/extension invariant violation.", { attrs: candidate.node.attrs });
98533
+ }
98534
+ function validateCommandLayerUniqueness(editor, sdBlockId) {
98535
+ const getBlockNodeById = editor.helpers?.blockNode?.getBlockNodeById;
98536
+ if (typeof getBlockNodeById !== "function")
98537
+ throw new DocumentApiAdapterError("CAPABILITY_UNAVAILABLE", "blocks.delete requires the blockNode helper to be registered.", { reason: "missing_helper" });
98538
+ const matches2 = getBlockNodeById(sdBlockId);
98539
+ if (!matches2 || Array.isArray(matches2) && matches2.length === 0)
98540
+ throw new DocumentApiAdapterError("TARGET_NOT_FOUND", `Block with sdBlockId "${sdBlockId}" was not found at the command layer.`, { sdBlockId });
98541
+ if (Array.isArray(matches2) && matches2.length > 1)
98542
+ throw new DocumentApiAdapterError("AMBIGUOUS_TARGET", `Multiple blocks share sdBlockId "${sdBlockId}" at the command layer.`, {
98543
+ sdBlockId,
98544
+ count: matches2.length
98545
+ });
98546
+ }
98547
+ function blocksDeleteWrapper(editor, input2, options) {
98548
+ rejectTrackedMode("blocks.delete", options);
98549
+ const candidate = findBlockByIdStrict(getBlockIndex(editor), input2.target);
98550
+ validateTargetNodeType(candidate.nodeType);
98551
+ const sdBlockId = resolveSdBlockId(candidate);
98552
+ const deleteBlockNodeById = requireEditorCommand(editor.commands?.deleteBlockNodeById, "blocks.delete");
98553
+ validateCommandLayerUniqueness(editor, sdBlockId);
98554
+ if (options?.dryRun)
98555
+ return {
98556
+ success: true,
98557
+ deleted: input2.target
98558
+ };
98559
+ if (executeDomainCommand(editor, () => {
98560
+ const didApply = deleteBlockNodeById(sdBlockId);
98561
+ if (didApply)
98562
+ clearIndexCache(editor);
98563
+ return didApply;
98564
+ }, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
98565
+ throw new DocumentApiAdapterError("INTERNAL_ERROR", "blocks.delete command returned false despite passing all pre-apply checks. This is an internal invariant violation.", {
98566
+ sdBlockId,
98567
+ target: input2.target
98568
+ });
98569
+ return {
98570
+ success: true,
98571
+ deleted: input2.target
98572
+ };
98573
+ }
98361
98574
  function getRawTrackedMarks(editor) {
98362
98575
  try {
98363
98576
  const marks = getTrackChanges(editor.state);
@@ -100681,6 +100894,7 @@ function getDocumentApiAdapters(editor) {
100681
100894
  acceptAll: (input2, options) => trackChangesAcceptAllWrapper(editor, input2, options),
100682
100895
  rejectAll: (input2, options) => trackChangesRejectAllWrapper(editor, input2, options)
100683
100896
  },
100897
+ blocks: { delete: (input2, options) => blocksDeleteWrapper(editor, input2, options) },
100684
100898
  create: {
100685
100899
  paragraph: (input2, options) => createParagraphWrapper(editor, input2, options),
100686
100900
  heading: (input2, options) => createHeadingWrapper(editor, input2, options)
@@ -134736,7 +134950,7 @@ var Node$13 = class Node$14 {
134736
134950
  console.warn("Failed to initialize developer tools:", error);
134737
134951
  }
134738
134952
  }
134739
- }, BLANK_DOCX_DATA_URI = `data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,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`, NODE_TYPES2, BLOCK_NODE_TYPES2, INLINE_NODE_TYPES2, MARK_KEYS2, MARK_KEY_SET2, NONE_FAILURES2, NONE_THROWS2, T_NOT_FOUND2, T_NOT_FOUND_CAPABLE2, T_PLAN_ENGINE2, T_QUERY_MATCH2, OPERATION_DEFINITIONS2, OPERATION_IDS2, COMMAND_CATALOG2, DocumentApiValidationError2, ALIGNMENTS2, ALIGNMENT_SET2, STYLE_APPLY_INPUT_ALLOWED_KEYS2, FONT_SIZE_ALLOWED_KEYS2, FONT_FAMILY_ALLOWED_KEYS2, COLOR_ALLOWED_KEYS2, ALIGN_ALLOWED_KEYS2, nodeTypeValues2, blockNodeTypeValues2, inlineNodeTypeValues2, rangeSchema2, textAddressSchema2, textTargetSchema2, blockNodeAddressSchema2, paragraphAddressSchema2, headingAddressSchema2, listItemAddressSchema2, nodeAddressSchema2, commentAddressSchema2, trackedChangeAddressSchema2, resolvedHandleSchema2, pageInfoSchema2, receiptSuccessSchema2, textMutationResolutionSchema2, textMutationSuccessSchema2, matchBlockSchema2, trackChangeRefSchema2, createParagraphSuccessSchema2, createHeadingSuccessSchema2, headingLevelSchema2, listsInsertSuccessSchema2, listsMutateItemSuccessSchema2, listsExitSuccessSchema2, nodeSummarySchema2, nodeInfoSchema2, matchContextSchema2, unknownNodeDiagnosticSchema2, textSelectorSchema2, nodeSelectorSchema2, findItemDomainSchema2, documentInfoCountsSchema2, documentInfoOutlineItemSchema2, documentInfoCapabilitiesSchema2, listKindSchema2, listInsertPositionSchema2, capabilityReasonsSchema2, capabilityFlagSchema2, operationRuntimeCapabilitySchema2, operationCapabilitiesSchema2, formatCapabilitiesSchema2, GROUP_METADATA2, CAPABILITY_REASON_CODES2, CREATE_COMMENT_ALLOWED_KEYS2, PATCH_COMMENT_ALLOWED_KEYS2, DELETE_INPUT_ALLOWED_KEYS2, INSERT_INPUT_ALLOWED_KEYS2, REPLACE_INPUT_ALLOWED_KEYS2, REQUIRED_COMMANDS, VALID_CAPABILITY_REASON_CODES, STYLE_MARK_SCHEMA_NAMES, INLINE_FORMAT_OPERATIONS, SUPPORTED_STEP_OPS, SUPPORTED_NON_UNIFORM_STRATEGIES, SUPPORTED_SET_MARKS, REGEX_MAX_PATTERN_LENGTH = 1024, DocumentApiAdapterError, LINK_MARK_NAME = "link", COMMENT_MARK_NAME, SUPPORTED_INLINE_TYPES, ALIAS_ELIGIBLE_TYPES, cacheByEditor, PlanError, revisionMap, subscribedEditors, registry, CORE_MARK_NAMES, METADATA_MARK_NAMES, SNIPPET_PADDING = 30, DUAL_KIND_TYPES, KNOWN_BLOCK_PM_NODE_TYPES, KNOWN_INLINE_PM_NODE_TYPES, MAX_PATTERN_LENGTH = 1024, REF_HANDLERS, DEFAULT_INLINE_POLICY, OBJECT_REPLACEMENT_CHAR = "", STUB_WHERE, MARK_KEY_TO_SCHEMA_NAME, FALLBACK_STORE_KEY = "__documentApiComments", DERIVED_ID_LENGTH = 24, groupedCache, CSS_NAMED_COLORS, registered = false, empty_exports, init_empty, PIXELS_PER_INCH$1 = 96, MAX_HEIGHT_BUFFER_PX = 50, MAX_WIDTH_BUFFER_PX = 20, Editor, ContextMenuPluginKey, MENU_OFFSET_X = 0, MENU_OFFSET_Y = 28, CONTEXT_MENU_OFFSET_X = 10, CONTEXT_MENU_OFFSET_Y = 10, SLASH_COOLDOWN_MS = 5000, ContextMenu, SearchQuery = class {
134953
+ }, BLANK_DOCX_DATA_URI = `data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,UEsDBBQAAAAIAAAAIQAykW9XXgEAAKUFAAATABwAW0NvbnRlbnRfVHlwZXNdLnhtbFVUCQADMNDOEjDQzhJ1eAsAAQT1AQAABBQAAAC1lMtqwzAQRfeF/oPRNthKuiilxMmij2UbaPoBijRORPVCmrz+vuM4NaWkMeSxMcgz994zQsxwvLEmW0FM2ruSDYo+y8BJr7Sbl+xz+po/sCyhcEoY76BkW0hsPLq9GU63AVJGapdKtkAMj5wnuQArUuEDOKpUPlqBdIxzHoT8EnPgd/3+PZfeITjMsfZgo+EzVGJpMHvZ0O+GJIJJLHtqGuuskokQjJYCqc5XTv1JyfcJBSl3PWmhQ+pRA+MHE+rK/wF73TtdTdQKsomI+CYsdfG1j4orL5eWlMVxmwOcvqq0hFZfu4XoJaREd25N0Vas0K7XxeGWdgaRlJcHaa07IRJuDaTLEzS+3fGASIJrAOydOxHWMPu4GsUv806QinKnYmbg8hitdScE0hqA5js4m2NncyySOifRh0RrJZ4w9s/eqNU5DRwgoj7+6tpEsj57PqhXkgJ1IJvvluzoG1BLAwQKAAAAAACTZE1bAAAAAAAAAAAAAAAACQAcAGRvY1Byb3BzL1VUCQADhhztaIcc7Wh1eAsAAQT1AQAABBQAAABQSwMEFAAAAAgAAAAhACEYr1llAQAAxQIAABAAHABkb2NQcm9wcy9hcHAueG1sVVQJAAMw0M4SMNDOEnV4CwABBPUBAAAEFAAAAJ1STU/DMAy9I/Efqt63dBwmNHlBaAhx4GPSCpyjxG0j0iRKson9e5wVSoEbOdnP9st7TuDqvTfFAUPUzq7LxbwqC7TSKW3bdflc384uyyImYZUwzuK6PGIsr/j5GWyD8xiSxlgQhY3rskvJrxiLssNexDmVLVUaF3qRKA0tc02jJd44ue/RJnZRVUuG7wmtQjXzI2E5MK4O6b+kysmsL77UR098HGrsvREJ+WOeNHPlUg9sRKF2SZha98grgscEtqLFyBfAhgBeXVAx9wwBbDoRhEy0vwxOMrj23mgpEu2VP2gZXHRNKp5OYos8DWzaAmRgh3IfdDpmqmkK99ri6YIhIFVBtEH47gROMthJYXBD1nkjTERg3wBsXO+FJTo2RsT3Fp997W7yFj5HfoITi686dTsvJP4yO8FhRygqUj8KGAG4o8cIJrPTrG1RffX8LeT1vQy/ki+W84rOaV9fGLkevwv/AFBLAwQUAAAACAAAACEACvOn+GYBAADtAgAAEQAcAGRvY1Byb3BzL2NvcmUueG1sVVQJAAMw0M4SMNDOEnV4CwABBPUBAAAEFAAAAJ2SXU+DMBSG7038D6T3UGBqDAGWTLMrZ0yc0XhX27Otjn6k7cb27y0wmMRdeXc+nvP29G3z6UFUwR6M5UoWKIliFICkinG5LtDbch7eo8A6IhmplIQCHcGiaXl9lVOdUWXgxSgNxnGwgVeSNqO6QBvndIaxpRsQxEaekL65UkYQ51OzxprQLVkDTuP4DgtwhBFHcCMY6kERnSQZHST1zlStAKMYKhAgncVJlOAz68AIe3Gg7fwiBXdHDRfRvjnQB8sHsK7rqJ60qN8/wR+Lp9f2qiGXjVcUUJkzmjnuKihzfA59ZHdf30BdVx4SH1MDxClTPnO6DWZgJKlapq83jm/hWCvDrJ8eZR5jYKnh2vl37LRHBU9XxLqFf9gVBzY7jo/5224mDOx58y/KtCWGND+Z3K0GLPDmZJ2Vfed98vC4nKMyjdObMEnD5G6Zpll8m8XxZ7PdaP4sKE4L/FuxF+gMGn/Q8gdQSwMECgAAAAAAk2RNWwAAAAAAAAAAAAAAAAYAHABfcmVscy9VVAkAA4Yc7WiHHO1odXgLAAEE9QEAAAQUAAAAUEsDBBQAAAAIAAAAIQAekRq36QAAAE4CAAALABwAX3JlbHMvLnJlbHNVVAkAAzDQzhIw0M4SdXgLAAEE9QEAAAQUAAAArZLBasMwDEDvg/2D0b1R2sEYo04vY9DbGNkHCFtJTBPb2GrX/v082NgCXelhR8vS05PQenOcRnXglF3wGpZVDYq9Cdb5XsNb+7x4AJWFvKUxeNZw4gyb5vZm/cojSSnKg4tZFYrPGgaR+IiYzcAT5SpE9uWnC2kiKc/UYySzo55xVdf3mH4zoJkx1dZqSFt7B6o9Rb6GHbrOGX4KZj+xlzMtkI/C3rJdxFTqk7gyjWop9SwabDAvJZyRYqwKGvC80ep6o7+nxYmFLAmhCYkv+3xmXBJa/ueK5hk/Nu8hWbRf4W8bnF1B8wFQSwMECgAAAAAAk2RNWwAAAAAAAAAAAAAAAAUAHAB3b3JkL1VUCQADhhztaIcc7Wh1eAsAAQT1AQAABBQAAABQSwMEFAAAAAgAoWRNW+xw0GIQAgAAtAcAABIAHAB3b3JkL2ZvbnRUYWJsZS54bWxVVAkAA54c7WieHO1odXgLAAEE9QEAAAQUAAAAvZPBbqMwEIbvlfoOlu8NhpA0RSFV222kvexh1T6AY0ywFtvI44Tk7dcYiBSyuy3tqiCEGf75mPnHLO8PskR7bkBoleJwQjDiiulMqG2KX1/WNwuMwFKV0VIrnuIjB3y/ur5a1kmulQXk8hUkkqW4sLZKggBYwSWFia64ci9zbSS17tFsA0nNr111w7SsqBUbUQp7DCJC5vj6CrmjZZn3oHSeC8a/abaTXFkPCQwvHVYrKEQFZ8j6Pcham6wymnEA170sW6ikQp2zwviCJgUzGnRuJ663rjbPc4yQ+JUsB5TZOEr0Z8qc8cM40KIDBS7zAiaycbD5CSayIexjZQ0p2W4UJ5r2FTW3Jn0IhMxmxThmP8GgyaWWFhSKCywf1+/sxDxKNwgkWfJ9q7Shm9KR3CZDbosgD0btZJobaieO+j6Qdwiv2mK6nxLViaLSUV6E5IB+8Br91JKqXtZJK6o08NCp97RMMWkanZMpmZHYXZFbxTg4T2EFNcDtKYUMBTmVojz2743/6kBSCcuKXrGnRjQdD0Ugtk6ygw1J8TMhJHper3EbCVP85CK3i9ljF4maSvxx10WmpwhpIsxz/GPYcpjnnDT915dB6+Bf/HzSOyO4aRx908tb59+d97TxMv60l1Jn3PzbzFwcePYRJ+PpVzv54MZevunho9uPsfewPT/rIdQC4P/sx4evdrFfwuo3UEsDBBQAAAAIAAAAIQCWFrgr1QIAAIgLAAARABwAd29yZC9kb2N1bWVudC54bWxVVAkAAzDQzhIw0M4SdXgLAAEE9QEAAAQUAAAApZZbb9sgFMffJ+07WH5v8S1OYjWttGab+jCpWrcPQIDEqAYsILd9+h3s+LJ5qxz3CXPg/PjDORxz93AShXdg2nAlV354G/gek0RRLncr/+ePLzcL3zMWS4oLJdnKPzPjP9x//HB3zKgie8Gk9QAhTXYsycrPrS0zhAzJmcDmVnCilVFbe0uUQGq75YSho9IURUEYVF+lVoQZA+s9YnnAxr/gyGkcjWp8BGcHTBDJsbbs1DHCqyEztESLISiaAIIdRuEQFV+NSpFTNQAlk0CgakCaTSP9Y3PpNFI0JM2nkeIhaTGNNEgnMUxwVTIJg1ulBbbQ1TsksH7dlzcALrHlG15wewZmkDYYzOXrBEXg1RJETK8mzJFQlBUxbShq5e+1zC7+N62/k57V/pem9WDFuGVhuSViJ1sY2/jqMWdXu68vhaU6NaRZAeeopMl52VYHMZUGg3kDObx1AAdR+G1lC0detf+VtnUdhg44Rv4ldqKolb9NDIMR0XSI1mOMhD/XbJQIyOBu4UlH0zvccGTxaQDRAJASNvJn0TAWFwYi3e12HD7yWjWctOVw2uNME9MD0P1ViChudLjGufdYhlqaX4drYoScL7Y4xybvE9l1G5y1uLPonXe5e9+l+qrVvuxo/H20p668HuV1GwzSvyNYmveJeclxCVVXkOxpJ5XGmwIUwVXz4LZ4VQS8Ol1d49U3wGti7VUJ5Lmq5d/DO22j6Nm1JQwkWYk1foI0T8JlmqTz0K+s8Jezzhoks+VivpyBNYM3If0OJkiveD3/1JqetTPGYZA8fm6Na7bF+8IOpz/3JiMnwzBin/VYfiV89/ILBqFihVGUBG4iJHQ4W8A3qid8w45oFRTWMKmnaL7LbdfdKGuV6PoF2/ZGc4Ypg3XnUdXdKmV73d3eVt3LckQVBqymxITVcyozvIe/aheSrOCSPXNLQGWcVqOo2Xf1WUcEdU/o+99QSwMEFAAAAAgAAAAhAMrnZYorBAAAvgwAABEAHAB3b3JkL3NldHRpbmdzLnhtbFVUCQADMNDOEjDQzhJ1eAsAAQT1AQAABBQAAAC1V22PmzgQ/n7S/QfE58uG1ySLmq3yervV5lqVre6zAZNYa2Nkm03T0/33GwwO9BZVSav9hJln5pnxeGYM795/ZdR6wUISXsxt98axLVykPCPFfm5/edqOZrYlFSoyRHmB5/YJS/v93e+/vTtGEisFatICikJGLJ3bB6XKaDyW6QEzJG94iQsAcy4YUvAq9mOGxHNVjlLOSqRIQihRp7HnOBO7peFzuxJF1FKMGEkFlzxXtUnE85ykuH0YC3GJ38ZkzdOK4UJpj2OBKcTAC3kgpTRs7GfZADwYkpcfbeKFUaN3dJ0LtnvkIjtbXBJebVAKnmIp4YAYNQGSonMcvCI6+74B3+0WNRWYu45e9SMPryPwXhFMUvz1Oo5ZyzEGyz4Pya7jmZx5SNbj+blgegRZdRWF55s46kdt3uOSmcoO19GZMxrXtkihA5KHPiO+boPhme7EunxLekkFNtAjSQQSp375sTR62BdcoIRCOFCGFlSSpaOzmqOsH1ZTHZbJg6WTa9/B1PnGObOOUYlFCq0HI8tz7HENQMHzPFZIAVEkS0ypnmEpxQj8HqO9QAymj5FomwznqKLqCSWx4iUovSDY3tRQpgckUKqwiEuUAtuKF0pwavQy/hdXK5hkAhqttdBzrVvFzYwEiwIx2PB3c2/HM1xHVgly+cnYxrsb9l3+3xGHmS5Ihp/qRMfqRPEWgo/JN7wosg+VVAQY9fT7hQh+FAAuas8foTSeTiXeYqQqSNMbOdMnsaWk3BEhuHgoMqiNN3NG8hwLcECg1nZQPkTwo87zPUYZXKVv5LeS+G9Qhs70n6Asn5dcKc7uT+UBcv1rJ6nrfdwvX/ggyKRZfOZcnVVhbPnr6bKJtEYvQXzXCVabQWTibN1hm0XgO/4gsnLXbjCMhLPlaggJboOJuxhCJqG3CcIhZLH0Zv5sCFku3Wk4iKxW/srfDiIbZz28n83Km04HY9vees7tpj2d9kxYVH9qfBJmVTe2xRqLFWKJIMja1R8j41ojEc9LUhg8wTClcR+Jq8SAo1EDSIYo3UKJGcBp5BmR5Rrnek13SOw73lZDDEphyn44c9VTG4s/Ba/KBj0KVDYNa1TcIGgtSaEeCTNyWSWxsSrgXulBVZF9fBE6T116jpGCBtCD7xHpRtK6uBh9idtGoyKumwTvUFk2vZbs3blNyf6g3Lo9FLxl8M2qX5K912KexrwG0y8orXcG2u2ik3lG1tPzjczvZIGRBZ0sNLKwk02MbFLLDjBdBVx1z9D2ZlnLc04pP+LsvsNficwlmBI48fjEku5uu2kwSiTMoRKuQcWFwf7QmBtEGU8f6vs6aOT+YhGuF860gUN9fSo9qiC1n3G+RBJnLWZMw8b0n8nEmbjuajYKZpvb0WYaBKOZu7wdTafO1PW3rufPnH/bPjA/Hnf/AVBLAwQUAAAACAAAACEA24Vsw30EAACXHQAAEgAcAHdvcmQvbnVtYmVyaW5nLnhtbFVUCQADMNDOEjDQzhJ1eAsAAQT1AQAABBQAAADNmc1u4zYQx+8F+g6CgB4Tifq2sM4iySZFFttF0U3RMy3RlhB+CBRlx9d9mT5CH2tfoaRkyXLkxJIctz4pJjk/zQxnyL+dDx+fCdaWiOcpo1MdXJq6hmjE4pQupvqfj/cXga7lAtIYYkbRVF+jXP949fNPH1YhLcgMcblQkwyah6ssmuqJEFloGHmUIALzS5JGnOVsLi4jRgw2n6cRMlaMx4ZlArP8K+MsQnkuObeQLmGub3DRcz9azOFKGiugY0QJ5AI9bxlgMMQ1JkbQBVkjQDJCC3RR9mCUZyivOiBnFEh61SG540h7gvPGkawuyR9HsrukYBypU06kW+AsQ1ROzhknUMiPfGEQyJ+K7EKCMyjSWYpTsZZM06sxMKVPIzySVg2B2PFggm8QFiNsxzWFTfWC03Bjf9HYK9fDyn7zaCwQ7vda+bqJgZ4FzkVty/vkrjL/xKKCICrKrBkcYZlHRvMkzZrTgYylycmkhizfSsCSYL052UDPVnvtaPtUbcMW2Mf9zd4RXHn+NhGYPXZTIRqLPi7svrP2hMgK3r54VGpayQU9D58aYHUAXoR6XhY1I9gwjGjb3YqT9myrmuM1nDRuccY50wLExSCEZdd+qIcyb7HyWMTJMFy9R4ayhQImME/aRDQsQLfBrUkr39niuKb6lbMi29LS42gP2+N1RYcFaHovdzDLj3PmWwIzeeqSKHxYUMbhDEuPZKtpslu0cge0qlzVQ6s6QKv3WisLSFOnln4lhRqc5YLDSHwtiLbz6UFWuxR8khlyJFUeV4OVprueC8RvOIJPaomi0Fy9LVxCeQUAD1jejenrhpohBRbpF7RE+HGdoXpNsp7xNP5NzWE1V60VJMP1Chfc3Tp3ZlDN4KWaSOWjcioUGZb3remYE9M0QelD6WPjRGUnZeg9aQZnBcZINMRHeQfVUz++/9OMf47qUYzmm+XZ71w9UqrCVMNT3bdKTxJIF6Ugtj1TrTWaxXzzuGdU5Cq5eZTKOvy2JjOGS9NrmbedgZRKcIzmUGZmAyspRunYy0yATibsckTeZ/JSXCK14ujMsKF5AY4zLjG3rOAp4tpXtGpl58VolHcXDsua1cma+/5Z+/H976F5s4A3Lm9/ydXqO1neytru2LAE2Xsa7AQJGtxwVhD83x3nnGXHyTycdce5Z9pxjj3yCH/vjvPOtONcc+RR/n4d559lx7n+yLP6P+q44Ew7znNGHuHHd5yxo24PSl8wRvq6gW8C++b6OOl7d+c5wL91+kjf+57bGKMoJRDv3cdfwOU7a9+echVMRhYlZivEvyAh92J/RNbgiA6p1p5aEtwcE9IfjEC6PyJ7X0Q8XSQDBCUIeoTUVX/3I0N6s+acwTt0SP71VGynKzp3cEiHhFtPOXWyovOGF11HU/Uquq4AOknR+YN36JAC6ilaTld0wfCQDmiXnoriZEU3GV50HVnxStF1NQAt737auvPVD2dhXJQ/q5WDMlTHn3jWy5/LHpprv34X3cO09jGdwHWB7wDwOhO0mUbrH6pX/wJQSwMEFAAAAAgAAAAhAL5+dmJWAQAA0AMAABQAHAB3b3JkL3dlYlNldHRpbmdzLnhtbFVUCQADMNDOEjDQzhJ1eAsAAQT1AQAABBQAAACd01FvwiAQAOD3JfsPhHelumlMYzVZFpe9LEu2/QAKV0sGXAO46n79aLWuiy92T0DLfbnjYLneG02+wHmFNqOTcUIJWIFS2W1GP943owUlPnAruUYLGT2Ap+vV7c2yTmvI3yCEuNOTqFifGpHRMoQqZcyLEgz3Y6zAxp8FOsNDXLotM9x97qqRQFPxoHKlVTiwaZLM6Ylx1yhYFErAI4qdARvaeOZARxGtL1XlO62+RqvRycqhAO9jPUYfPcOVPTOT+wvIKOHQYxHGsZhTRi0VwydJOzP6F5gNA6YXwFzAfpixOBksRvYdJYc587OjZM/5XzI9QO4GEdO7Lo9maMJ7lpdBlsO4rkesieWBl9yXfRGGFTg7cwfTnLcR6fPWouO5jlK8QSReAtLC5NiFZiDHxpKuBNKeC13FJ4ZVUEZ9wwbdg8Pag2PNZ6411q8vT3HB/rzD1Q9QSwMEFAAAAAgAAAAhAD+v4WZfDwAADaYAAA8AHAB3b3JkL3N0eWxlcy54bWxVVAkAAzDQzhIw0M4SdXgLAAEE9QEAAAQUAAAA3Z1tc9s2Esff38x9B45e9V6ksp5lT92O7STnzCWpWzvX1xAJWaj5oCOpOO6nPwB8EKUlKC64UdRMZlqL4v4I4L+7xIIU+dMvXwLf+czjREThZW/w41nP4aEbeSJ8vOx9enj7at5zkpSFHvOjkF/2XnjS++Xnf/7jp+eLJH3xeeJIQJhcBO5lb5Wm64t+P3FXPGDJj9Gah/LLZRQHLJUf48d+wOKnzfqVGwVrloqF8EX60h+enU17OSZuQ4mWS+Hy15G7CXiYavt+zH1JjMJkJdZJQXtuQ3uOYm8dRy5PEtnpwM94ARNhiRmMASgQbhwl0TL9UXYmb5FGSfPBmf4r8LeACQ4wBICpy7/gGPOc0ZeWVY7wcJxpyRFehWPXmArA26AQw1HRDvU/ZV5hJV7qrXC4QqO+smUpW7FkVSVyXAcnJe4lUOMduBfvHsMoZgtfkqQHOdIJHA12MhXU/5xMWKfogqPHpfezjC4vcl/zJdv4aaI+xndx/jH/pP/3NgrTxHm+YIkrxGXvKhZMDvHzBWdJepUI9iBbLg8fCNmS26swEerLlfqjsrObXPYeRCBD+SN/dn6PAhY6P1xH3otzc/+vXl8d6InHodzzM/Mve8NsU/JXuWFcbLlJ9rf5LHwstvHw1af7ausqmxbCk01i8av7K204GF/44pGlm1g2S33ShCwRxd6N7Db/km5k++XO/Xw8+vujtC4/ZXvtDalMGDJ93GdZTH7Ll+8j94l796n84rJ31ss2fnp3F4solpnqsnd+nm+854G4FZ7Hw8qO4Up4/I8VDz8l3Ntu/+2tzjb5BjfahPLv0WyqZfYT780Xl69V7pLfhkzp9VEZaG02Yntwbf6/AjbIB7jOfsWZSuDOYB9xjkYMlUVS6W09c7PX9wH6QKNjHWh8rANNjnWg6bEONDvWgebHOtD51z6QCD2Z3wf1hwHUQxxDNKI5hmBDcwyxhOYYQgXNMUQCmmNwdDTH4MdojsFNEZw0ck1eWHH2kcHbm7mHzxF23MOnBDvu4TOAHfdwwrfjHs7vdtzD6dyOezh723EPJ2s8N5tqOe9kmIVp5yhbRlEaRil31PS0M42FkqWrWhqeOunxmKSTBJgss+Un4s40l+nPhz1k0u18nqqCzomWzlI8quKkc8N5+Jn70Zo7zPMkjxAYc1k+GUbExqdjvuQxD11O6dh0UF+E3Ak3wYLAN9fskYzFQ494+AoiSVIoHZpt0pUKEkHg1AFz44hgzsLI8sN7kXQfKwVxrje+z4lYH2lcTLO61wYa07000JjulYHGdC8MKppRDVFOIxqpnEY0YDmNaNwy/6Qat5xGNG45jWjcclr3cXsQqc/3Zx2D9mt3N36UUCS8e/EY6vXTzqR8zdS5YzF7jNl65ahl54MzLfRx9JLzA8U5rSRRzeu1i6hVZxFuug/oDo0quEoeUXiVPKIAK3ndQ+yDnCarCdotTT1zv1mktUHbviq4Z/4mm9B2jzaWdvewbQC8FXFCFgb1WAIP/qims7dEU71tK7s3bMvqHlb7WYm0eTmSoJV+5D7RpOHblzWPZVn21Jn0NvL96Jl7dMT7NI4yX6uG/HDYOuTfBOsVS0QCEO1P9cUdDM4Htu7coTufiZBGtzevAiZ8h24Gcfvw4b3zEK1VmakGhgZ4HaVpFJAx85XAH/7gi3/RNPBKFsHhC1Fvr4iWhzTsRhCcZDJS5BGR5DRThILkHKp5/+Evi4jFHg3tLubZTUMpJyLes2DtU8WWzIvPMv8QzIY0778sFmpdiCqoHkhglWXDZLP4k7vdU93HyCFZGfp1k+r1Rz3V7X61dwfXfZqwg+s+RdBqytOD8l+Czu7gund2B0fV2RufJYkwXkK15lF1t+BR97d78ZfzIj+KlxufbgALINkIFkCyIYz8TRAmlD3WPMIOax51fwldRvMIluQ079+x8MjE0DAqJTSMSgYNo9JAw0gF6H6HTgXW/TadCqz7vToZjGgKUIFR+Rnp6Z/oKk8FRuVnGkblZxpG5WcaRuVno9cOXy7lJJjuFFNBUvlcBUl3oglTHqyjmMUvRMg3Pn9kBAukGe0ujpbq1yRRmN3ETTGd3SxSysl2hqMS+Q++IGuaYlG2i2BFlPl+FBGtrW1PONpy9961Q2b65xydm3DnM5evIt/jsaFPjfXy/Zq5Ai6dtr9Y8l48rlLnflWu9lcx07ODlkXBvmN2+IB1Yz4dNl5m8sQmKBoKf0wxHbU3HgLj8WHj7Uxix3LS0hIec3rYcjtL3rGctbSEx5y3tBwBy6Z4eM3ip1pHmDX5T1njGZxv1nhhvjCuPWyTI5WWdS44a/KinVBxrlxXXS2A6rSLGbN9u+Ax22OiyEzBhJOZ0jquzIimAPudfxZJ7Rr1gevf5d0TIO+PW2fO3zZRCi5TD9v/qOudnDiFCXdqOaP2F652sox5HFunGzOidd4xI1onIDOiVSYymqNSkpnSOjeZEa2TlBmBzlbwjIDLVtAel62gvU22ghSbbNVhFmBGtJ4OmBHoQIUIdKB2mCmYEahABeZWgQop6ECFCHSgQgQ6UOEEDBeo0B4XqNDeJlAhxSZQIQUdqBCBDlSIQAcqRKADFSLQgWo5tzeaWwUqpKADFSLQgQoR6EAddwxUaI8LVGhvE6iQYhOokIIOVIhABypEoAMVItCBChHoQIUIVKACc6tAhRR0oEIEOlAhAh2ok46BCu1xgQrtbQIVUmwCFVLQgQoR6ECFCHSgQgQ6UCECHagQgQpUYG4VqJCCDlSIQAcqRKADddoxUKE9LlChvU2gQopNoEIKOlAhAh2oEIEOVIhABypEoAMVIlCBCsytAhVS0IEKEehAhYgm/8wvUZpusx/gVz2Nd+wjfueTNer36k+5d9ZQ26OKVplZ7X+LcB1FT07tDw9Ho/YQsfBFpJeoDZfVq9wZ+sLnrzfNv/Bp8RiPtl3Jfwuhr5kC+LitJVhTGTe5fNUSFHnjJk+vWoJZ57gp+1YtwWlw3JR0dVwWN6XI0xEwbkozFeOBwbwpW1fM4RA35eiKIRzhpsxcMYQD3JSPK4YTRyXnfetJy3GalveXAkKTO1YIMzOhyS2hVsa1/daimQlt1TMT2spoJqD0NGLwwppRaIXNKDupYZhhpbYPVDMBKzUkWEkNMPZSQ5S11BBlJzVMjFipIQErtX1yNhOspAYYe6khylpqiLKTGp7KsFJDAlZqSMBK3fGEbMTYSw1R1lJDlJ3UcHKHlRoSsFJDAlZqSLCSGmDspYYoa6khyk5qUCWjpYYErNSQgJUaEqykBhh7qSHKWmqIapJar6LYV0sVc9wkrGKIOyFXDHHJuWJoUS1VrC2rpQrBslqCWtlVS1XR7Kqlqnp21VJVRrtqCehpVy3VCmtXLdUqbFctmaXGVUt1UtsHql21VCc1rloySo2rlhqlxlVLjVLjqiWz1LhqqU5qXLVUJ7V9crarloxS46qlRqlx1VKj1LhqySw1rlqqkxpXLdVJjauW6qTueEK2q5YapcZVS41S46ols9S4aqlOaly1VCc1rlqqkxpXLRmlxlVLjVLjqqVGqXHVkllqXLVUJzWuWqqTGlct1UmNq5aMUuOqpUapcdVSo9S4aumDNBEEj4C6D1icOnTPi7tlySpl3R9O+CmMeRL5n7nn0Hb1PaqX/eed118ptn6dn9w/lWOmnoBe+bmSlz0BNgfqHd955WuqlLFqiZO/5yvfrBucX67NjqgNDxyqhOfXigcAv325lT7Cgsle/RrWHTxUD0as2a4cotheHOZmxeLs262rFvuc7/fl+SJO1Avcsq/Pzoaj0evZdbbXOns12xPn64/y+P3ig9SHJ/pTkv2AVpov1DPF5AiMpvq3V2yZ8viyN8+jNsqe2vT+s18eKZcuP0btW+CKV76xPyuvfNt/H5z68k2+TX2vXwlXa+kmaWXztfBE1jhXRXnZrrfj2VT7ht5ZZ4DLHtPxv92sbkpR9xm8zQjbF8gVF5urL5AbF30tXu1m4zxDo/MMKZ1n2MJ5tmGZ7bcTlF/ZvQYt3WvwfbrXaAjdK9vW0b1GRvcaUbrX6Dtxr2Gzex1yomO4ynAOXSXb1tFVxkZXGVO6yvjEXWVe9ZSx0VNGX8dTRPbfm4TEbzp6xMToERNKj5h8Hx4xPs3c0dEHpkYfmFL6wPTEfcAs++ToiWByrv7tO4F609LWBR6EeoPv1ZTAA2ZGD5hResDsb+sB0yME/pE1nxs1n1NqPj8pzaGys6PH9nCm/rXR+TXFnO/cqPM5pc7nJ67z/AgRTK+sKweVufkD1Q3rX/mLkcon++jXIu1rbnh7kkGvQTu9zO1O1SpsQ5v1Km3jwl3+sHaTQ7X2qHThZ1LLP96FyqGe83fYZy31vrBeseMN9/0PLNs7Wpt39fkyzb4dnM1rvl9kr4Qw2sf62oER0N9tTL/shHm8s5dE5j9qMa6T6keGweHOHiXWcaRb+rC7SeTQ6OXe/fbtrIHut/K2WG51tnlmL3HVxoEpXQ0OpCpz8vle1qO6LHciJR02SjokknSIO/t8/wp3WXFEKjxqVHhEpPDoayn8d1/0Q6o1blRrTKTW+NTUOvbCG1KVSaMqEyJVJqemysnpMG3UYUqkw/TUdDjqahRSklmjJDMiSWanJslpiTBvFGFOJML81EQ46koOUpLzRknOiSQ5PzVJvslyWvZgi/2xzrZSrKNpUtMi2iAv2FBrZNtF7r0L4656fcWXdMP8/En6jctjxyyBtk3W3XpV9PuJx+XgbifLZXqcwunzhDgRbiWqdYOu4VbxJbP6p1m2Hl+z+iAtX6K9L1D5BUWoFrDGaB1YRGu4CbI/hA/vhyq/BDE9mB64Je+bTECAVwwm36Lm3RHL5BZdQ3fXvczecOJzxq8sWX3MZq8B2Fcm20oRrZrUFKpDmztrD92ANige3venW3BUEcvj2khtmGSOz9S/NhpS18PbgasVp2vMVBQ2a3IwYI46cvUOrC6fbN+rsT9We6/dOOTRcChGYwv3FPpSl7pQpZ6R12LO19Jdyk7nD44rn2a3323wuDuco9R4BOqEetg7jnifVT4W9Ylu920oFAmverimvDeyKSjW117lAqneL5GelL9X+y91j5yTZUeuJ61OPuyW6+PlpdSvfKT+tmeHfhgxKjJ7NcbmU90afWU3+0SS/L/peijwo0bX7Xo62AmSAx57cnHfmCO3z9Y0DeB2j65Zsrjmh8qSi+yo+WglMqn4N2xNM3ZgSjmpH9Hir+Tn/wNQSwMECgAAAAAAk2RNWwAAAAAAAAAAAAAAAAsAHAB3b3JkL3RoZW1lL1VUCQADhhztaIcc7Wh1eAsAAQT1AQAABBQAAABQSwMEFAAAAAgAAAAhAGeA/LSbBgAAzSAAABUAHAB3b3JkL3RoZW1lL3RoZW1lMS54bWxVVAkAAzDQzhIw0M4SdXgLAAEE9QEAAAQUAAAA7VlPb9s2FL8P2HcgdHf1x5IsBXUL/23XJm3RpB16ZGRaYkyJAkknMYoCQ3vaZcCAbthlwG47DMMKrMCKXfZhCrTYug8xSnZs0abatE23AksMxCL5e48/vvf4+ExdvHycEnCIGMc0axv2BcsAKIvoCGdx27izN2wEBuACZiNIaIbaxgxx4/KlTz+5CLdEglIEpHzGt2DbSITIt0yTR7Ib8gs0R5kcG1OWQiGbLDZHDB5JvSkxHcvyzRTizAAZTKXam+MxjhDYK1Qal06UD4j8lwledESE7UbljFWJEjua2MUXn/EeYeAQkrYh5xnRoz10LAxAIBdyoG1Y5Z9hXrpoLoWIqJGtyA3Lv4XcQmA0cUo5Fu8vBa2BE7j2Ur8z17+JGwTFZ6mvBMAokiu1N7C251uBs8BWQPNHje6wZTdVfEV/c1N/6HcdV8E3V3h3c43DcND3FLy7wnsb+I7ldMOmgvdWeH8D7w46LWeg4EtQQnA22UT7rSDwF+glZEzJVS089H2r1V/AVyizEl1z+UzUxVoKDygbSkDpXChwBsQsR2MYSVwnF5SDPuY5gTMD5DCjXHZbjm3LwHMtZ/kpLQ63EKxIz7sivtFV8AE8YjgXbeOa1GpUIC+ePXv+8Onzh789f/To+cNfwDaOE6GRuwqzuCr36sev//7+C/DXrz+8evyNHs+r+Jc/f/ny9z9ep14otL598vLpkxffffXnT4818A6D+1X4Hk4RBzfQEbhNU7lAzQRon72dxF4CcVWik8UcZrCQ0aAHIlHQN2aQQA2ui1Q73mUyXeiAV6YHCuHdhE0F1gCvJ6kC3KGUdCnTrul6MVfVCtMs1k/OplXcbQgPdXP31rw8mOYy7rFOZS9BCs1bRLocxihDAhRjdIKQRuwexopdd3DEKKdjAe5h0IVYa5I9vC/0QldxKv0y0xGU/lZss3MXdCnRqe+jQxUp9wYkOpWIKGa8AqcCplrGMCVV5DYUiY7k7oxFisG5kJ6OEaFgMEKc62RusplC9zqUeUvr9h0yS1UkE3iiQ25DSqvIPp30EpjmWs44S6rYz/hEhigEt6jQkqDqDina0g8wq3X3XYzE2+3tOzIN6QOkGJky3ZZAVN2PMzKGSKe8w1IlxXYY1kZHdxorob2NEIFHcIQQuPOZDk9zqid9LZFZ5SrS2eYaVGO1aGeIy1qpKG40jsVcCdldFNMaPjuztcQzg1kKWZ3mGxM1ZAb7TG5GXbySaKKkUsyKTasncZOn8FRabyVQCauizfXxOmPZ2+4xKXPwDjLorWVkYj+1bfYgQfqA2YMYbOvSrRSZ6kWK7VSKTbVyY3XTrtxgrhU9Kc7eUAH9N5XPB6t5zr7aqUso6zVOHW69sulRNsIff2HTh9PsFpJnyXldc17X/B/rmrr9fF7NnFcz59XMv1bNrAoYs3rZU2pJa29+xpiQXTEjaJuXpQ+Xe380lJ1loxRaXjTliXxcTKfgYgbLZ8Co+ByLZDeBuZzGLmeI+UJ1zEFOuSyfjFrdZfE1TXfoaHGPZ5/cbUoBKFb9lrfsl6WamPf6rdVF6FJ92Yp5lYBXKj09icpkKommhkSreToStnVWLEINi8B+HQuz4hV5OAFYXIt77pyRDDcZ0qPCT3P5E++euafrjKku29EsL3TPzNMKiUq4qSQqYZjIw2O9+4x9HYZ6VztaGq3gQ/ja3MwNJFNb4EjuuaYn1UQwbxtj+bNJPqa51MeLTAVJnLWNSCwM/S6ZJWdc9CFP5rByaL7+FAvEAMGpjPWqG0i24mY7LevjJRdaH5/lzHUno/EYRaKmZ9WUY3Ml2tH3BBcNOpWkd5PREdgnU3YbSkN5Lbsw4AhzsbTmCLNKcK+suJauFltReQO02qKQ5AlcnCjVZD6Hl89LOpV1lEzXV2XqTLgfD8/i1H2z0FrSrDlAWrVZ7MMd8hVWTT0rT5vrwsB6/Snx/gdChVqgp9bUU6s7O86wIKhM59fYzan15nueButRa1bqyrK18XKb7h/IyO/LanVKBJ9fkB3L8rt38lpyngnK3pPscizAlOG2cd/yOm7P8XoNK/AGDbfpWo3A6zQbHc9r2gPPtvpd54E0ikhS25vPPZQ/9sls8e6+7N94f5+elNoXIpqatKyDzVK4fH9vO/Xv7wGWlrnvO8OwGXb9RtjsDBtuvxs0wp7fbfT9Xqs/7Pe8IBw+MMBhCXY7zZ7rD4KGb/d6Dde3CvpB2Gi5jtNxW51g4HYeLGwtV37yfWLektelfwBQSwMECgAAAAAAk2RNWwAAAAAAAAAAAAAAAAsAHAB3b3JkL19yZWxzL1VUCQADhhztaIcc7Wh1eAsAAQT1AQAABBQAAABQSwMEFAAAAAgAAAAhALO+ix3+AAAAtgMAABwAHAB3b3JkL19yZWxzL2RvY3VtZW50LnhtbC5yZWxzVVQJAAMw0M4SiBztaHV4CwABBPUBAAAEFAAAAK2TzWrDMBCE74W+g9h7LTttQwmRcymBXFv3AWR7/UP1Y6RNWr99RUoShwbTg44zYme+hdV6860VO6DzvTUCsiQFhqaydW9aAR/F9uEFmCdpaqmsQQEjetjk93frN1SSwpDv+sGzkGK8gI5oWHHuqw619Ikd0ISXxjotKUjX8kFWn7JFvkjTJXfTDMivMtmuFuB29SOwYhzwP9m2afoKX22112joRgX3SBQ28yFTuhZJwMlJQhbw2wiLqAg0KpwCHPVcfRaz3ux1iS5sfCE4W3MQy5gQFGbxAnCUv2Y2x/Ack6GxhgpZqgnH2ZqDeIoJ8YXl+5+TnJgnEH712/IfUEsBAh4DFAAAAAgAAAAhADKRb1deAQAApQUAABMAGAAAAAAAAQAAAKSBAAAAAFtDb250ZW50X1R5cGVzXS54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACTZE1bAAAAAAAAAAAAAAAACQAYAAAAAAAAABAA7UGrAQAAZG9jUHJvcHMvVVQFAAOGHO1odXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAAAAgAAAAhACEYr1llAQAAxQIAABAAGAAAAAAAAQAAAKSB7gEAAGRvY1Byb3BzL2FwcC54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAAACAAAACEACvOn+GYBAADtAgAAEQAYAAAAAAABAAAApIGdAwAAZG9jUHJvcHMvY29yZS54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACTZE1bAAAAAAAAAAAAAAAABgAYAAAAAAAAABAA7UFOBQAAX3JlbHMvVVQFAAOGHO1odXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAAAAgAAAAhAB6RGrfpAAAATgIAAAsAGAAAAAAAAQAAAKSBjgUAAF9yZWxzLy5yZWxzVVQFAAMw0M4SdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAk2RNWwAAAAAAAAAAAAAAAAUAGAAAAAAAAAAQAO1BvAYAAHdvcmQvVVQFAAOGHO1odXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAAAAgAoWRNW+xw0GIQAgAAtAcAABIAGAAAAAAAAQAAAKSB+wYAAHdvcmQvZm9udFRhYmxlLnhtbFVUBQADnhztaHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAAAIAAAAIQCWFrgr1QIAAIgLAAARABgAAAAAAAEAAACkgVcJAAB3b3JkL2RvY3VtZW50LnhtbFVUBQADMNDOEnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAAAIAAAAIQDK52WKKwQAAL4MAAARABgAAAAAAAEAAACkgXcMAAB3b3JkL3NldHRpbmdzLnhtbFVUBQADMNDOEnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAAAIAAAAIQDbhWzDfQQAAJcdAAASABgAAAAAAAEAAACkge0QAAB3b3JkL251bWJlcmluZy54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAAACAAAACEAvn52YlYBAADQAwAAFAAYAAAAAAABAAAApIG2FQAAd29yZC93ZWJTZXR0aW5ncy54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAAACAAAACEAP6/hZl8PAAANpgAADwAYAAAAAAABAAAApIFaFwAAd29yZC9zdHlsZXMueG1sVVQFAAMw0M4SdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAk2RNWwAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1BAicAAHdvcmQvdGhlbWUvVVQFAAOGHO1odXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAAAAgAAAAhAGeA/LSbBgAAzSAAABUAGAAAAAAAAQAAAKSBRycAAHdvcmQvdGhlbWUvdGhlbWUxLnhtbFVUBQADMNDOEnV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAJNkTVsAAAAAAAAAAAAAAAALABgAAAAAAAAAEADtQTEuAAB3b3JkL19yZWxzL1VUBQADhhztaHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAAAIAAAAIQCzvosd/gAAALYDAAAcABgAAAAAAAEAAACkgXYuAAB3b3JkL19yZWxzL2RvY3VtZW50LnhtbC5yZWxzVVQFAAMw0M4SdXgLAAEE9QEAAAQUAAAAUEsFBgAAAAARABEAqQUAAMovAAAAAA==`, NODE_TYPES2, BLOCK_NODE_TYPES2, DELETABLE_BLOCK_NODE_TYPES2, INLINE_NODE_TYPES2, MARK_KEYS2, MARK_KEY_SET2, NONE_FAILURES2, NONE_THROWS2, T_NOT_FOUND2, T_NOT_FOUND_CAPABLE2, T_PLAN_ENGINE2, T_QUERY_MATCH2, OPERATION_DEFINITIONS2, OPERATION_IDS2, COMMAND_CATALOG2, DocumentApiValidationError2, ALIGNMENTS2, ALIGNMENT_SET2, STYLE_APPLY_INPUT_ALLOWED_KEYS2, FONT_SIZE_ALLOWED_KEYS2, FONT_FAMILY_ALLOWED_KEYS2, COLOR_ALLOWED_KEYS2, ALIGN_ALLOWED_KEYS2, nodeTypeValues2, blockNodeTypeValues2, deletableBlockNodeTypeValues2, inlineNodeTypeValues2, rangeSchema2, textAddressSchema2, textTargetSchema2, blockNodeAddressSchema2, deletableBlockNodeAddressSchema2, paragraphAddressSchema2, headingAddressSchema2, listItemAddressSchema2, nodeAddressSchema2, commentAddressSchema2, trackedChangeAddressSchema2, resolvedHandleSchema2, pageInfoSchema2, receiptSuccessSchema2, textMutationResolutionSchema2, textMutationSuccessSchema2, matchBlockSchema2, trackChangeRefSchema2, createParagraphSuccessSchema2, createHeadingSuccessSchema2, headingLevelSchema2, listsInsertSuccessSchema2, listsMutateItemSuccessSchema2, listsExitSuccessSchema2, nodeSummarySchema2, nodeInfoSchema2, matchContextSchema2, unknownNodeDiagnosticSchema2, textSelectorSchema2, nodeSelectorSchema2, findItemDomainSchema2, documentInfoCountsSchema2, documentInfoOutlineItemSchema2, documentInfoCapabilitiesSchema2, listKindSchema2, listInsertPositionSchema2, capabilityReasonsSchema2, capabilityFlagSchema2, operationRuntimeCapabilitySchema2, operationCapabilitiesSchema2, formatCapabilitiesSchema2, GROUP_METADATA2, CAPABILITY_REASON_CODES2, CREATE_COMMENT_ALLOWED_KEYS2, PATCH_COMMENT_ALLOWED_KEYS2, DELETE_INPUT_ALLOWED_KEYS2, INSERT_INPUT_ALLOWED_KEYS2, REPLACE_INPUT_ALLOWED_KEYS2, SUPPORTED_DELETE_NODE_TYPES2, REJECTED_DELETE_NODE_TYPES2, REQUIRED_COMMANDS, VALID_CAPABILITY_REASON_CODES, REQUIRED_HELPERS, STYLE_MARK_SCHEMA_NAMES, INLINE_FORMAT_OPERATIONS, SUPPORTED_STEP_OPS, SUPPORTED_NON_UNIFORM_STRATEGIES, SUPPORTED_SET_MARKS, REGEX_MAX_PATTERN_LENGTH = 1024, DocumentApiAdapterError, LINK_MARK_NAME = "link", COMMENT_MARK_NAME, SUPPORTED_INLINE_TYPES, ALIAS_ELIGIBLE_TYPES, cacheByEditor, PlanError, revisionMap, subscribedEditors, registry, CORE_MARK_NAMES, METADATA_MARK_NAMES, SNIPPET_PADDING = 30, DUAL_KIND_TYPES, KNOWN_BLOCK_PM_NODE_TYPES, KNOWN_INLINE_PM_NODE_TYPES, MAX_PATTERN_LENGTH = 1024, REF_HANDLERS, DEFAULT_INLINE_POLICY, OBJECT_REPLACEMENT_CHAR = "", STUB_WHERE, MARK_KEY_TO_SCHEMA_NAME, FALLBACK_STORE_KEY = "__documentApiComments", SUPPORTED_NODE_TYPES, REJECTED_NODE_TYPES, DERIVED_ID_LENGTH = 24, groupedCache, CSS_NAMED_COLORS, registered = false, empty_exports, init_empty, PIXELS_PER_INCH$1 = 96, MAX_HEIGHT_BUFFER_PX = 50, MAX_WIDTH_BUFFER_PX = 20, Editor, ContextMenuPluginKey, MENU_OFFSET_X = 0, MENU_OFFSET_Y = 28, CONTEXT_MENU_OFFSET_X = 10, CONTEXT_MENU_OFFSET_Y = 10, SLASH_COOLDOWN_MS = 5000, ContextMenu, SearchQuery = class {
134740
134954
  constructor(config2) {
134741
134955
  this.search = config2.search;
134742
134956
  this.caseSensitive = !!config2.caseSensitive;
@@ -152807,7 +153021,7 @@ var Node$13 = class Node$14 {
152807
153021
  trackedChanges: context.trackedChanges ?? []
152808
153022
  });
152809
153023
  }, _hoisted_1$6, _hoisted_2$1, _hoisted_3, _hoisted_4, ContextMenu_default, _hoisted_1$5, BasicUpload_default, _hoisted_1$4, MIN_WIDTH = 200, PPI = 96, alignment = "flex-end", Ruler_default, GenericPopover_default, _hoisted_1$3, RESIZE_HANDLE_WIDTH_PX = 9, RESIZE_HANDLE_OFFSET_PX = 4, DRAG_OVERLAY_EXTENSION_PX = 1000, MIN_DRAG_OVERLAY_WIDTH_PX = 2000, THROTTLE_INTERVAL_MS = 16, MIN_RESIZE_DELTA_PX = 1, TableResizeOverlay_default, _hoisted_1$2, OVERLAY_EXPANSION_PX = 2000, RESIZE_HANDLE_SIZE_PX = 12, MOUSE_MOVE_THROTTLE_MS = 16, DIMENSION_CHANGE_THRESHOLD_PX = 1, Z_INDEX_OVERLAY = 10, Z_INDEX_HANDLE = 15, Z_INDEX_GUIDELINE = 20, ImageResizeOverlay_default, LINK_CLICK_DEBOUNCE_MS = 300, CURSOR_UPDATE_TIMEOUT_MS = 10, LinkClickHandler_default, _hoisted_1$1, _hoisted_2, DOCX2 = "application/vnd.openxmlformats-officedocument.wordprocessingml.document", TABLE_RESIZE_HOVER_THRESHOLD = 8, TABLE_RESIZE_THROTTLE_MS = 16, SuperEditor_default, _hoisted_1, SuperInput_default, SlashMenu, Extensions;
152810
- var init_src_DVVC7vA7_es = __esm(() => {
153024
+ var init_src_B6O9kkNF_es = __esm(() => {
152811
153025
  init_rolldown_runtime_B2q5OVn9_es();
152812
153026
  init_SuperConverter_BxBclpFg_es();
152813
153027
  init_jszip_ChlR43oI_es();
@@ -160886,6 +161100,13 @@ function print() { __p += __j.call(arguments, '') }
160886
161100
  "image",
160887
161101
  "sdt"
160888
161102
  ];
161103
+ DELETABLE_BLOCK_NODE_TYPES2 = [
161104
+ "paragraph",
161105
+ "heading",
161106
+ "listItem",
161107
+ "table",
161108
+ "sdt"
161109
+ ];
160889
161110
  INLINE_NODE_TYPES2 = [
160890
161111
  "run",
160891
161112
  "bookmark",
@@ -161021,6 +161242,27 @@ function print() { __p += __j.call(arguments, '') }
161021
161242
  referenceDocPath: "delete.mdx",
161022
161243
  referenceGroup: "core"
161023
161244
  },
161245
+ "blocks.delete": {
161246
+ memberPath: "blocks.delete",
161247
+ description: "Delete an entire block node (paragraph, heading, list item, table, image, or sdt) deterministically.",
161248
+ requiresDocumentContext: true,
161249
+ metadata: mutationOperation2({
161250
+ idempotency: "conditional",
161251
+ supportsDryRun: true,
161252
+ supportsTrackedMode: false,
161253
+ possibleFailureCodes: NONE_FAILURES2,
161254
+ throws: [
161255
+ "TARGET_NOT_FOUND",
161256
+ "AMBIGUOUS_TARGET",
161257
+ "CAPABILITY_UNAVAILABLE",
161258
+ "INVALID_TARGET",
161259
+ "INVALID_INPUT",
161260
+ "INTERNAL_ERROR"
161261
+ ]
161262
+ }),
161263
+ referenceDocPath: "blocks/delete.mdx",
161264
+ referenceGroup: "blocks"
161265
+ },
161024
161266
  "format.apply": {
161025
161267
  memberPath: "format.apply",
161026
161268
  description: "Apply explicit inline style changes (bold, italic, underline, strike) to the target range using boolean patch semantics.",
@@ -161446,6 +161688,7 @@ function print() { __p += __j.call(arguments, '') }
161446
161688
  ALIGN_ALLOWED_KEYS2 = new Set(["target", "alignment"]);
161447
161689
  nodeTypeValues2 = NODE_TYPES2;
161448
161690
  blockNodeTypeValues2 = BLOCK_NODE_TYPES2;
161691
+ deletableBlockNodeTypeValues2 = DELETABLE_BLOCK_NODE_TYPES2;
161449
161692
  inlineNodeTypeValues2 = INLINE_NODE_TYPES2;
161450
161693
  objectSchema2({
161451
161694
  start: { type: "integer" },
@@ -161482,6 +161725,14 @@ function print() { __p += __j.call(arguments, '') }
161482
161725
  "kind",
161483
161726
  "nodeType",
161484
161727
  "nodeId"
161728
+ ]), objectSchema2({
161729
+ kind: { const: "block" },
161730
+ nodeType: { enum: [...deletableBlockNodeTypeValues2] },
161731
+ nodeId: { type: "string" }
161732
+ }, [
161733
+ "kind",
161734
+ "nodeType",
161735
+ "nodeId"
161485
161736
  ]), objectSchema2({
161486
161737
  kind: { const: "block" },
161487
161738
  nodeType: { const: "paragraph" },
@@ -161633,6 +161884,7 @@ function print() { __p += __j.call(arguments, '') }
161633
161884
  textAddressSchema2 = ref$1("TextAddress");
161634
161885
  textTargetSchema2 = ref$1("TextTarget");
161635
161886
  blockNodeAddressSchema2 = ref$1("BlockNodeAddress");
161887
+ deletableBlockNodeAddressSchema2 = ref$1("DeletableBlockNodeAddress");
161636
161888
  paragraphAddressSchema2 = ref$1("ParagraphAddress");
161637
161889
  headingAddressSchema2 = ref$1("HeadingAddress");
161638
161890
  listItemAddressSchema2 = ref$1("ListItemAddress");
@@ -161890,6 +162142,7 @@ function print() { __p += __j.call(arguments, '') }
161890
162142
  }, ["address", "type"]));
161891
162143
  capabilityReasonsSchema2 = arraySchema2({ enum: [
161892
162144
  "COMMAND_UNAVAILABLE",
162145
+ "HELPER_UNAVAILABLE",
161893
162146
  "OPERATION_UNAVAILABLE",
161894
162147
  "TRACKED_MODE_UNAVAILABLE",
161895
162148
  "DRY_RUN_UNAVAILABLE",
@@ -161979,7 +162232,13 @@ function print() { __p += __j.call(arguments, '') }
161979
162232
  }, ["target", "value"]), textMutationResultSchemaFor2("format.color"), textMutationFailureSchemaFor2("format.color"), objectSchema2({
161980
162233
  target: textAddressSchema2,
161981
162234
  alignment: { oneOf: [{ enum: [...ALIGNMENTS2] }, { type: "null" }] }
161982
- }, ["target", "alignment"]), textMutationResultSchemaFor2("format.align"), textMutationFailureSchemaFor2("format.align"), objectSchema2({
162235
+ }, ["target", "alignment"]), textMutationResultSchemaFor2("format.align"), textMutationFailureSchemaFor2("format.align"), objectSchema2({ target: deletableBlockNodeAddressSchema2 }, ["target"]), objectSchema2({
162236
+ success: { const: true },
162237
+ deleted: deletableBlockNodeAddressSchema2
162238
+ }, ["success", "deleted"]), objectSchema2({
162239
+ success: { const: true },
162240
+ deleted: deletableBlockNodeAddressSchema2
162241
+ }, ["success", "deleted"]), preApplyFailureResultSchemaFor2("blocks.delete"), objectSchema2({
161983
162242
  at: { oneOf: [
161984
162243
  objectSchema2({ kind: { const: "documentStart" } }, ["kind"]),
161985
162244
  objectSchema2({ kind: { const: "documentEnd" } }, ["kind"]),
@@ -162157,6 +162416,11 @@ function print() { __p += __j.call(arguments, '') }
162157
162416
  description: "Primary read and write operations.",
162158
162417
  pagePath: "core/index.mdx"
162159
162418
  },
162419
+ blocks: {
162420
+ title: "Blocks",
162421
+ description: "Block-level structural operations.",
162422
+ pagePath: "blocks/index.mdx"
162423
+ },
162160
162424
  capabilities: {
162161
162425
  title: "Capabilities",
162162
162426
  description: "Runtime support discovery for capability-aware branching.",
@@ -162205,6 +162469,7 @@ function print() { __p += __j.call(arguments, '') }
162205
162469
  }));
162206
162470
  CAPABILITY_REASON_CODES2 = [
162207
162471
  "COMMAND_UNAVAILABLE",
162472
+ "HELPER_UNAVAILABLE",
162208
162473
  "OPERATION_UNAVAILABLE",
162209
162474
  "TRACKED_MODE_UNAVAILABLE",
162210
162475
  "DRY_RUN_UNAVAILABLE",
@@ -162225,6 +162490,8 @@ function print() { __p += __j.call(arguments, '') }
162225
162490
  DELETE_INPUT_ALLOWED_KEYS2 = new Set(["target"]);
162226
162491
  INSERT_INPUT_ALLOWED_KEYS2 = new Set(["text", "target"]);
162227
162492
  REPLACE_INPUT_ALLOWED_KEYS2 = new Set(["text", "target"]);
162493
+ SUPPORTED_DELETE_NODE_TYPES2 = new Set(DELETABLE_BLOCK_NODE_TYPES2);
162494
+ REJECTED_DELETE_NODE_TYPES2 = new Set(["tableRow", "tableCell"]);
162228
162495
  REQUIRED_COMMANDS = {
162229
162496
  "format.fontSize": [
162230
162497
  "setTextSelection",
@@ -162254,6 +162521,7 @@ function print() { __p += __j.call(arguments, '') }
162254
162521
  "lists.outdent": ["setTextSelection", "decreaseListIndent"],
162255
162522
  "lists.restart": ["setTextSelection", "restartNumbering"],
162256
162523
  "lists.exit": ["exitListItemAt"],
162524
+ "blocks.delete": ["deleteBlockNodeById"],
162257
162525
  "comments.create": [
162258
162526
  "addComment",
162259
162527
  "setTextSelection",
@@ -162274,6 +162542,7 @@ function print() { __p += __j.call(arguments, '') }
162274
162542
  ]
162275
162543
  };
162276
162544
  VALID_CAPABILITY_REASON_CODES = new Set(CAPABILITY_REASON_CODES2);
162545
+ REQUIRED_HELPERS = { "blocks.delete": (editor) => typeof editor.helpers?.blockNode?.getBlockNodeById === "function" };
162277
162546
  STYLE_MARK_SCHEMA_NAMES = {
162278
162547
  bold: "bold",
162279
162548
  italic: "italic",
@@ -162426,6 +162695,8 @@ function print() { __p += __j.call(arguments, '') }
162426
162695
  underline: "underline",
162427
162696
  strike: "strike"
162428
162697
  };
162698
+ SUPPORTED_NODE_TYPES = new Set(DELETABLE_BLOCK_NODE_TYPES2);
162699
+ REJECTED_NODE_TYPES = new Set(["tableRow", "tableCell"]);
162429
162700
  groupedCache = /* @__PURE__ */ new WeakMap;
162430
162701
  CSS_NAMED_COLORS = {
162431
162702
  aliceblue: "#f0f8ff",
@@ -184421,8 +184692,8 @@ function print() { __p += __j.call(arguments, '') }
184421
184692
  return isObjectLike_default(value) && hasOwnProperty$8.call(value, "callee") && !propertyIsEnumerable$1.call(value, "callee");
184422
184693
  };
184423
184694
  stubFalse_default = stubFalse;
184424
- freeExports$2 = typeof exports_src_DVVC7vA7_es == "object" && exports_src_DVVC7vA7_es && !exports_src_DVVC7vA7_es.nodeType && exports_src_DVVC7vA7_es;
184425
- freeModule$2 = freeExports$2 && typeof module_src_DVVC7vA7_es == "object" && module_src_DVVC7vA7_es && !module_src_DVVC7vA7_es.nodeType && module_src_DVVC7vA7_es;
184695
+ freeExports$2 = typeof exports_src_B6O9kkNF_es == "object" && exports_src_B6O9kkNF_es && !exports_src_B6O9kkNF_es.nodeType && exports_src_B6O9kkNF_es;
184696
+ freeModule$2 = freeExports$2 && typeof module_src_B6O9kkNF_es == "object" && module_src_B6O9kkNF_es && !module_src_B6O9kkNF_es.nodeType && module_src_B6O9kkNF_es;
184426
184697
  Buffer$1 = freeModule$2 && freeModule$2.exports === freeExports$2 ? _root_default.Buffer : undefined;
184427
184698
  isBuffer_default = (Buffer$1 ? Buffer$1.isBuffer : undefined) || stubFalse_default;
184428
184699
  typedArrayTags = {};
@@ -184430,8 +184701,8 @@ function print() { __p += __j.call(arguments, '') }
184430
184701
  typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] = typedArrayTags[arrayBufferTag$1] = typedArrayTags[boolTag$1] = typedArrayTags[dataViewTag$2] = typedArrayTags[dateTag$1] = typedArrayTags[errorTag$1] = typedArrayTags[funcTag] = typedArrayTags[mapTag$2] = typedArrayTags[numberTag$1] = typedArrayTags[objectTag$3] = typedArrayTags[regexpTag$1] = typedArrayTags[setTag$2] = typedArrayTags[stringTag$1] = typedArrayTags[weakMapTag$1] = false;
184431
184702
  _baseIsTypedArray_default = baseIsTypedArray;
184432
184703
  _baseUnary_default = baseUnary;
184433
- freeExports$1 = typeof exports_src_DVVC7vA7_es == "object" && exports_src_DVVC7vA7_es && !exports_src_DVVC7vA7_es.nodeType && exports_src_DVVC7vA7_es;
184434
- freeModule$1 = freeExports$1 && typeof module_src_DVVC7vA7_es == "object" && module_src_DVVC7vA7_es && !module_src_DVVC7vA7_es.nodeType && module_src_DVVC7vA7_es;
184704
+ freeExports$1 = typeof exports_src_B6O9kkNF_es == "object" && exports_src_B6O9kkNF_es && !exports_src_B6O9kkNF_es.nodeType && exports_src_B6O9kkNF_es;
184705
+ freeModule$1 = freeExports$1 && typeof module_src_B6O9kkNF_es == "object" && module_src_B6O9kkNF_es && !module_src_B6O9kkNF_es.nodeType && module_src_B6O9kkNF_es;
184435
184706
  freeProcess = freeModule$1 && freeModule$1.exports === freeExports$1 && _freeGlobal_default.process;
184436
184707
  _nodeUtil_default = function() {
184437
184708
  try {
@@ -184536,8 +184807,8 @@ function print() { __p += __j.call(arguments, '') }
184536
184807
  Stack.prototype.has = _stackHas_default;
184537
184808
  Stack.prototype.set = _stackSet_default;
184538
184809
  _Stack_default = Stack;
184539
- freeExports = typeof exports_src_DVVC7vA7_es == "object" && exports_src_DVVC7vA7_es && !exports_src_DVVC7vA7_es.nodeType && exports_src_DVVC7vA7_es;
184540
- freeModule = freeExports && typeof module_src_DVVC7vA7_es == "object" && module_src_DVVC7vA7_es && !module_src_DVVC7vA7_es.nodeType && module_src_DVVC7vA7_es;
184810
+ freeExports = typeof exports_src_B6O9kkNF_es == "object" && exports_src_B6O9kkNF_es && !exports_src_B6O9kkNF_es.nodeType && exports_src_B6O9kkNF_es;
184811
+ freeModule = freeExports && typeof module_src_B6O9kkNF_es == "object" && module_src_B6O9kkNF_es && !module_src_B6O9kkNF_es.nodeType && module_src_B6O9kkNF_es;
184541
184812
  Buffer4 = freeModule && freeModule.exports === freeExports ? _root_default.Buffer : undefined;
184542
184813
  allocUnsafe = Buffer4 ? Buffer4.allocUnsafe : undefined;
184543
184814
  _cloneBuffer_default = cloneBuffer;
@@ -192156,7 +192427,7 @@ var init_zipper_BJHqrQMq_es = __esm(() => {
192156
192427
 
192157
192428
  // ../../packages/superdoc/dist/super-editor.es.js
192158
192429
  var init_super_editor_es = __esm(() => {
192159
- init_src_DVVC7vA7_es();
192430
+ init_src_B6O9kkNF_es();
192160
192431
  init_SuperConverter_BxBclpFg_es();
192161
192432
  init_jszip_ChlR43oI_es();
192162
192433
  init_xml_js_DLE8mr0n_es();
@@ -192186,6 +192457,12 @@ function hasAllCommands2(editor, operationId) {
192186
192457
  return true;
192187
192458
  return required.every((command2) => hasCommand2(editor, command2));
192188
192459
  }
192460
+ function hasRequiredHelpers2(editor, operationId) {
192461
+ const check = REQUIRED_HELPERS2[operationId];
192462
+ if (!check)
192463
+ return true;
192464
+ return check(editor);
192465
+ }
192189
192466
  function hasMarkCapability2(editor, markName) {
192190
192467
  return Boolean(editor.schema?.marks?.[markName]);
192191
192468
  }
@@ -192230,7 +192507,7 @@ function isOperationAvailable2(editor, operationId) {
192230
192507
  if (INLINE_FORMAT_OPERATIONS2.has(operationId)) {
192231
192508
  return hasAllCommands2(editor, operationId) && hasMarkCapability2(editor, "textStyle");
192232
192509
  }
192233
- return hasAllCommands2(editor, operationId);
192510
+ return hasAllCommands2(editor, operationId) && hasRequiredHelpers2(editor, operationId);
192234
192511
  }
192235
192512
  function isCommandBackedAvailability2(operationId) {
192236
192513
  return !isMarkBackedOperation2(operationId) && !INLINE_FORMAT_OPERATIONS2.has(operationId);
@@ -192245,7 +192522,12 @@ function buildOperationCapabilities2(editor) {
192245
192522
  const reasons = [];
192246
192523
  if (!available) {
192247
192524
  if (isCommandBackedAvailability2(operationId)) {
192248
- pushReason2(reasons, "COMMAND_UNAVAILABLE");
192525
+ if (!hasAllCommands2(editor, operationId)) {
192526
+ pushReason2(reasons, "COMMAND_UNAVAILABLE");
192527
+ }
192528
+ if (!hasRequiredHelpers2(editor, operationId)) {
192529
+ pushReason2(reasons, "HELPER_UNAVAILABLE");
192530
+ }
192249
192531
  }
192250
192532
  pushReason2(reasons, "OPERATION_UNAVAILABLE");
192251
192533
  }
@@ -192308,7 +192590,7 @@ function getDocumentApiCapabilities2(editor) {
192308
192590
  planEngine: buildPlanEngineCapabilities2()
192309
192591
  };
192310
192592
  }
192311
- var REQUIRED_COMMANDS2, VALID_CAPABILITY_REASON_CODES2, STYLE_MARK_SCHEMA_NAMES2, INLINE_FORMAT_OPERATIONS2, SUPPORTED_STEP_OPS2, SUPPORTED_NON_UNIFORM_STRATEGIES2, SUPPORTED_SET_MARKS2, REGEX_MAX_PATTERN_LENGTH2 = 1024;
192593
+ var REQUIRED_COMMANDS2, VALID_CAPABILITY_REASON_CODES2, REQUIRED_HELPERS2, STYLE_MARK_SCHEMA_NAMES2, INLINE_FORMAT_OPERATIONS2, SUPPORTED_STEP_OPS2, SUPPORTED_NON_UNIFORM_STRATEGIES2, SUPPORTED_SET_MARKS2, REGEX_MAX_PATTERN_LENGTH2 = 1024;
192312
192594
  var init_capabilities_adapter = __esm(() => {
192313
192595
  init_src();
192314
192596
  REQUIRED_COMMANDS2 = {
@@ -192324,6 +192606,7 @@ var init_capabilities_adapter = __esm(() => {
192324
192606
  "lists.outdent": ["setTextSelection", "decreaseListIndent"],
192325
192607
  "lists.restart": ["setTextSelection", "restartNumbering"],
192326
192608
  "lists.exit": ["exitListItemAt"],
192609
+ "blocks.delete": ["deleteBlockNodeById"],
192327
192610
  "comments.create": ["addComment", "setTextSelection", "addCommentReply"],
192328
192611
  "comments.patch": ["editComment", "moveComment", "resolveComment", "setCommentInternal"],
192329
192612
  "comments.delete": ["removeComment"],
@@ -192335,6 +192618,9 @@ var init_capabilities_adapter = __esm(() => {
192335
192618
  ]
192336
192619
  };
192337
192620
  VALID_CAPABILITY_REASON_CODES2 = new Set(CAPABILITY_REASON_CODES);
192621
+ REQUIRED_HELPERS2 = {
192622
+ "blocks.delete": (editor) => typeof editor.helpers?.blockNode?.getBlockNodeById === "function"
192623
+ };
192338
192624
  STYLE_MARK_SCHEMA_NAMES2 = {
192339
192625
  bold: "bold",
192340
192626
  italic: "italic",
@@ -197394,13 +197680,28 @@ function buildBlockIndex2(editor) {
197394
197680
  registerKey(`${nodeType}:${aliasId}`, candidate);
197395
197681
  }
197396
197682
  });
197397
- return { candidates, byId };
197683
+ return { candidates, byId, ambiguous };
197398
197684
  }
197399
197685
  function findBlockById2(index2, address2) {
197400
197686
  if (address2.kind !== "block")
197401
197687
  return;
197402
197688
  return index2.byId.get(`${address2.nodeType}:${address2.nodeId}`);
197403
197689
  }
197690
+ function findBlockByIdStrict2(index2, address2) {
197691
+ const key2 = `${address2.nodeType}:${address2.nodeId}`;
197692
+ if (index2.ambiguous.has(key2)) {
197693
+ throw new DocumentApiAdapterError3("AMBIGUOUS_TARGET", `Multiple blocks share key "${key2}".`, {
197694
+ target: address2
197695
+ });
197696
+ }
197697
+ const candidate = index2.byId.get(key2);
197698
+ if (!candidate) {
197699
+ throw new DocumentApiAdapterError3("TARGET_NOT_FOUND", `Block "${key2}" was not found.`, {
197700
+ target: address2
197701
+ });
197702
+ }
197703
+ return candidate;
197704
+ }
197404
197705
  function isTextBlockCandidate2(candidate) {
197405
197706
  const node3 = candidate.node;
197406
197707
  return Boolean(node3?.inlineContent || node3?.isTextblock);
@@ -199146,7 +199447,7 @@ function buildAssertIndex2(doc4) {
199146
199447
  }
199147
199448
  return true;
199148
199449
  });
199149
- return { candidates, byId };
199450
+ return { candidates, byId, ambiguous };
199150
199451
  }
199151
199452
  function resolveAssertScope2(index2, select2, within2) {
199152
199453
  if (!within2)
@@ -200505,6 +200806,71 @@ var init_comments_wrappers = __esm(() => {
200505
200806
  init_comment_target_resolver();
200506
200807
  });
200507
200808
 
200809
+ // ../../packages/super-editor/src/document-api-adapters/plan-engine/blocks-wrappers.ts
200810
+ function validateTargetNodeType2(nodeType) {
200811
+ if (REJECTED_NODE_TYPES2.has(nodeType)) {
200812
+ throw new DocumentApiAdapterError3("INVALID_TARGET", `blocks.delete does not support "${nodeType}" targets. Table row/column operations are out of scope.`, { nodeType });
200813
+ }
200814
+ if (!SUPPORTED_NODE_TYPES2.has(nodeType)) {
200815
+ throw new DocumentApiAdapterError3("INVALID_TARGET", `blocks.delete does not support "${nodeType}" targets.`, {
200816
+ nodeType
200817
+ });
200818
+ }
200819
+ }
200820
+ function resolveSdBlockId2(candidate) {
200821
+ const sdBlockId = candidate.node.attrs?.sdBlockId;
200822
+ if (typeof sdBlockId === "string" && sdBlockId.length > 0)
200823
+ return sdBlockId;
200824
+ throw new DocumentApiAdapterError3("INTERNAL_ERROR", "Resolved block candidate is missing sdBlockId attribute. This indicates a schema/extension invariant violation.", { attrs: candidate.node.attrs });
200825
+ }
200826
+ function validateCommandLayerUniqueness2(editor, sdBlockId) {
200827
+ const getBlockNodeById = editor.helpers?.blockNode?.getBlockNodeById;
200828
+ if (typeof getBlockNodeById !== "function") {
200829
+ throw new DocumentApiAdapterError3("CAPABILITY_UNAVAILABLE", "blocks.delete requires the blockNode helper to be registered.", { reason: "missing_helper" });
200830
+ }
200831
+ const matches3 = getBlockNodeById(sdBlockId);
200832
+ if (!matches3 || Array.isArray(matches3) && matches3.length === 0) {
200833
+ throw new DocumentApiAdapterError3("TARGET_NOT_FOUND", `Block with sdBlockId "${sdBlockId}" was not found at the command layer.`, { sdBlockId });
200834
+ }
200835
+ if (Array.isArray(matches3) && matches3.length > 1) {
200836
+ throw new DocumentApiAdapterError3("AMBIGUOUS_TARGET", `Multiple blocks share sdBlockId "${sdBlockId}" at the command layer.`, { sdBlockId, count: matches3.length });
200837
+ }
200838
+ }
200839
+ function blocksDeleteWrapper2(editor, input2, options) {
200840
+ rejectTrackedMode2("blocks.delete", options);
200841
+ const index2 = getBlockIndex2(editor);
200842
+ const candidate = findBlockByIdStrict2(index2, input2.target);
200843
+ validateTargetNodeType2(candidate.nodeType);
200844
+ const sdBlockId = resolveSdBlockId2(candidate);
200845
+ const deleteBlockNodeById = requireEditorCommand2(editor.commands?.deleteBlockNodeById, "blocks.delete");
200846
+ validateCommandLayerUniqueness2(editor, sdBlockId);
200847
+ if (options?.dryRun) {
200848
+ return { success: true, deleted: input2.target };
200849
+ }
200850
+ const receipt2 = executeDomainCommand2(editor, () => {
200851
+ const didApply = deleteBlockNodeById(sdBlockId);
200852
+ if (didApply) {
200853
+ clearIndexCache2(editor);
200854
+ }
200855
+ return didApply;
200856
+ }, { expectedRevision: options?.expectedRevision });
200857
+ if (receipt2.steps[0]?.effect !== "changed") {
200858
+ throw new DocumentApiAdapterError3("INTERNAL_ERROR", "blocks.delete command returned false despite passing all pre-apply checks. This is an internal invariant violation.", { sdBlockId, target: input2.target });
200859
+ }
200860
+ return { success: true, deleted: input2.target };
200861
+ }
200862
+ var SUPPORTED_NODE_TYPES2, REJECTED_NODE_TYPES2;
200863
+ var init_blocks_wrappers = __esm(() => {
200864
+ init_src();
200865
+ init_index_cache();
200866
+ init_node_address_resolver();
200867
+ init_errors3();
200868
+ init_mutation_helpers();
200869
+ init_plan_wrappers();
200870
+ SUPPORTED_NODE_TYPES2 = new Set(DELETABLE_BLOCK_NODE_TYPES);
200871
+ REJECTED_NODE_TYPES2 = new Set(["tableRow", "tableCell"]);
200872
+ });
200873
+
200508
200874
  // ../../packages/super-editor/src/extensions/track-changes/trackChangesHelpers/documentHelpers.js
200509
200875
  var flatten3 = (node3, descend = true) => {
200510
200876
  if (!node3) {
@@ -236151,6 +236517,9 @@ function getDocumentApiAdapters2(editor) {
236151
236517
  acceptAll: (input2, options) => trackChangesAcceptAllWrapper2(editor, input2, options),
236152
236518
  rejectAll: (input2, options) => trackChangesRejectAllWrapper2(editor, input2, options)
236153
236519
  },
236520
+ blocks: {
236521
+ delete: (input2, options) => blocksDeleteWrapper2(editor, input2, options)
236522
+ },
236154
236523
  create: {
236155
236524
  paragraph: (input2, options) => createParagraphWrapper2(editor, input2, options),
236156
236525
  heading: (input2, options) => createHeadingWrapper2(editor, input2, options)
@@ -236177,6 +236546,7 @@ function getDocumentApiAdapters2(editor) {
236177
236546
  var init_document_api_adapters = __esm(() => {
236178
236547
  init_capabilities_adapter();
236179
236548
  init_comments_wrappers();
236549
+ init_blocks_wrappers();
236180
236550
  init_create_wrappers();
236181
236551
  init_find_adapter();
236182
236552
  init_plan_wrappers();
@@ -239151,9 +239521,39 @@ function mapCreateError(operationId, error, code7) {
239151
239521
  if (code7 === "AMBIGUOUS_TARGET" || code7 === "INVALID_TARGET") {
239152
239522
  return new CliError("INVALID_ARGUMENT", message, { operationId, details });
239153
239523
  }
239154
- if (code7 === "TRACK_CHANGE_COMMAND_UNAVAILABLE" || code7 === "CAPABILITY_UNAVAILABLE") {
239524
+ if (code7 === "TRACK_CHANGE_COMMAND_UNAVAILABLE") {
239155
239525
  return new CliError("TRACK_CHANGE_COMMAND_UNAVAILABLE", message, { operationId, details });
239156
239526
  }
239527
+ if (code7 === "CAPABILITY_UNAVAILABLE") {
239528
+ const reason = details?.reason;
239529
+ if (reason === "tracked_mode_unsupported") {
239530
+ return new CliError("TRACK_CHANGE_COMMAND_UNAVAILABLE", message, { operationId, details });
239531
+ }
239532
+ return new CliError("COMMAND_FAILED", message, { operationId, details });
239533
+ }
239534
+ if (code7 === "COMMAND_UNAVAILABLE") {
239535
+ return new CliError("COMMAND_FAILED", message, { operationId, details });
239536
+ }
239537
+ if (error instanceof CliError)
239538
+ return error;
239539
+ return new CliError("COMMAND_FAILED", message, { operationId, details });
239540
+ }
239541
+ function mapBlocksError(operationId, error, code7) {
239542
+ const message = extractErrorMessage(error);
239543
+ const details = extractErrorDetails(error);
239544
+ if (code7 === "TARGET_NOT_FOUND") {
239545
+ return new CliError("TARGET_NOT_FOUND", message, { operationId, details });
239546
+ }
239547
+ if (code7 === "AMBIGUOUS_TARGET" || code7 === "INVALID_TARGET" || code7 === "INVALID_INPUT") {
239548
+ return new CliError("INVALID_ARGUMENT", message, { operationId, details });
239549
+ }
239550
+ if (code7 === "CAPABILITY_UNAVAILABLE") {
239551
+ const reason = details?.reason;
239552
+ if (reason === "tracked_mode_unsupported") {
239553
+ return new CliError("TRACK_CHANGE_COMMAND_UNAVAILABLE", message, { operationId, details });
239554
+ }
239555
+ return new CliError("COMMAND_FAILED", message, { operationId, details });
239556
+ }
239157
239557
  if (code7 === "COMMAND_UNAVAILABLE") {
239158
239558
  return new CliError("COMMAND_FAILED", message, { operationId, details });
239159
239559
  }
@@ -239231,6 +239631,12 @@ function mapFailedReceipt(operationId, result) {
239231
239631
  }
239232
239632
  return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure });
239233
239633
  }
239634
+ if (family === "blocks") {
239635
+ if (failureCode === "INVALID_TARGET") {
239636
+ return new CliError("INVALID_ARGUMENT", failureMessage, { operationId, failure });
239637
+ }
239638
+ return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure });
239639
+ }
239234
239640
  if (family === "create") {
239235
239641
  if (failureCode === "TRACK_CHANGE_COMMAND_UNAVAILABLE") {
239236
239642
  return new CliError("TRACK_CHANGE_COMMAND_UNAVAILABLE", failureMessage, { operationId, failure });
@@ -239252,6 +239658,7 @@ var init_error_mapping = __esm(() => {
239252
239658
  lists: mapListsError,
239253
239659
  textMutation: mapTextMutationError,
239254
239660
  create: mapCreateError,
239661
+ blocks: mapBlocksError,
239255
239662
  query: mapQueryError,
239256
239663
  general: (operationId, error) => {
239257
239664
  if (error instanceof CliError)
@@ -240140,6 +240547,18 @@ function normalizeFlatTargetFlags(operationId, apiInput) {
240140
240547
  }
240141
240548
  return apiInput;
240142
240549
  }
240550
+ if (operationId === "blocks.delete") {
240551
+ const nodeType = apiInput.nodeType;
240552
+ const nodeId = apiInput.nodeId;
240553
+ if (typeof nodeType === "string" && typeof nodeId === "string") {
240554
+ const { nodeType: _4, nodeId: _n, ...rest } = apiInput;
240555
+ return {
240556
+ ...rest,
240557
+ target: { kind: "block", nodeType, nodeId }
240558
+ };
240559
+ }
240560
+ return apiInput;
240561
+ }
240143
240562
  if (LIST_TARGET_OPERATIONS.has(operationId)) {
240144
240563
  const nodeId = apiInput.nodeId;
240145
240564
  if (typeof nodeId === "string") {
@@ -240927,6 +241346,7 @@ function buildHelpText() {
240927
241346
  "mutation",
240928
241347
  "format",
240929
241348
  "create",
241349
+ "blocks",
240930
241350
  "lists",
240931
241351
  "comments",
240932
241352
  "trackChanges",
@@ -241368,6 +241788,10 @@ var init_operation_params = __esm(() => {
241368
241788
  ...LIST_TARGET_FLAT_PARAMS
241369
241789
  ],
241370
241790
  "doc.lists.exit": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }, ...LIST_TARGET_FLAT_PARAMS],
241791
+ "doc.blocks.delete": [
241792
+ { name: "nodeType", kind: "flag", flag: "node-type", type: "string" },
241793
+ { name: "nodeId", kind: "flag", flag: "node-id", type: "string" }
241794
+ ],
241371
241795
  "doc.create.paragraph": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
241372
241796
  "doc.create.heading": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }]
241373
241797
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superdoc-dev/cli",
3
- "version": "0.2.0-next.6",
3
+ "version": "0.2.0-next.7",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "superdoc": "./dist/index.js"
@@ -19,20 +19,20 @@
19
19
  "@types/bun": "^1.3.8",
20
20
  "@types/node": "22.19.2",
21
21
  "typescript": "^5.9.2",
22
- "@superdoc/document-api": "0.0.1",
22
+ "@superdoc/super-editor": "0.0.1",
23
23
  "superdoc": "1.16.0",
24
- "@superdoc/super-editor": "0.0.1"
24
+ "@superdoc/document-api": "0.0.1"
25
25
  },
26
26
  "module": "src/index.ts",
27
27
  "publishConfig": {
28
28
  "access": "public"
29
29
  },
30
30
  "optionalDependencies": {
31
- "@superdoc-dev/cli-darwin-arm64": "0.2.0-next.6",
32
- "@superdoc-dev/cli-darwin-x64": "0.2.0-next.6",
33
- "@superdoc-dev/cli-linux-arm64": "0.2.0-next.6",
34
- "@superdoc-dev/cli-linux-x64": "0.2.0-next.6",
35
- "@superdoc-dev/cli-windows-x64": "0.2.0-next.6"
31
+ "@superdoc-dev/cli-darwin-arm64": "0.2.0-next.7",
32
+ "@superdoc-dev/cli-darwin-x64": "0.2.0-next.7",
33
+ "@superdoc-dev/cli-linux-x64": "0.2.0-next.7",
34
+ "@superdoc-dev/cli-windows-x64": "0.2.0-next.7",
35
+ "@superdoc-dev/cli-linux-arm64": "0.2.0-next.7"
36
36
  },
37
37
  "scripts": {
38
38
  "dev": "bun run src/index.ts",