@pixerate/editor 0.46.0 → 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.
- package/THIRD_PARTY_NOTICES.md +20 -0
- package/dist/agent/index.cjs +20 -19
- package/dist/agent/index.cjs.map +1 -1
- package/dist/agent/index.d.cts +2 -2
- package/dist/agent/index.d.ts +2 -2
- package/dist/agent/index.js +4 -3
- package/dist/agent/index.js.map +1 -1
- package/dist/{builtins-DghNQbT-.d.ts → builtins-D2nMtw2W.d.ts} +1 -1
- package/dist/{builtins-CZW-aYKS.d.cts → builtins-xs7rK6ys.d.cts} +1 -1
- package/dist/chart/index.cjs +3965 -821
- package/dist/chart/index.cjs.map +1 -1
- package/dist/chart/index.d.cts +964 -240
- package/dist/chart/index.d.ts +964 -240
- package/dist/chart/index.js +3922 -778
- package/dist/chart/index.js.map +1 -1
- package/dist/{chunk-PQM5W7ZN.js → chunk-4FX5ACVG.js} +29 -2
- package/dist/{chunk-PQM5W7ZN.js.map → chunk-4FX5ACVG.js.map} +1 -1
- package/dist/{chunk-3RPOW4CS.js → chunk-5VXI5GED.js} +12 -10
- package/dist/{chunk-3RPOW4CS.js.map → chunk-5VXI5GED.js.map} +1 -1
- package/dist/{chunk-HHQ4XJWT.js → chunk-AMWXSYCI.js} +2 -2
- package/dist/{chunk-U7VGDSNY.cjs → chunk-BBRK6MOI.cjs} +101 -99
- package/dist/chunk-BBRK6MOI.cjs.map +1 -0
- package/dist/chunk-C3NWJE3K.js +1182 -0
- package/dist/chunk-C3NWJE3K.js.map +1 -0
- package/dist/{chunk-N4MLNJPO.cjs → chunk-H4PICYNL.cjs} +59 -12
- package/dist/chunk-H4PICYNL.cjs.map +1 -0
- package/dist/chunk-LYGEEDNR.cjs +1895 -0
- package/dist/chunk-LYGEEDNR.cjs.map +1 -0
- package/dist/chunk-NEOO6QJD.cjs +1182 -0
- package/dist/chunk-NEOO6QJD.cjs.map +1 -0
- package/dist/{chunk-Q25ZS4F7.js → chunk-PQFAHT5O.js} +53 -6
- package/dist/chunk-PQFAHT5O.js.map +1 -0
- package/dist/{chunk-ZRNHGAQT.js → chunk-REAGGLXS.js} +43 -1891
- package/dist/chunk-REAGGLXS.js.map +1 -0
- package/dist/{chunk-EFDCLENW.cjs → chunk-RIWPYSKU.cjs} +29 -2
- package/dist/chunk-RIWPYSKU.cjs.map +1 -0
- package/dist/{chunk-EWCOFSCQ.cjs → chunk-SQC26VQV.cjs} +252 -2100
- package/dist/chunk-SQC26VQV.cjs.map +1 -0
- package/dist/{chunk-K2LVZ4FA.cjs → chunk-XFYUFVAX.cjs} +3 -3
- package/dist/{chunk-K2LVZ4FA.cjs.map → chunk-XFYUFVAX.cjs.map} +1 -1
- package/dist/chunk-ZFBBVGCI.js +1895 -0
- package/dist/chunk-ZFBBVGCI.js.map +1 -0
- package/dist/commands/index.cjs +93 -11
- package/dist/commands/index.cjs.map +1 -1
- package/dist/commands/index.d.cts +9 -7
- package/dist/commands/index.d.ts +9 -7
- package/dist/commands/index.js +92 -10
- package/dist/commands/index.js.map +1 -1
- package/dist/extensions/index.cjs +3 -2
- package/dist/extensions/index.cjs.map +1 -1
- package/dist/extensions/index.d.cts +3 -2
- package/dist/extensions/index.d.ts +3 -2
- package/dist/extensions/index.js +2 -1
- package/dist/generation/index.cjs +2 -2
- package/dist/generation/index.js +1 -1
- package/dist/{index-jwJ_onWf.d.ts → index-CSUCQYAH.d.ts} +23 -2
- package/dist/{index-CfOQf70b.d.cts → index-QrqMmZ75.d.cts} +23 -2
- package/dist/index.cjs +12 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +9 -3
- package/dist/index.d.ts +9 -3
- package/dist/index.js +26 -23
- package/dist/index.js.map +1 -1
- package/dist/parameters/index.d.cts +1 -1
- package/dist/parameters/index.d.ts +1 -1
- package/dist/{registry-vz6HOiiy.d.cts → registry-CaR7LC6W.d.cts} +2 -0
- package/dist/{registry-BfVD-vVg.d.ts → registry-rVtFJjRM.d.ts} +2 -0
- package/dist/spreadsheet/index.cjs +5 -3
- package/dist/spreadsheet/index.cjs.map +1 -1
- package/dist/spreadsheet/index.js +24 -22
- package/dist/tools/index.cjs +3 -3
- package/dist/tools/index.js +2 -2
- package/dist/types-BVqWm3d1.d.cts +320 -0
- package/dist/types-BVqWm3d1.d.ts +320 -0
- package/dist/vector/index.d.cts +1 -1
- package/dist/vector/index.d.ts +1 -1
- package/package.json +3 -2
- package/dist/chunk-EFDCLENW.cjs.map +0 -1
- package/dist/chunk-EWCOFSCQ.cjs.map +0 -1
- package/dist/chunk-N4MLNJPO.cjs.map +0 -1
- package/dist/chunk-Q25ZS4F7.js.map +0 -1
- package/dist/chunk-U7VGDSNY.cjs.map +0 -1
- package/dist/chunk-ZRNHGAQT.js.map +0 -1
- /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-
|
|
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":"AAAA;AC6CA,SAAS,MAAA,CAAO,KAAA,EAA8C;AAC7D,EAAA,GAAA,CAAI,MAAA,IAAU,IAAA,EAAM,OAAO,MAAA;AAC3B,EAAA,GAAA,CAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG,OAAO,OAAA;AACjC,EAAA,GAAA,CAAI,OAAO,MAAA,IAAU,QAAA,EAAU,OAAO,MAAA,CAAO,SAAA,CAAU,KAAK,EAAA,EAAI,UAAA,EAAY,QAAA;AAC5E,EAAA,GAAA,CAAI,OAAO,MAAA,IAAU,SAAA,GAAY,OAAO,MAAA,IAAU,UAAA,GAAa,OAAO,MAAA,IAAU,QAAA,EAAU;AACzF,IAAA,OAAO,OAAO,KAAA;AAAA,EACf;AACA,EAAA,OAAO,WAAA;AACR;AAEA,SAAS,WAAA,CAAY,KAAA,EAAgB,IAAA,EAA+B;AACnE,EAAA,MAAM,OAAA,EAAS,MAAA,CAAO,KAAK,CAAA;AAC3B,EAAA,GAAA,CAAI,KAAA,IAAS,QAAA,EAAU,OAAO,OAAA,IAAW,SAAA,GAAY,OAAA,IAAW,SAAA;AAChE,EAAA,OAAO,OAAA,IAAW,IAAA;AACnB;AAEA,IAAM,QAAA,EAAU,CAAC,CAAA,EAAY,CAAA,EAAA,GAAe,EAAA,IAAM,EAAA,GAAK,IAAA,CAAK,SAAA,CAAU,CAAC,EAAA,IAAM,IAAA,CAAK,SAAA,CAAU,CAAC,CAAA;AAG7F,SAAS,UAAA,CAAW,GAAA,EAAa,IAAA,EAA0C;AAC1E,EAAA,GAAA,CAAI,IAAA,IAAQ,GAAA,EAAK,OAAO,IAAA;AACxB,EAAA,GAAA,CAAI,CAAC,GAAA,CAAI,UAAA,CAAW,IAAI,CAAA,EAAG,OAAO,KAAA,CAAA;AAClC,EAAA,IAAI,KAAA,EAAgB,IAAA;AACpB,EAAA,IAAA,CAAA,MAAW,IAAA,GAAO,GAAA,CAAI,KAAA,CAAM,CAAC,CAAA,CAAE,KAAA,CAAM,GAAG,CAAA,EAAG;AAC1C,IAAA,MAAM,IAAA,EAAM,kBAAA,CAAmB,GAAG,CAAA,CAAE,OAAA,CAAQ,KAAA,EAAO,GAAG,CAAA,CAAE,OAAA,CAAQ,KAAA,EAAO,GAAG,CAAA;AAC1E,IAAA,GAAA,CAAI,CAAC,KAAA,GAAQ,OAAO,KAAA,IAAS,QAAA,EAAU,OAAO,KAAA,CAAA;AAC9C,IAAA,KAAA,EAAQ,IAAA,CAAiC,GAAG,CAAA;AAAA,EAC7C;AACA,EAAA,OAAO,KAAA,GAAQ,OAAO,KAAA,IAAS,SAAA,EAAY,KAAA,EAAsB,KAAA,CAAA;AAClE;AAGA,IAAM,cAAA,EAAgB,EAAA;AAgBf,SAAS,kBAAA,CACf,KAAA,EACA,MAAA,EACA,KAAA,EAAO,EAAA,EACP,KAAA,EAA+B,MAAA,EAC/B,SAAA,EAAW,CAAA,EACe;AAC1B,EAAA,GAAA,CAAI,CAAC,OAAA,GAAU,OAAO,OAAA,IAAW,QAAA,EAAU,OAAO,CAAC,CAAA;AACnD,EAAA,MAAM,OAAA,EAAkC,CAAC,CAAA;AACzC,EAAA,MAAM,GAAA,EAAK,KAAA,GAAQ,GAAA;AACnB,EAAA,MAAM,QAAA,EAAU,CAAC,KAAA,EAAgB,WAAA,EAAqC,SAAA,EAAA,GACrE,kBAAA,CAAmB,KAAA,EAAO,WAAA,EAAa,SAAA,EAAW,IAAA,EAAM,QAAQ,CAAA;AAEjE,EAAA,GAAA,CAAI,OAAO,MAAA,CAAO,KAAA,IAAS,QAAA,EAAU;AACpC,IAAA,MAAM,OAAA,EAAS,KAAA,EAAO,UAAA,CAAW,MAAA,CAAO,IAAA,EAAM,IAAI,EAAA,EAAI,KAAA,CAAA;AACtD,IAAA,GAAA,CAAI,CAAC,MAAA,EAAQ;AACZ,MAAA,MAAA,CAAO,IAAA,CAAK,EAAE,IAAA,EAAM,EAAA,EAAI,OAAA,EAAS,CAAA,8BAAA,EAAiC,MAAA,CAAO,IAAI,CAAA,CAAA,EAAI,CAAC,CAAA;AAAA,IACnF,EAAA,KAAA,GAAA,CAAW,SAAA,GAAY,aAAA,EAAe;AACrC,MAAA,MAAA,CAAO,IAAA,CAAK,EAAE,IAAA,EAAM,EAAA,EAAI,OAAA,EAAS,CAAA,iBAAA,EAAoB,MAAA,CAAO,IAAI,CAAA,sBAAA,EAAyB,CAAC,CAAA;AAAA,IAC3F,EAAA,KAAO;AACN,MAAA,MAAA,CAAO,IAAA,CAAK,GAAG,kBAAA,CAAmB,KAAA,EAAO,MAAA,EAAQ,IAAA,EAAM,IAAA,EAAM,SAAA,EAAW,CAAC,CAAC,CAAA;AAAA,IAC3E;AAAA,EAED;AAEA,EAAA,GAAA,CAAI,MAAA,CAAO,KAAA,EAAO;AACjB,IAAA,IAAA,CAAA,MAAW,OAAA,GAAU,MAAA,CAAO,KAAA,EAAO,MAAA,CAAO,IAAA,CAAK,GAAG,OAAA,CAAQ,KAAA,EAAO,MAAA,EAAQ,IAAI,CAAC,CAAA;AAAA,EAC/E;AACA,EAAA,GAAA,CAAI,MAAA,CAAO,MAAA,GAAS,MAAA,CAAO,KAAA,EAAO;AACjC,IAAA,MAAM,SAAA,mBAAY,MAAA,CAAO,KAAA,UAAS,MAAA,CAAO,OAAA;AACzC,IAAA,MAAM,QAAA,EAAU,QAAA,CAAS,GAAA,CAAI,CAAC,MAAA,EAAA,GAAW,OAAA,CAAQ,KAAA,EAAO,MAAA,EAAQ,IAAI,CAAC,CAAA;AACrE,IAAA,MAAM,SAAA,EAAW,OAAA,CAAQ,MAAA,CAAO,CAAC,CAAA,EAAA,GAAM,CAAA,CAAE,OAAA,IAAW,CAAC,CAAA,CAAE,MAAA;AACvD,IAAA,GAAA,CAAI,SAAA,IAAa,EAAA,GAAK,OAAA,CAAQ,OAAA,EAAS,CAAA,EAAG;AACzC,MAAA,MAAM,QAAA,EAAU,OAAA,CAAQ,MAAA,CAAO,CAAC,IAAA,EAAM,CAAA,EAAA,GAAO,CAAA,CAAE,OAAA,EAAS,IAAA,CAAK,OAAA,EAAS,EAAA,EAAI,IAAK,CAAA;AAC/E,MAAA,MAAA,CAAO,IAAA;AAAA,QACN,EAAE,IAAA,EAAM,EAAA,EAAI,OAAA,EAAS,CAAA,kCAAA,EAAqC,QAAA,CAAS,MAAM,CAAA,qCAAA,EAAwC,CAAA;AAAA,QACjH,GAAG;AAAA,MACJ,CAAA;AAAA,IACD,EAAA,KAAA,GAAA,CAAW,MAAA,CAAO,MAAA,GAAS,CAAC,MAAA,CAAO,MAAA,GAAS,SAAA,EAAW,CAAA,EAAG;AACzD,MAAA,MAAA,CAAO,IAAA,CAAK,EAAE,IAAA,EAAM,EAAA,EAAI,OAAA,EAAS,CAAA,QAAA,EAAW,QAAQ,CAAA,gCAAA,EAAmC,CAAC,CAAA;AAAA,IACzF;AAAA,EACD;AACA,EAAA,GAAA,CAAI,MAAA,CAAO,IAAA,GAAO,OAAA,CAAQ,KAAA,EAAO,MAAA,CAAO,GAAA,EAAK,IAAI,CAAA,CAAE,OAAA,IAAW,CAAA,EAAG;AAChE,IAAA,MAAA,CAAO,IAAA,CAAK,EAAE,IAAA,EAAM,EAAA,EAAI,OAAA,EAAS,8BAA8B,CAAC,CAAA;AAAA,EACjE;AAEA,EAAA,GAAA,CAAI,MAAA,CAAO,KAAA,IAAS,KAAA,CAAA,EAAW;AAC9B,IAAA,MAAM,MAAA,EAAS,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,IAAI,EAAA,EAAI,MAAA,CAAO,KAAA,EAAO,CAAC,MAAA,CAAO,IAAI,CAAA;AACtE,IAAA,GAAA,CAAI,CAAC,KAAA,CAAM,IAAA,CAAK,CAAC,CAAA,EAAA,GAAM,WAAA,CAAY,KAAA,EAAO,CAAC,CAAC,CAAA,EAAG;AAC9C,MAAA,MAAA,CAAO,IAAA,CAAK,EAAE,IAAA,EAAM,EAAA,EAAI,OAAA,EAAS,CAAA,SAAA,EAAY,KAAA,CAAM,IAAA,CAAK,KAAK,CAAC,CAAA,MAAA,EAAS,MAAA,CAAO,KAAK,CAAC,CAAA,CAAA,EAAI,CAAC,CAAA;AACzF,MAAA,OAAO,MAAA;AAAA,IACR;AAAA,EACD;AACA,EAAA,GAAA,CAAI,MAAA,CAAO,MAAA,IAAU,KAAA,EAAA,GAAa,CAAC,OAAA,CAAQ,KAAA,EAAO,MAAA,CAAO,KAAK,CAAA,EAAG;AAChE,IAAA,MAAA,CAAO,IAAA,CAAK,EAAE,IAAA,EAAM,EAAA,EAAI,OAAA,EAAS,CAAA,SAAA,EAAY,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,KAAK,CAAC,CAAA,CAAA,EAAI,CAAC,CAAA;AAAA,EAC/E;AACA,EAAA,GAAA,CAAI,MAAA,CAAO,KAAA,GAAQ,CAAC,MAAA,CAAO,IAAA,CAAK,IAAA,CAAK,CAAC,MAAA,EAAA,GAAW,OAAA,CAAQ,KAAA,EAAO,MAAM,CAAC,CAAA,EAAG;AACzE,IAAA,MAAA,CAAO,IAAA,CAAK;AAAA,MACX,IAAA,EAAM,EAAA;AAAA,MACN,OAAA,EAAS,CAAA,gBAAA,EAAmB,MAAA,CAAO,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA,EAAA,GAAM,IAAA,CAAK,SAAA,CAAU,CAAC,CAAC,CAAA,CAAE,IAAA,CAAK,IAAI,CAAC,CAAA,MAAA,EAAS,IAAA,CAAK,SAAA,CAAU,KAAK,CAAC,CAAA,CAAA;AAAA,IAC/G,CAAC,CAAA;AAAA,EACF;AAEA,EAAA,GAAA,CAAI,OAAO,MAAA,IAAU,QAAA,EAAU;AAC9B,IAAA,GAAA,CAAI,MAAA,CAAO,UAAA,IAAc,KAAA,EAAA,GAAa,KAAA,CAAM,OAAA,EAAS,MAAA,CAAO,SAAA,EAAW;AACtE,MAAA,MAAA,CAAO,IAAA,CAAK,EAAE,IAAA,EAAM,EAAA,EAAI,OAAA,EAAS,CAAA,iBAAA,EAAoB,MAAA,CAAO,SAAS,CAAA,YAAA,EAAe,CAAC,CAAA;AAAA,IACtF;AACA,IAAA,GAAA,CAAI,MAAA,CAAO,UAAA,IAAc,KAAA,EAAA,GAAa,KAAA,CAAM,OAAA,EAAS,MAAA,CAAO,SAAA,EAAW;AACtE,MAAA,MAAA,CAAO,IAAA,CAAK,EAAE,IAAA,EAAM,EAAA,EAAI,OAAA,EAAS,CAAA,gBAAA,EAAmB,MAAA,CAAO,SAAS,CAAA,YAAA,EAAe,CAAC,CAAA;AAAA,IACrF;AACA,IAAA,GAAA,CAAI,MAAA,CAAO,QAAA,IAAY,KAAA,CAAA,EAAW;AACjC,MAAA,IAAI,MAAA,EAAuB,IAAA;AAC3B,MAAA,IAAI;AACH,QAAA,MAAA,EAAQ,IAAI,MAAA,CAAO,MAAA,CAAO,OAAA,EAAS,GAAG,CAAA;AAAA,MACvC,EAAA,UAAQ;AAAA,MAER;AACA,MAAA,GAAA,CAAI,MAAA,GAAS,CAAC,KAAA,CAAM,IAAA,CAAK,KAAK,CAAA,EAAG;AAChC,QAAA,MAAA,CAAO,IAAA,CAAK,EAAE,IAAA,EAAM,EAAA,EAAI,OAAA,EAAS,CAAA,mBAAA,EAAsB,MAAA,CAAO,OAAO,CAAA,CAAA,EAAI,CAAC,CAAA;AAAA,MAC3E;AAAA,IACD;AAAA,EACD;AAEA,EAAA,GAAA,CAAI,OAAO,MAAA,IAAU,QAAA,EAAU;AAC9B,IAAA,GAAA,CAAI,MAAA,CAAO,QAAA,IAAY,KAAA,EAAA,GAAa,MAAA,EAAQ,MAAA,CAAO,OAAA,EAAS;AAC3D,MAAA,MAAA,CAAO,IAAA,CAAK,EAAE,IAAA,EAAM,EAAA,EAAI,OAAA,EAAS,CAAA,WAAA,EAAc,MAAA,CAAO,OAAO,CAAA,CAAA,EAAI,CAAC,CAAA;AAAA,IACnE;AACA,IAAA,GAAA,CAAI,MAAA,CAAO,QAAA,IAAY,KAAA,EAAA,GAAa,MAAA,EAAQ,MAAA,CAAO,OAAA,EAAS;AAC3D,MAAA,MAAA,CAAO,IAAA,CAAK,EAAE,IAAA,EAAM,EAAA,EAAI,OAAA,EAAS,CAAA,WAAA,EAAc,MAAA,CAAO,OAAO,CAAA,CAAA,EAAI,CAAC,CAAA;AAAA,IACnE;AACA,IAAA,GAAA,CAAI,OAAO,MAAA,CAAO,iBAAA,IAAqB,SAAA,GAAY,MAAA,GAAS,MAAA,CAAO,gBAAA,EAAkB;AACpF,MAAA,MAAA,CAAO,IAAA,CAAK,EAAE,IAAA,EAAM,EAAA,EAAI,OAAA,EAAS,CAAA,UAAA,EAAa,MAAA,CAAO,gBAAgB,CAAA,CAAA,EAAI,CAAC,CAAA;AAAA,IAC3E;AACA,IAAA,GAAA,CAAI,OAAO,MAAA,CAAO,iBAAA,IAAqB,SAAA,GAAY,MAAA,GAAS,MAAA,CAAO,gBAAA,EAAkB;AACpF,MAAA,MAAA,CAAO,IAAA,CAAK,EAAE,IAAA,EAAM,EAAA,EAAI,OAAA,EAAS,CAAA,UAAA,EAAa,MAAA,CAAO,gBAAgB,CAAA,CAAA,EAAI,CAAC,CAAA;AAAA,IAC3E;AACA,IAAA,GAAA,CAAI,MAAA,CAAO,WAAA,IAAe,KAAA,EAAA,GAAa,MAAA,CAAO,WAAA,EAAa,CAAA,EAAG;AAC7D,MAAA,MAAM,SAAA,EAAW,MAAA,EAAQ,MAAA,CAAO,UAAA;AAChC,MAAA,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,SAAA,EAAW,IAAA,CAAK,KAAA,CAAM,QAAQ,CAAC,EAAA,EAAI,IAAA,EAAM;AACrD,QAAA,MAAA,CAAO,IAAA,CAAK,EAAE,IAAA,EAAM,EAAA,EAAI,OAAA,EAAS,CAAA,sBAAA,EAAyB,MAAA,CAAO,UAAU,CAAA,CAAA,EAAI,CAAC,CAAA;AAAA,MACjF;AAAA,IACD;AAAA,EACD;AAEA,EAAA,GAAA,CAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACzB,IAAA,GAAA,CAAI,MAAA,CAAO,SAAA,IAAa,KAAA,EAAA,GAAa,KAAA,CAAM,OAAA,EAAS,MAAA,CAAO,QAAA,EAAU;AACpE,MAAA,MAAA,CAAO,IAAA,CAAK,EAAE,IAAA,EAAM,EAAA,EAAI,OAAA,EAAS,CAAA,mBAAA,EAAsB,MAAA,CAAO,QAAQ,CAAA,OAAA,EAAU,CAAC,CAAA;AAAA,IAClF;AACA,IAAA,GAAA,CAAI,MAAA,CAAO,SAAA,IAAa,KAAA,EAAA,GAAa,KAAA,CAAM,OAAA,EAAS,MAAA,CAAO,QAAA,EAAU;AACpE,MAAA,MAAA,CAAO,IAAA,CAAK,EAAE,IAAA,EAAM,EAAA,EAAI,OAAA,EAAS,CAAA,kBAAA,EAAqB,MAAA,CAAO,QAAQ,CAAA,OAAA,EAAU,CAAC,CAAA;AAAA,IACjF;AACA,IAAA,GAAA,CAAI,MAAA,CAAO,WAAA,EAAa;AACvB,MAAA,MAAM,KAAA,kBAAO,IAAI,GAAA,CAAY,CAAA;AAC7B,MAAA,KAAA,CAAM,OAAA,CAAQ,CAAC,IAAA,EAAM,KAAA,EAAA,GAAU;AAC9B,QAAA,MAAM,IAAA,EAAM,IAAA,CAAK,SAAA,CAAU,IAAI,CAAA;AAC/B,QAAA,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,GAAG,CAAA,EAAG,MAAA,CAAO,IAAA,CAAK,EAAE,IAAA,EAAM,CAAA,EAAA;AAC3B,QAAA;AACZ,MAAA;AACF,IAAA;AACkB,IAAA;AACc,MAAA;AACM,QAAA;AACpC,MAAA;AACF,IAAA;AACD,EAAA;AAEgC,EAAA;AACnB,IAAA;AAC6B,IAAA;AACZ,MAAA;AACW,QAAA;AACvC,MAAA;AACD,IAAA;AACyC,IAAA;AACC,IAAA;AAChB,MAAA;AACF,MAAA;AACQ,QAAA;AACb,MAAA;AACmB,QAAA;AACxB,QAAA;AACS,UAAA;AACkB,UAAA;AACtC,QAAA;AACuB,MAAA;AACa,QAAA;AACtC,MAAA;AACD,IAAA;AACD,EAAA;AAEO,EAAA;AACR;AAGoD;AACjC,EAAA;AACA,EAAA;AAC4B,EAAA;AACV,EAAA;AACnB,IAAA;AACP,IAAA;AAC2B,IAAA;AAClB,MAAA;AACsB,MAAA;AAChC,MAAA;AACR,IAAA;AACD,EAAA;AACmB,EAAA;AACpB;AAGqE;AACzD,EAAA;AACQ,EAAA;AACI,EAAA;AACQ,IAAA;AACR,IAAA;AACd,MAAA;AACQ,MAAA;AAChB,IAAA;AACD,EAAA;AAC2C,EAAA;AAC5C;ADrFgD;AACA;AACA;AACA","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"]}
|