@superdoc-dev/cli 0.3.0-next.37 → 0.3.0-next.39

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 +999 -383
  2. package/package.json +8 -8
package/dist/index.js CHANGED
@@ -7254,8 +7254,20 @@ function ref(name) {
7254
7254
  function targetLocatorWithPayload(payloadProperties, payloadRequired = []) {
7255
7255
  return {
7256
7256
  oneOf: [
7257
- objectSchema({ target: ref("SelectionTarget"), ...payloadProperties }, ["target", ...payloadRequired]),
7258
- objectSchema({ ref: { type: "string" }, ...payloadProperties }, ["ref", ...payloadRequired])
7257
+ objectSchema({
7258
+ target: {
7259
+ ...ref("SelectionTarget"),
7260
+ description: "Selection target: {kind:'selection', start:{kind:'text', blockId, offset}, end:{kind:'text', blockId, offset}}. Use 'ref' instead when you have a search result handle."
7261
+ },
7262
+ ...payloadProperties
7263
+ }, ["target", ...payloadRequired]),
7264
+ objectSchema({
7265
+ ref: {
7266
+ type: "string",
7267
+ description: "Handle ref string from a superdoc_search result. Pass the handle.ref value directly (e.g. 'text:eyJ...'). Preferred over 'target' for inline formatting."
7268
+ },
7269
+ ...payloadProperties
7270
+ }, ["ref", ...payloadRequired])
7259
7271
  ]
7260
7272
  };
7261
7273
  }
@@ -7907,6 +7919,7 @@ var init_schemas = __esm(() => {
7907
7919
  nodeId: { type: "string" }
7908
7920
  }, ["kind", "nodeType", "nodeId"]),
7909
7921
  SelectionPoint: {
7922
+ description: "A point in the document. Use {kind:'text', blockId, offset} for character positions or {kind:'nodeEdge', node:{kind:'block', nodeType, nodeId}, edge:'before'|'after'} for block boundaries.",
7910
7923
  oneOf: [
7911
7924
  objectSchema({ kind: { const: "text" }, blockId: { type: "string" }, offset: { type: "integer", minimum: 0 } }, [
7912
7925
  "kind",
@@ -8191,15 +8204,18 @@ var init_schemas = __esm(() => {
8191
8204
  hint: { type: "string" }
8192
8205
  }, ["message"]);
8193
8206
  textSelectorSchema = objectSchema({
8194
- type: { const: "text" },
8195
- pattern: { type: "string" },
8196
- mode: { enum: ["contains", "regex"] },
8197
- caseSensitive: { type: "boolean" }
8207
+ type: { const: "text", description: "Must be 'text' for text pattern search." },
8208
+ pattern: { type: "string", description: "Text or regex pattern to match." },
8209
+ mode: { enum: ["contains", "regex"], description: "Match mode: 'contains' (substring) or 'regex'." },
8210
+ caseSensitive: { type: "boolean", description: "Case-sensitive matching. Default: false." }
8198
8211
  }, ["type", "pattern"]);
8199
8212
  nodeSelectorSchema = objectSchema({
8200
- type: { const: "node" },
8201
- nodeType: { enum: [...nodeTypeValues] },
8202
- kind: { enum: ["block", "inline"] }
8213
+ type: { const: "node", description: "Must be 'node' for node type search." },
8214
+ nodeType: {
8215
+ enum: [...nodeTypeValues],
8216
+ description: "Block type to match (paragraph, heading, table, listItem, etc.)."
8217
+ },
8218
+ kind: { enum: ["block", "inline"], description: "Filter: 'block' or 'inline'." }
8203
8219
  }, ["type"]);
8204
8220
  selectorShorthandSchema = objectSchema({
8205
8221
  nodeType: { enum: [...nodeTypeValues] }
@@ -8580,20 +8596,36 @@ var init_schemas = __esm(() => {
8580
8596
  oneOf: [{ type: "object" }, { type: "array", items: { type: "object" } }]
8581
8597
  };
8582
8598
  placementSchema = { enum: ["before", "after", "insideStart", "insideEnd"] };
8583
- nestingPolicySchema = objectSchema({
8584
- tables: { enum: ["forbid", "allow"] }
8585
- });
8599
+ nestingPolicySchema = {
8600
+ ...objectSchema({
8601
+ tables: { enum: ["forbid", "allow"] }
8602
+ }),
8603
+ description: "Controls nesting behavior. tables: 'allow' permits inserting tables inside other tables."
8604
+ };
8586
8605
  insertInputSchema = {
8587
8606
  oneOf: [
8588
8607
  objectSchema({
8589
- target: textAddressSchema,
8590
- value: { type: "string" },
8591
- type: { type: "string", enum: ["text", "markdown", "html"] }
8608
+ target: {
8609
+ ...textAddressSchema,
8610
+ description: "Insertion point: {kind:'text', blockId:'...', range:{start, end}}."
8611
+ },
8612
+ value: { type: "string", description: "Text content to insert." },
8613
+ type: {
8614
+ type: "string",
8615
+ enum: ["text", "markdown", "html"],
8616
+ description: "Content format: 'text' (default), 'markdown', or 'html'."
8617
+ }
8592
8618
  }, ["value"]),
8593
8619
  objectSchema({
8594
- target: blockNodeAddressSchema,
8595
- content: sdFragmentSchema,
8596
- placement: placementSchema,
8620
+ target: {
8621
+ ...blockNodeAddressSchema,
8622
+ description: "Block address for structural insertion: {kind:'block', nodeType:'...', nodeId:'...'}."
8623
+ },
8624
+ content: { ...sdFragmentSchema, description: "Document fragment to insert (structured content)." },
8625
+ placement: {
8626
+ ...placementSchema,
8627
+ description: "Where to place content relative to target: 'before', 'after', 'insideStart', or 'insideEnd'."
8628
+ },
8597
8629
  nestingPolicy: nestingPolicySchema
8598
8630
  }, ["content"])
8599
8631
  ]
@@ -9066,7 +9098,10 @@ var init_schemas = __esm(() => {
9066
9098
  },
9067
9099
  getHtml: {
9068
9100
  input: objectSchema({
9069
- unflattenLists: { type: "boolean" }
9101
+ unflattenLists: {
9102
+ type: "boolean",
9103
+ description: "When true, flattens nested list structures in output. Default: false."
9104
+ }
9070
9105
  }),
9071
9106
  output: { type: "string" }
9072
9107
  },
@@ -9103,18 +9138,27 @@ var init_schemas = __esm(() => {
9103
9138
  input: {
9104
9139
  oneOf: [
9105
9140
  {
9106
- ...targetLocatorWithPayload({ text: { type: "string" } }, ["text"])
9141
+ ...targetLocatorWithPayload({ text: { type: "string", description: "Replacement text content." } }, ["text"])
9107
9142
  },
9108
9143
  {
9109
9144
  oneOf: [
9110
9145
  objectSchema({
9111
- target: { oneOf: [blockNodeAddressSchema, selectionTargetSchema] },
9112
- content: sdFragmentSchema,
9146
+ target: {
9147
+ oneOf: [blockNodeAddressSchema, selectionTargetSchema],
9148
+ description: "Target block or selection to replace."
9149
+ },
9150
+ content: {
9151
+ ...sdFragmentSchema,
9152
+ description: "Document fragment to replace with (structured content)."
9153
+ },
9113
9154
  nestingPolicy: nestingPolicySchema
9114
9155
  }, ["target", "content"]),
9115
9156
  objectSchema({
9116
- ref: { type: "string" },
9117
- content: sdFragmentSchema,
9157
+ ref: { type: "string", description: "Reference handle from a previous search result." },
9158
+ content: {
9159
+ ...sdFragmentSchema,
9160
+ description: "Document fragment to replace with (structured content)."
9161
+ },
9118
9162
  nestingPolicy: nestingPolicySchema
9119
9163
  }, ["ref", "content"])
9120
9164
  ]
@@ -9127,7 +9171,9 @@ var init_schemas = __esm(() => {
9127
9171
  },
9128
9172
  delete: {
9129
9173
  input: {
9130
- ...targetLocatorWithPayload({ behavior: deleteBehaviorSchema })
9174
+ ...targetLocatorWithPayload({
9175
+ behavior: { ...deleteBehaviorSchema, description: "Delete behavior: 'selection' (default) or 'exact'." }
9176
+ })
9131
9177
  },
9132
9178
  output: textMutationResultSchemaFor("delete"),
9133
9179
  success: textMutationSuccessSchema,
@@ -9135,7 +9181,12 @@ var init_schemas = __esm(() => {
9135
9181
  },
9136
9182
  "format.apply": {
9137
9183
  input: {
9138
- ...targetLocatorWithPayload({ inline: buildInlineRunPatchSchema() }, ["inline"])
9184
+ ...targetLocatorWithPayload({
9185
+ inline: {
9186
+ ...buildInlineRunPatchSchema(),
9187
+ description: "Inline formatting properties to apply. Set a property to apply it, use null to clear it. Example: {bold: true, italic: true} or {bold: null} to remove bold."
9188
+ }
9189
+ }, ["inline"])
9139
9190
  },
9140
9191
  output: textMutationResultSchemaFor("format.apply"),
9141
9192
  success: textMutationSuccessSchema,
@@ -9261,10 +9312,18 @@ var init_schemas = __esm(() => {
9261
9312
  input: {
9262
9313
  ...objectSchema({
9263
9314
  target: paragraphTargetSchema,
9264
- left: { type: "integer", minimum: 0 },
9265
- right: { type: "integer", minimum: 0 },
9266
- firstLine: { type: "integer", minimum: 0 },
9267
- hanging: { type: "integer", minimum: 0 }
9315
+ left: { type: "integer", minimum: 0, description: "Left indentation in twips (1440 = 1 inch)." },
9316
+ right: { type: "integer", minimum: 0, description: "Right indentation in twips (1440 = 1 inch)." },
9317
+ firstLine: {
9318
+ type: "integer",
9319
+ minimum: 0,
9320
+ description: "First line indent in twips. Cannot be combined with hanging."
9321
+ },
9322
+ hanging: {
9323
+ type: "integer",
9324
+ minimum: 0,
9325
+ description: "Hanging indent in twips. Cannot be combined with firstLine."
9326
+ }
9268
9327
  }, ["target"]),
9269
9328
  anyOf: [{ required: ["left"] }, { required: ["right"] }, { required: ["firstLine"] }, { required: ["hanging"] }],
9270
9329
  not: { required: ["firstLine", "hanging"] }
@@ -9283,10 +9342,17 @@ var init_schemas = __esm(() => {
9283
9342
  input: {
9284
9343
  ...objectSchema({
9285
9344
  target: paragraphTargetSchema,
9286
- before: { type: "integer", minimum: 0 },
9287
- after: { type: "integer", minimum: 0 },
9288
- line: { type: "integer", minimum: 1 },
9289
- lineRule: { enum: [...LINE_RULES] }
9345
+ before: { type: "integer", minimum: 0, description: "Space before paragraph in twips (20 twips = 1pt)." },
9346
+ after: { type: "integer", minimum: 0, description: "Space after paragraph in twips (20 twips = 1pt)." },
9347
+ line: {
9348
+ type: "integer",
9349
+ minimum: 1,
9350
+ description: "Line spacing value. Meaning depends on lineRule. Must be provided together with lineRule."
9351
+ },
9352
+ lineRule: {
9353
+ enum: [...LINE_RULES],
9354
+ description: "Line spacing rule. Required when 'line' is set."
9355
+ }
9290
9356
  }, ["target"]),
9291
9357
  anyOf: [{ required: ["before"] }, { required: ["after"] }, { required: ["line"] }, { required: ["lineRule"] }],
9292
9358
  if: { required: ["line"] },
@@ -9474,6 +9540,7 @@ var init_schemas = __esm(() => {
9474
9540
  "create.paragraph": {
9475
9541
  input: objectSchema({
9476
9542
  at: {
9543
+ description: "Position: {kind:'documentEnd'} to append, {kind:'documentStart'} to prepend, or {kind:'before'|'after', target:{kind:'block', nodeType:'...', nodeId:'...'}} for relative placement.",
9477
9544
  oneOf: [
9478
9545
  objectSchema({ kind: { const: "documentStart" } }, ["kind"]),
9479
9546
  objectSchema({ kind: { const: "documentEnd" } }, ["kind"]),
@@ -9487,7 +9554,7 @@ var init_schemas = __esm(() => {
9487
9554
  }, ["kind", "target"])
9488
9555
  ]
9489
9556
  },
9490
- text: { type: "string" }
9557
+ text: { type: "string", description: "Paragraph text content." }
9491
9558
  }),
9492
9559
  output: createParagraphResultSchemaFor("create.paragraph"),
9493
9560
  success: createParagraphSuccessSchema,
@@ -9495,8 +9562,9 @@ var init_schemas = __esm(() => {
9495
9562
  },
9496
9563
  "create.heading": {
9497
9564
  input: objectSchema({
9498
- level: headingLevelSchema,
9565
+ level: { ...headingLevelSchema, description: "Heading level (1-6)." },
9499
9566
  at: {
9567
+ description: "Position: {kind:'documentEnd'} to append, {kind:'documentStart'} to prepend, or {kind:'before'|'after', target:{kind:'block', nodeType:'...', nodeId:'...'}} for relative placement.",
9500
9568
  oneOf: [
9501
9569
  objectSchema({ kind: { const: "documentStart" } }, ["kind"]),
9502
9570
  objectSchema({ kind: { const: "documentEnd" } }, ["kind"]),
@@ -9510,7 +9578,7 @@ var init_schemas = __esm(() => {
9510
9578
  }, ["kind", "target"])
9511
9579
  ]
9512
9580
  },
9513
- text: { type: "string" }
9581
+ text: { type: "string", description: "Heading text content." }
9514
9582
  }, ["level"]),
9515
9583
  output: createHeadingResultSchemaFor("create.heading"),
9516
9584
  success: createHeadingSuccessSchema,
@@ -9756,9 +9824,15 @@ var init_schemas = __esm(() => {
9756
9824
  },
9757
9825
  "lists.insert": {
9758
9826
  input: objectSchema({
9759
- target: listItemAddressSchema,
9760
- position: listInsertPositionSchema,
9761
- text: { type: "string" }
9827
+ target: {
9828
+ ...listItemAddressSchema,
9829
+ description: "The target list item. For 'insert': the item to insert relative to. For 'create' with mode 'fromParagraphs': use nodeType 'paragraph' instead. Format: {kind:'block', nodeType:'listItem', nodeId:'<id>'}."
9830
+ },
9831
+ position: {
9832
+ ...listInsertPositionSchema,
9833
+ description: "Required. Insert position relative to target: 'before' or 'after'."
9834
+ },
9835
+ text: { type: "string", description: "Text content for the new list item." }
9762
9836
  }, ["target", "position"]),
9763
9837
  output: listsInsertResultSchemaFor("lists.insert"),
9764
9838
  success: listsInsertSuccessSchema,
@@ -9768,11 +9842,28 @@ var init_schemas = __esm(() => {
9768
9842
  input: {
9769
9843
  type: "object",
9770
9844
  properties: {
9771
- mode: { enum: ["empty", "fromParagraphs"] },
9772
- at: ref("BlockAddress"),
9773
- target: ref("BlockAddressOrRange"),
9774
- kind: listKindSchema,
9775
- level: { type: "integer", minimum: 0, maximum: 8 },
9845
+ mode: {
9846
+ enum: ["empty", "fromParagraphs"],
9847
+ description: "Required. Creation mode: 'empty' creates a new empty list at the paragraph specified by 'at'; 'fromParagraphs' converts existing paragraph(s) specified by 'target' into list items."
9848
+ },
9849
+ at: {
9850
+ ...ref("BlockAddress"),
9851
+ description: "Required when mode is 'empty'. The paragraph to create the list at. Format: {kind:'block', nodeType:'paragraph', nodeId:'<id>'}."
9852
+ },
9853
+ target: {
9854
+ ...ref("BlockAddressOrRange"),
9855
+ description: "Required when mode is 'fromParagraphs'. The paragraph(s) to convert into list items. Format: {kind:'block', nodeType:'paragraph', nodeId:'<id>'}."
9856
+ },
9857
+ kind: {
9858
+ ...listKindSchema,
9859
+ description: "List type: 'bullet' for bullet points, 'ordered' for numbered lists."
9860
+ },
9861
+ level: {
9862
+ type: "integer",
9863
+ minimum: 0,
9864
+ maximum: 8,
9865
+ description: "List nesting level (0-8). 0 is the top level."
9866
+ },
9776
9867
  preset: {
9777
9868
  enum: [
9778
9869
  "decimal",
@@ -9785,7 +9876,8 @@ var init_schemas = __esm(() => {
9785
9876
  "circle",
9786
9877
  "square",
9787
9878
  "dash"
9788
- ]
9879
+ ],
9880
+ description: "Predefined list style preset. Overrides 'kind' with a specific numbering or bullet format."
9789
9881
  },
9790
9882
  style: objectSchema({
9791
9883
  version: { const: 1 },
@@ -10050,7 +10142,10 @@ var init_schemas = __esm(() => {
10050
10142
  input: objectSchema({
10051
10143
  target: listItemAddressSchema,
10052
10144
  kind: { enum: ["ordered", "bullet"] },
10053
- continuity: { enum: ["preserve", "none"] }
10145
+ continuity: {
10146
+ enum: ["preserve", "none"],
10147
+ description: "Numbering continuity: 'preserve' keeps numbering; 'none' restarts."
10148
+ }
10054
10149
  }, ["target", "kind"]),
10055
10150
  output: listsMutateItemResultSchemaFor("lists.setType"),
10056
10151
  success: listsMutateItemSuccessSchema,
@@ -10298,9 +10393,12 @@ var init_schemas = __esm(() => {
10298
10393
  },
10299
10394
  "comments.create": {
10300
10395
  input: objectSchema({
10301
- text: { type: "string" },
10302
- target: textAddressSchema,
10303
- parentCommentId: { type: "string" }
10396
+ text: { type: "string", description: "Comment text content." },
10397
+ target: {
10398
+ ...textAddressSchema,
10399
+ description: "Text range to anchor the comment: {kind:'text', blockId:'...', range:{start:N, end:N}}."
10400
+ },
10401
+ parentCommentId: { type: "string", description: "Parent comment ID for creating a threaded reply." }
10304
10402
  }, ["text"]),
10305
10403
  output: receiptResultSchemaFor("comments.create"),
10306
10404
  success: receiptSuccessSchema,
@@ -10309,10 +10407,13 @@ var init_schemas = __esm(() => {
10309
10407
  "comments.patch": {
10310
10408
  input: objectSchema({
10311
10409
  commentId: { type: "string" },
10312
- text: { type: "string" },
10410
+ text: { type: "string", description: "Updated comment text." },
10313
10411
  target: textAddressSchema,
10314
- status: { enum: ["resolved"] },
10315
- isInternal: { type: "boolean" }
10412
+ status: { enum: ["resolved"], description: "Set comment status. Use 'resolved' to mark as resolved." },
10413
+ isInternal: {
10414
+ type: "boolean",
10415
+ description: "When true, marks the comment as internal (hidden from external collaborators)."
10416
+ }
10316
10417
  }, ["commentId"]),
10317
10418
  output: receiptResultSchemaFor("comments.patch"),
10318
10419
  success: receiptSuccessSchema,
@@ -10330,17 +10431,23 @@ var init_schemas = __esm(() => {
10330
10431
  },
10331
10432
  "comments.list": {
10332
10433
  input: objectSchema({
10333
- includeResolved: { type: "boolean" },
10334
- limit: { type: "integer" },
10335
- offset: { type: "integer" }
10434
+ includeResolved: {
10435
+ type: "boolean",
10436
+ description: "When true, includes resolved comments in results. Default: false."
10437
+ },
10438
+ limit: { type: "integer", description: "Maximum number of comments to return." },
10439
+ offset: { type: "integer", description: "Number of comments to skip for pagination." }
10336
10440
  }),
10337
10441
  output: commentsListResultSchema
10338
10442
  },
10339
10443
  "trackChanges.list": {
10340
10444
  input: objectSchema({
10341
- limit: { type: "integer" },
10342
- offset: { type: "integer" },
10343
- type: { enum: ["insert", "delete", "format"] }
10445
+ limit: { type: "integer", description: "Maximum number of tracked changes to return." },
10446
+ offset: { type: "integer", description: "Number of tracked changes to skip for pagination." },
10447
+ type: {
10448
+ enum: ["insert", "delete", "format"],
10449
+ description: "Filter by change type: 'insert', 'delete', or 'format'."
10450
+ }
10344
10451
  }),
10345
10452
  output: trackChangesListResultSchema
10346
10453
  },
@@ -10369,13 +10476,28 @@ var init_schemas = __esm(() => {
10369
10476
  },
10370
10477
  "query.match": {
10371
10478
  input: objectSchema({
10372
- select: { oneOf: [textSelectorSchema, nodeSelectorSchema] },
10373
- within: blockNodeAddressSchema,
10374
- require: { enum: ["any", "first", "exactlyOne", "all"] },
10375
- mode: { enum: ["strict", "candidates"] },
10376
- includeNodes: { type: "boolean" },
10377
- limit: { type: "integer", minimum: 1 },
10378
- offset: { type: "integer", minimum: 0 }
10479
+ select: {
10480
+ description: "Search selector. Use {type:'text', pattern:'...'} for text search or {type:'node', nodeType:'paragraph'|'heading'|...} for node search.",
10481
+ oneOf: [textSelectorSchema, nodeSelectorSchema]
10482
+ },
10483
+ within: {
10484
+ ...blockNodeAddressSchema,
10485
+ description: "Limit search scope to within a specific block: {kind:'block', nodeType:'...', nodeId:'...'}."
10486
+ },
10487
+ require: {
10488
+ enum: ["any", "first", "exactlyOne", "all"],
10489
+ description: "Match cardinality: 'any' (all matches), 'first' (only first), 'exactlyOne' (fail if != 1), 'all' (fail if 0)."
10490
+ },
10491
+ mode: {
10492
+ enum: ["strict", "candidates"],
10493
+ description: "Search mode: 'strict' (default, exact matching) or 'candidates' (returns scored potential matches)."
10494
+ },
10495
+ includeNodes: {
10496
+ type: "boolean",
10497
+ description: "When true, includes full node data in results. Default: false."
10498
+ },
10499
+ limit: { type: "integer", minimum: 1, description: "Maximum number of matches to return." },
10500
+ offset: { type: "integer", minimum: 0, description: "Number of matches to skip for pagination." }
10379
10501
  }, ["select"]),
10380
10502
  output: (() => {
10381
10503
  const textMatchItemSchema = discoveryItemSchema({
@@ -10507,10 +10629,23 @@ var init_schemas = __esm(() => {
10507
10629
  ]
10508
10630
  };
10509
10631
  const mutationsInputSchema = objectSchema({
10510
- expectedRevision: { type: "string" },
10511
- atomic: { const: true, type: "boolean" },
10512
- changeMode: { enum: ["direct", "tracked"] },
10513
- steps: arraySchema(mutationStepSchema)
10632
+ expectedRevision: {
10633
+ type: "string",
10634
+ description: "Document revision for optimistic concurrency. Mutation fails if document was modified since this revision."
10635
+ },
10636
+ atomic: {
10637
+ const: true,
10638
+ type: "boolean",
10639
+ description: "Must be true. All steps execute as one atomic transaction."
10640
+ },
10641
+ changeMode: {
10642
+ enum: ["direct", "tracked"],
10643
+ description: "Required. Use 'direct' for immediate edits or 'tracked' for suggestions. Must always be provided."
10644
+ },
10645
+ steps: {
10646
+ ...arraySchema(mutationStepSchema),
10647
+ description: "Ordered array of mutation steps. Each step needs 'op' (text.rewrite, text.insert, text.delete, format.apply, or assert) and a 'where' targeting clause."
10648
+ }
10514
10649
  }, ["atomic", "changeMode", "steps"]);
10515
10650
  const documentEdgeAnchorSchema = objectSchema({
10516
10651
  kind: { const: "document" },
@@ -39787,7 +39922,7 @@ var init_remark_gfm_z_sDF4ss_es = __esm(() => {
39787
39922
  emptyOptions2 = {};
39788
39923
  });
39789
39924
 
39790
- // ../../packages/superdoc/dist/chunks/SuperConverter-BsjuwDIO.es.js
39925
+ // ../../packages/superdoc/dist/chunks/SuperConverter-DarcJh0X.es.js
39791
39926
  function getExtensionConfigField(extension$1, field, context = { name: "" }) {
39792
39927
  const fieldValue = extension$1.config[field];
39793
39928
  if (typeof fieldValue === "function")
@@ -41516,10 +41651,16 @@ function ref2(name) {
41516
41651
  }
41517
41652
  function targetLocatorWithPayload2(payloadProperties, payloadRequired = []) {
41518
41653
  return { oneOf: [objectSchema2({
41519
- target: ref2("SelectionTarget"),
41654
+ target: {
41655
+ ...ref2("SelectionTarget"),
41656
+ description: "Selection target: {kind:'selection', start:{kind:'text', blockId, offset}, end:{kind:'text', blockId, offset}}. Use 'ref' instead when you have a search result handle."
41657
+ },
41520
41658
  ...payloadProperties
41521
41659
  }, ["target", ...payloadRequired]), objectSchema2({
41522
- ref: { type: "string" },
41660
+ ref: {
41661
+ type: "string",
41662
+ description: "Handle ref string from a superdoc_search result. Pass the handle.ref value directly (e.g. 'text:eyJ...'). Preferred over 'target' for inline formatting."
41663
+ },
41523
41664
  ...payloadProperties
41524
41665
  }, ["ref", ...payloadRequired])] };
41525
41666
  }
@@ -85856,7 +85997,7 @@ var isRegExp = (value) => {
85856
85997
  state.kern = kernNode.attributes["w:val"];
85857
85998
  }
85858
85999
  }, SuperConverter;
85859
- var init_SuperConverter_BsjuwDIO_es = __esm(() => {
86000
+ var init_SuperConverter_DarcJh0X_es = __esm(() => {
85860
86001
  init_rolldown_runtime_B2q5OVn9_es();
85861
86002
  init_jszip_ChlR43oI_es();
85862
86003
  init_xml_js_BtmJ6bNs_es();
@@ -95266,15 +95407,36 @@ var init_SuperConverter_BsjuwDIO_es = __esm(() => {
95266
95407
  hint: { type: "string" }
95267
95408
  }, ["message"]);
95268
95409
  textSelectorSchema2 = objectSchema2({
95269
- type: { const: "text" },
95270
- pattern: { type: "string" },
95271
- mode: { enum: ["contains", "regex"] },
95272
- caseSensitive: { type: "boolean" }
95410
+ type: {
95411
+ const: "text",
95412
+ description: "Must be 'text' for text pattern search."
95413
+ },
95414
+ pattern: {
95415
+ type: "string",
95416
+ description: "Text or regex pattern to match."
95417
+ },
95418
+ mode: {
95419
+ enum: ["contains", "regex"],
95420
+ description: "Match mode: 'contains' (substring) or 'regex'."
95421
+ },
95422
+ caseSensitive: {
95423
+ type: "boolean",
95424
+ description: "Case-sensitive matching. Default: false."
95425
+ }
95273
95426
  }, ["type", "pattern"]);
95274
95427
  nodeSelectorSchema2 = objectSchema2({
95275
- type: { const: "node" },
95276
- nodeType: { enum: [...nodeTypeValues2] },
95277
- kind: { enum: ["block", "inline"] }
95428
+ type: {
95429
+ const: "node",
95430
+ description: "Must be 'node' for node type search."
95431
+ },
95432
+ nodeType: {
95433
+ enum: [...nodeTypeValues2],
95434
+ description: "Block type to match (paragraph, heading, table, listItem, etc.)."
95435
+ },
95436
+ kind: {
95437
+ enum: ["block", "inline"],
95438
+ description: "Filter: 'block' or 'inline'."
95439
+ }
95278
95440
  }, ["type"]);
95279
95441
  objectSchema2({ nodeType: { enum: [...nodeTypeValues2] } }, ["nodeType"]);
95280
95442
  objectSchema2({
@@ -95830,22 +95992,41 @@ var init_SuperConverter_BsjuwDIO_es = __esm(() => {
95830
95992
  "insideStart",
95831
95993
  "insideEnd"
95832
95994
  ] };
95833
- nestingPolicySchema2 = objectSchema2({ tables: { enum: ["forbid", "allow"] } });
95995
+ nestingPolicySchema2 = {
95996
+ ...objectSchema2({ tables: { enum: ["forbid", "allow"] } }),
95997
+ description: "Controls nesting behavior. tables: 'allow' permits inserting tables inside other tables."
95998
+ };
95834
95999
  objectSchema2({
95835
- target: textAddressSchema2,
95836
- value: { type: "string" },
96000
+ target: {
96001
+ ...textAddressSchema2,
96002
+ description: "Insertion point: {kind:'text', blockId:'...', range:{start, end}}."
96003
+ },
96004
+ value: {
96005
+ type: "string",
96006
+ description: "Text content to insert."
96007
+ },
95837
96008
  type: {
95838
96009
  type: "string",
95839
96010
  enum: [
95840
96011
  "text",
95841
96012
  "markdown",
95842
96013
  "html"
95843
- ]
96014
+ ],
96015
+ description: "Content format: 'text' (default), 'markdown', or 'html'."
95844
96016
  }
95845
96017
  }, ["value"]), objectSchema2({
95846
- target: blockNodeAddressSchema2,
95847
- content: sdFragmentSchema2,
95848
- placement: placementSchema2,
96018
+ target: {
96019
+ ...blockNodeAddressSchema2,
96020
+ description: "Block address for structural insertion: {kind:'block', nodeType:'...', nodeId:'...'}."
96021
+ },
96022
+ content: {
96023
+ ...sdFragmentSchema2,
96024
+ description: "Document fragment to insert (structured content)."
96025
+ },
96026
+ placement: {
96027
+ ...placementSchema2,
96028
+ description: "Where to place content relative to target: 'before', 'after', 'insideStart', or 'insideEnd'."
96029
+ },
95849
96030
  nestingPolicy: nestingPolicySchema2
95850
96031
  }, ["content"]);
95851
96032
  ({ ...objectSchema2({
@@ -96528,7 +96709,10 @@ var init_SuperConverter_BsjuwDIO_es = __esm(() => {
96528
96709
  }, ["modelVersion", "body"]), objectSchema2({
96529
96710
  nodeId: { type: "string" },
96530
96711
  nodeType: { enum: [...blockNodeTypeValues2] }
96531
- }, ["nodeId"]), objectSchema2({ unflattenLists: { type: "boolean" } }), objectSchema2({ markdown: { type: "string" } }, ["markdown"]), objectSchema2({
96712
+ }, ["nodeId"]), objectSchema2({ unflattenLists: {
96713
+ type: "boolean",
96714
+ description: "When true, flattens nested list structures in output. Default: false."
96715
+ } }), objectSchema2({ markdown: { type: "string" } }, ["markdown"]), objectSchema2({
96532
96716
  fragment: {},
96533
96717
  lossy: { type: "boolean" },
96534
96718
  diagnostics: arraySchema2(objectSchema2({
@@ -96552,15 +96736,36 @@ var init_SuperConverter_BsjuwDIO_es = __esm(() => {
96552
96736
  "fragment",
96553
96737
  "lossy",
96554
96738
  "diagnostics"
96555
- ]), receiptResultSchemaFor2("clearContent"), receiptFailureResultSchemaFor2("clearContent"), sdMutationResultSchemaFor2("insert"), sdMutationFailureSchemaFor2("insert"), { ...targetLocatorWithPayload2({ text: { type: "string" } }, ["text"]) }, objectSchema2({
96556
- target: { oneOf: [blockNodeAddressSchema2, selectionTargetSchema2] },
96557
- content: sdFragmentSchema2,
96739
+ ]), receiptResultSchemaFor2("clearContent"), receiptFailureResultSchemaFor2("clearContent"), sdMutationResultSchemaFor2("insert"), sdMutationFailureSchemaFor2("insert"), { ...targetLocatorWithPayload2({ text: {
96740
+ type: "string",
96741
+ description: "Replacement text content."
96742
+ } }, ["text"]) }, objectSchema2({
96743
+ target: {
96744
+ oneOf: [blockNodeAddressSchema2, selectionTargetSchema2],
96745
+ description: "Target block or selection to replace."
96746
+ },
96747
+ content: {
96748
+ ...sdFragmentSchema2,
96749
+ description: "Document fragment to replace with (structured content)."
96750
+ },
96558
96751
  nestingPolicy: nestingPolicySchema2
96559
96752
  }, ["target", "content"]), objectSchema2({
96560
- ref: { type: "string" },
96561
- content: sdFragmentSchema2,
96753
+ ref: {
96754
+ type: "string",
96755
+ description: "Reference handle from a previous search result."
96756
+ },
96757
+ content: {
96758
+ ...sdFragmentSchema2,
96759
+ description: "Document fragment to replace with (structured content)."
96760
+ },
96562
96761
  nestingPolicy: nestingPolicySchema2
96563
- }, ["ref", "content"]), sdMutationResultSchemaFor2("replace"), sdMutationFailureSchemaFor2("replace"), { ...targetLocatorWithPayload2({ behavior: deleteBehaviorSchema2 }) }, textMutationResultSchemaFor2("delete"), textMutationFailureSchemaFor2("delete"), { ...targetLocatorWithPayload2({ inline: buildInlineRunPatchSchema2() }, ["inline"]) }, textMutationResultSchemaFor2("format.apply"), textMutationFailureSchemaFor2("format.apply"), { ...formatInlineAliasOperationSchemas2 }, objectSchema2({
96762
+ }, ["ref", "content"]), sdMutationResultSchemaFor2("replace"), sdMutationFailureSchemaFor2("replace"), { ...targetLocatorWithPayload2({ behavior: {
96763
+ ...deleteBehaviorSchema2,
96764
+ description: "Delete behavior: 'selection' (default) or 'exact'."
96765
+ } }) }, textMutationResultSchemaFor2("delete"), textMutationFailureSchemaFor2("delete"), { ...targetLocatorWithPayload2({ inline: {
96766
+ ...buildInlineRunPatchSchema2(),
96767
+ description: "Inline formatting properties to apply. Set a property to apply it, use null to clear it. Example: {bold: true, italic: true} or {bold: null} to remove bold."
96768
+ } }, ["inline"]) }, textMutationResultSchemaFor2("format.apply"), textMutationFailureSchemaFor2("format.apply"), { ...formatInlineAliasOperationSchemas2 }, objectSchema2({
96564
96769
  offset: {
96565
96770
  type: "number",
96566
96771
  minimum: 0
@@ -96673,35 +96878,45 @@ var init_SuperConverter_BsjuwDIO_es = __esm(() => {
96673
96878
  target: paragraphTargetSchema2,
96674
96879
  left: {
96675
96880
  type: "integer",
96676
- minimum: 0
96881
+ minimum: 0,
96882
+ description: "Left indentation in twips (1440 = 1 inch)."
96677
96883
  },
96678
96884
  right: {
96679
96885
  type: "integer",
96680
- minimum: 0
96886
+ minimum: 0,
96887
+ description: "Right indentation in twips (1440 = 1 inch)."
96681
96888
  },
96682
96889
  firstLine: {
96683
96890
  type: "integer",
96684
- minimum: 0
96891
+ minimum: 0,
96892
+ description: "First line indent in twips. Cannot be combined with hanging."
96685
96893
  },
96686
96894
  hanging: {
96687
96895
  type: "integer",
96688
- minimum: 0
96896
+ minimum: 0,
96897
+ description: "Hanging indent in twips. Cannot be combined with firstLine."
96689
96898
  }
96690
96899
  }, ["target"]) }, paragraphMutationResultSchemaFor2("format.paragraph.setIndentation"), paragraphMutationFailureSchemaFor2("format.paragraph.setIndentation"), objectSchema2({ target: paragraphTargetSchema2 }, ["target"]), paragraphMutationResultSchemaFor2("format.paragraph.clearIndentation"), paragraphMutationFailureSchemaFor2("format.paragraph.clearIndentation"), { ...objectSchema2({
96691
96900
  target: paragraphTargetSchema2,
96692
96901
  before: {
96693
96902
  type: "integer",
96694
- minimum: 0
96903
+ minimum: 0,
96904
+ description: "Space before paragraph in twips (20 twips = 1pt)."
96695
96905
  },
96696
96906
  after: {
96697
96907
  type: "integer",
96698
- minimum: 0
96908
+ minimum: 0,
96909
+ description: "Space after paragraph in twips (20 twips = 1pt)."
96699
96910
  },
96700
96911
  line: {
96701
96912
  type: "integer",
96702
- minimum: 1
96913
+ minimum: 1,
96914
+ description: "Line spacing value. Meaning depends on lineRule. Must be provided together with lineRule."
96703
96915
  },
96704
- lineRule: { enum: [...LINE_RULES2] }
96916
+ lineRule: {
96917
+ enum: [...LINE_RULES2],
96918
+ description: "Line spacing rule. Required when 'line' is set."
96919
+ }
96705
96920
  }, ["target"]) }, paragraphMutationResultSchemaFor2("format.paragraph.setSpacing"), paragraphMutationFailureSchemaFor2("format.paragraph.setSpacing"), objectSchema2({ target: paragraphTargetSchema2 }, ["target"]), paragraphMutationResultSchemaFor2("format.paragraph.clearSpacing"), paragraphMutationFailureSchemaFor2("format.paragraph.clearSpacing"), { ...objectSchema2({
96706
96921
  target: paragraphTargetSchema2,
96707
96922
  keepNext: { type: "boolean" },
@@ -96849,34 +97064,49 @@ var init_SuperConverter_BsjuwDIO_es = __esm(() => {
96849
97064
  failure: stylesFailureSchema
96850
97065
  };
96851
97066
  })(), objectSchema2({
96852
- at: { oneOf: [
96853
- objectSchema2({ kind: { const: "documentStart" } }, ["kind"]),
96854
- objectSchema2({ kind: { const: "documentEnd" } }, ["kind"]),
96855
- objectSchema2({
96856
- kind: { const: "before" },
96857
- target: blockNodeAddressSchema2
96858
- }, ["kind", "target"]),
96859
- objectSchema2({
96860
- kind: { const: "after" },
96861
- target: blockNodeAddressSchema2
96862
- }, ["kind", "target"])
96863
- ] },
96864
- text: { type: "string" }
97067
+ at: {
97068
+ description: "Position: {kind:'documentEnd'} to append, {kind:'documentStart'} to prepend, or {kind:'before'|'after', target:{kind:'block', nodeType:'...', nodeId:'...'}} for relative placement.",
97069
+ oneOf: [
97070
+ objectSchema2({ kind: { const: "documentStart" } }, ["kind"]),
97071
+ objectSchema2({ kind: { const: "documentEnd" } }, ["kind"]),
97072
+ objectSchema2({
97073
+ kind: { const: "before" },
97074
+ target: blockNodeAddressSchema2
97075
+ }, ["kind", "target"]),
97076
+ objectSchema2({
97077
+ kind: { const: "after" },
97078
+ target: blockNodeAddressSchema2
97079
+ }, ["kind", "target"])
97080
+ ]
97081
+ },
97082
+ text: {
97083
+ type: "string",
97084
+ description: "Paragraph text content."
97085
+ }
96865
97086
  }), createParagraphResultSchemaFor2("create.paragraph"), createParagraphFailureSchemaFor2("create.paragraph"), objectSchema2({
96866
- level: headingLevelSchema2,
96867
- at: { oneOf: [
96868
- objectSchema2({ kind: { const: "documentStart" } }, ["kind"]),
96869
- objectSchema2({ kind: { const: "documentEnd" } }, ["kind"]),
96870
- objectSchema2({
96871
- kind: { const: "before" },
96872
- target: blockNodeAddressSchema2
96873
- }, ["kind", "target"]),
96874
- objectSchema2({
96875
- kind: { const: "after" },
96876
- target: blockNodeAddressSchema2
96877
- }, ["kind", "target"])
96878
- ] },
96879
- text: { type: "string" }
97087
+ level: {
97088
+ ...headingLevelSchema2,
97089
+ description: "Heading level (1-6)."
97090
+ },
97091
+ at: {
97092
+ description: "Position: {kind:'documentEnd'} to append, {kind:'documentStart'} to prepend, or {kind:'before'|'after', target:{kind:'block', nodeType:'...', nodeId:'...'}} for relative placement.",
97093
+ oneOf: [
97094
+ objectSchema2({ kind: { const: "documentStart" } }, ["kind"]),
97095
+ objectSchema2({ kind: { const: "documentEnd" } }, ["kind"]),
97096
+ objectSchema2({
97097
+ kind: { const: "before" },
97098
+ target: blockNodeAddressSchema2
97099
+ }, ["kind", "target"]),
97100
+ objectSchema2({
97101
+ kind: { const: "after" },
97102
+ target: blockNodeAddressSchema2
97103
+ }, ["kind", "target"])
97104
+ ]
97105
+ },
97106
+ text: {
97107
+ type: "string",
97108
+ description: "Heading text content."
97109
+ }
96880
97110
  }, ["level"]), createHeadingResultSchemaFor2("create.heading"), createHeadingFailureSchemaFor2("create.heading"), objectSchema2({
96881
97111
  at: { oneOf: [
96882
97112
  objectSchema2({ kind: { const: "documentStart" } }, ["kind"]),
@@ -97037,10 +97267,19 @@ var init_SuperConverter_BsjuwDIO_es = __esm(() => {
97037
97267
  level: { type: "integer" },
97038
97268
  ordinal: { type: "integer" }
97039
97269
  }), objectSchema2({ address: listItemAddressSchema2 }, ["address"]), objectSchema2({
97040
- target: listItemAddressSchema2,
97041
- position: listInsertPositionSchema2,
97042
- text: { type: "string" }
97043
- }, ["target", "position"]), listsInsertResultSchemaFor2("lists.insert"), listsFailureSchemaFor2("lists.insert"), ref2("BlockAddress"), ref2("BlockAddressOrRange"), objectSchema2({
97270
+ target: {
97271
+ ...listItemAddressSchema2,
97272
+ description: "The target list item. For 'insert': the item to insert relative to. For 'create' with mode 'fromParagraphs': use nodeType 'paragraph' instead. Format: {kind:'block', nodeType:'listItem', nodeId:'<id>'}."
97273
+ },
97274
+ position: {
97275
+ ...listInsertPositionSchema2,
97276
+ description: "Required. Insert position relative to target: 'before' or 'after'."
97277
+ },
97278
+ text: {
97279
+ type: "string",
97280
+ description: "Text content for the new list item."
97281
+ }
97282
+ }, ["target", "position"]), listsInsertResultSchemaFor2("lists.insert"), listsFailureSchemaFor2("lists.insert"), { ...ref2("BlockAddress") }, { ...ref2("BlockAddressOrRange") }, { ...listKindSchema2 }, objectSchema2({
97044
97283
  version: { const: 1 },
97045
97284
  levels: arraySchema2(objectSchema2({
97046
97285
  level: {
@@ -97244,7 +97483,10 @@ var init_SuperConverter_BsjuwDIO_es = __esm(() => {
97244
97483
  }, ["target", "preset"]), listsMutateItemResultSchemaFor2("lists.applyPreset"), listsFailureSchemaFor2("lists.applyPreset"), objectSchema2({
97245
97484
  target: listItemAddressSchema2,
97246
97485
  kind: { enum: ["ordered", "bullet"] },
97247
- continuity: { enum: ["preserve", "none"] }
97486
+ continuity: {
97487
+ enum: ["preserve", "none"],
97488
+ description: "Numbering continuity: 'preserve' keeps numbering; 'none' restarts."
97489
+ }
97248
97490
  }, ["target", "kind"]), listsMutateItemResultSchemaFor2("lists.setType"), listsFailureSchemaFor2("lists.setType"), (() => {
97249
97491
  const successSchema = objectSchema2({
97250
97492
  success: { const: true },
@@ -97540,45 +97782,98 @@ var init_SuperConverter_BsjuwDIO_es = __esm(() => {
97540
97782
  "level",
97541
97783
  "layout"
97542
97784
  ]), listsMutateItemResultSchemaFor2("lists.setLevelLayout"), listsFailureSchemaFor2("lists.setLevelLayout"), objectSchema2({
97543
- text: { type: "string" },
97544
- target: textAddressSchema2,
97545
- parentCommentId: { type: "string" }
97785
+ text: {
97786
+ type: "string",
97787
+ description: "Comment text content."
97788
+ },
97789
+ target: {
97790
+ ...textAddressSchema2,
97791
+ description: "Text range to anchor the comment: {kind:'text', blockId:'...', range:{start:N, end:N}}."
97792
+ },
97793
+ parentCommentId: {
97794
+ type: "string",
97795
+ description: "Parent comment ID for creating a threaded reply."
97796
+ }
97546
97797
  }, ["text"]), receiptResultSchemaFor2("comments.create"), receiptFailureResultSchemaFor2("comments.create"), objectSchema2({
97547
97798
  commentId: { type: "string" },
97548
- text: { type: "string" },
97799
+ text: {
97800
+ type: "string",
97801
+ description: "Updated comment text."
97802
+ },
97549
97803
  target: textAddressSchema2,
97550
- status: { enum: ["resolved"] },
97551
- isInternal: { type: "boolean" }
97804
+ status: {
97805
+ enum: ["resolved"],
97806
+ description: "Set comment status. Use 'resolved' to mark as resolved."
97807
+ },
97808
+ isInternal: {
97809
+ type: "boolean",
97810
+ description: "When true, marks the comment as internal (hidden from external collaborators)."
97811
+ }
97552
97812
  }, ["commentId"]), receiptResultSchemaFor2("comments.patch"), receiptFailureResultSchemaFor2("comments.patch"), objectSchema2({ commentId: { type: "string" } }, ["commentId"]), receiptResultSchemaFor2("comments.delete"), receiptFailureResultSchemaFor2("comments.delete"), objectSchema2({ commentId: { type: "string" } }, ["commentId"]), objectSchema2({
97553
- includeResolved: { type: "boolean" },
97554
- limit: { type: "integer" },
97555
- offset: { type: "integer" }
97813
+ includeResolved: {
97814
+ type: "boolean",
97815
+ description: "When true, includes resolved comments in results. Default: false."
97816
+ },
97817
+ limit: {
97818
+ type: "integer",
97819
+ description: "Maximum number of comments to return."
97820
+ },
97821
+ offset: {
97822
+ type: "integer",
97823
+ description: "Number of comments to skip for pagination."
97824
+ }
97556
97825
  }), objectSchema2({
97557
- limit: { type: "integer" },
97558
- offset: { type: "integer" },
97559
- type: { enum: [
97560
- "insert",
97561
- "delete",
97562
- "format"
97563
- ] }
97826
+ limit: {
97827
+ type: "integer",
97828
+ description: "Maximum number of tracked changes to return."
97829
+ },
97830
+ offset: {
97831
+ type: "integer",
97832
+ description: "Number of tracked changes to skip for pagination."
97833
+ },
97834
+ type: {
97835
+ enum: [
97836
+ "insert",
97837
+ "delete",
97838
+ "format"
97839
+ ],
97840
+ description: "Filter by change type: 'insert', 'delete', or 'format'."
97841
+ }
97564
97842
  }), objectSchema2({ id: { type: "string" } }, ["id"]), objectSchema2({ id: { type: "string" } }, ["id"]), objectSchema2({ scope: { enum: ["all"] } }, ["scope"]), receiptResultSchemaFor2("trackChanges.decide"), receiptFailureResultSchemaFor2("trackChanges.decide"), objectSchema2({
97565
- select: { oneOf: [textSelectorSchema2, nodeSelectorSchema2] },
97566
- within: blockNodeAddressSchema2,
97567
- require: { enum: [
97568
- "any",
97569
- "first",
97570
- "exactlyOne",
97571
- "all"
97572
- ] },
97573
- mode: { enum: ["strict", "candidates"] },
97574
- includeNodes: { type: "boolean" },
97843
+ select: {
97844
+ description: "Search selector. Use {type:'text', pattern:'...'} for text search or {type:'node', nodeType:'paragraph'|'heading'|...} for node search.",
97845
+ oneOf: [textSelectorSchema2, nodeSelectorSchema2]
97846
+ },
97847
+ within: {
97848
+ ...blockNodeAddressSchema2,
97849
+ description: "Limit search scope to within a specific block: {kind:'block', nodeType:'...', nodeId:'...'}."
97850
+ },
97851
+ require: {
97852
+ enum: [
97853
+ "any",
97854
+ "first",
97855
+ "exactlyOne",
97856
+ "all"
97857
+ ],
97858
+ description: "Match cardinality: 'any' (all matches), 'first' (only first), 'exactlyOne' (fail if != 1), 'all' (fail if 0)."
97859
+ },
97860
+ mode: {
97861
+ enum: ["strict", "candidates"],
97862
+ description: "Search mode: 'strict' (default, exact matching) or 'candidates' (returns scored potential matches)."
97863
+ },
97864
+ includeNodes: {
97865
+ type: "boolean",
97866
+ description: "When true, includes full node data in results. Default: false."
97867
+ },
97575
97868
  limit: {
97576
97869
  type: "integer",
97577
- minimum: 1
97870
+ minimum: 1,
97871
+ description: "Maximum number of matches to return."
97578
97872
  },
97579
97873
  offset: {
97580
97874
  type: "integer",
97581
- minimum: 0
97875
+ minimum: 0,
97876
+ description: "Number of matches to skip for pagination."
97582
97877
  }
97583
97878
  }, ["select"]), (() => {
97584
97879
  const textMatchItemSchema = discoveryItemSchema2({
@@ -97721,91 +98016,101 @@ var init_SuperConverter_BsjuwDIO_es = __esm(() => {
97721
98016
  setMarks: setMarksSchema
97722
98017
  }, ["mode"]) }, ["inline"]);
97723
98018
  const mutationsInputSchema = objectSchema2({
97724
- expectedRevision: { type: "string" },
98019
+ expectedRevision: {
98020
+ type: "string",
98021
+ description: "Document revision for optimistic concurrency. Mutation fails if document was modified since this revision."
98022
+ },
97725
98023
  atomic: {
97726
98024
  const: true,
97727
- type: "boolean"
98025
+ type: "boolean",
98026
+ description: "Must be true. All steps execute as one atomic transaction."
97728
98027
  },
97729
- changeMode: { enum: ["direct", "tracked"] },
97730
- steps: arraySchema2({ oneOf: [
97731
- objectSchema2({
97732
- id: { type: "string" },
97733
- op: {
97734
- const: "text.rewrite",
97735
- type: "string"
97736
- },
97737
- where: stepWhereSchema,
97738
- args: objectSchema2({
97739
- replacement: replacementPayloadSchema,
97740
- style: stylePolicySchema
97741
- }, ["replacement"])
97742
- }, [
97743
- "id",
97744
- "op",
97745
- "where",
97746
- "args"
97747
- ]),
97748
- objectSchema2({
97749
- id: { type: "string" },
97750
- op: {
97751
- const: "text.insert",
97752
- type: "string"
97753
- },
97754
- where: insertWhereSchema,
97755
- args: objectSchema2({
97756
- position: { enum: ["before", "after"] },
97757
- content: objectSchema2({ text: { type: "string" } }, ["text"]),
97758
- style: insertStylePolicySchema
97759
- }, ["position", "content"])
97760
- }, [
97761
- "id",
97762
- "op",
97763
- "where",
97764
- "args"
97765
- ]),
97766
- objectSchema2({
97767
- id: { type: "string" },
97768
- op: {
97769
- const: "text.delete",
97770
- type: "string"
97771
- },
97772
- where: stepWhereSchema,
97773
- args: objectSchema2({ behavior: deleteBehaviorSchema2 })
97774
- }, [
97775
- "id",
97776
- "op",
97777
- "where",
97778
- "args"
97779
- ]),
97780
- objectSchema2({
97781
- id: { type: "string" },
97782
- op: {
97783
- const: "format.apply",
97784
- type: "string"
97785
- },
97786
- where: stepWhereSchema,
97787
- args: objectSchema2({ inline: buildInlineRunPatchSchema2() }, ["inline"])
97788
- }, [
97789
- "id",
97790
- "op",
97791
- "where",
97792
- "args"
97793
- ]),
97794
- objectSchema2({
97795
- id: { type: "string" },
97796
- op: {
97797
- const: "assert",
97798
- type: "string"
97799
- },
97800
- where: assertWhereSchema,
97801
- args: objectSchema2({ expectCount: { type: "number" } }, ["expectCount"])
97802
- }, [
97803
- "id",
97804
- "op",
97805
- "where",
97806
- "args"
97807
- ])
97808
- ] })
98028
+ changeMode: {
98029
+ enum: ["direct", "tracked"],
98030
+ description: "Required. Use 'direct' for immediate edits or 'tracked' for suggestions. Must always be provided."
98031
+ },
98032
+ steps: {
98033
+ ...arraySchema2({ oneOf: [
98034
+ objectSchema2({
98035
+ id: { type: "string" },
98036
+ op: {
98037
+ const: "text.rewrite",
98038
+ type: "string"
98039
+ },
98040
+ where: stepWhereSchema,
98041
+ args: objectSchema2({
98042
+ replacement: replacementPayloadSchema,
98043
+ style: stylePolicySchema
98044
+ }, ["replacement"])
98045
+ }, [
98046
+ "id",
98047
+ "op",
98048
+ "where",
98049
+ "args"
98050
+ ]),
98051
+ objectSchema2({
98052
+ id: { type: "string" },
98053
+ op: {
98054
+ const: "text.insert",
98055
+ type: "string"
98056
+ },
98057
+ where: insertWhereSchema,
98058
+ args: objectSchema2({
98059
+ position: { enum: ["before", "after"] },
98060
+ content: objectSchema2({ text: { type: "string" } }, ["text"]),
98061
+ style: insertStylePolicySchema
98062
+ }, ["position", "content"])
98063
+ }, [
98064
+ "id",
98065
+ "op",
98066
+ "where",
98067
+ "args"
98068
+ ]),
98069
+ objectSchema2({
98070
+ id: { type: "string" },
98071
+ op: {
98072
+ const: "text.delete",
98073
+ type: "string"
98074
+ },
98075
+ where: stepWhereSchema,
98076
+ args: objectSchema2({ behavior: deleteBehaviorSchema2 })
98077
+ }, [
98078
+ "id",
98079
+ "op",
98080
+ "where",
98081
+ "args"
98082
+ ]),
98083
+ objectSchema2({
98084
+ id: { type: "string" },
98085
+ op: {
98086
+ const: "format.apply",
98087
+ type: "string"
98088
+ },
98089
+ where: stepWhereSchema,
98090
+ args: objectSchema2({ inline: buildInlineRunPatchSchema2() }, ["inline"])
98091
+ }, [
98092
+ "id",
98093
+ "op",
98094
+ "where",
98095
+ "args"
98096
+ ]),
98097
+ objectSchema2({
98098
+ id: { type: "string" },
98099
+ op: {
98100
+ const: "assert",
98101
+ type: "string"
98102
+ },
98103
+ where: assertWhereSchema,
98104
+ args: objectSchema2({ expectCount: { type: "number" } }, ["expectCount"])
98105
+ }, [
98106
+ "id",
98107
+ "op",
98108
+ "where",
98109
+ "args"
98110
+ ])
98111
+ ] }),
98112
+ description: "Ordered array of mutation steps. Each step needs 'op' (text.rewrite, text.insert, text.delete, format.apply, or assert) and a 'where' targeting clause."
98113
+ }
97809
98114
  }, [
97810
98115
  "atomic",
97811
98116
  "changeMode",
@@ -148508,7 +148813,7 @@ var init_remark_gfm_CjV8kaUy_es = __esm(() => {
148508
148813
  init_remark_gfm_z_sDF4ss_es();
148509
148814
  });
148510
148815
 
148511
- // ../../packages/superdoc/dist/chunks/src-DH8mR7rX.es.js
148816
+ // ../../packages/superdoc/dist/chunks/src-BD_aLcsT.es.js
148512
148817
  function deleteProps(obj, propOrProps) {
148513
148818
  const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
148514
148819
  const removeNested = (target, pathParts, index2 = 0) => {
@@ -212222,38 +212527,38 @@ var Node$13 = class Node$14 {
212222
212527
  }
212223
212528
 
212224
212529
  .superdoc-layout .track-insert-dec.highlighted {
212225
- border-top: 1px dashed #00853d;
212226
- border-bottom: 1px dashed #00853d;
212227
- background-color: #399c7222;
212530
+ border-top: 1px dashed var(--sd-tracked-changes-insert-border, #00853d);
212531
+ border-bottom: 1px dashed var(--sd-tracked-changes-insert-border, #00853d);
212532
+ background-color: var(--sd-tracked-changes-insert-background, #399c7222);
212228
212533
  }
212229
212534
 
212230
212535
  .superdoc-layout .track-delete-dec.highlighted {
212231
- border-top: 1px dashed #cb0e47;
212232
- border-bottom: 1px dashed #cb0e47;
212233
- background-color: #cb0e4722;
212536
+ border-top: 1px dashed var(--sd-tracked-changes-delete-border, #cb0e47);
212537
+ border-bottom: 1px dashed var(--sd-tracked-changes-delete-border, #cb0e47);
212538
+ background-color: var(--sd-tracked-changes-delete-background, #cb0e4722);
212234
212539
  text-decoration: line-through !important;
212235
212540
  text-decoration-thickness: 2px !important;
212236
212541
  }
212237
212542
 
212238
212543
  .superdoc-layout .track-format-dec.highlighted {
212239
- border-bottom: 2px solid gold;
212544
+ border-bottom: 2px solid var(--sd-tracked-changes-format-border, gold);
212240
212545
  }
212241
212546
 
212242
212547
  .superdoc-layout .track-insert-dec.highlighted.track-change-focused {
212243
212548
  border-style: solid;
212244
212549
  border-width: 2px;
212245
- background-color: #399c7244;
212550
+ background-color: var(--sd-tracked-changes-insert-background-focused, #399c7244);
212246
212551
  }
212247
212552
 
212248
212553
  .superdoc-layout .track-delete-dec.highlighted.track-change-focused {
212249
212554
  border-style: solid;
212250
212555
  border-width: 2px;
212251
- background-color: #cb0e4744;
212556
+ background-color: var(--sd-tracked-changes-delete-background-focused, #cb0e4744);
212252
212557
  }
212253
212558
 
212254
212559
  .superdoc-layout .track-format-dec.highlighted.track-change-focused {
212255
212560
  border-bottom-width: 3px;
212256
- background-color: #ffd70033;
212561
+ background-color: var(--sd-tracked-changes-format-background-focused, #ffd70033);
212257
212562
  }
212258
212563
  `, SDT_CONTAINER_STYLES = `
212259
212564
  /* Document Section - Block-level container with gray border and hover tooltip */
@@ -212341,19 +212646,19 @@ var Node$13 = class Node$14 {
212341
212646
  }
212342
212647
 
212343
212648
  .superdoc-structured-content-block:not(.ProseMirror-selectednode):hover {
212344
- background-color: #f2f2f2;
212649
+ background-color: var(--sd-content-controls-block-hover-bg, #f2f2f2);
212345
212650
  border-color: transparent;
212346
212651
  }
212347
212652
 
212348
212653
  /* Group hover (JavaScript-coordinated) */
212349
212654
  .superdoc-structured-content-block.sdt-group-hover:not(.ProseMirror-selectednode),
212350
212655
  .superdoc-structured-content-block.sdt-hover:not(.ProseMirror-selectednode) {
212351
- background-color: #f2f2f2;
212656
+ background-color: var(--sd-content-controls-block-hover-bg, #f2f2f2);
212352
212657
  border-color: transparent;
212353
212658
  }
212354
212659
 
212355
212660
  .superdoc-structured-content-block.ProseMirror-selectednode {
212356
- border-color: #629be7;
212661
+ border-color: var(--sd-content-controls-block-border, #629be7);
212357
212662
  outline: none;
212358
212663
  }
212359
212664
 
@@ -212370,10 +212675,11 @@ var Node$13 = class Node$14 {
212370
212675
  min-width: 0;
212371
212676
  height: 18px;
212372
212677
  padding: 0 4px;
212373
- border: 1px solid #629be7;
212678
+ border: 1px solid var(--sd-content-controls-label-border, #629be7);
212374
212679
  border-bottom: none;
212375
212680
  border-radius: 6px 6px 0 0;
212376
- background-color: #629be7ee;
212681
+ background-color: var(--sd-content-controls-label-bg, #629be7ee);
212682
+ color: var(--sd-content-controls-label-text, #ffffff);
212377
212683
  box-sizing: border-box;
212378
212684
  z-index: 10;
212379
212685
  display: none;
@@ -212439,12 +212745,12 @@ var Node$13 = class Node$14 {
212439
212745
 
212440
212746
  /* Hover effect for inline structured content */
212441
212747
  .superdoc-structured-content-inline:not(.ProseMirror-selectednode):hover {
212442
- background-color: #f2f2f2;
212748
+ background-color: var(--sd-content-controls-inline-hover-bg, #f2f2f2);
212443
212749
  border-color: transparent;
212444
212750
  }
212445
212751
 
212446
212752
  .superdoc-structured-content-inline.ProseMirror-selectednode {
212447
- border-color: #629be7;
212753
+ border-color: var(--sd-content-controls-inline-border, #629be7);
212448
212754
  outline: none;
212449
212755
  background-color: transparent;
212450
212756
  }
@@ -212456,8 +212762,9 @@ var Node$13 = class Node$14 {
212456
212762
  transform: translateX(-50%);
212457
212763
  font-size: 11px;
212458
212764
  padding: 0 4px;
212459
- background-color: #629be7ee;
212460
- color: white;
212765
+ border: 1px solid var(--sd-content-controls-label-border, #629be7);
212766
+ background-color: var(--sd-content-controls-label-bg, #629be7ee);
212767
+ color: var(--sd-content-controls-label-text, #ffffff);
212461
212768
  border-radius: 4px;
212462
212769
  white-space: nowrap;
212463
212770
  z-index: 100;
@@ -212482,7 +212789,7 @@ var Node$13 = class Node$14 {
212482
212789
  * Hover is suppressed when the node is selected (SD-1584). */
212483
212790
  .superdoc-structured-content-block[data-lock-mode].sdt-hover:not(.ProseMirror-selectednode),
212484
212791
  .superdoc-structured-content-inline[data-lock-mode]:hover:not(.ProseMirror-selectednode) {
212485
- background-color: rgba(98, 155, 231, 0.08);
212792
+ background-color: var(--sd-content-controls-lock-hover-bg, rgba(98, 155, 231, 0.08));
212486
212793
  z-index: 9999999;
212487
212794
  }
212488
212795
 
@@ -214438,7 +214745,10 @@ var Node$13 = class Node$14 {
214438
214745
  this.onMouseLeave = null;
214439
214746
  this.hoveredSdtId = null;
214440
214747
  }
214441
- }, LIST_MARKER_GAP$1 = 8, DEFAULT_PAGE_HEIGHT_PX = 1056, DEFAULT_VIRTUALIZED_PAGE_GAP = 72, COMMENT_EXTERNAL_COLOR = "#B1124B", COMMENT_INTERNAL_COLOR = "#078383", COMMENT_INACTIVE_ALPHA = "40", COMMENT_ACTIVE_ALPHA = "66", COMMENT_FADED_ALPHA = "20", LINK_DATASET_KEYS, MAX_HREF_LENGTH = 2048, SAFE_ANCHOR_PATTERN, MAX_DATA_URL_LENGTH, VALID_IMAGE_DATA_URL, MAX_RESIZE_MULTIPLIER = 3, FALLBACK_MAX_DIMENSION = 1000, MIN_IMAGE_DIMENSION = 20, AMBIGUOUS_LINK_PATTERNS, linkMetrics, TRACK_CHANGE_BASE_CLASS, TRACK_CHANGE_FOCUSED_CLASS = "track-change-focused", TRACK_CHANGE_MODIFIER_CLASS, LINK_TARGET_SET, normalizeAnchor$1 = (value) => {
214748
+ }, cssToken = (varName, fallback) => ({
214749
+ css: `var(${varName}, ${fallback})`,
214750
+ fallback
214751
+ }), LIST_MARKER_GAP$1 = 8, DEFAULT_PAGE_HEIGHT_PX = 1056, DEFAULT_VIRTUALIZED_PAGE_GAP = 72, COMMENT_HIGHLIGHT_EXTERNAL, COMMENT_HIGHLIGHT_EXTERNAL_ACTIVE, COMMENT_HIGHLIGHT_EXTERNAL_FADED, COMMENT_HIGHLIGHT_INTERNAL, COMMENT_HIGHLIGHT_INTERNAL_ACTIVE, COMMENT_HIGHLIGHT_INTERNAL_FADED, COMMENT_HIGHLIGHT_EXTERNAL_NESTED_BORDER, COMMENT_HIGHLIGHT_INTERNAL_NESTED_BORDER, LINK_DATASET_KEYS, MAX_HREF_LENGTH = 2048, SAFE_ANCHOR_PATTERN, MAX_DATA_URL_LENGTH, VALID_IMAGE_DATA_URL, MAX_RESIZE_MULTIPLIER = 3, FALLBACK_MAX_DIMENSION = 1000, MIN_IMAGE_DIMENSION = 20, AMBIGUOUS_LINK_PATTERNS, linkMetrics, TRACK_CHANGE_BASE_CLASS, TRACK_CHANGE_FOCUSED_CLASS = "track-change-focused", TRACK_CHANGE_MODIFIER_CLASS, LINK_TARGET_SET, normalizeAnchor$1 = (value) => {
214442
214752
  if (typeof value !== "string")
214443
214753
  return null;
214444
214754
  const trimmed = value.trim();
@@ -215077,17 +215387,16 @@ var Node$13 = class Node$14 {
215077
215387
  if (activeCommentId != null) {
215078
215388
  const activeComment = comments.find((c) => matchesId(c, activeCommentId));
215079
215389
  if (activeComment) {
215080
- const base5 = activeComment.internal ? COMMENT_INTERNAL_COLOR : COMMENT_EXTERNAL_COLOR;
215081
215390
  const nestedComments = comments.filter((c) => !matchesId(c, activeCommentId));
215082
215391
  return {
215083
- color: `${base5}${COMMENT_ACTIVE_ALPHA}`,
215084
- baseColor: base5,
215392
+ color: activeComment.internal ? COMMENT_HIGHLIGHT_INTERNAL_ACTIVE : COMMENT_HIGHLIGHT_EXTERNAL_ACTIVE,
215393
+ nestedBorderColor: activeComment.internal ? COMMENT_HIGHLIGHT_INTERNAL_NESTED_BORDER : COMMENT_HIGHLIGHT_EXTERNAL_NESTED_BORDER,
215085
215394
  hasNestedComments: nestedComments.length > 0
215086
215395
  };
215087
215396
  }
215088
- return { color: `${comments[0].internal ? COMMENT_INTERNAL_COLOR : COMMENT_EXTERNAL_COLOR}${COMMENT_FADED_ALPHA}` };
215397
+ return { color: comments[0].internal ? COMMENT_HIGHLIGHT_INTERNAL_FADED : COMMENT_HIGHLIGHT_EXTERNAL_FADED };
215089
215398
  }
215090
- return { color: `${comments[0].internal ? COMMENT_INTERNAL_COLOR : COMMENT_EXTERNAL_COLOR}${COMMENT_INACTIVE_ALPHA}` };
215399
+ return { color: comments[0].internal ? COMMENT_HIGHLIGHT_INTERNAL : COMMENT_HIGHLIGHT_EXTERNAL };
215091
215400
  }, applyRunDataAttributes = (element3, dataAttrs) => {
215092
215401
  if (!dataAttrs)
215093
215402
  return;
@@ -228674,9 +228983,9 @@ var Node$13 = class Node$14 {
228674
228983
  return false;
228675
228984
  return Boolean(checker(attrs));
228676
228985
  }, SuperToolbar, ICONS, TEXTS, tableActionsOptions;
228677
- var init_src_DH8mR7rX_es = __esm(() => {
228986
+ var init_src_BD_aLcsT_es = __esm(() => {
228678
228987
  init_rolldown_runtime_B2q5OVn9_es();
228679
- init_SuperConverter_BsjuwDIO_es();
228988
+ init_SuperConverter_DarcJh0X_es();
228680
228989
  init_jszip_ChlR43oI_es();
228681
228990
  init_uuid_qzgm05fK_es();
228682
228991
  init_constants_ep1_Gwqi_es();
@@ -242129,8 +242438,8 @@ function print() { __p += __j.call(arguments, '') }
242129
242438
  pageFooter: "superdoc-page-footer"
242130
242439
  };
242131
242440
  DEFAULT_PAGE_STYLES = {
242132
- background: "#fff",
242133
- boxShadow: "0 4px 20px rgba(15, 23, 42, 0.08)",
242441
+ background: "var(--sd-layout-page-bg, #fff)",
242442
+ boxShadow: "var(--sd-layout-page-shadow, 0 4px 20px rgba(15, 23, 42, 0.08))",
242134
242443
  border: "1px solid rgba(15, 23, 42, 0.08)",
242135
242444
  margin: "0 auto"
242136
242445
  };
@@ -242304,6 +242613,14 @@ function print() { __p += __j.call(arguments, '') }
242304
242613
  SDT_BLOCK_SELECTOR = `.${DOM_CLASS_NAMES.BLOCK_SDT}[data-sdt-id]`;
242305
242614
  HOVER_CLASS = DOM_CLASS_NAMES.SDT_HOVER;
242306
242615
  init_dist();
242616
+ COMMENT_HIGHLIGHT_EXTERNAL = cssToken("--sd-comments-highlight-external", "#B1124B40");
242617
+ COMMENT_HIGHLIGHT_EXTERNAL_ACTIVE = cssToken("--sd-comments-highlight-external-active", "#B1124B66");
242618
+ COMMENT_HIGHLIGHT_EXTERNAL_FADED = cssToken("--sd-comments-highlight-external-faded", "#B1124B20");
242619
+ COMMENT_HIGHLIGHT_INTERNAL = cssToken("--sd-comments-highlight-internal", "#07838340");
242620
+ COMMENT_HIGHLIGHT_INTERNAL_ACTIVE = cssToken("--sd-comments-highlight-internal-active", "#07838366");
242621
+ COMMENT_HIGHLIGHT_INTERNAL_FADED = cssToken("--sd-comments-highlight-internal-faded", "#07838320");
242622
+ COMMENT_HIGHLIGHT_EXTERNAL_NESTED_BORDER = cssToken("--sd-comments-highlight-external-nested-border", "#B1124B99");
242623
+ COMMENT_HIGHLIGHT_INTERNAL_NESTED_BORDER = cssToken("--sd-comments-highlight-internal-nested-border", "#07838399");
242307
242624
  LINK_DATASET_KEYS = {
242308
242625
  blocked: "linkBlocked",
242309
242626
  docLocation: "linkDocLocation",
@@ -243394,7 +243711,7 @@ function print() { __p += __j.call(arguments, '') }
243394
243711
  const base5 = this.options.pageStyles ?? {};
243395
243712
  return {
243396
243713
  ...base5,
243397
- background: base5.background ?? "#fff",
243714
+ background: base5.background ?? "var(--sd-layout-page-bg, #fff)",
243398
243715
  boxShadow: "none",
243399
243716
  border: "none",
243400
243717
  margin: "0"
@@ -244620,12 +244937,17 @@ function print() { __p += __j.call(arguments, '') }
244620
244937
  const hasAnyComment = !!commentAnnotations?.length;
244621
244938
  const commentHighlight = getCommentHighlight(textRun, this.activeCommentId);
244622
244939
  if (commentHighlight.color && hasAnyComment) {
244623
- elem.style.backgroundColor = commentHighlight.color;
244624
- if (commentHighlight.hasNestedComments && commentHighlight.baseColor) {
244625
- const borderColor = `${commentHighlight.baseColor}99`;
244626
- elem.style.boxShadow = `inset 1px 0 0 ${borderColor}, inset -1px 0 0 ${borderColor}`;
244940
+ const runElement = elem;
244941
+ const previousBackgroundColor = runElement.style.backgroundColor;
244942
+ runElement.style.backgroundColor = commentHighlight.color.css;
244943
+ if (!runElement.style.backgroundColor || runElement.style.backgroundColor === previousBackgroundColor)
244944
+ runElement.style.backgroundColor = commentHighlight.color.fallback;
244945
+ if (commentHighlight.hasNestedComments && commentHighlight.nestedBorderColor) {
244946
+ runElement.style.boxShadow = `inset 1px 0 0 ${commentHighlight.nestedBorderColor.css}, inset -1px 0 0 ${commentHighlight.nestedBorderColor.css}`;
244947
+ if (!runElement.style.boxShadow)
244948
+ runElement.style.boxShadow = `inset 1px 0 0 ${commentHighlight.nestedBorderColor.fallback}, inset -1px 0 0 ${commentHighlight.nestedBorderColor.fallback}`;
244627
244949
  } else
244628
- elem.style.boxShadow = "";
244950
+ runElement.style.boxShadow = "";
244629
244951
  }
244630
244952
  if (hasAnyComment) {
244631
244953
  elem.dataset.commentIds = commentAnnotations.map((c) => c.commentId).join(",");
@@ -258550,7 +258872,7 @@ function print() { __p += __j.call(arguments, '') }
258550
258872
  }, null, 8, _hoisted_5$5)) : createCommentVNode("", true)])], 544);
258551
258873
  };
258552
258874
  }
258553
- }, [["__scopeId", "data-v-5bf16391"]]);
258875
+ }, [["__scopeId", "data-v-f421c401"]]);
258554
258876
  toolbarIcons = {
258555
258877
  undo: rotate_left_solid_default,
258556
258878
  redo: rotate_right_solid_default,
@@ -258708,7 +259030,7 @@ function print() { __p += __j.call(arguments, '') }
258708
259030
  }), 64))], 2);
258709
259031
  };
258710
259032
  }
258711
- }, [["__scopeId", "data-v-b4162baa"]]);
259033
+ }, [["__scopeId", "data-v-4b6c5a81"]]);
258712
259034
  _hoisted_1$20 = ["onClick", "onKeydown"];
258713
259035
  _hoisted_2$15 = { class: "document-mode-column icon-column" };
258714
259036
  _hoisted_3$11 = ["innerHTML"];
@@ -258782,7 +259104,7 @@ function print() { __p += __j.call(arguments, '') }
258782
259104
  }), 256))], 2);
258783
259105
  };
258784
259106
  }
258785
- }, [["__scopeId", "data-v-6e1ad9c8"]]);
259107
+ }, [["__scopeId", "data-v-ea69d147"]]);
258786
259108
  _hoisted_1$19 = {
258787
259109
  key: 0,
258788
259110
  class: "linked-style-buttons",
@@ -258862,7 +259184,7 @@ function print() { __p += __j.call(arguments, '') }
258862
259184
  }), 256))])) : createCommentVNode("", true);
258863
259185
  };
258864
259186
  }
258865
- }, [["__scopeId", "data-v-073a491c"]]);
259187
+ }, [["__scopeId", "data-v-3b605553"]]);
258866
259188
  _hoisted_1$18 = {
258867
259189
  key: 0,
258868
259190
  class: "link-title"
@@ -259112,7 +259434,7 @@ function print() { __p += __j.call(arguments, '') }
259112
259434
  ])) : isAnchor.value ? (openBlock(), createElementBlock("div", _hoisted_14, [createBaseVNode("a", { onClick: _cache[4] || (_cache[4] = withModifiers(($event) => navigateToAnchor(rawUrl.value), ["stop", "prevent"])) }, "Go to " + toDisplayString(rawUrl.value.startsWith("#_") ? rawUrl.value.substring(2) : rawUrl.value), 1)])) : createCommentVNode("", true)], 2);
259113
259435
  };
259114
259436
  }
259115
- }, [["__scopeId", "data-v-9183ddcb"]]);
259437
+ }, [["__scopeId", "data-v-4bf9f4db"]]);
259116
259438
  _hoisted_1$17 = [
259117
259439
  "aria-label",
259118
259440
  "onClick",
@@ -259250,7 +259572,7 @@ function print() { __p += __j.call(arguments, '') }
259250
259572
  }), 128);
259251
259573
  };
259252
259574
  }
259253
- }, [["__scopeId", "data-v-7eb02a60"]]);
259575
+ }, [["__scopeId", "data-v-31aed9ae"]]);
259254
259576
  _hoisted_1$16 = { class: "options-grid-wrap" };
259255
259577
  _hoisted_2$11 = ["innerHTML"];
259256
259578
  _hoisted_3$8 = { class: "option-grid-ctn" };
@@ -259301,7 +259623,7 @@ function print() { __p += __j.call(arguments, '') }
259301
259623
  }, null, 8, ["icons", "active-color"])], 64)) : createCommentVNode("", true)])]);
259302
259624
  };
259303
259625
  }
259304
- }, [["__scopeId", "data-v-891fd942"]]);
259626
+ }, [["__scopeId", "data-v-83e0eecc"]]);
259305
259627
  icons = [
259306
259628
  [
259307
259629
  makeColorOption("#111111", "black"),
@@ -259501,7 +259823,7 @@ function print() { __p += __j.call(arguments, '') }
259501
259823
  }, toDisplayString(selectedRows.value) + " x " + toDisplayString(selectedCols.value), 9, _hoisted_2$10)], 2);
259502
259824
  };
259503
259825
  }
259504
- }, [["__scopeId", "data-v-07c60426"]]);
259826
+ }, [["__scopeId", "data-v-7e8a6d4e"]]);
259505
259827
  _hoisted_1$14 = { class: "toolbar-table-actions" };
259506
259828
  _hoisted_2$9 = [
259507
259829
  "onClick",
@@ -259535,7 +259857,7 @@ function print() { __p += __j.call(arguments, '') }
259535
259857
  }), 256))]);
259536
259858
  };
259537
259859
  }
259538
- }, [["__scopeId", "data-v-d1697e32"]]);
259860
+ }, [["__scopeId", "data-v-1cf87812"]]);
259539
259861
  _hoisted_1$13 = { class: "search-input-ctn" };
259540
259862
  _hoisted_2$8 = { class: "row" };
259541
259863
  _hoisted_3$6 = ["onKeydown"];
@@ -259564,7 +259886,7 @@ function print() { __p += __j.call(arguments, '') }
259564
259886
  }, "Apply")])]);
259565
259887
  };
259566
259888
  }
259567
- }, [["__scopeId", "data-v-ab2fefe3"]]);
259889
+ }, [["__scopeId", "data-v-3dcfeb08"]]);
259568
259890
  TOOLBAR_FONTS = [
259569
259891
  {
259570
259892
  label: "Georgia",
@@ -259715,7 +260037,7 @@ function print() { __p += __j.call(arguments, '') }
259715
260037
  }, null, 4)) : createCommentVNode("", true)]);
259716
260038
  };
259717
260039
  }
259718
- }, [["__scopeId", "data-v-8bc7866c"]]);
260040
+ }, [["__scopeId", "data-v-a900b1e2"]]);
259719
260041
  _hoisted_1$11 = [
259720
260042
  "role",
259721
260043
  "aria-label",
@@ -259864,7 +260186,7 @@ function print() { __p += __j.call(arguments, '') }
259864
260186
  ], 10, _hoisted_2$6)], 46, _hoisted_1$11);
259865
260187
  };
259866
260188
  }
259867
- }, [["__scopeId", "data-v-54806efd"]]);
260189
+ }, [["__scopeId", "data-v-730da969"]]);
259868
260190
  _hoisted_1$10 = {
259869
260191
  class: "toolbar-separator",
259870
260192
  role: "separator",
@@ -259882,7 +260204,7 @@ function print() { __p += __j.call(arguments, '') }
259882
260204
  const getSeparatorColor = () => {
259883
260205
  if (isHighContrastMode$1.value)
259884
260206
  return "#000";
259885
- return "#dbdbdb";
260207
+ return "var(--sd-ui-border, #dbdbdb)";
259886
260208
  };
259887
260209
  return (_ctx, _cache) => {
259888
260210
  return openBlock(), createElementBlock("div", _hoisted_1$10, [createBaseVNode("div", {
@@ -259891,7 +260213,7 @@ function print() { __p += __j.call(arguments, '') }
259891
260213
  }, null, 4)]);
259892
260214
  };
259893
260215
  }
259894
- }, [["__scopeId", "data-v-c7e2cd4d"]]);
260216
+ }, [["__scopeId", "data-v-f9554a5e"]]);
259895
260217
  _hoisted_1$9 = { class: "overflow-menu" };
259896
260218
  _hoisted_2$5 = { class: "overflow-menu-trigger" };
259897
260219
  _hoisted_3$4 = {
@@ -259958,7 +260280,7 @@ function print() { __p += __j.call(arguments, '') }
259958
260280
  }, null, 8, ["toolbar-items"])])) : createCommentVNode("", true)]);
259959
260281
  };
259960
260282
  }
259961
- }, [["__scopeId", "data-v-23c383c4"]]);
260283
+ }, [["__scopeId", "data-v-575efcc3"]]);
259962
260284
  _hoisted_1$8 = { class: "toolbar-dropdown" };
259963
260285
  _hoisted_2$4 = ["onClick"];
259964
260286
  _hoisted_3$3 = {
@@ -260299,7 +260621,7 @@ function print() { __p += __j.call(arguments, '') }
260299
260621
  })]))]);
260300
260622
  };
260301
260623
  }
260302
- }, [["__scopeId", "data-v-5078ca16"]]);
260624
+ }, [["__scopeId", "data-v-ec217292"]]);
260303
260625
  SdTooltip_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
260304
260626
  __name: "SdTooltip",
260305
260627
  props: {
@@ -260487,7 +260809,7 @@ function print() { __p += __j.call(arguments, '') }
260487
260809
  })]))], 64);
260488
260810
  };
260489
260811
  }
260490
- }), [["__scopeId", "data-v-1c0eca34"]]);
260812
+ }), [["__scopeId", "data-v-fab615b0"]]);
260491
260813
  _hoisted_1$7 = [
260492
260814
  "onKeydown",
260493
260815
  "tabindex",
@@ -260964,7 +261286,7 @@ function print() { __p += __j.call(arguments, '') }
260964
261286
  ], 32);
260965
261287
  };
260966
261288
  }
260967
- }, [["__scopeId", "data-v-e0242a18"]]);
261289
+ }, [["__scopeId", "data-v-7f5b7512"]]);
260968
261290
  toolbarTexts = {
260969
261291
  bold: "Bold",
260970
261292
  fontFamily: "Font",
@@ -261979,8 +262301,8 @@ var init_zipper_DqXT7uTa_es = __esm(() => {
261979
262301
 
261980
262302
  // ../../packages/superdoc/dist/super-editor.es.js
261981
262303
  var init_super_editor_es = __esm(() => {
261982
- init_src_DH8mR7rX_es();
261983
- init_SuperConverter_BsjuwDIO_es();
262304
+ init_src_BD_aLcsT_es();
262305
+ init_SuperConverter_DarcJh0X_es();
261984
262306
  init_jszip_ChlR43oI_es();
261985
262307
  init_xml_js_BtmJ6bNs_es();
261986
262308
  init_constants_ep1_Gwqi_es();
@@ -318451,40 +318773,43 @@ function isSimpleType2(schema, $defs) {
318451
318773
  }
318452
318774
  function jsonSchemaToTypeSpec(schema, $defs) {
318453
318775
  schema = resolveRef(schema, $defs);
318454
- if ("const" in schema)
318455
- return { const: schema.const };
318456
- if (schema.oneOf) {
318457
- return {
318776
+ const desc = typeof schema.description === "string" ? schema.description : undefined;
318777
+ let result2;
318778
+ if ("const" in schema) {
318779
+ result2 = { const: schema.const };
318780
+ } else if (schema.oneOf) {
318781
+ result2 = {
318458
318782
  oneOf: schema.oneOf.map((s2) => jsonSchemaToTypeSpec(s2, $defs))
318459
318783
  };
318460
- }
318461
- if (schema.enum && Array.isArray(schema.enum)) {
318462
- return {
318784
+ } else if (schema.enum && Array.isArray(schema.enum)) {
318785
+ result2 = {
318463
318786
  oneOf: schema.enum.map((v) => ({ const: v }))
318464
318787
  };
318465
- }
318466
- if (schema.type === "string")
318467
- return { type: "string" };
318468
- if (schema.type === "number" || schema.type === "integer")
318469
- return { type: "number" };
318470
- if (schema.type === "boolean")
318471
- return { type: "boolean" };
318472
- if (schema.type === "array") {
318788
+ } else if (schema.type === "string") {
318789
+ result2 = { type: "string" };
318790
+ } else if (schema.type === "number" || schema.type === "integer") {
318791
+ result2 = { type: "number" };
318792
+ } else if (schema.type === "boolean") {
318793
+ result2 = { type: "boolean" };
318794
+ } else if (schema.type === "array") {
318473
318795
  const items2 = schema.items ?? {};
318474
- return { type: "array", items: jsonSchemaToTypeSpec(items2, $defs) };
318475
- }
318476
- if (schema.type === "object") {
318796
+ result2 = { type: "array", items: jsonSchemaToTypeSpec(items2, $defs) };
318797
+ } else if (schema.type === "object") {
318477
318798
  const properties = {};
318478
318799
  for (const [key2, propSchema] of Object.entries(schema.properties ?? {})) {
318479
318800
  properties[key2] = jsonSchemaToTypeSpec(propSchema, $defs);
318480
318801
  }
318481
- const result2 = { type: "object", properties };
318802
+ result2 = { type: "object", properties };
318482
318803
  if (schema.required && Array.isArray(schema.required)) {
318483
318804
  result2.required = schema.required;
318484
318805
  }
318485
- return result2;
318806
+ } else {
318807
+ result2 = { type: "json" };
318486
318808
  }
318487
- return { type: "json" };
318809
+ if (desc) {
318810
+ result2.description = desc;
318811
+ }
318812
+ return result2;
318488
318813
  }
318489
318814
  function deriveParamsFromInputSchema(inputSchema, $defs) {
318490
318815
  const params4 = [];
@@ -318512,13 +318837,20 @@ function deriveParamsFromInputSchema(inputSchema, $defs) {
318512
318837
  const paramType = schemaToParamType(propSchema, $defs);
318513
318838
  const isComplex = !isSimpleType2(propSchema, $defs) && paramType === "json";
318514
318839
  const flagBase = camelToKebab4(name2);
318840
+ const isRequired = required.has(name2);
318515
318841
  const param = {
318516
318842
  name: name2,
318517
318843
  kind: isComplex ? "jsonFlag" : "flag",
318518
318844
  flag: isComplex ? `${flagBase}-json` : flagBase,
318519
318845
  type: paramType,
318520
- required: required.has(name2)
318846
+ required: isRequired
318521
318847
  };
318848
+ const rawDesc = rawPropSchema.description;
318849
+ const resolvedDesc = propSchema.description;
318850
+ const desc = typeof rawDesc === "string" ? rawDesc : typeof resolvedDesc === "string" ? resolvedDesc : undefined;
318851
+ if (desc) {
318852
+ param.description = desc;
318853
+ }
318522
318854
  if (AGENT_HIDDEN_PARAM_NAMES.has(name2)) {
318523
318855
  param.agentVisible = false;
318524
318856
  }
@@ -318572,9 +318904,9 @@ function buildDocBackedMetadata() {
318572
318904
  const envelope = envelopeParams(docApiId);
318573
318905
  const seenNames = new Set;
318574
318906
  const mergedParams = [];
318575
- for (const param of envelope) {
318576
- seenNames.add(param.name);
318577
- mergedParams.push(param);
318907
+ for (const envelopeParam of envelope) {
318908
+ seenNames.add(envelopeParam.name);
318909
+ mergedParams.push(envelopeParam);
318578
318910
  }
318579
318911
  const overrides = PARAM_FLAG_OVERRIDES[cliOpId];
318580
318912
  const schemaOverrides = PARAM_SCHEMA_OVERRIDES[cliOpId];
@@ -318663,30 +318995,49 @@ function deriveOptionSpecs(operationId, params4) {
318663
318995
  var DOC_PARAM, SESSION_PARAM, OUT_PARAM, FORCE_PARAM, DRY_RUN_PARAM, CHANGE_MODE_PARAM, EXPECTED_REVISION_PARAM, USER_NAME_PARAM, USER_EMAIL_PARAM, AGENT_HIDDEN_PARAM_NAMES, OPERATION_CONSTRAINTS, PARAM_FLAG_OVERRIDES, PARAM_SCHEMA_OVERRIDES, PARAM_EXCLUSIONS, TEXT_TARGET_FLAT_PARAMS, INSERT_FLAT_PARAMS, LIST_TARGET_FLAT_PARAMS, FORMAT_OPERATION_IDS, EXTRA_CLI_PARAMS, CLI_ONLY_METADATA, CLI_OPERATION_METADATA, OPTION_FLAG_ALIASES, CLI_OPERATION_OPTION_SPECS;
318664
318996
  var init_operation_params = __esm(() => {
318665
318997
  init_src();
318666
- init_operation_set();
318667
318998
  init_commands();
318668
- DOC_PARAM = { name: "doc", kind: "doc", type: "string" };
318669
- SESSION_PARAM = { name: "sessionId", kind: "flag", flag: "session", type: "string" };
318999
+ init_operation_set();
319000
+ DOC_PARAM = {
319001
+ name: "doc",
319002
+ kind: "doc",
319003
+ type: "string",
319004
+ description: "Document path. Optional when a session is already open."
319005
+ };
319006
+ SESSION_PARAM = {
319007
+ name: "sessionId",
319008
+ kind: "flag",
319009
+ flag: "session",
319010
+ type: "string",
319011
+ description: "Session ID for multi-session workflows. Optional when only one session is open."
319012
+ };
318670
319013
  OUT_PARAM = { name: "out", kind: "flag", type: "string", agentVisible: false };
318671
- FORCE_PARAM = { name: "force", kind: "flag", type: "boolean" };
319014
+ FORCE_PARAM = {
319015
+ name: "force",
319016
+ kind: "flag",
319017
+ type: "boolean",
319018
+ description: "Bypass confirmation checks."
319019
+ };
318672
319020
  DRY_RUN_PARAM = {
318673
319021
  name: "dryRun",
318674
319022
  kind: "flag",
318675
319023
  flag: "dry-run",
318676
- type: "boolean"
319024
+ type: "boolean",
319025
+ description: "Preview the result without applying changes."
318677
319026
  };
318678
319027
  CHANGE_MODE_PARAM = {
318679
319028
  name: "changeMode",
318680
319029
  kind: "flag",
318681
319030
  flag: "change-mode",
318682
319031
  type: "string",
318683
- schema: { enum: ["direct", "tracked"] }
319032
+ schema: { enum: ["direct", "tracked"] },
319033
+ description: 'Edit mode: "direct" applies changes immediately, "tracked" records as suggestions.'
318684
319034
  };
318685
319035
  EXPECTED_REVISION_PARAM = {
318686
319036
  name: "expectedRevision",
318687
319037
  kind: "flag",
318688
319038
  flag: "expected-revision",
318689
- type: "number"
319039
+ type: "number",
319040
+ agentVisible: false
318690
319041
  };
318691
319042
  USER_NAME_PARAM = {
318692
319043
  name: "userName",
@@ -318742,94 +319093,325 @@ var init_operation_params = __esm(() => {
318742
319093
  "doc.find": new Set(["select"])
318743
319094
  };
318744
319095
  TEXT_TARGET_FLAT_PARAMS = [
318745
- { name: "blockId", kind: "flag", flag: "block-id", type: "string" },
318746
- { name: "start", kind: "flag", type: "number" },
318747
- { name: "end", kind: "flag", type: "number" }
319096
+ { name: "blockId", kind: "flag", flag: "block-id", type: "string", description: "Block ID of the target paragraph." },
319097
+ { name: "start", kind: "flag", type: "number", description: "Start offset within the block (character index)." },
319098
+ { name: "end", kind: "flag", type: "number", description: "End offset within the block (character index)." }
318748
319099
  ];
318749
319100
  INSERT_FLAT_PARAMS = [
318750
- { name: "blockId", kind: "flag", flag: "block-id", type: "string" },
318751
- { name: "offset", kind: "flag", type: "number" }
319101
+ { name: "blockId", kind: "flag", flag: "block-id", type: "string", description: "Block ID of the target paragraph." },
319102
+ { name: "offset", kind: "flag", type: "number", description: "Character offset within the block for insertion." }
318752
319103
  ];
318753
319104
  LIST_TARGET_FLAT_PARAMS = [
318754
- { name: "nodeId", kind: "flag", flag: "node-id", type: "string" }
319105
+ { name: "nodeId", kind: "flag", flag: "node-id", type: "string", description: "Node ID of the target list item." }
318755
319106
  ];
318756
319107
  FORMAT_OPERATION_IDS = CLI_DOC_OPERATIONS.filter((operationId) => operationId.startsWith("format."));
318757
319108
  EXTRA_CLI_PARAMS = {
318758
319109
  "doc.find": [
318759
- { name: "type", kind: "flag", type: "string" },
318760
- { name: "nodeType", kind: "flag", flag: "node-type", type: "string" },
318761
- { name: "kind", kind: "flag", type: "string" },
318762
- { name: "pattern", kind: "flag", type: "string" },
318763
- { name: "mode", kind: "flag", type: "string" },
318764
- { name: "caseSensitive", kind: "flag", flag: "case-sensitive", type: "boolean" },
318765
- { name: "select", kind: "jsonFlag", flag: "select-json", type: "json" },
318766
- { name: "query", kind: "jsonFlag", flag: "query-json", type: "json" }
319110
+ {
319111
+ name: "type",
319112
+ kind: "flag",
319113
+ type: "string",
319114
+ description: "Selector type: 'text' for text search or 'node' for node type search."
319115
+ },
319116
+ {
319117
+ name: "nodeType",
319118
+ kind: "flag",
319119
+ flag: "node-type",
319120
+ type: "string",
319121
+ description: "Node type to match (paragraph, heading, table, listItem, etc.)."
319122
+ },
319123
+ { name: "kind", kind: "flag", type: "string", description: "Filter: 'block' or 'inline'." },
319124
+ { name: "pattern", kind: "flag", type: "string", description: "Text or regex pattern to match." },
319125
+ { name: "mode", kind: "flag", type: "string", description: "Match mode: 'contains' (substring) or 'regex'." },
319126
+ {
319127
+ name: "caseSensitive",
319128
+ kind: "flag",
319129
+ flag: "case-sensitive",
319130
+ type: "boolean",
319131
+ description: "Case-sensitive matching. Default: false."
319132
+ },
319133
+ {
319134
+ name: "select",
319135
+ kind: "jsonFlag",
319136
+ flag: "select-json",
319137
+ type: "json",
319138
+ description: "Search selector as JSON: {type:'text', pattern:'...'} or {type:'node', nodeType:'...'}."
319139
+ },
319140
+ { name: "query", kind: "jsonFlag", flag: "query-json", type: "json", description: "Query filter as JSON object." }
318767
319141
  ],
318768
319142
  "doc.lists.list": [{ name: "query", kind: "jsonFlag", flag: "query-json", type: "json" }],
318769
- "doc.getNode": [{ name: "address", kind: "jsonFlag", flag: "address-json", type: "json" }],
319143
+ "doc.getNode": [
319144
+ {
319145
+ name: "address",
319146
+ kind: "jsonFlag",
319147
+ flag: "address-json",
319148
+ type: "json",
319149
+ description: "Node address to retrieve (block or inline address object)."
319150
+ }
319151
+ ],
318770
319152
  "doc.insert": [...INSERT_FLAT_PARAMS],
318771
319153
  "doc.replace": [...TEXT_TARGET_FLAT_PARAMS],
318772
319154
  "doc.delete": [...TEXT_TARGET_FLAT_PARAMS],
318773
319155
  "doc.styles.apply": [
318774
- { name: "target", kind: "jsonFlag", flag: "target-json", type: "json" },
318775
- { name: "patch", kind: "jsonFlag", flag: "patch-json", type: "json" }
319156
+ {
319157
+ name: "target",
319158
+ kind: "jsonFlag",
319159
+ flag: "target-json",
319160
+ type: "json",
319161
+ description: "Text address or block address to apply styles to."
319162
+ },
319163
+ {
319164
+ name: "patch",
319165
+ kind: "jsonFlag",
319166
+ flag: "patch-json",
319167
+ type: "json",
319168
+ description: "Style patch object with run and/or paragraph properties to apply."
319169
+ }
318776
319170
  ],
318777
319171
  "doc.comments.create": [...TEXT_TARGET_FLAT_PARAMS],
318778
319172
  "doc.comments.patch": [...TEXT_TARGET_FLAT_PARAMS],
318779
319173
  "doc.lists.insert": [
318780
- { name: "input", kind: "jsonFlag", flag: "input-json", type: "json" },
319174
+ {
319175
+ name: "input",
319176
+ kind: "jsonFlag",
319177
+ flag: "input-json",
319178
+ type: "json",
319179
+ description: "Operation input as JSON object."
319180
+ },
318781
319181
  ...LIST_TARGET_FLAT_PARAMS
318782
319182
  ],
318783
319183
  "doc.lists.indent": [
318784
- { name: "input", kind: "jsonFlag", flag: "input-json", type: "json" },
319184
+ {
319185
+ name: "input",
319186
+ kind: "jsonFlag",
319187
+ flag: "input-json",
319188
+ type: "json",
319189
+ description: "Operation input as JSON object."
319190
+ },
318785
319191
  ...LIST_TARGET_FLAT_PARAMS
318786
319192
  ],
318787
319193
  "doc.lists.outdent": [
318788
- { name: "input", kind: "jsonFlag", flag: "input-json", type: "json" },
319194
+ {
319195
+ name: "input",
319196
+ kind: "jsonFlag",
319197
+ flag: "input-json",
319198
+ type: "json",
319199
+ description: "Operation input as JSON object."
319200
+ },
318789
319201
  ...LIST_TARGET_FLAT_PARAMS
318790
319202
  ],
318791
- "doc.lists.create": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
318792
- "doc.lists.attach": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
319203
+ "doc.lists.create": [
319204
+ {
319205
+ name: "input",
319206
+ kind: "jsonFlag",
319207
+ flag: "input-json",
319208
+ type: "json",
319209
+ description: "Operation input as JSON object."
319210
+ }
319211
+ ],
319212
+ "doc.lists.attach": [
319213
+ {
319214
+ name: "input",
319215
+ kind: "jsonFlag",
319216
+ flag: "input-json",
319217
+ type: "json",
319218
+ description: "Operation input as JSON object."
319219
+ }
319220
+ ],
318793
319221
  "doc.lists.detach": [
318794
- { name: "input", kind: "jsonFlag", flag: "input-json", type: "json" },
319222
+ {
319223
+ name: "input",
319224
+ kind: "jsonFlag",
319225
+ flag: "input-json",
319226
+ type: "json",
319227
+ description: "Operation input as JSON object."
319228
+ },
318795
319229
  ...LIST_TARGET_FLAT_PARAMS
318796
319230
  ],
318797
- "doc.lists.join": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
318798
- "doc.lists.canJoin": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
319231
+ "doc.lists.join": [
319232
+ {
319233
+ name: "input",
319234
+ kind: "jsonFlag",
319235
+ flag: "input-json",
319236
+ type: "json",
319237
+ description: "Operation input as JSON object."
319238
+ }
319239
+ ],
319240
+ "doc.lists.canJoin": [
319241
+ {
319242
+ name: "input",
319243
+ kind: "jsonFlag",
319244
+ flag: "input-json",
319245
+ type: "json",
319246
+ description: "Operation input as JSON object."
319247
+ }
319248
+ ],
318799
319249
  "doc.lists.separate": [
318800
- { name: "input", kind: "jsonFlag", flag: "input-json", type: "json" },
319250
+ {
319251
+ name: "input",
319252
+ kind: "jsonFlag",
319253
+ flag: "input-json",
319254
+ type: "json",
319255
+ description: "Operation input as JSON object."
319256
+ },
318801
319257
  ...LIST_TARGET_FLAT_PARAMS
318802
319258
  ],
318803
319259
  "doc.lists.setLevel": [
318804
- { name: "input", kind: "jsonFlag", flag: "input-json", type: "json" },
319260
+ {
319261
+ name: "input",
319262
+ kind: "jsonFlag",
319263
+ flag: "input-json",
319264
+ type: "json",
319265
+ description: "Operation input as JSON object."
319266
+ },
318805
319267
  ...LIST_TARGET_FLAT_PARAMS
318806
319268
  ],
318807
319269
  "doc.lists.setValue": [
318808
- { name: "input", kind: "jsonFlag", flag: "input-json", type: "json" },
319270
+ {
319271
+ name: "input",
319272
+ kind: "jsonFlag",
319273
+ flag: "input-json",
319274
+ type: "json",
319275
+ description: "Operation input as JSON object."
319276
+ },
318809
319277
  ...LIST_TARGET_FLAT_PARAMS
318810
319278
  ],
318811
319279
  "doc.lists.continuePrevious": [
318812
- { name: "input", kind: "jsonFlag", flag: "input-json", type: "json" },
319280
+ {
319281
+ name: "input",
319282
+ kind: "jsonFlag",
319283
+ flag: "input-json",
319284
+ type: "json",
319285
+ description: "Operation input as JSON object."
319286
+ },
318813
319287
  ...LIST_TARGET_FLAT_PARAMS
318814
319288
  ],
318815
319289
  "doc.lists.canContinuePrevious": [
318816
- { name: "input", kind: "jsonFlag", flag: "input-json", type: "json" },
319290
+ {
319291
+ name: "input",
319292
+ kind: "jsonFlag",
319293
+ flag: "input-json",
319294
+ type: "json",
319295
+ description: "Operation input as JSON object."
319296
+ },
318817
319297
  ...LIST_TARGET_FLAT_PARAMS
318818
319298
  ],
318819
- "doc.lists.setLevelRestart": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
318820
- "doc.lists.applyTemplate": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
318821
- "doc.lists.applyPreset": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
318822
- "doc.lists.captureTemplate": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
318823
- "doc.lists.setLevelNumbering": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
318824
- "doc.lists.setLevelBullet": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
318825
- "doc.lists.setLevelPictureBullet": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
318826
- "doc.lists.setLevelAlignment": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
318827
- "doc.lists.setLevelIndents": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
318828
- "doc.lists.setLevelTrailingCharacter": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
318829
- "doc.lists.setLevelMarkerFont": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
318830
- "doc.lists.clearLevelOverrides": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
319299
+ "doc.lists.setLevelRestart": [
319300
+ {
319301
+ name: "input",
319302
+ kind: "jsonFlag",
319303
+ flag: "input-json",
319304
+ type: "json",
319305
+ description: "Operation input as JSON object."
319306
+ }
319307
+ ],
319308
+ "doc.lists.applyTemplate": [
319309
+ {
319310
+ name: "input",
319311
+ kind: "jsonFlag",
319312
+ flag: "input-json",
319313
+ type: "json",
319314
+ description: "Operation input as JSON object."
319315
+ }
319316
+ ],
319317
+ "doc.lists.applyPreset": [
319318
+ {
319319
+ name: "input",
319320
+ kind: "jsonFlag",
319321
+ flag: "input-json",
319322
+ type: "json",
319323
+ description: "Operation input as JSON object."
319324
+ }
319325
+ ],
319326
+ "doc.lists.captureTemplate": [
319327
+ {
319328
+ name: "input",
319329
+ kind: "jsonFlag",
319330
+ flag: "input-json",
319331
+ type: "json",
319332
+ description: "Operation input as JSON object."
319333
+ }
319334
+ ],
319335
+ "doc.lists.setLevelNumbering": [
319336
+ {
319337
+ name: "input",
319338
+ kind: "jsonFlag",
319339
+ flag: "input-json",
319340
+ type: "json",
319341
+ description: "Operation input as JSON object."
319342
+ }
319343
+ ],
319344
+ "doc.lists.setLevelBullet": [
319345
+ {
319346
+ name: "input",
319347
+ kind: "jsonFlag",
319348
+ flag: "input-json",
319349
+ type: "json",
319350
+ description: "Operation input as JSON object."
319351
+ }
319352
+ ],
319353
+ "doc.lists.setLevelPictureBullet": [
319354
+ {
319355
+ name: "input",
319356
+ kind: "jsonFlag",
319357
+ flag: "input-json",
319358
+ type: "json",
319359
+ description: "Operation input as JSON object."
319360
+ }
319361
+ ],
319362
+ "doc.lists.setLevelAlignment": [
319363
+ {
319364
+ name: "input",
319365
+ kind: "jsonFlag",
319366
+ flag: "input-json",
319367
+ type: "json",
319368
+ description: "Operation input as JSON object."
319369
+ }
319370
+ ],
319371
+ "doc.lists.setLevelIndents": [
319372
+ {
319373
+ name: "input",
319374
+ kind: "jsonFlag",
319375
+ flag: "input-json",
319376
+ type: "json",
319377
+ description: "Operation input as JSON object."
319378
+ }
319379
+ ],
319380
+ "doc.lists.setLevelTrailingCharacter": [
319381
+ {
319382
+ name: "input",
319383
+ kind: "jsonFlag",
319384
+ flag: "input-json",
319385
+ type: "json",
319386
+ description: "Operation input as JSON object."
319387
+ }
319388
+ ],
319389
+ "doc.lists.setLevelMarkerFont": [
319390
+ {
319391
+ name: "input",
319392
+ kind: "jsonFlag",
319393
+ flag: "input-json",
319394
+ type: "json",
319395
+ description: "Operation input as JSON object."
319396
+ }
319397
+ ],
319398
+ "doc.lists.clearLevelOverrides": [
319399
+ {
319400
+ name: "input",
319401
+ kind: "jsonFlag",
319402
+ flag: "input-json",
319403
+ type: "json",
319404
+ description: "Operation input as JSON object."
319405
+ }
319406
+ ],
318831
319407
  "doc.lists.convertToText": [
318832
- { name: "input", kind: "jsonFlag", flag: "input-json", type: "json" },
319408
+ {
319409
+ name: "input",
319410
+ kind: "jsonFlag",
319411
+ flag: "input-json",
319412
+ type: "json",
319413
+ description: "Operation input as JSON object."
319414
+ },
318833
319415
  ...LIST_TARGET_FLAT_PARAMS
318834
319416
  ],
318835
319417
  "doc.blocks.list": [
@@ -318838,15 +319420,49 @@ var init_operation_params = __esm(() => {
318838
319420
  { name: "nodeTypes", kind: "jsonFlag", flag: "node-types-json", type: "json" }
318839
319421
  ],
318840
319422
  "doc.blocks.delete": [
318841
- { name: "nodeType", kind: "flag", flag: "node-type", type: "string" },
318842
- { name: "nodeId", kind: "flag", flag: "node-id", type: "string" }
319423
+ {
319424
+ name: "nodeType",
319425
+ kind: "flag",
319426
+ flag: "node-type",
319427
+ type: "string",
319428
+ description: "Block type of the node to delete."
319429
+ },
319430
+ { name: "nodeId", kind: "flag", flag: "node-id", type: "string", description: "Node ID of the block to delete." }
318843
319431
  ],
318844
319432
  "doc.blocks.deleteRange": [
318845
- { name: "start", kind: "jsonFlag", flag: "start-json", type: "json" },
318846
- { name: "end", kind: "jsonFlag", flag: "end-json", type: "json" }
319433
+ {
319434
+ name: "start",
319435
+ kind: "jsonFlag",
319436
+ flag: "start-json",
319437
+ type: "json",
319438
+ description: "Block address of the first block in the range to delete."
319439
+ },
319440
+ {
319441
+ name: "end",
319442
+ kind: "jsonFlag",
319443
+ flag: "end-json",
319444
+ type: "json",
319445
+ description: "Block address of the last block in the range to delete."
319446
+ }
319447
+ ],
319448
+ "doc.create.paragraph": [
319449
+ {
319450
+ name: "input",
319451
+ kind: "jsonFlag",
319452
+ flag: "input-json",
319453
+ type: "json",
319454
+ description: "Full paragraph input as JSON (alternative to individual text/at params)."
319455
+ }
318847
319456
  ],
318848
- "doc.create.paragraph": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
318849
- "doc.create.heading": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }]
319457
+ "doc.create.heading": [
319458
+ {
319459
+ name: "input",
319460
+ kind: "jsonFlag",
319461
+ flag: "input-json",
319462
+ type: "json",
319463
+ description: "Full heading input as JSON (alternative to individual text/level/at params)."
319464
+ }
319465
+ ]
318850
319466
  };
318851
319467
  for (const operationId of FORMAT_OPERATION_IDS) {
318852
319468
  EXTRA_CLI_PARAMS[`doc.${operationId}`] = [...TEXT_TARGET_FLAT_PARAMS];