@things-factory/labeling 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.
Files changed (55) hide show
  1. package/CHANGELOG.md +87 -0
  2. package/ENTITY_IMPLEMENTATION.md +351 -0
  3. package/INTEGRATION_COMPLETE.md +531 -0
  4. package/MIGRATION_GUIDE.md +310 -0
  5. package/README.md +551 -0
  6. package/REFACTORING_SUMMARY.md +212 -0
  7. package/UI_DOCUMENTATION.md +552 -0
  8. package/dist-client/index.d.ts +3 -0
  9. package/dist-client/index.js +9 -0
  10. package/dist-client/index.js.map +1 -0
  11. package/dist-client/pages/labeling-workflow-builder.d.ts +26 -0
  12. package/dist-client/pages/labeling-workflow-builder.js +636 -0
  13. package/dist-client/pages/labeling-workflow-builder.js.map +1 -0
  14. package/dist-client/pages/labeling-workflow-list.d.ts +24 -0
  15. package/dist-client/pages/labeling-workflow-list.js +495 -0
  16. package/dist-client/pages/labeling-workflow-list.js.map +1 -0
  17. package/dist-client/route.d.ts +1 -0
  18. package/dist-client/route.js +47 -0
  19. package/dist-client/route.js.map +1 -0
  20. package/dist-client/tsconfig.tsbuildinfo +1 -0
  21. package/dist-server/entities/index.d.ts +5 -0
  22. package/dist-server/entities/index.js +11 -0
  23. package/dist-server/entities/index.js.map +1 -0
  24. package/dist-server/index.d.ts +3 -0
  25. package/dist-server/index.js +7 -0
  26. package/dist-server/index.js.map +1 -0
  27. package/dist-server/route.d.ts +2 -0
  28. package/dist-server/route.js +6 -0
  29. package/dist-server/route.js.map +1 -0
  30. package/dist-server/service/index.d.ts +8 -0
  31. package/dist-server/service/index.js +21 -0
  32. package/dist-server/service/index.js.map +1 -0
  33. package/dist-server/service/labeling-workflow-service.d.ts +69 -0
  34. package/dist-server/service/labeling-workflow-service.js +521 -0
  35. package/dist-server/service/labeling-workflow-service.js.map +1 -0
  36. package/dist-server/service/labeling-workflow.d.ts +30 -0
  37. package/dist-server/service/labeling-workflow.js +119 -0
  38. package/dist-server/service/labeling-workflow.js.map +1 -0
  39. package/dist-server/service/workflow-execution-step.d.ts +28 -0
  40. package/dist-server/service/workflow-execution-step.js +115 -0
  41. package/dist-server/service/workflow-execution-step.js.map +1 -0
  42. package/dist-server/service/workflow-execution.d.ts +27 -0
  43. package/dist-server/service/workflow-execution.js +110 -0
  44. package/dist-server/service/workflow-execution.js.map +1 -0
  45. package/dist-server/tsconfig.tsbuildinfo +1 -0
  46. package/dist-server/types/workflow-types.d.ts +141 -0
  47. package/dist-server/types/workflow-types.js +488 -0
  48. package/dist-server/types/workflow-types.js.map +1 -0
  49. package/package.json +51 -0
  50. package/things-factory.config.js +11 -0
  51. package/translations/en.json +6 -0
  52. package/translations/ja.json +6 -0
  53. package/translations/ko.json +6 -0
  54. package/translations/ms.json +6 -0
  55. package/translations/zh.json +6 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-types.js","sourceRoot":"","sources":["../../server/types/workflow-types.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, InputType, ObjectType, Int, Float, registerEnumType } from 'type-graphql'\n\n/**\n * Labeling Workflow Types\n *\n * Defines end-to-end labeling workflows with multiple steps\n */\n\n// ============================================================================\n// Enums\n// ============================================================================\n\nexport enum WorkflowStepType {\n ImportData = 'import_data',\n GeneratePredictions = 'generate_predictions',\n WaitForAnnotations = 'wait_for_annotations',\n SyncAnnotations = 'sync_annotations',\n ValidateQuality = 'validate_quality',\n ExportResults = 'export_results',\n Notification = 'notification'\n}\n\nregisterEnumType(WorkflowStepType, {\n name: 'WorkflowStepType',\n description: 'Type of workflow step'\n})\n\nexport enum WorkflowStatus {\n Draft = 'draft',\n Active = 'active',\n Paused = 'paused',\n Completed = 'completed',\n Failed = 'failed'\n}\n\nregisterEnumType(WorkflowStatus, {\n name: 'WorkflowStatus',\n description: 'Status of labeling workflow'\n})\n\nexport enum TriggerType {\n Manual = 'manual',\n Schedule = 'schedule',\n DatasetUpdate = 'dataset_update',\n ExternalEvent = 'external_event'\n}\n\nregisterEnumType(TriggerType, {\n name: 'TriggerType',\n description: 'How the workflow is triggered'\n})\n\n// ============================================================================\n// Workflow Step Configuration Types\n// ============================================================================\n\n@InputType()\nexport class ImportDataStepConfig {\n @Field({ description: 'Data source type: dataset, api, file' })\n sourceType: 'dataset' | 'api' | 'file'\n\n @Field({ nullable: true, description: 'DataSet ID if sourceType is dataset' })\n dataSetId?: string\n\n @Field({ nullable: true, description: 'External source URL if sourceType is api/file' })\n sourceUrl?: string\n\n @Field({ nullable: true, description: 'Image field name' })\n imageField?: string\n\n @Field({ nullable: true, description: 'Maximum items to import' })\n limit?: number\n}\n\n@InputType()\nexport class GeneratePredictionsStepConfig {\n @Field({ nullable: true, description: 'AI model ID to use' })\n modelId?: string\n\n @Field(type => Float, { nullable: true, description: 'Confidence threshold' })\n confidenceThreshold?: number\n\n @Field({ nullable: true, defaultValue: false, description: 'Force regenerate existing predictions' })\n forceRegenerate?: boolean\n}\n\n@InputType()\nexport class WaitForAnnotationsStepConfig {\n @Field(type => Int, { nullable: true, description: 'Minimum number of annotations required' })\n minAnnotations?: number\n\n @Field(type => Float, { nullable: true, description: 'Minimum completion rate (0-1)' })\n minCompletionRate?: number\n\n @Field(type => Int, { nullable: true, description: 'Maximum wait time in minutes' })\n maxWaitMinutes?: number\n\n @Field({ nullable: true, defaultValue: true, description: 'Auto-proceed when criteria met' })\n autoProceed?: boolean\n}\n\n@InputType()\nexport class SyncAnnotationsStepConfig {\n @Field({ nullable: true, defaultValue: true, description: 'Only sync completed annotations' })\n completedOnly?: boolean\n\n @Field({ nullable: true, description: 'Sync annotations updated after this date' })\n sinceDate?: Date\n}\n\n@InputType()\nexport class ValidateQualityStepConfig {\n @Field(type => Float, { nullable: true, description: 'Minimum required quality score (0-1)' })\n minQualityScore?: number\n\n @Field({ nullable: true, description: 'Validation rules in JSON format' })\n validationRules?: string\n}\n\n@InputType()\nexport class NotificationStepConfig {\n @Field({ description: 'Notification message template' })\n message: string\n\n @Field(type => [String], { nullable: true, description: 'Email recipients' })\n recipients?: string[]\n\n @Field({ nullable: true, description: 'Webhook URL to call' })\n webhookUrl?: string\n}\n\n// ============================================================================\n// Workflow Step Definition\n// ============================================================================\n\n@InputType()\nexport class WorkflowStepInput {\n @Field({ description: 'Step name' })\n name: string\n\n @Field(type => WorkflowStepType, { description: 'Step type' })\n type: WorkflowStepType\n\n @Field({ description: 'Step configuration as JSON string' })\n config: string\n\n @Field({ nullable: true, description: 'Condition to execute this step (JSON logic)' })\n condition?: string\n\n @Field({ nullable: true, defaultValue: true, description: 'Continue on error' })\n continueOnError?: boolean\n\n @Field(type => Int, { nullable: true, description: 'Max retry attempts' })\n maxRetries?: number\n}\n\n@ObjectType()\nexport class WorkflowStep {\n @Field({ description: 'Step name' })\n name: string\n\n @Field(type => WorkflowStepType, { description: 'Step type' })\n type: WorkflowStepType\n\n @Field({ description: 'Step configuration' })\n config: string\n\n @Field({ nullable: true, description: 'Execution condition' })\n condition?: string\n\n @Field({ defaultValue: true, description: 'Continue on error' })\n continueOnError: boolean\n\n @Field(type => Int, { nullable: true, description: 'Max retry attempts' })\n maxRetries?: number\n\n @Field(type => Int, { description: 'Step order' })\n order: number\n}\n\n// ============================================================================\n// Workflow Definition\n// ============================================================================\n\n@InputType()\nexport class CreateWorkflowRequest {\n @Field({ description: 'Workflow name' })\n name: string\n\n @Field({ nullable: true, description: 'Workflow description' })\n description?: string\n\n @Field(type => Int, { description: 'Label Studio project ID' })\n projectId: number\n\n @Field(type => TriggerType, { description: 'How to trigger this workflow' })\n triggerType: TriggerType\n\n @Field({ nullable: true, description: 'Trigger configuration (schedule, event, etc.)' })\n triggerConfig?: string\n\n @Field(type => [WorkflowStepInput], { description: 'Workflow steps' })\n steps: WorkflowStepInput[]\n\n @Field({ nullable: true, defaultValue: true, description: 'Auto-start workflow after creation' })\n autoStart?: boolean\n}\n\n@ObjectType()\nexport class LabelingWorkflow {\n @Field({ description: 'Workflow ID' })\n id: string\n\n @Field({ description: 'Workflow name' })\n name: string\n\n @Field({ nullable: true, description: 'Description' })\n description?: string\n\n @Field(type => Int, { description: 'Label Studio project ID' })\n projectId: number\n\n @Field(type => TriggerType, { description: 'Trigger type' })\n triggerType: TriggerType\n\n @Field({ nullable: true, description: 'Trigger configuration' })\n triggerConfig?: string\n\n @Field(type => [WorkflowStep], { description: 'Workflow steps' })\n steps: WorkflowStep[]\n\n @Field(type => WorkflowStatus, { description: 'Current status' })\n status: WorkflowStatus\n\n @Field({ nullable: true, description: 'Last execution time' })\n lastExecutedAt?: Date\n\n @Field({ nullable: true, description: 'Next scheduled execution' })\n nextExecutionAt?: Date\n\n @Field({ description: 'Created at' })\n createdAt: Date\n\n @Field({ description: 'Updated at' })\n updatedAt: Date\n}\n\n// ============================================================================\n// Workflow Execution\n// ============================================================================\n\n@InputType()\nexport class ExecuteWorkflowRequest {\n @Field({ description: 'Workflow ID to execute' })\n workflowId: string\n\n @Field({ nullable: true, description: 'Override parameters as JSON' })\n parameters?: string\n}\n\n@ObjectType()\nexport class WorkflowExecutionStep {\n @Field({ description: 'Step name' })\n stepName: string\n\n @Field(type => WorkflowStepType, { description: 'Step type' })\n stepType: WorkflowStepType\n\n @Field({ description: 'Step status: pending, running, completed, failed, skipped' })\n status: string\n\n @Field({ nullable: true, description: 'Step output data' })\n output?: string\n\n @Field({ nullable: true, description: 'Error message if failed' })\n error?: string\n\n @Field({ nullable: true, description: 'Started at' })\n startedAt?: Date\n\n @Field({ nullable: true, description: 'Completed at' })\n completedAt?: Date\n\n @Field(type => Int, { nullable: true, description: 'Duration in milliseconds' })\n durationMs?: number\n}\n\n@ObjectType()\nexport class WorkflowExecution {\n @Field({ description: 'Execution ID' })\n id: string\n\n @Field({ description: 'Workflow ID' })\n workflowId: string\n\n @Field({ description: 'Workflow name' })\n workflowName: string\n\n @Field({ description: 'Execution status: running, completed, failed' })\n status: string\n\n @Field(type => [WorkflowExecutionStep], { description: 'Step executions' })\n steps: WorkflowExecutionStep[]\n\n @Field({ nullable: true, description: 'Overall result summary' })\n summary?: string\n\n @Field({ description: 'Started at' })\n startedAt: Date\n\n @Field({ nullable: true, description: 'Completed at' })\n completedAt?: Date\n\n @Field(type => Int, { nullable: true, description: 'Total duration in milliseconds' })\n totalDurationMs?: number\n\n @Field({ nullable: true, description: 'Error message if failed' })\n error?: string\n}\n\n@ObjectType()\nexport class WorkflowExecutionResult {\n @Field({ description: 'Execution ID' })\n executionId: string\n\n @Field({ description: 'Execution status' })\n status: string\n\n @Field({ nullable: true, description: 'Execution summary' })\n summary?: string\n\n @Field({ nullable: true, description: 'Error if failed' })\n error?: string\n}\n\n// ============================================================================\n// Workflow List and Status\n// ============================================================================\n\n@ObjectType()\nexport class LabelingWorkflowList {\n @Field(type => [LabelingWorkflow], { description: 'List of workflows' })\n items: LabelingWorkflow[]\n\n @Field(type => Int, { description: 'Total count' })\n total: number\n}\n\n@ObjectType()\nexport class WorkflowExecutionList {\n @Field(type => [WorkflowExecution], { description: 'List of executions' })\n items: WorkflowExecution[]\n\n @Field(type => Int, { description: 'Total count' })\n total: number\n}\n\n@InputType()\nexport class WorkflowStatusRequest {\n @Field({ description: 'Workflow ID' })\n workflowId: string\n}\n"]}
package/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "@things-factory/labeling",
3
+ "version": "9.1.19",
4
+ "main": "dist-server/index.js",
5
+ "browser": "dist-client/index.js",
6
+ "things-factory": true,
7
+ "author": "Things-Factory Team",
8
+ "description": "Labeling workflow management module for orchestrating end-to-end labeling workflows",
9
+ "license": "MIT",
10
+ "publishConfig": {
11
+ "access": "public",
12
+ "@things-factory:registry": "https://registry.npmjs.org"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/hatiolab/things-factory.git",
17
+ "directory": "packages/labeling"
18
+ },
19
+ "scripts": {
20
+ "build": "npm run build:server && npm run build:client",
21
+ "copy:files": "copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client",
22
+ "build:client": "npm run copy:files && npx tsc --p ./client/tsconfig.json",
23
+ "build:server": "npx tsc --p ./server/tsconfig.json",
24
+ "clean:client": "npx rimraf dist-client",
25
+ "clean:server": "npx rimraf dist-server",
26
+ "clean": "npm run clean:server && npm run clean:client"
27
+ },
28
+ "dependencies": {
29
+ "@operato/graphql": "^9.0.0",
30
+ "@operato/shell": "^9.0.0",
31
+ "@things-factory/ai-inference": "^9.1.19",
32
+ "@things-factory/auth-base": "^9.1.19",
33
+ "@things-factory/dataset": "^9.1.19",
34
+ "@things-factory/env": "^9.1.0",
35
+ "@things-factory/integration-label-studio": "^9.1.19",
36
+ "@things-factory/shell": "^9.1.19",
37
+ "graphql-tag": "^2.12.6",
38
+ "i18next": "^23.0.0",
39
+ "lit": "^3.0.0",
40
+ "typeorm": "^0.3.0",
41
+ "uuid": "^9.0.0"
42
+ },
43
+ "keywords": [
44
+ "things-factory",
45
+ "labeling",
46
+ "workflow",
47
+ "orchestration",
48
+ "automation"
49
+ ],
50
+ "gitHead": "078438034dbe19915108e89ff24024f7044a85a9"
51
+ }
@@ -0,0 +1,11 @@
1
+ import route from './dist-client/route.js'
2
+ // import bootstrap from './dist-client/bootstrap.js'
3
+
4
+ export default {
5
+ route,
6
+ routes: [
7
+ { tagname: 'labeling-workflow-list-page', page: 'labeling-workflows' },
8
+ { tagname: 'labeling-workflow-builder-page', page: 'labeling-workflow-builder' }
9
+ ]
10
+ // bootstrap
11
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "title.labeling workflows": "Labeling Workflows",
3
+ "title.create labeling workflow": "Create Labeling Workflow",
4
+ "title.dataset labeling workflows": "Dataset Labeling Workflows",
5
+ "title.label project list": "Label Project List"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "title.labeling workflows": "ラベルリングワークフロー",
3
+ "title.create labeling workflow": "ラベルリングワークフロー作成",
4
+ "title.dataset labeling workflows": "データセットラベルリングワークフロー",
5
+ "title.label project list": "ラベルプロジェクトリスト"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "title.labeling workflows": "레이블링 워크플로우",
3
+ "title.create labeling workflow": "레이블링 워크플로우 생성",
4
+ "title.dataset labeling workflows": "데이터셋 레이블링 워크플로우",
5
+ "title.label project list": "레이블 프로젝트 목록"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "title.labeling workflows": "Pengelabelan workflow",
3
+ "title.create labeling workflow": "Buat pengelabelan workflow",
4
+ "title.dataset labeling workflows": "Pengelabelan dataset workflow",
5
+ "title.label project list": "Senarai projek pengelabelan"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "title.labeling workflows": "标签工作流",
3
+ "title.create labeling workflow": "创建标签工作流",
4
+ "title.dataset labeling workflows": "数据集标签工作流",
5
+ "title.label project list": "标签项目列表"
6
+ }