@pixerate/editor 0.43.0 → 0.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/README.md +27 -2
  2. package/THIRD_PARTY_NOTICES.md +4 -0
  3. package/dist/agent/index.cjs +548 -45
  4. package/dist/agent/index.cjs.map +1 -1
  5. package/dist/agent/index.d.cts +47 -17
  6. package/dist/agent/index.d.ts +47 -17
  7. package/dist/agent/index.js +536 -33
  8. package/dist/agent/index.js.map +1 -1
  9. package/dist/{builtins-BLud97fC.d.cts → builtins-CZW-aYKS.d.cts} +1 -1
  10. package/dist/{builtins-D0BDyAgw.d.ts → builtins-DghNQbT-.d.ts} +1 -1
  11. package/dist/{chunk-I6BZB5ZH.cjs → chunk-EFDCLENW.cjs} +73 -6
  12. package/dist/chunk-EFDCLENW.cjs.map +1 -0
  13. package/dist/chunk-HHQ4XJWT.js +826 -0
  14. package/dist/chunk-HHQ4XJWT.js.map +1 -0
  15. package/dist/chunk-J3R2OWOE.cjs +1465 -0
  16. package/dist/chunk-J3R2OWOE.cjs.map +1 -0
  17. package/dist/chunk-K2LVZ4FA.cjs +826 -0
  18. package/dist/chunk-K2LVZ4FA.cjs.map +1 -0
  19. package/dist/{chunk-6MDQKHRH.cjs → chunk-N4MLNJPO.cjs} +21 -899
  20. package/dist/chunk-N4MLNJPO.cjs.map +1 -0
  21. package/dist/chunk-PQM5W7ZN.js +168 -0
  22. package/dist/chunk-PQM5W7ZN.js.map +1 -0
  23. package/dist/{chunk-DDADOHJW.js → chunk-Q25ZS4F7.js} +5 -883
  24. package/dist/chunk-Q25ZS4F7.js.map +1 -0
  25. package/dist/chunk-TK2XZK6Z.js +1465 -0
  26. package/dist/chunk-TK2XZK6Z.js.map +1 -0
  27. package/dist/commands/index.cjs +3 -2
  28. package/dist/commands/index.cjs.map +1 -1
  29. package/dist/commands/index.d.cts +5 -5
  30. package/dist/commands/index.d.ts +5 -5
  31. package/dist/commands/index.js +2 -1
  32. package/dist/commands/index.js.map +1 -1
  33. package/dist/extensions/index.cjs +4 -4
  34. package/dist/extensions/index.cjs.map +1 -1
  35. package/dist/extensions/index.d.cts +3 -3
  36. package/dist/extensions/index.d.ts +3 -3
  37. package/dist/extensions/index.js +12 -12
  38. package/dist/generation/index.cjs +2 -2
  39. package/dist/generation/index.d.cts +4 -4
  40. package/dist/generation/index.d.ts +4 -4
  41. package/dist/generation/index.js +1 -1
  42. package/dist/image-editor/index.cjs +24 -24
  43. package/dist/image-editor/index.cjs.map +1 -1
  44. package/dist/image-editor/index.d.cts +2 -2
  45. package/dist/image-editor/index.d.ts +2 -2
  46. package/dist/image-editor/index.js +24 -24
  47. package/dist/image-editor/index.js.map +1 -1
  48. package/dist/{index-C6gaQRH0.d.cts → index-CfOQf70b.d.cts} +1 -1
  49. package/dist/{index-DXAv_R08.d.ts → index-jwJ_onWf.d.ts} +1 -1
  50. package/dist/index.cjs +9 -9
  51. package/dist/index.cjs.map +1 -1
  52. package/dist/index.d.cts +4 -4
  53. package/dist/index.d.ts +4 -4
  54. package/dist/index.js +12 -12
  55. package/dist/parameters/index.d.cts +2 -2
  56. package/dist/parameters/index.d.ts +2 -2
  57. package/dist/{registry-DnzpgY27.d.cts → registry-B4l-lYts.d.cts} +1 -1
  58. package/dist/{registry-DhVUZioj.d.ts → registry-BfVD-vVg.d.ts} +1 -1
  59. package/dist/{registry-BDe-vlv3.d.ts → registry-CSlH4iUn.d.ts} +1 -1
  60. package/dist/{registry-D0GADKc7.d.cts → registry-vz6HOiiy.d.cts} +1 -1
  61. package/dist/{schema-DYDGdYL9.d.cts → schema-Di0CS6Pe.d.cts} +26 -2
  62. package/dist/{schema-DYDGdYL9.d.ts → schema-Di0CS6Pe.d.ts} +26 -2
  63. package/dist/tools/index.cjs +37 -3
  64. package/dist/tools/index.cjs.map +1 -1
  65. package/dist/tools/index.d.cts +871 -11
  66. package/dist/tools/index.d.ts +871 -11
  67. package/dist/tools/index.js +36 -2
  68. package/dist/vector/index.cjs +1982 -301
  69. package/dist/vector/index.cjs.map +1 -1
  70. package/dist/vector/index.d.cts +624 -154
  71. package/dist/vector/index.d.ts +624 -154
  72. package/dist/vector/index.js +1755 -74
  73. package/dist/vector/index.js.map +1 -1
  74. package/package.json +1 -1
  75. package/dist/chunk-36BLROHV.js +0 -438
  76. package/dist/chunk-36BLROHV.js.map +0 -1
  77. package/dist/chunk-5H2OPMXZ.js +0 -586
  78. package/dist/chunk-5H2OPMXZ.js.map +0 -1
  79. package/dist/chunk-6MDQKHRH.cjs.map +0 -1
  80. package/dist/chunk-D6S5M7HV.js +0 -101
  81. package/dist/chunk-D6S5M7HV.js.map +0 -1
  82. package/dist/chunk-DDADOHJW.js.map +0 -1
  83. package/dist/chunk-I6BZB5ZH.cjs.map +0 -1
  84. package/dist/chunk-MC2LQN5S.cjs +0 -586
  85. package/dist/chunk-MC2LQN5S.cjs.map +0 -1
  86. package/dist/chunk-V7CC7RZ6.cjs +0 -438
  87. package/dist/chunk-V7CC7RZ6.cjs.map +0 -1
@@ -11,7 +11,6 @@ import {
11
11
  DocumentCompare,
12
12
  EMPTY_FIND_REPLACE_SNAPSHOT,
13
13
  FIND_OPTION_TOGGLES,
14
- FIND_PARAGRAPH_MARK,
15
14
  FileImport,
16
15
  FindReplace,
17
16
  FindReplaceStore,
@@ -22,7 +21,6 @@ import {
22
21
  GradientText,
23
22
  Image,
24
23
  LoadingNode,
25
- MAX_FIND_PATTERN_LENGTH,
26
24
  Markdown,
27
25
  Mention,
28
26
  Outline,
@@ -35,33 +33,27 @@ import {
35
33
  TableOfContents,
36
34
  TemplateSuggestions,
37
35
  applyDocumentComparison,
38
- applyReplacements,
39
36
  autocorrectPluginKey,
40
37
  buildOutlineTree,
41
38
  capitalizeSentenceRules,
42
39
  captureSelectionFormat,
43
40
  commentsPluginKey,
44
41
  compareInEditor,
45
- compileFindPattern,
46
42
  computeOutline,
47
43
  createFindReplaceCommands,
48
44
  createMentionExtension,
49
45
  createOutlineStore,
50
46
  createParagraphStylesStore,
51
47
  createRichTextPreset,
52
- createSearchBudget,
53
48
  createTableCommands,
54
49
  crossReferencePluginKey,
55
50
  defaultAutocorrectRules,
56
51
  documentStructureCommandItems,
57
- expandReplacement,
58
52
  fileImportPluginKey,
59
- findAllMatches,
60
53
  findAutocorrection,
61
54
  findCommentRanges,
62
55
  findHexColors,
63
56
  findReplacePluginKey,
64
- foldCodePoint,
65
57
  footnotesMarkdownIt,
66
58
  footnotesPluginKey,
67
59
  formatFindStatus,
@@ -90,10 +82,8 @@ import {
90
82
  navigateToHeading,
91
83
  outlinePluginKey,
92
84
  paragraphStylesPluginKey,
93
- parseReplacement,
94
85
  removeImageNode,
95
86
  richClipboardPluginKey,
96
- searchDocument,
97
87
  setMentionRoleAt,
98
88
  smartQuoteRules,
99
89
  smilieAutocorrectRules,
@@ -105,7 +95,7 @@ import {
105
95
  updateImageSrc,
106
96
  validateFindPattern,
107
97
  writeRichClipboard
108
- } from "../chunk-DDADOHJW.js";
98
+ } from "../chunk-Q25ZS4F7.js";
109
99
  import {
110
100
  DEFAULT_STYLES,
111
101
  NORMAL_STYLE_ID,
@@ -119,6 +109,8 @@ import {
119
109
  DEFAULT_TABLE_OPTIONS,
120
110
  DEFAULT_TABLE_TOOLBAR,
121
111
  EMPTY_TABLE_STATE,
112
+ FIND_PARAGRAPH_MARK,
113
+ MAX_FIND_PATTERN_LENGTH,
122
114
  MAX_TABLE_COLUMNS,
123
115
  MAX_TABLE_ROWS,
124
116
  TABLE_ACTIONS,
@@ -126,9 +118,15 @@ import {
126
118
  TableCell,
127
119
  TableHeader,
128
120
  TableRow,
121
+ applyReplacements,
122
+ compileFindPattern,
123
+ createSearchBudget,
129
124
  createTableExtensions,
130
125
  createTableNestingPlugin,
131
126
  createTableStore,
127
+ expandReplacement,
128
+ findAllMatches,
129
+ foldCodePoint,
132
130
  getTableActionState,
133
131
  getTableState,
134
132
  handleTablePasteWithoutNesting,
@@ -140,12 +138,14 @@ import {
140
138
  normalizeTableCellAlignment,
141
139
  normalizeTableCellColor,
142
140
  outermostTableDepth,
141
+ parseReplacement,
143
142
  runTableAction,
143
+ searchDocument,
144
144
  shouldShowTableBubbleMenu,
145
145
  sliceContainsTable,
146
146
  tableNestingPluginKey,
147
147
  unnestTables
148
- } from "../chunk-5H2OPMXZ.js";
148
+ } from "../chunk-TK2XZK6Z.js";
149
149
  import "../chunk-QJSOZFCZ.js";
150
150
  import "../chunk-P6ODPZ4W.js";
151
151
  import "../chunk-WON34HKM.js";
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;
2
2
 
3
- var _chunkI6BZB5ZHcjs = require('../chunk-I6BZB5ZH.cjs');
3
+ var _chunkEFDCLENWcjs = require('../chunk-EFDCLENW.cjs');
4
4
 
5
5
 
6
6
 
@@ -2313,5 +2313,5 @@ function createGenerationRecordStore(options) {
2313
2313
 
2314
2314
 
2315
2315
 
2316
- exports.DRIFT_TYPE_LABELS = DRIFT_TYPE_LABELS; exports.GENERATION_RECORD_FORMAT = GENERATION_RECORD_FORMAT; exports.GENERATION_RECORD_VERSION = GENERATION_RECORD_VERSION; exports.GENERATION_REQUEST_FIELDS = GENERATION_REQUEST_FIELDS; exports.MAX_PENDING_PERCENT = MAX_PENDING_PERCENT; exports.PROVENANCE_FORMAT = PROVENANCE_FORMAT; exports.PROVENANCE_VERSION = PROVENANCE_VERSION; exports.ProvenanceParseError = ProvenanceParseError; exports.QUALITY_LADDER = QUALITY_LADDER; exports.REFERENCE_ROLES = REFERENCE_ROLES; exports.REFERENCE_ROLE_ALIASES = REFERENCE_ROLE_ALIASES; exports.REFERENCE_ROLE_LABELS = REFERENCE_ROLE_LABELS; exports.REFERENCE_ROLE_NAME_REGEX = REFERENCE_ROLE_NAME_REGEX; exports.addReference = addReference; exports.aspectRatioRank = aspectRatioRank; exports.blockingDrift = blockingDrift; exports.capabilitiesToJsonSchema = capabilitiesToJsonSchema; exports.completeGenerationRecord = completeGenerationRecord; exports.createBatchResolver = createBatchResolver; exports.createGenerationRecord = createGenerationRecord; exports.createGenerationRecordId = createGenerationRecordId; exports.createGenerationRecordStore = createGenerationRecordStore; exports.createGenerationToolProvider = createGenerationToolProvider; exports.createProvenance = createProvenance; exports.defaultAssetRoleOptions = defaultAssetRoleOptions; exports.describeAssetMentions = describeAssetMentions; exports.estimateJobProgress = estimateJobProgress; exports.expectedDurationFor = expectedDurationFor; exports.findTextMentions = _chunkBVP3TSLHcjs.findTextMentions; exports.formatMentionText = _chunkBVP3TSLHcjs.formatMentionText; exports.formatRemaining = formatRemaining; exports.getAssetRoleOptions = getAssetRoleOptions; exports.getGenerationControls = getGenerationControls; exports.getReferenceSlots = getReferenceSlots; exports.getRequestValue = getRequestValue; exports.hashCapabilities = hashCapabilities; exports.hashText = hashText; exports.hashValue = hashValue; exports.isGenerationRecord = isGenerationRecord; exports.isReferenceRoleName = isReferenceRoleName; exports.matchesRecordFilter = matchesRecordFilter; exports.mediaTypeMatches = mediaTypeMatches; exports.mergeCapabilities = mergeCapabilities; exports.normalizeReferenceRole = normalizeReferenceRole; exports.parseControlValue = parseControlValue; exports.parseGenerationRecord = parseGenerationRecord; exports.parseProvenance = parseProvenance; exports.pinnedTemplatesToTemplates = pinnedTemplatesToTemplates; exports.planGenerationRequest = planGenerationRequest; exports.qualityRank = qualityRank; exports.recreateRequest = recreateRequest; exports.referenceRoleLabel = referenceRoleLabel; exports.removeReference = removeReference; exports.replayProvenancePrompt = replayProvenancePrompt; exports.resolutionMegapixels = resolutionMegapixels; exports.resolutionRank = resolutionRank; exports.resolveAssetMentions = resolveAssetMentions; exports.seedCapability = seedCapability; exports.serializeGenerationRecord = serializeGenerationRecord; exports.serializeProvenance = serializeProvenance; exports.setMentionRoleInText = _chunkBVP3TSLHcjs.setMentionRoleInText; exports.setRequestValue = setRequestValue; exports.snapToOption = snapToOption; exports.stableStringify = stableStringify; exports.summarizeGenerationRecord = summarizeGenerationRecord; exports.supportedModes = supportedModes; exports.supportedReferenceRoles = supportedReferenceRoles; exports.textFieldCapability = textFieldCapability; exports.toAssetResolver = toAssetResolver; exports.validateAssetMentions = validateAssetMentions; exports.validateJsonSchema = _chunkI6BZB5ZHcjs.validateJsonSchema; exports.variationRequest = variationRequest;
2316
+ exports.DRIFT_TYPE_LABELS = DRIFT_TYPE_LABELS; exports.GENERATION_RECORD_FORMAT = GENERATION_RECORD_FORMAT; exports.GENERATION_RECORD_VERSION = GENERATION_RECORD_VERSION; exports.GENERATION_REQUEST_FIELDS = GENERATION_REQUEST_FIELDS; exports.MAX_PENDING_PERCENT = MAX_PENDING_PERCENT; exports.PROVENANCE_FORMAT = PROVENANCE_FORMAT; exports.PROVENANCE_VERSION = PROVENANCE_VERSION; exports.ProvenanceParseError = ProvenanceParseError; exports.QUALITY_LADDER = QUALITY_LADDER; exports.REFERENCE_ROLES = REFERENCE_ROLES; exports.REFERENCE_ROLE_ALIASES = REFERENCE_ROLE_ALIASES; exports.REFERENCE_ROLE_LABELS = REFERENCE_ROLE_LABELS; exports.REFERENCE_ROLE_NAME_REGEX = REFERENCE_ROLE_NAME_REGEX; exports.addReference = addReference; exports.aspectRatioRank = aspectRatioRank; exports.blockingDrift = blockingDrift; exports.capabilitiesToJsonSchema = capabilitiesToJsonSchema; exports.completeGenerationRecord = completeGenerationRecord; exports.createBatchResolver = createBatchResolver; exports.createGenerationRecord = createGenerationRecord; exports.createGenerationRecordId = createGenerationRecordId; exports.createGenerationRecordStore = createGenerationRecordStore; exports.createGenerationToolProvider = createGenerationToolProvider; exports.createProvenance = createProvenance; exports.defaultAssetRoleOptions = defaultAssetRoleOptions; exports.describeAssetMentions = describeAssetMentions; exports.estimateJobProgress = estimateJobProgress; exports.expectedDurationFor = expectedDurationFor; exports.findTextMentions = _chunkBVP3TSLHcjs.findTextMentions; exports.formatMentionText = _chunkBVP3TSLHcjs.formatMentionText; exports.formatRemaining = formatRemaining; exports.getAssetRoleOptions = getAssetRoleOptions; exports.getGenerationControls = getGenerationControls; exports.getReferenceSlots = getReferenceSlots; exports.getRequestValue = getRequestValue; exports.hashCapabilities = hashCapabilities; exports.hashText = hashText; exports.hashValue = hashValue; exports.isGenerationRecord = isGenerationRecord; exports.isReferenceRoleName = isReferenceRoleName; exports.matchesRecordFilter = matchesRecordFilter; exports.mediaTypeMatches = mediaTypeMatches; exports.mergeCapabilities = mergeCapabilities; exports.normalizeReferenceRole = normalizeReferenceRole; exports.parseControlValue = parseControlValue; exports.parseGenerationRecord = parseGenerationRecord; exports.parseProvenance = parseProvenance; exports.pinnedTemplatesToTemplates = pinnedTemplatesToTemplates; exports.planGenerationRequest = planGenerationRequest; exports.qualityRank = qualityRank; exports.recreateRequest = recreateRequest; exports.referenceRoleLabel = referenceRoleLabel; exports.removeReference = removeReference; exports.replayProvenancePrompt = replayProvenancePrompt; exports.resolutionMegapixels = resolutionMegapixels; exports.resolutionRank = resolutionRank; exports.resolveAssetMentions = resolveAssetMentions; exports.seedCapability = seedCapability; exports.serializeGenerationRecord = serializeGenerationRecord; exports.serializeProvenance = serializeProvenance; exports.setMentionRoleInText = _chunkBVP3TSLHcjs.setMentionRoleInText; exports.setRequestValue = setRequestValue; exports.snapToOption = snapToOption; exports.stableStringify = stableStringify; exports.summarizeGenerationRecord = summarizeGenerationRecord; exports.supportedModes = supportedModes; exports.supportedReferenceRoles = supportedReferenceRoles; exports.textFieldCapability = textFieldCapability; exports.toAssetResolver = toAssetResolver; exports.validateAssetMentions = validateAssetMentions; exports.validateJsonSchema = _chunkEFDCLENWcjs.validateJsonSchema; exports.variationRequest = variationRequest;
2317
2317
  //# sourceMappingURL=index.cjs.map
@@ -1,7 +1,7 @@
1
- import { J as JsonSchema } from '../schema-DYDGdYL9.cjs';
2
- export { S as SchemaValidationError, v as validateJsonSchema } from '../schema-DYDGdYL9.cjs';
3
- import { A as AgentToolProvider } from '../registry-DnzpgY27.cjs';
4
- export { a as AgentTool, d as McpToolDefinition, e as McpToolResult } from '../registry-DnzpgY27.cjs';
1
+ import { J as JsonSchema } from '../schema-Di0CS6Pe.cjs';
2
+ export { S as SchemaValidationError, v as validateJsonSchema } from '../schema-Di0CS6Pe.cjs';
3
+ import { A as AgentToolProvider } from '../registry-B4l-lYts.cjs';
4
+ export { a as AgentTool, d as McpToolDefinition, e as McpToolResult } from '../registry-B4l-lYts.cjs';
5
5
  import { S as SourceMapSegment } from '../sourcemap-C8AH3MBQ.cjs';
6
6
  import { T as Template, P as PromptValues } from '../tokens-D7yXvUU6.cjs';
7
7
  import { S as StorageAdapter } from '../storage-BpFfspHm.cjs';
@@ -1,7 +1,7 @@
1
- import { J as JsonSchema } from '../schema-DYDGdYL9.js';
2
- export { S as SchemaValidationError, v as validateJsonSchema } from '../schema-DYDGdYL9.js';
3
- import { A as AgentToolProvider } from '../registry-BDe-vlv3.js';
4
- export { a as AgentTool, d as McpToolDefinition, e as McpToolResult } from '../registry-BDe-vlv3.js';
1
+ import { J as JsonSchema } from '../schema-Di0CS6Pe.js';
2
+ export { S as SchemaValidationError, v as validateJsonSchema } from '../schema-Di0CS6Pe.js';
3
+ import { A as AgentToolProvider } from '../registry-CSlH4iUn.js';
4
+ export { a as AgentTool, d as McpToolDefinition, e as McpToolResult } from '../registry-CSlH4iUn.js';
5
5
  import { S as SourceMapSegment } from '../sourcemap-DA1Evhrv.js';
6
6
  import { T as Template, P as PromptValues } from '../tokens-D7yXvUU6.js';
7
7
  import { S as StorageAdapter } from '../storage-BpFfspHm.js';
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  validateJsonSchema
3
- } from "../chunk-D6S5M7HV.js";
3
+ } from "../chunk-PQM5W7ZN.js";
4
4
  import {
5
5
  getLatestVersion,
6
6
  getTemplateBody,
@@ -5190,11 +5190,11 @@ function createImageSelectionTools(controller) {
5190
5190
  inputSchema: {
5191
5191
  type: "object",
5192
5192
  properties: {
5193
- shape: { type: "string", enum: ["rect", "ellipse", "all", "none", "invert"] },
5194
- x: { type: "number" },
5195
- y: { type: "number" },
5196
- width: { type: "number" },
5197
- height: { type: "number" },
5193
+ shape: { type: "string", enum: ["rect", "ellipse", "all", "none", "invert"], description: "What to select." },
5194
+ x: { type: "number", description: "rect / ellipse: left edge in natural image pixels." },
5195
+ y: { type: "number", description: "rect / ellipse: top edge in natural image pixels." },
5196
+ width: { type: "number", description: "rect / ellipse: width in natural image pixels." },
5197
+ height: { type: "number", description: "rect / ellipse: height in natural image pixels." },
5198
5198
  mode: modeSchema,
5199
5199
  feather: { type: "number", minimum: 0, description: "Feather radius in pixels (default 0)." }
5200
5200
  },
@@ -5237,8 +5237,8 @@ function createImageSelectionTools(controller) {
5237
5237
  inputSchema: {
5238
5238
  type: "object",
5239
5239
  properties: {
5240
- x: { type: "number" },
5241
- y: { type: "number" },
5240
+ x: { type: "number", description: "Seed point x in natural image pixels." },
5241
+ y: { type: "number", description: "Seed point y in natural image pixels." },
5242
5242
  color: { type: "string", description: "#rrggbb: select this colour everywhere instead of a seed point." },
5243
5243
  tolerance: { type: "number", minimum: 0, maximum: 255, description: "Magic wand tolerance (default 32)." },
5244
5244
  contiguous: { type: "boolean", description: "Only the connected region around (x, y) (default true)." },
@@ -5268,8 +5268,8 @@ function createImageSelectionTools(controller) {
5268
5268
  inputSchema: {
5269
5269
  type: "object",
5270
5270
  properties: {
5271
- op: { type: "string", enum: [...SELECTION_MODIFY_OPS] },
5272
- radius: { type: "number", minimum: 0, maximum: 500 }
5271
+ op: { type: "string", enum: [...SELECTION_MODIFY_OPS], description: "How to modify the selection." },
5272
+ radius: { type: "number", minimum: 0, maximum: 500, description: "Radius in pixels." }
5273
5273
  },
5274
5274
  required: ["op", "radius"],
5275
5275
  additionalProperties: false
@@ -5289,12 +5289,12 @@ function createImageSelectionTools(controller) {
5289
5289
  inputSchema: {
5290
5290
  type: "object",
5291
5291
  properties: {
5292
- radius: { type: "number", minimum: 0, maximum: 64 },
5293
- smartRadius: { type: "boolean" },
5294
- smooth: { type: "number", minimum: 0, maximum: 100 },
5295
- feather: { type: "number", minimum: 0, maximum: 250 },
5296
- contrast: { type: "number", minimum: 0, maximum: 100 },
5297
- shiftEdge: { type: "number", minimum: -100, maximum: 100 }
5292
+ radius: { type: "number", minimum: 0, maximum: 64, description: "Edge detection radius in pixels." },
5293
+ smartRadius: { type: "boolean", description: "Adapt the radius to hard and soft edges." },
5294
+ smooth: { type: "number", minimum: 0, maximum: 100, description: "Smooth the edge outline (0-100)." },
5295
+ feather: { type: "number", minimum: 0, maximum: 250, description: "Feather the edge (pixels)." },
5296
+ contrast: { type: "number", minimum: 0, maximum: 100, description: "Sharpen the edge transition (0-100)." },
5297
+ shiftEdge: { type: "number", minimum: -100, maximum: 100, description: "Move the edge out (+) or in (-), in percent." }
5298
5298
  },
5299
5299
  additionalProperties: false
5300
5300
  },
@@ -5319,11 +5319,11 @@ function createImageSelectionTools(controller) {
5319
5319
  inputSchema: {
5320
5320
  type: "object",
5321
5321
  properties: {
5322
- layerId: { type: "string" },
5323
- kind: { type: "string", enum: ADJUSTMENT_KINDS.map((k) => k.kind) },
5324
- params: { type: "object" },
5325
- density: { type: "number", minimum: 0, maximum: 1 },
5326
- feather: { type: "number", minimum: 0, maximum: 1e3 }
5322
+ layerId: { type: "string", description: "Existing adjustment layer to mask." },
5323
+ kind: { type: "string", enum: ADJUSTMENT_KINDS.map((k) => k.kind), description: "Kind of a new layer to add and mask (instead of layerId)." },
5324
+ params: { type: "object", description: "Parameters for the new layer (see list_controls)." },
5325
+ density: { type: "number", minimum: 0, maximum: 1, description: "Mask density 0-1." },
5326
+ feather: { type: "number", minimum: 0, maximum: 1e3, description: "Mask feather in pixels." }
5327
5327
  },
5328
5328
  additionalProperties: false
5329
5329
  },
@@ -5504,11 +5504,11 @@ function createImageEditorToolProvider(controller, options = {}) {
5504
5504
  inputSchema: {
5505
5505
  type: "object",
5506
5506
  properties: {
5507
- kind: { type: "string", enum: ADJUSTMENT_KINDS.map((k) => k.kind) },
5507
+ kind: { type: "string", enum: ADJUSTMENT_KINDS.map((k) => k.kind), description: "Adjustment kind." },
5508
5508
  params: { type: "object", description: "Initial parameters (see list_controls); merged with neutral defaults." },
5509
- opacity: { type: "number", minimum: 0, maximum: 1 },
5510
- blend: { type: "string", enum: BLEND_MODES.map((m) => m.id) },
5511
- name: { type: "string" }
5509
+ opacity: { type: "number", minimum: 0, maximum: 1, description: "Layer opacity 0-1 (default 1)." },
5510
+ blend: { type: "string", enum: BLEND_MODES.map((m) => m.id), description: "Blend mode (default normal)." },
5511
+ name: { type: "string", description: "Layer name shown in the layers panel." }
5512
5512
  },
5513
5513
  required: ["kind"],
5514
5514
  additionalProperties: false