@pixerate/editor 0.46.1 → 0.47.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 (84) hide show
  1. package/THIRD_PARTY_NOTICES.md +20 -0
  2. package/dist/agent/index.cjs +20 -19
  3. package/dist/agent/index.cjs.map +1 -1
  4. package/dist/agent/index.d.cts +2 -2
  5. package/dist/agent/index.d.ts +2 -2
  6. package/dist/agent/index.js +4 -3
  7. package/dist/agent/index.js.map +1 -1
  8. package/dist/{builtins-DghNQbT-.d.ts → builtins-D2nMtw2W.d.ts} +1 -1
  9. package/dist/{builtins-CZW-aYKS.d.cts → builtins-xs7rK6ys.d.cts} +1 -1
  10. package/dist/chart/index.cjs +3887 -813
  11. package/dist/chart/index.cjs.map +1 -1
  12. package/dist/chart/index.d.cts +941 -239
  13. package/dist/chart/index.d.ts +941 -239
  14. package/dist/chart/index.js +3866 -792
  15. package/dist/chart/index.js.map +1 -1
  16. package/dist/{chunk-PQM5W7ZN.js → chunk-4FX5ACVG.js} +29 -2
  17. package/dist/{chunk-PQM5W7ZN.js.map → chunk-4FX5ACVG.js.map} +1 -1
  18. package/dist/{chunk-3RPOW4CS.js → chunk-5VXI5GED.js} +12 -10
  19. package/dist/{chunk-3RPOW4CS.js.map → chunk-5VXI5GED.js.map} +1 -1
  20. package/dist/{chunk-HHQ4XJWT.js → chunk-AMWXSYCI.js} +2 -2
  21. package/dist/{chunk-U7VGDSNY.cjs → chunk-BBRK6MOI.cjs} +101 -99
  22. package/dist/chunk-BBRK6MOI.cjs.map +1 -0
  23. package/dist/chunk-C3NWJE3K.js +1182 -0
  24. package/dist/chunk-C3NWJE3K.js.map +1 -0
  25. package/dist/{chunk-N4MLNJPO.cjs → chunk-H4PICYNL.cjs} +59 -12
  26. package/dist/chunk-H4PICYNL.cjs.map +1 -0
  27. package/dist/chunk-LYGEEDNR.cjs +1895 -0
  28. package/dist/chunk-LYGEEDNR.cjs.map +1 -0
  29. package/dist/chunk-NEOO6QJD.cjs +1182 -0
  30. package/dist/chunk-NEOO6QJD.cjs.map +1 -0
  31. package/dist/{chunk-Q25ZS4F7.js → chunk-PQFAHT5O.js} +53 -6
  32. package/dist/chunk-PQFAHT5O.js.map +1 -0
  33. package/dist/{chunk-ZRNHGAQT.js → chunk-REAGGLXS.js} +43 -1891
  34. package/dist/chunk-REAGGLXS.js.map +1 -0
  35. package/dist/{chunk-EFDCLENW.cjs → chunk-RIWPYSKU.cjs} +29 -2
  36. package/dist/chunk-RIWPYSKU.cjs.map +1 -0
  37. package/dist/{chunk-EWCOFSCQ.cjs → chunk-SQC26VQV.cjs} +252 -2100
  38. package/dist/chunk-SQC26VQV.cjs.map +1 -0
  39. package/dist/{chunk-K2LVZ4FA.cjs → chunk-XFYUFVAX.cjs} +3 -3
  40. package/dist/{chunk-K2LVZ4FA.cjs.map → chunk-XFYUFVAX.cjs.map} +1 -1
  41. package/dist/chunk-ZFBBVGCI.js +1895 -0
  42. package/dist/chunk-ZFBBVGCI.js.map +1 -0
  43. package/dist/commands/index.cjs +93 -11
  44. package/dist/commands/index.cjs.map +1 -1
  45. package/dist/commands/index.d.cts +9 -7
  46. package/dist/commands/index.d.ts +9 -7
  47. package/dist/commands/index.js +92 -10
  48. package/dist/commands/index.js.map +1 -1
  49. package/dist/extensions/index.cjs +3 -2
  50. package/dist/extensions/index.cjs.map +1 -1
  51. package/dist/extensions/index.d.cts +3 -2
  52. package/dist/extensions/index.d.ts +3 -2
  53. package/dist/extensions/index.js +2 -1
  54. package/dist/generation/index.cjs +2 -2
  55. package/dist/generation/index.js +1 -1
  56. package/dist/{index-jwJ_onWf.d.ts → index-CSUCQYAH.d.ts} +23 -2
  57. package/dist/{index-CfOQf70b.d.cts → index-QrqMmZ75.d.cts} +23 -2
  58. package/dist/index.cjs +12 -9
  59. package/dist/index.cjs.map +1 -1
  60. package/dist/index.d.cts +9 -3
  61. package/dist/index.d.ts +9 -3
  62. package/dist/index.js +26 -23
  63. package/dist/index.js.map +1 -1
  64. package/dist/parameters/index.d.cts +1 -1
  65. package/dist/parameters/index.d.ts +1 -1
  66. package/dist/{registry-vz6HOiiy.d.cts → registry-CaR7LC6W.d.cts} +2 -0
  67. package/dist/{registry-BfVD-vVg.d.ts → registry-rVtFJjRM.d.ts} +2 -0
  68. package/dist/spreadsheet/index.cjs +5 -3
  69. package/dist/spreadsheet/index.cjs.map +1 -1
  70. package/dist/spreadsheet/index.js +24 -22
  71. package/dist/tools/index.cjs +3 -3
  72. package/dist/tools/index.js +2 -2
  73. package/dist/types-BVqWm3d1.d.cts +320 -0
  74. package/dist/types-BVqWm3d1.d.ts +320 -0
  75. package/dist/vector/index.d.cts +1 -1
  76. package/dist/vector/index.d.ts +1 -1
  77. package/package.json +2 -1
  78. package/dist/chunk-EFDCLENW.cjs.map +0 -1
  79. package/dist/chunk-EWCOFSCQ.cjs.map +0 -1
  80. package/dist/chunk-N4MLNJPO.cjs.map +0 -1
  81. package/dist/chunk-Q25ZS4F7.js.map +0 -1
  82. package/dist/chunk-U7VGDSNY.cjs.map +0 -1
  83. package/dist/chunk-ZRNHGAQT.js.map +0 -1
  84. /package/dist/{chunk-HHQ4XJWT.js.map → chunk-AMWXSYCI.js.map} +0 -0
@@ -152,7 +152,7 @@ function validateJsonSchema(value, schema, path = "", root = schema, refDepth =
152
152
  const known = Object.keys(properties);
153
153
  errors.push({
154
154
  path: `${path}/${key}`,
155
- message: `Unknown property "${key}".${known.length ? ` Allowed: ${known.join(", ")}.` : ""}`
155
+ message: `Unknown property "${key}".${closestName(key, known)}${known.length ? ` Allowed: ${known.join(", ")}.` : ""}`
156
156
  });
157
157
  } else if (typeof schema.additionalProperties === "object") {
158
158
  errors.push(...recurse(child, schema.additionalProperties, `${path}/${key}`));
@@ -161,8 +161,35 @@ function validateJsonSchema(value, schema, path = "", root = schema, refDepth =
161
161
  }
162
162
  return errors;
163
163
  }
164
+ function editDistance(a, b) {
165
+ a = a.toLowerCase();
166
+ b = b.toLowerCase();
167
+ const row = Array.from({ length: b.length + 1 }, (_, j) => j);
168
+ for (let i = 1; i <= a.length; i++) {
169
+ let prev = row[0];
170
+ row[0] = i;
171
+ for (let j = 1; j <= b.length; j++) {
172
+ const tmp = row[j];
173
+ row[j] = Math.min(row[j] + 1, row[j - 1] + 1, prev + (a[i - 1] === b[j - 1] ? 0 : 1));
174
+ prev = tmp;
175
+ }
176
+ }
177
+ return row[b.length];
178
+ }
179
+ function closestName(name, known) {
180
+ let best = "";
181
+ let bestDistance = Infinity;
182
+ for (const k of known) {
183
+ const d = editDistance(name, k);
184
+ if (d < bestDistance) {
185
+ best = k;
186
+ bestDistance = d;
187
+ }
188
+ }
189
+ return best && bestDistance <= Math.max(1, Math.min(2, Math.floor(name.length / 2))) ? ` Did you mean "${best}"?` : "";
190
+ }
164
191
 
165
192
 
166
193
 
167
194
  exports.validateJsonSchema = validateJsonSchema;
168
- //# sourceMappingURL=chunk-EFDCLENW.cjs.map
195
+ //# sourceMappingURL=chunk-RIWPYSKU.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/editor/editor/packages/core/dist/chunk-RIWPYSKU.cjs","../src/tools/schema.ts"],"names":[],"mappings":"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","file":"/home/runner/work/editor/editor/packages/core/dist/chunk-RIWPYSKU.cjs","sourcesContent":[null,"/**\n * JSON-Schema-lite: the subset of JSON Schema used by MCP tool `inputSchema`s,\n * plus a small validator for tool-call arguments. Unknown keywords are ignored.\n */\nexport type JsonSchemaType = 'string' | 'number' | 'integer' | 'boolean' | 'object' | 'array' | 'null';\n\nexport interface JsonSchema {\n\ttype?: JsonSchemaType | readonly JsonSchemaType[];\n\tdescription?: string;\n\ttitle?: string;\n\tenum?: readonly unknown[];\n\tconst?: unknown;\n\tdefault?: unknown;\n\tproperties?: { readonly [key: string]: JsonSchema };\n\trequired?: readonly string[];\n\tadditionalProperties?: boolean | JsonSchema;\n\titems?: JsonSchema;\n\tminItems?: number;\n\tmaxItems?: number;\n\tminimum?: number;\n\tmaximum?: number;\n\texclusiveMinimum?: number;\n\texclusiveMaximum?: number;\n\tmultipleOf?: number;\n\tuniqueItems?: boolean;\n\tanyOf?: readonly JsonSchema[];\n\toneOf?: readonly JsonSchema[];\n\tallOf?: readonly JsonSchema[];\n\tnot?: JsonSchema;\n\t/** Local reference only: `#`, `#/$defs/<name>` or `#/definitions/<name>`. */\n\t$ref?: string;\n\t$defs?: { readonly [key: string]: JsonSchema };\n\tdefinitions?: { readonly [key: string]: JsonSchema };\n\tminLength?: number;\n\tmaxLength?: number;\n\tpattern?: string;\n\t[keyword: string]: unknown;\n}\n\nexport interface SchemaValidationError {\n\t/** JSON-pointer-like path to the offending value, e.g. `/node/id` (`\"\"` is the root). */\n\tpath: string;\n\tmessage: string;\n}\n\nfunction typeOf(value: unknown): JsonSchemaType | 'undefined' {\n\tif (value === null) return 'null';\n\tif (Array.isArray(value)) return 'array';\n\tif (typeof value === 'number') return Number.isInteger(value) ? 'integer' : 'number';\n\tif (typeof value === 'string' || typeof value === 'boolean' || typeof value === 'object') {\n\t\treturn typeof value as JsonSchemaType;\n\t}\n\treturn 'undefined';\n}\n\nfunction matchesType(value: unknown, type: JsonSchemaType): boolean {\n\tconst actual = typeOf(value);\n\tif (type === 'number') return actual === 'number' || actual === 'integer';\n\treturn actual === type;\n}\n\nconst isEqual = (a: unknown, b: unknown) => a === b || JSON.stringify(a) === JSON.stringify(b);\n\n/** Resolves a local `$ref` (`#`, `#/$defs/a`, `#/definitions/a/properties/b`, ...) against `root`. */\nfunction resolveRef(ref: string, root: JsonSchema): JsonSchema | undefined {\n\tif (ref === '#') return root;\n\tif (!ref.startsWith('#/')) return undefined;\n\tlet node: unknown = root;\n\tfor (const raw of ref.slice(2).split('/')) {\n\t\tconst key = decodeURIComponent(raw).replace(/~1/g, '/').replace(/~0/g, '~');\n\t\tif (!node || typeof node !== 'object') return undefined;\n\t\tnode = (node as Record<string, unknown>)[key];\n\t}\n\treturn node && typeof node === 'object' ? (node as JsonSchema) : undefined;\n}\n\n/** Most `$ref` hops followed before a reference cycle is reported. */\nconst MAX_REF_DEPTH = 32;\n\n/**\n * Validates `value` against `schema` and returns every error found (an empty\n * array means valid). Supports `type` (incl. arrays of types), `enum`, `const`,\n * `properties`, `required`, `additionalProperties`, `items`, `minItems`,\n * `maxItems`, `uniqueItems`, `minimum`, `maximum`, `exclusiveMinimum`,\n * `exclusiveMaximum`, `multipleOf`, `minLength`, `maxLength`, `pattern`,\n * `anyOf`, `oneOf`, `allOf`, `not` and local `$ref`s (`#/$defs/...`).\n * Other keywords (`format`, `if`/`then`, `patternProperties`, remote refs...)\n * are ignored.\n *\n * When no `anyOf` / `oneOf` branch matches, the errors of the closest branch\n * (the one with the fewest errors) are reported, so a caller sees what to fix\n * rather than only \"no branch matched\".\n */\nexport function validateJsonSchema(\n\tvalue: unknown,\n\tschema: JsonSchema | undefined,\n\tpath = '',\n\troot: JsonSchema | undefined = schema,\n\trefDepth = 0\n): SchemaValidationError[] {\n\tif (!schema || typeof schema !== 'object') return [];\n\tconst errors: SchemaValidationError[] = [];\n\tconst at = path || '/';\n\tconst recurse = (child: unknown, childSchema: JsonSchema | undefined, childPath: string) =>\n\t\tvalidateJsonSchema(child, childSchema, childPath, root, refDepth);\n\n\tif (typeof schema.$ref === 'string') {\n\t\tconst target = root ? resolveRef(schema.$ref, root) : undefined;\n\t\tif (!target) {\n\t\t\terrors.push({ path: at, message: `Unresolvable schema reference ${schema.$ref}.` });\n\t\t} else if (refDepth >= MAX_REF_DEPTH) {\n\t\t\terrors.push({ path: at, message: `Schema reference ${schema.$ref} is nested too deeply.` });\n\t\t} else {\n\t\t\terrors.push(...validateJsonSchema(value, target, path, root, refDepth + 1));\n\t\t}\n\t\t// Sibling keywords still apply (2019-09+ semantics).\n\t}\n\n\tif (schema.allOf) {\n\t\tfor (const branch of schema.allOf) errors.push(...recurse(value, branch, path));\n\t}\n\tif (schema.anyOf || schema.oneOf) {\n\t\tconst branches = (schema.anyOf ?? schema.oneOf)!;\n\t\tconst results = branches.map((branch) => recurse(value, branch, path));\n\t\tconst matching = results.filter((r) => r.length === 0).length;\n\t\tif (matching === 0 && results.length > 0) {\n\t\t\tconst closest = results.reduce((best, r) => (r.length < best.length ? r : best));\n\t\t\terrors.push(\n\t\t\t\t{ path: at, message: `Does not match any allowed shape (${branches.length} options); closest match failed with:` },\n\t\t\t\t...closest\n\t\t\t);\n\t\t} else if (schema.oneOf && !schema.anyOf && matching > 1) {\n\t\t\terrors.push({ path: at, message: `Matches ${matching} shapes; exactly one is allowed.` });\n\t\t}\n\t}\n\tif (schema.not && recurse(value, schema.not, path).length === 0) {\n\t\terrors.push({ path: at, message: 'Matches a disallowed shape.' });\n\t}\n\n\tif (schema.type !== undefined) {\n\t\tconst types = (Array.isArray(schema.type) ? schema.type : [schema.type]) as JsonSchemaType[];\n\t\tif (!types.some((t) => matchesType(value, t))) {\n\t\t\terrors.push({ path: at, message: `Expected ${types.join(' | ')}, got ${typeOf(value)}.` });\n\t\t\treturn errors;\n\t\t}\n\t}\n\tif (schema.const !== undefined && !isEqual(value, schema.const)) {\n\t\terrors.push({ path: at, message: `Expected ${JSON.stringify(schema.const)}.` });\n\t}\n\tif (schema.enum && !schema.enum.some((option) => isEqual(value, option))) {\n\t\terrors.push({\n\t\t\tpath: at,\n\t\t\tmessage: `Expected one of ${schema.enum.map((o) => JSON.stringify(o)).join(', ')}, got ${JSON.stringify(value)}.`\n\t\t});\n\t}\n\n\tif (typeof value === 'string') {\n\t\tif (schema.minLength !== undefined && value.length < schema.minLength) {\n\t\t\terrors.push({ path: at, message: `Must be at least ${schema.minLength} characters.` });\n\t\t}\n\t\tif (schema.maxLength !== undefined && value.length > schema.maxLength) {\n\t\t\terrors.push({ path: at, message: `Must be at most ${schema.maxLength} characters.` });\n\t\t}\n\t\tif (schema.pattern !== undefined) {\n\t\t\tlet regex: RegExp | null = null;\n\t\t\ttry {\n\t\t\t\tregex = new RegExp(schema.pattern, 'u');\n\t\t\t} catch {\n\t\t\t\t// An invalid pattern in the schema is not the caller's fault.\n\t\t\t}\n\t\t\tif (regex && !regex.test(value)) {\n\t\t\t\terrors.push({ path: at, message: `Must match pattern ${schema.pattern}.` });\n\t\t\t}\n\t\t}\n\t}\n\n\tif (typeof value === 'number') {\n\t\tif (schema.minimum !== undefined && value < schema.minimum) {\n\t\t\terrors.push({ path: at, message: `Must be >= ${schema.minimum}.` });\n\t\t}\n\t\tif (schema.maximum !== undefined && value > schema.maximum) {\n\t\t\terrors.push({ path: at, message: `Must be <= ${schema.maximum}.` });\n\t\t}\n\t\tif (typeof schema.exclusiveMinimum === 'number' && value <= schema.exclusiveMinimum) {\n\t\t\terrors.push({ path: at, message: `Must be > ${schema.exclusiveMinimum}.` });\n\t\t}\n\t\tif (typeof schema.exclusiveMaximum === 'number' && value >= schema.exclusiveMaximum) {\n\t\t\terrors.push({ path: at, message: `Must be < ${schema.exclusiveMaximum}.` });\n\t\t}\n\t\tif (schema.multipleOf !== undefined && schema.multipleOf > 0) {\n\t\t\tconst quotient = value / schema.multipleOf;\n\t\t\tif (Math.abs(quotient - Math.round(quotient)) > 1e-9) {\n\t\t\t\terrors.push({ path: at, message: `Must be a multiple of ${schema.multipleOf}.` });\n\t\t\t}\n\t\t}\n\t}\n\n\tif (Array.isArray(value)) {\n\t\tif (schema.minItems !== undefined && value.length < schema.minItems) {\n\t\t\terrors.push({ path: at, message: `Must have at least ${schema.minItems} items.` });\n\t\t}\n\t\tif (schema.maxItems !== undefined && value.length > schema.maxItems) {\n\t\t\terrors.push({ path: at, message: `Must have at most ${schema.maxItems} items.` });\n\t\t}\n\t\tif (schema.uniqueItems) {\n\t\t\tconst seen = new Set<string>();\n\t\t\tvalue.forEach((item, index) => {\n\t\t\t\tconst key = JSON.stringify(item);\n\t\t\t\tif (seen.has(key)) errors.push({ path: `${path}/${index}`, message: 'Duplicate item; items must be unique.' });\n\t\t\t\tseen.add(key);\n\t\t\t});\n\t\t}\n\t\tif (schema.items) {\n\t\t\tvalue.forEach((item, index) => {\n\t\t\t\terrors.push(...recurse(item, schema.items, `${path}/${index}`));\n\t\t\t});\n\t\t}\n\t}\n\n\tif (typeOf(value) === 'object') {\n\t\tconst obj = value as Record<string, unknown>;\n\t\tfor (const key of schema.required ?? []) {\n\t\t\tif (obj[key] === undefined) {\n\t\t\t\terrors.push({ path: `${path}/${key}`, message: `Missing required property \"${key}\".` });\n\t\t\t}\n\t\t}\n\t\tconst properties = schema.properties ?? {};\n\t\tfor (const [key, child] of Object.entries(obj)) {\n\t\t\tif (child === undefined) continue;\n\t\t\tif (key in properties) {\n\t\t\t\terrors.push(...recurse(child, properties[key], `${path}/${key}`));\n\t\t\t} else if (schema.additionalProperties === false) {\n\t\t\t\tconst known = Object.keys(properties);\n\t\t\t\terrors.push({\n\t\t\t\t\tpath: `${path}/${key}`,\n\t\t\t\t\tmessage: `Unknown property \"${key}\".${closestName(key, known)}${known.length ? ` Allowed: ${known.join(', ')}.` : ''}`\n\t\t\t\t});\n\t\t\t} else if (typeof schema.additionalProperties === 'object') {\n\t\t\t\terrors.push(...recurse(child, schema.additionalProperties, `${path}/${key}`));\n\t\t\t}\n\t\t}\n\t}\n\n\treturn errors;\n}\n\n/** Edit distance between two short strings (case-insensitive). */\nfunction editDistance(a: string, b: string): number {\n\ta = a.toLowerCase();\n\tb = b.toLowerCase();\n\tconst row = Array.from({ length: b.length + 1 }, (_, j) => j);\n\tfor (let i = 1; i <= a.length; i++) {\n\t\tlet prev = row[0];\n\t\trow[0] = i;\n\t\tfor (let j = 1; j <= b.length; j++) {\n\t\t\tconst tmp = row[j];\n\t\t\trow[j] = Math.min(row[j] + 1, row[j - 1] + 1, prev + (a[i - 1] === b[j - 1] ? 0 : 1));\n\t\t\tprev = tmp;\n\t\t}\n\t}\n\treturn row[b.length];\n}\n\n/** ` Did you mean \"x\"?` for the nearest known name within a couple of edits, else ''. */\nfunction closestName(name: string, known: readonly string[]): string {\n\tlet best = '';\n\tlet bestDistance = Infinity;\n\tfor (const k of known) {\n\t\tconst d = editDistance(name, k);\n\t\tif (d < bestDistance) {\n\t\t\tbest = k;\n\t\t\tbestDistance = d;\n\t\t}\n\t}\n\treturn best && bestDistance <= Math.max(1, Math.min(2, Math.floor(name.length / 2))) ? ` Did you mean \"${best}\"?` : '';\n}\n"]}