@galaxy-tool-util/schema 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 (226) hide show
  1. package/README.md +13 -0
  2. package/dist/index.d.ts +69 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +69 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/schema/bundle-types.d.ts +249 -0
  7. package/dist/schema/bundle-types.d.ts.map +1 -0
  8. package/dist/schema/bundle-types.js +74 -0
  9. package/dist/schema/bundle-types.js.map +1 -0
  10. package/dist/schema/index.d.ts +6 -0
  11. package/dist/schema/index.d.ts.map +1 -0
  12. package/dist/schema/index.js +6 -0
  13. package/dist/schema/index.js.map +1 -0
  14. package/dist/schema/model-factory.d.ts +14 -0
  15. package/dist/schema/model-factory.d.ts.map +1 -0
  16. package/dist/schema/model-factory.js +96 -0
  17. package/dist/schema/model-factory.js.map +1 -0
  18. package/dist/schema/parameters/base.d.ts +62 -0
  19. package/dist/schema/parameters/base.d.ts.map +1 -0
  20. package/dist/schema/parameters/base.js +51 -0
  21. package/dist/schema/parameters/base.js.map +1 -0
  22. package/dist/schema/parameters/gx-baseurl.d.ts +2 -0
  23. package/dist/schema/parameters/gx-baseurl.d.ts.map +1 -0
  24. package/dist/schema/parameters/gx-baseurl.js +16 -0
  25. package/dist/schema/parameters/gx-baseurl.js.map +1 -0
  26. package/dist/schema/parameters/gx-boolean.d.ts +2 -0
  27. package/dist/schema/parameters/gx-boolean.d.ts.map +1 -0
  28. package/dist/schema/parameters/gx-boolean.js +29 -0
  29. package/dist/schema/parameters/gx-boolean.js.map +1 -0
  30. package/dist/schema/parameters/gx-color.d.ts +2 -0
  31. package/dist/schema/parameters/gx-color.d.ts.map +1 -0
  32. package/dist/schema/parameters/gx-color.js +26 -0
  33. package/dist/schema/parameters/gx-color.js.map +1 -0
  34. package/dist/schema/parameters/gx-conditional.d.ts +2 -0
  35. package/dist/schema/parameters/gx-conditional.d.ts.map +1 -0
  36. package/dist/schema/parameters/gx-conditional.js +56 -0
  37. package/dist/schema/parameters/gx-conditional.js.map +1 -0
  38. package/dist/schema/parameters/gx-data-collection.d.ts +2 -0
  39. package/dist/schema/parameters/gx-data-collection.d.ts.map +1 -0
  40. package/dist/schema/parameters/gx-data-collection.js +146 -0
  41. package/dist/schema/parameters/gx-data-collection.js.map +1 -0
  42. package/dist/schema/parameters/gx-data-column.d.ts +2 -0
  43. package/dist/schema/parameters/gx-data-column.d.ts.map +1 -0
  44. package/dist/schema/parameters/gx-data-column.js +49 -0
  45. package/dist/schema/parameters/gx-data-column.js.map +1 -0
  46. package/dist/schema/parameters/gx-data.d.ts +2 -0
  47. package/dist/schema/parameters/gx-data.d.ts.map +1 -0
  48. package/dist/schema/parameters/gx-data.js +107 -0
  49. package/dist/schema/parameters/gx-data.js.map +1 -0
  50. package/dist/schema/parameters/gx-directory-uri.d.ts +2 -0
  51. package/dist/schema/parameters/gx-directory-uri.d.ts.map +1 -0
  52. package/dist/schema/parameters/gx-directory-uri.js +19 -0
  53. package/dist/schema/parameters/gx-directory-uri.js.map +1 -0
  54. package/dist/schema/parameters/gx-drill-down.d.ts +2 -0
  55. package/dist/schema/parameters/gx-drill-down.d.ts.map +1 -0
  56. package/dist/schema/parameters/gx-drill-down.js +40 -0
  57. package/dist/schema/parameters/gx-drill-down.js.map +1 -0
  58. package/dist/schema/parameters/gx-float.d.ts +2 -0
  59. package/dist/schema/parameters/gx-float.d.ts.map +1 -0
  60. package/dist/schema/parameters/gx-float.js +46 -0
  61. package/dist/schema/parameters/gx-float.js.map +1 -0
  62. package/dist/schema/parameters/gx-genomebuild.d.ts +2 -0
  63. package/dist/schema/parameters/gx-genomebuild.d.ts.map +1 -0
  64. package/dist/schema/parameters/gx-genomebuild.js +23 -0
  65. package/dist/schema/parameters/gx-genomebuild.js.map +1 -0
  66. package/dist/schema/parameters/gx-group-tag.d.ts +2 -0
  67. package/dist/schema/parameters/gx-group-tag.d.ts.map +1 -0
  68. package/dist/schema/parameters/gx-group-tag.js +23 -0
  69. package/dist/schema/parameters/gx-group-tag.js.map +1 -0
  70. package/dist/schema/parameters/gx-hidden.d.ts +2 -0
  71. package/dist/schema/parameters/gx-hidden.d.ts.map +1 -0
  72. package/dist/schema/parameters/gx-hidden.js +33 -0
  73. package/dist/schema/parameters/gx-hidden.js.map +1 -0
  74. package/dist/schema/parameters/gx-integer.d.ts +2 -0
  75. package/dist/schema/parameters/gx-integer.d.ts.map +1 -0
  76. package/dist/schema/parameters/gx-integer.js +47 -0
  77. package/dist/schema/parameters/gx-integer.js.map +1 -0
  78. package/dist/schema/parameters/gx-repeat.d.ts +2 -0
  79. package/dist/schema/parameters/gx-repeat.d.ts.map +1 -0
  80. package/dist/schema/parameters/gx-repeat.js +30 -0
  81. package/dist/schema/parameters/gx-repeat.js.map +1 -0
  82. package/dist/schema/parameters/gx-rules.d.ts +2 -0
  83. package/dist/schema/parameters/gx-rules.d.ts.map +1 -0
  84. package/dist/schema/parameters/gx-rules.js +91 -0
  85. package/dist/schema/parameters/gx-rules.js.map +1 -0
  86. package/dist/schema/parameters/gx-section.d.ts +2 -0
  87. package/dist/schema/parameters/gx-section.d.ts.map +1 -0
  88. package/dist/schema/parameters/gx-section.js +17 -0
  89. package/dist/schema/parameters/gx-section.js.map +1 -0
  90. package/dist/schema/parameters/gx-select.d.ts +2 -0
  91. package/dist/schema/parameters/gx-select.d.ts.map +1 -0
  92. package/dist/schema/parameters/gx-select.js +63 -0
  93. package/dist/schema/parameters/gx-select.js.map +1 -0
  94. package/dist/schema/parameters/gx-text.d.ts +2 -0
  95. package/dist/schema/parameters/gx-text.d.ts.map +1 -0
  96. package/dist/schema/parameters/gx-text.js +22 -0
  97. package/dist/schema/parameters/gx-text.js.map +1 -0
  98. package/dist/schema/parameters/index.d.ts +21 -0
  99. package/dist/schema/parameters/index.d.ts.map +1 -0
  100. package/dist/schema/parameters/index.js +24 -0
  101. package/dist/schema/parameters/index.js.map +1 -0
  102. package/dist/schema/parameters/registry.d.ts +6 -0
  103. package/dist/schema/parameters/registry.d.ts.map +1 -0
  104. package/dist/schema/parameters/registry.js +18 -0
  105. package/dist/schema/parameters/registry.js.map +1 -0
  106. package/dist/schema/state-representations.d.ts +14 -0
  107. package/dist/schema/state-representations.d.ts.map +1 -0
  108. package/dist/schema/state-representations.js +61 -0
  109. package/dist/schema/state-representations.js.map +1 -0
  110. package/dist/schema/validators/empty-field.d.ts +2 -0
  111. package/dist/schema/validators/empty-field.d.ts.map +1 -0
  112. package/dist/schema/validators/empty-field.js +12 -0
  113. package/dist/schema/validators/empty-field.js.map +1 -0
  114. package/dist/schema/validators/expression.d.ts +2 -0
  115. package/dist/schema/validators/expression.d.ts.map +1 -0
  116. package/dist/schema/validators/expression.js +42 -0
  117. package/dist/schema/validators/expression.js.map +1 -0
  118. package/dist/schema/validators/in-range.d.ts +2 -0
  119. package/dist/schema/validators/in-range.d.ts.map +1 -0
  120. package/dist/schema/validators/in-range.js +36 -0
  121. package/dist/schema/validators/in-range.js.map +1 -0
  122. package/dist/schema/validators/index.d.ts +8 -0
  123. package/dist/schema/validators/index.d.ts.map +1 -0
  124. package/dist/schema/validators/index.js +10 -0
  125. package/dist/schema/validators/index.js.map +1 -0
  126. package/dist/schema/validators/length.d.ts +2 -0
  127. package/dist/schema/validators/length.d.ts.map +1 -0
  128. package/dist/schema/validators/length.js +29 -0
  129. package/dist/schema/validators/length.js.map +1 -0
  130. package/dist/schema/validators/no-options.d.ts +2 -0
  131. package/dist/schema/validators/no-options.d.ts.map +1 -0
  132. package/dist/schema/validators/no-options.js +10 -0
  133. package/dist/schema/validators/no-options.js.map +1 -0
  134. package/dist/schema/validators/regex.d.ts +27 -0
  135. package/dist/schema/validators/regex.d.ts.map +1 -0
  136. package/dist/schema/validators/regex.js +100 -0
  137. package/dist/schema/validators/regex.js.map +1 -0
  138. package/dist/schema/validators/registry.d.ts +19 -0
  139. package/dist/schema/validators/registry.d.ts.map +1 -0
  140. package/dist/schema/validators/registry.js +29 -0
  141. package/dist/schema/validators/registry.js.map +1 -0
  142. package/dist/workflow/clean.d.ts +13 -0
  143. package/dist/workflow/clean.d.ts.map +1 -0
  144. package/dist/workflow/clean.js +131 -0
  145. package/dist/workflow/clean.js.map +1 -0
  146. package/dist/workflow/detect-format.d.ts +5 -0
  147. package/dist/workflow/detect-format.d.ts.map +1 -0
  148. package/dist/workflow/detect-format.js +11 -0
  149. package/dist/workflow/detect-format.js.map +1 -0
  150. package/dist/workflow/index.d.ts +9 -0
  151. package/dist/workflow/index.d.ts.map +1 -0
  152. package/dist/workflow/index.js +11 -0
  153. package/dist/workflow/index.js.map +1 -0
  154. package/dist/workflow/legacy-encoding.d.ts +40 -0
  155. package/dist/workflow/legacy-encoding.d.ts.map +1 -0
  156. package/dist/workflow/legacy-encoding.js +81 -0
  157. package/dist/workflow/legacy-encoding.js.map +1 -0
  158. package/dist/workflow/lint.d.ts +49 -0
  159. package/dist/workflow/lint.d.ts.map +1 -0
  160. package/dist/workflow/lint.js +402 -0
  161. package/dist/workflow/lint.js.map +1 -0
  162. package/dist/workflow/normalized/comments.d.ts +21 -0
  163. package/dist/workflow/normalized/comments.d.ts.map +1 -0
  164. package/dist/workflow/normalized/comments.js +80 -0
  165. package/dist/workflow/normalized/comments.js.map +1 -0
  166. package/dist/workflow/normalized/ensure.d.ts +21 -0
  167. package/dist/workflow/normalized/ensure.d.ts.map +1 -0
  168. package/dist/workflow/normalized/ensure.js +43 -0
  169. package/dist/workflow/normalized/ensure.js.map +1 -0
  170. package/dist/workflow/normalized/expanded.d.ts +62 -0
  171. package/dist/workflow/normalized/expanded.d.ts.map +1 -0
  172. package/dist/workflow/normalized/expanded.js +173 -0
  173. package/dist/workflow/normalized/expanded.js.map +1 -0
  174. package/dist/workflow/normalized/format2.d.ts +149 -0
  175. package/dist/workflow/normalized/format2.d.ts.map +1 -0
  176. package/dist/workflow/normalized/format2.js +416 -0
  177. package/dist/workflow/normalized/format2.js.map +1 -0
  178. package/dist/workflow/normalized/index.d.ts +9 -0
  179. package/dist/workflow/normalized/index.d.ts.map +1 -0
  180. package/dist/workflow/normalized/index.js +9 -0
  181. package/dist/workflow/normalized/index.js.map +1 -0
  182. package/dist/workflow/normalized/labels.d.ts +27 -0
  183. package/dist/workflow/normalized/labels.d.ts.map +1 -0
  184. package/dist/workflow/normalized/labels.js +59 -0
  185. package/dist/workflow/normalized/labels.js.map +1 -0
  186. package/dist/workflow/normalized/native.d.ts +97 -0
  187. package/dist/workflow/normalized/native.d.ts.map +1 -0
  188. package/dist/workflow/normalized/native.js +189 -0
  189. package/dist/workflow/normalized/native.js.map +1 -0
  190. package/dist/workflow/normalized/toFormat2.d.ts +11 -0
  191. package/dist/workflow/normalized/toFormat2.d.ts.map +1 -0
  192. package/dist/workflow/normalized/toFormat2.js +416 -0
  193. package/dist/workflow/normalized/toFormat2.js.map +1 -0
  194. package/dist/workflow/normalized/toNative.d.ts +11 -0
  195. package/dist/workflow/normalized/toNative.d.ts.map +1 -0
  196. package/dist/workflow/normalized/toNative.js +576 -0
  197. package/dist/workflow/normalized/toNative.js.map +1 -0
  198. package/dist/workflow/raw/gxformat2.d.ts +402 -0
  199. package/dist/workflow/raw/gxformat2.d.ts.map +1 -0
  200. package/dist/workflow/raw/gxformat2.effect.d.ts +1140 -0
  201. package/dist/workflow/raw/gxformat2.effect.d.ts.map +1 -0
  202. package/dist/workflow/raw/gxformat2.effect.js +453 -0
  203. package/dist/workflow/raw/gxformat2.effect.js.map +1 -0
  204. package/dist/workflow/raw/gxformat2.js +3 -0
  205. package/dist/workflow/raw/gxformat2.js.map +1 -0
  206. package/dist/workflow/raw/index.d.ts +5 -0
  207. package/dist/workflow/raw/index.d.ts.map +1 -0
  208. package/dist/workflow/raw/index.js +4 -0
  209. package/dist/workflow/raw/index.js.map +1 -0
  210. package/dist/workflow/raw/native.d.ts +439 -0
  211. package/dist/workflow/raw/native.d.ts.map +1 -0
  212. package/dist/workflow/raw/native.effect.d.ts +947 -0
  213. package/dist/workflow/raw/native.effect.d.ts.map +1 -0
  214. package/dist/workflow/raw/native.effect.js +474 -0
  215. package/dist/workflow/raw/native.effect.js.map +1 -0
  216. package/dist/workflow/raw/native.js +20 -0
  217. package/dist/workflow/raw/native.js.map +1 -0
  218. package/dist/workflow/replacement-scan.d.ts +21 -0
  219. package/dist/workflow/replacement-scan.d.ts.map +1 -0
  220. package/dist/workflow/replacement-scan.js +92 -0
  221. package/dist/workflow/replacement-scan.js.map +1 -0
  222. package/dist/workflow/state-merge.d.ts +49 -0
  223. package/dist/workflow/state-merge.d.ts.map +1 -0
  224. package/dist/workflow/state-merge.js +248 -0
  225. package/dist/workflow/state-merge.js.map +1 -0
  226. package/package.json +45 -0
@@ -0,0 +1,62 @@
1
+ import * as S from "effect/Schema";
2
+ import type { ToolParameterModel } from "../bundle-types.js";
3
+ import type { StateRepresentation } from "../state-representations.js";
4
+ /**
5
+ * Native int: accepts strict int or string that parses as integer.
6
+ * Mirrors Python's NativeInt = Annotated[Union[StrictInt, StrictStr], AfterValidator(_validate_string_contains_int)]
7
+ */
8
+ export declare const NativeInt: S.Schema.Any;
9
+ /**
10
+ * Native float: accepts strict int, strict float, or string that parses as number.
11
+ * Mirrors Python's NativeFloat = Annotated[Union[StrictInt, StrictFloat, StrictStr], AfterValidator(_validate_string_contains_number)]
12
+ */
13
+ export declare const NativeFloat: S.Schema.Any;
14
+ /**
15
+ * Analogous to Python's DynamicModelInformation.
16
+ * Carries the Effect Schema property spec for a single parameter field.
17
+ */
18
+ export interface DynamicSchemaInfo {
19
+ /** The field name in the generated struct (safe-escaped if needed) */
20
+ name: string;
21
+ /** The original parameter name (used as alias if name differs) */
22
+ alias?: string;
23
+ /** The Effect Schema for this field's value */
24
+ schema: S.Schema.Any;
25
+ /** Whether the field is optional (can be absent from the object) */
26
+ isOptional: boolean;
27
+ /** If true, generator already handled ConnectedValue wrapping — skip central wrapping */
28
+ connectedValueHandled?: boolean;
29
+ }
30
+ /**
31
+ * Context passed to generators, enabling container types to recurse
32
+ * into child parameters without circular imports on model-factory.
33
+ */
34
+ export interface GeneratorContext {
35
+ buildChildSchema(params: ToolParameterModel[], stateRep: StateRepresentation): S.Schema.Any | undefined;
36
+ buildChildSchemaInfos(params: ToolParameterModel[], stateRep: StateRepresentation): DynamicSchemaInfo[] | undefined;
37
+ assembleStruct(infos: DynamicSchemaInfo[]): S.Schema.Any;
38
+ }
39
+ /**
40
+ * A function that generates schema info for a parameter given a state representation.
41
+ */
42
+ export type ParameterSchemaGenerator = (param: ToolParameterModel, stateRep: StateRepresentation, ctx: GeneratorContext) => DynamicSchemaInfo;
43
+ /**
44
+ * Escape parameter names starting with '_' — mirrors Python's safe_field_name.
45
+ * Parameters starting with '_' get 'X' prefix with the original name as alias.
46
+ */
47
+ export declare function safeFieldName(name: string): {
48
+ name: string;
49
+ alias?: string;
50
+ };
51
+ /**
52
+ * Determine if a field can be absent from the object for a given state representation.
53
+ * Mirrors the Python logic spread across pydantic_template() methods.
54
+ *
55
+ * @param stateRep - the state representation being generated
56
+ * @param requestRequiresValue - whether this param requires a value in request context.
57
+ * For gx_integer: `!optional && value === null`
58
+ * For gx_text: always false (text fields always have a default)
59
+ * For gx_boolean: always false (boolean fields always have a default)
60
+ */
61
+ export declare function computeIsOptional(stateRep: StateRepresentation, requestRequiresValue: boolean): boolean;
62
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/schema/parameters/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AACnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGvE;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,GAOhC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,GAOlC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IACrB,oEAAoE;IACpE,UAAU,EAAE,OAAO,CAAC;IACpB,yFAAyF;IACzF,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,CACd,MAAM,EAAE,kBAAkB,EAAE,EAC5B,QAAQ,EAAE,mBAAmB,GAC5B,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC;IAC5B,qBAAqB,CACnB,MAAM,EAAE,kBAAkB,EAAE,EAC5B,QAAQ,EAAE,mBAAmB,GAC5B,iBAAiB,EAAE,GAAG,SAAS,CAAC;IACnC,cAAc,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,mBAAmB,EAC7B,GAAG,EAAE,gBAAgB,KAClB,iBAAiB,CAAC;AAEvB;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAK5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,mBAAmB,EAC7B,oBAAoB,EAAE,OAAO,GAC5B,OAAO,CAWT"}
@@ -0,0 +1,51 @@
1
+ import * as S from "effect/Schema";
2
+ import { requiresAllFields, allOptional } from "../state-representations.js";
3
+ /**
4
+ * Native int: accepts strict int or string that parses as integer.
5
+ * Mirrors Python's NativeInt = Annotated[Union[StrictInt, StrictStr], AfterValidator(_validate_string_contains_int)]
6
+ */
7
+ export const NativeInt = S.Union(S.Int, S.String.pipe(S.filter((s) => {
8
+ if (!/^-?\d+$/.test(s))
9
+ return `String '${s}' is not a valid integer`;
10
+ })));
11
+ /**
12
+ * Native float: accepts strict int, strict float, or string that parses as number.
13
+ * Mirrors Python's NativeFloat = Annotated[Union[StrictInt, StrictFloat, StrictStr], AfterValidator(_validate_string_contains_number)]
14
+ */
15
+ export const NativeFloat = S.Union(S.Number.pipe(S.finite()), S.String.pipe(S.filter((s) => {
16
+ if (isNaN(Number(s)) || s.trim() === "")
17
+ return `String '${s}' is not a valid number`;
18
+ })));
19
+ /**
20
+ * Escape parameter names starting with '_' — mirrors Python's safe_field_name.
21
+ * Parameters starting with '_' get 'X' prefix with the original name as alias.
22
+ */
23
+ export function safeFieldName(name) {
24
+ if (name.startsWith("_")) {
25
+ return { name: `X${name}`, alias: name };
26
+ }
27
+ return { name };
28
+ }
29
+ /**
30
+ * Determine if a field can be absent from the object for a given state representation.
31
+ * Mirrors the Python logic spread across pydantic_template() methods.
32
+ *
33
+ * @param stateRep - the state representation being generated
34
+ * @param requestRequiresValue - whether this param requires a value in request context.
35
+ * For gx_integer: `!optional && value === null`
36
+ * For gx_text: always false (text fields always have a default)
37
+ * For gx_boolean: always false (boolean fields always have a default)
38
+ */
39
+ export function computeIsOptional(stateRep, requestRequiresValue) {
40
+ if (requiresAllFields(stateRep)) {
41
+ // job_internal, job_runtime: all fields required
42
+ return false;
43
+ }
44
+ if (allOptional(stateRep)) {
45
+ // landing_request, landing_request_internal: all fields optional
46
+ return true;
47
+ }
48
+ // request and friends: required only if requestRequiresValue
49
+ return !requestRequiresValue;
50
+ }
51
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/schema/parameters/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAGnC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE7E;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAiB,CAAC,CAAC,KAAK,CAC5C,CAAC,CAAC,GAAG,EACL,CAAC,CAAC,MAAM,CAAC,IAAI,CACX,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE;IACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,WAAW,CAAC,0BAA0B,CAAC;AACxE,CAAC,CAAC,CACH,CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAiB,CAAC,CAAC,KAAK,CAC9C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EACzB,CAAC,CAAC,MAAM,CAAC,IAAI,CACX,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE;IACrB,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,WAAW,CAAC,yBAAyB,CAAC;AACxF,CAAC,CAAC,CACH,CACF,CAAC;AA4CF;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAA6B,EAC7B,oBAA6B;IAE7B,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,iDAAiD;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,iEAAiE;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,6DAA6D;IAC7D,OAAO,CAAC,oBAAoB,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=gx-baseurl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gx-baseurl.d.ts","sourceRoot":"","sources":["../../../src/schema/parameters/gx-baseurl.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import * as S from "effect/Schema";
2
+ import { safeFieldName, computeIsOptional, } from "./base.js";
3
+ import { registerParameterType } from "./registry.js";
4
+ function generateBaseUrlSchema(param, stateRep, _ctx) {
5
+ const p = param;
6
+ const { name, alias } = safeFieldName(p.name);
7
+ let schema = S.String;
8
+ if (p.optional) {
9
+ schema = S.NullOr(schema);
10
+ }
11
+ const requestRequiresValue = !p.optional && p.value === null;
12
+ const isOptional = computeIsOptional(stateRep, requestRequiresValue);
13
+ return { name, alias, schema, isOptional };
14
+ }
15
+ registerParameterType("gx_baseurl", generateBaseUrlSchema);
16
+ //# sourceMappingURL=gx-baseurl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gx-baseurl.js","sourceRoot":"","sources":["../../../src/schema/parameters/gx-baseurl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAGnC,OAAO,EACL,aAAa,EACb,iBAAiB,GAGlB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,SAAS,qBAAqB,CAC5B,KAAc,EACd,QAA6B,EAC7B,IAAsB;IAEtB,MAAM,CAAC,GAAG,KAA8B,CAAC;IACzC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE9C,IAAI,MAAM,GAAiB,CAAC,CAAC,MAAM,CAAC;IAEpC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,oBAAoB,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC;IAC7D,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAErE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAC7C,CAAC;AAED,qBAAqB,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=gx-boolean.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gx-boolean.d.ts","sourceRoot":"","sources":["../../../src/schema/parameters/gx-boolean.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import * as S from "effect/Schema";
2
+ import { allowsConnectedOrRuntimeValue } from "../state-representations.js";
3
+ import { ConnectedOrRuntimeValueSchema } from "../model-factory.js";
4
+ import { safeFieldName, computeIsOptional, } from "./base.js";
5
+ import { registerParameterType } from "./registry.js";
6
+ function generateBooleanSchema(param, stateRep, _ctx) {
7
+ const p = param;
8
+ const { name, alias } = safeFieldName(p.name);
9
+ let schema;
10
+ let connectedValueHandled = false;
11
+ if (allowsConnectedOrRuntimeValue(stateRep)) {
12
+ // Native booleans can be actual bools or strings "true"/"false"/"True"/"False"
13
+ let nativeBool = S.Union(S.Boolean, S.Literal("true", "false", "True", "False"));
14
+ if (p.optional) {
15
+ nativeBool = S.NullOr(nativeBool);
16
+ }
17
+ schema = S.Union(nativeBool, ConnectedOrRuntimeValueSchema);
18
+ connectedValueHandled = true;
19
+ }
20
+ else {
21
+ // Strict boolean — rejects strings like "true", null, objects
22
+ schema = S.Boolean;
23
+ }
24
+ // gx_boolean always has a default value, so never request-requires
25
+ const isOptional = computeIsOptional(stateRep, false);
26
+ return { name, alias, schema, isOptional, connectedValueHandled };
27
+ }
28
+ registerParameterType("gx_boolean", generateBooleanSchema);
29
+ //# sourceMappingURL=gx-boolean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gx-boolean.js","sourceRoot":"","sources":["../../../src/schema/parameters/gx-boolean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAGnC,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EACL,aAAa,EACb,iBAAiB,GAGlB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,SAAS,qBAAqB,CAC5B,KAAc,EACd,QAA6B,EAC7B,IAAsB;IAEtB,MAAM,CAAC,GAAG,KAA8B,CAAC;IACzC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE9C,IAAI,MAAoB,CAAC;IACzB,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAElC,IAAI,6BAA6B,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,+EAA+E;QAC/E,IAAI,UAAU,GAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YACf,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,6BAA6B,CAAC,CAAC;QAC5D,qBAAqB,GAAG,IAAI,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,8DAA8D;QAC9D,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,mEAAmE;IACnE,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEtD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC;AACpE,CAAC;AAED,qBAAqB,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=gx-color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gx-color.d.ts","sourceRoot":"","sources":["../../../src/schema/parameters/gx-color.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import * as S from "effect/Schema";
2
+ import { allowsConnectedOrRuntimeValue } from "../state-representations.js";
3
+ import { ConnectedOrRuntimeValueSchema } from "../model-factory.js";
4
+ import { safeFieldName, computeIsOptional, } from "./base.js";
5
+ import { registerParameterType } from "./registry.js";
6
+ function generateColorSchema(param, stateRep, _ctx) {
7
+ const p = param;
8
+ const { name, alias } = safeFieldName(p.name);
9
+ let schema;
10
+ let connectedValueHandled = false;
11
+ if (allowsConnectedOrRuntimeValue(stateRep)) {
12
+ // Native: color hex string or ConnectedValue/RuntimeValue
13
+ const colorSchema = S.String.pipe(S.pattern(/^#[0-9a-fA-F]{6}$/));
14
+ schema = S.Union(colorSchema, ConnectedOrRuntimeValueSchema);
15
+ connectedValueHandled = true;
16
+ }
17
+ else {
18
+ // Color is a hex string like #aabbcc — 7-char pattern
19
+ schema = S.String.pipe(S.pattern(/^#[0-9a-fA-F]{6}$/));
20
+ }
21
+ // gx_color always has a default value
22
+ const isOptional = computeIsOptional(stateRep, false);
23
+ return { name, alias, schema, isOptional, connectedValueHandled };
24
+ }
25
+ registerParameterType("gx_color", generateColorSchema);
26
+ //# sourceMappingURL=gx-color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gx-color.js","sourceRoot":"","sources":["../../../src/schema/parameters/gx-color.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAGnC,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EACL,aAAa,EACb,iBAAiB,GAGlB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,SAAS,mBAAmB,CAC1B,KAAc,EACd,QAA6B,EAC7B,IAAsB;IAEtB,MAAM,CAAC,GAAG,KAA4B,CAAC;IACvC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE9C,IAAI,MAAoB,CAAC;IACzB,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAElC,IAAI,6BAA6B,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,0DAA0D;QAC1D,MAAM,WAAW,GAAiB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAChF,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,6BAA6B,CAAC,CAAC;QAC7D,qBAAqB,GAAG,IAAI,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,sDAAsD;QACtD,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,sCAAsC;IACtC,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEtD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC;AACpE,CAAC;AAED,qBAAqB,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=gx-conditional.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gx-conditional.d.ts","sourceRoot":"","sources":["../../../src/schema/parameters/gx-conditional.ts"],"names":[],"mappings":""}
@@ -0,0 +1,56 @@
1
+ import * as S from "effect/Schema";
2
+ import { requiresAllFields, allowsConnectedOrRuntimeValue } from "../state-representations.js";
3
+ import { safeFieldName, computeIsOptional, } from "./base.js";
4
+ import { registerParameterType } from "./registry.js";
5
+ /** Check if a conditional's test_parameter is boolean-typed */
6
+ function isBooleanTest(p) {
7
+ return p.test_parameter.parameter_type === "gx_boolean";
8
+ }
9
+ function generateConditionalSchema(param, stateRep, ctx) {
10
+ const p = param;
11
+ const { name, alias } = safeFieldName(p.name);
12
+ const testParam = safeFieldName(p.test_parameter.name);
13
+ const isBoolean = isBooleanTest(p);
14
+ const isNative = allowsConnectedOrRuntimeValue(stateRep);
15
+ const branchSchemas = [];
16
+ // Boolean conditionals with only one branch: synthesize empty branch for
17
+ // missing discriminator. is_default_when=false is safe — the synthesized
18
+ // branch has no child params, so requiring the test param value is correct.
19
+ const definedDiscriminators = new Set(p.whens.map((w) => w.discriminator));
20
+ let whens = p.whens;
21
+ if (isBoolean && p.whens.length === 1) {
22
+ const missing = !definedDiscriminators.has(true) ? true : false;
23
+ whens = [...p.whens, { discriminator: missing, parameters: [], is_default_when: false }];
24
+ }
25
+ for (const when of whens) {
26
+ const childInfos = ctx.buildChildSchemaInfos(when.parameters, stateRep);
27
+ if (!childInfos) {
28
+ throw new Error(`Failed to build child schemas for conditional branch ${when.discriminator}`);
29
+ }
30
+ // test_parameter is optional only in the default branch for non-requiresAllFields states
31
+ const testParamOptional = !requiresAllFields(stateRep) && when.is_default_when;
32
+ // For native + boolean test, discriminator accepts both bool and string form
33
+ let testSchema;
34
+ if (isBoolean && isNative) {
35
+ const strForm = String(when.discriminator).toLowerCase();
36
+ testSchema = S.Union(S.Literal(when.discriminator), S.Literal(strForm));
37
+ }
38
+ else {
39
+ testSchema = S.Literal(when.discriminator);
40
+ }
41
+ const testParamInfo = {
42
+ name: testParam.name,
43
+ alias: testParam.alias,
44
+ schema: testSchema,
45
+ isOptional: testParamOptional,
46
+ };
47
+ const branchStruct = ctx.assembleStruct([testParamInfo, ...childInfos]);
48
+ branchSchemas.push(branchStruct);
49
+ }
50
+ const schema = branchSchemas.length === 1 ? branchSchemas[0] : S.Union(...branchSchemas);
51
+ // Conditionals always have defaults (via test_parameter default), never requestRequiresValue
52
+ const isOptional = computeIsOptional(stateRep, false);
53
+ return { name, alias, schema, isOptional };
54
+ }
55
+ registerParameterType("gx_conditional", generateConditionalSchema);
56
+ //# sourceMappingURL=gx-conditional.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gx-conditional.js","sourceRoot":"","sources":["../../../src/schema/parameters/gx-conditional.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=gx-data-collection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gx-data-collection.d.ts","sourceRoot":"","sources":["../../../src/schema/parameters/gx-data-collection.ts"],"names":[],"mappings":""}
@@ -0,0 +1,146 @@
1
+ import * as S from "effect/Schema";
2
+ import { usesStringIds, isWorkflowStep, isTestCase, allowsConnectedOrRuntimeValue, } from "../state-representations.js";
3
+ import { ConnectedOrRuntimeValueSchema } from "../model-factory.js";
4
+ import { safeFieldName, computeIsOptional, } from "./base.js";
5
+ import { registerParameterType } from "./registry.js";
6
+ /**
7
+ * Determine if a collection type uses array elements (list-like) or record elements (paired/record-like).
8
+ */
9
+ function isArrayElementType(ct) {
10
+ return ct === "list" || ct.startsWith("list:") || ct === "sample_sheet";
11
+ }
12
+ /**
13
+ * Build a job_runtime Collection schema variant for a specific collection_type.
14
+ */
15
+ function collectionVariant(ctLiteral, elementsSchema) {
16
+ return S.Struct({
17
+ class: S.Literal("Collection"),
18
+ name: S.String,
19
+ collection_type: ctLiteral,
20
+ tags: S.Array(S.Unknown),
21
+ elements: elementsSchema,
22
+ // Optional fields present on some collection types
23
+ column_definitions: S.optional(S.Array(S.Unknown)),
24
+ has_single_item: S.optional(S.Boolean),
25
+ });
26
+ }
27
+ /**
28
+ * Build the elements schema for a single (non-comma-separated) collection type.
29
+ * Handles nesting like "list:paired" recursively.
30
+ */
31
+ function elementsSchemaForType(ct) {
32
+ const colonIdx = ct.indexOf(":");
33
+ if (colonIdx === -1) {
34
+ // Leaf type
35
+ if (ct === "paired") {
36
+ // Paired requires forward + reverse keys (use Object to reject undefined/missing)
37
+ return S.Struct({
38
+ forward: S.Object,
39
+ reverse: S.Object,
40
+ });
41
+ }
42
+ if (isArrayElementType(ct)) {
43
+ return S.Array(S.Unknown);
44
+ }
45
+ // record, paired_or_unpaired — accept any record
46
+ return S.Record({ key: S.String, value: S.Unknown });
47
+ }
48
+ // Nested: e.g., "list:paired" → outer is list (array), inner is a Collection of type "paired"
49
+ const innerType = ct.slice(colonIdx + 1);
50
+ const innerSchema = collectionVariant(S.Literal(innerType), elementsSchemaForType(innerType));
51
+ return S.Array(innerSchema);
52
+ }
53
+ /**
54
+ * Build schema for test_case collection elements.
55
+ * Recursive: elements can be File or nested Collection.
56
+ */
57
+ function buildTestCaseCollectionSchema() {
58
+ const testCaseFile = S.Struct({
59
+ class: S.Literal("File"),
60
+ identifier: S.String,
61
+ path: S.String,
62
+ });
63
+ const testCaseElement = S.Union(testCaseFile, S.suspend(() => S.Struct({
64
+ class: S.Literal("Collection"),
65
+ collection_type: S.String,
66
+ identifier: S.optional(S.String),
67
+ elements: S.Array(testCaseElement),
68
+ })));
69
+ return S.Struct({
70
+ class: S.Literal("Collection"),
71
+ collection_type: S.String,
72
+ name: S.optional(S.String),
73
+ elements: S.Array(testCaseElement),
74
+ });
75
+ }
76
+ function buildJobRuntimeCollectionSchema(collectionType) {
77
+ if (collectionType === null) {
78
+ // Any collection type — permissive
79
+ return collectionVariant(S.String, S.Union(S.Array(S.Unknown), S.Record({ key: S.String, value: S.Unknown })));
80
+ }
81
+ // Split "list,paired" into individual allowed types
82
+ const types = collectionType.split(",").map((t) => t.trim());
83
+ const variants = types.map((ct) => collectionVariant(S.Literal(ct), elementsSchemaForType(ct)));
84
+ return variants.length === 1 ? variants[0] : S.Union(...variants);
85
+ }
86
+ function generateDataCollectionSchema(param, stateRep, _ctx) {
87
+ const p = param;
88
+ const { name, alias } = safeFieldName(p.name);
89
+ let schema;
90
+ let connectedValueHandled = false;
91
+ if (allowsConnectedOrRuntimeValue(stateRep)) {
92
+ // Native: ConnectedValue or RuntimeValue only
93
+ schema = ConnectedOrRuntimeValueSchema;
94
+ if (p.optional) {
95
+ schema = S.NullOr(schema);
96
+ }
97
+ connectedValueHandled = true;
98
+ }
99
+ else if (isWorkflowStep(stateRep)) {
100
+ // workflow_step: absent only. workflow_step_linked: ConnectedValue (added centrally).
101
+ schema = S.Never.annotations({ jsonSchema: { not: {} } });
102
+ }
103
+ else if (isTestCase(stateRep)) {
104
+ schema = buildTestCaseCollectionSchema();
105
+ }
106
+ else if (stateRep === "job_runtime") {
107
+ schema = buildJobRuntimeCollectionSchema(p.collection_type);
108
+ }
109
+ else {
110
+ const idSchema = usesStringIds(stateRep) ? S.String : S.Int;
111
+ // HDCA reference
112
+ const hdcaSource = S.Struct({ src: S.Literal("hdca"), id: idSchema });
113
+ // Inline collection definition
114
+ const inlineCollection = S.Struct({
115
+ class: S.Literal("Collection"),
116
+ collection_type: S.String,
117
+ elements: S.Array(S.Unknown),
118
+ });
119
+ const parts = [hdcaSource];
120
+ // job_internal also allows dce source
121
+ if (stateRep === "job_internal") {
122
+ const dceSource = S.Struct({ src: S.Literal("dce"), id: idSchema });
123
+ parts.push(dceSource);
124
+ }
125
+ // Inline collection valid for most reps (not request_internal_dereferenced or job_internal)
126
+ if (stateRep !== "request_internal_dereferenced" && stateRep !== "job_internal") {
127
+ parts.push(inlineCollection);
128
+ }
129
+ schema = parts.length === 1 ? parts[0] : S.Union(...parts);
130
+ }
131
+ if (p.optional && !isWorkflowStep(stateRep) && !connectedValueHandled) {
132
+ schema = S.NullOr(schema);
133
+ }
134
+ // workflow_step: data always optional (absent only)
135
+ let isOptional;
136
+ if (stateRep === "workflow_step") {
137
+ isOptional = true;
138
+ }
139
+ else {
140
+ const requestRequiresValue = !p.optional;
141
+ isOptional = computeIsOptional(stateRep, requestRequiresValue);
142
+ }
143
+ return { name, alias, schema, isOptional, connectedValueHandled };
144
+ }
145
+ registerParameterType("gx_data_collection", generateDataCollectionSchema);
146
+ //# sourceMappingURL=gx-data-collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gx-data-collection.js","sourceRoot":"","sources":["../../../src/schema/parameters/gx-data-collection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=gx-data-column.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gx-data-column.d.ts","sourceRoot":"","sources":["../../../src/schema/parameters/gx-data-column.ts"],"names":[],"mappings":""}
@@ -0,0 +1,49 @@
1
+ import * as S from "effect/Schema";
2
+ import { allowsConnectedOrRuntimeValue } from "../state-representations.js";
3
+ import { ConnectedOrRuntimeValueSchema } from "../model-factory.js";
4
+ import { safeFieldName, computeIsOptional, NativeInt, } from "./base.js";
5
+ import { registerParameterType } from "./registry.js";
6
+ function generateDataColumnSchema(param, stateRep, _ctx) {
7
+ const p = param;
8
+ const { name, alias } = safeFieldName(p.name);
9
+ let schema;
10
+ let connectedValueHandled = false;
11
+ if (allowsConnectedOrRuntimeValue(stateRep)) {
12
+ // Native: NativeInt (int or string-int), multiple allows list or comma-delimited string
13
+ if (p.multiple) {
14
+ schema = S.Union(S.Array(NativeInt), S.String);
15
+ }
16
+ else {
17
+ schema = NativeInt;
18
+ }
19
+ if (p.optional) {
20
+ schema = S.NullOr(schema);
21
+ }
22
+ schema = S.Union(schema, ConnectedOrRuntimeValueSchema);
23
+ connectedValueHandled = true;
24
+ // data_column in native always optional (mirrors workflow_step_linked behavior)
25
+ return { name, alias, schema, isOptional: true, connectedValueHandled };
26
+ }
27
+ if (p.multiple) {
28
+ // test_case_xml uses comma-separated string for multiple columns
29
+ if (stateRep === "test_case_xml") {
30
+ schema = S.String;
31
+ }
32
+ else {
33
+ schema = S.Array(S.Int);
34
+ }
35
+ }
36
+ else {
37
+ schema = S.Int;
38
+ }
39
+ if (p.optional) {
40
+ schema = S.NullOr(schema);
41
+ }
42
+ // Has a default if value is not null
43
+ const hasDefault = p.value !== null;
44
+ const requestRequiresValue = !p.optional && !hasDefault;
45
+ const isOptional = computeIsOptional(stateRep, requestRequiresValue);
46
+ return { name, alias, schema, isOptional, connectedValueHandled };
47
+ }
48
+ registerParameterType("gx_data_column", generateDataColumnSchema);
49
+ //# sourceMappingURL=gx-data-column.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gx-data-column.js","sourceRoot":"","sources":["../../../src/schema/parameters/gx-data-column.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAGnC,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,SAAS,GAGV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,SAAS,wBAAwB,CAC/B,KAAc,EACd,QAA6B,EAC7B,IAAsB;IAEtB,MAAM,CAAC,GAAG,KAAiC,CAAC;IAC5C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE9C,IAAI,MAAoB,CAAC;IACzB,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAElC,IAAI,6BAA6B,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,wFAAwF;QACxF,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;QACxD,qBAAqB,GAAG,IAAI,CAAC;QAC7B,gFAAgF;QAChF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QACf,iEAAiE;QACjE,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;YACjC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,qCAAqC;IACrC,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC;IACpC,MAAM,oBAAoB,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC;IACxD,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAErE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC;AACpE,CAAC;AAED,qBAAqB,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=gx-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gx-data.d.ts","sourceRoot":"","sources":["../../../src/schema/parameters/gx-data.ts"],"names":[],"mappings":""}