@orchestrator-claude/sdk 1.11.3

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 (50) hide show
  1. package/README.md +170 -0
  2. package/dist/OrchestratorSDK.d.ts +69 -0
  3. package/dist/OrchestratorSDK.d.ts.map +1 -0
  4. package/dist/OrchestratorSDK.js +74 -0
  5. package/dist/OrchestratorSDK.js.map +1 -0
  6. package/dist/agents/AgentAPI.d.ts +119 -0
  7. package/dist/agents/AgentAPI.d.ts.map +1 -0
  8. package/dist/agents/AgentAPI.js +227 -0
  9. package/dist/agents/AgentAPI.js.map +1 -0
  10. package/dist/agents/index.d.ts +2 -0
  11. package/dist/agents/index.d.ts.map +1 -0
  12. package/dist/agents/index.js +2 -0
  13. package/dist/agents/index.js.map +1 -0
  14. package/dist/index.d.ts +27 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +26 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/skills/SkillAPI.d.ts +103 -0
  19. package/dist/skills/SkillAPI.d.ts.map +1 -0
  20. package/dist/skills/SkillAPI.js +194 -0
  21. package/dist/skills/SkillAPI.js.map +1 -0
  22. package/dist/skills/index.d.ts +2 -0
  23. package/dist/skills/index.d.ts.map +1 -0
  24. package/dist/skills/index.js +2 -0
  25. package/dist/skills/index.js.map +1 -0
  26. package/dist/types/Agent.d.ts +124 -0
  27. package/dist/types/Agent.d.ts.map +1 -0
  28. package/dist/types/Agent.js +5 -0
  29. package/dist/types/Agent.js.map +1 -0
  30. package/dist/types/Skill.d.ts +100 -0
  31. package/dist/types/Skill.d.ts.map +1 -0
  32. package/dist/types/Skill.js +5 -0
  33. package/dist/types/Skill.js.map +1 -0
  34. package/dist/types/Workflow.d.ts +225 -0
  35. package/dist/types/Workflow.d.ts.map +1 -0
  36. package/dist/types/Workflow.js +5 -0
  37. package/dist/types/Workflow.js.map +1 -0
  38. package/dist/types/index.d.ts +7 -0
  39. package/dist/types/index.d.ts.map +1 -0
  40. package/dist/types/index.js +5 -0
  41. package/dist/types/index.js.map +1 -0
  42. package/dist/workflows/WorkflowAPI.d.ts +134 -0
  43. package/dist/workflows/WorkflowAPI.d.ts.map +1 -0
  44. package/dist/workflows/WorkflowAPI.js +266 -0
  45. package/dist/workflows/WorkflowAPI.js.map +1 -0
  46. package/dist/workflows/index.d.ts +2 -0
  47. package/dist/workflows/index.d.ts.map +1 -0
  48. package/dist/workflows/index.js +2 -0
  49. package/dist/workflows/index.js.map +1 -0
  50. package/package.json +25 -0
@@ -0,0 +1,225 @@
1
+ /**
2
+ * Workflow-related type definitions
3
+ */
4
+ /**
5
+ * Workflow definition (template)
6
+ */
7
+ export interface WorkflowDefinition {
8
+ /**
9
+ * Unique slug
10
+ */
11
+ readonly slug: string;
12
+ /**
13
+ * Display name
14
+ */
15
+ name: string;
16
+ /**
17
+ * Description
18
+ */
19
+ description?: string;
20
+ /**
21
+ * Workflow phases
22
+ */
23
+ phases: PhaseConfig[];
24
+ /**
25
+ * Phase transitions
26
+ */
27
+ transitions?: TransitionConfig[];
28
+ /**
29
+ * Approval points
30
+ */
31
+ approvalPoints?: ApprovalPointConfig[];
32
+ /**
33
+ * Definition tier
34
+ */
35
+ tier: 'builtin' | 'community' | 'user';
36
+ /**
37
+ * Creation timestamp
38
+ */
39
+ readonly createdAt: string;
40
+ /**
41
+ * Update timestamp
42
+ */
43
+ updatedAt: string;
44
+ }
45
+ /**
46
+ * Phase configuration
47
+ */
48
+ export interface PhaseConfig {
49
+ /**
50
+ * Phase identifier
51
+ */
52
+ id: string;
53
+ /**
54
+ * Phase display name
55
+ */
56
+ name: string;
57
+ /**
58
+ * Agent to invoke
59
+ */
60
+ agent: string;
61
+ /**
62
+ * Phase description
63
+ */
64
+ description?: string;
65
+ /**
66
+ * Expected artifacts
67
+ */
68
+ artifacts?: string[];
69
+ }
70
+ /**
71
+ * Transition configuration
72
+ */
73
+ export interface TransitionConfig {
74
+ /**
75
+ * From phase
76
+ */
77
+ from: string;
78
+ /**
79
+ * To phase
80
+ */
81
+ to: string;
82
+ /**
83
+ * Transition condition
84
+ */
85
+ condition?: string;
86
+ }
87
+ /**
88
+ * Approval point configuration
89
+ */
90
+ export interface ApprovalPointConfig {
91
+ /**
92
+ * Before which phase
93
+ */
94
+ beforePhase: string;
95
+ /**
96
+ * Approval message
97
+ */
98
+ message: string;
99
+ /**
100
+ * Auto-approve condition
101
+ */
102
+ autoApproveIf?: string;
103
+ }
104
+ /**
105
+ * Workflow instance (running workflow)
106
+ */
107
+ export interface Workflow {
108
+ /**
109
+ * Workflow instance ID
110
+ */
111
+ readonly id: string;
112
+ /**
113
+ * Definition slug used
114
+ */
115
+ definitionSlug: string;
116
+ /**
117
+ * Project ID
118
+ */
119
+ projectId: string;
120
+ /**
121
+ * Current phase
122
+ */
123
+ currentPhase: string;
124
+ /**
125
+ * Workflow status
126
+ */
127
+ status: 'active' | 'completed' | 'failed' | 'paused';
128
+ /**
129
+ * Phase history
130
+ */
131
+ phaseHistory: PhaseHistoryEntry[];
132
+ /**
133
+ * Created at
134
+ */
135
+ readonly createdAt: string;
136
+ /**
137
+ * Updated at
138
+ */
139
+ updatedAt: string;
140
+ /**
141
+ * Completed at
142
+ */
143
+ completedAt?: string;
144
+ }
145
+ /**
146
+ * Phase history entry
147
+ */
148
+ export interface PhaseHistoryEntry {
149
+ /**
150
+ * Phase ID
151
+ */
152
+ phase: string;
153
+ /**
154
+ * Entry timestamp
155
+ */
156
+ enteredAt: string;
157
+ /**
158
+ * Exit timestamp
159
+ */
160
+ exitedAt?: string;
161
+ /**
162
+ * Phase status
163
+ */
164
+ status: 'running' | 'completed' | 'failed';
165
+ }
166
+ /**
167
+ * Configuration for creating workflow definition
168
+ */
169
+ export interface CreateWorkflowDefinitionConfig {
170
+ /**
171
+ * Definition name
172
+ */
173
+ name: string;
174
+ /**
175
+ * Description
176
+ */
177
+ description?: string;
178
+ /**
179
+ * Phases
180
+ */
181
+ phases: PhaseConfig[];
182
+ /**
183
+ * Transitions (optional, defaults to sequential)
184
+ */
185
+ transitions?: TransitionConfig[];
186
+ /**
187
+ * Approval points
188
+ */
189
+ approvalPoints?: ApprovalPointConfig[];
190
+ /**
191
+ * Tier
192
+ */
193
+ tier?: 'user' | 'community';
194
+ }
195
+ /**
196
+ * Filter for workflow definitions
197
+ */
198
+ export interface WorkflowFilter {
199
+ /**
200
+ * Filter by tier
201
+ */
202
+ tier?: 'builtin' | 'community' | 'user' | 'all';
203
+ /**
204
+ * Search term
205
+ */
206
+ search?: string;
207
+ }
208
+ /**
209
+ * Filter for workflow instances
210
+ */
211
+ export interface InstanceFilter {
212
+ /**
213
+ * Filter by status
214
+ */
215
+ status?: 'active' | 'completed' | 'failed' | 'paused' | 'all';
216
+ /**
217
+ * Filter by project ID
218
+ */
219
+ projectId?: string;
220
+ /**
221
+ * Filter by definition slug
222
+ */
223
+ definitionSlug?: string;
224
+ }
225
+ //# sourceMappingURL=Workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Workflow.d.ts","sourceRoot":"","sources":["../../src/types/Workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Workflow-related type definitions
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=Workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Workflow.js","sourceRoot":"","sources":["../../src/types/Workflow.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Public type definitions for Orchestrator SDK
3
+ */
4
+ export type { AgentDefinition, CreateAgentConfig, AgentFilter, ModelPreference, } from './Agent.js';
5
+ export type { WorkflowDefinition, CreateWorkflowDefinitionConfig, WorkflowFilter, Workflow, InstanceFilter, PhaseConfig, TransitionConfig, ApprovalPointConfig, PhaseHistoryEntry, } from './Workflow.js';
6
+ export type { SkillDefinition, CreateSkillConfig, SkillFilter, TriggerConfig, } from './Skill.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,kBAAkB,EAClB,8BAA8B,EAC9B,cAAc,EACd,QAAQ,EACR,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,aAAa,GACd,MAAM,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Public type definitions for Orchestrator SDK
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Workflow API for managing workflow definitions and instances
3
+ */
4
+ import type { WorkflowDefinition, CreateWorkflowDefinitionConfig, WorkflowFilter, Workflow, InstanceFilter } from '../types/Workflow.js';
5
+ /**
6
+ * API for creating and managing workflow definitions and instances
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * // Create definition
11
+ * const definition = sdk.workflows.createDefinition({
12
+ * name: 'Custom Workflow',
13
+ * phases: [
14
+ * { id: 'research', name: 'Research', agent: 'researcher' },
15
+ * { id: 'implement', name: 'Implement', agent: 'implementer' }
16
+ * ]
17
+ * });
18
+ * await sdk.workflows.saveDefinition(definition);
19
+ *
20
+ * // Start instance
21
+ * const workflow = await sdk.workflows.start('custom-workflow', 'project-123');
22
+ * ```
23
+ */
24
+ export declare class WorkflowAPI {
25
+ private readonly _projectPath;
26
+ constructor(_projectPath: string);
27
+ /**
28
+ * Get project path (used by repository implementations)
29
+ * @internal
30
+ */
31
+ protected getProjectPath(): string;
32
+ /**
33
+ * Create a new workflow definition
34
+ *
35
+ * @param config - Workflow configuration
36
+ * @returns Workflow definition (not yet persisted)
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * const definition = sdk.workflows.createDefinition({
41
+ * name: 'My Workflow',
42
+ * phases: [{ id: 'plan', name: 'Plan', agent: 'planner' }]
43
+ * });
44
+ * ```
45
+ */
46
+ createDefinition(config: CreateWorkflowDefinitionConfig): WorkflowDefinition;
47
+ /**
48
+ * Save a workflow definition
49
+ *
50
+ * @param definition - Workflow definition to save
51
+ * @throws {Error} If definition is invalid
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * await sdk.workflows.saveDefinition(definition);
56
+ * ```
57
+ */
58
+ saveDefinition(definition: WorkflowDefinition): Promise<void>;
59
+ /**
60
+ * List workflow definitions
61
+ *
62
+ * @param filter - Optional filter
63
+ * @returns Array of definitions
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * const definitions = await sdk.workflows.listDefinitions({ tier: 'user' });
68
+ * ```
69
+ */
70
+ listDefinitions(filter?: WorkflowFilter): Promise<WorkflowDefinition[]>;
71
+ /**
72
+ * Get workflow definition by slug
73
+ *
74
+ * @param slug - Definition slug
75
+ * @returns Definition or null
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * const definition = await sdk.workflows.getDefinition('my-workflow');
80
+ * ```
81
+ */
82
+ getDefinition(slug: string): Promise<WorkflowDefinition | null>;
83
+ /**
84
+ * Start a workflow instance from a definition
85
+ *
86
+ * @param definitionSlug - Definition to use
87
+ * @param projectId - Project ID
88
+ * @returns Running workflow instance
89
+ * @throws {Error} If definition not found
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * const workflow = await sdk.workflows.start('my-workflow', 'project-123');
94
+ * ```
95
+ */
96
+ start(definitionSlug: string, projectId: string): Promise<Workflow>;
97
+ /**
98
+ * Get workflow instance by ID
99
+ *
100
+ * @param workflowId - Workflow instance ID
101
+ * @returns Workflow or null
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * const workflow = await sdk.workflows.getInstance('wf_123');
106
+ * ```
107
+ */
108
+ getInstance(workflowId: string): Promise<Workflow | null>;
109
+ /**
110
+ * List workflow instances
111
+ *
112
+ * @param filter - Optional filter
113
+ * @returns Array of workflows
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * const workflows = await sdk.workflows.listInstances({ status: 'active' });
118
+ * ```
119
+ */
120
+ listInstances(filter?: InstanceFilter): Promise<Workflow[]>;
121
+ /**
122
+ * Validate definition configuration
123
+ */
124
+ private validateDefinitionConfig;
125
+ /**
126
+ * Validate workflow definition
127
+ */
128
+ private validateDefinition;
129
+ /**
130
+ * Convert name to slug
131
+ */
132
+ private slugify;
133
+ }
134
+ //# sourceMappingURL=WorkflowAPI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowAPI.d.ts","sourceRoot":"","sources":["../../src/workflows/WorkflowAPI.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,8BAA8B,EAC9B,cAAc,EACd,QAAQ,EACR,cAAc,EACf,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,WAAW;IAEV,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,MAAM;IAEjD;;;OAGG;IACH,SAAS,CAAC,cAAc,IAAI,MAAM;IAIlC;;;;;;;;;;;;;OAaG;IACH,gBAAgB,CAAC,MAAM,EAAE,8BAA8B,GAAG,kBAAkB;IAmB5E;;;;;;;;;;OAUG;IACG,cAAc,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnE;;;;;;;;;;OAUG;IACG,eAAe,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAM7E;;;;;;;;;;OAUG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAUrE;;;;;;;;;;;;OAYG;IACG,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgDzE;;;;;;;;;;OAUG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAU/D;;;;;;;;;;OAUG;IACG,aAAa,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAMjE;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA2ChC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;IACH,OAAO,CAAC,OAAO;CAQhB"}
@@ -0,0 +1,266 @@
1
+ /**
2
+ * Workflow API for managing workflow definitions and instances
3
+ */
4
+ /**
5
+ * API for creating and managing workflow definitions and instances
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * // Create definition
10
+ * const definition = sdk.workflows.createDefinition({
11
+ * name: 'Custom Workflow',
12
+ * phases: [
13
+ * { id: 'research', name: 'Research', agent: 'researcher' },
14
+ * { id: 'implement', name: 'Implement', agent: 'implementer' }
15
+ * ]
16
+ * });
17
+ * await sdk.workflows.saveDefinition(definition);
18
+ *
19
+ * // Start instance
20
+ * const workflow = await sdk.workflows.start('custom-workflow', 'project-123');
21
+ * ```
22
+ */
23
+ export class WorkflowAPI {
24
+ _projectPath;
25
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
26
+ constructor(_projectPath) {
27
+ this._projectPath = _projectPath;
28
+ }
29
+ /**
30
+ * Get project path (used by repository implementations)
31
+ * @internal
32
+ */
33
+ getProjectPath() {
34
+ return this._projectPath;
35
+ }
36
+ /**
37
+ * Create a new workflow definition
38
+ *
39
+ * @param config - Workflow configuration
40
+ * @returns Workflow definition (not yet persisted)
41
+ *
42
+ * @example
43
+ * ```typescript
44
+ * const definition = sdk.workflows.createDefinition({
45
+ * name: 'My Workflow',
46
+ * phases: [{ id: 'plan', name: 'Plan', agent: 'planner' }]
47
+ * });
48
+ * ```
49
+ */
50
+ createDefinition(config) {
51
+ this.validateDefinitionConfig(config);
52
+ const slug = this.slugify(config.name);
53
+ const now = new Date().toISOString();
54
+ return {
55
+ slug,
56
+ name: config.name,
57
+ ...(config.description && { description: config.description }),
58
+ phases: config.phases,
59
+ ...(config.transitions && { transitions: config.transitions }),
60
+ ...(config.approvalPoints && { approvalPoints: config.approvalPoints }),
61
+ tier: config.tier ?? 'user',
62
+ createdAt: now,
63
+ updatedAt: now,
64
+ };
65
+ }
66
+ /**
67
+ * Save a workflow definition
68
+ *
69
+ * @param definition - Workflow definition to save
70
+ * @throws {Error} If definition is invalid
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * await sdk.workflows.saveDefinition(definition);
75
+ * ```
76
+ */
77
+ async saveDefinition(definition) {
78
+ this.validateDefinition(definition);
79
+ // TODO: Implement persistence
80
+ console.log(`[SDK] Would save workflow definition: ${definition.slug}`);
81
+ }
82
+ /**
83
+ * List workflow definitions
84
+ *
85
+ * @param filter - Optional filter
86
+ * @returns Array of definitions
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * const definitions = await sdk.workflows.listDefinitions({ tier: 'user' });
91
+ * ```
92
+ */
93
+ async listDefinitions(filter) {
94
+ // TODO: Implement via repository
95
+ console.log(`[SDK] Would list definitions with filter:`, filter);
96
+ return [];
97
+ }
98
+ /**
99
+ * Get workflow definition by slug
100
+ *
101
+ * @param slug - Definition slug
102
+ * @returns Definition or null
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * const definition = await sdk.workflows.getDefinition('my-workflow');
107
+ * ```
108
+ */
109
+ async getDefinition(slug) {
110
+ if (!slug || typeof slug !== 'string') {
111
+ throw new Error('Definition slug is required and must be a string');
112
+ }
113
+ // TODO: Implement via repository
114
+ console.log(`[SDK] Would get definition: ${slug}`);
115
+ return null;
116
+ }
117
+ /**
118
+ * Start a workflow instance from a definition
119
+ *
120
+ * @param definitionSlug - Definition to use
121
+ * @param projectId - Project ID
122
+ * @returns Running workflow instance
123
+ * @throws {Error} If definition not found
124
+ *
125
+ * @example
126
+ * ```typescript
127
+ * const workflow = await sdk.workflows.start('my-workflow', 'project-123');
128
+ * ```
129
+ */
130
+ async start(definitionSlug, projectId) {
131
+ if (!definitionSlug || typeof definitionSlug !== 'string') {
132
+ throw new Error('Definition slug is required and must be a string');
133
+ }
134
+ if (!projectId || typeof projectId !== 'string') {
135
+ throw new Error('Project ID is required and must be a string');
136
+ }
137
+ const definition = await this.getDefinition(definitionSlug);
138
+ if (!definition) {
139
+ throw new Error(`Workflow definition not found: ${definitionSlug}`);
140
+ }
141
+ if (!definition.phases || definition.phases.length === 0) {
142
+ throw new Error(`Workflow definition has no phases: ${definitionSlug}`);
143
+ }
144
+ // TODO: Implement via workflow aggregate
145
+ const workflowId = `wf_${Date.now()}`;
146
+ const now = new Date().toISOString();
147
+ const firstPhase = definition.phases[0];
148
+ if (!firstPhase) {
149
+ throw new Error(`Invalid workflow definition: first phase is undefined`);
150
+ }
151
+ const workflow = {
152
+ id: workflowId,
153
+ definitionSlug,
154
+ projectId,
155
+ currentPhase: firstPhase.id,
156
+ status: 'active',
157
+ phaseHistory: [
158
+ {
159
+ phase: firstPhase.id,
160
+ enteredAt: now,
161
+ status: 'running',
162
+ },
163
+ ],
164
+ createdAt: now,
165
+ updatedAt: now,
166
+ };
167
+ console.log(`[SDK] Would start workflow: ${workflowId}`);
168
+ return workflow;
169
+ }
170
+ /**
171
+ * Get workflow instance by ID
172
+ *
173
+ * @param workflowId - Workflow instance ID
174
+ * @returns Workflow or null
175
+ *
176
+ * @example
177
+ * ```typescript
178
+ * const workflow = await sdk.workflows.getInstance('wf_123');
179
+ * ```
180
+ */
181
+ async getInstance(workflowId) {
182
+ if (!workflowId || typeof workflowId !== 'string') {
183
+ throw new Error('Workflow ID is required and must be a string');
184
+ }
185
+ // TODO: Implement via repository
186
+ console.log(`[SDK] Would get workflow instance: ${workflowId}`);
187
+ return null;
188
+ }
189
+ /**
190
+ * List workflow instances
191
+ *
192
+ * @param filter - Optional filter
193
+ * @returns Array of workflows
194
+ *
195
+ * @example
196
+ * ```typescript
197
+ * const workflows = await sdk.workflows.listInstances({ status: 'active' });
198
+ * ```
199
+ */
200
+ async listInstances(filter) {
201
+ // TODO: Implement via repository
202
+ console.log(`[SDK] Would list instances with filter:`, filter);
203
+ return [];
204
+ }
205
+ /**
206
+ * Validate definition configuration
207
+ */
208
+ validateDefinitionConfig(config) {
209
+ if (!config.name || typeof config.name !== 'string') {
210
+ throw new Error('Workflow name is required and must be a string');
211
+ }
212
+ if (config.name.length < 3) {
213
+ throw new Error('Workflow name must be at least 3 characters');
214
+ }
215
+ if (!config.phases || !Array.isArray(config.phases)) {
216
+ throw new Error('Workflow phases are required and must be an array');
217
+ }
218
+ if (config.phases.length === 0) {
219
+ throw new Error('Workflow must have at least one phase');
220
+ }
221
+ // Validate each phase
222
+ config.phases.forEach((phase, index) => {
223
+ if (!phase.id || typeof phase.id !== 'string') {
224
+ throw new Error(`Phase ${index}: id is required and must be a string`);
225
+ }
226
+ if (!phase.name || typeof phase.name !== 'string') {
227
+ throw new Error(`Phase ${index}: name is required and must be a string`);
228
+ }
229
+ if (!phase.agent || typeof phase.agent !== 'string') {
230
+ throw new Error(`Phase ${index}: agent is required and must be a string`);
231
+ }
232
+ });
233
+ if (config.tier && !['user', 'community'].includes(config.tier)) {
234
+ throw new Error('Workflow tier must be "user" or "community"');
235
+ }
236
+ }
237
+ /**
238
+ * Validate workflow definition
239
+ */
240
+ validateDefinition(definition) {
241
+ if (!definition.slug || typeof definition.slug !== 'string') {
242
+ throw new Error('Workflow slug is required');
243
+ }
244
+ if (!definition.name || typeof definition.name !== 'string') {
245
+ throw new Error('Workflow name is required');
246
+ }
247
+ if (!definition.phases || !Array.isArray(definition.phases)) {
248
+ throw new Error('Workflow phases are required');
249
+ }
250
+ if (definition.phases.length === 0) {
251
+ throw new Error('Workflow must have at least one phase');
252
+ }
253
+ }
254
+ /**
255
+ * Convert name to slug
256
+ */
257
+ slugify(name) {
258
+ return name
259
+ .toLowerCase()
260
+ .trim()
261
+ .replace(/[^a-z0-9\s-]/g, '')
262
+ .replace(/\s+/g, '-')
263
+ .replace(/-+/g, '-');
264
+ }
265
+ }
266
+ //# sourceMappingURL=WorkflowAPI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowAPI.js","sourceRoot":"","sources":["../../src/workflows/WorkflowAPI.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { WorkflowAPI } from './WorkflowAPI.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { WorkflowAPI } from './WorkflowAPI.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}