Skip to content

Commit c636886

Browse files
authored
Merge pull request #83 from objectstack-ai/copilot/add-ai-workflow-automation
2 parents 1320d12 + 38df179 commit c636886

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+4462
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
title: AITask
3+
description: AITask Schema Reference
4+
---
5+
6+
## Properties
7+
8+
| Property | Type | Required | Description |
9+
| :--- | :--- | :--- | :--- |
10+
| **id** | `string` | optional | Optional task ID for referencing |
11+
| **name** | `string` || Human-readable task name |
12+
| **type** | `Enum<'classify' \| 'extract' \| 'summarize' \| 'generate' \| 'predict' \| 'translate' \| 'sentiment' \| 'entity_recognition' \| 'anomaly_detection' \| 'recommendation'>` || |
13+
| **model** | `string` | optional | Model ID from registry (uses default if not specified) |
14+
| **promptTemplate** | `string` | optional | Prompt template ID for this task |
15+
| **inputFields** | `string[]` || Source fields to process (e.g., ["description", "comments"]) |
16+
| **inputContext** | `Record<string, any>` | optional | Additional context for the AI model |
17+
| **outputField** | `string` || Target field to store the result |
18+
| **outputFormat** | `Enum<'text' \| 'json' \| 'number' \| 'boolean' \| 'array'>` | optional | |
19+
| **classes** | `string[]` | optional | Valid classes for classification tasks |
20+
| **multiClass** | `boolean` | optional | Allow multiple classes to be selected |
21+
| **extractionSchema** | `Record<string, any>` | optional | JSON schema for structured extraction |
22+
| **maxLength** | `number` | optional | Maximum length for generated content |
23+
| **temperature** | `number` | optional | Model temperature override |
24+
| **fallbackValue** | `any` | optional | Fallback value if AI task fails |
25+
| **retryAttempts** | `integer` | optional | |
26+
| **condition** | `string` | optional | Formula condition - task only runs if TRUE |
27+
| **description** | `string` | optional | |
28+
| **active** | `boolean` | optional | |
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
title: AITaskType
3+
description: AITaskType Schema Reference
4+
---
5+
6+
## Allowed Values
7+
8+
* `classify`
9+
* `extract`
10+
* `summarize`
11+
* `generate`
12+
* `predict`
13+
* `translate`
14+
* `sentiment`
15+
* `entity_recognition`
16+
* `anomaly_detection`
17+
* `recommendation`
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
title: AIWorkflowAutomation
3+
description: AIWorkflowAutomation Schema Reference
4+
---
5+
6+
## Properties
7+
8+
| Property | Type | Required | Description |
9+
| :--- | :--- | :--- | :--- |
10+
| **name** | `string` || Workflow unique identifier (snake_case) |
11+
| **label** | `string` || Workflow display name |
12+
| **description** | `string` | optional | |
13+
| **objectName** | `string` || Target object for this workflow |
14+
| **trigger** | `Enum<'record_created' \| 'record_updated' \| 'field_changed' \| 'scheduled' \| 'manual' \| 'webhook' \| 'batch'>` || |
15+
| **fieldConditions** | `object[]` | optional | Fields to monitor (for field_changed trigger) |
16+
| **schedule** | `object` | optional | Schedule configuration (for scheduled trigger) |
17+
| **webhookConfig** | `object` | optional | Webhook configuration (for webhook trigger) |
18+
| **entryCriteria** | `string` | optional | Formula condition - workflow only runs if TRUE |
19+
| **aiTasks** | `object[]` || AI tasks to execute in sequence |
20+
| **postActions** | `object[]` | optional | Actions after AI tasks complete |
21+
| **executionMode** | `Enum<'sequential' \| 'parallel'>` | optional | How to execute multiple AI tasks |
22+
| **stopOnError** | `boolean` | optional | Stop workflow if any task fails |
23+
| **timeout** | `number` | optional | Maximum execution time in seconds |
24+
| **priority** | `Enum<'low' \| 'normal' \| 'high' \| 'critical'>` | optional | |
25+
| **enableLogging** | `boolean` | optional | |
26+
| **enableMetrics** | `boolean` | optional | |
27+
| **notifyOnFailure** | `string[]` | optional | User IDs to notify on failure |
28+
| **active** | `boolean` | optional | |
29+
| **version** | `string` | optional | |
30+
| **tags** | `string[]` | optional | |
31+
| **category** | `string` | optional | Workflow category (e.g., "support", "sales", "hr") |
32+
| **owner** | `string` | optional | User ID of workflow owner |
33+
| **createdAt** | `string` | optional | ISO timestamp |
34+
| **updatedAt** | `string` | optional | ISO timestamp |
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
title: AIWorkflowExecutionResult
3+
description: AIWorkflowExecutionResult Schema Reference
4+
---
5+
6+
## Properties
7+
8+
| Property | Type | Required | Description |
9+
| :--- | :--- | :--- | :--- |
10+
| **workflowName** | `string` || |
11+
| **recordId** | `string` || |
12+
| **status** | `Enum<'success' \| 'partial_success' \| 'failed' \| 'skipped'>` || |
13+
| **executionTime** | `number` || Execution time in milliseconds |
14+
| **tasksExecuted** | `integer` || Number of tasks executed |
15+
| **tasksSucceeded** | `integer` || Number of tasks succeeded |
16+
| **tasksFailed** | `integer` || Number of tasks failed |
17+
| **taskResults** | `object[]` | optional | |
18+
| **error** | `string` | optional | |
19+
| **startedAt** | `string` || ISO timestamp |
20+
| **completedAt** | `string` | optional | ISO timestamp |
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
title: AIWorkflowTrigger
3+
description: AIWorkflowTrigger Schema Reference
4+
---
5+
6+
## Allowed Values
7+
8+
* `record_created`
9+
* `record_updated`
10+
* `field_changed`
11+
* `scheduled`
12+
* `manual`
13+
* `webhook`
14+
* `batch`
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
title: BatchAIWorkflowExecution
3+
description: BatchAIWorkflowExecution Schema Reference
4+
---
5+
6+
## Properties
7+
8+
| Property | Type | Required | Description |
9+
| :--- | :--- | :--- | :--- |
10+
| **workflowName** | `string` || Workflow to execute |
11+
| **recordIds** | `string[]` || Records to process |
12+
| **batchSize** | `integer` | optional | |
13+
| **parallelism** | `integer` | optional | |
14+
| **priority** | `Enum<'low' \| 'normal' \| 'high'>` | optional | |
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: EvaluationMetrics
3+
description: EvaluationMetrics Schema Reference
4+
---
5+
6+
## Properties
7+
8+
| Property | Type | Required | Description |
9+
| :--- | :--- | :--- | :--- |
10+
| **accuracy** | `number` | optional | |
11+
| **precision** | `number` | optional | |
12+
| **recall** | `number` | optional | |
13+
| **f1Score** | `number` | optional | |
14+
| **auc** | `number` | optional | Area Under ROC Curve |
15+
| **mse** | `number` | optional | Mean Squared Error |
16+
| **rmse** | `number` | optional | Root Mean Squared Error |
17+
| **mae** | `number` | optional | Mean Absolute Error |
18+
| **r2Score** | `number` | optional | R-squared score |
19+
| **silhouetteScore** | `number` | optional | |
20+
| **daviesBouldinIndex** | `number` | optional | |
21+
| **mape** | `number` | optional | Mean Absolute Percentage Error |
22+
| **smape** | `number` | optional | Symmetric MAPE |
23+
| **custom** | `Record<string, number>` | optional | |
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
title: Hyperparameters
3+
description: Hyperparameters Schema Reference
4+
---
5+
6+
## Properties
7+
8+
| Property | Type | Required | Description |
9+
| :--- | :--- | :--- | :--- |
10+
| **learningRate** | `number` | optional | Learning rate for training |
11+
| **epochs** | `integer` | optional | Number of training epochs |
12+
| **batchSize** | `integer` | optional | Training batch size |
13+
| **maxDepth** | `integer` | optional | Maximum tree depth |
14+
| **numTrees** | `integer` | optional | Number of trees in ensemble |
15+
| **minSamplesSplit** | `integer` | optional | Minimum samples to split node |
16+
| **minSamplesLeaf** | `integer` | optional | Minimum samples in leaf node |
17+
| **hiddenLayers** | `integer[]` | optional | Hidden layer sizes |
18+
| **activation** | `string` | optional | Activation function |
19+
| **dropout** | `number` | optional | Dropout rate |
20+
| **l1Regularization** | `number` | optional | L1 regularization strength |
21+
| **l2Regularization** | `number` | optional | L2 regularization strength |
22+
| **numClusters** | `integer` | optional | Number of clusters (k-means, etc.) |
23+
| **seasonalPeriod** | `integer` | optional | Seasonal period for time series |
24+
| **forecastHorizon** | `integer` | optional | Number of periods to forecast |
25+
| **custom** | `Record<string, any>` | optional | Algorithm-specific parameters |
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
title: ModelDrift
3+
description: ModelDrift Schema Reference
4+
---
5+
6+
## Properties
7+
8+
| Property | Type | Required | Description |
9+
| :--- | :--- | :--- | :--- |
10+
| **modelName** | `string` || |
11+
| **driftType** | `Enum<'feature_drift' \| 'prediction_drift' \| 'performance_drift'>` || |
12+
| **severity** | `Enum<'low' \| 'medium' \| 'high' \| 'critical'>` || |
13+
| **detectedAt** | `string` || ISO timestamp |
14+
| **metrics** | `object` || |
15+
| **recommendation** | `string` | optional | |
16+
| **autoRetrainTriggered** | `boolean` | optional | |
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
title: ModelFeature
3+
description: ModelFeature Schema Reference
4+
---
5+
6+
## Properties
7+
8+
| Property | Type | Required | Description |
9+
| :--- | :--- | :--- | :--- |
10+
| **name** | `string` || Feature name (snake_case) |
11+
| **label** | `string` | optional | Human-readable label |
12+
| **field** | `string` || Source field name |
13+
| **object** | `string` | optional | Source object (if different from target) |
14+
| **dataType** | `Enum<'numeric' \| 'categorical' \| 'text' \| 'datetime' \| 'boolean'>` || Feature data type |
15+
| **transformation** | `Enum<'none' \| 'normalize' \| 'standardize' \| 'one_hot_encode' \| 'label_encode' \| 'log_transform' \| 'binning' \| 'embedding'>` | optional | |
16+
| **required** | `boolean` | optional | |
17+
| **defaultValue** | `any` | optional | |
18+
| **description** | `string` | optional | |
19+
| **importance** | `number` | optional | Feature importance score (0-1) |

0 commit comments

Comments
 (0)