@galaxy-tool-util/schema 0.4.0 → 1.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 (49) hide show
  1. package/dist/index.d.ts +13 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +12 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/schema/parameter-defaults.d.ts +36 -0
  6. package/dist/schema/parameter-defaults.d.ts.map +1 -0
  7. package/dist/schema/parameter-defaults.js +128 -0
  8. package/dist/schema/parameter-defaults.js.map +1 -0
  9. package/dist/schema/parsed-tool.d.ts +47 -0
  10. package/dist/schema/parsed-tool.d.ts.map +1 -0
  11. package/dist/schema/parsed-tool.js +49 -0
  12. package/dist/schema/parsed-tool.js.map +1 -0
  13. package/dist/test-format/tests.schema.generated.d.ts +619 -459
  14. package/dist/test-format/tests.schema.generated.d.ts.map +1 -1
  15. package/dist/test-format/tests.schema.generated.js +738 -546
  16. package/dist/test-format/tests.schema.generated.js.map +1 -1
  17. package/dist/tool-state-validator.d.ts +11 -4
  18. package/dist/tool-state-validator.d.ts.map +1 -1
  19. package/dist/tool-state-validator.js +2 -2
  20. package/dist/tool-state-validator.js.map +1 -1
  21. package/dist/workflow/fill-defaults.d.ts +39 -0
  22. package/dist/workflow/fill-defaults.d.ts.map +1 -0
  23. package/dist/workflow/fill-defaults.js +53 -0
  24. package/dist/workflow/fill-defaults.js.map +1 -0
  25. package/dist/workflow/index.d.ts +4 -0
  26. package/dist/workflow/index.d.ts.map +1 -1
  27. package/dist/workflow/index.js +4 -0
  28. package/dist/workflow/index.js.map +1 -1
  29. package/dist/workflow/mermaid.d.ts +11 -0
  30. package/dist/workflow/mermaid.d.ts.map +1 -0
  31. package/dist/workflow/mermaid.js +158 -0
  32. package/dist/workflow/mermaid.js.map +1 -0
  33. package/dist/workflow/minimal-tool-state.d.ts +15 -0
  34. package/dist/workflow/minimal-tool-state.d.ts.map +1 -0
  35. package/dist/workflow/minimal-tool-state.js +16 -0
  36. package/dist/workflow/minimal-tool-state.js.map +1 -0
  37. package/dist/workflow/report-models.d.ts +4 -0
  38. package/dist/workflow/report-models.d.ts.map +1 -1
  39. package/dist/workflow/report-models.js +2 -0
  40. package/dist/workflow/report-models.js.map +1 -1
  41. package/dist/workflow/step-skeleton.d.ts +29 -0
  42. package/dist/workflow/step-skeleton.d.ts.map +1 -0
  43. package/dist/workflow/step-skeleton.js +55 -0
  44. package/dist/workflow/step-skeleton.js.map +1 -0
  45. package/dist/workflow/walker.d.ts +10 -0
  46. package/dist/workflow/walker.d.ts.map +1 -1
  47. package/dist/workflow/walker.js +16 -7
  48. package/dist/workflow/walker.js.map +1 -1
  49. package/package.json +2 -4
package/dist/index.d.ts CHANGED
@@ -31,7 +31,7 @@ type GalaxyParameterModel,
31
31
  /** Union of container parameter types (section, repeat, conditional). */
32
32
  type ContainerParameterModel,
33
33
  /** Base fields shared by all leaf Galaxy parameter types. */
34
- type BaseGalaxyParameterModel, type SelectParameterModel, type GenomeBuildParameterModel, type DrillDownParameterModel, type BooleanParameterModel, type SectionParameterModel, type RepeatParameterModel, type ConditionalParameterModel,
34
+ type BaseGalaxyParameterModel, type IntegerParameterModel, type FloatParameterModel, type TextParameterModel, type SelectParameterModel, type GenomeBuildParameterModel, type DrillDownParameterModel, type BooleanParameterModel, type SectionParameterModel, type RepeatParameterModel, type ConditionalParameterModel,
35
35
  /** A single branch of a ConditionalParameterModel. */
36
36
  type ConditionalWhen,
37
37
  /** A label/value pair used in select and genomebuild options. */
@@ -39,6 +39,7 @@ type LabelValue, } from "./schema/bundle-types.js";
39
39
  export {
40
40
  /** True for gx_select, gx_genomebuild, gx_drill_down — params with an options list. */
41
41
  isSelectLikeParam, isBooleanParam, isSectionParam, isRepeatParam, isConditionalParam, } from "./schema/type-guards.js";
42
+ export { ParsedTool, HelpContent, XrefDict, Citation } from "./schema/parsed-tool.js";
42
43
  export { type GalaxyWorkflow,
43
44
  /** Union schema accepting any Galaxy workflow format (format2 or native). */
44
45
  GalaxyWorkflowSchema, type NativeGalaxyWorkflow,
@@ -52,6 +53,16 @@ normalizedNative, NormalizedNativeWorkflowSchema, NormalizedNativeStepSchema, To
52
53
  injectConnectionsIntoState,
53
54
  /** Strip ConnectedValue markers from state using parameter tree. */
54
55
  stripConnectedValues,
56
+ /** Expand defaults into a tool state dict (port of Python fill_static_defaults). */
57
+ expandToolStateDefaults,
58
+ /** Build the minimal `tool_state` for a freshly inserted step. Today returns `{}`; designated extension point. */
59
+ buildMinimalToolState,
60
+ /** Build a native (.ga) step skeleton for an inserted tool. */
61
+ buildNativeStep,
62
+ /** Build a format2 (.gxwf.yml) step skeleton for an inserted tool. */
63
+ buildFormat2Step,
64
+ /** Build a step skeleton for an inserted tool; dispatches on format. */
65
+ buildStep, type StepSkeletonInputs,
55
66
  /** Flatten a nested parameter path to a dot-separated string. */
56
67
  flatStatePath, keysStartingWith,
57
68
  /** Convert repeat block inputs to arrays. */
@@ -87,7 +98,7 @@ roundtripValidate, type RoundtripResult, type RoundtripStrictOptions, type StepR
87
98
  /** Scan native workflow tool_state for legacy parameter encoding signals. */
88
99
  scanToolState, type LegacyEncodingClassification, type LegacyEncodingHit, type LegacyEncodingScanResult,
89
100
  /** Clean a workflow — strip stale keys, decode legacy tool_state encoding. */
90
- cleanWorkflow, type CleanWorkflowResult,
101
+ cleanWorkflow, type CleanWorkflowResult, workflowToMermaid, type MermaidOptions,
91
102
  /** Detect whether a workflow dict is native (.ga) or format2 (.gxwf.yml). */
92
103
  detectFormat, type WorkflowFormat,
93
104
  /** Format-aware workflow serializer (JSON/YAML, configurable indent and newline). */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -24,6 +24,7 @@ collectValidatorTypes, } from "./schema/index.js";
24
24
  export {
25
25
  /** True for gx_select, gx_genomebuild, gx_drill_down — params with an options list. */
26
26
  isSelectLikeParam, isBooleanParam, isSectionParam, isRepeatParam, isConditionalParam, } from "./schema/type-guards.js";
27
+ export { ParsedTool, HelpContent, XrefDict, Citation } from "./schema/parsed-tool.js";
27
28
  export {
28
29
  /** Union schema accepting any Galaxy workflow format (format2 or native). */
29
30
  GalaxyWorkflowSchema,
@@ -37,6 +38,16 @@ normalizedNative, NormalizedNativeWorkflowSchema, NormalizedNativeStepSchema, To
37
38
  injectConnectionsIntoState,
38
39
  /** Strip ConnectedValue markers from state using parameter tree. */
39
40
  stripConnectedValues,
41
+ /** Expand defaults into a tool state dict (port of Python fill_static_defaults). */
42
+ expandToolStateDefaults,
43
+ /** Build the minimal `tool_state` for a freshly inserted step. Today returns `{}`; designated extension point. */
44
+ buildMinimalToolState,
45
+ /** Build a native (.ga) step skeleton for an inserted tool. */
46
+ buildNativeStep,
47
+ /** Build a format2 (.gxwf.yml) step skeleton for an inserted tool. */
48
+ buildFormat2Step,
49
+ /** Build a step skeleton for an inserted tool; dispatches on format. */
50
+ buildStep,
40
51
  /** Flatten a nested parameter path to a dot-separated string. */
41
52
  flatStatePath, keysStartingWith,
42
53
  /** Convert repeat block inputs to arrays. */
@@ -72,7 +83,7 @@ roundtripValidate,
72
83
  /** Scan native workflow tool_state for legacy parameter encoding signals. */
73
84
  scanToolState,
74
85
  /** Clean a workflow — strip stale keys, decode legacy tool_state encoding. */
75
- cleanWorkflow,
86
+ cleanWorkflow, workflowToMermaid,
76
87
  /** Detect whether a workflow dict is native (.ga) or format2 (.gxwf.yml). */
77
88
  detectFormat,
78
89
  /** Format-aware workflow serializer (JSON/YAML, configurable indent and newline). */
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Per-parameter-type default emission.
3
+ *
4
+ * Port of scalar branches of `galaxy.tool_util.parameters.convert._fill_default_for`.
5
+ * Container types (conditional, repeat, section) are handled by the walker in
6
+ * `workflow/fill-defaults.ts`, not here.
7
+ */
8
+ import type { ToolParameterModel } from "./bundle-types.js";
9
+ /** Sentinel: return from scalarParameterDefault to leave the key absent. */
10
+ export declare const NO_DEFAULT: unique symbol;
11
+ /**
12
+ * Return the default value to emit for a scalar (leaf) parameter when the key
13
+ * is absent from tool state, or NO_DEFAULT to leave the key absent.
14
+ *
15
+ * Mirrors `_fill_default_for` scalar branches in convert.py. Container types
16
+ * (gx_conditional, gx_repeat, gx_section) are not handled here — they are
17
+ * the walker's concern. CWL parameter types fall through to NO_DEFAULT.
18
+ *
19
+ * Dynamic-options selects (`options === null`) return NO_DEFAULT; the value
20
+ * is resolved at runtime.
21
+ *
22
+ * Never emits placeholder values (e.g. RuntimeValue) for data / data_column /
23
+ * data_collection-nonoptional / baseurl / color / directory_uri / group_tag /
24
+ * rules — those keys stay absent so the caller wires them explicitly, rather
25
+ * than mimicking the Galaxy UI's runtime-value scaffolding.
26
+ */
27
+ export declare function scalarParameterDefault(param: ToolParameterModel): unknown | typeof NO_DEFAULT;
28
+ /**
29
+ * Text-null coercion: if a text parameter is present with `null` and is
30
+ * non-optional, coerce to default_value ?? "". This is the only place
31
+ * expand-defaults mutates a present key. Idempotent because "" stays "".
32
+ *
33
+ * Returns the coerced value, or the sentinel to signal "no coercion needed".
34
+ */
35
+ export declare function coerceTextNullIfNeeded(param: ToolParameterModel, value: unknown): unknown | typeof NO_DEFAULT;
36
+ //# sourceMappingURL=parameter-defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parameter-defaults.d.ts","sourceRoot":"","sources":["../../src/schema/parameter-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAIV,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAE3B,4EAA4E;AAC5E,eAAO,MAAM,UAAU,EAAE,OAAO,MAA6B,CAAC;AA4C9D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,GAAG,OAAO,UAAU,CAuC7F;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,OAAO,GACb,OAAO,GAAG,OAAO,UAAU,CAK7B"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Per-parameter-type default emission.
3
+ *
4
+ * Port of scalar branches of `galaxy.tool_util.parameters.convert._fill_default_for`.
5
+ * Container types (conditional, repeat, section) are handled by the walker in
6
+ * `workflow/fill-defaults.ts`, not here.
7
+ */
8
+ /** Sentinel: return from scalarParameterDefault to leave the key absent. */
9
+ export const NO_DEFAULT = Symbol("NO_DEFAULT");
10
+ /**
11
+ * First selected option value (single-select), else first option when required,
12
+ * else null. Mirrors `SelectParameterModel.default_value` in Python.
13
+ */
14
+ function selectDefaultSingle(param) {
15
+ if (!param.options || param.options.length === 0)
16
+ return null;
17
+ for (const opt of param.options) {
18
+ if (opt.selected)
19
+ return opt.value;
20
+ }
21
+ if (!param.optional)
22
+ return param.options[0].value;
23
+ return null;
24
+ }
25
+ /** Selected option values (multi-select). Mirrors `default_values` in Python. */
26
+ function selectDefaultMultiple(param) {
27
+ if (!param.options)
28
+ return null;
29
+ return param.options.filter((o) => o.selected).map((o) => o.value);
30
+ }
31
+ /** Walk drill-down option tree collecting values of selected nodes (any depth). */
32
+ function selectedDrillDownOptions(options) {
33
+ const out = [];
34
+ const walk = (opts) => {
35
+ for (const opt of opts) {
36
+ if (opt.selected && opt.value)
37
+ out.push(opt.value);
38
+ if (opt.options && opt.options.length > 0)
39
+ walk(opt.options);
40
+ }
41
+ };
42
+ walk(options);
43
+ return out;
44
+ }
45
+ function drillDownDefaultSingle(param) {
46
+ const selected = selectedDrillDownOptions(param.options);
47
+ return selected.length > 0 ? selected[0] : null;
48
+ }
49
+ function drillDownDefaultMultiple(param) {
50
+ if (!param.options || param.options.length === 0)
51
+ return null;
52
+ return selectedDrillDownOptions(param.options);
53
+ }
54
+ /**
55
+ * Return the default value to emit for a scalar (leaf) parameter when the key
56
+ * is absent from tool state, or NO_DEFAULT to leave the key absent.
57
+ *
58
+ * Mirrors `_fill_default_for` scalar branches in convert.py. Container types
59
+ * (gx_conditional, gx_repeat, gx_section) are not handled here — they are
60
+ * the walker's concern. CWL parameter types fall through to NO_DEFAULT.
61
+ *
62
+ * Dynamic-options selects (`options === null`) return NO_DEFAULT; the value
63
+ * is resolved at runtime.
64
+ *
65
+ * Never emits placeholder values (e.g. RuntimeValue) for data / data_column /
66
+ * data_collection-nonoptional / baseurl / color / directory_uri / group_tag /
67
+ * rules — those keys stay absent so the caller wires them explicitly, rather
68
+ * than mimicking the Galaxy UI's runtime-value scaffolding.
69
+ */
70
+ export function scalarParameterDefault(param) {
71
+ switch (param.parameter_type) {
72
+ case "gx_boolean":
73
+ // TS schema types value as non-nullable boolean; Python tolerates None and
74
+ // coerces via `value or False` (convert.py:348).
75
+ return param.value;
76
+ case "gx_integer":
77
+ case "gx_float":
78
+ case "gx_hidden":
79
+ return param.value;
80
+ case "gx_genomebuild":
81
+ return param.optional ? null : NO_DEFAULT;
82
+ case "gx_select": {
83
+ if (param.options === null)
84
+ return NO_DEFAULT; // dynamic
85
+ if (param.multiple) {
86
+ const values = selectDefaultMultiple(param);
87
+ return values && values.length > 0 ? values : null;
88
+ }
89
+ return selectDefaultSingle(param);
90
+ }
91
+ case "gx_drill_down": {
92
+ if (param.multiple) {
93
+ const opts = drillDownDefaultMultiple(param);
94
+ return opts !== null ? opts : NO_DEFAULT;
95
+ }
96
+ const opt = drillDownDefaultSingle(param);
97
+ return opt !== null ? opt : NO_DEFAULT;
98
+ }
99
+ case "gx_data_collection":
100
+ return param.optional ? null : NO_DEFAULT;
101
+ case "gx_text":
102
+ if (!param.optional)
103
+ return param.value ?? "";
104
+ return param.value;
105
+ default:
106
+ // gx_data, gx_data_column, gx_baseurl, gx_color, gx_directory_uri,
107
+ // gx_group_tag, gx_rules, cwl_*, and containers (which shouldn't reach
108
+ // here via the walker leaf callback) all fall through.
109
+ return NO_DEFAULT;
110
+ }
111
+ }
112
+ /**
113
+ * Text-null coercion: if a text parameter is present with `null` and is
114
+ * non-optional, coerce to default_value ?? "". This is the only place
115
+ * expand-defaults mutates a present key. Idempotent because "" stays "".
116
+ *
117
+ * Returns the coerced value, or the sentinel to signal "no coercion needed".
118
+ */
119
+ export function coerceTextNullIfNeeded(param, value) {
120
+ if (param.parameter_type !== "gx_text")
121
+ return NO_DEFAULT;
122
+ if (value !== null)
123
+ return NO_DEFAULT;
124
+ if (param.optional)
125
+ return NO_DEFAULT;
126
+ return param.value ?? "";
127
+ }
128
+ //# sourceMappingURL=parameter-defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parameter-defaults.js","sourceRoot":"","sources":["../../src/schema/parameter-defaults.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import * as S from "effect/Schema";
2
+ import type { ToolParameterModel } from "./bundle-types.js";
3
+ /** Tool help content with format (rst, markdown, etc.) and rendered content. */
4
+ export declare const HelpContent: S.Struct<{
5
+ format: typeof S.String;
6
+ content: typeof S.String;
7
+ }>;
8
+ /** External reference (e.g. bio.tools ID, bioconductor package). */
9
+ export declare const XrefDict: S.Struct<{
10
+ value: typeof S.String;
11
+ type: typeof S.String;
12
+ }>;
13
+ /** Tool citation entry (bibtex, doi, etc.). */
14
+ export declare const Citation: S.Struct<{
15
+ type: typeof S.String;
16
+ content: typeof S.String;
17
+ }>;
18
+ /**
19
+ * Effect Schema for parsed Galaxy tool metadata as returned by the ToolShed TRS API
20
+ * or Galaxy's /api/tools/:id/parsed endpoint.
21
+ */
22
+ export declare const ParsedTool: S.Struct<{
23
+ id: typeof S.String;
24
+ version: S.NullOr<typeof S.String>;
25
+ name: typeof S.String;
26
+ description: S.transform<S.NullOr<typeof S.String>, S.NullOr<typeof S.String>>;
27
+ inputs: S.Array$<S.Schema<ToolParameterModel, ToolParameterModel, never>>;
28
+ outputs: S.Array$<typeof S.Unknown>;
29
+ citations: S.Array$<S.Struct<{
30
+ type: typeof S.String;
31
+ content: typeof S.String;
32
+ }>>;
33
+ license: S.NullOr<typeof S.String>;
34
+ profile: S.NullOr<typeof S.String>;
35
+ edam_operations: S.Array$<typeof S.String>;
36
+ edam_topics: S.Array$<typeof S.String>;
37
+ xrefs: S.Array$<S.Struct<{
38
+ value: typeof S.String;
39
+ type: typeof S.String;
40
+ }>>;
41
+ help: S.optional<S.Union<[S.Struct<{
42
+ format: typeof S.String;
43
+ content: typeof S.String;
44
+ }>, typeof S.Null]>>;
45
+ }>;
46
+ export type ParsedTool = S.Schema.Type<typeof ParsedTool>;
47
+ //# sourceMappingURL=parsed-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsed-tool.d.ts","sourceRoot":"","sources":["../../src/schema/parsed-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAEnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,gFAAgF;AAChF,eAAO,MAAM,WAAW;;;EAGtB,CAAC;AAEH,oEAAoE;AACpE,eAAO,MAAM,QAAQ;;;EAGnB,CAAC;AAEH,+CAA+C;AAC/C,eAAO,MAAM,QAAQ;;;EAGnB,CAAC;AAoBH;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;EAcrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -0,0 +1,49 @@
1
+ import * as S from "effect/Schema";
2
+ /** Tool help content with format (rst, markdown, etc.) and rendered content. */
3
+ export const HelpContent = S.Struct({
4
+ format: S.String,
5
+ content: S.String,
6
+ });
7
+ /** External reference (e.g. bio.tools ID, bioconductor package). */
8
+ export const XrefDict = S.Struct({
9
+ value: S.String,
10
+ type: S.String,
11
+ });
12
+ /** Tool citation entry (bibtex, doi, etc.). */
13
+ export const Citation = S.Struct({
14
+ type: S.String,
15
+ content: S.String,
16
+ });
17
+ /** Normalize empty string to null for description field. */
18
+ const NullableDescription = S.transform(S.NullOr(S.String), S.NullOr(S.String), {
19
+ decode: (val) => (val === "" ? null : val),
20
+ encode: (val) => val,
21
+ });
22
+ /**
23
+ * Trusted-peer schema for a single tool input parameter. Effect Schema does
24
+ * not describe the full `ToolParameterModel` discriminated union (that lives
25
+ * as plain TS interfaces in `bundle-types.ts`), so we use a permissive
26
+ * object-shaped guard here and supply the TS type via the generic parameter.
27
+ * `ParsedTool` payloads come from Python's `model_dump()` — already trusted.
28
+ */
29
+ const ToolParameterModelSchema = S.declare((input) => typeof input === "object" && input !== null && !Array.isArray(input));
30
+ /**
31
+ * Effect Schema for parsed Galaxy tool metadata as returned by the ToolShed TRS API
32
+ * or Galaxy's /api/tools/:id/parsed endpoint.
33
+ */
34
+ export const ParsedTool = S.Struct({
35
+ id: S.String,
36
+ version: S.NullOr(S.String),
37
+ name: S.String,
38
+ description: NullableDescription,
39
+ inputs: S.Array(ToolParameterModelSchema),
40
+ outputs: S.Array(S.Unknown),
41
+ citations: S.Array(Citation),
42
+ license: S.NullOr(S.String),
43
+ profile: S.NullOr(S.String),
44
+ edam_operations: S.Array(S.String),
45
+ edam_topics: S.Array(S.String),
46
+ xrefs: S.Array(XrefDict),
47
+ help: S.optional(S.Union(HelpContent, S.Null)),
48
+ });
49
+ //# sourceMappingURL=parsed-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsed-tool.js","sourceRoot":"","sources":["../../src/schema/parsed-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAInC,gFAAgF;AAChF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM;CAClB,CAAC,CAAC;AAEH,oEAAoE;AACpE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM;IACf,IAAI,EAAE,CAAC,CAAC,MAAM;CACf,CAAC,CAAC;AAEH,+CAA+C;AAC/C,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,OAAO,EAAE,CAAC,CAAC,MAAM;CAClB,CAAC,CAAC;AAEH,4DAA4D;AAC5D,MAAM,mBAAmB,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;IAC9E,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1C,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG;CACrB,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,wBAAwB,GAAiC,CAAC,CAAC,OAAO,CACtE,CAAC,KAAc,EAA+B,EAAE,CAC9C,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CACvE,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,EAAE,EAAE,CAAC,CAAC,MAAM;IACZ,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,WAAW,EAAE,mBAAmB;IAChC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3B,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAClC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;IACxB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;CAC/C,CAAC,CAAC"}