@galaxy-tool-util/schema 1.7.0 → 1.7.2

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.
@@ -6,5 +6,5 @@
6
6
  * runtime bundle need a plain-object JSON Schema instead. Mirrors the
7
7
  * `parsedToolSchema` pattern in `schema/parsed-tool.ts`.
8
8
  */
9
- export declare const galaxyWorkflowDraftJsonSchema: object;
9
+ export declare const galaxyWorkflowDraftJsonSchema: Record<string, unknown>;
10
10
  //# sourceMappingURL=json-schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-schemas.d.ts","sourceRoot":"","sources":["../../src/workflow/json-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA+BH,eAAO,MAAM,6BAA6B,QAAkB,CAAC"}
1
+ {"version":3,"file":"json-schemas.d.ts","sourceRoot":"","sources":["../../src/workflow/json-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAoKH,eAAO,MAAM,6BAA6B,yBAAkB,CAAC"}
@@ -31,9 +31,127 @@ function stripDuplicateUnknownIds(node) {
31
31
  for (const k of Object.keys(obj))
32
32
  stripDuplicateUnknownIds(obj[k]);
33
33
  }
34
+ /**
35
+ * `JSONSchema.make` inlines every subschema lacking an `identifier`
36
+ * annotation, so structurally-identical fragments (workflow step variants,
37
+ * tool_state value types, RuntimeValue/ConnectedValue, …) are duplicated many
38
+ * times over. The draft schema reaches ~95 KB compact and ~580 KB
39
+ * pretty-printed (deep nesting amplifies indentation), which is impractical
40
+ * for downstream packagers to vendor verbatim. Hoist each repeated subschema
41
+ * into `$defs` and replace its occurrences with `$ref`, shrinking the document
42
+ * with no change in meaning.
43
+ *
44
+ * Replacement happens **only at schema positions** — a `$ref` is legal where a
45
+ * subschema is expected (`properties` values, `items`, `anyOf` members, …) but
46
+ * not in array/value keywords like `required`, `enum`, or `type`. Output is
47
+ * deterministic (candidates chosen by largest byte saving, ties broken by
48
+ * canonical form; `$def` names assigned in hoist order) so the generated
49
+ * schema is byte-stable across runs.
50
+ */
51
+ const SCHEMA_OBJ_KEYS = [
52
+ "additionalProperties",
53
+ "items",
54
+ "additionalItems",
55
+ "contains",
56
+ "propertyNames",
57
+ "not",
58
+ "if",
59
+ "then",
60
+ "else",
61
+ "unevaluatedProperties",
62
+ "unevaluatedItems",
63
+ ];
64
+ const SCHEMA_MAP_KEYS = [
65
+ "properties",
66
+ "patternProperties",
67
+ "dependentSchemas",
68
+ "$defs",
69
+ "definitions",
70
+ ];
71
+ const SCHEMA_ARR_KEYS = ["allOf", "anyOf", "oneOf", "prefixItems"];
72
+ const isPlainObject = (n) => n !== null && typeof n === "object" && !Array.isArray(n);
73
+ /** Stable serialization (sorted object keys) for structural equality. */
74
+ function canonicalize(node) {
75
+ if (!isPlainObject(node)) {
76
+ if (Array.isArray(node))
77
+ return `[${node.map(canonicalize).join(",")}]`;
78
+ return JSON.stringify(node) ?? "null";
79
+ }
80
+ return `{${Object.keys(node)
81
+ .sort()
82
+ .map((k) => `${JSON.stringify(k)}:${canonicalize(node[k])}`)
83
+ .join(",")}}`;
84
+ }
85
+ /** Walk every node that sits in a JSON-Schema position; `replace` swaps it in its parent. */
86
+ function eachSchemaNode(node, replace, visit, isRoot = true) {
87
+ visit(node, replace, isRoot);
88
+ if (!isPlainObject(node))
89
+ return;
90
+ for (const k of SCHEMA_OBJ_KEYS) {
91
+ if (isPlainObject(node[k]))
92
+ eachSchemaNode(node[k], (v) => (node[k] = v), visit, false);
93
+ }
94
+ for (const k of SCHEMA_MAP_KEYS) {
95
+ const map = node[k];
96
+ if (isPlainObject(map)) {
97
+ for (const sk of Object.keys(map))
98
+ eachSchemaNode(map[sk], (v) => (map[sk] = v), visit, false);
99
+ }
100
+ }
101
+ for (const k of SCHEMA_ARR_KEYS) {
102
+ const arr = node[k];
103
+ if (Array.isArray(arr)) {
104
+ for (let i = 0; i < arr.length; i++)
105
+ eachSchemaNode(arr[i], (v) => (arr[i] = v), visit, false);
106
+ }
107
+ }
108
+ }
109
+ function dedupeSubschemas(root) {
110
+ const MIN_BYTES = 200;
111
+ const defs = (root.$defs && isPlainObject(root.$defs) ? root.$defs : (root.$defs = {}));
112
+ let counter = 0;
113
+ for (let guard = 0; guard < 5000; guard++) {
114
+ const tally = new Map();
115
+ eachSchemaNode(root, () => { }, (node, _replace, isRoot) => {
116
+ if (isRoot || !isPlainObject(node))
117
+ return;
118
+ const s = canonicalize(node);
119
+ if (s.length < MIN_BYTES)
120
+ return;
121
+ const cur = tally.get(s);
122
+ if (cur)
123
+ cur.count++;
124
+ else
125
+ tally.set(s, { count: 1, size: s.length });
126
+ });
127
+ let best = null;
128
+ let bestSaving = 0;
129
+ for (const [s, { count, size }] of tally) {
130
+ if (count < 2)
131
+ continue;
132
+ const saving = (count - 1) * size;
133
+ if (saving > bestSaving || (saving === bestSaving && (best === null || s < best))) {
134
+ bestSaving = saving;
135
+ best = s;
136
+ }
137
+ }
138
+ if (best === null)
139
+ break;
140
+ const name = `Shared${counter++}`;
141
+ const ref = `#/$defs/${name}`;
142
+ eachSchemaNode(root, () => { }, (node, replace, isRoot) => {
143
+ if (isRoot || !isPlainObject(node))
144
+ return;
145
+ if (canonicalize(node) === best)
146
+ replace({ $ref: ref });
147
+ });
148
+ defs[name] = JSON.parse(best);
149
+ }
150
+ }
34
151
  const draftJsonSchema = JSONSchema.make(GalaxyWorkflowDraftSchema, {
35
152
  target: "jsonSchema2020-12",
36
153
  });
37
154
  stripDuplicateUnknownIds(draftJsonSchema);
155
+ dedupeSubschemas(draftJsonSchema);
38
156
  export const galaxyWorkflowDraftJsonSchema = draftJsonSchema;
39
157
  //# sourceMappingURL=json-schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-schemas.js","sourceRoot":"","sources":["../../src/workflow/json-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAE5E;;;;;;;;GAQG;AACH,SAAS,wBAAwB,CAAC,IAAa;IAC7C,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO;IACtD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,IAAI;YAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,IAA+B,CAAC;IAC5C,IAAI,GAAG,CAAC,GAAG,KAAK,kBAAkB;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC,yBAAyB,EAAE;IACjE,MAAM,EAAE,mBAAmB;CAC5B,CAAW,CAAC;AACb,wBAAwB,CAAC,eAAe,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,6BAA6B,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"json-schemas.js","sourceRoot":"","sources":["../../src/workflow/json-schemas.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,12 @@ export interface SerializeWorkflowOptions {
20
20
  * `json` / `yaml` overrides).
21
21
  *
22
22
  * YAML uses `lineWidth: 0` to disable line-wrapping so diffs stay stable.
23
+ *
24
+ * The `yaml-1.1` schema is used for emission so the writer quotes plain scalars
25
+ * that a YAML 1.1 reader (e.g. PyYAML, which Galaxy uses) would otherwise coerce
26
+ * — the word-form booleans `no`/`yes`/`on`/`off`/`y`/`n`. Tool_state stores these
27
+ * as strings (a select option value like `"no"`); emitting them bare lets a 1.1
28
+ * reader decode them as booleans. Real numbers/booleans are unaffected.
23
29
  */
24
30
  export declare function serializeWorkflow(data: Record<string, unknown>, format: WorkflowFormat, opts?: SerializeWorkflowOptions): string;
25
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/workflow/serialize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEvE,MAAM,WAAW,wBAAwB;IACvC,8CAA8C;IAC9C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8CAA8C;IAC9C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,cAAc,EACtB,IAAI,GAAE,wBAA6B,GAClC,MAAM,CAWR;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,CAG/F"}
1
+ {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/workflow/serialize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEvE,MAAM,WAAW,wBAAwB;IACvC,8CAA8C;IAC9C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8CAA8C;IAC9C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,cAAc,EACtB,IAAI,GAAE,wBAA6B,GAClC,MAAM,CAWR;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,CAG/F"}
@@ -11,12 +11,18 @@ import { detectFormat } from "./detect-format.js";
11
11
  * `json` / `yaml` overrides).
12
12
  *
13
13
  * YAML uses `lineWidth: 0` to disable line-wrapping so diffs stay stable.
14
+ *
15
+ * The `yaml-1.1` schema is used for emission so the writer quotes plain scalars
16
+ * that a YAML 1.1 reader (e.g. PyYAML, which Galaxy uses) would otherwise coerce
17
+ * — the word-form booleans `no`/`yes`/`on`/`off`/`y`/`n`. Tool_state stores these
18
+ * as strings (a select option value like `"no"`); emitting them bare lets a 1.1
19
+ * reader decode them as booleans. Real numbers/booleans are unaffected.
14
20
  */
15
21
  export function serializeWorkflow(data, format, opts = {}) {
16
22
  const useYaml = opts.yaml || (!opts.json && format === "format2");
17
23
  const newline = opts.trailingNewline ?? true;
18
24
  if (useYaml) {
19
- const out = stringifyYaml(data, { lineWidth: 0 });
25
+ const out = stringifyYaml(data, { lineWidth: 0, schema: "yaml-1.1" });
20
26
  // `yaml` already ends with a newline; don't double-append.
21
27
  if (newline)
22
28
  return out.endsWith("\n") ? out : out + "\n";
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/workflow/serialize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,YAAY,EAAuB,MAAM,oBAAoB,CAAC;AAavE;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAA6B,EAC7B,MAAsB,EACtB,OAAiC,EAAE;IAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAClD,2DAA2D;QAC3D,IAAI,OAAO;YAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;QAC1D,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACrD,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAA6B,EAAE,SAAkB;IAC7E,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/workflow/serialize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,YAAY,EAAuB,MAAM,oBAAoB,CAAC;AAavE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAA6B,EAC7B,MAAsB,EACtB,OAAiC,EAAE;IAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACtE,2DAA2D;QAC3D,IAAI,OAAO;YAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;QAC1D,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACrD,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAA6B,EAAE,SAAkB;IAC7E,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galaxy-tool-util/schema",
3
- "version": "1.7.0",
3
+ "version": "1.7.2",
4
4
  "description": "Effect Schema parameter types and validators for Galaxy tools",
5
5
  "type": "module",
6
6
  "exports": {