@parallelworks/ui 0.1.0 → 0.2.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 (102) hide show
  1. package/dist/assets/editor.worker-CuBRIwi-.js +14776 -0
  2. package/dist/assets/json.worker-8ytS02vz.js +22161 -0
  3. package/dist/assets/yaml.worker-DJC-VUcv.js +48367 -0
  4. package/dist/chunks/Indicator-fF8AVbjQ.js +158 -0
  5. package/dist/chunks/Loader-DQiZ75fa.js +25 -0
  6. package/dist/chunks/MarkdownImpl-Bq4QhrtA.js +33 -0
  7. package/dist/chunks/Monaco-CP_cL9gp.js +745 -0
  8. package/dist/chunks/Provider-C2VtPnh5.js +151 -0
  9. package/dist/chunks/SwitchToggleSmall-FcsaYSTs.js +14 -0
  10. package/dist/chunks/Table-DWuRINhu.js +855 -0
  11. package/dist/chunks/Tooltip-WgbiC_nd.js +71 -0
  12. package/dist/chunks/lib-DTgL8klR.js +191 -0
  13. package/dist/chunks/workers-Cjfjb8E7.js +119 -0
  14. package/dist/components/CollapsiblePanel.d.ts +27 -0
  15. package/dist/components/CopyToClipboard.d.ts +17 -0
  16. package/dist/components/Dropdown.d.ts +24 -0
  17. package/dist/components/Indicator.d.ts +4 -0
  18. package/dist/components/Listbox.d.ts +18 -0
  19. package/dist/components/Markdown.d.ts +7 -0
  20. package/dist/components/MarkdownImpl.d.ts +2 -0
  21. package/dist/components/MultiSelect.d.ts +19 -0
  22. package/dist/components/Overview.d.ts +12 -0
  23. package/dist/components/Provider.d.ts +145 -0
  24. package/dist/components/SectionHeader.d.ts +6 -0
  25. package/dist/components/SwitchToggle.d.ts +12 -0
  26. package/dist/components/SwitchToggleSmall.d.ts +6 -0
  27. package/dist/components/dropdownUtils.d.ts +18 -0
  28. package/dist/editor/Editor.d.ts +2 -0
  29. package/dist/editor/EditorField.d.ts +11 -0
  30. package/dist/editor/FormCodePanel.d.ts +8 -0
  31. package/dist/editor/Monaco.d.ts +31 -0
  32. package/dist/editor/index.d.ts +6 -0
  33. package/dist/editor/index.js +219 -0
  34. package/dist/editor/themes.d.ts +4 -0
  35. package/dist/editor/workers.d.ts +6 -0
  36. package/dist/form/FieldWrapper.d.ts +10 -0
  37. package/dist/form/Fields/BooleanField.d.ts +12 -0
  38. package/dist/form/Fields/BucketReadOnlyField.d.ts +7 -0
  39. package/dist/form/Fields/CheckboxGroupField.d.ts +18 -0
  40. package/dist/form/Fields/ColorField.d.ts +8 -0
  41. package/dist/form/Fields/DropdownField.d.ts +24 -0
  42. package/dist/form/Fields/DurationField.d.ts +13 -0
  43. package/dist/form/Fields/LabelField.d.ts +9 -0
  44. package/dist/form/Fields/MultiDropdownField.d.ts +18 -0
  45. package/dist/form/Fields/NumberField.d.ts +13 -0
  46. package/dist/form/Fields/ObjectField.d.ts +8 -0
  47. package/dist/form/Fields/RadioField.d.ts +9 -0
  48. package/dist/form/Fields/RangeField.d.ts +11 -0
  49. package/dist/form/Fields/ResourceOptionIcon.d.ts +11 -0
  50. package/dist/form/Fields/StepField.d.ts +3 -0
  51. package/dist/form/Fields/StringField.d.ts +17 -0
  52. package/dist/form/Fields/TextAreaField.d.ts +8 -0
  53. package/dist/form/Fields/durationValidity.d.ts +2 -0
  54. package/dist/form/Form.d.ts +105 -0
  55. package/dist/form/SpecialTypes/DropdownWrapper.d.ts +14 -0
  56. package/dist/form/SpecialTypes/FormikCustomDropdown.d.ts +53 -0
  57. package/dist/form/SpecialTypes/FormikCustomInput.d.ts +17 -0
  58. package/dist/form/SpecialTypes/FormikMultiSelectDropdown.d.ts +13 -0
  59. package/dist/form/SpecialTypes/FormikNumericInput.d.ts +9 -0
  60. package/dist/form/SpecialTypes/index.d.ts +3 -0
  61. package/dist/form/Wizard/WizardContainer.d.ts +5 -0
  62. package/dist/form/Wizard/WizardNavigation.d.ts +2 -0
  63. package/dist/form/Wizard/WizardStepContent.d.ts +8 -0
  64. package/dist/form/Wizard/WizardStepIndicator.d.ts +2 -0
  65. package/dist/form/Wizard/types.d.ts +171 -0
  66. package/dist/form/Wizard/useWizardState.d.ts +28 -0
  67. package/dist/form/Wizard/utils.d.ts +2 -0
  68. package/dist/form/fieldRegistry.d.ts +7 -0
  69. package/dist/form/index.d.ts +16 -0
  70. package/dist/form/index.js +2317 -0
  71. package/dist/form/lib.d.ts +15 -0
  72. package/dist/form/types/fieldComponentTypes.d.ts +32 -0
  73. package/dist/form/types/fieldTypes.d.ts +80 -0
  74. package/dist/form/types/workflow-schema.d.ts +1107 -0
  75. package/dist/form/useParsedOpts.d.ts +5 -0
  76. package/dist/form/usePrevious.d.ts +1 -0
  77. package/dist/form/utils/checkShowIfObject.d.ts +1 -0
  78. package/dist/form/utils/getParentValue.d.ts +1 -0
  79. package/dist/form/utils/getPlaceholder.d.ts +2 -0
  80. package/dist/form/utils/getValueUsingPath.d.ts +1 -0
  81. package/dist/form/utils/pwResolver.d.ts +18 -0
  82. package/dist/form/utils/secondaryField.d.ts +8 -0
  83. package/dist/form/utils/slurmDuration.d.ts +15 -0
  84. package/dist/icons.d.ts +1 -1
  85. package/dist/icons.js +2 -2
  86. package/dist/index.d.ts +17 -0
  87. package/dist/index.js +107 -323
  88. package/dist/logviewer/LogViewer.d.ts +18 -0
  89. package/dist/logviewer/index.d.ts +1 -0
  90. package/dist/logviewer/index.js +534 -0
  91. package/dist/logviewer/logviewer.css +70 -0
  92. package/dist/styles.css +1 -1
  93. package/dist/workflow/AnnotationBanner.d.ts +5 -0
  94. package/dist/workflow/Collapse.d.ts +6 -0
  95. package/dist/workflow/DependencyGraph.d.ts +15 -0
  96. package/dist/workflow/JobSummary.d.ts +38 -0
  97. package/dist/workflow/MatrixGroup.d.ts +41 -0
  98. package/dist/workflow/Reveal.d.ts +7 -0
  99. package/dist/workflow/TreeView.d.ts +42 -0
  100. package/dist/workflow/index.d.ts +1 -0
  101. package/dist/workflow/index.js +2330 -0
  102. package/package.json +60 -6
@@ -0,0 +1,1107 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated by json-schema-to-typescript.
4
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
5
+ * and run json-schema-to-typescript to regenerate this file.
6
+ */
7
+
8
+ export type Timeout = {
9
+ [k: string]: unknown;
10
+ };
11
+ export type Timeout1 = string;
12
+ /**
13
+ * The field's label
14
+ */
15
+ export type Label = string;
16
+ /**
17
+ * A description of the field
18
+ */
19
+ export type Description = string;
20
+ /**
21
+ * Whether the field will be hidden in the inputs form (default: false)
22
+ */
23
+ export type Hidden = string | boolean;
24
+ /**
25
+ * A string that pops up when user hovers over field
26
+ */
27
+ export type Tooltip = string;
28
+ /**
29
+ * Whether the value of the field is not stored on submission (default: false)
30
+ */
31
+ export type Ignore = string | boolean;
32
+ /**
33
+ * Whether the field is optional or not (default: false)
34
+ */
35
+ export type Optional = string | boolean;
36
+ /**
37
+ * Whether the field will be disabled/locked in the inputs form (default: false)
38
+ */
39
+ export type Disabled = string | boolean;
40
+ /**
41
+ * Whether this field will auto select the first option on the list (default: false)
42
+ */
43
+ export type Autoselect =
44
+ | string
45
+ | {
46
+ [k: string]: unknown;
47
+ }
48
+ | boolean;
49
+ /**
50
+ * The minimum value of the field
51
+ */
52
+ export type Min = string | number;
53
+ /**
54
+ * The maximum value of the field
55
+ */
56
+ export type Max = string | number;
57
+ /**
58
+ * The step value of the field
59
+ */
60
+ export type Step = string | number;
61
+ /**
62
+ * A placeholder for the field. If not specified, the default value will be used as placeholder. To opt-out, explicitly set placeholder to an empty string. (default: none)
63
+ */
64
+ export type Placeholder = string;
65
+ export type Csp =
66
+ | ("aws" | "azure" | "google" | "openstack")
67
+ | {
68
+ [k: string]: unknown;
69
+ };
70
+ export type Csp1 = string;
71
+ /**
72
+ * The resource from which we get options for slurm accounts, paritions, or qos
73
+ */
74
+ export type Resource = string;
75
+ /**
76
+ * The account to be used for slurm paritions or qos
77
+ */
78
+ export type Account = string;
79
+
80
+ export interface WorkflowSchema {
81
+ permissions?: string[];
82
+ sessions?: {
83
+ /**
84
+ * This interface was referenced by `undefined`'s JSON-Schema definition
85
+ * via the `patternProperty` "^.*$".
86
+ */
87
+ [k: string]: null | {
88
+ /**
89
+ * If null, the user will be prompted to name the session before workflow execution. If default is defined, the passed default will be used.
90
+ */
91
+ "prompt-for-name"?: null | {
92
+ /**
93
+ * The default name for the session
94
+ */
95
+ default?: string;
96
+ [k: string]: unknown;
97
+ };
98
+ /**
99
+ * If true, the user will be redirected to this session once the workflow is executed. Only one session is allowed to have this set to true.
100
+ */
101
+ redirect?: string | boolean;
102
+ /**
103
+ * If true, will use HTTPS to connect to the session. This should only be enabled if the app requires it.
104
+ */
105
+ useTLS?: string | boolean;
106
+ /**
107
+ * The type of session to be created. (default: tunnel)
108
+ */
109
+ type?: "tunnel" | "link";
110
+ /**
111
+ * If true, will use a custom domain to connect to the session. This should only be enabled if the app requires it.
112
+ */
113
+ useCustomDomain?: string | boolean;
114
+ /**
115
+ * If true, will mark the session as providing an OpenAI API, and connect it to the built-in chat interface.
116
+ */
117
+ openAI?: string | boolean;
118
+ /**
119
+ * If true, the session will persist when the workflow run reaches a terminal status (completed, error, canceled). It will only be removed if the user manually deletes the session. Default: false.
120
+ */
121
+ detach?: string | boolean;
122
+ };
123
+ };
124
+ /**
125
+ * environment variables to use for this workflow
126
+ */
127
+ env?: {
128
+ /**
129
+ * This interface was referenced by `undefined`'s JSON-Schema definition
130
+ * via the `patternProperty` "^[a-zA-Z0-9_]+$".
131
+ */
132
+ [k: string]: string;
133
+ };
134
+ needs?: {
135
+ /**
136
+ * Organization variables that must be set for this workflow to run
137
+ *
138
+ * @minItems 1
139
+ */
140
+ organizationVariables?: [string, ...string[]];
141
+ /**
142
+ * User variables this workflow needs access to. Can be an object where each key is a variable name mapping to {hint: string}, or a simple array of variable name strings.
143
+ */
144
+ userVariables?:
145
+ | {
146
+ /**
147
+ * This interface was referenced by `undefined`'s JSON-Schema definition
148
+ * via the `patternProperty` "^[a-zA-Z0-9_-]+$".
149
+ */
150
+ [k: string]: {
151
+ /**
152
+ * A message explaining why the workflow needs access to this variable
153
+ */
154
+ hint?: string;
155
+ };
156
+ }
157
+ | string[]
158
+ | string;
159
+ };
160
+ /**
161
+ * Maximum amount of time allowed, as bare seconds (300) or a suffixed duration (200s, 10m, 2h). After the timeout passes, the running command will automatically be killed and will fail.
162
+ */
163
+ timeout?: Timeout & Timeout1;
164
+ /**
165
+ * The jobs this workflow will run. Each job must define a list of steps to be executed using the `steps` field. By default, all jobs run in parallel. If a job needs to depend on the completion of another job, it can be specified using the `needs` field.
166
+ */
167
+ jobs: {
168
+ /**
169
+ * A job to be run in the workflow. The name of the job must be unique within the workflow.
170
+ *
171
+ * This interface was referenced by `undefined`'s JSON-Schema definition
172
+ * via the `patternProperty` "^[a-z0-9_-]{1,255}$".
173
+ */
174
+ [k: string]: {
175
+ /**
176
+ * environment variables to use for this job
177
+ */
178
+ env?: {
179
+ /**
180
+ * This interface was referenced by `undefined`'s JSON-Schema definition
181
+ * via the `patternProperty` "^[a-zA-Z0-9_]+$".
182
+ */
183
+ [k: string]: string;
184
+ };
185
+ /**
186
+ * prevents a job from running unless conditional evaluates to true.
187
+ */
188
+ if?: boolean | string;
189
+ /**
190
+ * Directory that this command is run in, path will be created if it does not exist.
191
+ */
192
+ "working-directory"?: string;
193
+ /**
194
+ * Execute this job on a remote host.
195
+ */
196
+ ssh?: {
197
+ /**
198
+ * The jump node's hostname or IP address for the SSH connection. Optional, defaults to no jump node.
199
+ */
200
+ jumpNodeHost?: string;
201
+ /**
202
+ * The username we use when we attempt to connect to the jump node. Defaults to your pw username.
203
+ */
204
+ jumpNodeUser?: string;
205
+ /**
206
+ * The remote host's hostname or IP address for the SSH connection.
207
+ */
208
+ remoteHost: string;
209
+ /**
210
+ * The username we use when we attempt to connect to the remote host. Defaults to your pw username.
211
+ */
212
+ remoteUser?: string;
213
+ /**
214
+ * How long to tolerate a lost connection to the remote host before failing the step: bare seconds (300) or a suffixed duration (5m, 2h); an invalid value fails the step. Default 300s; 0 fails on the first drop; a negative value retries indefinitely. The timer resets on each successful reconnect. May be a `${{ }}` expression.
215
+ */
216
+ "disconnect-timeout"?: number | string;
217
+ };
218
+ /**
219
+ * Step outputs to be published such that other jobs can access them. For example, `published_name: ${{ needs.build.steps.step_id.outputs.output_name }}`
220
+ */
221
+ outputs?: {
222
+ /**
223
+ * This interface was referenced by `undefined`'s JSON-Schema definition
224
+ * via the `patternProperty` "^[a-zA-Z0-9_-]+$".
225
+ */
226
+ [k: string]: string;
227
+ };
228
+ /**
229
+ * A list of steps to be executed. These are executed in order, and if any step fails, the job will fail. Each step can be a command to run using the `run` field, or another workflow to run by using the `uses` field.
230
+ */
231
+ steps: {
232
+ [k: string]: unknown;
233
+ }[];
234
+ /**
235
+ * A list of jobs that must complete before this job can start. If a job fails, all jobs that depend on it will not run. For matrix jobs, append ':any' to wait for any instance instead of all (e.g. 'build:any').
236
+ */
237
+ needs?: string[] | string;
238
+ /**
239
+ * Maximum amount of time allowed, as bare seconds (300) or a suffixed duration (200s, 10m, 2h). After the timeout passes, the running command will automatically be killed and will fail.
240
+ */
241
+ timeout?: Timeout & Timeout1;
242
+ /**
243
+ * Matrix strategy for running a job with multiple configurations. The job runs once for every combination of matrix values.
244
+ */
245
+ strategy?: {
246
+ /**
247
+ * Matrix variables. Each key maps to an array of values. The job runs for every combination of all variables.
248
+ */
249
+ matrix: {
250
+ /**
251
+ * Additional matrix combinations to include or augment. Entries matching existing combinations on all regular keys merge extra keys; non-matching entries are added as new combinations.
252
+ */
253
+ include?:
254
+ | {
255
+ [k: string]: unknown;
256
+ }[]
257
+ | string;
258
+ /**
259
+ * Matrix combinations to exclude. Any combination matching all fields in an exclude entry is removed.
260
+ */
261
+ exclude?:
262
+ | {
263
+ [k: string]: unknown;
264
+ }[]
265
+ | string;
266
+ [k: string]: unknown[] | string;
267
+ };
268
+ /**
269
+ * If true (default), cancel in-progress matrix jobs when any one fails.
270
+ */
271
+ "fail-fast"?: boolean | string;
272
+ /**
273
+ * Maximum number of matrix jobs that can run simultaneously.
274
+ */
275
+ "max-parallel"?: number | string;
276
+ };
277
+ };
278
+ };
279
+ /**
280
+ * Events that trigger the workflow. The workflow will run when any of the events occur.
281
+ */
282
+ on?: {
283
+ /**
284
+ * This event is triggered when the workflow is manually executed.
285
+ */
286
+ execute: {
287
+ inputs: Inputs;
288
+ };
289
+ };
290
+ /**
291
+ * An array of predefined configurations to execute a workflow
292
+ */
293
+ configurations?: {
294
+ /**
295
+ * Name of the configuration
296
+ *
297
+ * This interface was referenced by `undefined`'s JSON-Schema definition
298
+ * via the `patternProperty` "^[a-z0-9_-]{1,255}$".
299
+ */
300
+ [k: string]: {
301
+ /**
302
+ * The input values of the configuration. Must match inputs defined in on.execute.inputs
303
+ */
304
+ inputs?: {
305
+ [k: string]: unknown;
306
+ };
307
+ [k: string]: unknown;
308
+ };
309
+ };
310
+ }
311
+ /**
312
+ * The inputs for the workflow, which will be available in all jobs as the `inputs` context whenever the workflow is manually executed.
313
+ */
314
+ export interface Inputs {
315
+ /**
316
+ * JSON Schema reference for IDE validation
317
+ */
318
+ $schema?: string;
319
+ $meta?: {
320
+ labelPosition?: "left" | "top";
321
+ wizard?: {
322
+ /**
323
+ * Enable wizard mode for multi-step input collection
324
+ */
325
+ mode: "wizard";
326
+ navigation?: {
327
+ /**
328
+ * Show step indicator (default: true)
329
+ */
330
+ showSteps?: boolean | string;
331
+ /**
332
+ * Allow jumping to visited steps (default: false)
333
+ */
334
+ allowJump?: boolean | string;
335
+ /**
336
+ * Hide step numbers in indicator (default: false)
337
+ */
338
+ hideStepNumbers?: boolean | string;
339
+ };
340
+ /**
341
+ * Label for final submit button (default: 'Execute')
342
+ */
343
+ submitLabel?: string;
344
+ /**
345
+ * Flatten step fields into the top-level inputs object (default: true). Set to false to preserve step keys as nested objects.
346
+ */
347
+ flatten?: boolean;
348
+ };
349
+ };
350
+ /**
351
+ * This interface was referenced by `Inputs`'s JSON-Schema definition
352
+ * via the `patternProperty` "^[a-zA-Z0-9_-]+$".
353
+ */
354
+ [k: string]:
355
+ | KubernetesClustersField
356
+ | KubernetesNamespacesField
357
+ | KubernetesPodsField
358
+ | KubernetesPvcField
359
+ | KubernetesSecretsField
360
+ | KubernetesConfigmapsField
361
+ | KubernetesStatefulsetsField
362
+ | KubernetesDeploymentsField
363
+ | KubernetesServicesField
364
+ | KubernetesWorkloadsField
365
+ | NumberField
366
+ | BooleanField
367
+ | StringField
368
+ | DropdownField
369
+ | DynamicDropdownField
370
+ | RegionField
371
+ | ZoneField
372
+ | MultiDropdownField
373
+ | ListField
374
+ | EditorField
375
+ | GroupField
376
+ | InstanceTypeField
377
+ | ComputeResourceField
378
+ | BucketField
379
+ | ColorPickerField
380
+ | HeaderField
381
+ | OrganizationGroupsField
382
+ | SlurmAccountsField
383
+ | SlurmPartitionsField
384
+ | SlurmQosField
385
+ | PbsQueuesField
386
+ | StepField
387
+ | PasswordField;
388
+ }
389
+ export interface KubernetesClustersField {
390
+ type?: "kubernetes-clusters";
391
+ default?:
392
+ | string
393
+ | {
394
+ [k: string]: unknown;
395
+ };
396
+ label?: Label;
397
+ description?: Description;
398
+ hidden?: Hidden;
399
+ tooltip?: Tooltip;
400
+ ignore?: Ignore;
401
+ optional?: Optional;
402
+ disabled?: Disabled;
403
+ autoselect?: Autoselect;
404
+ }
405
+ export interface KubernetesNamespacesField {
406
+ type: "kubernetes-namespaces";
407
+ default?:
408
+ | string
409
+ | {
410
+ [k: string]: unknown;
411
+ };
412
+ label?: Label;
413
+ description?: Description;
414
+ hidden?: Hidden;
415
+ tooltip?: Tooltip;
416
+ ignore?: Ignore;
417
+ optional?: Optional;
418
+ disabled?: Disabled;
419
+ clusterName: string;
420
+ autoselect?: Autoselect;
421
+ }
422
+ export interface KubernetesPodsField {
423
+ type: "kubernetes-pods";
424
+ default?:
425
+ | string
426
+ | {
427
+ [k: string]: unknown;
428
+ };
429
+ label?: Label;
430
+ description?: Description;
431
+ hidden?: Hidden;
432
+ tooltip?: Tooltip;
433
+ ignore?: Ignore;
434
+ optional?: Optional;
435
+ disabled?: Disabled;
436
+ clusterName: string;
437
+ namespace: string;
438
+ autoselect?: Autoselect;
439
+ }
440
+ export interface KubernetesPvcField {
441
+ type: "kubernetes-pvc";
442
+ default?:
443
+ | string
444
+ | {
445
+ [k: string]: unknown;
446
+ };
447
+ label?: Label;
448
+ description?: Description;
449
+ hidden?: Hidden;
450
+ tooltip?: Tooltip;
451
+ ignore?: Ignore;
452
+ optional?: Optional;
453
+ disabled?: Disabled;
454
+ clusterName: string;
455
+ namespace: string;
456
+ autoselect?: Autoselect;
457
+ }
458
+ export interface KubernetesSecretsField {
459
+ type: "kubernetes-secrets";
460
+ default?:
461
+ | string
462
+ | {
463
+ [k: string]: unknown;
464
+ };
465
+ label?: Label;
466
+ description?: Description;
467
+ hidden?: Hidden;
468
+ tooltip?: Tooltip;
469
+ ignore?: Ignore;
470
+ optional?: Optional;
471
+ disabled?: Disabled;
472
+ clusterName: string;
473
+ namespace: string;
474
+ autoselect?: Autoselect;
475
+ }
476
+ export interface KubernetesConfigmapsField {
477
+ type: "kubernetes-configmaps";
478
+ default?:
479
+ | string
480
+ | {
481
+ [k: string]: unknown;
482
+ };
483
+ label?: Label;
484
+ description?: Description;
485
+ hidden?: Hidden;
486
+ tooltip?: Tooltip;
487
+ ignore?: Ignore;
488
+ optional?: Optional;
489
+ disabled?: Disabled;
490
+ clusterName: string;
491
+ namespace: string;
492
+ autoselect?: Autoselect;
493
+ }
494
+ export interface KubernetesStatefulsetsField {
495
+ type: "kubernetes-statefulsets";
496
+ default?:
497
+ | string
498
+ | {
499
+ [k: string]: unknown;
500
+ };
501
+ label?: Label;
502
+ description?: Description;
503
+ hidden?: Hidden;
504
+ tooltip?: Tooltip;
505
+ ignore?: Ignore;
506
+ optional?: Optional;
507
+ disabled?: Disabled;
508
+ clusterName: string;
509
+ namespace: string;
510
+ autoselect?: Autoselect;
511
+ }
512
+ export interface KubernetesDeploymentsField {
513
+ type: "kubernetes-deployments";
514
+ default?:
515
+ | string
516
+ | {
517
+ [k: string]: unknown;
518
+ };
519
+ label?: Label;
520
+ description?: Description;
521
+ hidden?: Hidden;
522
+ tooltip?: Tooltip;
523
+ ignore?: Ignore;
524
+ optional?: Optional;
525
+ disabled?: Disabled;
526
+ clusterName: string;
527
+ namespace: string;
528
+ autoselect?: Autoselect;
529
+ }
530
+ export interface KubernetesServicesField {
531
+ type: "kubernetes-services";
532
+ default?:
533
+ | string
534
+ | {
535
+ [k: string]: unknown;
536
+ };
537
+ label?: Label;
538
+ description?: Description;
539
+ hidden?: Hidden;
540
+ tooltip?: Tooltip;
541
+ ignore?: Ignore;
542
+ optional?: Optional;
543
+ disabled?: Disabled;
544
+ clusterName: string;
545
+ namespace: string;
546
+ autoselect?: Autoselect;
547
+ }
548
+ export interface KubernetesWorkloadsField {
549
+ type: "kubernetes-workloads";
550
+ default?:
551
+ | string
552
+ | {
553
+ [k: string]: unknown;
554
+ };
555
+ label?: Label;
556
+ description?: Description;
557
+ hidden?: Hidden;
558
+ tooltip?: Tooltip;
559
+ ignore?: Ignore;
560
+ optional?: Optional;
561
+ disabled?: Disabled;
562
+ clusterName: string;
563
+ namespace: string;
564
+ autoselect?: Autoselect;
565
+ }
566
+ export interface NumberField {
567
+ type: "number";
568
+ default?: string | number;
569
+ label?: Label;
570
+ description?: Description;
571
+ hidden?: Hidden;
572
+ tooltip?: Tooltip;
573
+ ignore?: Ignore;
574
+ optional?: Optional;
575
+ disabled?: Disabled;
576
+ min?: Min;
577
+ max?: Max;
578
+ step?: Step;
579
+ /**
580
+ * Whether we have a numerical slider or not for the field (default: false). When true, min, max, and step are required.
581
+ */
582
+ slider?: string | boolean;
583
+ }
584
+ export interface BooleanField {
585
+ type: "boolean";
586
+ default?: string | boolean;
587
+ label?: Label;
588
+ description?: Description;
589
+ hidden?: Hidden;
590
+ tooltip?: Tooltip;
591
+ ignore?: Ignore;
592
+ optional?: Optional;
593
+ disabled?: Disabled;
594
+ }
595
+ export interface StringField {
596
+ type: "string";
597
+ default?: string;
598
+ /**
599
+ * If true, this field's default value will be prefilled in the form. If false, the default value will not be prefilled.
600
+ */
601
+ prefillDefault?: string | boolean;
602
+ label?: Label;
603
+ description?: Description;
604
+ hidden?: Hidden;
605
+ tooltip?: Tooltip;
606
+ ignore?: Ignore;
607
+ optional?: Optional;
608
+ disabled?: Disabled;
609
+ placeholder?: Placeholder;
610
+ /**
611
+ * Whether a string field is a text area (default: false)
612
+ */
613
+ textarea?: boolean;
614
+ }
615
+ export interface DropdownField {
616
+ type: "dropdown";
617
+ default?:
618
+ | string
619
+ | {
620
+ [k: string]: unknown;
621
+ };
622
+ label?: Label;
623
+ description?: Description;
624
+ hidden?: Hidden;
625
+ tooltip?: Tooltip;
626
+ ignore?: Ignore;
627
+ optional?: Optional;
628
+ disabled?: Disabled;
629
+ /**
630
+ * Whether a dropdown field is auto selected (default: false)
631
+ */
632
+ autoselect?:
633
+ | string
634
+ | {
635
+ [k: string]: unknown;
636
+ }
637
+ | boolean;
638
+ placeholder?: Placeholder;
639
+ /**
640
+ * The options of a selection based field
641
+ */
642
+ options: unknown[] | string;
643
+ }
644
+ export interface DynamicDropdownField {
645
+ type: "dropdown";
646
+ default?:
647
+ | string
648
+ | {
649
+ [k: string]: unknown;
650
+ };
651
+ label?: Label;
652
+ description?: Description;
653
+ hidden?: Hidden;
654
+ tooltip?: Tooltip;
655
+ ignore?: Ignore;
656
+ optional?: Optional;
657
+ disabled?: Disabled;
658
+ /**
659
+ * The options of a dropdown
660
+ */
661
+ options:
662
+ | {
663
+ [k: string]: (
664
+ | {
665
+ [k: string]: unknown;
666
+ }
667
+ | string
668
+ )[];
669
+ }
670
+ | string;
671
+ /**
672
+ * An expression with which to select a set of options (i.e. options[option-key] is the desired set of options)
673
+ */
674
+ "option-key": string;
675
+ }
676
+ export interface RegionField {
677
+ type: "region";
678
+ default?:
679
+ | string
680
+ | {
681
+ [k: string]: unknown;
682
+ };
683
+ label?: Label;
684
+ description?: Description;
685
+ hidden?: Hidden;
686
+ tooltip?: Tooltip;
687
+ ignore?: Ignore;
688
+ optional?: Optional;
689
+ disabled?: Disabled;
690
+ /**
691
+ * Cloud Service Provider
692
+ */
693
+ csp: Csp & Csp1;
694
+ autoselect?: Autoselect;
695
+ }
696
+ export interface ZoneField {
697
+ type: "zone";
698
+ default?:
699
+ | string
700
+ | {
701
+ [k: string]: unknown;
702
+ };
703
+ label?: Label;
704
+ description?: Description;
705
+ hidden?: Hidden;
706
+ tooltip?: Tooltip;
707
+ ignore?: Ignore;
708
+ optional?: Optional;
709
+ disabled?: Disabled;
710
+ /**
711
+ * Cloud Service Provider
712
+ */
713
+ csp: Csp & Csp1;
714
+ region: string;
715
+ autoselect?: Autoselect;
716
+ }
717
+ export interface MultiDropdownField {
718
+ type: "multi-dropdown";
719
+ default?:
720
+ | string
721
+ | {
722
+ label?: string;
723
+ value?: unknown;
724
+ [k: string]: unknown;
725
+ }[];
726
+ label?: Label;
727
+ description?: Description;
728
+ hidden?: Hidden;
729
+ tooltip?: Tooltip;
730
+ ignore?: Ignore;
731
+ optional?: Optional;
732
+ disabled?: Disabled;
733
+ /**
734
+ * The options of a multi dropdown
735
+ */
736
+ options: unknown[] | string;
737
+ }
738
+ export interface ListField {
739
+ type: "list";
740
+ default?:
741
+ | string
742
+ | {
743
+ [k: string]: unknown;
744
+ };
745
+ label?: Label;
746
+ description?: Description;
747
+ hidden?: Hidden;
748
+ tooltip?: Tooltip;
749
+ ignore?: Ignore;
750
+ optional?: Optional;
751
+ disabled?: Disabled;
752
+ /**
753
+ * Format of items in list
754
+ */
755
+ template:
756
+ | string
757
+ | {
758
+ [k: string]: unknown;
759
+ };
760
+ /**
761
+ * Whether items are collapsible
762
+ */
763
+ "items-collapsible"?: string | boolean;
764
+ /**
765
+ * Minimum number of items the list must contain
766
+ */
767
+ min?: string | number;
768
+ /**
769
+ * Maximum number of items the list may contain
770
+ */
771
+ max?: string | number;
772
+ }
773
+ export interface EditorField {
774
+ type: "editor";
775
+ default?: string;
776
+ label?: Label;
777
+ description?: Description;
778
+ hidden?: Hidden;
779
+ tooltip?: Tooltip;
780
+ ignore?: Ignore;
781
+ optional?: Optional;
782
+ disabled?: Disabled;
783
+ /**
784
+ * Language of document for editor
785
+ */
786
+ language?: string;
787
+ }
788
+ export interface GroupField {
789
+ type: "group";
790
+ label?: Label;
791
+ description?: Description;
792
+ hidden?: Hidden;
793
+ tooltip?: Tooltip;
794
+ ignore?: Ignore;
795
+ /**
796
+ * Whether a group is collapsed or not (default: false)
797
+ */
798
+ collapsed?: boolean | string;
799
+ items: Inputs;
800
+ }
801
+ export interface InstanceTypeField {
802
+ type: "instance-type";
803
+ default?:
804
+ | string
805
+ | {
806
+ [k: string]: unknown;
807
+ };
808
+ label?: Label;
809
+ description?: Description;
810
+ hidden?: Hidden;
811
+ tooltip?: Tooltip;
812
+ ignore?: Ignore;
813
+ optional?: Optional;
814
+ disabled?: Disabled;
815
+ /**
816
+ * Cloud Service Provider
817
+ */
818
+ csp: Csp & Csp1;
819
+ region: string;
820
+ autoselect?: Autoselect;
821
+ }
822
+ export interface ComputeResourceField {
823
+ type: "compute-clusters" | "compute-resources";
824
+ default?:
825
+ | string
826
+ | {
827
+ [k: string]: unknown;
828
+ }
829
+ | unknown[];
830
+ label?: Label;
831
+ description?: Description;
832
+ hidden?: Hidden;
833
+ tooltip?: Tooltip;
834
+ ignore?: Ignore;
835
+ optional?: Optional;
836
+ disabled?: Disabled;
837
+ autoselect?: Autoselect;
838
+ /**
839
+ * Include user workspace in options (default: false)
840
+ */
841
+ "include-workspace"?: boolean | string;
842
+ /**
843
+ * Include unprovisioned clusters in options (default: false)
844
+ */
845
+ "include-unprovisioned"?: boolean | string;
846
+ /**
847
+ * Cloud Service Provider
848
+ */
849
+ csp?: Csp & Csp1;
850
+ provider?: unknown[] | string;
851
+ /**
852
+ * Allow selecting multiple compute resources (default: false)
853
+ */
854
+ multi?: boolean;
855
+ }
856
+ export interface BucketField {
857
+ type: "bucket";
858
+ default?:
859
+ | string
860
+ | {
861
+ [k: string]: unknown;
862
+ }
863
+ | unknown[];
864
+ label?: Label;
865
+ description?: Description;
866
+ hidden?: Hidden;
867
+ tooltip?: Tooltip;
868
+ ignore?: Ignore;
869
+ optional?: Optional;
870
+ disabled?: Disabled;
871
+ /**
872
+ * Cloud Service Provider
873
+ */
874
+ csp?: Csp & Csp1;
875
+ /**
876
+ * Whether to generate cloud credentials for this bucket and include them in the input value
877
+ */
878
+ generateCredentials?: boolean | string;
879
+ /**
880
+ * Allow selecting multiple buckets (default: false)
881
+ */
882
+ multi?: boolean;
883
+ }
884
+ export interface ColorPickerField {
885
+ type: "color-picker";
886
+ default?: string;
887
+ label?: Label;
888
+ description?: Description;
889
+ hidden?: Hidden;
890
+ tooltip?: Tooltip;
891
+ ignore?: Ignore;
892
+ optional?: Optional;
893
+ disabled?: Disabled;
894
+ }
895
+ export interface HeaderField {
896
+ type: "header";
897
+ label?: Label;
898
+ description?: Description;
899
+ hidden?: Hidden;
900
+ tooltip?: Tooltip;
901
+ /**
902
+ * The size of a header
903
+ */
904
+ size?: string | number;
905
+ /**
906
+ * The text content of a header
907
+ */
908
+ text: string;
909
+ /**
910
+ * Whether a header is bold (default: false)
911
+ */
912
+ bold?: string | boolean;
913
+ }
914
+ export interface OrganizationGroupsField {
915
+ type: "organization-groups";
916
+ default?:
917
+ | string
918
+ | {
919
+ [k: string]: unknown;
920
+ };
921
+ label?: Label;
922
+ description?: Description;
923
+ hidden?: Hidden;
924
+ tooltip?: Tooltip;
925
+ ignore?: Ignore;
926
+ optional?: Optional;
927
+ disabled?: Disabled;
928
+ }
929
+ export interface SlurmAccountsField {
930
+ type: "slurm-accounts";
931
+ default?:
932
+ | string
933
+ | {
934
+ [k: string]: unknown;
935
+ };
936
+ label?: Label;
937
+ description?: Description;
938
+ hidden?: Hidden;
939
+ tooltip?: Tooltip;
940
+ ignore?: Ignore;
941
+ optional?: Optional;
942
+ disabled?: Disabled;
943
+ resource: Resource;
944
+ }
945
+ export interface SlurmPartitionsField {
946
+ type: "slurm-partitions";
947
+ default?:
948
+ | string
949
+ | {
950
+ [k: string]: unknown;
951
+ };
952
+ label?: Label;
953
+ description?: Description;
954
+ hidden?: Hidden;
955
+ tooltip?: Tooltip;
956
+ ignore?: Ignore;
957
+ optional?: Optional;
958
+ disabled?: Disabled;
959
+ resource: Resource;
960
+ account?: Account;
961
+ }
962
+ export interface SlurmQosField {
963
+ type: "slurm-qos";
964
+ default?:
965
+ | string
966
+ | {
967
+ [k: string]: unknown;
968
+ };
969
+ label?: Label;
970
+ description?: Description;
971
+ hidden?: Hidden;
972
+ tooltip?: Tooltip;
973
+ ignore?: Ignore;
974
+ optional?: Optional;
975
+ disabled?: Disabled;
976
+ resource: Resource;
977
+ account?: Account;
978
+ /**
979
+ * The partitions to be used for slurm qos
980
+ */
981
+ partition?: string;
982
+ }
983
+ export interface PbsQueuesField {
984
+ type: "pbs-queues";
985
+ default?:
986
+ | string
987
+ | {
988
+ [k: string]: unknown;
989
+ };
990
+ label?: Label;
991
+ description?: Description;
992
+ hidden?: Hidden;
993
+ tooltip?: Tooltip;
994
+ ignore?: Ignore;
995
+ optional?: Optional;
996
+ disabled?: Disabled;
997
+ resource: Resource;
998
+ }
999
+ export interface StepField {
1000
+ type: "step";
1001
+ /**
1002
+ * The title of this wizard step
1003
+ */
1004
+ title: string;
1005
+ /**
1006
+ * The description of this wizard step
1007
+ */
1008
+ description?: string;
1009
+ /**
1010
+ * Custom label for next button (default: 'Next →')
1011
+ */
1012
+ nextLabel?: string;
1013
+ /**
1014
+ * Custom label for previous button (default: '← Previous')
1015
+ */
1016
+ prevLabel?: string;
1017
+ options: Inputs1;
1018
+ }
1019
+ /**
1020
+ * Input fields for this step
1021
+ */
1022
+ export interface Inputs1 {
1023
+ /**
1024
+ * JSON Schema reference for IDE validation
1025
+ */
1026
+ $schema?: string;
1027
+ $meta?: {
1028
+ labelPosition?: "left" | "top";
1029
+ wizard?: {
1030
+ /**
1031
+ * Enable wizard mode for multi-step input collection
1032
+ */
1033
+ mode: "wizard";
1034
+ navigation?: {
1035
+ /**
1036
+ * Show step indicator (default: true)
1037
+ */
1038
+ showSteps?: boolean | string;
1039
+ /**
1040
+ * Allow jumping to visited steps (default: false)
1041
+ */
1042
+ allowJump?: boolean | string;
1043
+ /**
1044
+ * Hide step numbers in indicator (default: false)
1045
+ */
1046
+ hideStepNumbers?: boolean | string;
1047
+ };
1048
+ /**
1049
+ * Label for final submit button (default: 'Execute')
1050
+ */
1051
+ submitLabel?: string;
1052
+ /**
1053
+ * Flatten step fields into the top-level inputs object (default: true). Set to false to preserve step keys as nested objects.
1054
+ */
1055
+ flatten?: boolean;
1056
+ };
1057
+ };
1058
+ /**
1059
+ * This interface was referenced by `Inputs`'s JSON-Schema definition
1060
+ * via the `patternProperty` "^[a-zA-Z0-9_-]+$".
1061
+ */
1062
+ [k: string]:
1063
+ | KubernetesClustersField
1064
+ | KubernetesNamespacesField
1065
+ | KubernetesPodsField
1066
+ | KubernetesPvcField
1067
+ | KubernetesSecretsField
1068
+ | KubernetesConfigmapsField
1069
+ | KubernetesStatefulsetsField
1070
+ | KubernetesDeploymentsField
1071
+ | KubernetesServicesField
1072
+ | KubernetesWorkloadsField
1073
+ | NumberField
1074
+ | BooleanField
1075
+ | StringField
1076
+ | DropdownField
1077
+ | DynamicDropdownField
1078
+ | RegionField
1079
+ | ZoneField
1080
+ | MultiDropdownField
1081
+ | ListField
1082
+ | EditorField
1083
+ | GroupField
1084
+ | InstanceTypeField
1085
+ | ComputeResourceField
1086
+ | BucketField
1087
+ | ColorPickerField
1088
+ | HeaderField
1089
+ | OrganizationGroupsField
1090
+ | SlurmAccountsField
1091
+ | SlurmPartitionsField
1092
+ | SlurmQosField
1093
+ | PbsQueuesField
1094
+ | StepField
1095
+ | PasswordField;
1096
+ }
1097
+ export interface PasswordField {
1098
+ type: "password";
1099
+ default?: string;
1100
+ label?: Label;
1101
+ description?: Description;
1102
+ hidden?: Hidden;
1103
+ tooltip?: Tooltip;
1104
+ ignore?: Ignore;
1105
+ optional?: Optional;
1106
+ disabled?: Disabled;
1107
+ }