@metamesh/generator-sdk 0.10.0 → 0.11.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/CHANGELOG.md +22 -0
- package/README.md +34 -25
- package/dist/authoring.d.ts +1 -52
- package/dist/authoring.d.ts.map +1 -1
- package/dist/authoring.js +0 -24
- package/dist/authoring.js.map +1 -1
- package/dist/contracts.d.ts +15 -0
- package/dist/contracts.d.ts.map +1 -1
- package/dist/execute-generator.d.ts +14 -23
- package/dist/execute-generator.d.ts.map +1 -1
- package/dist/execute-generator.js +33 -32
- package/dist/execute-generator.js.map +1 -1
- package/dist/generated-parts.d.ts +16 -0
- package/dist/generated-parts.d.ts.map +1 -1
- package/dist/generated-parts.js +155 -67
- package/dist/generated-parts.js.map +1 -1
- package/dist/generator-module.d.ts +20 -17
- package/dist/generator-module.d.ts.map +1 -1
- package/dist/generator-module.js +3 -4
- package/dist/generator-module.js.map +1 -1
- package/dist/generator-package/constants.d.ts +2 -2
- package/dist/generator-package/constants.js +2 -2
- package/dist/generator-package/schemas/manifest.schema.d.ts +1 -1
- package/dist/generator-package/validate-manifest.js +2 -2
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/parameters/preparation.d.ts +8 -6
- package/dist/parameters/preparation.d.ts.map +1 -1
- package/dist/parameters/preparation.js +21 -10
- package/dist/parameters/preparation.js.map +1 -1
- package/dist/parameters.d.ts +1 -1
- package/dist/parameters.d.ts.map +1 -1
- package/dist/parameters.js +1 -1
- package/dist/parameters.js.map +1 -1
- package/dist/parse-generator-module.d.ts +5 -27
- package/dist/parse-generator-module.d.ts.map +1 -1
- package/dist/parse-generator-module.js +29 -96
- package/dist/parse-generator-module.js.map +1 -1
- package/dist/runtime.d.ts +6 -6
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +3 -3
- package/dist/runtime.js.map +1 -1
- package/dist/worker-contracts.d.ts +2 -2
- package/dist/worker-contracts.d.ts.map +1 -1
- package/dist/worker-contracts.js.map +1 -1
- package/package.json +4 -5
|
@@ -1,29 +1,7 @@
|
|
|
1
|
-
import type { GeneratorDefinition
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export interface PreparedBuild<Context, Output> {
|
|
7
|
-
readonly ok: true;
|
|
8
|
-
readonly issues: readonly GeneratorIssue[];
|
|
9
|
-
readonly build: (context: Context) => Output;
|
|
10
|
-
}
|
|
11
|
-
export interface ParsedGeneratorModule<D extends GeneratorDefinition = GeneratorDefinition, Context = unknown, Output = unknown> {
|
|
12
|
-
readonly formatVersion: typeof GENERATOR_PACKAGE_FORMAT_VERSION;
|
|
13
|
-
readonly generatorId: D["id"];
|
|
14
|
-
readonly version: D["version"];
|
|
15
|
-
readonly prepare: (parameters: GeneratorParams<D>, services: GeneratorServices) => PreparedBuild<Context, Output> | {
|
|
16
|
-
readonly ok: false;
|
|
17
|
-
readonly issues: readonly GeneratorIssue<D>[];
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
/** Inspects only the result envelope and issues. The prepared value remains opaque. */
|
|
21
|
-
export declare function parsePreparation<D extends GeneratorDefinition, P>(definition: D, result: unknown): Preparation<D, P>;
|
|
22
|
-
export declare function capturePreparation<D extends GeneratorDefinition, P, Context, Output>(definition: D, result: unknown, build: (prepared: P, context: Context) => Output): PreparedBuild<Context, Output> | {
|
|
23
|
-
readonly ok: false;
|
|
24
|
-
readonly issues: readonly GeneratorIssue<D>[];
|
|
25
|
-
};
|
|
26
|
-
/** Captures the exact format-3 surface; unsupported formats fail before callback invocation. */
|
|
27
|
-
export declare function parseGeneratorModule<D extends GeneratorDefinition, Context = unknown, Output = unknown>(value: unknown, definition: D): ParsedGeneratorModule<D, Context, Output>;
|
|
1
|
+
import type { GeneratorDefinition } from "./contracts.js";
|
|
2
|
+
import type { GeneratorModule, GeneratorProgram } from "./generator-module.js";
|
|
3
|
+
export type ParsedGeneratorModule<D extends GeneratorDefinition = GeneratorDefinition, Program extends GeneratorProgram = GeneratorProgram> = GeneratorModule<D, Program>;
|
|
4
|
+
/** Validates the sole format-4 default module before any author callback can run. */
|
|
5
|
+
export declare function parseGeneratorModule<D extends GeneratorDefinition, Program extends GeneratorProgram = GeneratorProgram>(value: unknown, definition: D): ParsedGeneratorModule<D, Program>;
|
|
28
6
|
export declare function isGeneratorModule<D extends GeneratorDefinition>(value: unknown, definition: D): boolean;
|
|
29
7
|
//# sourceMappingURL=parse-generator-module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-generator-module.d.ts","sourceRoot":"","sources":["../src/parse-generator-module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"parse-generator-module.d.ts","sourceRoot":"","sources":["../src/parse-generator-module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AA2B/E,MAAM,MAAM,qBAAqB,CAC/B,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,EACnD,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,IACjD,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAEhC,qFAAqF;AACrF,wBAAgB,oBAAoB,CAClC,CAAC,SAAS,mBAAmB,EAC7B,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,GAAG,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC,CAyClE;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,mBAAmB,EAC7D,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,CAAC,GACZ,OAAO,CAOT"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { GENERATOR_PACKAGE_FORMAT_VERSION } from "./generator-package/constants.js";
|
|
2
|
-
|
|
3
|
-
const EXPORT_NAMES = ["build", "formatVersion", "generatorId", "prepare", "version"];
|
|
2
|
+
const ENVELOPE_FIELDS = ["formatVersion", "generate", "generatorId", "version"];
|
|
4
3
|
function ownData(value, key) {
|
|
5
4
|
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
6
5
|
if (descriptor === undefined || !("value" in descriptor)) {
|
|
@@ -8,116 +7,50 @@ function ownData(value, key) {
|
|
|
8
7
|
}
|
|
9
8
|
return descriptor.value;
|
|
10
9
|
}
|
|
11
|
-
function
|
|
12
|
-
|
|
13
|
-
// Inspect descriptors rather than calling a then getter on executable output.
|
|
14
|
-
let prototype = value;
|
|
15
|
-
let depth = 0;
|
|
16
|
-
let inspectThen = true;
|
|
17
|
-
while (prototype !== null) {
|
|
18
|
-
if (++depth > 64)
|
|
19
|
-
throw new TypeError(`Generator ${method} output prototype depth exceeds limits.`);
|
|
20
|
-
const descriptor = inspectThen
|
|
21
|
-
? Object.getOwnPropertyDescriptor(prototype, "then")
|
|
22
|
-
: undefined;
|
|
23
|
-
if (prototype === Promise.prototype ||
|
|
24
|
-
(descriptor !== undefined &&
|
|
25
|
-
(!("value" in descriptor) || typeof descriptor.value === "function"))) {
|
|
26
|
-
try {
|
|
27
|
-
// Observe intrinsic Promise rejections without calling executable then methods.
|
|
28
|
-
void Promise.prototype.then.call(value, undefined, () => undefined);
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
// Arbitrary thenables and Promise species failures retain the synchronous misuse error.
|
|
32
|
-
}
|
|
33
|
-
throw new TypeError(`Generator ${method}() must return synchronously.`);
|
|
34
|
-
}
|
|
35
|
-
if (descriptor !== undefined)
|
|
36
|
-
inspectThen = false;
|
|
37
|
-
prototype = Object.getPrototypeOf(prototype);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
10
|
+
function record(value) {
|
|
11
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
40
12
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
throw new TypeError(
|
|
46
|
-
}
|
|
47
|
-
const ok = ownData(result, "ok");
|
|
48
|
-
if (typeof ok !== "boolean")
|
|
49
|
-
throw new TypeError("Generator preparation ok must be boolean.");
|
|
50
|
-
const expected = ok ? ["ok", "value", "issues"] : ["ok", "issues"];
|
|
51
|
-
const keys = Reflect.ownKeys(result);
|
|
52
|
-
if (keys.length !== expected.length ||
|
|
53
|
-
keys.some((key) => typeof key !== "string" || !expected.includes(key))) {
|
|
54
|
-
throw new TypeError("Generator preparation must contain exactly its result fields.");
|
|
13
|
+
function exactFields(value, fields) {
|
|
14
|
+
const keys = Reflect.ownKeys(value).filter((key) => key !== Symbol.toStringTag);
|
|
15
|
+
if (keys.length !== fields.length ||
|
|
16
|
+
keys.some((key) => typeof key !== "string" || !fields.includes(key))) {
|
|
17
|
+
throw new TypeError(`must contain exactly ${fields.join(", ")}`);
|
|
55
18
|
}
|
|
56
|
-
const issues = parseParameterIssues(definition, ownData(result, "issues"));
|
|
57
|
-
const hasError = issues.some(({ severity }) => severity === "error");
|
|
58
|
-
if (ok === hasError) {
|
|
59
|
-
throw new TypeError("Generator preparation success must agree with its validation errors.");
|
|
60
|
-
}
|
|
61
|
-
if (!ok)
|
|
62
|
-
return Object.freeze({ ok: false, issues });
|
|
63
|
-
return Object.freeze({ ok: true, value: ownData(result, "value"), issues });
|
|
64
|
-
}
|
|
65
|
-
export function capturePreparation(definition, result, build) {
|
|
66
|
-
const parsed = parsePreparation(definition, result);
|
|
67
|
-
if (!parsed.ok)
|
|
68
|
-
return parsed;
|
|
69
|
-
let value = parsed.value;
|
|
70
|
-
let available = true;
|
|
71
|
-
return Object.freeze({
|
|
72
|
-
ok: true,
|
|
73
|
-
issues: parsed.issues,
|
|
74
|
-
build(context) {
|
|
75
|
-
if (!available)
|
|
76
|
-
throw new TypeError("Prepared Generator build has already been consumed.");
|
|
77
|
-
available = false;
|
|
78
|
-
const preparedValue = value;
|
|
79
|
-
value = undefined;
|
|
80
|
-
const output = build(preparedValue, context);
|
|
81
|
-
assertSynchronousResult(output, "build");
|
|
82
|
-
return output;
|
|
83
|
-
},
|
|
84
|
-
});
|
|
85
19
|
}
|
|
86
|
-
/**
|
|
20
|
+
/** Validates the sole format-4 default module before any author callback can run. */
|
|
87
21
|
export function parseGeneratorModule(value, definition) {
|
|
88
22
|
try {
|
|
89
|
-
if (
|
|
23
|
+
if (!record(value))
|
|
90
24
|
throw new TypeError("must be an object");
|
|
25
|
+
let envelope = value;
|
|
26
|
+
if (Object.hasOwn(value, "default")) {
|
|
27
|
+
exactFields(value, ["default"]);
|
|
28
|
+
const exported = ownData(value, "default");
|
|
29
|
+
if (!record(exported))
|
|
30
|
+
throw new TypeError("default must be a module envelope");
|
|
31
|
+
envelope = exported;
|
|
91
32
|
}
|
|
92
|
-
|
|
33
|
+
exactFields(envelope, ENVELOPE_FIELDS);
|
|
34
|
+
if (ownData(envelope, "formatVersion") !== GENERATOR_PACKAGE_FORMAT_VERSION) {
|
|
93
35
|
throw new TypeError(`unsupported formatVersion; expected ${GENERATOR_PACKAGE_FORMAT_VERSION}`);
|
|
94
36
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
.sort((left, right) => String(left).localeCompare(String(right)));
|
|
98
|
-
if (names.length !== EXPORT_NAMES.length ||
|
|
99
|
-
names.some((name, index) => name !== EXPORT_NAMES[index])) {
|
|
100
|
-
throw new TypeError(`must export exactly ${EXPORT_NAMES.join(", ")}`);
|
|
101
|
-
}
|
|
102
|
-
const generatorId = ownData(value, "generatorId");
|
|
103
|
-
const version = ownData(value, "version");
|
|
104
|
-
const prepare = ownData(value, "prepare");
|
|
105
|
-
const build = ownData(value, "build");
|
|
106
|
-
if (generatorId !== definition.id || version !== definition.version) {
|
|
37
|
+
if (ownData(envelope, "generatorId") !== definition.id ||
|
|
38
|
+
ownData(envelope, "version") !== definition.version) {
|
|
107
39
|
throw new TypeError("identity must match the manifest definition");
|
|
108
40
|
}
|
|
109
|
-
|
|
110
|
-
|
|
41
|
+
const program = ownData(envelope, "generate");
|
|
42
|
+
if (!record(program))
|
|
43
|
+
throw new TypeError("generate must be a Modeling program");
|
|
44
|
+
exactFields(program, ["kind", "generate"]);
|
|
45
|
+
if (ownData(program, "kind") !== "metamesh-model" ||
|
|
46
|
+
typeof ownData(program, "generate") !== "function") {
|
|
47
|
+
throw new TypeError("generate must be a Modeling program");
|
|
111
48
|
}
|
|
112
|
-
const typedPrepare = prepare;
|
|
113
|
-
const typedBuild = build;
|
|
114
49
|
return Object.freeze({
|
|
115
50
|
formatVersion: GENERATOR_PACKAGE_FORMAT_VERSION,
|
|
116
51
|
generatorId: definition.id,
|
|
117
52
|
version: definition.version,
|
|
118
|
-
|
|
119
|
-
return capturePreparation(definition, typedPrepare(parameters, services), typedBuild);
|
|
120
|
-
},
|
|
53
|
+
generate: program,
|
|
121
54
|
});
|
|
122
55
|
}
|
|
123
56
|
catch (cause) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-generator-module.js","sourceRoot":"","sources":["../src/parse-generator-module.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AAEpF,
|
|
1
|
+
{"version":3,"file":"parse-generator-module.js","sourceRoot":"","sources":["../src/parse-generator-module.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { parseGeneratorModule, isGeneratorModule
|
|
2
|
-
export type { ParsedGeneratorModule
|
|
3
|
-
export {
|
|
4
|
-
export type {
|
|
5
|
-
export { parseGeneratedParts } from "./generated-parts.js";
|
|
1
|
+
export { parseGeneratorModule, isGeneratorModule } from "./parse-generator-module.js";
|
|
2
|
+
export type { ParsedGeneratorModule } from "./parse-generator-module.js";
|
|
3
|
+
export { executeGenerator, generationIssues } from "./execute-generator.js";
|
|
4
|
+
export type { ExecuteGeneratorOptions, GeneratorExecutionResult, GeneratorExecutionInvalid, GeneratorExecutionGenerated, } from "./execute-generator.js";
|
|
5
|
+
export { GeneratedPartsDecoder, parseGeneratedParts } from "./generated-parts.js";
|
|
6
6
|
export type { GeneratedPartsLimits } from "./generated-parts.js";
|
|
7
|
-
export type { GeneratedPart, GeneratedModel, ModelBounds, ModelStats, ModelTimings, MeshTopologyMode, } from "./contracts.js";
|
|
7
|
+
export type { GeneratedPart, GeneratedModel, GeneratedModelDelivery, GeneratedPartDelivery, ModelBounds, ModelStats, ModelTimings, MeshTopologyMode, } from "./contracts.js";
|
|
8
8
|
export type * from "./worker-contracts.js";
|
|
9
9
|
export { parseGenerationSentAt } from "./worker-contracts.js";
|
|
10
10
|
//# sourceMappingURL=runtime.d.ts.map
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACtF,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,YAAY,EACV,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAClF,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,YAAY,EACV,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,mBAAmB,uBAAuB,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/runtime.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { parseGeneratorModule, isGeneratorModule
|
|
2
|
-
export {
|
|
3
|
-
export { parseGeneratedParts } from "./generated-parts.js";
|
|
1
|
+
export { parseGeneratorModule, isGeneratorModule } from "./parse-generator-module.js";
|
|
2
|
+
export { executeGenerator, generationIssues } from "./execute-generator.js";
|
|
3
|
+
export { GeneratedPartsDecoder, parseGeneratedParts } from "./generated-parts.js";
|
|
4
4
|
export { parseGenerationSentAt } from "./worker-contracts.js";
|
|
5
5
|
//# sourceMappingURL=runtime.js.map
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEtF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAO5E,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAalF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GeneratedModel, MeshTopologyMode, ParameterValidationResult, ParameterValues } from "./contracts.js";
|
|
1
|
+
import type { GeneratedModel, GeneratedModelDelivery, MeshTopologyMode, ParameterValidationResult, ParameterValues } from "./contracts.js";
|
|
2
2
|
import type { GeneratorRuntimeReference } from "./generator-packages.js";
|
|
3
3
|
export interface GenerateRequest {
|
|
4
4
|
readonly type: "generate";
|
|
@@ -33,7 +33,7 @@ export interface ValidationSuccess {
|
|
|
33
33
|
export interface GenerationSuccess {
|
|
34
34
|
readonly type: "generation-success";
|
|
35
35
|
readonly requestId: number;
|
|
36
|
-
readonly model:
|
|
36
|
+
readonly model: GeneratedModelDelivery;
|
|
37
37
|
/** High-resolution epoch milliseconds captured immediately before posting the completed model. */
|
|
38
38
|
readonly sentAt: number;
|
|
39
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-contracts.d.ts","sourceRoot":"","sources":["../src/worker-contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,yBAAyB,EACzB,eAAe,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEzE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;CACtC;AAED,MAAM,WAAW,gBAAgB;IAC/B,0FAA0F;IAC1F,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"worker-contracts.d.ts","sourceRoot":"","sources":["../src/worker-contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-contracts.js","sourceRoot":"","sources":["../src/worker-contracts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker-contracts.js","sourceRoot":"","sources":["../src/worker-contracts.ts"],"names":[],"mappings":"AAmDA,oGAAoG;AACpG,MAAM,UAAU,qBAAqB,CAAC,QAAiB;IACrD,MAAM,UAAU,GACd,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3E,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACrD,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,KAAK,GACT,UAAU,KAAK,SAAS,IAAI,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamesh/generator-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "Portable contracts and helpers for MetaMesh Generators.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -46,14 +46,13 @@
|
|
|
46
46
|
"registry": "https://registry.npmjs.org/"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"zod": "4.6.
|
|
49
|
+
"zod": "4.6.7"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@metamesh/config": "0.0.0",
|
|
53
|
-
"@vitest/coverage-v8": "^5.0.
|
|
54
|
-
"esbuild": "^0.28.2",
|
|
53
|
+
"@vitest/coverage-v8": "^5.0.5",
|
|
55
54
|
"fast-check": "4.10.2",
|
|
56
|
-
"vitest": "^5.0.
|
|
55
|
+
"vitest": "^5.0.5"
|
|
57
56
|
},
|
|
58
57
|
"scripts": {
|
|
59
58
|
"build": "node ../../scripts/clean-dist.mjs && tsc -p tsconfig.build.json && node scripts/emit-parameter-schema.mjs",
|