@things-factory/operato-dataset 9.1.18 → 9.1.19
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.
- package/LABELING_INTEGRATION.md +584 -0
- package/dist-client/menu.d.ts +9 -0
- package/dist-client/menu.js +27 -0
- package/dist-client/menu.js.map +1 -1
- package/dist-client/pages/dataset-labeling-workflow-list.d.ts +18 -0
- package/dist-client/pages/dataset-labeling-workflow-list.js +283 -0
- package/dist-client/pages/dataset-labeling-workflow-list.js.map +1 -0
- package/dist-client/route.d.ts +1 -1
- package/dist-client/route.js +3 -0
- package/dist-client/route.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/index.d.ts +2 -2
- package/dist-server/index.js +3 -2
- package/dist-server/index.js.map +1 -1
- package/dist-server/service/index.d.ts +2 -1
- package/dist-server/service/index.js +3 -1
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/labeling/dataset-labeling-workflow.d.ts +54 -0
- package/dist-server/service/labeling/dataset-labeling-workflow.js +264 -0
- package/dist-server/service/labeling/dataset-labeling-workflow.js.map +1 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +45 -40
- package/schema.graphql +1592 -0
- package/things-factory.config.js +1 -1
- package/translations/en.json +1 -1
- package/translations/ja.json +1 -1
- package/translations/ko.json +1 -1
- package/translations/ms.json +1 -1
- package/translations/zh.json +1 -1
package/schema.graphql
CHANGED
|
@@ -466,6 +466,45 @@ input ActivityThreadSave {
|
|
|
466
466
|
output: Object
|
|
467
467
|
}
|
|
468
468
|
|
|
469
|
+
"""Input for adding ML Backend"""
|
|
470
|
+
input AddMLBackendInput {
|
|
471
|
+
"""Is interactive preannotation enabled"""
|
|
472
|
+
isInteractive: Boolean
|
|
473
|
+
|
|
474
|
+
"""ML Backend title"""
|
|
475
|
+
title: String!
|
|
476
|
+
|
|
477
|
+
"""ML Backend URL"""
|
|
478
|
+
url: String!
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
"""Annotation export result"""
|
|
482
|
+
type AnnotationExportResult {
|
|
483
|
+
"""Number of annotations exported"""
|
|
484
|
+
count: Int!
|
|
485
|
+
|
|
486
|
+
"""Exported data as JSON string"""
|
|
487
|
+
data: String!
|
|
488
|
+
|
|
489
|
+
"""Export format used"""
|
|
490
|
+
format: String!
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
"""Annotator statistics"""
|
|
494
|
+
type AnnotatorStats {
|
|
495
|
+
"""Number of annotations"""
|
|
496
|
+
annotationCount: Int!
|
|
497
|
+
|
|
498
|
+
"""Average time per annotation in seconds"""
|
|
499
|
+
avgTime: Float!
|
|
500
|
+
|
|
501
|
+
"""User email"""
|
|
502
|
+
email: String!
|
|
503
|
+
|
|
504
|
+
"""Last annotation date"""
|
|
505
|
+
lastAnnotationDate: DateTimeISO!
|
|
506
|
+
}
|
|
507
|
+
|
|
469
508
|
"""
|
|
470
509
|
A flexible scalar type that can represent any GraphQL value, including String, Boolean, Int, Float, Object, or List. Use this type for fields or arguments that may accept or return various data types.
|
|
471
510
|
"""
|
|
@@ -1083,6 +1122,39 @@ type AuthProviderTypeList {
|
|
|
1083
1122
|
total: Int!
|
|
1084
1123
|
}
|
|
1085
1124
|
|
|
1125
|
+
"""Request to generate predictions for multiple tasks"""
|
|
1126
|
+
input BatchGeneratePredictionRequest {
|
|
1127
|
+
"""Confidence threshold (0-1)"""
|
|
1128
|
+
confidenceThreshold: Float
|
|
1129
|
+
|
|
1130
|
+
"""AI model ID to use"""
|
|
1131
|
+
modelId: String
|
|
1132
|
+
|
|
1133
|
+
"""Label Studio project ID"""
|
|
1134
|
+
projectId: Int!
|
|
1135
|
+
|
|
1136
|
+
"""Array of task IDs"""
|
|
1137
|
+
taskIds: [Int!]!
|
|
1138
|
+
}
|
|
1139
|
+
|
|
1140
|
+
"""Batch prediction generation result"""
|
|
1141
|
+
type BatchPredictionResult {
|
|
1142
|
+
"""Number of failed predictions"""
|
|
1143
|
+
failed: Int!
|
|
1144
|
+
|
|
1145
|
+
"""Model version used"""
|
|
1146
|
+
modelVersion: String!
|
|
1147
|
+
|
|
1148
|
+
"""Individual results"""
|
|
1149
|
+
results: [PredictionGenerationResult!]!
|
|
1150
|
+
|
|
1151
|
+
"""Number of successful predictions"""
|
|
1152
|
+
succeeded: Int!
|
|
1153
|
+
|
|
1154
|
+
"""Total tasks processed"""
|
|
1155
|
+
total: Int!
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1086
1158
|
"""Represents a visual dashboard or display board."""
|
|
1087
1159
|
type Board {
|
|
1088
1160
|
"""The timestamp when the board was created."""
|
|
@@ -1369,6 +1441,36 @@ input BoardTemplatePatch {
|
|
|
1369
1441
|
visibility: String
|
|
1370
1442
|
}
|
|
1371
1443
|
|
|
1444
|
+
"""Bounding box coordinates"""
|
|
1445
|
+
type BoundingBox {
|
|
1446
|
+
"""Height (percentage 0-100)"""
|
|
1447
|
+
height: Float!
|
|
1448
|
+
|
|
1449
|
+
"""Width (percentage 0-100)"""
|
|
1450
|
+
width: Float!
|
|
1451
|
+
|
|
1452
|
+
"""X coordinate (percentage 0-100)"""
|
|
1453
|
+
x: Float!
|
|
1454
|
+
|
|
1455
|
+
"""Y coordinate (percentage 0-100)"""
|
|
1456
|
+
y: Float!
|
|
1457
|
+
}
|
|
1458
|
+
|
|
1459
|
+
"""Input for bulk prediction creation"""
|
|
1460
|
+
input BulkPredictionInput {
|
|
1461
|
+
"""Model version"""
|
|
1462
|
+
modelVersion: String
|
|
1463
|
+
|
|
1464
|
+
"""Prediction result as JSON string"""
|
|
1465
|
+
result: String!
|
|
1466
|
+
|
|
1467
|
+
"""Prediction confidence score (0-1)"""
|
|
1468
|
+
score: Float
|
|
1469
|
+
|
|
1470
|
+
"""Task ID"""
|
|
1471
|
+
taskId: Int!
|
|
1472
|
+
}
|
|
1473
|
+
|
|
1372
1474
|
input ChatCompletionInput {
|
|
1373
1475
|
content: String!
|
|
1374
1476
|
}
|
|
@@ -1377,6 +1479,27 @@ type ChatCompletionOutput {
|
|
|
1377
1479
|
message: String
|
|
1378
1480
|
}
|
|
1379
1481
|
|
|
1482
|
+
"""Class probability"""
|
|
1483
|
+
type ClassProbability {
|
|
1484
|
+
"""Class name"""
|
|
1485
|
+
className: String!
|
|
1486
|
+
|
|
1487
|
+
"""Probability (0-1)"""
|
|
1488
|
+
probability: Float!
|
|
1489
|
+
}
|
|
1490
|
+
|
|
1491
|
+
"""Image classification result"""
|
|
1492
|
+
type ClassificationResult {
|
|
1493
|
+
"""Predicted class"""
|
|
1494
|
+
className: String!
|
|
1495
|
+
|
|
1496
|
+
"""Confidence score (0-1)"""
|
|
1497
|
+
confidence: Float!
|
|
1498
|
+
|
|
1499
|
+
"""All class probabilities"""
|
|
1500
|
+
probabilities: [ClassProbability!]!
|
|
1501
|
+
}
|
|
1502
|
+
|
|
1380
1503
|
input CodeDecipherInput {
|
|
1381
1504
|
code: String!
|
|
1382
1505
|
language: String
|
|
@@ -1651,6 +1774,140 @@ input ContactPatch {
|
|
|
1651
1774
|
profile: ProfileInput
|
|
1652
1775
|
}
|
|
1653
1776
|
|
|
1777
|
+
"""Input for creating MLflow experiment"""
|
|
1778
|
+
input CreateExperimentInput {
|
|
1779
|
+
"""Artifact location"""
|
|
1780
|
+
artifactLocation: String
|
|
1781
|
+
|
|
1782
|
+
"""Experiment name"""
|
|
1783
|
+
name: String!
|
|
1784
|
+
|
|
1785
|
+
"""Tags as JSON string"""
|
|
1786
|
+
tags: String
|
|
1787
|
+
}
|
|
1788
|
+
|
|
1789
|
+
"""Request to create Label Studio tasks from DataSamples"""
|
|
1790
|
+
input CreateLabelingTasksRequest {
|
|
1791
|
+
"""Auto-generate AI predictions for created tasks"""
|
|
1792
|
+
autoGeneratePredictions: Boolean = true
|
|
1793
|
+
|
|
1794
|
+
"""Confidence threshold for AI predictions"""
|
|
1795
|
+
confidenceThreshold: Float
|
|
1796
|
+
|
|
1797
|
+
"""DataSet ID to sync"""
|
|
1798
|
+
dataSetId: String!
|
|
1799
|
+
|
|
1800
|
+
"""Image field name in DataSample.data or DataSample.rawData"""
|
|
1801
|
+
imageField: String
|
|
1802
|
+
|
|
1803
|
+
"""Maximum number of tasks to create"""
|
|
1804
|
+
limit: Float
|
|
1805
|
+
|
|
1806
|
+
"""AI model ID to use for predictions"""
|
|
1807
|
+
modelId: String
|
|
1808
|
+
|
|
1809
|
+
"""Label Studio project ID"""
|
|
1810
|
+
projectId: Int!
|
|
1811
|
+
|
|
1812
|
+
"""Only create tasks for samples after this date"""
|
|
1813
|
+
sinceDate: DateTimeISO
|
|
1814
|
+
}
|
|
1815
|
+
|
|
1816
|
+
"""Input for creating model version"""
|
|
1817
|
+
input CreateModelVersionInput {
|
|
1818
|
+
"""Description"""
|
|
1819
|
+
description: String
|
|
1820
|
+
|
|
1821
|
+
"""Model name"""
|
|
1822
|
+
name: String!
|
|
1823
|
+
|
|
1824
|
+
"""Run ID"""
|
|
1825
|
+
runId: String
|
|
1826
|
+
|
|
1827
|
+
"""Model source URI"""
|
|
1828
|
+
source: String!
|
|
1829
|
+
|
|
1830
|
+
"""Tags as JSON string"""
|
|
1831
|
+
tags: String
|
|
1832
|
+
}
|
|
1833
|
+
|
|
1834
|
+
"""Input for creating Label Studio project"""
|
|
1835
|
+
input CreateProjectInput {
|
|
1836
|
+
"""Project description"""
|
|
1837
|
+
description: String
|
|
1838
|
+
|
|
1839
|
+
"""Expert instruction"""
|
|
1840
|
+
expertInstruction: String
|
|
1841
|
+
|
|
1842
|
+
"""Label configuration XML"""
|
|
1843
|
+
labelConfig: String!
|
|
1844
|
+
|
|
1845
|
+
"""Project title"""
|
|
1846
|
+
title: String!
|
|
1847
|
+
}
|
|
1848
|
+
|
|
1849
|
+
"""Input for creating project with flexible config builder"""
|
|
1850
|
+
input CreateProjectWithSpecInput {
|
|
1851
|
+
"""Project description"""
|
|
1852
|
+
description: String
|
|
1853
|
+
|
|
1854
|
+
"""Expert instruction"""
|
|
1855
|
+
expertInstruction: String
|
|
1856
|
+
|
|
1857
|
+
"""Label config specification"""
|
|
1858
|
+
labelConfigSpec: LabelConfigSpecInput!
|
|
1859
|
+
|
|
1860
|
+
"""Project title"""
|
|
1861
|
+
title: String!
|
|
1862
|
+
}
|
|
1863
|
+
|
|
1864
|
+
"""Input for creating registered model"""
|
|
1865
|
+
input CreateRegisteredModelInput {
|
|
1866
|
+
"""Model description"""
|
|
1867
|
+
description: String
|
|
1868
|
+
|
|
1869
|
+
"""Model name"""
|
|
1870
|
+
name: String!
|
|
1871
|
+
|
|
1872
|
+
"""Tags as JSON string"""
|
|
1873
|
+
tags: String
|
|
1874
|
+
}
|
|
1875
|
+
|
|
1876
|
+
"""Input for creating MLflow run"""
|
|
1877
|
+
input CreateRunInput {
|
|
1878
|
+
"""Experiment ID"""
|
|
1879
|
+
experimentId: String!
|
|
1880
|
+
|
|
1881
|
+
"""Start time"""
|
|
1882
|
+
startTime: Int
|
|
1883
|
+
|
|
1884
|
+
"""Tags as JSON string"""
|
|
1885
|
+
tags: String
|
|
1886
|
+
}
|
|
1887
|
+
|
|
1888
|
+
input CreateWorkflowRequest {
|
|
1889
|
+
"""Auto-start workflow after creation"""
|
|
1890
|
+
autoStart: Boolean = true
|
|
1891
|
+
|
|
1892
|
+
"""Workflow description"""
|
|
1893
|
+
description: String
|
|
1894
|
+
|
|
1895
|
+
"""Workflow name"""
|
|
1896
|
+
name: String!
|
|
1897
|
+
|
|
1898
|
+
"""Label Studio project ID"""
|
|
1899
|
+
projectId: Int!
|
|
1900
|
+
|
|
1901
|
+
"""Workflow steps"""
|
|
1902
|
+
steps: [WorkflowStepInput!]!
|
|
1903
|
+
|
|
1904
|
+
"""Trigger configuration (schedule, event, etc.)"""
|
|
1905
|
+
triggerConfig: String
|
|
1906
|
+
|
|
1907
|
+
"""How to trigger this workflow"""
|
|
1908
|
+
triggerType: TriggerType!
|
|
1909
|
+
}
|
|
1910
|
+
|
|
1654
1911
|
"""
|
|
1655
1912
|
Represents a data payload delivered via subscription, including its domain, tag, and content.
|
|
1656
1913
|
"""
|
|
@@ -1833,15 +2090,18 @@ input DataItemPatch {
|
|
|
1833
2090
|
|
|
1834
2091
|
"""type enumeration of a data-item"""
|
|
1835
2092
|
enum DataItemType {
|
|
2093
|
+
audio
|
|
1836
2094
|
boolean
|
|
1837
2095
|
date
|
|
1838
2096
|
datetime
|
|
1839
2097
|
file
|
|
2098
|
+
image
|
|
1840
2099
|
number
|
|
1841
2100
|
radio
|
|
1842
2101
|
select
|
|
1843
2102
|
signature
|
|
1844
2103
|
text
|
|
2104
|
+
video
|
|
1845
2105
|
}
|
|
1846
2106
|
|
|
1847
2107
|
"""
|
|
@@ -2548,6 +2808,20 @@ type DataSetState {
|
|
|
2548
2808
|
state: String!
|
|
2549
2809
|
}
|
|
2550
2810
|
|
|
2811
|
+
type DataSourcePreview {
|
|
2812
|
+
"""Preview error if any"""
|
|
2813
|
+
error: String
|
|
2814
|
+
|
|
2815
|
+
"""Number of items available"""
|
|
2816
|
+
itemCount: Int!
|
|
2817
|
+
|
|
2818
|
+
"""Sample data (first item)"""
|
|
2819
|
+
sampleData: String!
|
|
2820
|
+
|
|
2821
|
+
"""Detected schema/fields"""
|
|
2822
|
+
schema: String!
|
|
2823
|
+
}
|
|
2824
|
+
|
|
2551
2825
|
"""
|
|
2552
2826
|
Represents a data specification that defines the structure, validation rules, and metadata for a dataset.
|
|
2553
2827
|
"""
|
|
@@ -2648,6 +2922,51 @@ type DataSummaryList {
|
|
|
2648
2922
|
total: Int!
|
|
2649
2923
|
}
|
|
2650
2924
|
|
|
2925
|
+
"""Labeling status for a dataset"""
|
|
2926
|
+
type DatasetLabelingStatus {
|
|
2927
|
+
"""Number of samples with completed annotations"""
|
|
2928
|
+
annotationsCompleted: Int!
|
|
2929
|
+
|
|
2930
|
+
"""Labeling completion rate (0-1)"""
|
|
2931
|
+
completionRate: Float!
|
|
2932
|
+
|
|
2933
|
+
"""DataSet ID"""
|
|
2934
|
+
dataSetId: String!
|
|
2935
|
+
|
|
2936
|
+
"""DataSet name"""
|
|
2937
|
+
dataSetName: String!
|
|
2938
|
+
|
|
2939
|
+
"""Last sync timestamp"""
|
|
2940
|
+
lastSyncedAt: DateTimeISO
|
|
2941
|
+
|
|
2942
|
+
"""Number of samples not yet processed"""
|
|
2943
|
+
notProcessed: Int!
|
|
2944
|
+
|
|
2945
|
+
"""Associated Label Studio project ID"""
|
|
2946
|
+
projectId: Float
|
|
2947
|
+
|
|
2948
|
+
"""Number of samples with Label Studio tasks"""
|
|
2949
|
+
tasksCreated: Int!
|
|
2950
|
+
|
|
2951
|
+
"""Total number of DataSamples in the dataset"""
|
|
2952
|
+
totalSamples: Int!
|
|
2953
|
+
|
|
2954
|
+
"""Number of samples with human annotations"""
|
|
2955
|
+
withAnnotations: Int!
|
|
2956
|
+
|
|
2957
|
+
"""Number of samples with AI predictions"""
|
|
2958
|
+
withPredictions: Int!
|
|
2959
|
+
}
|
|
2960
|
+
|
|
2961
|
+
"""Request to query dataset labeling status"""
|
|
2962
|
+
input DatasetLabelingStatusRequest {
|
|
2963
|
+
"""DataSet ID"""
|
|
2964
|
+
dataSetId: String!
|
|
2965
|
+
|
|
2966
|
+
"""Associated Label Studio project ID"""
|
|
2967
|
+
projectId: Int
|
|
2968
|
+
}
|
|
2969
|
+
|
|
2651
2970
|
"""
|
|
2652
2971
|
A custom scalar type for representing date values. Accepts and serializes dates as either timestamps (milliseconds since epoch) or ISO date strings. Use this type for fields or arguments that require date-only values without time components.
|
|
2653
2972
|
"""
|
|
@@ -2709,6 +3028,18 @@ input DepartmentPatch {
|
|
|
2709
3028
|
picture: Upload
|
|
2710
3029
|
}
|
|
2711
3030
|
|
|
3031
|
+
"""Detected object with bounding box and classification"""
|
|
3032
|
+
type DetectedObject {
|
|
3033
|
+
"""Bounding box coordinates"""
|
|
3034
|
+
bbox: BoundingBox!
|
|
3035
|
+
|
|
3036
|
+
"""Object class/label"""
|
|
3037
|
+
className: String!
|
|
3038
|
+
|
|
3039
|
+
"""Confidence score (0-1)"""
|
|
3040
|
+
confidence: Float!
|
|
3041
|
+
}
|
|
3042
|
+
|
|
2712
3043
|
"""
|
|
2713
3044
|
Represents a domain entity, which is a logical grouping of users, roles, and resources within the system.
|
|
2714
3045
|
"""
|
|
@@ -3308,6 +3639,72 @@ input EnvVarPatch {
|
|
|
3308
3639
|
value: String
|
|
3309
3640
|
}
|
|
3310
3641
|
|
|
3642
|
+
input ExecuteWorkflowRequest {
|
|
3643
|
+
"""Override parameters as JSON"""
|
|
3644
|
+
parameters: String
|
|
3645
|
+
|
|
3646
|
+
"""Workflow ID to execute"""
|
|
3647
|
+
workflowId: String!
|
|
3648
|
+
}
|
|
3649
|
+
|
|
3650
|
+
"""Export annotations input"""
|
|
3651
|
+
input ExportAnnotationsInput {
|
|
3652
|
+
"""Export format (json, jsonl, csv, rank-csv, coco, yolo, ner-json)"""
|
|
3653
|
+
format: String!
|
|
3654
|
+
|
|
3655
|
+
"""Filter by task IDs"""
|
|
3656
|
+
taskIds: String
|
|
3657
|
+
}
|
|
3658
|
+
|
|
3659
|
+
"""Export result"""
|
|
3660
|
+
type ExportResult {
|
|
3661
|
+
"""Number of annotations exported"""
|
|
3662
|
+
annotationCount: Int!
|
|
3663
|
+
|
|
3664
|
+
"""Export file path or URL"""
|
|
3665
|
+
exportPath: String!
|
|
3666
|
+
|
|
3667
|
+
"""Export format (JSON, CSV, YOLO, etc.)"""
|
|
3668
|
+
format: String!
|
|
3669
|
+
}
|
|
3670
|
+
|
|
3671
|
+
input ExternalDataSourceConfig {
|
|
3672
|
+
"""Authentication header if required"""
|
|
3673
|
+
authHeader: String
|
|
3674
|
+
|
|
3675
|
+
"""JSONPath or XPath for data extraction"""
|
|
3676
|
+
dataPath: String
|
|
3677
|
+
|
|
3678
|
+
"""HTTP method for API calls"""
|
|
3679
|
+
httpMethod: String
|
|
3680
|
+
|
|
3681
|
+
"""Request body for POST/PUT"""
|
|
3682
|
+
requestBody: String
|
|
3683
|
+
|
|
3684
|
+
"""Data source type"""
|
|
3685
|
+
sourceType: String!
|
|
3686
|
+
|
|
3687
|
+
"""Source URL or endpoint"""
|
|
3688
|
+
sourceUrl: String!
|
|
3689
|
+
}
|
|
3690
|
+
|
|
3691
|
+
type ExternalImportResult {
|
|
3692
|
+
"""Error message if any"""
|
|
3693
|
+
error: String
|
|
3694
|
+
|
|
3695
|
+
"""Imported task IDs"""
|
|
3696
|
+
taskIds: [Int!]!
|
|
3697
|
+
|
|
3698
|
+
"""Tasks failed to import"""
|
|
3699
|
+
tasksFailed: Int!
|
|
3700
|
+
|
|
3701
|
+
"""Tasks successfully imported"""
|
|
3702
|
+
tasksImported: Int!
|
|
3703
|
+
|
|
3704
|
+
"""Total items fetched from source"""
|
|
3705
|
+
totalFetched: Int!
|
|
3706
|
+
}
|
|
3707
|
+
|
|
3311
3708
|
"""Entity for Favorite"""
|
|
3312
3709
|
type Favorite {
|
|
3313
3710
|
createdAt: DateTimeISO
|
|
@@ -3370,6 +3767,39 @@ input FontPatch {
|
|
|
3370
3767
|
uri: String
|
|
3371
3768
|
}
|
|
3372
3769
|
|
|
3770
|
+
"""Request to generate Label Studio predictions"""
|
|
3771
|
+
input GeneratePredictionRequest {
|
|
3772
|
+
"""Confidence threshold (0-1)"""
|
|
3773
|
+
confidenceThreshold: Float
|
|
3774
|
+
|
|
3775
|
+
"""Image URL from task data"""
|
|
3776
|
+
imageUrl: String!
|
|
3777
|
+
|
|
3778
|
+
"""AI model ID to use"""
|
|
3779
|
+
modelId: String
|
|
3780
|
+
|
|
3781
|
+
"""Label Studio task ID"""
|
|
3782
|
+
taskId: Int!
|
|
3783
|
+
}
|
|
3784
|
+
|
|
3785
|
+
"""Request to generate predictions for existing tasks"""
|
|
3786
|
+
input GeneratePredictionsForDatasetRequest {
|
|
3787
|
+
"""Confidence threshold"""
|
|
3788
|
+
confidenceThreshold: Float
|
|
3789
|
+
|
|
3790
|
+
"""DataSet ID"""
|
|
3791
|
+
dataSetId: String!
|
|
3792
|
+
|
|
3793
|
+
"""Regenerate predictions even if they already exist"""
|
|
3794
|
+
forceRegenerate: Boolean = false
|
|
3795
|
+
|
|
3796
|
+
"""AI model ID to use"""
|
|
3797
|
+
modelId: String
|
|
3798
|
+
|
|
3799
|
+
"""Label Studio project ID"""
|
|
3800
|
+
projectId: Int!
|
|
3801
|
+
}
|
|
3802
|
+
|
|
3373
3803
|
"""Represents a role that is granted to a specific domain."""
|
|
3374
3804
|
type GrantedRole {
|
|
3375
3805
|
"""The domain to which the role is granted."""
|
|
@@ -3440,6 +3870,50 @@ type ImageCompletionOutput {
|
|
|
3440
3870
|
images: String
|
|
3441
3871
|
}
|
|
3442
3872
|
|
|
3873
|
+
input ImportFromExternalSourceRequest {
|
|
3874
|
+
"""Auto-generate AI predictions"""
|
|
3875
|
+
autoGeneratePredictions: Boolean = false
|
|
3876
|
+
|
|
3877
|
+
"""Field mapping JSON (source -> Label Studio)"""
|
|
3878
|
+
fieldMapping: String
|
|
3879
|
+
|
|
3880
|
+
"""Image field name in source data"""
|
|
3881
|
+
imageField: String
|
|
3882
|
+
|
|
3883
|
+
"""Maximum number of items to import"""
|
|
3884
|
+
limit: Float
|
|
3885
|
+
|
|
3886
|
+
"""Label Studio project ID"""
|
|
3887
|
+
projectId: Int!
|
|
3888
|
+
|
|
3889
|
+
"""External data source configuration"""
|
|
3890
|
+
source: ExternalDataSourceConfig!
|
|
3891
|
+
}
|
|
3892
|
+
|
|
3893
|
+
"""Input for importing tasks with transformation"""
|
|
3894
|
+
input ImportTasksWithTransformInput {
|
|
3895
|
+
"""Source data as JSON array string"""
|
|
3896
|
+
sourceData: String!
|
|
3897
|
+
|
|
3898
|
+
"""Transformation rule"""
|
|
3899
|
+
transformRule: TaskTransformRuleInput!
|
|
3900
|
+
}
|
|
3901
|
+
|
|
3902
|
+
"""AI inference request"""
|
|
3903
|
+
input InferenceRequest {
|
|
3904
|
+
"""Confidence threshold (0-1)"""
|
|
3905
|
+
confidenceThreshold: Float
|
|
3906
|
+
|
|
3907
|
+
"""Image URL or base64 data"""
|
|
3908
|
+
imageUrl: String!
|
|
3909
|
+
|
|
3910
|
+
"""Model ID to use"""
|
|
3911
|
+
modelId: String
|
|
3912
|
+
|
|
3913
|
+
"""Additional options as JSON"""
|
|
3914
|
+
options: String
|
|
3915
|
+
}
|
|
3916
|
+
|
|
3443
3917
|
"""
|
|
3444
3918
|
Enumeration for inherited value types: None, Only, or Include. Used to specify how values are inherited in queries or filters.
|
|
3445
3919
|
"""
|
|
@@ -4463,6 +4937,157 @@ enum KpiVizType {
|
|
|
4463
4937
|
THERMOMETER
|
|
4464
4938
|
}
|
|
4465
4939
|
|
|
4940
|
+
"""Label config specification for flexible project creation"""
|
|
4941
|
+
input LabelConfigSpecInput {
|
|
4942
|
+
"""Control specifications as JSON array"""
|
|
4943
|
+
controls: String!
|
|
4944
|
+
|
|
4945
|
+
"""Data name (default: data)"""
|
|
4946
|
+
dataName: String
|
|
4947
|
+
|
|
4948
|
+
"""Data type (image, text, audio, video, timeseries, html, hypertext)"""
|
|
4949
|
+
dataType: String!
|
|
4950
|
+
}
|
|
4951
|
+
|
|
4952
|
+
"""Label Studio annotation"""
|
|
4953
|
+
type LabelStudioAnnotation {
|
|
4954
|
+
"""Completed by user email"""
|
|
4955
|
+
completedBy: String!
|
|
4956
|
+
|
|
4957
|
+
"""Created date"""
|
|
4958
|
+
createdAt: DateTimeISO!
|
|
4959
|
+
|
|
4960
|
+
"""Annotation ID"""
|
|
4961
|
+
id: Int!
|
|
4962
|
+
|
|
4963
|
+
"""Lead time in seconds"""
|
|
4964
|
+
leadTime: Float
|
|
4965
|
+
|
|
4966
|
+
"""Annotation result (JSON)"""
|
|
4967
|
+
result: String!
|
|
4968
|
+
|
|
4969
|
+
"""Task ID"""
|
|
4970
|
+
taskId: Int!
|
|
4971
|
+
}
|
|
4972
|
+
|
|
4973
|
+
"""Label Studio prediction (AI pre-annotation)"""
|
|
4974
|
+
type LabelStudioPrediction {
|
|
4975
|
+
"""Created date"""
|
|
4976
|
+
createdAt: DateTimeISO
|
|
4977
|
+
|
|
4978
|
+
"""Prediction ID"""
|
|
4979
|
+
id: Int!
|
|
4980
|
+
|
|
4981
|
+
"""Model version that generated this prediction"""
|
|
4982
|
+
modelVersion: String
|
|
4983
|
+
|
|
4984
|
+
"""Prediction result (JSON)"""
|
|
4985
|
+
result: String!
|
|
4986
|
+
|
|
4987
|
+
"""Prediction confidence score (0-1)"""
|
|
4988
|
+
score: Float
|
|
4989
|
+
|
|
4990
|
+
"""Task ID"""
|
|
4991
|
+
taskId: Int!
|
|
4992
|
+
}
|
|
4993
|
+
|
|
4994
|
+
"""Label Studio project information"""
|
|
4995
|
+
type LabelStudioProject {
|
|
4996
|
+
"""Number of completed tasks"""
|
|
4997
|
+
completedTaskCount: Int!
|
|
4998
|
+
|
|
4999
|
+
"""Completion rate (0-1)"""
|
|
5000
|
+
completionRate: Float!
|
|
5001
|
+
|
|
5002
|
+
"""Created date"""
|
|
5003
|
+
createdAt: DateTimeISO
|
|
5004
|
+
|
|
5005
|
+
"""Project description"""
|
|
5006
|
+
description: String
|
|
5007
|
+
|
|
5008
|
+
"""Expert instruction"""
|
|
5009
|
+
expertInstruction: String
|
|
5010
|
+
|
|
5011
|
+
"""Project ID"""
|
|
5012
|
+
id: Int!
|
|
5013
|
+
|
|
5014
|
+
"""Label configuration XML"""
|
|
5015
|
+
labelConfig: String!
|
|
5016
|
+
|
|
5017
|
+
"""Number of tasks"""
|
|
5018
|
+
taskCount: Int!
|
|
5019
|
+
|
|
5020
|
+
"""Project title"""
|
|
5021
|
+
title: String!
|
|
5022
|
+
|
|
5023
|
+
"""Updated date"""
|
|
5024
|
+
updatedAt: DateTimeISO
|
|
5025
|
+
}
|
|
5026
|
+
|
|
5027
|
+
"""Label Studio task"""
|
|
5028
|
+
type LabelStudioTask {
|
|
5029
|
+
"""Number of annotations"""
|
|
5030
|
+
annotationCount: Int!
|
|
5031
|
+
|
|
5032
|
+
"""Task created date"""
|
|
5033
|
+
createdAt: DateTimeISO
|
|
5034
|
+
|
|
5035
|
+
"""Task data (JSON)"""
|
|
5036
|
+
data: String!
|
|
5037
|
+
|
|
5038
|
+
"""Task ID"""
|
|
5039
|
+
id: Int!
|
|
5040
|
+
|
|
5041
|
+
"""Is task completed"""
|
|
5042
|
+
isCompleted: Boolean!
|
|
5043
|
+
}
|
|
5044
|
+
|
|
5045
|
+
type LabelingWorkflow {
|
|
5046
|
+
"""Created at"""
|
|
5047
|
+
createdAt: DateTimeISO!
|
|
5048
|
+
|
|
5049
|
+
"""Description"""
|
|
5050
|
+
description: String
|
|
5051
|
+
|
|
5052
|
+
"""Workflow ID"""
|
|
5053
|
+
id: String!
|
|
5054
|
+
|
|
5055
|
+
"""Last execution time"""
|
|
5056
|
+
lastExecutedAt: DateTimeISO
|
|
5057
|
+
|
|
5058
|
+
"""Workflow name"""
|
|
5059
|
+
name: String!
|
|
5060
|
+
|
|
5061
|
+
"""Next scheduled execution"""
|
|
5062
|
+
nextExecutionAt: DateTimeISO
|
|
5063
|
+
|
|
5064
|
+
"""Label Studio project ID"""
|
|
5065
|
+
projectId: Int!
|
|
5066
|
+
|
|
5067
|
+
"""Current status"""
|
|
5068
|
+
status: WorkflowStatus!
|
|
5069
|
+
|
|
5070
|
+
"""Workflow steps"""
|
|
5071
|
+
steps: [WorkflowStep!]!
|
|
5072
|
+
|
|
5073
|
+
"""Trigger configuration"""
|
|
5074
|
+
triggerConfig: String
|
|
5075
|
+
|
|
5076
|
+
"""Trigger type"""
|
|
5077
|
+
triggerType: TriggerType!
|
|
5078
|
+
|
|
5079
|
+
"""Updated at"""
|
|
5080
|
+
updatedAt: DateTimeISO!
|
|
5081
|
+
}
|
|
5082
|
+
|
|
5083
|
+
type LabelingWorkflowList {
|
|
5084
|
+
"""List of workflows"""
|
|
5085
|
+
items: [LabelingWorkflow!]!
|
|
5086
|
+
|
|
5087
|
+
"""Total count"""
|
|
5088
|
+
total: Int!
|
|
5089
|
+
}
|
|
5090
|
+
|
|
4466
5091
|
"""Entity for LiteMenu"""
|
|
4467
5092
|
type LiteMenu {
|
|
4468
5093
|
active: Boolean
|
|
@@ -4528,6 +5153,36 @@ type Log {
|
|
|
4528
5153
|
timestamp: String!
|
|
4529
5154
|
}
|
|
4530
5155
|
|
|
5156
|
+
"""Input for logging metric"""
|
|
5157
|
+
input LogMetricInput {
|
|
5158
|
+
"""Metric key"""
|
|
5159
|
+
key: String!
|
|
5160
|
+
|
|
5161
|
+
"""Run ID"""
|
|
5162
|
+
runId: String!
|
|
5163
|
+
|
|
5164
|
+
"""Step"""
|
|
5165
|
+
step: Int
|
|
5166
|
+
|
|
5167
|
+
"""Timestamp"""
|
|
5168
|
+
timestamp: Int
|
|
5169
|
+
|
|
5170
|
+
"""Metric value"""
|
|
5171
|
+
value: Float!
|
|
5172
|
+
}
|
|
5173
|
+
|
|
5174
|
+
"""Input for logging parameter"""
|
|
5175
|
+
input LogParamInput {
|
|
5176
|
+
"""Parameter key"""
|
|
5177
|
+
key: String!
|
|
5178
|
+
|
|
5179
|
+
"""Run ID"""
|
|
5180
|
+
runId: String!
|
|
5181
|
+
|
|
5182
|
+
"""Parameter value"""
|
|
5183
|
+
value: String!
|
|
5184
|
+
}
|
|
5185
|
+
|
|
4531
5186
|
"""Records user login attempts."""
|
|
4532
5187
|
type LoginHistory {
|
|
4533
5188
|
"""The domain the user logged into."""
|
|
@@ -4555,6 +5210,180 @@ type LoginHistoryList {
|
|
|
4555
5210
|
total: Int!
|
|
4556
5211
|
}
|
|
4557
5212
|
|
|
5213
|
+
"""ML Backend information"""
|
|
5214
|
+
type MLBackend {
|
|
5215
|
+
"""ML Backend ID"""
|
|
5216
|
+
id: Int!
|
|
5217
|
+
|
|
5218
|
+
"""Is interactive preannotation enabled"""
|
|
5219
|
+
isInteractive: Boolean!
|
|
5220
|
+
|
|
5221
|
+
"""Model version"""
|
|
5222
|
+
modelVersion: String!
|
|
5223
|
+
|
|
5224
|
+
"""ML Backend title"""
|
|
5225
|
+
title: String!
|
|
5226
|
+
|
|
5227
|
+
"""ML Backend URL"""
|
|
5228
|
+
url: String!
|
|
5229
|
+
}
|
|
5230
|
+
|
|
5231
|
+
"""ML Model registered in the system"""
|
|
5232
|
+
type MLModel {
|
|
5233
|
+
"""Model artifact storage URI"""
|
|
5234
|
+
artifactUri: String
|
|
5235
|
+
|
|
5236
|
+
"""Created at"""
|
|
5237
|
+
createdAt: DateTimeISO!
|
|
5238
|
+
|
|
5239
|
+
"""Creator"""
|
|
5240
|
+
creator: User
|
|
5241
|
+
|
|
5242
|
+
"""Deleted at"""
|
|
5243
|
+
deletedAt: DateTimeISO
|
|
5244
|
+
|
|
5245
|
+
"""Model description"""
|
|
5246
|
+
description: String
|
|
5247
|
+
|
|
5248
|
+
"""Domain"""
|
|
5249
|
+
domain: Domain
|
|
5250
|
+
|
|
5251
|
+
"""Framework used for training"""
|
|
5252
|
+
framework: ModelFramework
|
|
5253
|
+
|
|
5254
|
+
"""Model ID"""
|
|
5255
|
+
id: ID!
|
|
5256
|
+
|
|
5257
|
+
"""Associated Label Studio project"""
|
|
5258
|
+
labelStudioProjectId: Int
|
|
5259
|
+
|
|
5260
|
+
"""Model metadata as JSON"""
|
|
5261
|
+
metadata: String
|
|
5262
|
+
|
|
5263
|
+
"""Model metrics as JSON"""
|
|
5264
|
+
metrics: String
|
|
5265
|
+
|
|
5266
|
+
"""MLflow experiment ID"""
|
|
5267
|
+
mlflowExperimentId: String
|
|
5268
|
+
|
|
5269
|
+
"""MLflow run ID for tracking"""
|
|
5270
|
+
mlflowRunId: String
|
|
5271
|
+
|
|
5272
|
+
"""Model name"""
|
|
5273
|
+
name: String!
|
|
5274
|
+
|
|
5275
|
+
"""Current deployment stage"""
|
|
5276
|
+
stage: ModelStage!
|
|
5277
|
+
|
|
5278
|
+
"""Tags as JSON array"""
|
|
5279
|
+
tags: String
|
|
5280
|
+
|
|
5281
|
+
"""Updated at"""
|
|
5282
|
+
updatedAt: DateTimeISO!
|
|
5283
|
+
|
|
5284
|
+
"""Last updater"""
|
|
5285
|
+
updater: User
|
|
5286
|
+
|
|
5287
|
+
"""Model version"""
|
|
5288
|
+
version: String!
|
|
5289
|
+
}
|
|
5290
|
+
|
|
5291
|
+
"""MLflow Experiment"""
|
|
5292
|
+
type MLflowExperiment {
|
|
5293
|
+
"""Artifact location"""
|
|
5294
|
+
artifactLocation: String!
|
|
5295
|
+
|
|
5296
|
+
"""Experiment ID"""
|
|
5297
|
+
experimentId: String!
|
|
5298
|
+
|
|
5299
|
+
"""Lifecycle stage"""
|
|
5300
|
+
lifecycleStage: String!
|
|
5301
|
+
|
|
5302
|
+
"""Experiment name"""
|
|
5303
|
+
name: String!
|
|
5304
|
+
|
|
5305
|
+
"""Tags as JSON string"""
|
|
5306
|
+
tags: String
|
|
5307
|
+
}
|
|
5308
|
+
|
|
5309
|
+
"""MLflow Model Version"""
|
|
5310
|
+
type MLflowModelVersion {
|
|
5311
|
+
"""Creation timestamp"""
|
|
5312
|
+
creationTimestamp: Int!
|
|
5313
|
+
|
|
5314
|
+
"""Current stage"""
|
|
5315
|
+
currentStage: String!
|
|
5316
|
+
|
|
5317
|
+
"""Description"""
|
|
5318
|
+
description: String
|
|
5319
|
+
|
|
5320
|
+
"""Model name"""
|
|
5321
|
+
name: String!
|
|
5322
|
+
|
|
5323
|
+
"""Run ID"""
|
|
5324
|
+
runId: String
|
|
5325
|
+
|
|
5326
|
+
"""Model source"""
|
|
5327
|
+
source: String!
|
|
5328
|
+
|
|
5329
|
+
"""Version status"""
|
|
5330
|
+
status: String!
|
|
5331
|
+
|
|
5332
|
+
"""Version number"""
|
|
5333
|
+
version: String!
|
|
5334
|
+
}
|
|
5335
|
+
|
|
5336
|
+
"""MLflow Registered Model"""
|
|
5337
|
+
type MLflowRegisteredModel {
|
|
5338
|
+
"""Creation timestamp"""
|
|
5339
|
+
creationTimestamp: Int!
|
|
5340
|
+
|
|
5341
|
+
"""Model description"""
|
|
5342
|
+
description: String
|
|
5343
|
+
|
|
5344
|
+
"""Last updated timestamp"""
|
|
5345
|
+
lastUpdatedTimestamp: Int!
|
|
5346
|
+
|
|
5347
|
+
"""Latest versions as JSON string"""
|
|
5348
|
+
latestVersions: String
|
|
5349
|
+
|
|
5350
|
+
"""Model name"""
|
|
5351
|
+
name: String!
|
|
5352
|
+
|
|
5353
|
+
"""Tags as JSON string"""
|
|
5354
|
+
tags: String
|
|
5355
|
+
}
|
|
5356
|
+
|
|
5357
|
+
"""MLflow Run"""
|
|
5358
|
+
type MLflowRun {
|
|
5359
|
+
"""Artifact URI"""
|
|
5360
|
+
artifactUri: String!
|
|
5361
|
+
|
|
5362
|
+
"""End time (Unix timestamp)"""
|
|
5363
|
+
endTime: Int
|
|
5364
|
+
|
|
5365
|
+
"""Experiment ID"""
|
|
5366
|
+
experimentId: String!
|
|
5367
|
+
|
|
5368
|
+
"""Metrics as JSON string"""
|
|
5369
|
+
metrics: String
|
|
5370
|
+
|
|
5371
|
+
"""Params as JSON string"""
|
|
5372
|
+
params: String
|
|
5373
|
+
|
|
5374
|
+
"""Run ID"""
|
|
5375
|
+
runId: String!
|
|
5376
|
+
|
|
5377
|
+
"""Start time (Unix timestamp)"""
|
|
5378
|
+
startTime: Int!
|
|
5379
|
+
|
|
5380
|
+
"""Run status"""
|
|
5381
|
+
status: String!
|
|
5382
|
+
|
|
5383
|
+
"""Tags as JSON string"""
|
|
5384
|
+
tags: String
|
|
5385
|
+
}
|
|
5386
|
+
|
|
4558
5387
|
"""Entity for Menu"""
|
|
4559
5388
|
type Menu {
|
|
4560
5389
|
buttons: [MenuButton!]!
|
|
@@ -4912,6 +5741,25 @@ input MenuPatch {
|
|
|
4912
5741
|
totalProp: String
|
|
4913
5742
|
}
|
|
4914
5743
|
|
|
5744
|
+
"""ML framework used for model training"""
|
|
5745
|
+
enum ModelFramework {
|
|
5746
|
+
CUSTOM
|
|
5747
|
+
LIGHTGBM
|
|
5748
|
+
ONNX
|
|
5749
|
+
PYTORCH
|
|
5750
|
+
SKLEARN
|
|
5751
|
+
TENSORFLOW
|
|
5752
|
+
XGBOOST
|
|
5753
|
+
}
|
|
5754
|
+
|
|
5755
|
+
"""ML model deployment stage"""
|
|
5756
|
+
enum ModelStage {
|
|
5757
|
+
ARCHIVED
|
|
5758
|
+
NONE
|
|
5759
|
+
PRODUCTION
|
|
5760
|
+
STAGING
|
|
5761
|
+
}
|
|
5762
|
+
|
|
4915
5763
|
type Mutation {
|
|
4916
5764
|
"""To abort a ActivityInstance"""
|
|
4917
5765
|
abortActivityInstance(id: String!, reason: String): ActivityInstance!
|
|
@@ -4933,9 +5781,15 @@ type Mutation {
|
|
|
4933
5781
|
username: String!
|
|
4934
5782
|
): Boolean!
|
|
4935
5783
|
|
|
5784
|
+
"""Add ML backend to Label Studio project for predictions and training"""
|
|
5785
|
+
addMLBackendToProject(input: AddMLBackendInput!, projectId: Int!): MLBackend!
|
|
5786
|
+
|
|
4936
5787
|
"""To approve ActivityApproval"""
|
|
4937
5788
|
approveActivityApproval(comment: String, id: String!): ActivityApproval
|
|
4938
5789
|
|
|
5790
|
+
"""Archive ML model (soft delete)"""
|
|
5791
|
+
archiveMLModel(id: String!): Boolean!
|
|
5792
|
+
|
|
4939
5793
|
"""To assign a ActivityInstance"""
|
|
4940
5794
|
assignActivityInstance(
|
|
4941
5795
|
"""Email of assignee users"""
|
|
@@ -4950,6 +5804,11 @@ type Mutation {
|
|
|
4950
5804
|
"""
|
|
4951
5805
|
attachContact(contactId: String!, id: String!): Employee!
|
|
4952
5806
|
|
|
5807
|
+
"""
|
|
5808
|
+
Auto-generate predictions for all unlabeled tasks in a Label Studio project
|
|
5809
|
+
"""
|
|
5810
|
+
autoGeneratePredictions(confidenceThreshold: Float, modelId: String, projectId: Int!): BatchPredictionResult!
|
|
5811
|
+
|
|
4953
5812
|
"""Bulk create or update KPI org-scope mappings."""
|
|
4954
5813
|
bulkUpsertKpiOrgScopes(
|
|
4955
5814
|
"""Array of org-scope mapping data for bulk upsert."""
|
|
@@ -5029,6 +5888,9 @@ type Mutation {
|
|
|
5029
5888
|
"""To create new BoardTemplate"""
|
|
5030
5889
|
createBoardTemplate(boardTemplate: NewBoardTemplate!): BoardTemplate!
|
|
5031
5890
|
|
|
5891
|
+
"""Create multiple predictions at once"""
|
|
5892
|
+
createBulkPredictions(predictions: [BulkPredictionInput!]!): PredictionImportResult!
|
|
5893
|
+
|
|
5032
5894
|
"""To create new CommonCode"""
|
|
5033
5895
|
createCommonCode(commonCode: NewCommonCode!): CommonCode!
|
|
5034
5896
|
|
|
@@ -5071,6 +5933,9 @@ type Mutation {
|
|
|
5071
5933
|
"""
|
|
5072
5934
|
createDataSet(dataSet: NewDataSet!): DataSet!
|
|
5073
5935
|
|
|
5936
|
+
"""Create automatic labeling workflow for a dataset"""
|
|
5937
|
+
createDatasetLabelingWorkflow(autoStart: Boolean = false, dataSetId: String!, modelId: String, projectId: Int!, workflowName: String!): LabelingWorkflow!
|
|
5938
|
+
|
|
5074
5939
|
"""To create new Department"""
|
|
5075
5940
|
createDepartment(department: NewDepartment!): Department!
|
|
5076
5941
|
|
|
@@ -5144,9 +6009,38 @@ type Mutation {
|
|
|
5144
6009
|
kpiValue: NewKpiValue!
|
|
5145
6010
|
): KpiValue!
|
|
5146
6011
|
|
|
6012
|
+
"""Create a prediction for a Label Studio task"""
|
|
6013
|
+
createLabelStudioPrediction(input: PredictionInput!): LabelStudioPrediction!
|
|
6014
|
+
|
|
6015
|
+
"""Create a new Label Studio project"""
|
|
6016
|
+
createLabelStudioProject(input: CreateProjectInput!): LabelStudioProject!
|
|
6017
|
+
|
|
6018
|
+
"""Create Label Studio project with flexible config specification"""
|
|
6019
|
+
createLabelStudioProjectWithSpec(input: CreateProjectWithSpecInput!): LabelStudioProject!
|
|
6020
|
+
|
|
6021
|
+
"""
|
|
6022
|
+
Create Label Studio labeling tasks from DataSamples in a DataSet. Optionally auto-generates AI predictions for each task.
|
|
6023
|
+
"""
|
|
6024
|
+
createLabelingTasksFromDataset(input: CreateLabelingTasksRequest!): TaskCreationResult!
|
|
6025
|
+
|
|
6026
|
+
"""Create a new labeling workflow"""
|
|
6027
|
+
createLabelingWorkflow(input: CreateWorkflowRequest!): LabelingWorkflow!
|
|
6028
|
+
|
|
5147
6029
|
"""To create new LiteMenu"""
|
|
5148
6030
|
createLiteMenu(liteMenu: NewLiteMenu!): LiteMenu!
|
|
5149
6031
|
|
|
6032
|
+
"""Create new MLflow experiment"""
|
|
6033
|
+
createMLflowExperiment(input: CreateExperimentInput!): MLflowExperiment!
|
|
6034
|
+
|
|
6035
|
+
"""Create new model version"""
|
|
6036
|
+
createMLflowModelVersion(input: CreateModelVersionInput!): MLflowModelVersion!
|
|
6037
|
+
|
|
6038
|
+
"""Create new registered model"""
|
|
6039
|
+
createMLflowRegisteredModel(input: CreateRegisteredModelInput!): MLflowRegisteredModel!
|
|
6040
|
+
|
|
6041
|
+
"""Create new MLflow run"""
|
|
6042
|
+
createMLflowRun(input: CreateRunInput!): MLflowRun!
|
|
6043
|
+
|
|
5150
6044
|
"""To create new Menu"""
|
|
5151
6045
|
createMenu(menu: NewMenu!): Menu!
|
|
5152
6046
|
|
|
@@ -5198,6 +6092,9 @@ type Mutation {
|
|
|
5198
6092
|
"""To create new privilege"""
|
|
5199
6093
|
createPrivilege(privilege: NewPrivilege!): Privilege!
|
|
5200
6094
|
|
|
6095
|
+
"""Create manual-only labeling workflow for quick annotation"""
|
|
6096
|
+
createQuickLabelingWorkflow(dataSetId: String!, projectId: Int!, workflowName: String!): LabelingWorkflow!
|
|
6097
|
+
|
|
5201
6098
|
"""To create new user"""
|
|
5202
6099
|
createRole(role: NewRole!): User!
|
|
5203
6100
|
|
|
@@ -5474,9 +6371,33 @@ type Mutation {
|
|
|
5474
6371
|
"""To delete multiple Kpis"""
|
|
5475
6372
|
deleteKpis(ids: [String!]!): Boolean!
|
|
5476
6373
|
|
|
6374
|
+
"""Delete a prediction from Label Studio"""
|
|
6375
|
+
deleteLabelStudioPrediction(predictionId: Int!): Boolean!
|
|
6376
|
+
|
|
6377
|
+
"""Delete a Label Studio project"""
|
|
6378
|
+
deleteLabelStudioProject(projectId: Int!): Boolean!
|
|
6379
|
+
|
|
6380
|
+
"""Delete a task from Label Studio"""
|
|
6381
|
+
deleteLabelStudioTask(taskId: Int!): Boolean!
|
|
6382
|
+
|
|
6383
|
+
"""Delete a webhook"""
|
|
6384
|
+
deleteLabelStudioWebhook(webhookId: Int!): Boolean!
|
|
6385
|
+
|
|
5477
6386
|
"""To delete LiteMenu"""
|
|
5478
6387
|
deleteLiteMenu(id: String!): Boolean!
|
|
5479
6388
|
|
|
6389
|
+
"""Remove ML backend from project"""
|
|
6390
|
+
deleteMLBackend(mlBackendId: Int!): Boolean!
|
|
6391
|
+
|
|
6392
|
+
"""Delete ML model permanently"""
|
|
6393
|
+
deleteMLModel(id: String!): Boolean!
|
|
6394
|
+
|
|
6395
|
+
"""Delete MLflow experiment"""
|
|
6396
|
+
deleteMLflowExperiment(experimentId: String!): Boolean!
|
|
6397
|
+
|
|
6398
|
+
"""Delete model version"""
|
|
6399
|
+
deleteMLflowModelVersion(name: String!, version: String!): Boolean!
|
|
6400
|
+
|
|
5480
6401
|
"""To delete Menu"""
|
|
5481
6402
|
deleteMenu(id: String!): Boolean!
|
|
5482
6403
|
|
|
@@ -5653,6 +6574,18 @@ type Mutation {
|
|
|
5653
6574
|
"""To end a ActivityThread"""
|
|
5654
6575
|
endActivityThread(id: String!, output: Object, reason: String): ActivityThread!
|
|
5655
6576
|
|
|
6577
|
+
"""Execute a labeling workflow"""
|
|
6578
|
+
executeDatasetWorkflow(parameters: String, workflowId: String!): WorkflowExecutionResult!
|
|
6579
|
+
|
|
6580
|
+
"""Execute a labeling workflow"""
|
|
6581
|
+
executeLabelingWorkflow(input: ExecuteWorkflowRequest!): WorkflowExecutionResult!
|
|
6582
|
+
|
|
6583
|
+
"""Export annotations from Label Studio with flexible format conversion"""
|
|
6584
|
+
exportAnnotationsWithFormat(input: ExportAnnotationsInput!, projectId: Int!): AnnotationExportResult!
|
|
6585
|
+
|
|
6586
|
+
"""Export annotations from a Label Studio project"""
|
|
6587
|
+
exportLabelStudioAnnotations(format: String! = "JSON", projectId: Int!): ExportResult!
|
|
6588
|
+
|
|
5656
6589
|
"""
|
|
5657
6590
|
Finalizes data collection for a specific period and generates summary records. This operation processes all collected data within the specified time range.
|
|
5658
6591
|
"""
|
|
@@ -5665,12 +6598,23 @@ type Mutation {
|
|
|
5665
6598
|
generateApplianceSecret(id: String!): Appliance!
|
|
5666
6599
|
generateApplicationSecret(id: String!): Application!
|
|
5667
6600
|
|
|
6601
|
+
"""Generate Label Studio predictions for multiple tasks in batch"""
|
|
6602
|
+
generateBatchPredictions(input: BatchGeneratePredictionRequest!): BatchPredictionResult!
|
|
6603
|
+
|
|
5668
6604
|
"""Deprecated. Use finalizeDataCollection"""
|
|
5669
6605
|
generateDataSummaries(dataSetId: String!, date: String!, period: String!): Boolean! @deprecated(reason: "This resolver has been replaced by finalizeDataCollection")
|
|
5670
6606
|
|
|
5671
6607
|
"""Deprecated. Use finalizeLatestDataCollection"""
|
|
5672
6608
|
generateLatestDataSummaries(dataSetId: String!): Boolean! @deprecated(reason: "This resolver has been replaced by finalizeLatestDataCollection")
|
|
5673
6609
|
|
|
6610
|
+
"""Generate Label Studio prediction for a task using AI model"""
|
|
6611
|
+
generatePrediction(input: GeneratePredictionRequest!): PredictionGenerationResult!
|
|
6612
|
+
|
|
6613
|
+
"""
|
|
6614
|
+
Generate AI predictions for DataSet samples that already have Label Studio tasks
|
|
6615
|
+
"""
|
|
6616
|
+
generatePredictionsForDataset(input: GeneratePredictionsForDatasetRequest!): BatchPredictionResult!
|
|
6617
|
+
|
|
5674
6618
|
"""
|
|
5675
6619
|
Generates a presigned URL for downloading archived data. This mutation initiates the data export process and notifies users when the download is ready.
|
|
5676
6620
|
"""
|
|
@@ -5737,6 +6681,9 @@ type Mutation {
|
|
|
5737
6681
|
"""
|
|
5738
6682
|
importEmployees(employees: [EmployeePatch!]!): Boolean!
|
|
5739
6683
|
|
|
6684
|
+
"""Import data from external source into Label Studio project"""
|
|
6685
|
+
importFromExternalSource(input: ImportFromExternalSourceRequest!): ExternalImportResult!
|
|
6686
|
+
|
|
5740
6687
|
"""To import multiple KpiMetricValues"""
|
|
5741
6688
|
importKpiMetricValues(metricValues: [KpiMetricValuePatch!]!): Boolean!
|
|
5742
6689
|
|
|
@@ -5776,6 +6723,9 @@ type Mutation {
|
|
|
5776
6723
|
"""To import multiple Oauth2Clients"""
|
|
5777
6724
|
importOauth2Clients(oauth2Clients: [Oauth2ClientPatch!]!): Boolean!
|
|
5778
6725
|
|
|
6726
|
+
"""Import predictions for a Label Studio project in bulk"""
|
|
6727
|
+
importPredictionsToProject(predictions: [BulkPredictionInput!]!, projectId: Int!): PredictionImportResult!
|
|
6728
|
+
|
|
5779
6729
|
"""
|
|
5780
6730
|
Imports multiple scenarios, including their steps. This can overwrite existing scenarios if IDs match.
|
|
5781
6731
|
"""
|
|
@@ -5784,6 +6734,12 @@ type Mutation {
|
|
|
5784
6734
|
"""Imports multiple state registers from a provided list."""
|
|
5785
6735
|
importStateRegisters(stateRegisters: [StateRegisterPatch!]!): Boolean!
|
|
5786
6736
|
|
|
6737
|
+
"""Import tasks to a Label Studio project in bulk"""
|
|
6738
|
+
importTasksToLabelStudio(projectId: Int!, tasks: [TaskDataInput!]!): TaskImportResult!
|
|
6739
|
+
|
|
6740
|
+
"""Import tasks to Label Studio with flexible data transformation"""
|
|
6741
|
+
importTasksWithTransform(input: ImportTasksWithTransformInput!, projectId: Int!): TaskImportResult!
|
|
6742
|
+
|
|
5787
6743
|
"""To import multiple Terminologies"""
|
|
5788
6744
|
importTerminologies(terminologies: [TerminologyPatch!]!): Boolean!
|
|
5789
6745
|
|
|
@@ -5823,13 +6779,28 @@ type Mutation {
|
|
|
5823
6779
|
|
|
5824
6780
|
"""Removes one or more boards from a play group."""
|
|
5825
6781
|
leavePlayGroup(boardIds: [String!]!, id: String!): PlayGroup!
|
|
6782
|
+
|
|
6783
|
+
"""Log metric to MLflow run"""
|
|
6784
|
+
logMLflowMetric(input: LogMetricInput!): Boolean!
|
|
6785
|
+
|
|
6786
|
+
"""Log parameter to MLflow run"""
|
|
6787
|
+
logMLflowParam(input: LogParamInput!): Boolean!
|
|
5826
6788
|
multipleUpload(files: [Upload!]!): [Attachment!]!
|
|
5827
6789
|
|
|
6790
|
+
"""Pause a workflow"""
|
|
6791
|
+
pauseDatasetWorkflow(workflowId: String!): LabelingWorkflow!
|
|
6792
|
+
|
|
6793
|
+
"""Pause a workflow"""
|
|
6794
|
+
pauseLabelingWorkflow(workflowId: String!): LabelingWorkflow!
|
|
6795
|
+
|
|
5828
6796
|
"""
|
|
5829
6797
|
To pick an activity ActivityInstance voluntarily. [cautions] This resolver will return a assigned ActivityThread.
|
|
5830
6798
|
"""
|
|
5831
6799
|
pickActivityInstance(id: String!): ActivityThread
|
|
5832
6800
|
|
|
6801
|
+
"""Promote model to target deployment stage (Staging/Production)"""
|
|
6802
|
+
promoteMLModel(input: PromoteModelInput!): MLModel!
|
|
6803
|
+
|
|
5833
6804
|
"""기존 KPI Value 인스턴스를 현재 formula/metric 값으로 재계산"""
|
|
5834
6805
|
recalculateKpiValue(id: String!): KpiValue!
|
|
5835
6806
|
|
|
@@ -5879,6 +6850,12 @@ type Mutation {
|
|
|
5879
6850
|
employeeId: String!
|
|
5880
6851
|
): Boolean!
|
|
5881
6852
|
|
|
6853
|
+
"""Register webhook for Label Studio project to receive real-time updates"""
|
|
6854
|
+
registerLabelStudioWebhook(projectId: Int!): Webhook!
|
|
6855
|
+
|
|
6856
|
+
"""Register new ML model in the system"""
|
|
6857
|
+
registerMLModel(input: RegisterMLModelInput!): MLModel!
|
|
6858
|
+
|
|
5882
6859
|
"""Register a new schedule with the scheduler service."""
|
|
5883
6860
|
registerSchedule(schedule: NewSchedule!): ID!
|
|
5884
6861
|
|
|
@@ -5906,6 +6883,12 @@ type Mutation {
|
|
|
5906
6883
|
"""To restart ActivityThread"""
|
|
5907
6884
|
restartActivityThread(id: String!, output: Object, reason: String): ActivityThread
|
|
5908
6885
|
|
|
6886
|
+
"""Resume a paused workflow"""
|
|
6887
|
+
resumeDatasetWorkflow(workflowId: String!): LabelingWorkflow!
|
|
6888
|
+
|
|
6889
|
+
"""Resume a paused workflow"""
|
|
6890
|
+
resumeLabelingWorkflow(workflowId: String!): LabelingWorkflow!
|
|
6891
|
+
|
|
5909
6892
|
"""Reverts a board to a specific historical version."""
|
|
5910
6893
|
revertBoardVersion(id: String!, version: Float!): Board!
|
|
5911
6894
|
|
|
@@ -5970,6 +6953,22 @@ type Mutation {
|
|
|
5970
6953
|
"""To submit a ActivityThread"""
|
|
5971
6954
|
submitActivityThread(id: String!, output: Object, reason: String): ActivityThread!
|
|
5972
6955
|
|
|
6956
|
+
"""Synchronize all domain users to Label Studio (batch operation)"""
|
|
6957
|
+
syncAllUsersToLabelStudio: UserSyncSummary!
|
|
6958
|
+
|
|
6959
|
+
"""
|
|
6960
|
+
Sync completed annotations from Label Studio to Things-Factory database
|
|
6961
|
+
"""
|
|
6962
|
+
syncAnnotationsToDatabase(projectId: Int!): Int!
|
|
6963
|
+
|
|
6964
|
+
"""
|
|
6965
|
+
Sync Label Studio annotations back to DataSamples, updating judgment fields
|
|
6966
|
+
"""
|
|
6967
|
+
syncAnnotationsToDataset(input: SyncAnnotationsRequest!): SyncAnnotationsResult!
|
|
6968
|
+
|
|
6969
|
+
"""Synchronize current user to Label Studio"""
|
|
6970
|
+
syncMyUserToLabelStudio: UserSyncResult!
|
|
6971
|
+
|
|
5973
6972
|
"""To synchronize auth-providers users"""
|
|
5974
6973
|
synchronizeAuthProviderUsers(id: String!): Boolean!
|
|
5975
6974
|
|
|
@@ -5979,6 +6978,9 @@ type Mutation {
|
|
|
5979
6978
|
synchronizePrivilegeMaster(privilege: NewPrivilege!): Boolean!
|
|
5980
6979
|
terminateContract(partnerName: String!): Boolean!
|
|
5981
6980
|
|
|
6981
|
+
"""Trigger ML model training with current annotations"""
|
|
6982
|
+
trainLabelStudioModel(mlBackendId: Int!): Boolean!
|
|
6983
|
+
|
|
5982
6984
|
"""
|
|
5983
6985
|
Transfers domain ownership to another user. Use this mutation to assign the owner role to a different user within the domain.
|
|
5984
6986
|
"""
|
|
@@ -5987,6 +6989,14 @@ type Mutation {
|
|
|
5987
6989
|
username: String!
|
|
5988
6990
|
): Boolean!
|
|
5989
6991
|
|
|
6992
|
+
"""
|
|
6993
|
+
Transition model version to target stage (None, Staging, Production, Archived)
|
|
6994
|
+
"""
|
|
6995
|
+
transitionMLflowModelStage(input: TransitionStageInput!): MLflowModelVersion!
|
|
6996
|
+
|
|
6997
|
+
"""Trigger ML predictions for tasks in a project"""
|
|
6998
|
+
triggerLabelStudioPredictions(projectId: Int!, taskIds: [Int!]): Boolean!
|
|
6999
|
+
|
|
5990
7000
|
"""Unregister and remove a schedule from the scheduler service."""
|
|
5991
7001
|
unregisterSchedule(handle: ID!): Boolean!
|
|
5992
7002
|
|
|
@@ -6114,9 +7124,18 @@ type Mutation {
|
|
|
6114
7124
|
"""To modify KpiValue information"""
|
|
6115
7125
|
updateKpiValue(id: String!, patch: KpiValuePatch!): KpiValue!
|
|
6116
7126
|
|
|
7127
|
+
"""Update an existing Label Studio project"""
|
|
7128
|
+
updateLabelStudioProject(input: CreateProjectInput!, projectId: Int!): LabelStudioProject!
|
|
7129
|
+
|
|
6117
7130
|
"""To modify LiteMenu information"""
|
|
6118
7131
|
updateLiteMenu(id: String!, patch: LiteMenuPatch!): LiteMenu!
|
|
6119
7132
|
|
|
7133
|
+
"""Update ML model information"""
|
|
7134
|
+
updateMLModel(id: String!, input: UpdateMLModelInput!): MLModel!
|
|
7135
|
+
|
|
7136
|
+
"""Update MLflow run status"""
|
|
7137
|
+
updateMLflowRun(input: UpdateRunInput!): Boolean!
|
|
7138
|
+
|
|
6120
7139
|
"""To modify Menu information"""
|
|
6121
7140
|
updateMenu(id: String!, patch: MenuPatch!): Menu!
|
|
6122
7141
|
|
|
@@ -8158,6 +9177,54 @@ input PlayGroupPatch {
|
|
|
8158
9177
|
name: String
|
|
8159
9178
|
}
|
|
8160
9179
|
|
|
9180
|
+
"""Prediction generation result"""
|
|
9181
|
+
type PredictionGenerationResult {
|
|
9182
|
+
"""Average confidence score"""
|
|
9183
|
+
avgConfidence: Float
|
|
9184
|
+
|
|
9185
|
+
"""Error message if failed"""
|
|
9186
|
+
error: String
|
|
9187
|
+
|
|
9188
|
+
"""Number of detected objects"""
|
|
9189
|
+
objectCount: Int!
|
|
9190
|
+
|
|
9191
|
+
"""Created prediction ID"""
|
|
9192
|
+
predictionId: Int
|
|
9193
|
+
|
|
9194
|
+
"""Success status"""
|
|
9195
|
+
success: Boolean!
|
|
9196
|
+
|
|
9197
|
+
"""Task ID"""
|
|
9198
|
+
taskId: Int!
|
|
9199
|
+
}
|
|
9200
|
+
|
|
9201
|
+
"""Result of prediction import operation"""
|
|
9202
|
+
type PredictionImportResult {
|
|
9203
|
+
"""Number of predictions created"""
|
|
9204
|
+
created: Int!
|
|
9205
|
+
|
|
9206
|
+
"""Error messages"""
|
|
9207
|
+
errors: [String!]
|
|
9208
|
+
|
|
9209
|
+
"""Number of predictions failed"""
|
|
9210
|
+
failed: Int!
|
|
9211
|
+
}
|
|
9212
|
+
|
|
9213
|
+
"""Input for creating a prediction"""
|
|
9214
|
+
input PredictionInput {
|
|
9215
|
+
"""Model version"""
|
|
9216
|
+
modelVersion: String
|
|
9217
|
+
|
|
9218
|
+
"""Prediction result as JSON string"""
|
|
9219
|
+
result: String!
|
|
9220
|
+
|
|
9221
|
+
"""Prediction confidence score (0-1)"""
|
|
9222
|
+
score: Float
|
|
9223
|
+
|
|
9224
|
+
"""Task ID to create prediction for"""
|
|
9225
|
+
taskId: Int!
|
|
9226
|
+
}
|
|
9227
|
+
|
|
8161
9228
|
"""Entity for PrinterDevice"""
|
|
8162
9229
|
type PrinterDevice {
|
|
8163
9230
|
activeFlag: Boolean
|
|
@@ -8286,6 +9353,42 @@ input ProfileInput {
|
|
|
8286
9353
|
zoom: Float
|
|
8287
9354
|
}
|
|
8288
9355
|
|
|
9356
|
+
"""Project metrics and statistics"""
|
|
9357
|
+
type ProjectMetrics {
|
|
9358
|
+
"""Statistics per annotator"""
|
|
9359
|
+
annotatorStats: [AnnotatorStats!]!
|
|
9360
|
+
|
|
9361
|
+
"""Average annotations per task"""
|
|
9362
|
+
avgAnnotationsPerTask: Float!
|
|
9363
|
+
|
|
9364
|
+
"""Average time per task in seconds"""
|
|
9365
|
+
avgTimePerTask: Float
|
|
9366
|
+
|
|
9367
|
+
"""Number of completed tasks"""
|
|
9368
|
+
completedTasks: Int!
|
|
9369
|
+
|
|
9370
|
+
"""Completion rate (0-1)"""
|
|
9371
|
+
completionRate: Float!
|
|
9372
|
+
|
|
9373
|
+
"""Total annotations"""
|
|
9374
|
+
totalAnnotations: Int!
|
|
9375
|
+
|
|
9376
|
+
"""Total number of tasks"""
|
|
9377
|
+
totalTasks: Int!
|
|
9378
|
+
}
|
|
9379
|
+
|
|
9380
|
+
"""Input for promoting model stage"""
|
|
9381
|
+
input PromoteModelInput {
|
|
9382
|
+
"""Model ID to promote"""
|
|
9383
|
+
modelId: String!
|
|
9384
|
+
|
|
9385
|
+
"""Promotion notes"""
|
|
9386
|
+
notes: String
|
|
9387
|
+
|
|
9388
|
+
"""Target stage"""
|
|
9389
|
+
targetStage: ModelStage!
|
|
9390
|
+
}
|
|
9391
|
+
|
|
8289
9392
|
"""
|
|
8290
9393
|
Describes a single property for a component or a step, used for UI rendering and configuration.
|
|
8291
9394
|
"""
|
|
@@ -8735,6 +9838,9 @@ type Query {
|
|
|
8735
9838
|
"""
|
|
8736
9839
|
checkDefaultPassword: Boolean!
|
|
8737
9840
|
|
|
9841
|
+
"""Check if AI model is healthy"""
|
|
9842
|
+
checkModelHealth(modelId: String): Boolean!
|
|
9843
|
+
|
|
8738
9844
|
"""
|
|
8739
9845
|
Determines whether the system provides a default password when creating a new user.
|
|
8740
9846
|
"""
|
|
@@ -8754,6 +9860,9 @@ type Query {
|
|
|
8754
9860
|
email: EmailAddress!
|
|
8755
9861
|
): Boolean!
|
|
8756
9862
|
|
|
9863
|
+
"""Classify an image using AI model"""
|
|
9864
|
+
classifyImage(input: InferenceRequest!): ClassificationResult!
|
|
9865
|
+
|
|
8757
9866
|
"""To fetch common approval lines"""
|
|
8758
9867
|
commonApprovalLines(
|
|
8759
9868
|
"""An array of filter conditions to apply to the list query."""
|
|
@@ -9208,6 +10317,18 @@ type Query {
|
|
|
9208
10317
|
"""Sorting options for the list query."""
|
|
9209
10318
|
sortings: [Sorting!]
|
|
9210
10319
|
): [DynamicDataSummary!]!
|
|
10320
|
+
|
|
10321
|
+
"""Get labeling status and progress for a DataSet"""
|
|
10322
|
+
datasetLabelingStatus(input: DatasetLabelingStatusRequest!): DatasetLabelingStatus!
|
|
10323
|
+
|
|
10324
|
+
"""Get workflow details"""
|
|
10325
|
+
datasetLabelingWorkflow(workflowId: String!): LabelingWorkflow!
|
|
10326
|
+
|
|
10327
|
+
"""Get labeling workflows for a specific project"""
|
|
10328
|
+
datasetLabelingWorkflows(projectId: Int): [LabelingWorkflow!]!
|
|
10329
|
+
|
|
10330
|
+
"""Get workflow execution status"""
|
|
10331
|
+
datasetWorkflowExecution(executionId: String!): WorkflowExecution!
|
|
9211
10332
|
decipherCode(input: CodeDecipherInput!): CodeDecipherOutput!
|
|
9212
10333
|
decipherErrorCode(input: CodeDecipherInput!): CodeDecipherOutput!
|
|
9213
10334
|
|
|
@@ -9244,6 +10365,9 @@ type Query {
|
|
|
9244
10365
|
sortings: [Sorting!]
|
|
9245
10366
|
): DepartmentList!
|
|
9246
10367
|
|
|
10368
|
+
"""Run object detection on an image using AI model"""
|
|
10369
|
+
detectObjects(input: InferenceRequest!): [DetectedObject!]!
|
|
10370
|
+
|
|
9247
10371
|
"""
|
|
9248
10372
|
Fetches a single domain entity by its unique identifier. Only superusers are granted this privilege.
|
|
9249
10373
|
"""
|
|
@@ -9704,6 +10828,48 @@ type Query {
|
|
|
9704
10828
|
rootId: String
|
|
9705
10829
|
): [Kpi!]!
|
|
9706
10830
|
|
|
10831
|
+
"""Get all ML backends connected to a Label Studio project"""
|
|
10832
|
+
labelStudioMLBackends(projectId: Int!): [MLBackend!]!
|
|
10833
|
+
|
|
10834
|
+
"""Get a single prediction by ID"""
|
|
10835
|
+
labelStudioPrediction(predictionId: Int!): LabelStudioPrediction
|
|
10836
|
+
|
|
10837
|
+
"""Get a single Label Studio project by ID"""
|
|
10838
|
+
labelStudioProject(projectId: Int!): LabelStudioProject
|
|
10839
|
+
|
|
10840
|
+
"""Get metrics and statistics for a Label Studio project"""
|
|
10841
|
+
labelStudioProjectMetrics(projectId: Int!): ProjectMetrics!
|
|
10842
|
+
|
|
10843
|
+
"""Get all predictions for a Label Studio project"""
|
|
10844
|
+
labelStudioProjectPredictions(projectId: Int!): [LabelStudioPrediction!]!
|
|
10845
|
+
|
|
10846
|
+
"""Get all Label Studio projects accessible to the user"""
|
|
10847
|
+
labelStudioProjects: [LabelStudioProject!]!
|
|
10848
|
+
|
|
10849
|
+
"""Get a single task by ID"""
|
|
10850
|
+
labelStudioTask(taskId: Int!): LabelStudioTask
|
|
10851
|
+
|
|
10852
|
+
"""Get all annotations for a task"""
|
|
10853
|
+
labelStudioTaskAnnotations(taskId: Int!): [LabelStudioAnnotation!]!
|
|
10854
|
+
|
|
10855
|
+
"""Get all predictions for a Label Studio task"""
|
|
10856
|
+
labelStudioTaskPredictions(taskId: Int!): [LabelStudioPrediction!]!
|
|
10857
|
+
|
|
10858
|
+
"""Get all tasks for a Label Studio project"""
|
|
10859
|
+
labelStudioTasks(page: Int = 1, pageSize: Int = 100, projectId: Int!): [LabelStudioTask!]!
|
|
10860
|
+
|
|
10861
|
+
"""Get JWT token for Label Studio authentication"""
|
|
10862
|
+
labelStudioToken: String
|
|
10863
|
+
|
|
10864
|
+
"""Get all webhooks registered for a Label Studio project"""
|
|
10865
|
+
labelStudioWebhooks(projectId: Int!): [Webhook!]!
|
|
10866
|
+
|
|
10867
|
+
"""Get labeling workflow details"""
|
|
10868
|
+
labelingWorkflow(workflowId: String!): LabelingWorkflow!
|
|
10869
|
+
|
|
10870
|
+
"""List all labeling workflows"""
|
|
10871
|
+
labelingWorkflows(projectId: Int): LabelingWorkflowList!
|
|
10872
|
+
|
|
9707
10873
|
"""To fetch a LiteMenu"""
|
|
9708
10874
|
liteMenu(id: String!): LiteMenu!
|
|
9709
10875
|
|
|
@@ -9848,6 +11014,39 @@ type Query {
|
|
|
9848
11014
|
sortings: [Sorting!]
|
|
9849
11015
|
): MenuList!
|
|
9850
11016
|
|
|
11017
|
+
"""Get ML model by ID"""
|
|
11018
|
+
mlModel(id: String!): MLModel
|
|
11019
|
+
|
|
11020
|
+
"""Get all versions of a model by name"""
|
|
11021
|
+
mlModelVersions(name: String!): [MLModel!]!
|
|
11022
|
+
|
|
11023
|
+
"""Get all ML models in the system"""
|
|
11024
|
+
mlModels: [MLModel!]!
|
|
11025
|
+
|
|
11026
|
+
"""Get models associated with Label Studio project"""
|
|
11027
|
+
mlModelsByLabelStudioProject(projectId: Float!): [MLModel!]!
|
|
11028
|
+
|
|
11029
|
+
"""Get models by deployment stage"""
|
|
11030
|
+
mlModelsByStage(stage: ModelStage!): [MLModel!]!
|
|
11031
|
+
|
|
11032
|
+
"""Get MLflow experiment by ID"""
|
|
11033
|
+
mlflowExperiment(experimentId: String!): MLflowExperiment
|
|
11034
|
+
|
|
11035
|
+
"""Get all MLflow experiments"""
|
|
11036
|
+
mlflowExperiments: [MLflowExperiment!]!
|
|
11037
|
+
|
|
11038
|
+
"""Get model version"""
|
|
11039
|
+
mlflowModelVersion(name: String!, version: String!): MLflowModelVersion
|
|
11040
|
+
|
|
11041
|
+
"""Get registered model by name"""
|
|
11042
|
+
mlflowRegisteredModel(name: String!): MLflowRegisteredModel
|
|
11043
|
+
|
|
11044
|
+
"""Get all registered models in MLflow"""
|
|
11045
|
+
mlflowRegisteredModels: [MLflowRegisteredModel!]!
|
|
11046
|
+
|
|
11047
|
+
"""Get MLflow run by ID"""
|
|
11048
|
+
mlflowRun(runId: String!): MLflowRun
|
|
11049
|
+
|
|
9851
11050
|
"""To fetch approval lines only for to the user"""
|
|
9852
11051
|
myApprovalLines(
|
|
9853
11052
|
"""An array of filter conditions to apply to the list query."""
|
|
@@ -10095,6 +11294,9 @@ type Query {
|
|
|
10095
11294
|
"""To fetch a UserPreference"""
|
|
10096
11295
|
preference(id: String!): UserPreference
|
|
10097
11296
|
|
|
11297
|
+
"""Preview external data source to verify connection and data structure"""
|
|
11298
|
+
previewExternalDataSource(source: ExternalDataSourceConfig!): DataSourcePreview!
|
|
11299
|
+
|
|
10098
11300
|
"""To fetch a PrinterDevice"""
|
|
10099
11301
|
printerDevice(id: String!): PrinterDevice!
|
|
10100
11302
|
|
|
@@ -10227,6 +11429,9 @@ type Query {
|
|
|
10227
11429
|
sortings: [Sorting!]
|
|
10228
11430
|
): DomainList!
|
|
10229
11431
|
|
|
11432
|
+
"""Search MLflow runs"""
|
|
11433
|
+
searchMLflowRuns(input: SearchRunsInput!): [MLflowRun!]!
|
|
11434
|
+
|
|
10230
11435
|
"""
|
|
10231
11436
|
Fetches the secure IP list (whitelist, blacklist, etc.) for the current domain. Only domain owners and superusers are granted this privilege.
|
|
10232
11437
|
"""
|
|
@@ -10428,6 +11633,12 @@ type Query {
|
|
|
10428
11633
|
"""Sorting options for the list query."""
|
|
10429
11634
|
sortings: [Sorting!]
|
|
10430
11635
|
): WorkShiftList!
|
|
11636
|
+
|
|
11637
|
+
"""Get workflow execution status"""
|
|
11638
|
+
workflowExecution(executionId: String!): WorkflowExecution!
|
|
11639
|
+
|
|
11640
|
+
"""List executions for a workflow"""
|
|
11641
|
+
workflowExecutions(workflowId: String!): WorkflowExecutionList!
|
|
10431
11642
|
}
|
|
10432
11643
|
|
|
10433
11644
|
type RecipientItem {
|
|
@@ -10436,6 +11647,45 @@ type RecipientItem {
|
|
|
10436
11647
|
value: String
|
|
10437
11648
|
}
|
|
10438
11649
|
|
|
11650
|
+
"""Input for registering ML model"""
|
|
11651
|
+
input RegisterMLModelInput {
|
|
11652
|
+
"""Artifact URI"""
|
|
11653
|
+
artifactUri: String
|
|
11654
|
+
|
|
11655
|
+
"""Model description"""
|
|
11656
|
+
description: String
|
|
11657
|
+
|
|
11658
|
+
"""ML framework"""
|
|
11659
|
+
framework: ModelFramework
|
|
11660
|
+
|
|
11661
|
+
"""Label Studio project ID"""
|
|
11662
|
+
labelStudioProjectId: Int
|
|
11663
|
+
|
|
11664
|
+
"""Model metadata as JSON string"""
|
|
11665
|
+
metadata: String
|
|
11666
|
+
|
|
11667
|
+
"""Model metrics as JSON string"""
|
|
11668
|
+
metrics: String
|
|
11669
|
+
|
|
11670
|
+
"""MLflow experiment ID"""
|
|
11671
|
+
mlflowExperimentId: String
|
|
11672
|
+
|
|
11673
|
+
"""MLflow run ID"""
|
|
11674
|
+
mlflowRunId: String
|
|
11675
|
+
|
|
11676
|
+
"""Model name"""
|
|
11677
|
+
name: String!
|
|
11678
|
+
|
|
11679
|
+
"""Initial stage"""
|
|
11680
|
+
stage: ModelStage
|
|
11681
|
+
|
|
11682
|
+
"""Tags as JSON array string"""
|
|
11683
|
+
tags: String
|
|
11684
|
+
|
|
11685
|
+
"""Model version"""
|
|
11686
|
+
version: String!
|
|
11687
|
+
}
|
|
11688
|
+
|
|
10439
11689
|
"""
|
|
10440
11690
|
A role that groups a set of privileges, which can be assigned to users.
|
|
10441
11691
|
"""
|
|
@@ -11056,6 +12306,21 @@ enum ScopeType {
|
|
|
11056
12306
|
TEMPORAL
|
|
11057
12307
|
}
|
|
11058
12308
|
|
|
12309
|
+
"""Input for searching runs"""
|
|
12310
|
+
input SearchRunsInput {
|
|
12311
|
+
"""Experiment IDs to search"""
|
|
12312
|
+
experimentIds: [String!]!
|
|
12313
|
+
|
|
12314
|
+
"""Filter string"""
|
|
12315
|
+
filter: String
|
|
12316
|
+
|
|
12317
|
+
"""Max results"""
|
|
12318
|
+
maxResults: Int
|
|
12319
|
+
|
|
12320
|
+
"""Order by"""
|
|
12321
|
+
orderBy: [String!]
|
|
12322
|
+
}
|
|
12323
|
+
|
|
11059
12324
|
"""Entity for Setting"""
|
|
11060
12325
|
type Setting {
|
|
11061
12326
|
category: String!
|
|
@@ -11364,6 +12629,96 @@ type Subscription {
|
|
|
11364
12629
|
syncConnections: [Connection!]!
|
|
11365
12630
|
}
|
|
11366
12631
|
|
|
12632
|
+
"""Request to sync Label Studio annotations back to DataSamples"""
|
|
12633
|
+
input SyncAnnotationsRequest {
|
|
12634
|
+
"""Only sync completed annotations"""
|
|
12635
|
+
completedOnly: Boolean = false
|
|
12636
|
+
|
|
12637
|
+
"""DataSet ID to sync annotations to"""
|
|
12638
|
+
dataSetId: String!
|
|
12639
|
+
|
|
12640
|
+
"""Label Studio project ID"""
|
|
12641
|
+
projectId: Int!
|
|
12642
|
+
|
|
12643
|
+
"""Only sync annotations updated after this date"""
|
|
12644
|
+
sinceDate: DateTimeISO
|
|
12645
|
+
}
|
|
12646
|
+
|
|
12647
|
+
"""Result of syncing annotations to dataset"""
|
|
12648
|
+
type SyncAnnotationsResult {
|
|
12649
|
+
"""Error message if operation partially failed"""
|
|
12650
|
+
error: String
|
|
12651
|
+
|
|
12652
|
+
"""Number of DataSamples successfully updated"""
|
|
12653
|
+
samplesUpdated: Int!
|
|
12654
|
+
|
|
12655
|
+
"""Number of annotations skipped"""
|
|
12656
|
+
skipped: Int!
|
|
12657
|
+
|
|
12658
|
+
"""Total annotations processed"""
|
|
12659
|
+
totalAnnotations: Int!
|
|
12660
|
+
|
|
12661
|
+
"""Number of updates that failed"""
|
|
12662
|
+
updatesFailed: Int!
|
|
12663
|
+
}
|
|
12664
|
+
|
|
12665
|
+
"""Result of task creation from dataset"""
|
|
12666
|
+
type TaskCreationResult {
|
|
12667
|
+
"""Error message if operation partially failed"""
|
|
12668
|
+
error: String
|
|
12669
|
+
|
|
12670
|
+
"""Number of AI predictions generated"""
|
|
12671
|
+
predictionsCreated: Int
|
|
12672
|
+
|
|
12673
|
+
"""Array of created Label Studio task IDs"""
|
|
12674
|
+
taskIds: [Int!]!
|
|
12675
|
+
|
|
12676
|
+
"""Number of tasks successfully created"""
|
|
12677
|
+
tasksCreated: Int!
|
|
12678
|
+
|
|
12679
|
+
"""Number of tasks that failed to create"""
|
|
12680
|
+
tasksFailed: Int!
|
|
12681
|
+
|
|
12682
|
+
"""Number of samples skipped (no image, already exists, etc.)"""
|
|
12683
|
+
tasksSkipped: Int!
|
|
12684
|
+
|
|
12685
|
+
"""Total DataSamples processed"""
|
|
12686
|
+
totalSamples: Int!
|
|
12687
|
+
}
|
|
12688
|
+
|
|
12689
|
+
"""Input for creating tasks"""
|
|
12690
|
+
input TaskDataInput {
|
|
12691
|
+
"""Task data as JSON string"""
|
|
12692
|
+
data: String!
|
|
12693
|
+
}
|
|
12694
|
+
|
|
12695
|
+
"""Result of task import operation"""
|
|
12696
|
+
type TaskImportResult {
|
|
12697
|
+
"""Error messages"""
|
|
12698
|
+
errors: [String!]
|
|
12699
|
+
|
|
12700
|
+
"""Number of tasks failed"""
|
|
12701
|
+
failed: Int!
|
|
12702
|
+
|
|
12703
|
+
"""Number of tasks imported"""
|
|
12704
|
+
imported: Int!
|
|
12705
|
+
|
|
12706
|
+
"""IDs of imported tasks"""
|
|
12707
|
+
taskIds: [Int!]!
|
|
12708
|
+
}
|
|
12709
|
+
|
|
12710
|
+
"""Task transformation rule for flexible data import"""
|
|
12711
|
+
input TaskTransformRuleInput {
|
|
12712
|
+
"""Field mapping as JSON (Label Studio field -> source path)"""
|
|
12713
|
+
dataFields: String!
|
|
12714
|
+
|
|
12715
|
+
"""Metadata mapping as JSON"""
|
|
12716
|
+
meta: String
|
|
12717
|
+
|
|
12718
|
+
"""Prediction configuration as JSON"""
|
|
12719
|
+
predictions: String
|
|
12720
|
+
}
|
|
12721
|
+
|
|
11367
12722
|
"""Describes a type of task that can be used in a scenario."""
|
|
11368
12723
|
type TaskType {
|
|
11369
12724
|
"""Indicates whether this task type can be used without a connector."""
|
|
@@ -11497,6 +12852,59 @@ input ThemePatch {
|
|
|
11497
12852
|
value: Object
|
|
11498
12853
|
}
|
|
11499
12854
|
|
|
12855
|
+
"""Input for transitioning model version stage"""
|
|
12856
|
+
input TransitionStageInput {
|
|
12857
|
+
"""Archive existing versions in target stage"""
|
|
12858
|
+
archiveExistingVersions: Boolean
|
|
12859
|
+
|
|
12860
|
+
"""Model name"""
|
|
12861
|
+
name: String!
|
|
12862
|
+
|
|
12863
|
+
"""Target stage (None, Staging, Production, Archived)"""
|
|
12864
|
+
stage: String!
|
|
12865
|
+
|
|
12866
|
+
"""Version number"""
|
|
12867
|
+
version: String!
|
|
12868
|
+
}
|
|
12869
|
+
|
|
12870
|
+
"""How the workflow is triggered"""
|
|
12871
|
+
enum TriggerType {
|
|
12872
|
+
DatasetUpdate
|
|
12873
|
+
ExternalEvent
|
|
12874
|
+
Manual
|
|
12875
|
+
Schedule
|
|
12876
|
+
}
|
|
12877
|
+
|
|
12878
|
+
"""Input for updating ML model"""
|
|
12879
|
+
input UpdateMLModelInput {
|
|
12880
|
+
"""Model description"""
|
|
12881
|
+
description: String
|
|
12882
|
+
|
|
12883
|
+
"""Model metadata as JSON string"""
|
|
12884
|
+
metadata: String
|
|
12885
|
+
|
|
12886
|
+
"""Model metrics as JSON string"""
|
|
12887
|
+
metrics: String
|
|
12888
|
+
|
|
12889
|
+
"""Stage"""
|
|
12890
|
+
stage: ModelStage
|
|
12891
|
+
|
|
12892
|
+
"""Tags as JSON array string"""
|
|
12893
|
+
tags: String
|
|
12894
|
+
}
|
|
12895
|
+
|
|
12896
|
+
"""Input for updating run"""
|
|
12897
|
+
input UpdateRunInput {
|
|
12898
|
+
"""End time"""
|
|
12899
|
+
endTime: Int
|
|
12900
|
+
|
|
12901
|
+
"""Run ID"""
|
|
12902
|
+
runId: String!
|
|
12903
|
+
|
|
12904
|
+
"""Status"""
|
|
12905
|
+
status: String
|
|
12906
|
+
}
|
|
12907
|
+
|
|
11500
12908
|
"""The `Upload` scalar type represents a file upload."""
|
|
11501
12909
|
scalar Upload
|
|
11502
12910
|
|
|
@@ -11649,6 +13057,29 @@ type UserRole {
|
|
|
11649
13057
|
name: String
|
|
11650
13058
|
}
|
|
11651
13059
|
|
|
13060
|
+
"""User synchronization result"""
|
|
13061
|
+
type UserSyncResult {
|
|
13062
|
+
action: String!
|
|
13063
|
+
email: String!
|
|
13064
|
+
error: String
|
|
13065
|
+
|
|
13066
|
+
"""Label Studio permissions (Admin/Staff/Inactive)"""
|
|
13067
|
+
lsPermissions: String
|
|
13068
|
+
lsUserId: String
|
|
13069
|
+
success: Boolean!
|
|
13070
|
+
}
|
|
13071
|
+
|
|
13072
|
+
"""User synchronization summary"""
|
|
13073
|
+
type UserSyncSummary {
|
|
13074
|
+
created: Int!
|
|
13075
|
+
deactivated: Int!
|
|
13076
|
+
errors: Int!
|
|
13077
|
+
results: [UserSyncResult!]!
|
|
13078
|
+
skipped: Int!
|
|
13079
|
+
total: Int!
|
|
13080
|
+
updated: Int!
|
|
13081
|
+
}
|
|
13082
|
+
|
|
11652
13083
|
"""
|
|
11653
13084
|
Represents the link between a user and an external authentication provider.
|
|
11654
13085
|
"""
|
|
@@ -11677,6 +13108,24 @@ type UsersAuthProviders {
|
|
|
11677
13108
|
user: User
|
|
11678
13109
|
}
|
|
11679
13110
|
|
|
13111
|
+
"""Webhook information"""
|
|
13112
|
+
type Webhook {
|
|
13113
|
+
"""Webhook ID"""
|
|
13114
|
+
id: Int!
|
|
13115
|
+
|
|
13116
|
+
"""Is webhook active"""
|
|
13117
|
+
isActive: Boolean!
|
|
13118
|
+
|
|
13119
|
+
"""Project ID"""
|
|
13120
|
+
projectId: Int!
|
|
13121
|
+
|
|
13122
|
+
"""Send payload with webhook"""
|
|
13123
|
+
sendPayload: Boolean!
|
|
13124
|
+
|
|
13125
|
+
"""Webhook URL"""
|
|
13126
|
+
url: String!
|
|
13127
|
+
}
|
|
13128
|
+
|
|
11680
13129
|
"""Entity for WorkShift"""
|
|
11681
13130
|
type WorkShift {
|
|
11682
13131
|
createdAt: DateTimeISO
|
|
@@ -11714,6 +13163,149 @@ input WorkShiftPatch {
|
|
|
11714
13163
|
toTime: String!
|
|
11715
13164
|
}
|
|
11716
13165
|
|
|
13166
|
+
type WorkflowExecution {
|
|
13167
|
+
"""Completed at"""
|
|
13168
|
+
completedAt: DateTimeISO
|
|
13169
|
+
|
|
13170
|
+
"""Error message if failed"""
|
|
13171
|
+
error: String
|
|
13172
|
+
|
|
13173
|
+
"""Execution ID"""
|
|
13174
|
+
id: String!
|
|
13175
|
+
|
|
13176
|
+
"""Started at"""
|
|
13177
|
+
startedAt: DateTimeISO!
|
|
13178
|
+
|
|
13179
|
+
"""Execution status: running, completed, failed"""
|
|
13180
|
+
status: String!
|
|
13181
|
+
|
|
13182
|
+
"""Step executions"""
|
|
13183
|
+
steps: [WorkflowExecutionStep!]!
|
|
13184
|
+
|
|
13185
|
+
"""Overall result summary"""
|
|
13186
|
+
summary: String
|
|
13187
|
+
|
|
13188
|
+
"""Total duration in milliseconds"""
|
|
13189
|
+
totalDurationMs: Int
|
|
13190
|
+
|
|
13191
|
+
"""Workflow ID"""
|
|
13192
|
+
workflowId: String!
|
|
13193
|
+
|
|
13194
|
+
"""Workflow name"""
|
|
13195
|
+
workflowName: String!
|
|
13196
|
+
}
|
|
13197
|
+
|
|
13198
|
+
type WorkflowExecutionList {
|
|
13199
|
+
"""List of executions"""
|
|
13200
|
+
items: [WorkflowExecution!]!
|
|
13201
|
+
|
|
13202
|
+
"""Total count"""
|
|
13203
|
+
total: Int!
|
|
13204
|
+
}
|
|
13205
|
+
|
|
13206
|
+
type WorkflowExecutionResult {
|
|
13207
|
+
"""Error if failed"""
|
|
13208
|
+
error: String
|
|
13209
|
+
|
|
13210
|
+
"""Execution ID"""
|
|
13211
|
+
executionId: String!
|
|
13212
|
+
|
|
13213
|
+
"""Execution status"""
|
|
13214
|
+
status: String!
|
|
13215
|
+
|
|
13216
|
+
"""Execution summary"""
|
|
13217
|
+
summary: String
|
|
13218
|
+
}
|
|
13219
|
+
|
|
13220
|
+
type WorkflowExecutionStep {
|
|
13221
|
+
"""Completed at"""
|
|
13222
|
+
completedAt: DateTimeISO
|
|
13223
|
+
|
|
13224
|
+
"""Duration in milliseconds"""
|
|
13225
|
+
durationMs: Int
|
|
13226
|
+
|
|
13227
|
+
"""Error message if failed"""
|
|
13228
|
+
error: String
|
|
13229
|
+
|
|
13230
|
+
"""Step output data"""
|
|
13231
|
+
output: String
|
|
13232
|
+
|
|
13233
|
+
"""Started at"""
|
|
13234
|
+
startedAt: DateTimeISO
|
|
13235
|
+
|
|
13236
|
+
"""Step status: pending, running, completed, failed, skipped"""
|
|
13237
|
+
status: String!
|
|
13238
|
+
|
|
13239
|
+
"""Step name"""
|
|
13240
|
+
stepName: String!
|
|
13241
|
+
|
|
13242
|
+
"""Step type"""
|
|
13243
|
+
stepType: WorkflowStepType!
|
|
13244
|
+
}
|
|
13245
|
+
|
|
13246
|
+
"""Status of labeling workflow"""
|
|
13247
|
+
enum WorkflowStatus {
|
|
13248
|
+
Active
|
|
13249
|
+
Completed
|
|
13250
|
+
Draft
|
|
13251
|
+
Failed
|
|
13252
|
+
Paused
|
|
13253
|
+
}
|
|
13254
|
+
|
|
13255
|
+
type WorkflowStep {
|
|
13256
|
+
"""Execution condition"""
|
|
13257
|
+
condition: String
|
|
13258
|
+
|
|
13259
|
+
"""Step configuration"""
|
|
13260
|
+
config: String!
|
|
13261
|
+
|
|
13262
|
+
"""Continue on error"""
|
|
13263
|
+
continueOnError: Boolean!
|
|
13264
|
+
|
|
13265
|
+
"""Max retry attempts"""
|
|
13266
|
+
maxRetries: Int
|
|
13267
|
+
|
|
13268
|
+
"""Step name"""
|
|
13269
|
+
name: String!
|
|
13270
|
+
|
|
13271
|
+
"""Step order"""
|
|
13272
|
+
order: Int!
|
|
13273
|
+
|
|
13274
|
+
"""Step type"""
|
|
13275
|
+
type: WorkflowStepType!
|
|
13276
|
+
}
|
|
13277
|
+
|
|
13278
|
+
input WorkflowStepInput {
|
|
13279
|
+
"""Condition to execute this step (JSON logic)"""
|
|
13280
|
+
condition: String
|
|
13281
|
+
|
|
13282
|
+
"""Step configuration as JSON string"""
|
|
13283
|
+
config: String!
|
|
13284
|
+
|
|
13285
|
+
"""Continue on error"""
|
|
13286
|
+
continueOnError: Boolean = true
|
|
13287
|
+
|
|
13288
|
+
"""Max retry attempts"""
|
|
13289
|
+
maxRetries: Int
|
|
13290
|
+
|
|
13291
|
+
"""Step name"""
|
|
13292
|
+
name: String!
|
|
13293
|
+
|
|
13294
|
+
"""Step type"""
|
|
13295
|
+
type: WorkflowStepType!
|
|
13296
|
+
}
|
|
13297
|
+
|
|
13298
|
+
"""Type of workflow step"""
|
|
13299
|
+
enum WorkflowStepType {
|
|
13300
|
+
ExportResults
|
|
13301
|
+
GeneratePredictions
|
|
13302
|
+
ImportData
|
|
13303
|
+
Notification
|
|
13304
|
+
SyncAnnotations
|
|
13305
|
+
ValidateQuality
|
|
13306
|
+
WaitForAnnotations
|
|
13307
|
+
}
|
|
13308
|
+
|
|
11717
13309
|
input i18nCompletionInput {
|
|
11718
13310
|
json: String!
|
|
11719
13311
|
}
|