@mat3ra/esse 2026.9.6-0 → 2026.10.8-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.
@@ -2881,9 +2881,9 @@ export interface ClusterNodeSchema {
2881
2881
  */
2882
2882
  queues?: {
2883
2883
  /**
2884
- * Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
2884
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
2885
2885
  */
2886
- name: "D" | "OR" | "OF" | "OFplus" | "SR" | "SF" | "SFplus" | "OR4" | "OR8" | "OR16" | "SR4" | "SR8" | "SR16" | "GOF" | "G4OF" | "G8OF" | "GSF" | "G4SF" | "G8SF";
2886
+ name: QueueNameEnum;
2887
2887
  /**
2888
2888
  * Maximum processors per node.
2889
2889
  */
@@ -2938,9 +2938,9 @@ export interface ClusterNodeSchema {
2938
2938
  /** Schema dist/js/schema/compute/queue.json */
2939
2939
  export interface QueueSchema {
2940
2940
  /**
2941
- * Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
2941
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
2942
2942
  */
2943
- name: "D" | "OR" | "OF" | "OFplus" | "SR" | "SF" | "SFplus" | "OR4" | "OR8" | "OR16" | "SR4" | "SR8" | "SR16" | "GOF" | "G4OF" | "G8OF" | "GSF" | "G4SF" | "G8SF";
2943
+ name: QueueNameEnum;
2944
2944
  /**
2945
2945
  * Maximum processors per node.
2946
2946
  */
@@ -2963,6 +2963,41 @@ export interface QueueSchema {
2963
2963
  capacity?: "FULL" | "DEGRADED" | "UNAVAILABLE";
2964
2964
  displayName?: string;
2965
2965
  }
2966
+ /** Schema dist/js/schema/compute/queue_name_enum.json */
2967
+ export interface ComputeQueueNameEnum {
2968
+ [k: string]: unknown;
2969
+ }
2970
+ /**
2971
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
2972
+ *
2973
+ * This interface was referenced by `ComputeQueueNameEnum`'s JSON-Schema
2974
+ * via the `definition` "QueueNameEnum".
2975
+ */
2976
+ export declare enum QueueNameEnum {
2977
+ debug = "D",
2978
+ ordinaryRegular = "OR",
2979
+ ordinaryRegular4 = "OR4",
2980
+ ordinaryRegular8 = "OR8",
2981
+ ordinaryRegular16 = "OR16",
2982
+ savingRegular = "SR",
2983
+ savingRegular4 = "SR4",
2984
+ savingRegular8 = "SR8",
2985
+ savingRegular16 = "SR16",
2986
+ ordinaryFast = "OF",
2987
+ ordinaryFastPlus = "OFplus",
2988
+ savingFast = "SF",
2989
+ savingFastPlus = "SFplus",
2990
+ gpuOrdinaryFast = "GOF",
2991
+ gpu4OrdinaryFast = "G4OF",
2992
+ gpu8OrdinaryFast = "G8OF",
2993
+ gpuP4OrdinaryFast = "GP4OF",
2994
+ gpuSavingFast = "GSF",
2995
+ gpu4SavingFast = "G4SF",
2996
+ gpu8SavingFast = "G8SF",
2997
+ gpuPSavingFast = "GPSF",
2998
+ gpuP2SavingFast = "GP2SF",
2999
+ gpuP4SavingFast = "GP4SF"
3000
+ }
2966
3001
  /** Schema dist/js/schema/context_provider.json */
2967
3002
  export interface ContextProviderSchema {
2968
3003
  name: Name;
@@ -5466,113 +5501,2770 @@ export interface NamedDefaultableRuntimeItemsInMemoryEntitySchema {
5466
5501
  } | string)[];
5467
5502
  }
5468
5503
  /** Schema dist/js/schema/job/base.json */
5469
- export interface JobBaseSchema {
5470
- /**
5471
- * Identity used to track jobs originated from command-line
5472
- */
5473
- rmsId?: string;
5474
- /**
5475
- * job status
5476
- */
5477
- status: "pre-submission" | "queued" | "submitted" | "active" | "finished" | "terminate-queued" | "terminated" | "error" | "deleted" | "timeout";
5478
- /**
5479
- * Approximate start time of the job. e.g. within 10 min
5480
- */
5481
- startTime?: string;
5482
- /**
5483
- * The path to the working directory of this job, when the job originates from command-line
5484
- */
5485
- workDir?: string;
5486
- _project: {
5504
+ export interface BaseJobSchema {
5505
+ workflow: {
5487
5506
  /**
5488
- * entity identity
5507
+ * Array of workflows with the same schema as the current one. NOTE: items are not validated against the workflow schema itself (known limitation - see server/utils.ts's parseIncludeReferenceStatements for why, and consider fixing).
5489
5508
  */
5490
- _id: string;
5509
+ workflows: {}[];
5491
5510
  /**
5492
- * entity class
5511
+ * Compute schema
5493
5512
  */
5494
- cls?: string;
5513
+ compute?: {
5514
+ /**
5515
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
5516
+ */
5517
+ queue: QueueNameEnum;
5518
+ /**
5519
+ * number of nodes used for the job inside the RMS.
5520
+ */
5521
+ nodes: number;
5522
+ /**
5523
+ * number of CPUs used for the job inside the RMS.
5524
+ */
5525
+ ppn: number;
5526
+ /**
5527
+ * Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'
5528
+ */
5529
+ timeLimit: string;
5530
+ /**
5531
+ * Convention to use when reasoning about time limits
5532
+ */
5533
+ timeLimitType?: "per single attempt" | "compound";
5534
+ /**
5535
+ * Job is allowed to restart on termination.
5536
+ */
5537
+ isRestartable?: boolean;
5538
+ /**
5539
+ * Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.
5540
+ */
5541
+ notify?: string;
5542
+ /**
5543
+ * Email address to notify about job execution.
5544
+ */
5545
+ email?: string;
5546
+ /**
5547
+ * Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.
5548
+ */
5549
+ maxCPU?: number;
5550
+ /**
5551
+ * Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere
5552
+ */
5553
+ arguments?: {
5554
+ /**
5555
+ * Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.
5556
+ */
5557
+ nimage?: number;
5558
+ /**
5559
+ * Each image can be subpartitioned into `pools`, each taking care of a group of k-points.
5560
+ */
5561
+ npools?: number;
5562
+ /**
5563
+ * Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).
5564
+ */
5565
+ nband?: number;
5566
+ /**
5567
+ * In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.
5568
+ */
5569
+ ntg?: number;
5570
+ /**
5571
+ * A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.
5572
+ */
5573
+ ndiag?: number;
5574
+ };
5575
+ /**
5576
+ * Cluster where the job is executed. Optional on create. Required on job submission.
5577
+ */
5578
+ cluster?: {
5579
+ /**
5580
+ * FQDN of the cluster. e.g. master-1-staging.exabyte.io
5581
+ */
5582
+ fqdn?: string;
5583
+ /**
5584
+ * Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io
5585
+ */
5586
+ jid?: string;
5587
+ };
5588
+ /**
5589
+ * Computation error. Optional. Appears only if something happens on jobs execution.
5590
+ */
5591
+ errors?: {
5592
+ /**
5593
+ * Domain of the error appearance (internal).
5594
+ */
5595
+ domain?: "rupy" | "alfred" | "celim" | "webapp";
5596
+ /**
5597
+ * Should be a short, unique, machine-readable error code string. e.g. FileNotFound
5598
+ */
5599
+ reason?: string;
5600
+ /**
5601
+ * Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'
5602
+ */
5603
+ message?: string;
5604
+ /**
5605
+ * Full machine-readable error traceback. e.g. FileNotFound
5606
+ */
5607
+ traceback?: string;
5608
+ }[];
5609
+ /**
5610
+ * A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix
5611
+ */
5612
+ excludeFilesPattern?: string;
5613
+ };
5614
+ /**
5615
+ * entity identity
5616
+ */
5617
+ _id?: string;
5495
5618
  /**
5496
5619
  * entity slug
5497
5620
  */
5498
5621
  slug?: string;
5499
- };
5500
- _material?: {
5622
+ systemName?: string;
5501
5623
  /**
5502
- * entity identity
5624
+ * entity's schema version. Used to distinct between different schemas.
5503
5625
  */
5504
- _id: string;
5626
+ schemaVersion?: string;
5505
5627
  /**
5506
- * entity class
5628
+ * entity name
5507
5629
  */
5508
- cls?: string;
5630
+ name: string;
5631
+ metadata?: {};
5509
5632
  /**
5510
- * entity slug
5633
+ * Array of characteristic properties calculated by this workflow (TODO: add enums)
5511
5634
  */
5512
- slug?: string;
5513
- };
5514
- parent?: {
5635
+ properties: string[];
5515
5636
  /**
5516
- * entity identity
5637
+ * Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.
5517
5638
  */
5518
- _id: string;
5639
+ isUsingDataset?: boolean;
5519
5640
  /**
5520
- * entity class
5641
+ * Defines whether the workflow is for a multi-material simulation
5521
5642
  */
5522
- cls?: string;
5643
+ isMultiMaterial?: boolean;
5523
5644
  /**
5524
- * entity slug
5645
+ * Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting
5525
5646
  */
5526
- slug?: string;
5527
- };
5528
- /**
5529
- * Context variables that the job will have access to at runtime
5530
- */
5531
- runtimeContext?: {};
5532
- /**
5533
- * history of the workflow scope on each update
5534
- */
5535
- scopeTrack?: {
5536
- repetition?: number;
5537
- scope?: {
5538
- global: {
5539
- [k: string]: unknown;
5540
- };
5541
- local: {
5542
- [k: string]: unknown;
5647
+ subworkflows: {
5648
+ /**
5649
+ * entity identity
5650
+ */
5651
+ _id?: string;
5652
+ /**
5653
+ * entity slug
5654
+ */
5655
+ slug?: string;
5656
+ systemName?: string;
5657
+ /**
5658
+ * entity's schema version. Used to distinct between different schemas.
5659
+ */
5660
+ schemaVersion?: string;
5661
+ /**
5662
+ * entity name
5663
+ */
5664
+ name: string;
5665
+ /**
5666
+ * Array of characteristic properties calculated by this subworkflow
5667
+ */
5668
+ properties: string[];
5669
+ /**
5670
+ * Compute schema
5671
+ */
5672
+ compute?: {
5673
+ /**
5674
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
5675
+ */
5676
+ queue: QueueNameEnum;
5677
+ /**
5678
+ * number of nodes used for the job inside the RMS.
5679
+ */
5680
+ nodes: number;
5681
+ /**
5682
+ * number of CPUs used for the job inside the RMS.
5683
+ */
5684
+ ppn: number;
5685
+ /**
5686
+ * Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'
5687
+ */
5688
+ timeLimit: string;
5689
+ /**
5690
+ * Convention to use when reasoning about time limits
5691
+ */
5692
+ timeLimitType?: "per single attempt" | "compound";
5693
+ /**
5694
+ * Job is allowed to restart on termination.
5695
+ */
5696
+ isRestartable?: boolean;
5697
+ /**
5698
+ * Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.
5699
+ */
5700
+ notify?: string;
5701
+ /**
5702
+ * Email address to notify about job execution.
5703
+ */
5704
+ email?: string;
5705
+ /**
5706
+ * Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.
5707
+ */
5708
+ maxCPU?: number;
5709
+ /**
5710
+ * Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere
5711
+ */
5712
+ arguments?: {
5713
+ /**
5714
+ * Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.
5715
+ */
5716
+ nimage?: number;
5717
+ /**
5718
+ * Each image can be subpartitioned into `pools`, each taking care of a group of k-points.
5719
+ */
5720
+ npools?: number;
5721
+ /**
5722
+ * Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).
5723
+ */
5724
+ nband?: number;
5725
+ /**
5726
+ * In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.
5727
+ */
5728
+ ntg?: number;
5729
+ /**
5730
+ * A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.
5731
+ */
5732
+ ndiag?: number;
5733
+ };
5734
+ /**
5735
+ * Cluster where the job is executed. Optional on create. Required on job submission.
5736
+ */
5737
+ cluster?: {
5738
+ /**
5739
+ * FQDN of the cluster. e.g. master-1-staging.exabyte.io
5740
+ */
5741
+ fqdn?: string;
5742
+ /**
5743
+ * Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io
5744
+ */
5745
+ jid?: string;
5746
+ };
5747
+ /**
5748
+ * Computation error. Optional. Appears only if something happens on jobs execution.
5749
+ */
5750
+ errors?: {
5751
+ /**
5752
+ * Domain of the error appearance (internal).
5753
+ */
5754
+ domain?: "rupy" | "alfred" | "celim" | "webapp";
5755
+ /**
5756
+ * Should be a short, unique, machine-readable error code string. e.g. FileNotFound
5757
+ */
5758
+ reason?: string;
5759
+ /**
5760
+ * Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'
5761
+ */
5762
+ message?: string;
5763
+ /**
5764
+ * Full machine-readable error traceback. e.g. FileNotFound
5765
+ */
5766
+ traceback?: string;
5767
+ }[];
5768
+ /**
5769
+ * A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix
5770
+ */
5771
+ excludeFilesPattern?: string;
5543
5772
  };
5544
- };
5545
- }[];
5546
- /**
5547
- * entity identity
5548
- */
5549
- _id?: string;
5550
- /**
5551
- * entity slug
5552
- */
5553
- slug?: string;
5554
- systemName?: string;
5555
- /**
5556
- * entity's schema version. Used to distinct between different schemas.
5557
- */
5558
- schemaVersion?: string;
5559
- /**
5560
- * entity name
5561
- */
5562
- name: string;
5563
- /**
5564
- * Identifies that entity is defaultable
5565
- */
5566
- isDefault?: boolean;
5567
- metadata?: {};
5773
+ /**
5774
+ * Contains the Units of the subworkflow
5775
+ */
5776
+ units: ({
5777
+ /**
5778
+ * entity identity
5779
+ */
5780
+ _id?: string;
5781
+ /**
5782
+ * entity slug
5783
+ */
5784
+ slug?: string;
5785
+ systemName?: string;
5786
+ /**
5787
+ * entity's schema version. Used to distinct between different schemas.
5788
+ */
5789
+ schemaVersion?: string;
5790
+ /**
5791
+ * entity name
5792
+ */
5793
+ name: string;
5794
+ /**
5795
+ * Identifies that entity is defaultable
5796
+ */
5797
+ isDefault?: boolean;
5798
+ /**
5799
+ * names of the pre-processors for this calculation
5800
+ */
5801
+ preProcessors: {
5802
+ /**
5803
+ * The name of this item. e.g. scf_accuracy
5804
+ */
5805
+ name: string;
5806
+ [k: string]: unknown;
5807
+ }[];
5808
+ /**
5809
+ * names of the post-processors for this calculation
5810
+ */
5811
+ postProcessors: {
5812
+ /**
5813
+ * The name of this item. e.g. scf_accuracy
5814
+ */
5815
+ name: string;
5816
+ [k: string]: unknown;
5817
+ }[];
5818
+ /**
5819
+ * names of the monitors for this calculation
5820
+ */
5821
+ monitors: {
5822
+ /**
5823
+ * The name of this item. e.g. scf_accuracy
5824
+ */
5825
+ name: string;
5826
+ [k: string]: unknown;
5827
+ }[];
5828
+ /**
5829
+ * names of the results for this calculation
5830
+ */
5831
+ results: {
5832
+ /**
5833
+ * The name of this item. e.g. scf_accuracy
5834
+ */
5835
+ name: string;
5836
+ [k: string]: unknown;
5837
+ }[];
5838
+ /**
5839
+ * entity tags
5840
+ */
5841
+ tags?: string[];
5842
+ statusTrack?: {
5843
+ trackedAt: number;
5844
+ status: string;
5845
+ repetition?: number;
5846
+ }[];
5847
+ isDraft?: boolean;
5848
+ /**
5849
+ * Whether this unit is the first one to be executed.
5850
+ */
5851
+ head?: boolean;
5852
+ /**
5853
+ * Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
5854
+ */
5855
+ flowchartId: string;
5856
+ /**
5857
+ * Next unit's flowchartId. If empty, the current unit is the last.
5858
+ */
5859
+ next?: string;
5860
+ /**
5861
+ * Whether Rupy should attempt to use Jinja templating to add context variables into the unit
5862
+ */
5863
+ enableRender?: boolean;
5864
+ /**
5865
+ * Status of the unit.
5866
+ */
5867
+ status?: "idle" | "active" | "warning" | "error" | "finished";
5868
+ type?: "io";
5869
+ subtype: "input" | "output" | "dataFrame";
5870
+ source: "api" | "object_storage";
5871
+ input: ({
5872
+ type: "api";
5873
+ /**
5874
+ * rest API endpoint
5875
+ */
5876
+ endpoint: string;
5877
+ /**
5878
+ * rest API endpoint options
5879
+ */
5880
+ endpoint_options: {};
5881
+ /**
5882
+ * the name of the variable in local scope to save the data under
5883
+ */
5884
+ name?: string;
5885
+ } | {
5886
+ type: "object_storage";
5887
+ objectData: {
5888
+ /**
5889
+ * Object storage container for the file
5890
+ */
5891
+ CONTAINER?: string;
5892
+ /**
5893
+ * Name of the file inside the object storage bucket
5894
+ */
5895
+ NAME?: string;
5896
+ /**
5897
+ * Object storage provider
5898
+ */
5899
+ PROVIDER?: string;
5900
+ /**
5901
+ * Region for the object container specified in Container
5902
+ */
5903
+ REGION?: string;
5904
+ /**
5905
+ * Size of the file in bytes
5906
+ */
5907
+ SIZE?: number;
5908
+ /**
5909
+ * Unix timestamp showing when the file was last modified
5910
+ */
5911
+ TIMESTAMP?: string;
5912
+ };
5913
+ /**
5914
+ * if a file with the same filename already exists, whether to overwrite the old file
5915
+ */
5916
+ overwrite?: boolean;
5917
+ /**
5918
+ * Relative path to the directory that contains the file.
5919
+ */
5920
+ pathname?: string;
5921
+ /**
5922
+ * Basename of the file
5923
+ */
5924
+ basename?: string;
5925
+ /**
5926
+ * What kind of file this is, e.g. image / text
5927
+ */
5928
+ filetype?: string;
5929
+ })[];
5930
+ } | {
5931
+ /**
5932
+ * entity identity
5933
+ */
5934
+ _id?: string;
5935
+ /**
5936
+ * entity slug
5937
+ */
5938
+ slug?: string;
5939
+ systemName?: string;
5940
+ /**
5941
+ * entity's schema version. Used to distinct between different schemas.
5942
+ */
5943
+ schemaVersion?: string;
5944
+ /**
5945
+ * entity name
5946
+ */
5947
+ name: string;
5948
+ /**
5949
+ * Identifies that entity is defaultable
5950
+ */
5951
+ isDefault?: boolean;
5952
+ /**
5953
+ * names of the pre-processors for this calculation
5954
+ */
5955
+ preProcessors: {
5956
+ /**
5957
+ * The name of this item. e.g. scf_accuracy
5958
+ */
5959
+ name: string;
5960
+ [k: string]: unknown;
5961
+ }[];
5962
+ /**
5963
+ * names of the post-processors for this calculation
5964
+ */
5965
+ postProcessors: {
5966
+ /**
5967
+ * The name of this item. e.g. scf_accuracy
5968
+ */
5969
+ name: string;
5970
+ [k: string]: unknown;
5971
+ }[];
5972
+ /**
5973
+ * names of the monitors for this calculation
5974
+ */
5975
+ monitors: {
5976
+ /**
5977
+ * The name of this item. e.g. scf_accuracy
5978
+ */
5979
+ name: string;
5980
+ [k: string]: unknown;
5981
+ }[];
5982
+ /**
5983
+ * names of the results for this calculation
5984
+ */
5985
+ results: {
5986
+ /**
5987
+ * The name of this item. e.g. scf_accuracy
5988
+ */
5989
+ name: string;
5990
+ [k: string]: unknown;
5991
+ }[];
5992
+ /**
5993
+ * entity tags
5994
+ */
5995
+ tags?: string[];
5996
+ statusTrack?: {
5997
+ trackedAt: number;
5998
+ status: string;
5999
+ repetition?: number;
6000
+ }[];
6001
+ isDraft?: boolean;
6002
+ /**
6003
+ * Whether this unit is the first one to be executed.
6004
+ */
6005
+ head?: boolean;
6006
+ /**
6007
+ * Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
6008
+ */
6009
+ flowchartId: string;
6010
+ /**
6011
+ * Next unit's flowchartId. If empty, the current unit is the last.
6012
+ */
6013
+ next?: string;
6014
+ /**
6015
+ * Whether Rupy should attempt to use Jinja templating to add context variables into the unit
6016
+ */
6017
+ enableRender?: boolean;
6018
+ /**
6019
+ * Status of the unit.
6020
+ */
6021
+ status?: "idle" | "active" | "warning" | "error" | "finished";
6022
+ type?: "condition";
6023
+ /**
6024
+ * Input information for condition.
6025
+ */
6026
+ input: {
6027
+ /**
6028
+ * Scope of the variable. e.g. 'global' or 'flowchart_id_2'
6029
+ */
6030
+ scope: string;
6031
+ /**
6032
+ * Name of the input data. e.g. total_energy
6033
+ */
6034
+ name: string;
6035
+ }[];
6036
+ /**
6037
+ * Condition statement. e.g. 'abs(x-total_energy) < 1e-5'
6038
+ */
6039
+ statement: string;
6040
+ /**
6041
+ * Flowchart ID reference for `then` part of the condition.
6042
+ */
6043
+ then: string;
6044
+ /**
6045
+ * Flowchart ID reference for `else` part of the condition.
6046
+ */
6047
+ else: string;
6048
+ /**
6049
+ * Maximum occurrence of the condition, usable for loops.
6050
+ */
6051
+ maxOccurrences: number;
6052
+ /**
6053
+ * Throw exception on reaching to maximum occurence.
6054
+ */
6055
+ throwException?: boolean;
6056
+ } | {
6057
+ /**
6058
+ * entity identity
6059
+ */
6060
+ _id?: string;
6061
+ /**
6062
+ * entity slug
6063
+ */
6064
+ slug?: string;
6065
+ systemName?: string;
6066
+ /**
6067
+ * entity's schema version. Used to distinct between different schemas.
6068
+ */
6069
+ schemaVersion?: string;
6070
+ /**
6071
+ * entity name
6072
+ */
6073
+ name: string;
6074
+ /**
6075
+ * Identifies that entity is defaultable
6076
+ */
6077
+ isDefault?: boolean;
6078
+ /**
6079
+ * names of the pre-processors for this calculation
6080
+ */
6081
+ preProcessors: {
6082
+ /**
6083
+ * The name of this item. e.g. scf_accuracy
6084
+ */
6085
+ name: string;
6086
+ [k: string]: unknown;
6087
+ }[];
6088
+ /**
6089
+ * names of the post-processors for this calculation
6090
+ */
6091
+ postProcessors: {
6092
+ /**
6093
+ * The name of this item. e.g. scf_accuracy
6094
+ */
6095
+ name: string;
6096
+ [k: string]: unknown;
6097
+ }[];
6098
+ /**
6099
+ * names of the monitors for this calculation
6100
+ */
6101
+ monitors: {
6102
+ /**
6103
+ * The name of this item. e.g. scf_accuracy
6104
+ */
6105
+ name: string;
6106
+ [k: string]: unknown;
6107
+ }[];
6108
+ /**
6109
+ * names of the results for this calculation
6110
+ */
6111
+ results: {
6112
+ /**
6113
+ * The name of this item. e.g. scf_accuracy
6114
+ */
6115
+ name: string;
6116
+ [k: string]: unknown;
6117
+ }[];
6118
+ /**
6119
+ * entity tags
6120
+ */
6121
+ tags?: string[];
6122
+ statusTrack?: {
6123
+ trackedAt: number;
6124
+ status: string;
6125
+ repetition?: number;
6126
+ }[];
6127
+ isDraft?: boolean;
6128
+ /**
6129
+ * Whether this unit is the first one to be executed.
6130
+ */
6131
+ head?: boolean;
6132
+ /**
6133
+ * Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
6134
+ */
6135
+ flowchartId: string;
6136
+ /**
6137
+ * Next unit's flowchartId. If empty, the current unit is the last.
6138
+ */
6139
+ next?: string;
6140
+ /**
6141
+ * Whether Rupy should attempt to use Jinja templating to add context variables into the unit
6142
+ */
6143
+ enableRender?: boolean;
6144
+ /**
6145
+ * Status of the unit.
6146
+ */
6147
+ status?: "idle" | "active" | "warning" | "error" | "finished";
6148
+ type?: "assertion";
6149
+ /**
6150
+ * The statement to be evaluated
6151
+ */
6152
+ statement: string;
6153
+ /**
6154
+ * The error message to be displayed if the assertion fails
6155
+ */
6156
+ errorMessage?: string;
6157
+ } | {
6158
+ /**
6159
+ * entity identity
6160
+ */
6161
+ _id?: string;
6162
+ /**
6163
+ * entity slug
6164
+ */
6165
+ slug?: string;
6166
+ systemName?: string;
6167
+ /**
6168
+ * entity's schema version. Used to distinct between different schemas.
6169
+ */
6170
+ schemaVersion?: string;
6171
+ /**
6172
+ * entity name
6173
+ */
6174
+ name: string;
6175
+ /**
6176
+ * Identifies that entity is defaultable
6177
+ */
6178
+ isDefault?: boolean;
6179
+ /**
6180
+ * names of the pre-processors for this calculation
6181
+ */
6182
+ preProcessors: {
6183
+ /**
6184
+ * The name of this item. e.g. scf_accuracy
6185
+ */
6186
+ name: string;
6187
+ [k: string]: unknown;
6188
+ }[];
6189
+ /**
6190
+ * names of the post-processors for this calculation
6191
+ */
6192
+ postProcessors: {
6193
+ /**
6194
+ * The name of this item. e.g. scf_accuracy
6195
+ */
6196
+ name: string;
6197
+ [k: string]: unknown;
6198
+ }[];
6199
+ /**
6200
+ * names of the monitors for this calculation
6201
+ */
6202
+ monitors: {
6203
+ /**
6204
+ * The name of this item. e.g. scf_accuracy
6205
+ */
6206
+ name: string;
6207
+ [k: string]: unknown;
6208
+ }[];
6209
+ /**
6210
+ * names of the results for this calculation
6211
+ */
6212
+ results: {
6213
+ /**
6214
+ * The name of this item. e.g. scf_accuracy
6215
+ */
6216
+ name: string;
6217
+ [k: string]: unknown;
6218
+ }[];
6219
+ /**
6220
+ * entity tags
6221
+ */
6222
+ tags?: string[];
6223
+ statusTrack?: {
6224
+ trackedAt: number;
6225
+ status: string;
6226
+ repetition?: number;
6227
+ }[];
6228
+ isDraft?: boolean;
6229
+ /**
6230
+ * Whether this unit is the first one to be executed.
6231
+ */
6232
+ head?: boolean;
6233
+ /**
6234
+ * Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
6235
+ */
6236
+ flowchartId: string;
6237
+ /**
6238
+ * Next unit's flowchartId. If empty, the current unit is the last.
6239
+ */
6240
+ next?: string;
6241
+ /**
6242
+ * Whether Rupy should attempt to use Jinja templating to add context variables into the unit
6243
+ */
6244
+ enableRender?: boolean;
6245
+ /**
6246
+ * Status of the unit.
6247
+ */
6248
+ status?: "idle" | "active" | "warning" | "error" | "finished";
6249
+ type: "execution";
6250
+ application: {
6251
+ /**
6252
+ * entity identity
6253
+ */
6254
+ _id?: string;
6255
+ /**
6256
+ * entity slug
6257
+ */
6258
+ slug?: string;
6259
+ systemName?: string;
6260
+ /**
6261
+ * entity's schema version. Used to distinct between different schemas.
6262
+ */
6263
+ schemaVersion?: string;
6264
+ /**
6265
+ * entity name
6266
+ */
6267
+ name: string;
6268
+ /**
6269
+ * Identifies that entity is defaultable
6270
+ */
6271
+ isDefault?: boolean;
6272
+ /**
6273
+ * The short name of the application. e.g. qe
6274
+ */
6275
+ shortName: string;
6276
+ /**
6277
+ * Application's short description.
6278
+ */
6279
+ summary: string;
6280
+ /**
6281
+ * Application version. e.g. 5.3.5
6282
+ */
6283
+ version: string;
6284
+ /**
6285
+ * Application build. e.g. VTST
6286
+ */
6287
+ build: string;
6288
+ /**
6289
+ * Whether the version is the default version
6290
+ */
6291
+ isDefaultVersion?: boolean;
6292
+ /**
6293
+ * Whether advanced compute options are present
6294
+ */
6295
+ hasAdvancedComputeOptions?: boolean;
6296
+ /**
6297
+ * Whether licensing is present
6298
+ */
6299
+ isLicensed?: boolean;
6300
+ /**
6301
+ * Whether the application is using (being passed during a downstream processing routine) a material structure.
6302
+ */
6303
+ isUsingMaterial?: boolean;
6304
+ /**
6305
+ * The run configuration of the application
6306
+ */
6307
+ runConfig?: {
6308
+ /**
6309
+ * The command template of the application
6310
+ */
6311
+ commandTemplate: string;
6312
+ /**
6313
+ * The output file name of the application
6314
+ */
6315
+ outFileName: string;
6316
+ };
6317
+ };
6318
+ executable: {
6319
+ /**
6320
+ * entity identity
6321
+ */
6322
+ _id?: string;
6323
+ /**
6324
+ * entity slug
6325
+ */
6326
+ slug?: string;
6327
+ systemName?: string;
6328
+ /**
6329
+ * entity's schema version. Used to distinct between different schemas.
6330
+ */
6331
+ schemaVersion?: string;
6332
+ /**
6333
+ * entity name
6334
+ */
6335
+ name: string;
6336
+ /**
6337
+ * Identifies that entity is defaultable
6338
+ */
6339
+ isDefault?: boolean;
6340
+ /**
6341
+ * name of the application this executable belongs to
6342
+ */
6343
+ applicationName: string;
6344
+ /**
6345
+ * version of the application this executable belongs to
6346
+ */
6347
+ applicationVersion: string;
6348
+ /**
6349
+ * Whether advanced compute options are present
6350
+ */
6351
+ hasAdvancedComputeOptions?: boolean;
6352
+ };
6353
+ flavor: {
6354
+ /**
6355
+ * entity identity
6356
+ */
6357
+ _id?: string;
6358
+ /**
6359
+ * entity slug
6360
+ */
6361
+ slug?: string;
6362
+ systemName?: string;
6363
+ /**
6364
+ * entity's schema version. Used to distinct between different schemas.
6365
+ */
6366
+ schemaVersion?: string;
6367
+ /**
6368
+ * entity name
6369
+ */
6370
+ name: string;
6371
+ /**
6372
+ * Identifies that entity is defaultable
6373
+ */
6374
+ isDefault?: boolean;
6375
+ /**
6376
+ * names of the pre-processors for this calculation
6377
+ */
6378
+ preProcessors: {
6379
+ /**
6380
+ * The name of this item. e.g. scf_accuracy
6381
+ */
6382
+ name: string;
6383
+ [k: string]: unknown;
6384
+ }[];
6385
+ /**
6386
+ * names of the post-processors for this calculation
6387
+ */
6388
+ postProcessors: {
6389
+ /**
6390
+ * The name of this item. e.g. scf_accuracy
6391
+ */
6392
+ name: string;
6393
+ [k: string]: unknown;
6394
+ }[];
6395
+ /**
6396
+ * names of the monitors for this calculation
6397
+ */
6398
+ monitors: {
6399
+ /**
6400
+ * The name of this item. e.g. scf_accuracy
6401
+ */
6402
+ name: string;
6403
+ [k: string]: unknown;
6404
+ }[];
6405
+ /**
6406
+ * names of the results for this calculation
6407
+ */
6408
+ results: {
6409
+ /**
6410
+ * The name of this item. e.g. scf_accuracy
6411
+ */
6412
+ name: string;
6413
+ [k: string]: unknown;
6414
+ }[];
6415
+ /**
6416
+ * name of the executable this flavor belongs to
6417
+ */
6418
+ executableName: string;
6419
+ /**
6420
+ * name of the application this flavor belongs to
6421
+ */
6422
+ applicationName: string;
6423
+ /**
6424
+ * version of the application this flavor belongs to
6425
+ */
6426
+ applicationVersion: string;
6427
+ input: {
6428
+ templateId?: string;
6429
+ templateName?: string;
6430
+ /**
6431
+ * name of the resulting input file, if different than template name
6432
+ */
6433
+ name: string;
6434
+ }[];
6435
+ };
6436
+ input: {
6437
+ template: {
6438
+ /**
6439
+ * entity identity
6440
+ */
6441
+ _id?: string;
6442
+ /**
6443
+ * entity slug
6444
+ */
6445
+ slug?: string;
6446
+ systemName?: string;
6447
+ /**
6448
+ * entity's schema version. Used to distinct between different schemas.
6449
+ */
6450
+ schemaVersion?: string;
6451
+ /**
6452
+ * entity name
6453
+ */
6454
+ name: string;
6455
+ executableName: string;
6456
+ applicationName: string;
6457
+ applicationVersion: string;
6458
+ contextProviders: {
6459
+ name: ContextProviderNameEnum;
6460
+ }[];
6461
+ /**
6462
+ * Content of the template. e.g. &CONTROL calculation='scf' ...
6463
+ */
6464
+ content: string;
6465
+ };
6466
+ /**
6467
+ * Rendered content of the input file. e.g. &CONTROL calculation='scf' ...
6468
+ */
6469
+ rendered?: string;
6470
+ isManuallyChanged: boolean;
6471
+ }[];
6472
+ context: ({
6473
+ name: "input";
6474
+ data: {
6475
+ /**
6476
+ * Descriminator for AJV validator
6477
+ */
6478
+ contextProviderName: "nwchem-total-energy";
6479
+ /**
6480
+ * Total charge of the system.
6481
+ */
6482
+ CHARGE: number;
6483
+ /**
6484
+ * Spin multiplicity of the system.
6485
+ */
6486
+ MULT: number;
6487
+ /**
6488
+ * Basis set label used in the calculation (e.g., '6-31G').
6489
+ */
6490
+ BASIS: string;
6491
+ /**
6492
+ * Number of atoms in the system.
6493
+ */
6494
+ NAT: number;
6495
+ /**
6496
+ * Number of unique atomic species in the system.
6497
+ */
6498
+ NTYP: number;
6499
+ /**
6500
+ * Formatted text block with atomic positions including constraints.
6501
+ */
6502
+ ATOMIC_POSITIONS: string;
6503
+ /**
6504
+ * Formatted text block with atomic positions without constraints.
6505
+ */
6506
+ ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS: string;
6507
+ /**
6508
+ * Formatted text block for atomic species, including element symbols and masses.
6509
+ */
6510
+ ATOMIC_SPECIES: string;
6511
+ /**
6512
+ * Exchange-correlation functional identifier (e.g., 'B3LYP').
6513
+ */
6514
+ FUNCTIONAL: string;
6515
+ /**
6516
+ * Whether atomic positions are expressed in cartesian coordinates.
6517
+ */
6518
+ CARTESIAN: boolean;
6519
+ /**
6520
+ * Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart.
6521
+ */
6522
+ RESTART?: boolean;
6523
+ } | {
6524
+ IBRAV: number;
6525
+ RESTART_MODE: "from_scratch" | "restart";
6526
+ ATOMIC_SPECIES: {
6527
+ /**
6528
+ * label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters)
6529
+ */
6530
+ X: string;
6531
+ /**
6532
+ * mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)
6533
+ */
6534
+ Mass_X: number;
6535
+ /**
6536
+ * PseudoPot_X
6537
+ */
6538
+ PseudoPot_X: string;
6539
+ }[];
6540
+ ATOMIC_SPECIES_WITH_LABELS: {
6541
+ /**
6542
+ * label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters)
6543
+ */
6544
+ X: string;
6545
+ /**
6546
+ * mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)
6547
+ */
6548
+ Mass_X: number;
6549
+ /**
6550
+ * PseudoPot_X
6551
+ */
6552
+ PseudoPot_X: string;
6553
+ }[];
6554
+ /**
6555
+ * number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)
6556
+ */
6557
+ NAT: number;
6558
+ /**
6559
+ * number of types of atoms in the unit cell
6560
+ */
6561
+ NTYP: number;
6562
+ /**
6563
+ * Number of different atomic species including labels
6564
+ */
6565
+ NTYP_WITH_LABELS: number;
6566
+ ATOMIC_POSITIONS?: {
6567
+ /**
6568
+ * label of the atom as specified in ATOMIC_SPECIES
6569
+ */
6570
+ X?: string;
6571
+ /**
6572
+ * atomic positions
6573
+ */
6574
+ x: number;
6575
+ /**
6576
+ * atomic positions
6577
+ */
6578
+ y: number;
6579
+ /**
6580
+ * atomic positions
6581
+ */
6582
+ z: number;
6583
+ "if_pos(1)"?: number;
6584
+ "if_pos(2)"?: number;
6585
+ "if_pos(3)"?: number;
6586
+ }[];
6587
+ /**
6588
+ * Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line
6589
+ */
6590
+ ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS?: string;
6591
+ CELL_PARAMETERS: {
6592
+ /**
6593
+ * @minItems 3
6594
+ * @maxItems 3
6595
+ */
6596
+ v1?: [number, number, number];
6597
+ /**
6598
+ * @minItems 3
6599
+ * @maxItems 3
6600
+ */
6601
+ v2?: [number, number, number];
6602
+ /**
6603
+ * @minItems 3
6604
+ * @maxItems 3
6605
+ */
6606
+ v3?: [number, number, number];
6607
+ };
6608
+ FIRST_IMAGE: {
6609
+ /**
6610
+ * label of the atom as specified in ATOMIC_SPECIES
6611
+ */
6612
+ X?: string;
6613
+ /**
6614
+ * atomic positions
6615
+ */
6616
+ x: number;
6617
+ /**
6618
+ * atomic positions
6619
+ */
6620
+ y: number;
6621
+ /**
6622
+ * atomic positions
6623
+ */
6624
+ z: number;
6625
+ "if_pos(1)"?: number;
6626
+ "if_pos(2)"?: number;
6627
+ "if_pos(3)"?: number;
6628
+ }[];
6629
+ LAST_IMAGE: {
6630
+ /**
6631
+ * label of the atom as specified in ATOMIC_SPECIES
6632
+ */
6633
+ X?: string;
6634
+ /**
6635
+ * atomic positions
6636
+ */
6637
+ x: number;
6638
+ /**
6639
+ * atomic positions
6640
+ */
6641
+ y: number;
6642
+ /**
6643
+ * atomic positions
6644
+ */
6645
+ z: number;
6646
+ "if_pos(1)"?: number;
6647
+ "if_pos(2)"?: number;
6648
+ "if_pos(3)"?: number;
6649
+ }[];
6650
+ /**
6651
+ * Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.
6652
+ */
6653
+ INTERMEDIATE_IMAGES: {
6654
+ /**
6655
+ * label of the atom as specified in ATOMIC_SPECIES
6656
+ */
6657
+ X?: string;
6658
+ /**
6659
+ * atomic positions
6660
+ */
6661
+ x: number;
6662
+ /**
6663
+ * atomic positions
6664
+ */
6665
+ y: number;
6666
+ /**
6667
+ * atomic positions
6668
+ */
6669
+ z: number;
6670
+ "if_pos(1)"?: number;
6671
+ "if_pos(2)"?: number;
6672
+ "if_pos(3)"?: number;
6673
+ }[][];
6674
+ /**
6675
+ * Descriminator for AJV validator
6676
+ */
6677
+ contextProviderName: "qe-neb";
6678
+ } | {
6679
+ IBRAV: number;
6680
+ RESTART_MODE: "from_scratch" | "restart";
6681
+ ATOMIC_SPECIES: {
6682
+ /**
6683
+ * label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters)
6684
+ */
6685
+ X: string;
6686
+ /**
6687
+ * mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)
6688
+ */
6689
+ Mass_X: number;
6690
+ /**
6691
+ * PseudoPot_X
6692
+ */
6693
+ PseudoPot_X: string;
6694
+ }[];
6695
+ ATOMIC_SPECIES_WITH_LABELS: {
6696
+ /**
6697
+ * label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in "Xn" (e.g. Fe1) or "X_*" or "X-*" (e.g. C1, C_h; max total length cannot exceed 3 characters)
6698
+ */
6699
+ X: string;
6700
+ /**
6701
+ * mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)
6702
+ */
6703
+ Mass_X: number;
6704
+ /**
6705
+ * PseudoPot_X
6706
+ */
6707
+ PseudoPot_X: string;
6708
+ }[];
6709
+ /**
6710
+ * number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)
6711
+ */
6712
+ NAT: number;
6713
+ /**
6714
+ * number of types of atoms in the unit cell
6715
+ */
6716
+ NTYP: number;
6717
+ /**
6718
+ * Number of different atomic species including labels
6719
+ */
6720
+ NTYP_WITH_LABELS: number;
6721
+ ATOMIC_POSITIONS: {
6722
+ /**
6723
+ * label of the atom as specified in ATOMIC_SPECIES
6724
+ */
6725
+ X?: string;
6726
+ /**
6727
+ * atomic positions
6728
+ */
6729
+ x: number;
6730
+ /**
6731
+ * atomic positions
6732
+ */
6733
+ y: number;
6734
+ /**
6735
+ * atomic positions
6736
+ */
6737
+ z: number;
6738
+ "if_pos(1)"?: number;
6739
+ "if_pos(2)"?: number;
6740
+ "if_pos(3)"?: number;
6741
+ }[];
6742
+ /**
6743
+ * Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line
6744
+ */
6745
+ ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS: string;
6746
+ CELL_PARAMETERS: {
6747
+ /**
6748
+ * @minItems 3
6749
+ * @maxItems 3
6750
+ */
6751
+ v1?: [number, number, number];
6752
+ /**
6753
+ * @minItems 3
6754
+ * @maxItems 3
6755
+ */
6756
+ v2?: [number, number, number];
6757
+ /**
6758
+ * @minItems 3
6759
+ * @maxItems 3
6760
+ */
6761
+ v3?: [number, number, number];
6762
+ };
6763
+ /**
6764
+ * Descriminator for AJV validator
6765
+ */
6766
+ contextProviderName: "qe-pwx";
6767
+ } | {
6768
+ /**
6769
+ * POSCAR content for VASP including lattice, atom types, positions and constraints.
6770
+ */
6771
+ POSCAR: string;
6772
+ /**
6773
+ * POSCAR content for VASP including lattice, atom types, positions and constraints. May differ in how constraints are represented.
6774
+ */
6775
+ POSCAR_WITH_CONSTRAINTS: string;
6776
+ /**
6777
+ * Descriminator for AJV validator
6778
+ */
6779
+ contextProviderName: "vasp";
6780
+ } | {
6781
+ /**
6782
+ * POSCAR content with constraints for the first NEB image.
6783
+ */
6784
+ FIRST_IMAGE: string;
6785
+ /**
6786
+ * POSCAR content with constraints for the last NEB image.
6787
+ */
6788
+ LAST_IMAGE: string;
6789
+ /**
6790
+ * POSCAR contents with constraints for all intermediate NEB images.
6791
+ */
6792
+ INTERMEDIATE_IMAGES: string[];
6793
+ /**
6794
+ * Descriminator for AJV validator
6795
+ */
6796
+ contextProviderName: "vasp-neb";
6797
+ };
6798
+ extraData: {
6799
+ /**
6800
+ * UI only property used to track material change for re-render
6801
+ */
6802
+ materialHash?: string;
6803
+ };
6804
+ isEdited: boolean;
6805
+ } | {
6806
+ name: "cutoffs";
6807
+ /**
6808
+ * Planewave cutoff parameters for electronic wavefunctions and density. Units are specific to simulation engine.
6809
+ */
6810
+ data: {
6811
+ wavefunction?: number;
6812
+ density?: number;
6813
+ };
6814
+ isEdited: boolean;
6815
+ extraData: {};
6816
+ } | {
6817
+ name: "kgrid" | "qgrid" | "igrid";
6818
+ /**
6819
+ * 3D grid with shifts for k-point or q-point sampling.
6820
+ */
6821
+ data: {
6822
+ dimensions: [number, number, number] | [string, string, string];
6823
+ /**
6824
+ * @minItems 3
6825
+ * @maxItems 3
6826
+ */
6827
+ shifts?: [number, number, number];
6828
+ /**
6829
+ * @minItems 3
6830
+ * @maxItems 3
6831
+ */
6832
+ reciprocalVectorRatios?: [number, number, number];
6833
+ gridMetricType: "KPPRA" | "spacing";
6834
+ gridMetricValue: number;
6835
+ preferGridMetric?: boolean;
6836
+ };
6837
+ extraData: {
6838
+ /**
6839
+ * UI only property used to track material change for re-render
6840
+ */
6841
+ materialHash?: string;
6842
+ };
6843
+ isEdited: boolean;
6844
+ } | {
6845
+ name: "qpath" | "ipath" | "kpath" | "explicitKPath" | "explicitKPath2PIBA";
6846
+ /**
6847
+ * Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).
6848
+ *
6849
+ * @minItems 1
6850
+ */
6851
+ data: [
6852
+ {
6853
+ point: string;
6854
+ steps: number;
6855
+ },
6856
+ ...{
6857
+ point: string;
6858
+ steps: number;
6859
+ }[]
6860
+ ];
6861
+ extraData: {
6862
+ /**
6863
+ * UI only property used to track material change for re-render
6864
+ */
6865
+ materialHash?: string;
6866
+ };
6867
+ isEdited: boolean;
6868
+ } | {
6869
+ name: "hubbard_j";
6870
+ /**
6871
+ * Hubbard parameters for DFT+U+J calculation.
6872
+ *
6873
+ * @minItems 1
6874
+ */
6875
+ data: [
6876
+ {
6877
+ paramType?: "U" | "J" | "B" | "E2" | "E3";
6878
+ atomicSpecies?: string;
6879
+ atomicOrbital?: string;
6880
+ value?: number;
6881
+ },
6882
+ ...{
6883
+ paramType?: "U" | "J" | "B" | "E2" | "E3";
6884
+ atomicSpecies?: string;
6885
+ atomicOrbital?: string;
6886
+ value?: number;
6887
+ }[]
6888
+ ];
6889
+ isEdited: boolean;
6890
+ extraData: {};
6891
+ } | {
6892
+ name: "hubbard_u";
6893
+ /**
6894
+ * Hubbard U parameters for DFT+U or DFT+U+V calculation.
6895
+ */
6896
+ data: {
6897
+ atomicSpecies?: string;
6898
+ atomicOrbital?: string;
6899
+ hubbardUValue?: number;
6900
+ }[];
6901
+ extraData: {
6902
+ /**
6903
+ * UI only property used to track material change for re-render
6904
+ */
6905
+ materialHash?: string;
6906
+ };
6907
+ isEdited: boolean;
6908
+ } | {
6909
+ name: "hubbard_v";
6910
+ /**
6911
+ * Hubbard V parameters for DFT+U+V calculation.
6912
+ *
6913
+ * @minItems 1
6914
+ */
6915
+ data: [
6916
+ {
6917
+ atomicSpecies?: string;
6918
+ siteIndex?: number;
6919
+ atomicOrbital?: string;
6920
+ atomicSpecies2?: string;
6921
+ siteIndex2?: number;
6922
+ atomicOrbital2?: string;
6923
+ hubbardVValue?: number;
6924
+ },
6925
+ ...{
6926
+ atomicSpecies?: string;
6927
+ siteIndex?: number;
6928
+ atomicOrbital?: string;
6929
+ atomicSpecies2?: string;
6930
+ siteIndex2?: number;
6931
+ atomicOrbital2?: string;
6932
+ hubbardVValue?: number;
6933
+ }[]
6934
+ ];
6935
+ isEdited: boolean;
6936
+ extraData: {};
6937
+ } | {
6938
+ name: "hubbard_legacy";
6939
+ /**
6940
+ * Hubbard parameters for DFT+U calculation.
6941
+ *
6942
+ * @minItems 1
6943
+ */
6944
+ data: [
6945
+ {
6946
+ atomicSpecies?: string;
6947
+ atomicSpeciesIndex?: number;
6948
+ hubbardUValue?: number;
6949
+ },
6950
+ ...{
6951
+ atomicSpecies?: string;
6952
+ atomicSpeciesIndex?: number;
6953
+ hubbardUValue?: number;
6954
+ }[]
6955
+ ];
6956
+ isEdited: boolean;
6957
+ extraData: {};
6958
+ } | {
6959
+ name: "neb";
6960
+ /**
6961
+ * Number of intermediate NEB images.
6962
+ */
6963
+ data: {
6964
+ nImages?: number;
6965
+ };
6966
+ isEdited: boolean;
6967
+ extraData: {};
6968
+ } | {
6969
+ name: "boundaryConditions";
6970
+ data: {
6971
+ /**
6972
+ * If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab.
6973
+ */
6974
+ type?: "pbc" | "bc1" | "bc2" | "bc3";
6975
+ offset?: number;
6976
+ electricField?: number;
6977
+ targetFermiEnergy?: number;
6978
+ };
6979
+ extraData: {
6980
+ /**
6981
+ * UI only property used to track material change for re-render
6982
+ */
6983
+ materialHash?: string;
6984
+ };
6985
+ isEdited: boolean;
6986
+ } | {
6987
+ name: "mlSettings";
6988
+ /**
6989
+ * Settings important to machine learning runs.
6990
+ */
6991
+ data: {
6992
+ target_column_name?: string;
6993
+ problem_category?: "regression" | "classification" | "clustering";
6994
+ };
6995
+ isEdited: boolean;
6996
+ extraData: {};
6997
+ } | {
6998
+ name: "mlTrainTestSplit";
6999
+ /**
7000
+ * Fraction held as the test set. For example, a value of 0.2 corresponds to an 80/20 train/test split.
7001
+ */
7002
+ data: {
7003
+ fraction_held_as_test_set?: number;
7004
+ };
7005
+ isEdited: boolean;
7006
+ extraData: {};
7007
+ } | {
7008
+ name: "dynamics";
7009
+ /**
7010
+ * Important parameters for molecular dynamics calculation
7011
+ */
7012
+ data: {
7013
+ numberOfSteps?: number;
7014
+ timeStep?: number;
7015
+ electronMass?: number;
7016
+ temperature?: number;
7017
+ };
7018
+ isEdited: boolean;
7019
+ extraData: {};
7020
+ } | {
7021
+ name: "collinearMagnetization";
7022
+ /**
7023
+ * Set starting magnetization, can have values in the range [-1, +1].
7024
+ */
7025
+ data: {
7026
+ startingMagnetization: {
7027
+ atomicSpecies: string;
7028
+ value: number;
7029
+ index: number;
7030
+ }[];
7031
+ isTotalMagnetization: boolean;
7032
+ totalMagnetization: number;
7033
+ };
7034
+ extraData: {
7035
+ /**
7036
+ * UI only property used to track material change for re-render
7037
+ */
7038
+ materialHash?: string;
7039
+ };
7040
+ isEdited: boolean;
7041
+ } | {
7042
+ name: "nonCollinearMagnetization";
7043
+ /**
7044
+ * Non-collinear magnetization parameters including starting magnetization, spin angles, and constraints.
7045
+ */
7046
+ data: {
7047
+ isExistingChargeDensity?: boolean;
7048
+ isStartingMagnetization?: boolean;
7049
+ startingMagnetization?: {
7050
+ index?: number;
7051
+ atomicSpecies?: string;
7052
+ value?: number;
7053
+ }[];
7054
+ isArbitrarySpinAngle?: boolean;
7055
+ isArbitrarySpinDirection?: boolean;
7056
+ lforcet?: boolean;
7057
+ spinAngles?: {
7058
+ index?: number;
7059
+ atomicSpecies?: string;
7060
+ angle1?: number;
7061
+ angle2?: number;
7062
+ }[];
7063
+ isConstrainedMagnetization?: boolean;
7064
+ constrainedMagnetization?: {
7065
+ constrainType?: "none" | "total" | "atomic" | "total direction" | "atomic direction";
7066
+ lambda?: number;
7067
+ };
7068
+ isFixedMagnetization?: boolean;
7069
+ fixedMagnetization?: {
7070
+ x?: number;
7071
+ y?: number;
7072
+ z?: number;
7073
+ };
7074
+ };
7075
+ extraData: {
7076
+ /**
7077
+ * UI only property used to track material change for re-render
7078
+ */
7079
+ materialHash?: string;
7080
+ };
7081
+ isEdited: boolean;
7082
+ })[];
7083
+ } | {
7084
+ /**
7085
+ * entity identity
7086
+ */
7087
+ _id?: string;
7088
+ /**
7089
+ * entity slug
7090
+ */
7091
+ slug?: string;
7092
+ systemName?: string;
7093
+ /**
7094
+ * entity's schema version. Used to distinct between different schemas.
7095
+ */
7096
+ schemaVersion?: string;
7097
+ /**
7098
+ * entity name
7099
+ */
7100
+ name: string;
7101
+ /**
7102
+ * Identifies that entity is defaultable
7103
+ */
7104
+ isDefault?: boolean;
7105
+ /**
7106
+ * names of the pre-processors for this calculation
7107
+ */
7108
+ preProcessors: {
7109
+ /**
7110
+ * The name of this item. e.g. scf_accuracy
7111
+ */
7112
+ name: string;
7113
+ [k: string]: unknown;
7114
+ }[];
7115
+ /**
7116
+ * names of the post-processors for this calculation
7117
+ */
7118
+ postProcessors: {
7119
+ /**
7120
+ * The name of this item. e.g. scf_accuracy
7121
+ */
7122
+ name: string;
7123
+ [k: string]: unknown;
7124
+ }[];
7125
+ /**
7126
+ * names of the monitors for this calculation
7127
+ */
7128
+ monitors: {
7129
+ /**
7130
+ * The name of this item. e.g. scf_accuracy
7131
+ */
7132
+ name: string;
7133
+ [k: string]: unknown;
7134
+ }[];
7135
+ /**
7136
+ * names of the results for this calculation
7137
+ */
7138
+ results: {
7139
+ /**
7140
+ * The name of this item. e.g. scf_accuracy
7141
+ */
7142
+ name: string;
7143
+ [k: string]: unknown;
7144
+ }[];
7145
+ /**
7146
+ * entity tags
7147
+ */
7148
+ tags?: string[];
7149
+ statusTrack?: {
7150
+ trackedAt: number;
7151
+ status: string;
7152
+ repetition?: number;
7153
+ }[];
7154
+ isDraft?: boolean;
7155
+ /**
7156
+ * Whether this unit is the first one to be executed.
7157
+ */
7158
+ head?: boolean;
7159
+ /**
7160
+ * Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
7161
+ */
7162
+ flowchartId: string;
7163
+ /**
7164
+ * Next unit's flowchartId. If empty, the current unit is the last.
7165
+ */
7166
+ next?: string;
7167
+ /**
7168
+ * Whether Rupy should attempt to use Jinja templating to add context variables into the unit
7169
+ */
7170
+ enableRender?: boolean;
7171
+ /**
7172
+ * Status of the unit.
7173
+ */
7174
+ status?: "idle" | "active" | "warning" | "error" | "finished";
7175
+ scope?: string;
7176
+ type?: "assignment";
7177
+ /**
7178
+ * Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.
7179
+ */
7180
+ input?: {
7181
+ /**
7182
+ * Scope of the variable. e.g. 'global' or 'flowchart_id_2'
7183
+ */
7184
+ scope: string;
7185
+ /**
7186
+ * Name of the input data. e.g. total_energy
7187
+ */
7188
+ name: string;
7189
+ }[];
7190
+ /**
7191
+ * Name of the global variable. e.g. 'x'
7192
+ */
7193
+ operand: string;
7194
+ /**
7195
+ * Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)
7196
+ */
7197
+ value: string | boolean | number;
7198
+ } | {
7199
+ /**
7200
+ * entity identity
7201
+ */
7202
+ _id?: string;
7203
+ /**
7204
+ * entity slug
7205
+ */
7206
+ slug?: string;
7207
+ systemName?: string;
7208
+ /**
7209
+ * entity's schema version. Used to distinct between different schemas.
7210
+ */
7211
+ schemaVersion?: string;
7212
+ /**
7213
+ * entity name
7214
+ */
7215
+ name: string;
7216
+ /**
7217
+ * Identifies that entity is defaultable
7218
+ */
7219
+ isDefault?: boolean;
7220
+ /**
7221
+ * names of the pre-processors for this calculation
7222
+ */
7223
+ preProcessors: {
7224
+ /**
7225
+ * The name of this item. e.g. scf_accuracy
7226
+ */
7227
+ name: string;
7228
+ [k: string]: unknown;
7229
+ }[];
7230
+ /**
7231
+ * names of the post-processors for this calculation
7232
+ */
7233
+ postProcessors: {
7234
+ /**
7235
+ * The name of this item. e.g. scf_accuracy
7236
+ */
7237
+ name: string;
7238
+ [k: string]: unknown;
7239
+ }[];
7240
+ /**
7241
+ * names of the monitors for this calculation
7242
+ */
7243
+ monitors: {
7244
+ /**
7245
+ * The name of this item. e.g. scf_accuracy
7246
+ */
7247
+ name: string;
7248
+ [k: string]: unknown;
7249
+ }[];
7250
+ /**
7251
+ * names of the results for this calculation
7252
+ */
7253
+ results: {
7254
+ /**
7255
+ * The name of this item. e.g. scf_accuracy
7256
+ */
7257
+ name: string;
7258
+ [k: string]: unknown;
7259
+ }[];
7260
+ /**
7261
+ * entity tags
7262
+ */
7263
+ tags?: string[];
7264
+ statusTrack?: {
7265
+ trackedAt: number;
7266
+ status: string;
7267
+ repetition?: number;
7268
+ }[];
7269
+ isDraft?: boolean;
7270
+ /**
7271
+ * Whether this unit is the first one to be executed.
7272
+ */
7273
+ head?: boolean;
7274
+ /**
7275
+ * Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
7276
+ */
7277
+ flowchartId: string;
7278
+ /**
7279
+ * Next unit's flowchartId. If empty, the current unit is the last.
7280
+ */
7281
+ next?: string;
7282
+ /**
7283
+ * Whether Rupy should attempt to use Jinja templating to add context variables into the unit
7284
+ */
7285
+ enableRender?: boolean;
7286
+ /**
7287
+ * Status of the unit.
7288
+ */
7289
+ status?: "idle" | "active" | "warning" | "error" | "finished";
7290
+ type?: "error";
7291
+ /**
7292
+ * JSON string with validation/hydration details: { error, json, schema }
7293
+ */
7294
+ reason: string;
7295
+ })[];
7296
+ model: {
7297
+ type: "dft";
7298
+ subtype: "lda";
7299
+ functional: "pz" | "pw" | "vwn" | "other";
7300
+ method: {
7301
+ /**
7302
+ * general type of this method, eg. `pseudopotential`
7303
+ */
7304
+ type: string;
7305
+ /**
7306
+ * general subtype of this method, eg. `ultra-soft`
7307
+ */
7308
+ subtype: string;
7309
+ /**
7310
+ * Object showing the actual possible precision based on theory and implementation
7311
+ */
7312
+ precision?: {};
7313
+ /**
7314
+ * additional data specific to method, eg. array of pseudopotentials
7315
+ */
7316
+ data?: {
7317
+ searchText?: string;
7318
+ [k: string]: unknown;
7319
+ };
7320
+ };
7321
+ } | {
7322
+ type: "dft";
7323
+ subtype: "gga";
7324
+ functional: "pbe" | "pbesol" | "pw91" | "other";
7325
+ method: {
7326
+ /**
7327
+ * general type of this method, eg. `pseudopotential`
7328
+ */
7329
+ type: string;
7330
+ /**
7331
+ * general subtype of this method, eg. `ultra-soft`
7332
+ */
7333
+ subtype: string;
7334
+ /**
7335
+ * Object showing the actual possible precision based on theory and implementation
7336
+ */
7337
+ precision?: {};
7338
+ /**
7339
+ * additional data specific to method, eg. array of pseudopotentials
7340
+ */
7341
+ data?: {
7342
+ searchText?: string;
7343
+ [k: string]: unknown;
7344
+ };
7345
+ };
7346
+ } | {
7347
+ type: "dft";
7348
+ subtype: "hybrid";
7349
+ functional: "b3lyp" | "hse06" | "other";
7350
+ method: {
7351
+ /**
7352
+ * general type of this method, eg. `pseudopotential`
7353
+ */
7354
+ type: string;
7355
+ /**
7356
+ * general subtype of this method, eg. `ultra-soft`
7357
+ */
7358
+ subtype: string;
7359
+ /**
7360
+ * Object showing the actual possible precision based on theory and implementation
7361
+ */
7362
+ precision?: {};
7363
+ /**
7364
+ * additional data specific to method, eg. array of pseudopotentials
7365
+ */
7366
+ data?: {
7367
+ searchText?: string;
7368
+ [k: string]: unknown;
7369
+ };
7370
+ };
7371
+ } | {
7372
+ type: "ml";
7373
+ subtype: "re";
7374
+ method: {
7375
+ /**
7376
+ * general type of this method, eg. `pseudopotential`
7377
+ */
7378
+ type: string;
7379
+ /**
7380
+ * general subtype of this method, eg. `ultra-soft`
7381
+ */
7382
+ subtype: string;
7383
+ /**
7384
+ * Object showing the actual possible precision based on theory and implementation
7385
+ */
7386
+ precision?: {};
7387
+ /**
7388
+ * additional data specific to method, eg. array of pseudopotentials
7389
+ */
7390
+ data?: {
7391
+ searchText?: string;
7392
+ [k: string]: unknown;
7393
+ };
7394
+ };
7395
+ } | {
7396
+ type: "unknown";
7397
+ subtype: "unknown";
7398
+ method: {
7399
+ /**
7400
+ * general type of this method, eg. `pseudopotential`
7401
+ */
7402
+ type: string;
7403
+ /**
7404
+ * general subtype of this method, eg. `ultra-soft`
7405
+ */
7406
+ subtype: string;
7407
+ /**
7408
+ * Object showing the actual possible precision based on theory and implementation
7409
+ */
7410
+ precision?: {};
7411
+ /**
7412
+ * additional data specific to method, eg. array of pseudopotentials
7413
+ */
7414
+ data?: {
7415
+ searchText?: string;
7416
+ [k: string]: unknown;
7417
+ };
7418
+ };
7419
+ };
7420
+ application: {
7421
+ /**
7422
+ * entity identity
7423
+ */
7424
+ _id?: string;
7425
+ /**
7426
+ * entity slug
7427
+ */
7428
+ slug?: string;
7429
+ systemName?: string;
7430
+ /**
7431
+ * entity's schema version. Used to distinct between different schemas.
7432
+ */
7433
+ schemaVersion?: string;
7434
+ /**
7435
+ * entity name
7436
+ */
7437
+ name: string;
7438
+ /**
7439
+ * Identifies that entity is defaultable
7440
+ */
7441
+ isDefault?: boolean;
7442
+ /**
7443
+ * The short name of the application. e.g. qe
7444
+ */
7445
+ shortName: string;
7446
+ /**
7447
+ * Application's short description.
7448
+ */
7449
+ summary: string;
7450
+ /**
7451
+ * Application version. e.g. 5.3.5
7452
+ */
7453
+ version: string;
7454
+ /**
7455
+ * Application build. e.g. VTST
7456
+ */
7457
+ build: string;
7458
+ /**
7459
+ * Whether the version is the default version
7460
+ */
7461
+ isDefaultVersion?: boolean;
7462
+ /**
7463
+ * Whether advanced compute options are present
7464
+ */
7465
+ hasAdvancedComputeOptions?: boolean;
7466
+ /**
7467
+ * Whether licensing is present
7468
+ */
7469
+ isLicensed?: boolean;
7470
+ /**
7471
+ * Whether the application is using (being passed during a downstream processing routine) a material structure.
7472
+ */
7473
+ isUsingMaterial?: boolean;
7474
+ /**
7475
+ * The run configuration of the application
7476
+ */
7477
+ runConfig?: {
7478
+ /**
7479
+ * The command template of the application
7480
+ */
7481
+ commandTemplate: string;
7482
+ /**
7483
+ * The output file name of the application
7484
+ */
7485
+ outFileName: string;
7486
+ };
7487
+ };
7488
+ isMultiMaterial?: boolean;
7489
+ /**
7490
+ * Defines whether to store the results/properties extracted in this unit to properties collection
7491
+ */
7492
+ isDraft?: boolean;
7493
+ }[];
7494
+ /**
7495
+ * Contains the Units of the Workflow
7496
+ */
7497
+ units: ({
7498
+ /**
7499
+ * entity identity
7500
+ */
7501
+ _id?: string;
7502
+ /**
7503
+ * entity slug
7504
+ */
7505
+ slug?: string;
7506
+ systemName?: string;
7507
+ /**
7508
+ * entity's schema version. Used to distinct between different schemas.
7509
+ */
7510
+ schemaVersion?: string;
7511
+ /**
7512
+ * entity name
7513
+ */
7514
+ name: string;
7515
+ /**
7516
+ * Identifies that entity is defaultable
7517
+ */
7518
+ isDefault?: boolean;
7519
+ /**
7520
+ * names of the pre-processors for this calculation
7521
+ */
7522
+ preProcessors: {
7523
+ /**
7524
+ * The name of this item. e.g. scf_accuracy
7525
+ */
7526
+ name: string;
7527
+ [k: string]: unknown;
7528
+ }[];
7529
+ /**
7530
+ * names of the post-processors for this calculation
7531
+ */
7532
+ postProcessors: {
7533
+ /**
7534
+ * The name of this item. e.g. scf_accuracy
7535
+ */
7536
+ name: string;
7537
+ [k: string]: unknown;
7538
+ }[];
7539
+ /**
7540
+ * names of the monitors for this calculation
7541
+ */
7542
+ monitors: {
7543
+ /**
7544
+ * The name of this item. e.g. scf_accuracy
7545
+ */
7546
+ name: string;
7547
+ [k: string]: unknown;
7548
+ }[];
7549
+ /**
7550
+ * names of the results for this calculation
7551
+ */
7552
+ results: {
7553
+ /**
7554
+ * The name of this item. e.g. scf_accuracy
7555
+ */
7556
+ name: string;
7557
+ [k: string]: unknown;
7558
+ }[];
7559
+ /**
7560
+ * entity tags
7561
+ */
7562
+ tags?: string[];
7563
+ statusTrack?: {
7564
+ trackedAt: number;
7565
+ status: string;
7566
+ repetition?: number;
7567
+ }[];
7568
+ isDraft?: boolean;
7569
+ /**
7570
+ * Whether this unit is the first one to be executed.
7571
+ */
7572
+ head?: boolean;
7573
+ /**
7574
+ * Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
7575
+ */
7576
+ flowchartId: string;
7577
+ /**
7578
+ * Next unit's flowchartId. If empty, the current unit is the last.
7579
+ */
7580
+ next?: string;
7581
+ /**
7582
+ * Whether Rupy should attempt to use Jinja templating to add context variables into the unit
7583
+ */
7584
+ enableRender?: boolean;
7585
+ /**
7586
+ * Status of the unit.
7587
+ */
7588
+ status?: "idle" | "active" | "warning" | "error" | "finished";
7589
+ type?: "map";
7590
+ /**
7591
+ * Id of workflow to run inside map
7592
+ */
7593
+ workflowId: string;
7594
+ /**
7595
+ * Input information for map.
7596
+ */
7597
+ input: {
7598
+ /**
7599
+ * Name of the target variable to substitute using the values below. e.g. K_POINTS
7600
+ */
7601
+ target: string;
7602
+ /**
7603
+ * Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.
7604
+ */
7605
+ scope?: string;
7606
+ /**
7607
+ * Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.
7608
+ */
7609
+ name?: string;
7610
+ /**
7611
+ * Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution
7612
+ */
7613
+ values?: (string | number | {})[];
7614
+ useValues?: boolean;
7615
+ };
7616
+ } | {
7617
+ /**
7618
+ * entity identity
7619
+ */
7620
+ _id?: string;
7621
+ /**
7622
+ * entity slug
7623
+ */
7624
+ slug?: string;
7625
+ systemName?: string;
7626
+ /**
7627
+ * entity's schema version. Used to distinct between different schemas.
7628
+ */
7629
+ schemaVersion?: string;
7630
+ /**
7631
+ * entity name
7632
+ */
7633
+ name: string;
7634
+ /**
7635
+ * Identifies that entity is defaultable
7636
+ */
7637
+ isDefault?: boolean;
7638
+ /**
7639
+ * names of the pre-processors for this calculation
7640
+ */
7641
+ preProcessors: {
7642
+ /**
7643
+ * The name of this item. e.g. scf_accuracy
7644
+ */
7645
+ name: string;
7646
+ [k: string]: unknown;
7647
+ }[];
7648
+ /**
7649
+ * names of the post-processors for this calculation
7650
+ */
7651
+ postProcessors: {
7652
+ /**
7653
+ * The name of this item. e.g. scf_accuracy
7654
+ */
7655
+ name: string;
7656
+ [k: string]: unknown;
7657
+ }[];
7658
+ /**
7659
+ * names of the monitors for this calculation
7660
+ */
7661
+ monitors: {
7662
+ /**
7663
+ * The name of this item. e.g. scf_accuracy
7664
+ */
7665
+ name: string;
7666
+ [k: string]: unknown;
7667
+ }[];
7668
+ /**
7669
+ * names of the results for this calculation
7670
+ */
7671
+ results: {
7672
+ /**
7673
+ * The name of this item. e.g. scf_accuracy
7674
+ */
7675
+ name: string;
7676
+ [k: string]: unknown;
7677
+ }[];
7678
+ /**
7679
+ * entity tags
7680
+ */
7681
+ tags?: string[];
7682
+ statusTrack?: {
7683
+ trackedAt: number;
7684
+ status: string;
7685
+ repetition?: number;
7686
+ }[];
7687
+ isDraft?: boolean;
7688
+ /**
7689
+ * Whether this unit is the first one to be executed.
7690
+ */
7691
+ head?: boolean;
7692
+ /**
7693
+ * Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
7694
+ */
7695
+ flowchartId: string;
7696
+ /**
7697
+ * Next unit's flowchartId. If empty, the current unit is the last.
7698
+ */
7699
+ next?: string;
7700
+ /**
7701
+ * Whether Rupy should attempt to use Jinja templating to add context variables into the unit
7702
+ */
7703
+ enableRender?: boolean;
7704
+ /**
7705
+ * Status of the unit.
7706
+ */
7707
+ status?: "idle" | "active" | "warning" | "error" | "finished";
7708
+ type?: "reduce";
7709
+ /**
7710
+ * corresponding map unit flowchart ID
7711
+ */
7712
+ mapFlowchartId: string;
7713
+ /**
7714
+ * input information for reduce unit
7715
+ */
7716
+ input: {
7717
+ /**
7718
+ * reduce operation, e.g. aggregate
7719
+ */
7720
+ operation: string;
7721
+ /**
7722
+ * arguments which are passed to reduce operation function
7723
+ */
7724
+ arguments: string[];
7725
+ }[];
7726
+ } | {
7727
+ /**
7728
+ * entity identity
7729
+ */
7730
+ _id?: string;
7731
+ /**
7732
+ * entity slug
7733
+ */
7734
+ slug?: string;
7735
+ systemName?: string;
7736
+ /**
7737
+ * entity's schema version. Used to distinct between different schemas.
7738
+ */
7739
+ schemaVersion?: string;
7740
+ /**
7741
+ * entity name
7742
+ */
7743
+ name: string;
7744
+ /**
7745
+ * Identifies that entity is defaultable
7746
+ */
7747
+ isDefault?: boolean;
7748
+ /**
7749
+ * names of the pre-processors for this calculation
7750
+ */
7751
+ preProcessors: {
7752
+ /**
7753
+ * The name of this item. e.g. scf_accuracy
7754
+ */
7755
+ name: string;
7756
+ [k: string]: unknown;
7757
+ }[];
7758
+ /**
7759
+ * names of the post-processors for this calculation
7760
+ */
7761
+ postProcessors: {
7762
+ /**
7763
+ * The name of this item. e.g. scf_accuracy
7764
+ */
7765
+ name: string;
7766
+ [k: string]: unknown;
7767
+ }[];
7768
+ /**
7769
+ * names of the monitors for this calculation
7770
+ */
7771
+ monitors: {
7772
+ /**
7773
+ * The name of this item. e.g. scf_accuracy
7774
+ */
7775
+ name: string;
7776
+ [k: string]: unknown;
7777
+ }[];
7778
+ /**
7779
+ * names of the results for this calculation
7780
+ */
7781
+ results: {
7782
+ /**
7783
+ * The name of this item. e.g. scf_accuracy
7784
+ */
7785
+ name: string;
7786
+ [k: string]: unknown;
7787
+ }[];
7788
+ /**
7789
+ * entity tags
7790
+ */
7791
+ tags?: string[];
7792
+ statusTrack?: {
7793
+ trackedAt: number;
7794
+ status: string;
7795
+ repetition?: number;
7796
+ }[];
7797
+ isDraft?: boolean;
7798
+ /**
7799
+ * Whether this unit is the first one to be executed.
7800
+ */
7801
+ head?: boolean;
7802
+ /**
7803
+ * Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
7804
+ */
7805
+ flowchartId: string;
7806
+ /**
7807
+ * Next unit's flowchartId. If empty, the current unit is the last.
7808
+ */
7809
+ next?: string;
7810
+ /**
7811
+ * Whether Rupy should attempt to use Jinja templating to add context variables into the unit
7812
+ */
7813
+ enableRender?: boolean;
7814
+ /**
7815
+ * Status of the unit.
7816
+ */
7817
+ status?: "idle" | "active" | "warning" | "error" | "finished";
7818
+ type?: "subworkflow";
7819
+ } | {
7820
+ /**
7821
+ * entity identity
7822
+ */
7823
+ _id?: string;
7824
+ /**
7825
+ * entity slug
7826
+ */
7827
+ slug?: string;
7828
+ systemName?: string;
7829
+ /**
7830
+ * entity's schema version. Used to distinct between different schemas.
7831
+ */
7832
+ schemaVersion?: string;
7833
+ /**
7834
+ * entity name
7835
+ */
7836
+ name: string;
7837
+ /**
7838
+ * Identifies that entity is defaultable
7839
+ */
7840
+ isDefault?: boolean;
7841
+ /**
7842
+ * names of the pre-processors for this calculation
7843
+ */
7844
+ preProcessors: {
7845
+ /**
7846
+ * The name of this item. e.g. scf_accuracy
7847
+ */
7848
+ name: string;
7849
+ [k: string]: unknown;
7850
+ }[];
7851
+ /**
7852
+ * names of the post-processors for this calculation
7853
+ */
7854
+ postProcessors: {
7855
+ /**
7856
+ * The name of this item. e.g. scf_accuracy
7857
+ */
7858
+ name: string;
7859
+ [k: string]: unknown;
7860
+ }[];
7861
+ /**
7862
+ * names of the monitors for this calculation
7863
+ */
7864
+ monitors: {
7865
+ /**
7866
+ * The name of this item. e.g. scf_accuracy
7867
+ */
7868
+ name: string;
7869
+ [k: string]: unknown;
7870
+ }[];
7871
+ /**
7872
+ * names of the results for this calculation
7873
+ */
7874
+ results: {
7875
+ /**
7876
+ * The name of this item. e.g. scf_accuracy
7877
+ */
7878
+ name: string;
7879
+ [k: string]: unknown;
7880
+ }[];
7881
+ /**
7882
+ * entity tags
7883
+ */
7884
+ tags?: string[];
7885
+ statusTrack?: {
7886
+ trackedAt: number;
7887
+ status: string;
7888
+ repetition?: number;
7889
+ }[];
7890
+ isDraft?: boolean;
7891
+ /**
7892
+ * Whether this unit is the first one to be executed.
7893
+ */
7894
+ head?: boolean;
7895
+ /**
7896
+ * Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
7897
+ */
7898
+ flowchartId: string;
7899
+ /**
7900
+ * Next unit's flowchartId. If empty, the current unit is the last.
7901
+ */
7902
+ next?: string;
7903
+ /**
7904
+ * Whether Rupy should attempt to use Jinja templating to add context variables into the unit
7905
+ */
7906
+ enableRender?: boolean;
7907
+ /**
7908
+ * Status of the unit.
7909
+ */
7910
+ status?: "idle" | "active" | "warning" | "error" | "finished";
7911
+ type?: "error";
7912
+ /**
7913
+ * JSON string with validation/hydration details: { error, json, schema }
7914
+ */
7915
+ reason: string;
7916
+ })[];
7917
+ /**
7918
+ * information about the main application used for workflow categorization by application in standata.
7919
+ */
7920
+ application?: {
7921
+ /**
7922
+ * name of the application
7923
+ */
7924
+ name?: string;
7925
+ };
7926
+ /**
7927
+ * tags for the workflow
7928
+ */
7929
+ tags?: string[];
7930
+ /**
7931
+ * entity description
7932
+ */
7933
+ description?: string;
7934
+ descriptionObject?: {};
7935
+ };
7936
+ /**
7937
+ * Identity used to track jobs originated from command-line
7938
+ */
7939
+ rmsId?: string;
7940
+ /**
7941
+ * job status
7942
+ */
7943
+ status: "pre-submission" | "queued" | "submitted" | "active" | "finished" | "terminate-queued" | "terminated" | "error" | "deleted" | "timeout";
7944
+ /**
7945
+ * Approximate start time of the job. e.g. within 10 min
7946
+ */
7947
+ startTime?: string;
7948
+ /**
7949
+ * The path to the working directory of this job, when the job originates from command-line
7950
+ */
7951
+ workDir?: string;
7952
+ _material?: {
7953
+ /**
7954
+ * entity identity
7955
+ */
7956
+ _id: string;
7957
+ /**
7958
+ * entity class
7959
+ */
7960
+ cls?: string;
7961
+ /**
7962
+ * entity slug
7963
+ */
7964
+ slug?: string;
7965
+ };
7966
+ /**
7967
+ * Subset of the full information about the materials used inside a multi-material job.
7968
+ */
7969
+ _materials?: {
7970
+ /**
7971
+ * entity identity
7972
+ */
7973
+ _id: string;
7974
+ /**
7975
+ * entity class
7976
+ */
7977
+ cls?: string;
7978
+ /**
7979
+ * entity slug
7980
+ */
7981
+ slug?: string;
7982
+ }[];
7983
+ _materialsSet?: {
7984
+ /**
7985
+ * entity identity
7986
+ */
7987
+ _id: string;
7988
+ /**
7989
+ * entity class
7990
+ */
7991
+ cls?: string;
7992
+ /**
7993
+ * entity slug
7994
+ */
7995
+ slug?: string;
7996
+ };
7997
+ parent?: {
7998
+ /**
7999
+ * entity identity
8000
+ */
8001
+ _id: string;
8002
+ /**
8003
+ * entity class
8004
+ */
8005
+ cls?: string;
8006
+ /**
8007
+ * entity slug
8008
+ */
8009
+ slug?: string;
8010
+ };
8011
+ /**
8012
+ * Context variables that the job will have access to at runtime
8013
+ */
8014
+ runtimeContext?: {};
8015
+ /**
8016
+ * history of the workflow scope on each update
8017
+ */
8018
+ scopeTrack?: {
8019
+ repetition?: number;
8020
+ scope?: {
8021
+ global: {
8022
+ [k: string]: unknown;
8023
+ };
8024
+ local: {
8025
+ [k: string]: unknown;
8026
+ };
8027
+ };
8028
+ }[];
8029
+ dataset?: {
8030
+ datasetFilepath?: string;
8031
+ datasetBasename?: string;
8032
+ objectStorageContainerData?: {
8033
+ CONTAINER?: string;
8034
+ NAME?: string;
8035
+ PROVIDER?: string;
8036
+ REGION?: string;
8037
+ SIZE?: string;
8038
+ TIMESTAMP?: string;
8039
+ };
8040
+ };
8041
+ purged?: boolean;
8042
+ purgedAt?: number;
8043
+ /**
8044
+ * Compute schema
8045
+ */
8046
+ compute: {
8047
+ /**
8048
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
8049
+ */
8050
+ queue: QueueNameEnum;
8051
+ /**
8052
+ * number of nodes used for the job inside the RMS.
8053
+ */
8054
+ nodes: number;
8055
+ /**
8056
+ * number of CPUs used for the job inside the RMS.
8057
+ */
8058
+ ppn: number;
8059
+ /**
8060
+ * Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'
8061
+ */
8062
+ timeLimit: string;
8063
+ /**
8064
+ * Convention to use when reasoning about time limits
8065
+ */
8066
+ timeLimitType?: "per single attempt" | "compound";
8067
+ /**
8068
+ * Job is allowed to restart on termination.
8069
+ */
8070
+ isRestartable?: boolean;
8071
+ /**
8072
+ * Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.
8073
+ */
8074
+ notify?: string;
8075
+ /**
8076
+ * Email address to notify about job execution.
8077
+ */
8078
+ email?: string;
8079
+ /**
8080
+ * Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.
8081
+ */
8082
+ maxCPU?: number;
8083
+ /**
8084
+ * Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere
8085
+ */
8086
+ arguments?: {
8087
+ /**
8088
+ * Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.
8089
+ */
8090
+ nimage?: number;
8091
+ /**
8092
+ * Each image can be subpartitioned into `pools`, each taking care of a group of k-points.
8093
+ */
8094
+ npools?: number;
8095
+ /**
8096
+ * Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).
8097
+ */
8098
+ nband?: number;
8099
+ /**
8100
+ * In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.
8101
+ */
8102
+ ntg?: number;
8103
+ /**
8104
+ * A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.
8105
+ */
8106
+ ndiag?: number;
8107
+ };
8108
+ /**
8109
+ * Cluster where the job is executed. Optional on create. Required on job submission.
8110
+ */
8111
+ cluster?: {
8112
+ /**
8113
+ * FQDN of the cluster. e.g. master-1-staging.exabyte.io
8114
+ */
8115
+ fqdn?: string;
8116
+ /**
8117
+ * Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io
8118
+ */
8119
+ jid?: string;
8120
+ };
8121
+ /**
8122
+ * Computation error. Optional. Appears only if something happens on jobs execution.
8123
+ */
8124
+ errors?: {
8125
+ /**
8126
+ * Domain of the error appearance (internal).
8127
+ */
8128
+ domain?: "rupy" | "alfred" | "celim" | "webapp";
8129
+ /**
8130
+ * Should be a short, unique, machine-readable error code string. e.g. FileNotFound
8131
+ */
8132
+ reason?: string;
8133
+ /**
8134
+ * Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'
8135
+ */
8136
+ message?: string;
8137
+ /**
8138
+ * Full machine-readable error traceback. e.g. FileNotFound
8139
+ */
8140
+ traceback?: string;
8141
+ }[];
8142
+ /**
8143
+ * A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix
8144
+ */
8145
+ excludeFilesPattern?: string;
8146
+ };
8147
+ statusTrack?: {
8148
+ trackedAt: number;
8149
+ status: string;
8150
+ repetition?: number;
8151
+ }[];
8152
+ }
8153
+ /** Schema dist/js/schema/job/compute.json */
8154
+ /**
8155
+ * Compute schema
8156
+ */
8157
+ export interface ComputeArgumentsSchema {
8158
+ /**
8159
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
8160
+ */
8161
+ queue: QueueNameEnum;
8162
+ /**
8163
+ * number of nodes used for the job inside the RMS.
8164
+ */
8165
+ nodes: number;
8166
+ /**
8167
+ * number of CPUs used for the job inside the RMS.
8168
+ */
8169
+ ppn: number;
8170
+ /**
8171
+ * Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'
8172
+ */
8173
+ timeLimit: string;
8174
+ /**
8175
+ * Convention to use when reasoning about time limits
8176
+ */
8177
+ timeLimitType?: "per single attempt" | "compound";
8178
+ /**
8179
+ * Job is allowed to restart on termination.
8180
+ */
8181
+ isRestartable?: boolean;
8182
+ /**
8183
+ * Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.
8184
+ */
8185
+ notify?: string;
8186
+ /**
8187
+ * Email address to notify about job execution.
8188
+ */
8189
+ email?: string;
8190
+ /**
8191
+ * Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.
8192
+ */
8193
+ maxCPU?: number;
8194
+ /**
8195
+ * Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere
8196
+ */
8197
+ arguments?: {
8198
+ /**
8199
+ * Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.
8200
+ */
8201
+ nimage?: number;
8202
+ /**
8203
+ * Each image can be subpartitioned into `pools`, each taking care of a group of k-points.
8204
+ */
8205
+ npools?: number;
8206
+ /**
8207
+ * Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).
8208
+ */
8209
+ nband?: number;
8210
+ /**
8211
+ * In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.
8212
+ */
8213
+ ntg?: number;
8214
+ /**
8215
+ * A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.
8216
+ */
8217
+ ndiag?: number;
8218
+ };
8219
+ /**
8220
+ * Cluster where the job is executed. Optional on create. Required on job submission.
8221
+ */
8222
+ cluster?: {
8223
+ /**
8224
+ * FQDN of the cluster. e.g. master-1-staging.exabyte.io
8225
+ */
8226
+ fqdn?: string;
8227
+ /**
8228
+ * Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io
8229
+ */
8230
+ jid?: string;
8231
+ };
8232
+ /**
8233
+ * Computation error. Optional. Appears only if something happens on jobs execution.
8234
+ */
8235
+ errors?: {
8236
+ /**
8237
+ * Domain of the error appearance (internal).
8238
+ */
8239
+ domain?: "rupy" | "alfred" | "celim" | "webapp";
8240
+ /**
8241
+ * Should be a short, unique, machine-readable error code string. e.g. FileNotFound
8242
+ */
8243
+ reason?: string;
8244
+ /**
8245
+ * Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'
8246
+ */
8247
+ message?: string;
8248
+ /**
8249
+ * Full machine-readable error traceback. e.g. FileNotFound
8250
+ */
8251
+ traceback?: string;
8252
+ }[];
8253
+ /**
8254
+ * A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix
8255
+ */
8256
+ excludeFilesPattern?: string;
8257
+ }
8258
+ /** Schema dist/js/schema/job/compute_property.json */
8259
+ export interface ComputePropertySchema {
5568
8260
  /**
5569
8261
  * Compute schema
5570
8262
  */
5571
8263
  compute: {
5572
8264
  /**
5573
- * Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
8265
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
5574
8266
  */
5575
- queue: "D" | "OR" | "OF" | "OFplus" | "SR" | "SF" | "SFplus" | "OR4" | "OR8" | "OR16" | "SR4" | "SR8" | "SR16" | "GOF" | "G4OF" | "G8OF" | "GSF" | "G4SF" | "G8SF";
8267
+ queue: QueueNameEnum;
5576
8268
  /**
5577
8269
  * number of nodes used for the job inside the RMS.
5578
8270
  */
@@ -5670,223 +8362,46 @@ export interface JobBaseSchema {
5670
8362
  excludeFilesPattern?: string;
5671
8363
  };
5672
8364
  }
5673
- /** Schema dist/js/schema/job/compute.json */
5674
- /**
5675
- * Compute schema
5676
- */
5677
- export interface ComputeArgumentsSchema {
5678
- /**
5679
- * Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
5680
- */
5681
- queue: "D" | "OR" | "OF" | "OFplus" | "SR" | "SF" | "SFplus" | "OR4" | "OR8" | "OR16" | "SR4" | "SR8" | "SR16" | "GOF" | "G4OF" | "G8OF" | "GSF" | "G4SF" | "G8SF";
5682
- /**
5683
- * number of nodes used for the job inside the RMS.
5684
- */
5685
- nodes: number;
5686
- /**
5687
- * number of CPUs used for the job inside the RMS.
5688
- */
5689
- ppn: number;
5690
- /**
5691
- * Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'
5692
- */
5693
- timeLimit: string;
5694
- /**
5695
- * Convention to use when reasoning about time limits
5696
- */
5697
- timeLimitType?: "per single attempt" | "compound";
5698
- /**
5699
- * Job is allowed to restart on termination.
5700
- */
5701
- isRestartable?: boolean;
5702
- /**
5703
- * Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.
5704
- */
5705
- notify?: string;
5706
- /**
5707
- * Email address to notify about job execution.
5708
- */
5709
- email?: string;
5710
- /**
5711
- * Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.
5712
- */
5713
- maxCPU?: number;
8365
+ /** Schema dist/js/schema/job/dataset.json */
8366
+ export interface JobDatasetSchema {
8367
+ datasetFilepath?: string;
8368
+ datasetBasename?: string;
8369
+ objectStorageContainerData?: {
8370
+ CONTAINER?: string;
8371
+ NAME?: string;
8372
+ PROVIDER?: string;
8373
+ REGION?: string;
8374
+ SIZE?: string;
8375
+ TIMESTAMP?: string;
8376
+ };
8377
+ }
8378
+ /** Schema dist/js/schema/job.json */
8379
+ export interface JobSchema {
5714
8380
  /**
5715
- * Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere
8381
+ * entity identity
5716
8382
  */
5717
- arguments?: {
5718
- /**
5719
- * Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.
5720
- */
5721
- nimage?: number;
5722
- /**
5723
- * Each image can be subpartitioned into `pools`, each taking care of a group of k-points.
5724
- */
5725
- npools?: number;
5726
- /**
5727
- * Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).
5728
- */
5729
- nband?: number;
5730
- /**
5731
- * In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.
5732
- */
5733
- ntg?: number;
5734
- /**
5735
- * A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.
5736
- */
5737
- ndiag?: number;
5738
- };
8383
+ _id?: string;
5739
8384
  /**
5740
- * Cluster where the job is executed. Optional on create. Required on job submission.
8385
+ * entity slug
5741
8386
  */
5742
- cluster?: {
5743
- /**
5744
- * FQDN of the cluster. e.g. master-1-staging.exabyte.io
5745
- */
5746
- fqdn?: string;
5747
- /**
5748
- * Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io
5749
- */
5750
- jid?: string;
5751
- };
8387
+ slug?: string;
8388
+ systemName?: string;
5752
8389
  /**
5753
- * Computation error. Optional. Appears only if something happens on jobs execution.
8390
+ * entity's schema version. Used to distinct between different schemas.
5754
8391
  */
5755
- errors?: {
5756
- /**
5757
- * Domain of the error appearance (internal).
5758
- */
5759
- domain?: "rupy" | "alfred" | "celim" | "webapp";
5760
- /**
5761
- * Should be a short, unique, machine-readable error code string. e.g. FileNotFound
5762
- */
5763
- reason?: string;
5764
- /**
5765
- * Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'
5766
- */
5767
- message?: string;
5768
- /**
5769
- * Full machine-readable error traceback. e.g. FileNotFound
5770
- */
5771
- traceback?: string;
5772
- }[];
8392
+ schemaVersion?: string;
5773
8393
  /**
5774
- * A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix
8394
+ * entity name
5775
8395
  */
5776
- excludeFilesPattern?: string;
5777
- }
5778
- /** Schema dist/js/schema/job/compute_property.json */
5779
- export interface ComputePropertySchema {
8396
+ name: string;
5780
8397
  /**
5781
- * Compute schema
8398
+ * Identifies that entity is defaultable
5782
8399
  */
5783
- compute: {
5784
- /**
5785
- * Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
5786
- */
5787
- queue: "D" | "OR" | "OF" | "OFplus" | "SR" | "SF" | "SFplus" | "OR4" | "OR8" | "OR16" | "SR4" | "SR8" | "SR16" | "GOF" | "G4OF" | "G8OF" | "GSF" | "G4SF" | "G8SF";
5788
- /**
5789
- * number of nodes used for the job inside the RMS.
5790
- */
5791
- nodes: number;
5792
- /**
5793
- * number of CPUs used for the job inside the RMS.
5794
- */
5795
- ppn: number;
5796
- /**
5797
- * Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'
5798
- */
5799
- timeLimit: string;
5800
- /**
5801
- * Convention to use when reasoning about time limits
5802
- */
5803
- timeLimitType?: "per single attempt" | "compound";
5804
- /**
5805
- * Job is allowed to restart on termination.
5806
- */
5807
- isRestartable?: boolean;
5808
- /**
5809
- * Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.
5810
- */
5811
- notify?: string;
5812
- /**
5813
- * Email address to notify about job execution.
5814
- */
5815
- email?: string;
5816
- /**
5817
- * Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.
5818
- */
5819
- maxCPU?: number;
5820
- /**
5821
- * Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere
5822
- */
5823
- arguments?: {
5824
- /**
5825
- * Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.
5826
- */
5827
- nimage?: number;
5828
- /**
5829
- * Each image can be subpartitioned into `pools`, each taking care of a group of k-points.
5830
- */
5831
- npools?: number;
5832
- /**
5833
- * Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).
5834
- */
5835
- nband?: number;
5836
- /**
5837
- * In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.
5838
- */
5839
- ntg?: number;
5840
- /**
5841
- * A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.
5842
- */
5843
- ndiag?: number;
5844
- };
5845
- /**
5846
- * Cluster where the job is executed. Optional on create. Required on job submission.
5847
- */
5848
- cluster?: {
5849
- /**
5850
- * FQDN of the cluster. e.g. master-1-staging.exabyte.io
5851
- */
5852
- fqdn?: string;
5853
- /**
5854
- * Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io
5855
- */
5856
- jid?: string;
5857
- };
5858
- /**
5859
- * Computation error. Optional. Appears only if something happens on jobs execution.
5860
- */
5861
- errors?: {
5862
- /**
5863
- * Domain of the error appearance (internal).
5864
- */
5865
- domain?: "rupy" | "alfred" | "celim" | "webapp";
5866
- /**
5867
- * Should be a short, unique, machine-readable error code string. e.g. FileNotFound
5868
- */
5869
- reason?: string;
5870
- /**
5871
- * Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'
5872
- */
5873
- message?: string;
5874
- /**
5875
- * Full machine-readable error traceback. e.g. FileNotFound
5876
- */
5877
- traceback?: string;
5878
- }[];
5879
- /**
5880
- * A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix
5881
- */
5882
- excludeFilesPattern?: string;
5883
- };
5884
- }
5885
- /** Schema dist/js/schema/job.json */
5886
- export interface JobSchema {
8400
+ isDefault?: boolean;
8401
+ metadata?: {};
5887
8402
  workflow: {
5888
8403
  /**
5889
- * Array of workflows with the same schema as the current one.
8404
+ * Array of workflows with the same schema as the current one. NOTE: items are not validated against the workflow schema itself (known limitation - see server/utils.ts's parseIncludeReferenceStatements for why, and consider fixing).
5890
8405
  */
5891
8406
  workflows: {}[];
5892
8407
  /**
@@ -5894,9 +8409,9 @@ export interface JobSchema {
5894
8409
  */
5895
8410
  compute?: {
5896
8411
  /**
5897
- * Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
8412
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
5898
8413
  */
5899
- queue: "D" | "OR" | "OF" | "OFplus" | "SR" | "SF" | "SFplus" | "OR4" | "OR8" | "OR16" | "SR4" | "SR8" | "SR16" | "GOF" | "G4OF" | "G8OF" | "GSF" | "G4SF" | "G8SF";
8414
+ queue: QueueNameEnum;
5900
8415
  /**
5901
8416
  * number of nodes used for the job inside the RMS.
5902
8417
  */
@@ -6053,9 +8568,9 @@ export interface JobSchema {
6053
8568
  */
6054
8569
  compute?: {
6055
8570
  /**
6056
- * Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
8571
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
6057
8572
  */
6058
- queue: "D" | "OR" | "OF" | "OFplus" | "SR" | "SF" | "SFplus" | "OR4" | "OR8" | "OR16" | "SR4" | "SR8" | "SR16" | "GOF" | "G4OF" | "G8OF" | "GSF" | "G4SF" | "G8SF";
8573
+ queue: QueueNameEnum;
6059
8574
  /**
6060
8575
  * number of nodes used for the job inside the RMS.
6061
8576
  */
@@ -8331,7 +10846,7 @@ export interface JobSchema {
8331
10846
  * The path to the working directory of this job, when the job originates from command-line
8332
10847
  */
8333
10848
  workDir?: string;
8334
- _project: {
10849
+ _material?: {
8335
10850
  /**
8336
10851
  * entity identity
8337
10852
  */
@@ -8345,7 +10860,24 @@ export interface JobSchema {
8345
10860
  */
8346
10861
  slug?: string;
8347
10862
  };
8348
- _material?: {
10863
+ /**
10864
+ * Subset of the full information about the materials used inside a multi-material job.
10865
+ */
10866
+ _materials?: {
10867
+ /**
10868
+ * entity identity
10869
+ */
10870
+ _id: string;
10871
+ /**
10872
+ * entity class
10873
+ */
10874
+ cls?: string;
10875
+ /**
10876
+ * entity slug
10877
+ */
10878
+ slug?: string;
10879
+ }[];
10880
+ _materialsSet?: {
8349
10881
  /**
8350
10882
  * entity identity
8351
10883
  */
@@ -8391,36 +10923,28 @@ export interface JobSchema {
8391
10923
  };
8392
10924
  };
8393
10925
  }[];
8394
- /**
8395
- * entity identity
8396
- */
8397
- _id?: string;
8398
- /**
8399
- * entity slug
8400
- */
8401
- slug?: string;
8402
- systemName?: string;
8403
- /**
8404
- * entity's schema version. Used to distinct between different schemas.
8405
- */
8406
- schemaVersion?: string;
8407
- /**
8408
- * entity name
8409
- */
8410
- name: string;
8411
- /**
8412
- * Identifies that entity is defaultable
8413
- */
8414
- isDefault?: boolean;
8415
- metadata?: {};
10926
+ dataset?: {
10927
+ datasetFilepath?: string;
10928
+ datasetBasename?: string;
10929
+ objectStorageContainerData?: {
10930
+ CONTAINER?: string;
10931
+ NAME?: string;
10932
+ PROVIDER?: string;
10933
+ REGION?: string;
10934
+ SIZE?: string;
10935
+ TIMESTAMP?: string;
10936
+ };
10937
+ };
10938
+ purged?: boolean;
10939
+ purgedAt?: number;
8416
10940
  /**
8417
10941
  * Compute schema
8418
10942
  */
8419
10943
  compute: {
8420
10944
  /**
8421
- * Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
10945
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
8422
10946
  */
8423
- queue: "D" | "OR" | "OF" | "OFplus" | "SR" | "SF" | "SFplus" | "OR4" | "OR8" | "OR16" | "SR4" | "SR8" | "SR16" | "GOF" | "G4OF" | "G8OF" | "GSF" | "G4SF" | "G8SF";
10947
+ queue: QueueNameEnum;
8424
10948
  /**
8425
10949
  * number of nodes used for the job inside the RMS.
8426
10950
  */
@@ -8517,6 +11041,25 @@ export interface JobSchema {
8517
11041
  */
8518
11042
  excludeFilesPattern?: string;
8519
11043
  };
11044
+ statusTrack?: {
11045
+ trackedAt: number;
11046
+ status: string;
11047
+ repetition?: number;
11048
+ }[];
11049
+ _project: {
11050
+ /**
11051
+ * entity identity
11052
+ */
11053
+ _id: string;
11054
+ /**
11055
+ * entity class
11056
+ */
11057
+ cls?: string;
11058
+ /**
11059
+ * entity slug
11060
+ */
11061
+ slug?: string;
11062
+ };
8520
11063
  }
8521
11064
  /** Schema dist/js/schema/material/consistency_check.json */
8522
11065
  /**
@@ -54972,7 +57515,7 @@ export interface WorkflowPropertySchema {
54972
57515
  */
54973
57516
  name: "workflow:pyml_predict";
54974
57517
  /**
54975
- * Array of workflows with the same schema as the current one.
57518
+ * Array of workflows with the same schema as the current one. NOTE: items are not validated against the workflow schema itself (known limitation - see server/utils.ts's parseIncludeReferenceStatements for why, and consider fixing).
54976
57519
  */
54977
57520
  workflows: {}[];
54978
57521
  /**
@@ -54980,9 +57523,9 @@ export interface WorkflowPropertySchema {
54980
57523
  */
54981
57524
  compute?: {
54982
57525
  /**
54983
- * Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
57526
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
54984
57527
  */
54985
- queue: "D" | "OR" | "OF" | "OFplus" | "SR" | "SF" | "SFplus" | "OR4" | "OR8" | "OR16" | "SR4" | "SR8" | "SR16" | "GOF" | "G4OF" | "G8OF" | "GSF" | "G4SF" | "G8SF";
57528
+ queue: QueueNameEnum;
54986
57529
  /**
54987
57530
  * number of nodes used for the job inside the RMS.
54988
57531
  */
@@ -55135,9 +57678,9 @@ export interface WorkflowPropertySchema {
55135
57678
  */
55136
57679
  compute?: {
55137
57680
  /**
55138
- * Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
57681
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
55139
57682
  */
55140
- queue: "D" | "OR" | "OF" | "OFplus" | "SR" | "SF" | "SFplus" | "OR4" | "OR8" | "OR16" | "SR4" | "SR8" | "SR16" | "GOF" | "G4OF" | "G8OF" | "GSF" | "G4SF" | "G8SF";
57683
+ queue: QueueNameEnum;
55141
57684
  /**
55142
57685
  * number of nodes used for the job inside the RMS.
55143
57686
  */
@@ -58874,7 +61417,7 @@ export interface PropertyHolderSchema {
58874
61417
  */
58875
61418
  name: "workflow:pyml_predict";
58876
61419
  /**
58877
- * Array of workflows with the same schema as the current one.
61420
+ * Array of workflows with the same schema as the current one. NOTE: items are not validated against the workflow schema itself (known limitation - see server/utils.ts's parseIncludeReferenceStatements for why, and consider fixing).
58878
61421
  */
58879
61422
  workflows: {}[];
58880
61423
  /**
@@ -58882,9 +61425,9 @@ export interface PropertyHolderSchema {
58882
61425
  */
58883
61426
  compute?: {
58884
61427
  /**
58885
- * Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
61428
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
58886
61429
  */
58887
- queue: "D" | "OR" | "OF" | "OFplus" | "SR" | "SF" | "SFplus" | "OR4" | "OR8" | "OR16" | "SR4" | "SR8" | "SR16" | "GOF" | "G4OF" | "G8OF" | "GSF" | "G4SF" | "G8SF";
61430
+ queue: QueueNameEnum;
58888
61431
  /**
58889
61432
  * number of nodes used for the job inside the RMS.
58890
61433
  */
@@ -59037,9 +61580,9 @@ export interface PropertyHolderSchema {
59037
61580
  */
59038
61581
  compute?: {
59039
61582
  /**
59040
- * Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
61583
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
59041
61584
  */
59042
- queue: "D" | "OR" | "OF" | "OFplus" | "SR" | "SF" | "SFplus" | "OR4" | "OR8" | "OR16" | "SR4" | "SR8" | "SR16" | "GOF" | "G4OF" | "G8OF" | "GSF" | "G4SF" | "G8SF";
61585
+ queue: QueueNameEnum;
59043
61586
  /**
59044
61587
  * number of nodes used for the job inside the RMS.
59045
61588
  */
@@ -64862,6 +67405,23 @@ export interface HasConsistencyCheckSchema {
64862
67405
  message: string;
64863
67406
  }[];
64864
67407
  }
67408
+ /** Schema dist/js/schema/system/has_project.json */
67409
+ export interface HasProjectSchema {
67410
+ _project: {
67411
+ /**
67412
+ * entity identity
67413
+ */
67414
+ _id: string;
67415
+ /**
67416
+ * entity class
67417
+ */
67418
+ cls?: string;
67419
+ /**
67420
+ * entity slug
67421
+ */
67422
+ slug?: string;
67423
+ };
67424
+ }
64865
67425
  /** Schema dist/js/schema/system/hashed.json */
64866
67426
  export interface HashedSchema {
64867
67427
  /**
@@ -64930,42 +67490,6 @@ export interface IsMultiSchema {
64930
67490
  export interface IsOutdatedSchema {
64931
67491
  isOutdated?: boolean;
64932
67492
  }
64933
- /** Schema dist/js/schema/system/job_extended.json */
64934
- export interface ExtendedJobSchema {
64935
- mode?: string;
64936
- isExternal?: boolean;
64937
- _materials?: {
64938
- /**
64939
- * entity identity
64940
- */
64941
- _id: string;
64942
- /**
64943
- * entity class
64944
- */
64945
- cls?: string;
64946
- /**
64947
- * entity slug
64948
- */
64949
- slug?: string;
64950
- }[];
64951
- _materialsSet?: {
64952
- /**
64953
- * entity identity
64954
- */
64955
- _id: string;
64956
- /**
64957
- * entity class
64958
- */
64959
- cls?: string;
64960
- /**
64961
- * entity slug
64962
- */
64963
- slug?: string;
64964
- };
64965
- purged?: boolean;
64966
- purgedAt?: number;
64967
- dataset?: {};
64968
- }
64969
67493
  /** Schema dist/js/schema/system/message.json */
64970
67494
  /**
64971
67495
  * communication message between Rupy and web application.
@@ -65219,9 +67743,9 @@ export interface BaseWorkflowSchema {
65219
67743
  */
65220
67744
  compute?: {
65221
67745
  /**
65222
- * Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
67746
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
65223
67747
  */
65224
- queue: "D" | "OR" | "OF" | "OFplus" | "SR" | "SF" | "SFplus" | "OR4" | "OR8" | "OR16" | "SR4" | "SR8" | "SR16" | "GOF" | "G4OF" | "G8OF" | "GSF" | "G4SF" | "G8SF";
67748
+ queue: QueueNameEnum;
65225
67749
  /**
65226
67750
  * number of nodes used for the job inside the RMS.
65227
67751
  */
@@ -67495,9 +70019,9 @@ export interface BaseFlow {
67495
70019
  */
67496
70020
  compute?: {
67497
70021
  /**
67498
- * Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
70022
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
67499
70023
  */
67500
- queue: "D" | "OR" | "OF" | "OFplus" | "SR" | "SF" | "SFplus" | "OR4" | "OR8" | "OR16" | "SR4" | "SR8" | "SR16" | "GOF" | "G4OF" | "G8OF" | "GSF" | "G4SF" | "G8SF";
70024
+ queue: QueueNameEnum;
67501
70025
  /**
67502
70026
  * number of nodes used for the job inside the RMS.
67503
70027
  */
@@ -67628,9 +70152,9 @@ export interface SubworkflowMixinSchema {
67628
70152
  */
67629
70153
  compute?: {
67630
70154
  /**
67631
- * Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
70155
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
67632
70156
  */
67633
- queue: "D" | "OR" | "OF" | "OFplus" | "SR" | "SF" | "SFplus" | "OR4" | "OR8" | "OR16" | "SR4" | "SR8" | "SR16" | "GOF" | "G4OF" | "G8OF" | "GSF" | "G4SF" | "G8SF";
70157
+ queue: QueueNameEnum;
67634
70158
  /**
67635
70159
  * number of nodes used for the job inside the RMS.
67636
70160
  */
@@ -70997,9 +73521,9 @@ export interface SubworkflowSchema {
70997
73521
  */
70998
73522
  compute?: {
70999
73523
  /**
71000
- * Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
73524
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
71001
73525
  */
71002
- queue: "D" | "OR" | "OF" | "OFplus" | "SR" | "SF" | "SFplus" | "OR4" | "OR8" | "OR16" | "SR4" | "SR8" | "SR16" | "GOF" | "G4OF" | "G8OF" | "GSF" | "G4SF" | "G8SF";
73526
+ queue: QueueNameEnum;
71003
73527
  /**
71004
73528
  * number of nodes used for the job inside the RMS.
71005
73529
  */
@@ -77807,7 +80331,7 @@ export type WorkflowUnitSchema = {
77807
80331
  /** Schema dist/js/schema/workflow.json */
77808
80332
  export interface WorkflowSchema {
77809
80333
  /**
77810
- * Array of workflows with the same schema as the current one.
80334
+ * Array of workflows with the same schema as the current one. NOTE: items are not validated against the workflow schema itself (known limitation - see server/utils.ts's parseIncludeReferenceStatements for why, and consider fixing).
77811
80335
  */
77812
80336
  workflows: {}[];
77813
80337
  /**
@@ -77815,9 +80339,9 @@ export interface WorkflowSchema {
77815
80339
  */
77816
80340
  compute?: {
77817
80341
  /**
77818
- * Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
80342
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
77819
80343
  */
77820
- queue: "D" | "OR" | "OF" | "OFplus" | "SR" | "SF" | "SFplus" | "OR4" | "OR8" | "OR16" | "SR4" | "SR8" | "SR16" | "GOF" | "G4OF" | "G8OF" | "GSF" | "G4SF" | "G8SF";
80344
+ queue: QueueNameEnum;
77821
80345
  /**
77822
80346
  * number of nodes used for the job inside the RMS.
77823
80347
  */
@@ -77974,9 +80498,9 @@ export interface WorkflowSchema {
77974
80498
  */
77975
80499
  compute?: {
77976
80500
  /**
77977
- * Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
80501
+ * Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.
77978
80502
  */
77979
- queue: "D" | "OR" | "OF" | "OFplus" | "SR" | "SF" | "SFplus" | "OR4" | "OR8" | "OR16" | "SR4" | "SR8" | "SR16" | "GOF" | "G4OF" | "G8OF" | "GSF" | "G4SF" | "G8SF";
80503
+ queue: QueueNameEnum;
77980
80504
  /**
77981
80505
  * number of nodes used for the job inside the RMS.
77982
80506
  */