@metamesh/generator-sdk 0.1.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 (96) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/LICENSE +200 -0
  3. package/README.md +187 -0
  4. package/dist/conditions.d.ts +35 -0
  5. package/dist/conditions.d.ts.map +1 -0
  6. package/dist/conditions.js +42 -0
  7. package/dist/conditions.js.map +1 -0
  8. package/dist/contracts.d.ts +160 -0
  9. package/dist/contracts.d.ts.map +1 -0
  10. package/dist/contracts.js +2 -0
  11. package/dist/contracts.js.map +1 -0
  12. package/dist/generated-parts.d.ts +17 -0
  13. package/dist/generated-parts.d.ts.map +1 -0
  14. package/dist/generated-parts.js +179 -0
  15. package/dist/generated-parts.js.map +1 -0
  16. package/dist/generator-module.d.ts +48 -0
  17. package/dist/generator-module.d.ts.map +1 -0
  18. package/dist/generator-module.js +112 -0
  19. package/dist/generator-module.js.map +1 -0
  20. package/dist/generator-package/constants.d.ts +16 -0
  21. package/dist/generator-package/constants.d.ts.map +1 -0
  22. package/dist/generator-package/constants.js +16 -0
  23. package/dist/generator-package/constants.js.map +1 -0
  24. package/dist/generator-package/errors.d.ts +6 -0
  25. package/dist/generator-package/errors.d.ts.map +1 -0
  26. package/dist/generator-package/errors.js +22 -0
  27. package/dist/generator-package/errors.js.map +1 -0
  28. package/dist/generator-package/index.d.ts +29 -0
  29. package/dist/generator-package/index.d.ts.map +1 -0
  30. package/dist/generator-package/index.js +44 -0
  31. package/dist/generator-package/index.js.map +1 -0
  32. package/dist/generator-package/schemas/common.schema.d.ts +13 -0
  33. package/dist/generator-package/schemas/common.schema.d.ts.map +1 -0
  34. package/dist/generator-package/schemas/common.schema.js +33 -0
  35. package/dist/generator-package/schemas/common.schema.js.map +1 -0
  36. package/dist/generator-package/schemas/condition.schema.d.ts +5 -0
  37. package/dist/generator-package/schemas/condition.schema.d.ts.map +1 -0
  38. package/dist/generator-package/schemas/condition.schema.js +27 -0
  39. package/dist/generator-package/schemas/condition.schema.js.map +1 -0
  40. package/dist/generator-package/schemas/definition.schema.d.ts +137 -0
  41. package/dist/generator-package/schemas/definition.schema.d.ts.map +1 -0
  42. package/dist/generator-package/schemas/definition.schema.js +19 -0
  43. package/dist/generator-package/schemas/definition.schema.js.map +1 -0
  44. package/dist/generator-package/schemas/descriptor.schema.d.ts +23 -0
  45. package/dist/generator-package/schemas/descriptor.schema.d.ts.map +1 -0
  46. package/dist/generator-package/schemas/descriptor.schema.js +17 -0
  47. package/dist/generator-package/schemas/descriptor.schema.js.map +1 -0
  48. package/dist/generator-package/schemas/manifest.schema.d.ts +6988 -0
  49. package/dist/generator-package/schemas/manifest.schema.d.ts.map +1 -0
  50. package/dist/generator-package/schemas/manifest.schema.js +34 -0
  51. package/dist/generator-package/schemas/manifest.schema.js.map +1 -0
  52. package/dist/generator-package/schemas/parameter.schema.d.ts +269 -0
  53. package/dist/generator-package/schemas/parameter.schema.d.ts.map +1 -0
  54. package/dist/generator-package/schemas/parameter.schema.js +103 -0
  55. package/dist/generator-package/schemas/parameter.schema.js.map +1 -0
  56. package/dist/generator-package/schemas/preset.schema.d.ts +16 -0
  57. package/dist/generator-package/schemas/preset.schema.d.ts.map +1 -0
  58. package/dist/generator-package/schemas/preset.schema.js +22 -0
  59. package/dist/generator-package/schemas/preset.schema.js.map +1 -0
  60. package/dist/generator-package/validate-definition.d.ts +8 -0
  61. package/dist/generator-package/validate-definition.d.ts.map +1 -0
  62. package/dist/generator-package/validate-definition.js +239 -0
  63. package/dist/generator-package/validate-definition.js.map +1 -0
  64. package/dist/generator-package/validate-manifest.d.ts +7 -0
  65. package/dist/generator-package/validate-manifest.d.ts.map +1 -0
  66. package/dist/generator-package/validate-manifest.js +47 -0
  67. package/dist/generator-package/validate-manifest.js.map +1 -0
  68. package/dist/generator-package/version-format.d.ts +5 -0
  69. package/dist/generator-package/version-format.d.ts.map +1 -0
  70. package/dist/generator-package/version-format.js +7 -0
  71. package/dist/generator-package/version-format.js.map +1 -0
  72. package/dist/generator-package/versions.d.ts +3 -0
  73. package/dist/generator-package/versions.d.ts.map +1 -0
  74. package/dist/generator-package/versions.js +36 -0
  75. package/dist/generator-package/versions.js.map +1 -0
  76. package/dist/generator-packages.d.ts +2 -0
  77. package/dist/generator-packages.d.ts.map +1 -0
  78. package/dist/generator-packages.js +2 -0
  79. package/dist/generator-packages.js.map +1 -0
  80. package/dist/index.d.ts +14 -0
  81. package/dist/index.d.ts.map +1 -0
  82. package/dist/index.js +7 -0
  83. package/dist/index.js.map +1 -0
  84. package/dist/parameters.d.ts +69 -0
  85. package/dist/parameters.d.ts.map +1 -0
  86. package/dist/parameters.js +532 -0
  87. package/dist/parameters.js.map +1 -0
  88. package/dist/source-visibility.d.ts +9 -0
  89. package/dist/source-visibility.d.ts.map +1 -0
  90. package/dist/source-visibility.js +2 -0
  91. package/dist/source-visibility.js.map +1 -0
  92. package/dist/url-state.d.ts +13 -0
  93. package/dist/url-state.d.ts.map +1 -0
  94. package/dist/url-state.js +137 -0
  95. package/dist/url-state.js.map +1 -0
  96. package/package.json +45 -0
@@ -0,0 +1,137 @@
1
+ import { getDefaultParameters, normalizeParameters, parameterValueEquals } from "./parameters.js";
2
+ export const PARAMETER_URL_VERSION = 1;
3
+ function serializeValue(value) {
4
+ if (Array.isArray(value))
5
+ return JSON.stringify(value);
6
+ if (typeof value === "boolean") {
7
+ return value ? "1" : "0";
8
+ }
9
+ return String(value);
10
+ }
11
+ function parseValue(parameter, value) {
12
+ switch (parameter.type) {
13
+ case "number":
14
+ case "slider": {
15
+ if (value.trim() === "") {
16
+ return undefined;
17
+ }
18
+ const parsed = Number(value);
19
+ return Number.isFinite(parsed) ? parsed : undefined;
20
+ }
21
+ case "boolean":
22
+ if (value === "1" || value === "true") {
23
+ return true;
24
+ }
25
+ if (value === "0" || value === "false") {
26
+ return false;
27
+ }
28
+ return undefined;
29
+ case "select":
30
+ case "color":
31
+ case "text":
32
+ return value;
33
+ case "svg":
34
+ return undefined;
35
+ case "choice-set":
36
+ case "array": {
37
+ try {
38
+ const parsed = JSON.parse(value);
39
+ if (!Array.isArray(parsed))
40
+ return undefined;
41
+ const entries = parsed;
42
+ if (parameter.type === "choice-set") {
43
+ return entries.every((item) => typeof item === "string") ? entries.slice() : undefined;
44
+ }
45
+ if (parameter.items.type === "string") {
46
+ return entries.every((item) => typeof item === "string") ? entries.slice() : undefined;
47
+ }
48
+ return entries.every((item) => typeof item === "number" && Number.isFinite(item))
49
+ ? entries.slice()
50
+ : undefined;
51
+ }
52
+ catch {
53
+ return undefined;
54
+ }
55
+ }
56
+ }
57
+ }
58
+ function decodeComponent(value) {
59
+ try {
60
+ return decodeURIComponent(value.replace(/\+/g, " "));
61
+ }
62
+ catch {
63
+ return undefined;
64
+ }
65
+ }
66
+ function queryEntries(query) {
67
+ const questionMark = query.indexOf("?");
68
+ const queryStart = questionMark >= 0 ? questionMark + 1 : query.startsWith("?") ? 1 : 0;
69
+ const hashMark = query.indexOf("#", queryStart);
70
+ const body = query.slice(queryStart, hashMark >= 0 ? hashMark : undefined);
71
+ const entries = [];
72
+ for (const pair of body.split("&")) {
73
+ if (pair === "") {
74
+ continue;
75
+ }
76
+ const separator = pair.indexOf("=");
77
+ const encodedKey = separator >= 0 ? pair.slice(0, separator) : pair;
78
+ const encodedValue = separator >= 0 ? pair.slice(separator + 1) : "";
79
+ const key = decodeComponent(encodedKey);
80
+ const value = decodeComponent(encodedValue);
81
+ if (key !== undefined && value !== undefined) {
82
+ entries.push([key, value]);
83
+ }
84
+ }
85
+ return entries;
86
+ }
87
+ /**
88
+ * Encodes declared, non-default parameters in definition order. The returned
89
+ * value is a query string without a leading `?`.
90
+ */
91
+ export function encodeParameterState(definition, parameters) {
92
+ const normalized = normalizeParameters(definition, parameters);
93
+ const defaults = getDefaultParameters(definition);
94
+ const pairs = [`v=${PARAMETER_URL_VERSION}`];
95
+ for (const parameter of definition.parameters) {
96
+ // SVG bodies are local project data. URLs stay bounded and never replace a
97
+ // device's persisted SVG with a definition default.
98
+ if (parameter.type === "svg")
99
+ continue;
100
+ const value = normalized[parameter.id];
101
+ if (value !== undefined && !parameterValueEquals(value, defaults[parameter.id])) {
102
+ pairs.push(`${encodeURIComponent(parameter.id)}=${encodeURIComponent(serializeValue(value))}`);
103
+ }
104
+ }
105
+ return pairs.join("&");
106
+ }
107
+ /**
108
+ * Restores known values from a query string or URL. Malformed, unknown, and
109
+ * invalid entries are ignored. Unsupported explicit versions return defaults.
110
+ */
111
+ export function decodeParameterState(definition, query, base) {
112
+ const entries = queryEntries(query);
113
+ const versionEntry = entries.find(([key]) => key === "v");
114
+ if (versionEntry !== undefined && versionEntry[1] !== String(PARAMETER_URL_VERSION)) {
115
+ return normalizeParameters(definition, base ?? getDefaultParameters(definition));
116
+ }
117
+ const definitions = new Map(definition.parameters.map((parameter) => [parameter.id, parameter]));
118
+ const decoded = [];
119
+ for (const [key, encodedValue] of entries) {
120
+ const parameter = definitions.get(key);
121
+ if (parameter === undefined || parameter.type === "svg") {
122
+ continue;
123
+ }
124
+ const value = parseValue(parameter, encodedValue);
125
+ if (value !== undefined) {
126
+ const previousIndex = decoded.findIndex(([decodedKey]) => decodedKey === key);
127
+ if (previousIndex >= 0)
128
+ decoded.splice(previousIndex, 1);
129
+ decoded.push([key, value]);
130
+ }
131
+ }
132
+ return normalizeParameters(definition, {
133
+ ...normalizeParameters(definition, base ?? getDefaultParameters(definition)),
134
+ ...Object.fromEntries(decoded),
135
+ });
136
+ }
137
+ //# sourceMappingURL=url-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-state.js","sourceRoot":"","sources":["../src/url-state.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@metamesh/generator-sdk",
3
+ "version": "0.1.0",
4
+ "description": "Portable contracts and helpers for MetaMesh Generators.",
5
+ "license": "Apache-2.0",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/JasonKoolman/metamesh.git",
9
+ "directory": "packages/generator-sdk"
10
+ },
11
+ "homepage": "https://github.com/JasonKoolman/metamesh#readme",
12
+ "bugs": {
13
+ "url": "https://github.com/JasonKoolman/metamesh/issues"
14
+ },
15
+ "type": "module",
16
+ "sideEffects": false,
17
+ "files": [
18
+ "CHANGELOG.md",
19
+ "dist"
20
+ ],
21
+ "exports": {
22
+ ".": {
23
+ "types": "./dist/index.d.ts",
24
+ "import": "./dist/index.js"
25
+ }
26
+ },
27
+ "publishConfig": {
28
+ "access": "public",
29
+ "registry": "https://registry.npmjs.org/"
30
+ },
31
+ "dependencies": {
32
+ "zod": "4.5.4"
33
+ },
34
+ "devDependencies": {
35
+ "@metamesh/config": "0.0.0",
36
+ "@vitest/coverage-v8": "^4.1.11",
37
+ "vitest": "^4.1.11"
38
+ },
39
+ "scripts": {
40
+ "build": "tsc -p tsconfig.build.json",
41
+ "lint": "eslint .",
42
+ "test": "vitest run src",
43
+ "typecheck": "tsc --noEmit --pretty false"
44
+ }
45
+ }