@metamesh/generator-sdk 0.7.0 → 0.8.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 (38) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +23 -0
  3. package/dist/contracts.d.ts +6 -0
  4. package/dist/contracts.d.ts.map +1 -1
  5. package/dist/generator-package/constants.d.ts +1 -1
  6. package/dist/generator-package/constants.js +1 -1
  7. package/dist/generator-package/errors.js +1 -1
  8. package/dist/generator-package/errors.js.map +1 -1
  9. package/dist/generator-package/schemas/preset.schema.d.ts.map +1 -1
  10. package/dist/generator-package/schemas/preset.schema.js +5 -2
  11. package/dist/generator-package/schemas/preset.schema.js.map +1 -1
  12. package/dist/generator-package/validate-definition.d.ts.map +1 -1
  13. package/dist/generator-package/validate-definition.js +5 -0
  14. package/dist/generator-package/validate-definition.js.map +1 -1
  15. package/dist/generator-package/validate-manifest.d.ts +2 -2
  16. package/dist/generator-package/validate-manifest.d.ts.map +1 -1
  17. package/dist/generator-package/validate-manifest.js +17 -6
  18. package/dist/generator-package/validate-manifest.js.map +1 -1
  19. package/dist/generator-services.d.ts +12 -0
  20. package/dist/generator-services.d.ts.map +1 -1
  21. package/dist/generator-services.js.map +1 -1
  22. package/dist/index.d.ts +2 -2
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/parameters/issues.d.ts.map +1 -1
  25. package/dist/parameters/issues.js +93 -36
  26. package/dist/parameters/issues.js.map +1 -1
  27. package/dist/parameters/preparation.d.ts.map +1 -1
  28. package/dist/parameters/preparation.js +1 -0
  29. package/dist/parameters/preparation.js.map +1 -1
  30. package/dist/parameters/strict.d.ts +2 -2
  31. package/dist/parameters/strict.d.ts.map +1 -1
  32. package/dist/parameters/strict.js +6 -3
  33. package/dist/parameters/strict.js.map +1 -1
  34. package/dist/profiles.d.ts +8 -0
  35. package/dist/profiles.d.ts.map +1 -1
  36. package/dist/profiles.js +85 -47
  37. package/dist/profiles.js.map +1 -1
  38. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @metamesh/generator-sdk
2
2
 
3
+ ## 0.8.0
4
+
5
+ ### Minor Changes
6
+
7
+ - bf1abe4: Add circular baselines to prepared vector text and Generator text services. Shaped glyphs and attached marks rotate rigidly around a millimetre radius, preserving kerning, ligatures, exact curve bounds and logical advances. Circular text is limited to one line, baseline vertical alignment, less than one revolution, and outlines that stay clear of the circle's center axis.
8
+ - bf1abe4: Complete solid splitting, plane clipping, Section hull/component/simplification operations, minimum-distance
9
+ queries and inspection facts. Add optional bounded geometric solid
10
+ validation at build/export boundaries and a pure uniform-density volume centroid helper.
11
+ Reuse immutable native inspection facts within a build and fresh owned topology analysis during
12
+ solid validation; share checks for identical buffer ranges without trusting mutable external facts.
13
+
14
+ Unify SVG default/preset limits and strict preset metadata checks. Preserve structured validation
15
+ codes and nested paths, add physical mesh assertions, and require runtime 2.1 for the current host
16
+ surface and issue metadata.
17
+
3
18
  ## 0.7.0
4
19
 
5
20
  ### Minor Changes
package/README.md CHANGED
@@ -63,6 +63,9 @@ noncanonical values and return cloned frozen structured values. `prepareParamete
63
63
  once and returns the map with schema issues. Execution aggregates Generator preparation issues
64
64
  separately. Definitions accept only
65
65
  canonical types. SVG values are strings limited to 256 KiB each and 512 KiB per normalized Project.
66
+ The same byte limits apply to defaults and presets. Definition parsing rejects defaults that exceed
67
+ the aggregate Project budget; preset parsing uses each declared control's limits, so an SVG value
68
+ may exceed the separate 64 Ki-character text limit.
66
69
 
67
70
  ```ts
68
71
  import { EMPTY_SVG_PARAMETER_DEFAULT } from "@metamesh/generator-sdk/parameters";
@@ -110,6 +113,8 @@ unavailable references survive codecs, presets, and persistence. Studio prepares
110
113
  millimetres. Keep that layout in the preparation value when checks and construction both need it.
111
114
  Imported `textSection(layout)` consumes it during build. No ambient font provider is bound.
112
115
 
116
+ Text layout can use `baseline: { kind: "arc", radius, centerAngleDegrees, direction }` for a single circular line. Radius is in millimetres, the angle is counterclockwise from +X (default 90°), and direction defaults to clockwise. Alignment defaults to center for arcs; use clockwise at 90° for upright top text or counterclockwise at 270° for upright bottom text. Glyphs and attached marks rotate without distortion. Arc layout requires baseline vertical alignment and less than one full revolution; Generator preparation owns lettering size and face-fit checks. Packages using circular text require runtime `2.1.0` or newer.
117
+
113
118
  ### Validation and bounds
114
119
 
115
120
  `GeneratorDefinition` is callback-free, JSON-safe metadata for forms, manifests, persistence, and
@@ -133,10 +138,24 @@ callback-free. Preparation receives normalized, frozen parameters; malformed iss
133
138
  runtime error. Combined validation retains at most 100 issues, prioritizing errors over warnings
134
139
  and preserving retained order. The reporting limit cannot hide a blocking error.
135
140
 
141
+ Issues may include an optional stable `code` and `path` relative to the parameter value, such as
142
+ `{ code: "minimum", path: [2] }` for an array item or
143
+ `{ code: "invalid", path: ["segments", 0, "control1", "height"] }` for a profile control.
144
+ `ParameterIssueCode` defines the supported categories: `invalid`, `missing`, `type`, `unknown`,
145
+ `minimum`, `maximum`, `integer`, `choice`, `duplicate`, `length`, `bytes`, and `structure`.
146
+ Schema validation supplies codes and nested locations; strict decoder paths start with the
147
+ parameter ID. Authored issues retain their optional metadata through preparation and transfer.
148
+ Issue parsing clones and freezes paths, bounds them to 32 segments, accepts non-negative safe
149
+ integer indices and non-empty field names of at most 120 characters, and never evaluates accessors.
150
+ Both fields are optional; issues always retain their required severity and message.
151
+
136
152
  Use `getDefaultParameters(definition)` for a fresh frozen defaults map. IDs are bounded safe keys.
137
153
  Package manifests, definitions, descriptors, conditions, and nested parameter objects reject unknown fields.
138
154
  Definitions are bounded to 64 groups and 256 parameters, arrays to 1,024 items, options to 512,
139
155
  presets to 256, and condition composition to 8 levels with 32 children per node.
156
+ `validateGeneratorPresets()` from `/packages` applies the same strict metadata and list bounds as
157
+ manifest parsing before checking complete canonical parameter maps. Testkit and bundled registries
158
+ use that shared validator.
140
159
 
141
160
  ### Editable side profiles
142
161
 
@@ -284,6 +303,10 @@ viewport presentation. Geometric/manufacturing validation belongs to the shared
284
303
  Package format `1`, runtime major `1`, retired `validate/generate` module exports and extra exports
285
304
  reject explicitly. No compatibility adapter or preparation cache remains.
286
305
 
306
+ Packages using the current modeling operations and Section overloads, `holeCutter()`, or optional
307
+ issue `code`/`path` metadata must declare minimum runtime `2.1.0`. Package format and execution
308
+ protocol major remain `2`. The manifest minimum must cover the host capabilities the package uses.
309
+
287
310
  ## Worker boundary
288
311
 
289
312
  Worker requests/responses are `/runtime` contracts containing structured data and transferable
@@ -36,10 +36,16 @@ export type GeneratorParams<D extends GeneratorDefinition> = {
36
36
  /** The declared parameter ID union for a Generator definition. */
37
37
  export type GeneratorParamId<D extends GeneratorDefinition> = Extract<D["parameters"][number]["id"], string>;
38
38
  export type ParameterIssueSeverity = "error" | "warning";
39
+ /** Stable machine-readable categories shared by schema, authoring and strict decoding. */
40
+ export type ParameterIssueCode = "invalid" | "missing" | "type" | "unknown" | "minimum" | "maximum" | "integer" | "choice" | "duplicate" | "length" | "bytes" | "structure";
39
41
  export interface ParameterIssue {
40
42
  readonly severity: ParameterIssueSeverity;
41
43
  readonly parameterId?: string | undefined;
42
44
  readonly message: string;
45
+ /** Optional stable category; messages remain suitable for existing hosts. */
46
+ readonly code?: ParameterIssueCode | undefined;
47
+ /** Location relative to this parameter value; omitted or empty means the whole value. */
48
+ readonly path?: readonly (number | string)[] | undefined;
43
49
  }
44
50
  /** A validation issue whose optional parameter ID is tied to one definition. */
45
51
  export type GeneratorIssue<D extends GeneratorDefinition = GeneratorDefinition> = Omit<ParameterIssue, "parameterId"> & {
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,YAAY,EACV,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,EAC9B,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACnB,cAAc,EACd,0BAA0B,EAC1B,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAElC,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7D,MAAM,MAAM,cAAc,GACxB,oBAAoB,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,GAAG,aAAa,GAAG,YAAY,CAAC;AAE9F,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;AAEvE,KAAK,iBAAiB,CAAC,SAAS,SAAS,mBAAmB,IAAI,SAAS,SAAS;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,GACG,aAAa,GACb,SAAS,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5C,YAAY,GACZ,SAAS,SAAS;IACd,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACpC,GACD,MAAM,GACN,SAAS,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5C,OAAO,GACP,SAAS,SAAS;IACd,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7E,GACD,KAAK,GACL,SAAS,SAAS;IACd,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7E,GACD,SAAS,KAAK,EAAE,GAChB,SAAS,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,KAAK,CAAA;CAAE,GACvE,KAAK,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GACvC,SAAS,MAAM,EAAE,GACjB,SAAS,MAAM,EAAE,GACnB,MAAM,CAAC;AAEvB,6EAA6E;AAC7E,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,mBAAmB,IAAI;IAC3D,QAAQ,EAAE,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC;CACjG,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,mBAAmB,IAAI,OAAO,CACnE,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAC7B,MAAM,CACP,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzD,0FAA0F;AAC1F,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,SAAS,GACT,MAAM,GACN,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,OAAO,GACP,WAAW,CAAC;AAEhB,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC/C,yFAAyF;IACzF,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC;CAC1D;AAED,gFAAgF;AAChF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,IAAI,IAAI,CACpF,cAAc,EACd,aAAa,CACd,GAAG;IACF,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CACxD,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;CAC9C;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB;IAClF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;CAC9C;AAED,MAAM,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CAC7C;AAED,gGAAgG;AAChG,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,wFAAwF;IACxF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,2FAA2F;IAC3F,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,+FAA+F;AAC/F,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,WAAW,CAAC;AAExD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,4DAA4D;IAC5D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;CAC9C"}
@@ -1,4 +1,4 @@
1
- export declare const METAMESH_RUNTIME_VERSION = "2.0.0";
1
+ export declare const METAMESH_RUNTIME_VERSION = "2.1.0";
2
2
  export declare const GENERATOR_PACKAGE_FORMAT_VERSION = 2;
3
3
  export declare const MAX_GENERATOR_PACKAGE_BYTES: number;
4
4
  /** Portable metadata limits enforced before package content reaches Studio. */
@@ -1,4 +1,4 @@
1
- export const METAMESH_RUNTIME_VERSION = "2.0.0";
1
+ export const METAMESH_RUNTIME_VERSION = "2.1.0";
2
2
  export const GENERATOR_PACKAGE_FORMAT_VERSION = 2;
3
3
  export const MAX_GENERATOR_PACKAGE_BYTES = 5 * 1024 * 1024;
4
4
  /** Portable metadata limits enforced before package content reaches Studio. */
@@ -17,6 +17,6 @@ export function validationErrorFromZod(context, error) {
17
17
  if (issue === undefined)
18
18
  return new GeneratorPackageValidationError(`${context} is invalid.`);
19
19
  const path = formatPath(issue.path);
20
- return new GeneratorPackageValidationError(`${context}${path === "" ? "" : `.${path}`}: ${issue.message}`);
20
+ return new GeneratorPackageValidationError(`${context}${path === "" ? "" : `${path.startsWith("[") ? "" : "."}${path}`}: ${issue.message}`);
21
21
  }
22
22
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/generator-package/errors.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IACxD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AAED,SAAS,UAAU,CAAC,IAAsB;IACxC,OAAO,IAAI,CAAC,MAAM,CAAS,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QAC7C,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,GAAG,MAAM,IAAI,OAAO,GAAG,CAAC;QAChE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC;IAClD,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAe,EACf,KAAe;IAEf,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,+BAA+B,CAAC,GAAG,OAAO,cAAc,CAAC,CAAC;IAC9F,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,IAAI,+BAA+B,CACxC,GAAG,OAAO,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,CAC/D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/generator-package/errors.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IACxD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AAED,SAAS,UAAU,CAAC,IAAsB;IACxC,OAAO,IAAI,CAAC,MAAM,CAAS,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QAC7C,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,GAAG,MAAM,IAAI,OAAO,GAAG,CAAC;QAChE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC;IAClD,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAe,EACf,KAAe;IAEf,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,+BAA+B,CAAC,GAAG,OAAO,cAAc,CAAC,CAAC;IAC9F,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,IAAI,+BAA+B,CACxC,GAAG,OAAO,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,CAChG,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"preset.schema.d.ts","sourceRoot":"","sources":["../../../src/generator-package/schemas/preset.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,oBAAoB,CAAC;AA4B3E,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,eAAO,MAAM,qBAAqB,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAK3D,CAAC"}
1
+ {"version":3,"file":"preset.schema.d.ts","sourceRoot":"","sources":["../../../src/generator-package/schemas/preset.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,oBAAoB,CAAC;AA8B3E,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,eAAO,MAAM,qBAAqB,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAK3D,CAAC"}
@@ -1,14 +1,17 @@
1
1
  import { z } from "zod";
2
2
  import { isFontSelection } from "../../fonts.js";
3
+ import { MAX_SVG_PARAMETER_BYTES } from "../../parameters/values.js";
3
4
  import { cloneProfileValue, isProfileValue } from "../../profiles.js";
4
5
  import { MAX_ARRAY_ITEMS, MAX_PARAMETERS } from "../constants.js";
5
- import { boundedStringSchema, finiteNumberSchema, nonEmptyStringSchema, safeIdSchema, textParameterStringSchema, } from "./common.schema.js";
6
+ import { boundedStringSchema, finiteNumberSchema, nonEmptyStringSchema, safeIdSchema, } from "./common.schema.js";
6
7
  const parameterValueSchema = z.union([
7
8
  z.custom(isFontSelection),
8
9
  z.custom(isProfileValue).transform(cloneProfileValue),
9
10
  finiteNumberSchema,
10
11
  z.boolean(),
11
- textParameterStringSchema,
12
+ // The definition owns each string's type-specific limit. SVG values may be
13
+ // larger than text; this preliminary bound covers the largest string control.
14
+ z.string().max(MAX_SVG_PARAMETER_BYTES),
12
15
  z.array(finiteNumberSchema).max(MAX_ARRAY_ITEMS),
13
16
  z.array(boundedStringSchema).max(MAX_ARRAY_ITEMS),
14
17
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"preset.schema.js","sourceRoot":"","sources":["../../../src/generator-package/schemas/preset.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAsB,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAqB,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC;IACnC,CAAC,CAAC,MAAM,CAAgB,eAAe,CAAC;IACxC,CAAC,CAAC,MAAM,CAAe,cAAc,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC;IACnE,kBAAkB;IAClB,CAAC,CAAC,OAAO,EAAE;IACX,yBAAyB;IACzB,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC;IAChD,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC;CAClD,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAA+B,CAAC;KACxD,MAAM,CAAC,YAAY,EAAE,oBAAoB,CAAC;KAC1C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,cAAc,EAAE;IAC9D,OAAO,EAAE,uBAAuB,cAAc,aAAa;CAC5D,CAAC,CAAC;AAIL,MAAM,CAAC,MAAM,qBAAqB,GAA+B,CAAC,CAAC,YAAY,CAAC;IAC9E,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAC5C,eAAe,EAAE,qBAAqB;CACvC,CAAC,CAAC"}
1
+ {"version":3,"file":"preset.schema.js","sourceRoot":"","sources":["../../../src/generator-package/schemas/preset.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAsB,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAqB,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC;IACnC,CAAC,CAAC,MAAM,CAAgB,eAAe,CAAC;IACxC,CAAC,CAAC,MAAM,CAAe,cAAc,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC;IACnE,kBAAkB;IAClB,CAAC,CAAC,OAAO,EAAE;IACX,2EAA2E;IAC3E,8EAA8E;IAC9E,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,uBAAuB,CAAC;IACvC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC;IAChD,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC;CAClD,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAA+B,CAAC;KACxD,MAAM,CAAC,YAAY,EAAE,oBAAoB,CAAC;KAC1C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,cAAc,EAAE;IAC9D,OAAO,EAAE,uBAAuB,cAAc,aAAa;CAC5D,CAAC,CAAC;AAIL,MAAM,CAAC,MAAM,qBAAqB,GAA+B,CAAC,CAAC,YAAY,CAAC;IAC9E,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAC5C,eAAe,EAAE,qBAAqB;CACvC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate-definition.d.ts","sourceRoot":"","sources":["../../src/generator-package/validate-definition.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAW1E,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAM5E;AAED,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAQhF;AAED,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAUtF;AAqGD,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAajF;AA2KD,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAyC/E;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAMxE"}
1
+ {"version":3,"file":"validate-definition.d.ts","sourceRoot":"","sources":["../../src/generator-package/validate-definition.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAW1E,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAM5E;AAED,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAQhF;AAED,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAUtF;AAqGD,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAajF;AA2KD,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAiD/E;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAMxE"}
@@ -1,3 +1,4 @@
1
+ import { MAX_PROJECT_SVG_PARAMETER_BYTES, svgParameterBytes } from "../parameters/values.js";
1
2
  import { GeneratorPackageValidationError } from "./errors.js";
2
3
  function fail(path, message) {
3
4
  throw new GeneratorPackageValidationError(`${path}: ${message}`);
@@ -293,6 +294,10 @@ export function validateParameterDefaults(definition) {
293
294
  validateArrayBounds(parameter, path);
294
295
  }
295
296
  });
297
+ const svgDefaultBytes = definition.parameters.reduce((total, parameter) => parameter.type === "svg" ? total + svgParameterBytes(parameter.default) : total, 0);
298
+ if (svgDefaultBytes > MAX_PROJECT_SVG_PARAMETER_BYTES) {
299
+ fail("definition.parameters", "all SVG defaults together must be 512 KiB or smaller");
300
+ }
296
301
  }
297
302
  export function validateDefinition(definition) {
298
303
  validateUniqueGroupIds(definition);
@@ -1 +1 @@
1
- {"version":3,"file":"validate-definition.js","sourceRoot":"","sources":["../../src/generator-package/validate-definition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-definition.js","sourceRoot":"","sources":["../../src/generator-package/validate-definition.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { GeneratorDefinition } from "../contracts.js";
2
2
  import type { GeneratorPackageManifest } from "./schemas/manifest.schema.js";
3
- import type { GeneratorPreset } from "./schemas/preset.schema.js";
4
- /** Validates preset identity, completeness, and canonical parameter normalization. */
3
+ import { type GeneratorPreset } from "./schemas/preset.schema.js";
4
+ /** Validates strict preset metadata, completeness, and canonical parameter normalization. */
5
5
  export declare function validateGeneratorPresets(definition: GeneratorDefinition, presets: readonly GeneratorPreset[], path?: string): void;
6
6
  export declare function validateManifestIdentity(manifest: GeneratorPackageManifest): void;
7
7
  //# sourceMappingURL=validate-manifest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate-manifest.d.ts","sourceRoot":"","sources":["../../src/generator-package/validate-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAMlE,sFAAsF;AACtF,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,mBAAmB,EAC/B,OAAO,EAAE,SAAS,eAAe,EAAE,EACnC,IAAI,SAAY,GACf,IAAI,CAyCN;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAajF"}
1
+ {"version":3,"file":"validate-manifest.d.ts","sourceRoot":"","sources":["../../src/generator-package/validate-manifest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAI3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAQzF,6FAA6F;AAC7F,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,mBAAmB,EAC/B,OAAO,EAAE,SAAS,eAAe,EAAE,EACnC,IAAI,SAAY,GACf,IAAI,CA+CN;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAajF"}
@@ -1,17 +1,25 @@
1
+ import { z } from "zod";
1
2
  import { normalizeParameters, parameterValueEquals, validateParameters } from "../parameters.js";
2
- import { GeneratorPackageValidationError } from "./errors.js";
3
+ import { MAX_GENERATOR_PRESETS } from "./constants.js";
4
+ import { GeneratorPackageValidationError, validationErrorFromZod } from "./errors.js";
5
+ import { generatorPresetSchema } from "./schemas/preset.schema.js";
3
6
  function fail(path, message) {
4
7
  throw new GeneratorPackageValidationError(`${path}: ${message}`);
5
8
  }
6
- /** Validates preset identity, completeness, and canonical parameter normalization. */
9
+ const generatorPresetsSchema = z.array(generatorPresetSchema).max(MAX_GENERATOR_PRESETS);
10
+ /** Validates strict preset metadata, completeness, and canonical parameter normalization. */
7
11
  export function validateGeneratorPresets(definition, presets, path = "presets") {
12
+ const parsed = generatorPresetsSchema.safeParse(presets);
13
+ if (!parsed.success)
14
+ throw validationErrorFromZod(path, parsed.error);
8
15
  const presetIds = new Set();
9
16
  const parameterIds = new Set(definition.parameters.map((parameter) => parameter.id));
10
17
  presets.forEach((preset, presetIndex) => {
11
18
  const presetPath = `${path}[${presetIndex}]`;
12
- if (presetIds.has(preset.id))
13
- fail(`${presetPath}.id`, `duplicate id "${preset.id}"`);
14
- presetIds.add(preset.id);
19
+ const presetId = parsed.data[presetIndex].id;
20
+ if (presetIds.has(presetId))
21
+ fail(`${presetPath}.id`, `duplicate id "${presetId}"`);
22
+ presetIds.add(presetId);
15
23
  const suppliedIds = Object.keys(preset.parameterValues);
16
24
  const unknownId = suppliedIds.find((id) => !parameterIds.has(id));
17
25
  if (unknownId !== undefined) {
@@ -27,7 +35,10 @@ export function validateGeneratorPresets(definition, presets, path = "presets")
27
35
  const issuePath = issue.parameterId === undefined
28
36
  ? `${presetPath}.parameterValues`
29
37
  : `${presetPath}.parameterValues.${issue.parameterId}`;
30
- fail(issuePath, issue.message);
38
+ const nestedPath = (issue.path ?? [])
39
+ .map((segment) => (typeof segment === "number" ? `[${segment}]` : `.${segment}`))
40
+ .join("");
41
+ fail(`${issuePath}${nestedPath}`, issue.message);
31
42
  }
32
43
  const normalized = normalizeParameters(definition, preset.parameterValues);
33
44
  for (const parameter of definition.parameters) {
@@ -1 +1 @@
1
- {"version":3,"file":"validate-manifest.js","sourceRoot":"","sources":["../../src/generator-package/validate-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-manifest.js","sourceRoot":"","sources":["../../src/generator-package/validate-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,+BAA+B,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,EAAE,qBAAqB,EAAwB,MAAM,4BAA4B,CAAC;AAEzF,SAAS,IAAI,CAAC,IAAY,EAAE,OAAe;IACzC,MAAM,IAAI,+BAA+B,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAEzF,6FAA6F;AAC7F,MAAM,UAAU,wBAAwB,CACtC,UAA+B,EAC/B,OAAmC,EACnC,IAAI,GAAG,SAAS;IAEhB,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAErF,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QACtC,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,WAAW,GAAG,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAE,CAAC,EAAE,CAAC;QAC9C,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,IAAI,CAAC,GAAG,UAAU,KAAK,EAAE,iBAAiB,QAAQ,GAAG,CAAC,CAAC;QACpF,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAExB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,UAAU,oBAAoB,SAAS,EAAE,EAAE,iCAAiC,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAC1C,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC,CACpE,EAAE,EAAE,CAAC;QACN,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,UAAU,oBAAoB,SAAS,EAAE,EAAE,aAAa,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,SAAS,GACb,KAAK,CAAC,WAAW,KAAK,SAAS;gBAC7B,CAAC,CAAC,GAAG,UAAU,kBAAkB;gBACjC,CAAC,CAAC,GAAG,UAAU,oBAAoB,KAAK,CAAC,WAAW,EAAE,CAAC;YAC3D,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;iBAClC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;iBAChF,IAAI,CAAC,EAAE,CAAC,CAAC;YACZ,IAAI,CAAC,GAAG,SAAS,GAAG,UAAU,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QAC3E,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YAC9C,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC1F,IAAI,CACF,GAAG,UAAU,oBAAoB,SAAS,CAAC,EAAE,EAAE,EAC/C,uDAAuD,CACxD,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAAkC;IACzE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,yBAAyB,EAAE,2CAA2C,CAAC,CAAC;IAC/E,CAAC;IACD,IACE,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,QAAQ,CAAC,WAAW;QAC/C,QAAQ,CAAC,UAAU,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAChD,CAAC;QACD,MAAM,IAAI,+BAA+B,CACvC,wDAAwD,CACzD,CAAC;IACJ,CAAC;IACD,wBAAwB,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;AAC5F,CAAC"}
@@ -1,4 +1,14 @@
1
1
  import type { FontSelection } from "./fonts.js";
2
+ /** Circular text baseline centered at the XY origin; glyph groups retain their proportions. */
3
+ export interface GeneratorTextArcBaseline {
4
+ readonly kind: "arc";
5
+ /** Baseline radius in millimetres, greater than zero and at most 10000. */
6
+ readonly radius: number;
7
+ /** Alignment datum in degrees counterclockwise from +X; defaults to 90. */
8
+ readonly centerAngleDegrees?: number;
9
+ /** Reading direction; defaults to clockwise. */
10
+ readonly direction?: "clockwise" | "counterclockwise";
11
+ }
2
12
  /** Text layout uses millimetres and prepared catalog fonts, with no runtime network access. */
3
13
  export interface GeneratorTextOptions {
4
14
  readonly font: FontSelection;
@@ -6,6 +16,8 @@ export interface GeneratorTextOptions {
6
16
  readonly letterSpacing?: number;
7
17
  readonly lineHeight?: number;
8
18
  readonly align?: "left" | "center" | "right";
19
+ /** One circular line with baseline vertical alignment; align defaults to center. */
20
+ readonly baseline?: GeneratorTextArcBaseline;
9
21
  readonly verticalAlign?: "baseline" | "top" | "center" | "bottom";
10
22
  }
11
23
  /** Structural mirror of Geometry text metrics, keeping the SDK renderer-independent. */
@@ -1 +1 @@
1
- {"version":3,"file":"generator-services.d.ts","sourceRoot":"","sources":["../src/generator-services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,+FAA+F;AAC/F,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACnE;AAED,wFAAwF;AACxF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACzC,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,iGAAiG;AACjG,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;CACxC;AAED,0FAA0F;AAC1F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE;QACb,6FAA6F;QAC7F,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,mBAAmB,CAAC;KACvF,CAAC;CACH;AAED,8FAA8F;AAC9F,eAAO,MAAM,6BAA6B,EAAE,iBAM1C,CAAC"}
1
+ {"version":3,"file":"generator-services.d.ts","sourceRoot":"","sources":["../src/generator-services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,+FAA+F;AAC/F,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,gDAAgD;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,WAAW,GAAG,kBAAkB,CAAC;CACvD;AAED,+FAA+F;AAC/F,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC7C,oFAAoF;IACpF,QAAQ,CAAC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACnE;AAED,wFAAwF;AACxF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACzC,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,iGAAiG;AACjG,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;CACxC;AAED,0FAA0F;AAC1F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE;QACb,6FAA6F;QAC7F,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,mBAAmB,CAAC;KACvF,CAAC;CACH;AAED,8FAA8F;AAC9F,eAAO,MAAM,6BAA6B,EAAE,iBAM1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"generator-services.js","sourceRoot":"","sources":["../src/generator-services.ts"],"names":[],"mappings":"AAwCA,8FAA8F;AAC9F,MAAM,CAAC,MAAM,6BAA6B,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC5E,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAClB,MAAM,EAAE,GAAwB,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;KACF,CAAC;CACH,CAAC,CAAC"}
1
+ {"version":3,"file":"generator-services.js","sourceRoot":"","sources":["../src/generator-services.ts"],"names":[],"mappings":"AAqDA,8FAA8F;AAC9F,MAAM,CAAC,MAAM,6BAA6B,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC5E,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAClB,MAAM,EAAE,GAAwB,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;KACF,CAAC;CACH,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export type { FontSelection } from "./fonts.js";
9
9
  export { cloneProfileValue, isProfileValue, MAX_PROFILE_SEGMENTS, profileValuesEqual, } from "./profiles.js";
10
10
  export type { ProfileAnchor, ProfilePoint, ProfileSegment, ProfileValue } from "./profiles.js";
11
11
  export { UNPREPARED_GENERATOR_SERVICES } from "./generator-services.js";
12
- export type { GeneratorServices, GeneratorTextLayout, GeneratorTextMetrics, GeneratorTextOptions, } from "./generator-services.js";
12
+ export type { GeneratorServices, GeneratorTextArcBaseline, GeneratorTextLayout, GeneratorTextMetrics, GeneratorTextOptions, } from "./generator-services.js";
13
13
  export type { SourceVisibility } from "./source-visibility.js";
14
- export type { ArrayParameterDefinition, BaseParameterDefinition, BooleanParameterDefinition, ChoiceSetParameterDefinition, ColorParameterDefinition, FontParameterDefinition, GeneratorDefinition, GeneratorIssue, GeneratorParamId, GeneratorParams, GeneratorPreset, NumberArrayItemDefinition, NumberArrayParameterDefinition, NumberParameterDefinition, NumericParameterDefinition, ParameterDefinition, ParameterGroup, ParameterIssue, ParameterIssueSeverity, ParameterValidationResult, ParameterValue, ParameterValues, ProfileParameterDefinition, ProfileScaleReference, ScalarParameterValue, SelectOption, SelectParameterDefinition, SliderParameterDefinition, StringArrayItemDefinition, StringArrayParameterDefinition, SvgParameterDefinition, TextParameterDefinition, } from "./contracts.js";
14
+ export type { ArrayParameterDefinition, BaseParameterDefinition, BooleanParameterDefinition, ChoiceSetParameterDefinition, ColorParameterDefinition, FontParameterDefinition, GeneratorDefinition, GeneratorIssue, GeneratorParamId, GeneratorParams, GeneratorPreset, NumberArrayItemDefinition, NumberArrayParameterDefinition, NumberParameterDefinition, NumericParameterDefinition, ParameterDefinition, ParameterGroup, ParameterIssue, ParameterIssueCode, ParameterIssueSeverity, ParameterValidationResult, ParameterValue, ParameterValues, ProfileParameterDefinition, ProfileScaleReference, ScalarParameterValue, SelectOption, SelectParameterDefinition, SliderParameterDefinition, StringArrayItemDefinition, StringArrayParameterDefinition, SvgParameterDefinition, TextParameterDefinition, } from "./contracts.js";
15
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,OAAO,EACP,QAAQ,EACR,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,YAAY,EACV,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,8BAA8B,EAC9B,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,yBAAyB,EACzB,cAAc,EACd,eAAe,EACf,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,OAAO,EACP,QAAQ,EACR,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,YAAY,EACV,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,8BAA8B,EAC9B,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,cAAc,EACd,eAAe,EACf,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/parameters/issues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,yBAAyB,EAC1B,MAAM,iBAAiB,CAAC;AAWzB,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC,eAAO,MAAM,kCAAkC,OAAQ,CAAC;AAMxD,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,OAAO,GACb,SAAS,cAAc,EAAE,CAiM3B;AAED,mGAAmG;AACnG,wBAAgB,wBAAwB,CACtC,GAAG,SAAS,EAAE,SAAS,CAAC,SAAS,cAAc,EAAE,CAAC,EAAE,GACnD,yBAAyB,CAiC3B;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,mBAAmB,EAC/B,KAAK,EAAE,OAAO,GACb,SAAS,cAAc,EAAE,CAuE3B"}
1
+ {"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/parameters/issues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EAEd,yBAAyB,EAC1B,MAAM,iBAAiB,CAAC;AAWzB,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC,eAAO,MAAM,kCAAkC,OAAQ,CAAC;AAkCxD,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,OAAO,GACb,SAAS,cAAc,EAAE,CAuQ3B;AAED,mGAAmG;AACnG,wBAAgB,wBAAwB,CACtC,GAAG,SAAS,EAAE,SAAS,CAAC,SAAS,cAAc,EAAE,CAAC,EAAE,GACnD,yBAAyB,CAiC3B;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,mBAAmB,EAC/B,KAAK,EAAE,OAAO,GACb,SAAS,cAAc,EAAE,CAsG3B"}
@@ -1,18 +1,44 @@
1
1
  import { isFontSelection } from "../fonts.js";
2
2
  import { MAX_ARRAY_ITEMS, MAX_METADATA_TEXT_LENGTH, MAX_PARAMETER_OPTIONS, MAX_TEXT_PARAMETER_LENGTH, } from "../generator-package/constants.js";
3
- import { isProfileValue } from "../profiles.js";
3
+ import { profileValueProblem } from "../profiles.js";
4
4
  import { HEX_COLOR_PATTERN, isRecord, readDenseArray, svgValueFits } from "./values.js";
5
5
  export const MAX_PARAMETER_ISSUES = 100;
6
6
  export const MAX_PARAMETER_ISSUE_MESSAGE_LENGTH = 1_000;
7
- function issue(parameterId, message) {
8
- return { severity: "error", parameterId, message };
7
+ const ISSUE_CODES = {
8
+ invalid: true,
9
+ missing: true,
10
+ type: true,
11
+ unknown: true,
12
+ minimum: true,
13
+ maximum: true,
14
+ integer: true,
15
+ choice: true,
16
+ duplicate: true,
17
+ length: true,
18
+ bytes: true,
19
+ structure: true,
20
+ };
21
+ const MAX_PARAMETER_ISSUE_PATH_LENGTH = 32;
22
+ const MAX_PARAMETER_ISSUE_PATH_SEGMENT_LENGTH = 120;
23
+ function issue(parameterId, message, code = "invalid", path) {
24
+ return {
25
+ severity: "error",
26
+ parameterId,
27
+ message,
28
+ code,
29
+ ...(path === undefined || path.length === 0 ? {} : { path }),
30
+ };
9
31
  }
10
32
  export function validateDefinitionValue(parameter, value) {
11
33
  switch (parameter.type) {
12
- case "profile":
13
- return isProfileValue(value)
34
+ case "profile": {
35
+ const problem = profileValueProblem(value);
36
+ return problem === undefined
14
37
  ? []
15
- : [issue(parameter.id, `${parameter.label} must be a bounded, normalized side outline.`)];
38
+ : [
39
+ issue(parameter.id, `${parameter.label} must be a bounded, normalized side outline.`, problem.code, problem.path),
40
+ ];
41
+ }
16
42
  case "font":
17
43
  return isFontSelection(value)
18
44
  ? []
@@ -20,40 +46,44 @@ export function validateDefinitionValue(parameter, value) {
20
46
  case "number":
21
47
  case "slider": {
22
48
  if (typeof value !== "number" || !Number.isFinite(value)) {
23
- return [issue(parameter.id, `${parameter.label} must be a finite number.`)];
49
+ return [issue(parameter.id, `${parameter.label} must be a finite number.`, "type")];
24
50
  }
25
51
  const issues = [];
26
52
  if (parameter.integer && !Number.isInteger(value)) {
27
- issues.push(issue(parameter.id, `${parameter.label} must be an integer.`));
53
+ issues.push(issue(parameter.id, `${parameter.label} must be an integer.`, "integer"));
28
54
  }
29
55
  if (parameter.min !== undefined && value < parameter.min) {
30
- issues.push(issue(parameter.id, `${parameter.label} must be at least ${parameter.min}.`));
56
+ issues.push(issue(parameter.id, `${parameter.label} must be at least ${parameter.min}.`, "minimum"));
31
57
  }
32
58
  if (parameter.max !== undefined && value > parameter.max) {
33
- issues.push(issue(parameter.id, `${parameter.label} must be at most ${parameter.max}.`));
59
+ issues.push(issue(parameter.id, `${parameter.label} must be at most ${parameter.max}.`, "maximum"));
34
60
  }
35
61
  return issues;
36
62
  }
37
63
  case "boolean":
38
64
  return typeof value === "boolean"
39
65
  ? []
40
- : [issue(parameter.id, `${parameter.label} must be true or false.`)];
66
+ : [issue(parameter.id, `${parameter.label} must be true or false.`, "type")];
41
67
  case "select":
42
68
  return typeof value === "string" && parameter.options.some((option) => option.value === value)
43
69
  ? []
44
- : [issue(parameter.id, `${parameter.label} must be one of its available options.`)];
70
+ : [
71
+ issue(parameter.id, `${parameter.label} must be one of its available options.`, "choice"),
72
+ ];
45
73
  case "choice-set": {
46
74
  if (!Array.isArray(value)) {
47
- return [issue(parameter.id, `${parameter.label} must be a list of available choices.`)];
75
+ return [
76
+ issue(parameter.id, `${parameter.label} must be a list of available choices.`, "type"),
77
+ ];
48
78
  }
49
79
  const issues = [];
50
80
  if (value.length > MAX_PARAMETER_OPTIONS) {
51
- issues.push(issue(parameter.id, `${parameter.label} must include at most ${MAX_PARAMETER_OPTIONS} choices.`));
81
+ issues.push(issue(parameter.id, `${parameter.label} must include at most ${MAX_PARAMETER_OPTIONS} choices.`, "length"));
52
82
  return issues;
53
83
  }
54
84
  const entries = readDenseArray(value, MAX_PARAMETER_OPTIONS);
55
85
  if (entries === undefined) {
56
- issues.push(issue(parameter.id, `${parameter.label} must be a dense list of data values.`));
86
+ issues.push(issue(parameter.id, `${parameter.label} must be a dense list of data values.`, "structure"));
57
87
  return issues;
58
88
  }
59
89
  const knownValues = new Set(parameter.options.map((option) => option.value));
@@ -64,20 +94,20 @@ export function validateDefinitionValue(parameter, value) {
64
94
  break;
65
95
  const entry = entries[index];
66
96
  if (typeof entry !== "string" || !knownValues.has(entry)) {
67
- issues.push(issue(parameter.id, `${parameter.label} choice ${index + 1} must be available.`));
97
+ issues.push(issue(parameter.id, `${parameter.label} choice ${index + 1} must be available.`, "choice", [index]));
68
98
  continue;
69
99
  }
70
100
  if (seen.has(entry)) {
71
- issues.push(issue(parameter.id, `${parameter.label} choices must be unique.`));
101
+ issues.push(issue(parameter.id, `${parameter.label} choices must be unique.`, "duplicate", [index]));
72
102
  continue;
73
103
  }
74
104
  seen.add(entry);
75
105
  }
76
106
  if (parameter.minSelections !== undefined && entries.length < parameter.minSelections) {
77
- issues.push(issue(parameter.id, `${parameter.label} must include at least ${parameter.minSelections} choices.`));
107
+ issues.push(issue(parameter.id, `${parameter.label} must include at least ${parameter.minSelections} choices.`, "length"));
78
108
  }
79
109
  if (parameter.maxSelections !== undefined && entries.length > parameter.maxSelections) {
80
- issues.push(issue(parameter.id, `${parameter.label} must include at most ${parameter.maxSelections} choices.`));
110
+ issues.push(issue(parameter.id, `${parameter.label} must include at most ${parameter.maxSelections} choices.`, "length"));
81
111
  }
82
112
  return issues;
83
113
  }
@@ -87,37 +117,37 @@ export function validateDefinitionValue(parameter, value) {
87
117
  : [issue(parameter.id, `${parameter.label} must be a six-digit hex color.`)];
88
118
  case "text":
89
119
  if (typeof value !== "string") {
90
- return [issue(parameter.id, `${parameter.label} must be text.`)];
120
+ return [issue(parameter.id, `${parameter.label} must be text.`, "type")];
91
121
  }
92
122
  return value.length <= MAX_TEXT_PARAMETER_LENGTH
93
123
  ? []
94
124
  : [
95
- issue(parameter.id, `${parameter.label} must contain at most ${MAX_TEXT_PARAMETER_LENGTH} characters.`),
125
+ issue(parameter.id, `${parameter.label} must contain at most ${MAX_TEXT_PARAMETER_LENGTH} characters.`, "length"),
96
126
  ];
97
127
  case "svg":
98
128
  if (typeof value !== "string")
99
- return [issue(parameter.id, `${parameter.label} must be SVG text.`)];
129
+ return [issue(parameter.id, `${parameter.label} must be SVG text.`, "type")];
100
130
  return svgValueFits(value)
101
131
  ? []
102
- : [issue(parameter.id, `${parameter.label} must be 256 KiB or smaller.`)];
132
+ : [issue(parameter.id, `${parameter.label} must be 256 KiB or smaller.`, "bytes")];
103
133
  case "array": {
104
134
  if (!Array.isArray(value)) {
105
- return [issue(parameter.id, `${parameter.label} must be a list.`)];
135
+ return [issue(parameter.id, `${parameter.label} must be a list.`, "type")];
106
136
  }
107
137
  const issues = [];
108
138
  if (value.length > MAX_ARRAY_ITEMS) {
109
- issues.push(issue(parameter.id, `${parameter.label} must contain at most ${MAX_ARRAY_ITEMS} items.`));
139
+ issues.push(issue(parameter.id, `${parameter.label} must contain at most ${MAX_ARRAY_ITEMS} items.`, "length"));
110
140
  return issues;
111
141
  }
112
142
  if (parameter.minItems !== undefined && value.length < parameter.minItems) {
113
- issues.push(issue(parameter.id, `${parameter.label} must contain at least ${parameter.minItems} items.`));
143
+ issues.push(issue(parameter.id, `${parameter.label} must contain at least ${parameter.minItems} items.`, "length"));
114
144
  }
115
145
  if (parameter.maxItems !== undefined && value.length > parameter.maxItems) {
116
- issues.push(issue(parameter.id, `${parameter.label} must contain at most ${parameter.maxItems} items.`));
146
+ issues.push(issue(parameter.id, `${parameter.label} must contain at most ${parameter.maxItems} items.`, "length"));
117
147
  }
118
148
  const entries = readDenseArray(value, MAX_ARRAY_ITEMS);
119
149
  if (entries === undefined) {
120
- issues.push(issue(parameter.id, `${parameter.label} must be a dense list of data values.`));
150
+ issues.push(issue(parameter.id, `${parameter.label} must be a dense list of data values.`, "structure"));
121
151
  return issues;
122
152
  }
123
153
  const inspectedLength = Math.min(value.length, MAX_ARRAY_ITEMS);
@@ -127,25 +157,27 @@ export function validateDefinitionValue(parameter, value) {
127
157
  const item = entries[index];
128
158
  if (parameter.items.type === "string") {
129
159
  if (typeof item !== "string") {
130
- issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be text.`));
160
+ issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be text.`, "type", [
161
+ index,
162
+ ]));
131
163
  }
132
164
  else if (item.length > MAX_METADATA_TEXT_LENGTH) {
133
- issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must contain at most ${MAX_METADATA_TEXT_LENGTH} characters.`));
165
+ issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must contain at most ${MAX_METADATA_TEXT_LENGTH} characters.`, "length", [index]));
134
166
  }
135
167
  continue;
136
168
  }
137
169
  if (typeof item !== "number" || !Number.isFinite(item)) {
138
- issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be a finite number.`));
170
+ issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be a finite number.`, "type", [index]));
139
171
  continue;
140
172
  }
141
173
  if (parameter.items.integer && !Number.isInteger(item)) {
142
- issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be an integer.`));
174
+ issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be an integer.`, "integer", [index]));
143
175
  }
144
176
  if (parameter.items.min !== undefined && item < parameter.items.min) {
145
- issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be at least ${parameter.items.min}.`));
177
+ issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be at least ${parameter.items.min}.`, "minimum", [index]));
146
178
  }
147
179
  if (parameter.items.max !== undefined && item > parameter.items.max) {
148
- issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be at most ${parameter.items.max}.`));
180
+ issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be at most ${parameter.items.max}.`, "maximum", [index]));
149
181
  }
150
182
  }
151
183
  return issues;
@@ -212,7 +244,7 @@ export function parseParameterIssues(definition, value) {
212
244
  if (!isRecord(entry)) {
213
245
  throw new TypeError(`${path} must be an object.`);
214
246
  }
215
- const allowedKeys = new Set(["severity", "parameterId", "message"]);
247
+ const allowedKeys = new Set(["severity", "parameterId", "message", "code", "path"]);
216
248
  let keys;
217
249
  try {
218
250
  keys = Reflect.ownKeys(entry);
@@ -242,6 +274,8 @@ export function parseParameterIssues(definition, value) {
242
274
  const severity = dataField("severity");
243
275
  const message = dataField("message");
244
276
  const parameterId = dataField("parameterId");
277
+ const code = dataField("code");
278
+ const issuePath = dataField("path");
245
279
  if (severity !== "error" && severity !== "warning") {
246
280
  throw new TypeError(`${path}.severity must be "error" or "warning".`);
247
281
  }
@@ -255,7 +289,30 @@ export function parseParameterIssues(definition, value) {
255
289
  (typeof parameterId !== "string" || !parameterIds.has(parameterId))) {
256
290
  throw new TypeError(`${path}.parameterId must identify a declared parameter.`);
257
291
  }
258
- return Object.freeze(parameterId === undefined ? { severity, message } : { severity, parameterId, message });
292
+ if (code !== undefined && (typeof code !== "string" || !Object.hasOwn(ISSUE_CODES, code))) {
293
+ throw new TypeError(`${path}.code must be a supported parameter issue code.`);
294
+ }
295
+ const pathEntries = issuePath === undefined
296
+ ? undefined
297
+ : readDenseArray(issuePath, MAX_PARAMETER_ISSUE_PATH_LENGTH);
298
+ if (issuePath !== undefined &&
299
+ (pathEntries === undefined ||
300
+ !pathEntries.every((segment) => typeof segment === "number"
301
+ ? Number.isSafeInteger(segment) && segment >= 0 && !Object.is(segment, -0)
302
+ : typeof segment === "string" &&
303
+ segment.length > 0 &&
304
+ segment.length <= MAX_PARAMETER_ISSUE_PATH_SEGMENT_LENGTH))) {
305
+ throw new TypeError(`${path}.path must be a bounded dense array of non-negative safe indices or field names.`);
306
+ }
307
+ return Object.freeze({
308
+ severity,
309
+ message,
310
+ ...(parameterId === undefined ? {} : { parameterId }),
311
+ ...(code === undefined ? {} : { code: code }),
312
+ ...(pathEntries === undefined
313
+ ? {}
314
+ : { path: Object.freeze(pathEntries.slice()) }),
315
+ });
259
316
  });
260
317
  return Object.freeze(parsed);
261
318
  }
@@ -1 +1 @@
1
- {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/parameters/issues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/parameters/issues.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"preparation.d.ts","sourceRoot":"","sources":["../../src/parameters/preparation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EAEf,yBAAyB,EAC1B,MAAM,iBAAiB,CAAC;AASzB,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,mBAAmB;IAC/D,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,CAAC,SAAS,mBAAmB,EACnE,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC7C,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,GAC1E,kBAAkB,CAAC,CAAC,CAAC,CA2BvB;AAED,mEAAmE;AACnE,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,CAAC,SAAS,mBAAmB,EACpE,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC7C,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,GAC1E,yBAAyB,CAE3B"}
1
+ {"version":3,"file":"preparation.d.ts","sourceRoot":"","sources":["../../src/parameters/preparation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EAEf,yBAAyB,EAC1B,MAAM,iBAAiB,CAAC;AASzB,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,mBAAmB;IAC/D,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,CAAC,SAAS,mBAAmB,EACnE,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC7C,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,GAC1E,kBAAkB,CAAC,CAAC,CAAC,CA4BvB;AAED,mEAAmE;AACnE,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,CAAC,SAAS,mBAAmB,EACpE,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC7C,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,GAC1E,yBAAyB,CAE3B"}
@@ -17,6 +17,7 @@ export function prepareParameters(definition, parameters, validate) {
17
17
  ? [
18
18
  {
19
19
  severity: "error",
20
+ code: "bytes",
20
21
  message: "All SVG parameters together must be 512 KiB or smaller.",
21
22
  },
22
23
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"preparation.js","sourceRoot":"","sources":["../../src/parameters/preparation.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,+BAA+B,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAO3F;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAa,EACb,UAA6C,EAC7C,QAA2E;IAE3E,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAC/D,uBAAuB,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CACvE,CAAC;IACF,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACjE,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACjD,OAAO,SAAS,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAC1D,CAAC,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;YAClC,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,MAAM,gBAAgB,GACpB,QAAQ,GAAG,+BAA+B;QACxC,CAAC,CAAC;YACE;gBACE,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,yDAAyD;aAC1C;SAC3B;QACH,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,YAAY,GAChB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvF,OAAO;QACL,UAAU,EAAE,UAAU;QACtB,UAAU,EAAE,wBAAwB,CAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,CAAC;KACnF,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,kBAAkB,CAChC,UAAa,EACb,UAA6C,EAC7C,QAA2E;IAE3E,OAAO,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"preparation.js","sourceRoot":"","sources":["../../src/parameters/preparation.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,+BAA+B,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAO3F;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAa,EACb,UAA6C,EAC7C,QAA2E;IAE3E,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAC/D,uBAAuB,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CACvE,CAAC;IACF,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACjE,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACjD,OAAO,SAAS,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAC1D,CAAC,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;YAClC,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,MAAM,gBAAgB,GACpB,QAAQ,GAAG,+BAA+B;QACxC,CAAC,CAAC;YACE;gBACE,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,yDAAyD;aAC1C;SAC3B;QACH,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,YAAY,GAChB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvF,OAAO;QACL,UAAU,EAAE,UAAU;QACtB,UAAU,EAAE,wBAAwB,CAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,CAAC;KACnF,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,kBAAkB,CAChC,UAAa,EACb,UAA6C,EAC7C,QAA2E;IAE3E,OAAO,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC;AACxE,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { GeneratorDefinition, GeneratorParams } from "../contracts.js";
2
- export type ParamDecodeCode = "invalid" | "missing" | "type" | "unknown";
1
+ import type { GeneratorDefinition, GeneratorParams, ParameterIssueCode } from "../contracts.js";
2
+ export type ParamDecodeCode = ParameterIssueCode;
3
3
  export interface ParamDecodeIssue {
4
4
  readonly code: ParamDecodeCode;
5
5
  readonly parameterId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"strict.d.ts","sourceRoot":"","sources":["../../src/parameters/strict.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAkB,MAAM,iBAAiB,CAAC;AAe5F,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAEzE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC1B;IAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAC5C;IAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAA;CAAE,CAAC;AAE9E,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,mBAAmB;IACvD,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9E;AAED,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;gBAEjC,MAAM,EAAE,SAAS,gBAAgB,EAAE;CAKhD;AA2BD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,mBAAmB,EAClE,UAAU,EAAE,CAAC,GACZ,UAAU,CAAC,CAAC,CAAC,CA6Gf"}
1
+ {"version":3,"file":"strict.d.ts","sourceRoot":"","sources":["../../src/parameters/strict.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAEnB,MAAM,iBAAiB,CAAC;AAezB,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC1B;IAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAC5C;IAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAA;CAAE,CAAC;AAE9E,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,mBAAmB;IACvD,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9E;AAED,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;gBAEjC,MAAM,EAAE,SAAS,gBAAgB,EAAE;CAKhD;AA8BD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,mBAAmB,EAClE,UAAU,EAAE,CAAC,GACZ,UAAU,CAAC,CAAC,CAAC,CAkHf"}
@@ -26,7 +26,10 @@ function valueMatchesCanonical(value, canonical) {
26
26
  return canonical.every((entry, index) => Object.is(entry, entries[index]));
27
27
  }
28
28
  function decodeIssue(code, path, message, parameterId) {
29
- return parameterId === undefined ? { code, path, message } : { code, path, parameterId, message };
29
+ const frozenPath = Object.freeze([...path]);
30
+ return parameterId === undefined
31
+ ? { code, path: frozenPath, message }
32
+ : { code, path: frozenPath, parameterId, message };
30
33
  }
31
34
  function appendDecodeIssue(issues, next) {
32
35
  if (issues.length < MAX_PARAMETER_ISSUES)
@@ -75,7 +78,7 @@ export function createParamCodec(definition) {
75
78
  const value = descriptor.value;
76
79
  const fieldIssues = validateDefinitionValue(parameter, value);
77
80
  for (const fieldIssue of fieldIssues) {
78
- appendDecodeIssue(issues, decodeIssue("invalid", [parameter.id], fieldIssue.message, parameter.id));
81
+ appendDecodeIssue(issues, decodeIssue(fieldIssue.code ?? "invalid", [parameter.id, ...(fieldIssue.path ?? [])], fieldIssue.message, parameter.id));
79
82
  }
80
83
  if (fieldIssues.length > 0)
81
84
  continue;
@@ -93,7 +96,7 @@ export function createParamCodec(definition) {
93
96
  ]);
94
97
  }
95
98
  if (svgBytes > MAX_PROJECT_SVG_PARAMETER_BYTES && issues.length < MAX_PARAMETER_ISSUES) {
96
- appendDecodeIssue(issues, decodeIssue("invalid", [], "All SVG parameters together must be 512 KiB or smaller."));
99
+ appendDecodeIssue(issues, decodeIssue("bytes", [], "All SVG parameters together must be 512 KiB or smaller."));
97
100
  }
98
101
  if (issues.length > 0) {
99
102
  return { success: false, issues: Object.freeze(issues) };
@@ -1 +1 @@
1
- {"version":3,"file":"strict.js","sourceRoot":"","sources":["../../src/parameters/strict.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strict.js","sourceRoot":"","sources":["../../src/parameters/strict.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { ParameterIssueCode } from "./contracts.js";
1
2
  /** Maximum number of straight or cubic segments in an editable side profile. */
2
3
  export declare const MAX_PROFILE_SEGMENTS = 31;
3
4
  /** Normalized radius and upward height; both coordinates lie between zero and one. */
@@ -24,10 +25,17 @@ export interface ProfileValue {
24
25
  readonly start: ProfileAnchor;
25
26
  readonly segments: readonly ProfileSegment[];
26
27
  }
28
+ interface ProfileValueProblem {
29
+ readonly code: ParameterIssueCode;
30
+ readonly path: readonly (number | string)[];
31
+ }
32
+ /** Internal diagnostics use the same accessor-safe reader as profile cloning and predicates. */
33
+ export declare function profileValueProblem(value: unknown): ProfileValueProblem | undefined;
27
34
  /** Strictly checks portable profile data without evaluating getters or invoking curve libraries. */
28
35
  export declare function isProfileValue(value: unknown): value is ProfileValue;
29
36
  /** Returns a fresh, deeply frozen portable profile, including its editing intent. */
30
37
  export declare function cloneProfileValue(value: ProfileValue): ProfileValue;
31
38
  /** Compares the serialized shape and editing intent rather than object identity. */
32
39
  export declare function profileValuesEqual(previous: ProfileValue, next: ProfileValue): boolean;
40
+ export {};
33
41
  //# sourceMappingURL=profiles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,sFAAsF;AACtF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,wEAAwE;AACxE,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC7C;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAA;CAAE,GACtD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;CAC7B,CAAC;AAEN,iFAAiF;AACjF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;CAC9C;AAgID,oGAAoG;AACpG,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CA0BnE;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CA8BtF"}
1
+ {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,sFAAsF;AACtF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,wEAAwE;AACxE,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC7C;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAA;CAAE,GACtD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;CAC7B,CAAC;AAEN,iFAAiF;AACjF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;CAC9C;AAED,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAC7C;AAmLD,gGAAgG;AAChG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,GAAG,SAAS,CAMnF;AAED,oGAAoG;AACpG,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CA0BnE;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CA8BtF"}
package/dist/profiles.js CHANGED
@@ -1,63 +1,80 @@
1
1
  /** Maximum number of straight or cubic segments in an editable side profile. */
2
2
  export const MAX_PROFILE_SEGMENTS = 31;
3
- function dataObject(value, expectedKeys) {
3
+ function dataObject(value, expectedKeys, path, fail) {
4
4
  if (typeof value !== "object" || value === null || Array.isArray(value))
5
- return undefined;
5
+ return fail(path, "type");
6
6
  const prototype = Object.getPrototypeOf(value);
7
7
  if (prototype !== Object.prototype && prototype !== null)
8
- return undefined;
8
+ return fail(path, "structure");
9
9
  const keys = Reflect.ownKeys(value);
10
- if (keys.length !== expectedKeys.length ||
11
- !keys.every((key) => typeof key === "string" && expectedKeys.includes(key))) {
12
- return undefined;
10
+ const unknown = keys.find((key) => typeof key !== "string" || !expectedKeys.includes(key));
11
+ if (unknown !== undefined) {
12
+ return fail(typeof unknown === "string" && unknown.length > 0 && unknown.length <= 120
13
+ ? [...path, unknown]
14
+ : path, "unknown");
13
15
  }
14
16
  const entries = [];
15
17
  for (const key of expectedKeys) {
16
18
  const descriptor = Object.getOwnPropertyDescriptor(value, key);
17
- if (descriptor === undefined || !("value" in descriptor) || !descriptor.enumerable) {
18
- return undefined;
19
- }
19
+ if (descriptor === undefined)
20
+ return fail([...path, key], "missing");
21
+ if (!("value" in descriptor) || !descriptor.enumerable)
22
+ return fail([...path, key], "structure");
20
23
  entries.push([key, descriptor.value]);
21
24
  }
22
25
  return Object.fromEntries(entries);
23
26
  }
24
- function normalizedCoordinate(value) {
25
- return typeof value === "number" && Number.isFinite(value) && value >= 0 && value <= 1;
26
- }
27
- function point(value, anchor) {
28
- const fields = dataObject(value, anchor ? ["radius", "height", "mode"] : ["radius", "height"]);
29
- if (fields === undefined ||
30
- !normalizedCoordinate(fields.radius) ||
31
- !normalizedCoordinate(fields.height)) {
27
+ function point(value, anchor, path, fail) {
28
+ const fields = dataObject(value, anchor ? ["radius", "height", "mode"] : ["radius", "height"], path, fail);
29
+ if (fields === undefined)
32
30
  return undefined;
31
+ for (const coordinate of ["radius", "height"]) {
32
+ const entry = fields[coordinate];
33
+ if (typeof entry !== "number" || !Number.isFinite(entry))
34
+ return fail([...path, coordinate], "type");
35
+ if (entry < 0)
36
+ return fail([...path, coordinate], "minimum");
37
+ if (entry > 1)
38
+ return fail([...path, coordinate], "maximum");
33
39
  }
40
+ const coordinates = { radius: fields.radius, height: fields.height };
34
41
  if (!anchor)
35
- return { radius: fields.radius, height: fields.height };
42
+ return coordinates;
36
43
  if (fields.mode !== "auto" && fields.mode !== "smooth" && fields.mode !== "corner") {
37
- return undefined;
44
+ return fail([...path, "mode"], "choice");
38
45
  }
39
- return { radius: fields.radius, height: fields.height, mode: fields.mode };
46
+ return { ...coordinates, mode: fields.mode };
40
47
  }
41
- function readProfileValue(value) {
48
+ function readProfileValue(value, report) {
49
+ const fail = (path, code) => {
50
+ report?.({ path, code });
51
+ return undefined;
52
+ };
42
53
  try {
43
- const fields = dataObject(value, ["version", "start", "segments"]);
44
- if (fields === undefined || fields.version !== 1)
54
+ const fields = dataObject(value, ["version", "start", "segments"], [], fail);
55
+ if (fields === undefined)
45
56
  return undefined;
46
- const start = point(fields.start, true);
47
- if (start === undefined || start.height !== 0 || !Array.isArray(fields.segments))
57
+ if (fields.version !== 1)
58
+ return fail(["version"], "invalid");
59
+ const start = point(fields.start, true, ["start"], fail);
60
+ if (start === undefined)
48
61
  return undefined;
62
+ if (start.height !== 0)
63
+ return fail(["start", "height"], "invalid");
64
+ if (!Array.isArray(fields.segments))
65
+ return fail(["segments"], "type");
49
66
  const segments = fields.segments;
50
67
  if (Object.getPrototypeOf(segments) !== Array.prototype)
51
- return undefined;
68
+ return fail(["segments"], "structure");
52
69
  const lengthDescriptor = Object.getOwnPropertyDescriptor(segments, "length");
53
70
  if (lengthDescriptor === undefined || !("value" in lengthDescriptor))
54
- return undefined;
71
+ return fail(["segments"], "structure");
55
72
  const length = lengthDescriptor.value;
56
73
  if (typeof length !== "number" ||
57
74
  !Number.isInteger(length) ||
58
75
  length < 1 ||
59
76
  length > MAX_PROFILE_SEGMENTS)
60
- return undefined;
77
+ return fail(["segments"], "length");
61
78
  const keys = Reflect.ownKeys(segments);
62
79
  if (keys.length !== length + 1 ||
63
80
  !keys.every((key) => key === "length"
@@ -67,39 +84,50 @@ function readProfileValue(value) {
67
84
  Number(key) >= 0 &&
68
85
  Number(key) < length &&
69
86
  String(Number(key)) === key)) {
70
- return undefined;
87
+ const missingIndex = Array.from({ length }, (_, index) => index).find((index) => !Object.hasOwn(segments, String(index)));
88
+ return fail(missingIndex === undefined ? ["segments"] : ["segments", missingIndex], missingIndex === undefined ? "structure" : "missing");
71
89
  }
72
90
  const parsedSegments = [];
73
91
  let previousHeight = start.height;
74
92
  for (let index = 0; index < length; index += 1) {
93
+ const segmentPath = ["segments", index];
75
94
  const descriptor = Object.getOwnPropertyDescriptor(segments, String(index));
76
95
  if (descriptor === undefined || !("value" in descriptor) || !descriptor.enumerable)
77
- return undefined;
96
+ return fail(segmentPath, "structure");
78
97
  const segment = descriptor.value;
98
+ if (typeof segment !== "object" || segment === null || Array.isArray(segment))
99
+ return fail(segmentPath, "type");
79
100
  const typeDescriptor = typeof segment === "object" && segment !== null
80
101
  ? Object.getOwnPropertyDescriptor(segment, "type")
81
102
  : undefined;
82
- if (typeDescriptor === undefined || !("value" in typeDescriptor))
83
- return undefined;
103
+ if (typeDescriptor === undefined)
104
+ return fail([...segmentPath, "type"], "missing");
105
+ if (!("value" in typeDescriptor))
106
+ return fail([...segmentPath, "type"], "structure");
84
107
  const type = typeDescriptor.value;
85
108
  if (type !== "line" && type !== "cubic")
109
+ return fail([...segmentPath, "type"], "choice");
110
+ const segmentFields = dataObject(segment, type === "line" ? ["type", "end"] : ["type", "end", "control1", "control2"], segmentPath, fail);
111
+ if (segmentFields === undefined)
86
112
  return undefined;
87
- const segmentFields = dataObject(segment, type === "line" ? ["type", "end"] : ["type", "end", "control1", "control2"]);
88
- if (segmentFields === undefined || segmentFields.type !== type)
89
- return undefined;
90
- const end = point(segmentFields.end, true);
91
- if (end === undefined || end.height <= previousHeight)
113
+ if (segmentFields.type !== type)
114
+ return fail([...segmentPath, "type"], "invalid");
115
+ const end = point(segmentFields.end, true, [...segmentPath, "end"], fail);
116
+ if (end === undefined)
92
117
  return undefined;
118
+ if (end.height <= previousHeight)
119
+ return fail([...segmentPath, "end", "height"], "invalid");
93
120
  if (type === "cubic") {
94
- const control1 = point(segmentFields.control1, false);
95
- const control2 = point(segmentFields.control2, false);
96
- if (control1 === undefined ||
97
- control2 === undefined ||
98
- control1.height < previousHeight ||
99
- control1.height > control2.height ||
100
- control2.height > end.height) {
121
+ const control1 = point(segmentFields.control1, false, [...segmentPath, "control1"], fail);
122
+ if (control1 === undefined)
101
123
  return undefined;
102
- }
124
+ const control2 = point(segmentFields.control2, false, [...segmentPath, "control2"], fail);
125
+ if (control2 === undefined)
126
+ return undefined;
127
+ if (control1.height < previousHeight || control1.height > control2.height)
128
+ return fail([...segmentPath, "control1", "height"], "invalid");
129
+ if (control2.height > end.height)
130
+ return fail([...segmentPath, "control2", "height"], "invalid");
103
131
  parsedSegments.push({ type, control1, control2, end });
104
132
  }
105
133
  else {
@@ -107,12 +135,22 @@ function readProfileValue(value) {
107
135
  }
108
136
  previousHeight = end.height;
109
137
  }
110
- return previousHeight === 1 ? { version: 1, start, segments: parsedSegments } : undefined;
138
+ return previousHeight === 1
139
+ ? { version: 1, start, segments: parsedSegments }
140
+ : fail(["segments", length - 1, "end", "height"], "invalid");
111
141
  }
112
142
  catch {
113
- return undefined;
143
+ return fail([], "structure");
114
144
  }
115
145
  }
146
+ /** Internal diagnostics use the same accessor-safe reader as profile cloning and predicates. */
147
+ export function profileValueProblem(value) {
148
+ let problem;
149
+ const parsed = readProfileValue(value, (entry) => {
150
+ problem = entry;
151
+ });
152
+ return parsed === undefined ? (problem ?? { code: "structure", path: [] }) : undefined;
153
+ }
116
154
  /** Strictly checks portable profile data without evaluating getters or invoking curve libraries. */
117
155
  export function isProfileValue(value) {
118
156
  return readProfileValue(value) !== undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamesh/generator-sdk",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Portable contracts and helpers for MetaMesh Generators.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {