@elqnt/workflow 2.0.5 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/index.d.mts +74 -0
- package/dist/api/index.d.ts +74 -0
- package/dist/api/index.js +36 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/index.mjs +36 -0
- package/dist/api/index.mjs.map +1 -0
- package/dist/chunk-F5G2ALFS.js +391 -0
- package/dist/chunk-F5G2ALFS.js.map +1 -0
- package/dist/chunk-JES2EBNO.js +105 -0
- package/dist/chunk-JES2EBNO.js.map +1 -0
- package/dist/chunk-TZA3EPTC.mjs +391 -0
- package/dist/chunk-TZA3EPTC.mjs.map +1 -0
- package/dist/chunk-UE4ZBFLG.mjs +105 -0
- package/dist/chunk-UE4ZBFLG.mjs.map +1 -0
- package/dist/hooks/index.d.mts +63 -0
- package/dist/hooks/index.d.ts +63 -0
- package/dist/hooks/index.js +14 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/index.mjs +14 -0
- package/dist/hooks/index.mjs.map +1 -0
- package/dist/index.d.mts +6 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.js +41 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +40 -0
- package/dist/index.mjs.map +1 -1
- package/dist/models/index.d.mts +56 -1
- package/dist/models/index.d.ts +56 -1
- package/dist/{index-B4xiOlL7.d.mts → workflow-vv0mDt57.d.mts} +1 -54
- package/dist/{index-B4xiOlL7.d.ts → workflow-vv0mDt57.d.ts} +1 -54
- package/package.json +15 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eloquent-packages/eloquent-packages/packages/workflow/dist/chunk-F5G2ALFS.js","../hooks/index.ts"],"names":[],"mappings":"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","file":"/home/runner/work/eloquent-packages/eloquent-packages/packages/workflow/dist/chunk-F5G2ALFS.js","sourcesContent":[null,"\"use client\";\n\n/**\n * Workflow hooks for React applications\n *\n * Provides React hooks for workflow operations with loading/error states.\n */\n\nimport { useState, useCallback, useMemo, useRef, useEffect } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { WorkflowDefinition, WorkflowInstance } from \"../models\";\nimport {\n listWorkflowsApi,\n getWorkflowApi,\n createWorkflowApi,\n updateWorkflowApi,\n deleteWorkflowApi,\n listWorkflowInstancesApi,\n getWorkflowInstanceApi,\n createWorkflowInstanceApi,\n updateWorkflowInstanceStatusApi,\n executeWorkflowNodeApi,\n resumeWorkflowNodeApi,\n retryWorkflowNodeApi,\n listWorkflowTemplatesApi,\n getWorkflowTemplateApi,\n instantiateWorkflowTemplateApi,\n type WorkflowTemplate,\n} from \"../api\";\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\nexport type UseWorkflowsOptions = ApiClientOptions;\n\n// =============================================================================\n// USE WORKFLOWS HOOK\n// =============================================================================\n\n/**\n * Hook for workflow definition CRUD operations\n *\n * @example\n * ```tsx\n * const { loading, error, listWorkflows, createWorkflow } = useWorkflows({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const workflows = await listWorkflows();\n * ```\n */\nexport function useWorkflows(options: UseWorkflowsOptions) {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const optionsRef = useRef(options);\n useEffect(() => {\n optionsRef.current = options;\n }, [options]);\n\n const listWorkflows = useCallback(async (): Promise<WorkflowDefinition[]> => {\n setLoading(true);\n setError(null);\n try {\n const response = await listWorkflowsApi(optionsRef.current);\n if (response.error) {\n setError(response.error);\n return [];\n }\n return response.data?.definitions || [];\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to load workflows\";\n setError(message);\n return [];\n } finally {\n setLoading(false);\n }\n }, []);\n\n const getWorkflow = useCallback(async (workflowId: string): Promise<WorkflowDefinition | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await getWorkflowApi(workflowId, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.definition || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to get workflow\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n }, []);\n\n const createWorkflow = useCallback(\n async (workflow: Partial<WorkflowDefinition>): Promise<WorkflowDefinition | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await createWorkflowApi(workflow, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.definition || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to create workflow\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n []\n );\n\n const updateWorkflow = useCallback(\n async (workflowId: string, workflow: Partial<WorkflowDefinition>): Promise<WorkflowDefinition | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await updateWorkflowApi(workflowId, workflow, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.definition || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to update workflow\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n []\n );\n\n const deleteWorkflow = useCallback(async (workflowId: string): Promise<boolean> => {\n setLoading(true);\n setError(null);\n try {\n const response = await deleteWorkflowApi(workflowId, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return false;\n }\n return response.data?.success ?? true;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to delete workflow\";\n setError(message);\n return false;\n } finally {\n setLoading(false);\n }\n }, []);\n\n return useMemo(\n () => ({\n loading,\n error,\n listWorkflows,\n getWorkflow,\n createWorkflow,\n updateWorkflow,\n deleteWorkflow,\n }),\n [loading, error, listWorkflows, getWorkflow, createWorkflow, updateWorkflow, deleteWorkflow]\n );\n}\n\n// =============================================================================\n// USE WORKFLOW INSTANCES HOOK\n// =============================================================================\n\n/**\n * Hook for workflow instance operations\n */\nexport function useWorkflowInstances(options: UseWorkflowsOptions) {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const optionsRef = useRef(options);\n useEffect(() => {\n optionsRef.current = options;\n }, [options]);\n\n const listInstances = useCallback(\n async (\n definitionId: string,\n filters?: { userId?: string; status?: string }\n ): Promise<WorkflowInstance[]> => {\n setLoading(true);\n setError(null);\n try {\n const response = await listWorkflowInstancesApi(definitionId, {\n ...optionsRef.current,\n ...filters,\n });\n if (response.error) {\n setError(response.error);\n return [];\n }\n return response.data?.instances || [];\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to list instances\";\n setError(message);\n return [];\n } finally {\n setLoading(false);\n }\n },\n []\n );\n\n const getInstance = useCallback(async (instanceId: string): Promise<WorkflowInstance | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await getWorkflowInstanceApi(instanceId, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.instance || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to get instance\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n }, []);\n\n const createInstance = useCallback(\n async (\n definitionId: string,\n data?: { variables?: Record<string, unknown>; autoExecute?: boolean }\n ): Promise<WorkflowInstance | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await createWorkflowInstanceApi(definitionId, data || {}, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.instance || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to create instance\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n []\n );\n\n const updateStatus = useCallback(\n async (instanceId: string, status: string): Promise<WorkflowInstance | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await updateWorkflowInstanceStatusApi(instanceId, status, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.instance || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to update status\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n []\n );\n\n const executeNode = useCallback(\n async (\n instanceId: string,\n nodeId: string,\n input: Record<string, unknown>\n ): Promise<Record<string, unknown> | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await executeWorkflowNodeApi(instanceId, nodeId, input, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.output || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to execute node\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n []\n );\n\n const resumeNode = useCallback(\n async (\n instanceId: string,\n nodeId: string,\n result: Record<string, unknown>\n ): Promise<WorkflowInstance | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await resumeWorkflowNodeApi(instanceId, nodeId, result, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.instance || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to resume node\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n []\n );\n\n const retryNode = useCallback(\n async (instanceId: string, nodeId: string): Promise<WorkflowInstance | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await retryWorkflowNodeApi(instanceId, nodeId, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.instance || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to retry node\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n []\n );\n\n return useMemo(\n () => ({\n loading,\n error,\n listInstances,\n getInstance,\n createInstance,\n updateStatus,\n executeNode,\n resumeNode,\n retryNode,\n }),\n [loading, error, listInstances, getInstance, createInstance, updateStatus, executeNode, resumeNode, retryNode]\n );\n}\n\n// =============================================================================\n// USE WORKFLOW TEMPLATES HOOK\n// =============================================================================\n\n/**\n * Hook for workflow template operations\n */\nexport function useWorkflowTemplates(options: UseWorkflowsOptions) {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const optionsRef = useRef(options);\n useEffect(() => {\n optionsRef.current = options;\n }, [options]);\n\n const listTemplates = useCallback(async (category?: string): Promise<WorkflowTemplate[]> => {\n setLoading(true);\n setError(null);\n try {\n const response = await listWorkflowTemplatesApi({\n ...optionsRef.current,\n category,\n });\n if (response.error) {\n setError(response.error);\n return [];\n }\n return response.data?.templates || [];\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to list templates\";\n setError(message);\n return [];\n } finally {\n setLoading(false);\n }\n }, []);\n\n const getTemplate = useCallback(async (templateId: string): Promise<WorkflowTemplate | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await getWorkflowTemplateApi(templateId, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.template || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to get template\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n }, []);\n\n const instantiateTemplate = useCallback(\n async (\n templateId: string,\n params: { variables: Record<string, unknown>; title?: string }\n ): Promise<WorkflowDefinition | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await instantiateWorkflowTemplateApi(templateId, params, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.definition || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to instantiate template\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n []\n );\n\n return useMemo(\n () => ({\n loading,\n error,\n listTemplates,\n getTemplate,\n instantiateTemplate,\n }),\n [loading, error, listTemplates, getTemplate, instantiateTemplate]\n );\n}\n"]}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
2
|
+
|
|
3
|
+
// api/index.ts
|
|
4
|
+
var _browser = require('@elqnt/api-client/browser');
|
|
5
|
+
async function listWorkflowsApi(options) {
|
|
6
|
+
return _browser.browserApiRequest.call(void 0, "/api/v1/workflows", { method: "GET", ...options });
|
|
7
|
+
}
|
|
8
|
+
async function getWorkflowApi(workflowId, options) {
|
|
9
|
+
return _browser.browserApiRequest.call(void 0, `/api/v1/workflows/${workflowId}`, { method: "GET", ...options });
|
|
10
|
+
}
|
|
11
|
+
async function createWorkflowApi(workflow, options) {
|
|
12
|
+
return _browser.browserApiRequest.call(void 0, "/api/v1/workflows", { method: "POST", body: workflow, ...options });
|
|
13
|
+
}
|
|
14
|
+
async function updateWorkflowApi(workflowId, workflow, options) {
|
|
15
|
+
return _browser.browserApiRequest.call(void 0, `/api/v1/workflows/${workflowId}`, { method: "PUT", body: workflow, ...options });
|
|
16
|
+
}
|
|
17
|
+
async function deleteWorkflowApi(workflowId, options) {
|
|
18
|
+
return _browser.browserApiRequest.call(void 0, `/api/v1/workflows/${workflowId}`, { method: "DELETE", ...options });
|
|
19
|
+
}
|
|
20
|
+
async function createWorkflowInstanceApi(definitionId, data, options) {
|
|
21
|
+
return _browser.browserApiRequest.call(void 0, `/api/v1/workflows/${definitionId}/instances`, {
|
|
22
|
+
method: "POST",
|
|
23
|
+
body: data,
|
|
24
|
+
...options
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
async function getWorkflowInstanceApi(instanceId, options) {
|
|
28
|
+
return _browser.browserApiRequest.call(void 0, `/api/v1/workflows/instances/${instanceId}`, { method: "GET", ...options });
|
|
29
|
+
}
|
|
30
|
+
async function listWorkflowInstancesApi(definitionId, options) {
|
|
31
|
+
const params = new URLSearchParams();
|
|
32
|
+
if (options.userId) params.set("userId", options.userId);
|
|
33
|
+
if (options.status) params.set("status", options.status);
|
|
34
|
+
const queryString = params.toString();
|
|
35
|
+
return _browser.browserApiRequest.call(void 0,
|
|
36
|
+
`/api/v1/workflows/${definitionId}/instances${queryString ? `?${queryString}` : ""}`,
|
|
37
|
+
{ method: "GET", ...options }
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
async function updateWorkflowInstanceStatusApi(instanceId, status, options) {
|
|
41
|
+
return _browser.browserApiRequest.call(void 0, `/api/v1/workflows/instances/${instanceId}/status`, {
|
|
42
|
+
method: "PUT",
|
|
43
|
+
body: { status },
|
|
44
|
+
...options
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
async function executeWorkflowNodeApi(instanceId, nodeId, input, options) {
|
|
48
|
+
return _browser.browserApiRequest.call(void 0, `/api/v1/workflows/instances/${instanceId}/nodes/${nodeId}/execute`, {
|
|
49
|
+
method: "POST",
|
|
50
|
+
body: { input },
|
|
51
|
+
...options
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
async function resumeWorkflowNodeApi(instanceId, nodeId, result, options) {
|
|
55
|
+
return _browser.browserApiRequest.call(void 0, `/api/v1/workflows/instances/${instanceId}/nodes/${nodeId}/resume`, {
|
|
56
|
+
method: "POST",
|
|
57
|
+
body: { result },
|
|
58
|
+
...options
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
async function retryWorkflowNodeApi(instanceId, nodeId, options) {
|
|
62
|
+
return _browser.browserApiRequest.call(void 0, `/api/v1/workflows/instances/${instanceId}/nodes/${nodeId}/retry`, {
|
|
63
|
+
method: "POST",
|
|
64
|
+
body: {},
|
|
65
|
+
...options
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
async function listWorkflowTemplatesApi(options) {
|
|
69
|
+
const params = new URLSearchParams();
|
|
70
|
+
if (options.category) params.set("category", options.category);
|
|
71
|
+
const queryString = params.toString();
|
|
72
|
+
return _browser.browserApiRequest.call(void 0,
|
|
73
|
+
`/api/v1/workflows/templates${queryString ? `?${queryString}` : ""}`,
|
|
74
|
+
{ method: "GET", ...options }
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
async function getWorkflowTemplateApi(templateId, options) {
|
|
78
|
+
return _browser.browserApiRequest.call(void 0, `/api/v1/workflows/templates/${templateId}`, { method: "GET", ...options });
|
|
79
|
+
}
|
|
80
|
+
async function instantiateWorkflowTemplateApi(templateId, params, options) {
|
|
81
|
+
return _browser.browserApiRequest.call(void 0, `/api/v1/workflows/templates/${templateId}/instantiate`, {
|
|
82
|
+
method: "POST",
|
|
83
|
+
body: params,
|
|
84
|
+
...options
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
exports.listWorkflowsApi = listWorkflowsApi; exports.getWorkflowApi = getWorkflowApi; exports.createWorkflowApi = createWorkflowApi; exports.updateWorkflowApi = updateWorkflowApi; exports.deleteWorkflowApi = deleteWorkflowApi; exports.createWorkflowInstanceApi = createWorkflowInstanceApi; exports.getWorkflowInstanceApi = getWorkflowInstanceApi; exports.listWorkflowInstancesApi = listWorkflowInstancesApi; exports.updateWorkflowInstanceStatusApi = updateWorkflowInstanceStatusApi; exports.executeWorkflowNodeApi = executeWorkflowNodeApi; exports.resumeWorkflowNodeApi = resumeWorkflowNodeApi; exports.retryWorkflowNodeApi = retryWorkflowNodeApi; exports.listWorkflowTemplatesApi = listWorkflowTemplatesApi; exports.getWorkflowTemplateApi = getWorkflowTemplateApi; exports.instantiateWorkflowTemplateApi = instantiateWorkflowTemplateApi;
|
|
105
|
+
//# sourceMappingURL=chunk-JES2EBNO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eloquent-packages/eloquent-packages/packages/workflow/dist/chunk-JES2EBNO.js","../api/index.ts"],"names":[],"mappings":"AAAA,qFAAY;AACZ;AACA;ACKA,oDAAkC;AA+ClC,MAAA,SAAsB,gBAAA,CACpB,OAAA,EACuD;AACvD,EAAA,OAAO,wCAAA,mBAAkB,EAAqB,EAAE,MAAA,EAAQ,KAAA,EAAO,GAAG,QAAQ,CAAC,CAAA;AAC7E;AAEA,MAAA,SAAsB,cAAA,CACpB,UAAA,EACA,OAAA,EACkD;AAClD,EAAA,OAAO,wCAAA,CAAkB,kBAAA,EAAqB,UAAU,CAAA,CAAA;AAC1D;AAKsE;AACZ,EAAA;AAC1D;AAKE;AAEwD,EAAA;AAC1D;AAK0E;AAChB,EAAA;AAC1D;AAQE;AAG8C,EAAA;AACpC,IAAA;AACF,IAAA;AACH,IAAA;AACJ,EAAA;AACH;AAKkD;AACQ,EAAA;AAC1D;AAIE;AAEmC,EAAA;AACoB,EAAA;AACA,EAAA;AACnB,EAAA;AAC7B,EAAA;AACyC,IAAA;AAClB,IAAA;AAC9B,EAAA;AACF;AAIE;AAGwD,EAAA;AAC9C,IAAA;AACO,IAAA;AACZ,IAAA;AACJ,EAAA;AACH;AAKE;AAGwD,EAAA;AAC9C,IAAA;AACM,IAAA;AACX,IAAA;AACJ,EAAA;AACH;AAKE;AAGwD,EAAA;AAC9C,IAAA;AACO,IAAA;AACZ,IAAA;AACJ,EAAA;AACH;AAKE;AAEwD,EAAA;AAC9C,IAAA;AACD,IAAA;AACJ,IAAA;AACJ,EAAA;AACH;AAQuD;AAClB,EAAA;AACkB,EAAA;AACjB,EAAA;AAC7B,EAAA;AAC2C,IAAA;AACpB,IAAA;AAC9B,EAAA;AACF;AAKqD;AACK,EAAA;AAC1D;AAIE;AAGwD,EAAA;AAC9C,IAAA;AACF,IAAA;AACH,IAAA;AACJ,EAAA;AACH;AD3H2D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/eloquent-packages/eloquent-packages/packages/workflow/dist/chunk-JES2EBNO.js","sourcesContent":[null,"/**\n * Workflow API functions\n *\n * Browser-side API client for workflow operations.\n * Uses @elqnt/api-client for HTTP requests with automatic token management.\n */\n\nimport { browserApiRequest } from \"@elqnt/api-client/browser\";\nimport type { ApiResponse, ApiClientOptions } from \"@elqnt/api-client\";\nimport type { ResponseMetadata } from \"@elqnt/types\";\nimport type {\n WorkflowDefinition,\n WorkflowInstance,\n ListWorkflowDefinitionsResponse,\n WorkflowDefinitionResponse,\n WorkflowInstanceResponse,\n ListWorkflowInstancesResponse,\n} from \"../models\";\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\nexport interface WorkflowTemplate {\n id: string;\n name: string;\n title: string;\n description: string;\n category: string;\n variables: Array<{\n name: string;\n type: string;\n required: boolean;\n description?: string;\n }>;\n preview?: string;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface ListWorkflowTemplatesResponse {\n templates: WorkflowTemplate[];\n metadata: ResponseMetadata;\n}\n\nexport interface GetWorkflowTemplateResponse {\n template: WorkflowTemplate;\n metadata: ResponseMetadata;\n}\n\n// =============================================================================\n// WORKFLOW DEFINITIONS\n// =============================================================================\n\nexport async function listWorkflowsApi(\n options: ApiClientOptions\n): Promise<ApiResponse<ListWorkflowDefinitionsResponse>> {\n return browserApiRequest(\"/api/v1/workflows\", { method: \"GET\", ...options });\n}\n\nexport async function getWorkflowApi(\n workflowId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<WorkflowDefinitionResponse>> {\n return browserApiRequest(`/api/v1/workflows/${workflowId}`, { method: \"GET\", ...options });\n}\n\nexport async function createWorkflowApi(\n workflow: Partial<WorkflowDefinition>,\n options: ApiClientOptions\n): Promise<ApiResponse<WorkflowDefinitionResponse & { id?: string }>> {\n return browserApiRequest(\"/api/v1/workflows\", { method: \"POST\", body: workflow, ...options });\n}\n\nexport async function updateWorkflowApi(\n workflowId: string,\n workflow: Partial<WorkflowDefinition>,\n options: ApiClientOptions\n): Promise<ApiResponse<WorkflowDefinitionResponse>> {\n return browserApiRequest(`/api/v1/workflows/${workflowId}`, { method: \"PUT\", body: workflow, ...options });\n}\n\nexport async function deleteWorkflowApi(\n workflowId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/workflows/${workflowId}`, { method: \"DELETE\", ...options });\n}\n\n// =============================================================================\n// WORKFLOW INSTANCES\n// =============================================================================\n\nexport async function createWorkflowInstanceApi(\n definitionId: string,\n data: { variables?: Record<string, unknown>; autoExecute?: boolean },\n options: ApiClientOptions\n): Promise<ApiResponse<WorkflowInstanceResponse & { id?: string }>> {\n return browserApiRequest(`/api/v1/workflows/${definitionId}/instances`, {\n method: \"POST\",\n body: data,\n ...options,\n });\n}\n\nexport async function getWorkflowInstanceApi(\n instanceId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<WorkflowInstanceResponse>> {\n return browserApiRequest(`/api/v1/workflows/instances/${instanceId}`, { method: \"GET\", ...options });\n}\n\nexport async function listWorkflowInstancesApi(\n definitionId: string,\n options: ApiClientOptions & { userId?: string; status?: string }\n): Promise<ApiResponse<ListWorkflowInstancesResponse>> {\n const params = new URLSearchParams();\n if (options.userId) params.set(\"userId\", options.userId);\n if (options.status) params.set(\"status\", options.status);\n const queryString = params.toString();\n return browserApiRequest(\n `/api/v1/workflows/${definitionId}/instances${queryString ? `?${queryString}` : \"\"}`,\n { method: \"GET\", ...options }\n );\n}\n\nexport async function updateWorkflowInstanceStatusApi(\n instanceId: string,\n status: string,\n options: ApiClientOptions\n): Promise<ApiResponse<WorkflowInstanceResponse>> {\n return browserApiRequest(`/api/v1/workflows/instances/${instanceId}/status`, {\n method: \"PUT\",\n body: { status },\n ...options,\n });\n}\n\nexport async function executeWorkflowNodeApi(\n instanceId: string,\n nodeId: string,\n input: Record<string, unknown>,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; output?: Record<string, unknown>; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/workflows/instances/${instanceId}/nodes/${nodeId}/execute`, {\n method: \"POST\",\n body: { input },\n ...options,\n });\n}\n\nexport async function resumeWorkflowNodeApi(\n instanceId: string,\n nodeId: string,\n result: Record<string, unknown>,\n options: ApiClientOptions\n): Promise<ApiResponse<WorkflowInstanceResponse>> {\n return browserApiRequest(`/api/v1/workflows/instances/${instanceId}/nodes/${nodeId}/resume`, {\n method: \"POST\",\n body: { result },\n ...options,\n });\n}\n\nexport async function retryWorkflowNodeApi(\n instanceId: string,\n nodeId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<WorkflowInstanceResponse>> {\n return browserApiRequest(`/api/v1/workflows/instances/${instanceId}/nodes/${nodeId}/retry`, {\n method: \"POST\",\n body: {},\n ...options,\n });\n}\n\n// =============================================================================\n// WORKFLOW TEMPLATES\n// =============================================================================\n\nexport async function listWorkflowTemplatesApi(\n options: ApiClientOptions & { category?: string }\n): Promise<ApiResponse<ListWorkflowTemplatesResponse>> {\n const params = new URLSearchParams();\n if (options.category) params.set(\"category\", options.category);\n const queryString = params.toString();\n return browserApiRequest(\n `/api/v1/workflows/templates${queryString ? `?${queryString}` : \"\"}`,\n { method: \"GET\", ...options }\n );\n}\n\nexport async function getWorkflowTemplateApi(\n templateId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<GetWorkflowTemplateResponse>> {\n return browserApiRequest(`/api/v1/workflows/templates/${templateId}`, { method: \"GET\", ...options });\n}\n\nexport async function instantiateWorkflowTemplateApi(\n templateId: string,\n params: { variables: Record<string, unknown>; title?: string },\n options: ApiClientOptions\n): Promise<ApiResponse<WorkflowDefinitionResponse>> {\n return browserApiRequest(`/api/v1/workflows/templates/${templateId}/instantiate`, {\n method: \"POST\",\n body: params,\n ...options,\n });\n}\n"]}
|
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
createWorkflowApi,
|
|
4
|
+
createWorkflowInstanceApi,
|
|
5
|
+
deleteWorkflowApi,
|
|
6
|
+
executeWorkflowNodeApi,
|
|
7
|
+
getWorkflowApi,
|
|
8
|
+
getWorkflowInstanceApi,
|
|
9
|
+
getWorkflowTemplateApi,
|
|
10
|
+
instantiateWorkflowTemplateApi,
|
|
11
|
+
listWorkflowInstancesApi,
|
|
12
|
+
listWorkflowTemplatesApi,
|
|
13
|
+
listWorkflowsApi,
|
|
14
|
+
resumeWorkflowNodeApi,
|
|
15
|
+
retryWorkflowNodeApi,
|
|
16
|
+
updateWorkflowApi,
|
|
17
|
+
updateWorkflowInstanceStatusApi
|
|
18
|
+
} from "./chunk-UE4ZBFLG.mjs";
|
|
19
|
+
|
|
20
|
+
// hooks/index.ts
|
|
21
|
+
import { useState, useCallback, useMemo, useRef, useEffect } from "react";
|
|
22
|
+
function useWorkflows(options) {
|
|
23
|
+
const [loading, setLoading] = useState(false);
|
|
24
|
+
const [error, setError] = useState(null);
|
|
25
|
+
const optionsRef = useRef(options);
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
optionsRef.current = options;
|
|
28
|
+
}, [options]);
|
|
29
|
+
const listWorkflows = useCallback(async () => {
|
|
30
|
+
setLoading(true);
|
|
31
|
+
setError(null);
|
|
32
|
+
try {
|
|
33
|
+
const response = await listWorkflowsApi(optionsRef.current);
|
|
34
|
+
if (response.error) {
|
|
35
|
+
setError(response.error);
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
38
|
+
return response.data?.definitions || [];
|
|
39
|
+
} catch (err) {
|
|
40
|
+
const message = err instanceof Error ? err.message : "Failed to load workflows";
|
|
41
|
+
setError(message);
|
|
42
|
+
return [];
|
|
43
|
+
} finally {
|
|
44
|
+
setLoading(false);
|
|
45
|
+
}
|
|
46
|
+
}, []);
|
|
47
|
+
const getWorkflow = useCallback(async (workflowId) => {
|
|
48
|
+
setLoading(true);
|
|
49
|
+
setError(null);
|
|
50
|
+
try {
|
|
51
|
+
const response = await getWorkflowApi(workflowId, optionsRef.current);
|
|
52
|
+
if (response.error) {
|
|
53
|
+
setError(response.error);
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
return response.data?.definition || null;
|
|
57
|
+
} catch (err) {
|
|
58
|
+
const message = err instanceof Error ? err.message : "Failed to get workflow";
|
|
59
|
+
setError(message);
|
|
60
|
+
return null;
|
|
61
|
+
} finally {
|
|
62
|
+
setLoading(false);
|
|
63
|
+
}
|
|
64
|
+
}, []);
|
|
65
|
+
const createWorkflow = useCallback(
|
|
66
|
+
async (workflow) => {
|
|
67
|
+
setLoading(true);
|
|
68
|
+
setError(null);
|
|
69
|
+
try {
|
|
70
|
+
const response = await createWorkflowApi(workflow, optionsRef.current);
|
|
71
|
+
if (response.error) {
|
|
72
|
+
setError(response.error);
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
return response.data?.definition || null;
|
|
76
|
+
} catch (err) {
|
|
77
|
+
const message = err instanceof Error ? err.message : "Failed to create workflow";
|
|
78
|
+
setError(message);
|
|
79
|
+
return null;
|
|
80
|
+
} finally {
|
|
81
|
+
setLoading(false);
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
[]
|
|
85
|
+
);
|
|
86
|
+
const updateWorkflow = useCallback(
|
|
87
|
+
async (workflowId, workflow) => {
|
|
88
|
+
setLoading(true);
|
|
89
|
+
setError(null);
|
|
90
|
+
try {
|
|
91
|
+
const response = await updateWorkflowApi(workflowId, workflow, optionsRef.current);
|
|
92
|
+
if (response.error) {
|
|
93
|
+
setError(response.error);
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
return response.data?.definition || null;
|
|
97
|
+
} catch (err) {
|
|
98
|
+
const message = err instanceof Error ? err.message : "Failed to update workflow";
|
|
99
|
+
setError(message);
|
|
100
|
+
return null;
|
|
101
|
+
} finally {
|
|
102
|
+
setLoading(false);
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
[]
|
|
106
|
+
);
|
|
107
|
+
const deleteWorkflow = useCallback(async (workflowId) => {
|
|
108
|
+
setLoading(true);
|
|
109
|
+
setError(null);
|
|
110
|
+
try {
|
|
111
|
+
const response = await deleteWorkflowApi(workflowId, optionsRef.current);
|
|
112
|
+
if (response.error) {
|
|
113
|
+
setError(response.error);
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
return response.data?.success ?? true;
|
|
117
|
+
} catch (err) {
|
|
118
|
+
const message = err instanceof Error ? err.message : "Failed to delete workflow";
|
|
119
|
+
setError(message);
|
|
120
|
+
return false;
|
|
121
|
+
} finally {
|
|
122
|
+
setLoading(false);
|
|
123
|
+
}
|
|
124
|
+
}, []);
|
|
125
|
+
return useMemo(
|
|
126
|
+
() => ({
|
|
127
|
+
loading,
|
|
128
|
+
error,
|
|
129
|
+
listWorkflows,
|
|
130
|
+
getWorkflow,
|
|
131
|
+
createWorkflow,
|
|
132
|
+
updateWorkflow,
|
|
133
|
+
deleteWorkflow
|
|
134
|
+
}),
|
|
135
|
+
[loading, error, listWorkflows, getWorkflow, createWorkflow, updateWorkflow, deleteWorkflow]
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
function useWorkflowInstances(options) {
|
|
139
|
+
const [loading, setLoading] = useState(false);
|
|
140
|
+
const [error, setError] = useState(null);
|
|
141
|
+
const optionsRef = useRef(options);
|
|
142
|
+
useEffect(() => {
|
|
143
|
+
optionsRef.current = options;
|
|
144
|
+
}, [options]);
|
|
145
|
+
const listInstances = useCallback(
|
|
146
|
+
async (definitionId, filters) => {
|
|
147
|
+
setLoading(true);
|
|
148
|
+
setError(null);
|
|
149
|
+
try {
|
|
150
|
+
const response = await listWorkflowInstancesApi(definitionId, {
|
|
151
|
+
...optionsRef.current,
|
|
152
|
+
...filters
|
|
153
|
+
});
|
|
154
|
+
if (response.error) {
|
|
155
|
+
setError(response.error);
|
|
156
|
+
return [];
|
|
157
|
+
}
|
|
158
|
+
return response.data?.instances || [];
|
|
159
|
+
} catch (err) {
|
|
160
|
+
const message = err instanceof Error ? err.message : "Failed to list instances";
|
|
161
|
+
setError(message);
|
|
162
|
+
return [];
|
|
163
|
+
} finally {
|
|
164
|
+
setLoading(false);
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
[]
|
|
168
|
+
);
|
|
169
|
+
const getInstance = useCallback(async (instanceId) => {
|
|
170
|
+
setLoading(true);
|
|
171
|
+
setError(null);
|
|
172
|
+
try {
|
|
173
|
+
const response = await getWorkflowInstanceApi(instanceId, optionsRef.current);
|
|
174
|
+
if (response.error) {
|
|
175
|
+
setError(response.error);
|
|
176
|
+
return null;
|
|
177
|
+
}
|
|
178
|
+
return response.data?.instance || null;
|
|
179
|
+
} catch (err) {
|
|
180
|
+
const message = err instanceof Error ? err.message : "Failed to get instance";
|
|
181
|
+
setError(message);
|
|
182
|
+
return null;
|
|
183
|
+
} finally {
|
|
184
|
+
setLoading(false);
|
|
185
|
+
}
|
|
186
|
+
}, []);
|
|
187
|
+
const createInstance = useCallback(
|
|
188
|
+
async (definitionId, data) => {
|
|
189
|
+
setLoading(true);
|
|
190
|
+
setError(null);
|
|
191
|
+
try {
|
|
192
|
+
const response = await createWorkflowInstanceApi(definitionId, data || {}, optionsRef.current);
|
|
193
|
+
if (response.error) {
|
|
194
|
+
setError(response.error);
|
|
195
|
+
return null;
|
|
196
|
+
}
|
|
197
|
+
return response.data?.instance || null;
|
|
198
|
+
} catch (err) {
|
|
199
|
+
const message = err instanceof Error ? err.message : "Failed to create instance";
|
|
200
|
+
setError(message);
|
|
201
|
+
return null;
|
|
202
|
+
} finally {
|
|
203
|
+
setLoading(false);
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
[]
|
|
207
|
+
);
|
|
208
|
+
const updateStatus = useCallback(
|
|
209
|
+
async (instanceId, status) => {
|
|
210
|
+
setLoading(true);
|
|
211
|
+
setError(null);
|
|
212
|
+
try {
|
|
213
|
+
const response = await updateWorkflowInstanceStatusApi(instanceId, status, optionsRef.current);
|
|
214
|
+
if (response.error) {
|
|
215
|
+
setError(response.error);
|
|
216
|
+
return null;
|
|
217
|
+
}
|
|
218
|
+
return response.data?.instance || null;
|
|
219
|
+
} catch (err) {
|
|
220
|
+
const message = err instanceof Error ? err.message : "Failed to update status";
|
|
221
|
+
setError(message);
|
|
222
|
+
return null;
|
|
223
|
+
} finally {
|
|
224
|
+
setLoading(false);
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
[]
|
|
228
|
+
);
|
|
229
|
+
const executeNode = useCallback(
|
|
230
|
+
async (instanceId, nodeId, input) => {
|
|
231
|
+
setLoading(true);
|
|
232
|
+
setError(null);
|
|
233
|
+
try {
|
|
234
|
+
const response = await executeWorkflowNodeApi(instanceId, nodeId, input, optionsRef.current);
|
|
235
|
+
if (response.error) {
|
|
236
|
+
setError(response.error);
|
|
237
|
+
return null;
|
|
238
|
+
}
|
|
239
|
+
return response.data?.output || null;
|
|
240
|
+
} catch (err) {
|
|
241
|
+
const message = err instanceof Error ? err.message : "Failed to execute node";
|
|
242
|
+
setError(message);
|
|
243
|
+
return null;
|
|
244
|
+
} finally {
|
|
245
|
+
setLoading(false);
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
[]
|
|
249
|
+
);
|
|
250
|
+
const resumeNode = useCallback(
|
|
251
|
+
async (instanceId, nodeId, result) => {
|
|
252
|
+
setLoading(true);
|
|
253
|
+
setError(null);
|
|
254
|
+
try {
|
|
255
|
+
const response = await resumeWorkflowNodeApi(instanceId, nodeId, result, optionsRef.current);
|
|
256
|
+
if (response.error) {
|
|
257
|
+
setError(response.error);
|
|
258
|
+
return null;
|
|
259
|
+
}
|
|
260
|
+
return response.data?.instance || null;
|
|
261
|
+
} catch (err) {
|
|
262
|
+
const message = err instanceof Error ? err.message : "Failed to resume node";
|
|
263
|
+
setError(message);
|
|
264
|
+
return null;
|
|
265
|
+
} finally {
|
|
266
|
+
setLoading(false);
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
[]
|
|
270
|
+
);
|
|
271
|
+
const retryNode = useCallback(
|
|
272
|
+
async (instanceId, nodeId) => {
|
|
273
|
+
setLoading(true);
|
|
274
|
+
setError(null);
|
|
275
|
+
try {
|
|
276
|
+
const response = await retryWorkflowNodeApi(instanceId, nodeId, optionsRef.current);
|
|
277
|
+
if (response.error) {
|
|
278
|
+
setError(response.error);
|
|
279
|
+
return null;
|
|
280
|
+
}
|
|
281
|
+
return response.data?.instance || null;
|
|
282
|
+
} catch (err) {
|
|
283
|
+
const message = err instanceof Error ? err.message : "Failed to retry node";
|
|
284
|
+
setError(message);
|
|
285
|
+
return null;
|
|
286
|
+
} finally {
|
|
287
|
+
setLoading(false);
|
|
288
|
+
}
|
|
289
|
+
},
|
|
290
|
+
[]
|
|
291
|
+
);
|
|
292
|
+
return useMemo(
|
|
293
|
+
() => ({
|
|
294
|
+
loading,
|
|
295
|
+
error,
|
|
296
|
+
listInstances,
|
|
297
|
+
getInstance,
|
|
298
|
+
createInstance,
|
|
299
|
+
updateStatus,
|
|
300
|
+
executeNode,
|
|
301
|
+
resumeNode,
|
|
302
|
+
retryNode
|
|
303
|
+
}),
|
|
304
|
+
[loading, error, listInstances, getInstance, createInstance, updateStatus, executeNode, resumeNode, retryNode]
|
|
305
|
+
);
|
|
306
|
+
}
|
|
307
|
+
function useWorkflowTemplates(options) {
|
|
308
|
+
const [loading, setLoading] = useState(false);
|
|
309
|
+
const [error, setError] = useState(null);
|
|
310
|
+
const optionsRef = useRef(options);
|
|
311
|
+
useEffect(() => {
|
|
312
|
+
optionsRef.current = options;
|
|
313
|
+
}, [options]);
|
|
314
|
+
const listTemplates = useCallback(async (category) => {
|
|
315
|
+
setLoading(true);
|
|
316
|
+
setError(null);
|
|
317
|
+
try {
|
|
318
|
+
const response = await listWorkflowTemplatesApi({
|
|
319
|
+
...optionsRef.current,
|
|
320
|
+
category
|
|
321
|
+
});
|
|
322
|
+
if (response.error) {
|
|
323
|
+
setError(response.error);
|
|
324
|
+
return [];
|
|
325
|
+
}
|
|
326
|
+
return response.data?.templates || [];
|
|
327
|
+
} catch (err) {
|
|
328
|
+
const message = err instanceof Error ? err.message : "Failed to list templates";
|
|
329
|
+
setError(message);
|
|
330
|
+
return [];
|
|
331
|
+
} finally {
|
|
332
|
+
setLoading(false);
|
|
333
|
+
}
|
|
334
|
+
}, []);
|
|
335
|
+
const getTemplate = useCallback(async (templateId) => {
|
|
336
|
+
setLoading(true);
|
|
337
|
+
setError(null);
|
|
338
|
+
try {
|
|
339
|
+
const response = await getWorkflowTemplateApi(templateId, optionsRef.current);
|
|
340
|
+
if (response.error) {
|
|
341
|
+
setError(response.error);
|
|
342
|
+
return null;
|
|
343
|
+
}
|
|
344
|
+
return response.data?.template || null;
|
|
345
|
+
} catch (err) {
|
|
346
|
+
const message = err instanceof Error ? err.message : "Failed to get template";
|
|
347
|
+
setError(message);
|
|
348
|
+
return null;
|
|
349
|
+
} finally {
|
|
350
|
+
setLoading(false);
|
|
351
|
+
}
|
|
352
|
+
}, []);
|
|
353
|
+
const instantiateTemplate = useCallback(
|
|
354
|
+
async (templateId, params) => {
|
|
355
|
+
setLoading(true);
|
|
356
|
+
setError(null);
|
|
357
|
+
try {
|
|
358
|
+
const response = await instantiateWorkflowTemplateApi(templateId, params, optionsRef.current);
|
|
359
|
+
if (response.error) {
|
|
360
|
+
setError(response.error);
|
|
361
|
+
return null;
|
|
362
|
+
}
|
|
363
|
+
return response.data?.definition || null;
|
|
364
|
+
} catch (err) {
|
|
365
|
+
const message = err instanceof Error ? err.message : "Failed to instantiate template";
|
|
366
|
+
setError(message);
|
|
367
|
+
return null;
|
|
368
|
+
} finally {
|
|
369
|
+
setLoading(false);
|
|
370
|
+
}
|
|
371
|
+
},
|
|
372
|
+
[]
|
|
373
|
+
);
|
|
374
|
+
return useMemo(
|
|
375
|
+
() => ({
|
|
376
|
+
loading,
|
|
377
|
+
error,
|
|
378
|
+
listTemplates,
|
|
379
|
+
getTemplate,
|
|
380
|
+
instantiateTemplate
|
|
381
|
+
}),
|
|
382
|
+
[loading, error, listTemplates, getTemplate, instantiateTemplate]
|
|
383
|
+
);
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
export {
|
|
387
|
+
useWorkflows,
|
|
388
|
+
useWorkflowInstances,
|
|
389
|
+
useWorkflowTemplates
|
|
390
|
+
};
|
|
391
|
+
//# sourceMappingURL=chunk-TZA3EPTC.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../hooks/index.ts"],"sourcesContent":["\"use client\";\n\n/**\n * Workflow hooks for React applications\n *\n * Provides React hooks for workflow operations with loading/error states.\n */\n\nimport { useState, useCallback, useMemo, useRef, useEffect } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { WorkflowDefinition, WorkflowInstance } from \"../models\";\nimport {\n listWorkflowsApi,\n getWorkflowApi,\n createWorkflowApi,\n updateWorkflowApi,\n deleteWorkflowApi,\n listWorkflowInstancesApi,\n getWorkflowInstanceApi,\n createWorkflowInstanceApi,\n updateWorkflowInstanceStatusApi,\n executeWorkflowNodeApi,\n resumeWorkflowNodeApi,\n retryWorkflowNodeApi,\n listWorkflowTemplatesApi,\n getWorkflowTemplateApi,\n instantiateWorkflowTemplateApi,\n type WorkflowTemplate,\n} from \"../api\";\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\nexport type UseWorkflowsOptions = ApiClientOptions;\n\n// =============================================================================\n// USE WORKFLOWS HOOK\n// =============================================================================\n\n/**\n * Hook for workflow definition CRUD operations\n *\n * @example\n * ```tsx\n * const { loading, error, listWorkflows, createWorkflow } = useWorkflows({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const workflows = await listWorkflows();\n * ```\n */\nexport function useWorkflows(options: UseWorkflowsOptions) {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const optionsRef = useRef(options);\n useEffect(() => {\n optionsRef.current = options;\n }, [options]);\n\n const listWorkflows = useCallback(async (): Promise<WorkflowDefinition[]> => {\n setLoading(true);\n setError(null);\n try {\n const response = await listWorkflowsApi(optionsRef.current);\n if (response.error) {\n setError(response.error);\n return [];\n }\n return response.data?.definitions || [];\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to load workflows\";\n setError(message);\n return [];\n } finally {\n setLoading(false);\n }\n }, []);\n\n const getWorkflow = useCallback(async (workflowId: string): Promise<WorkflowDefinition | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await getWorkflowApi(workflowId, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.definition || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to get workflow\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n }, []);\n\n const createWorkflow = useCallback(\n async (workflow: Partial<WorkflowDefinition>): Promise<WorkflowDefinition | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await createWorkflowApi(workflow, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.definition || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to create workflow\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n []\n );\n\n const updateWorkflow = useCallback(\n async (workflowId: string, workflow: Partial<WorkflowDefinition>): Promise<WorkflowDefinition | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await updateWorkflowApi(workflowId, workflow, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.definition || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to update workflow\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n []\n );\n\n const deleteWorkflow = useCallback(async (workflowId: string): Promise<boolean> => {\n setLoading(true);\n setError(null);\n try {\n const response = await deleteWorkflowApi(workflowId, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return false;\n }\n return response.data?.success ?? true;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to delete workflow\";\n setError(message);\n return false;\n } finally {\n setLoading(false);\n }\n }, []);\n\n return useMemo(\n () => ({\n loading,\n error,\n listWorkflows,\n getWorkflow,\n createWorkflow,\n updateWorkflow,\n deleteWorkflow,\n }),\n [loading, error, listWorkflows, getWorkflow, createWorkflow, updateWorkflow, deleteWorkflow]\n );\n}\n\n// =============================================================================\n// USE WORKFLOW INSTANCES HOOK\n// =============================================================================\n\n/**\n * Hook for workflow instance operations\n */\nexport function useWorkflowInstances(options: UseWorkflowsOptions) {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const optionsRef = useRef(options);\n useEffect(() => {\n optionsRef.current = options;\n }, [options]);\n\n const listInstances = useCallback(\n async (\n definitionId: string,\n filters?: { userId?: string; status?: string }\n ): Promise<WorkflowInstance[]> => {\n setLoading(true);\n setError(null);\n try {\n const response = await listWorkflowInstancesApi(definitionId, {\n ...optionsRef.current,\n ...filters,\n });\n if (response.error) {\n setError(response.error);\n return [];\n }\n return response.data?.instances || [];\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to list instances\";\n setError(message);\n return [];\n } finally {\n setLoading(false);\n }\n },\n []\n );\n\n const getInstance = useCallback(async (instanceId: string): Promise<WorkflowInstance | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await getWorkflowInstanceApi(instanceId, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.instance || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to get instance\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n }, []);\n\n const createInstance = useCallback(\n async (\n definitionId: string,\n data?: { variables?: Record<string, unknown>; autoExecute?: boolean }\n ): Promise<WorkflowInstance | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await createWorkflowInstanceApi(definitionId, data || {}, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.instance || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to create instance\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n []\n );\n\n const updateStatus = useCallback(\n async (instanceId: string, status: string): Promise<WorkflowInstance | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await updateWorkflowInstanceStatusApi(instanceId, status, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.instance || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to update status\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n []\n );\n\n const executeNode = useCallback(\n async (\n instanceId: string,\n nodeId: string,\n input: Record<string, unknown>\n ): Promise<Record<string, unknown> | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await executeWorkflowNodeApi(instanceId, nodeId, input, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.output || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to execute node\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n []\n );\n\n const resumeNode = useCallback(\n async (\n instanceId: string,\n nodeId: string,\n result: Record<string, unknown>\n ): Promise<WorkflowInstance | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await resumeWorkflowNodeApi(instanceId, nodeId, result, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.instance || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to resume node\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n []\n );\n\n const retryNode = useCallback(\n async (instanceId: string, nodeId: string): Promise<WorkflowInstance | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await retryWorkflowNodeApi(instanceId, nodeId, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.instance || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to retry node\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n []\n );\n\n return useMemo(\n () => ({\n loading,\n error,\n listInstances,\n getInstance,\n createInstance,\n updateStatus,\n executeNode,\n resumeNode,\n retryNode,\n }),\n [loading, error, listInstances, getInstance, createInstance, updateStatus, executeNode, resumeNode, retryNode]\n );\n}\n\n// =============================================================================\n// USE WORKFLOW TEMPLATES HOOK\n// =============================================================================\n\n/**\n * Hook for workflow template operations\n */\nexport function useWorkflowTemplates(options: UseWorkflowsOptions) {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const optionsRef = useRef(options);\n useEffect(() => {\n optionsRef.current = options;\n }, [options]);\n\n const listTemplates = useCallback(async (category?: string): Promise<WorkflowTemplate[]> => {\n setLoading(true);\n setError(null);\n try {\n const response = await listWorkflowTemplatesApi({\n ...optionsRef.current,\n category,\n });\n if (response.error) {\n setError(response.error);\n return [];\n }\n return response.data?.templates || [];\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to list templates\";\n setError(message);\n return [];\n } finally {\n setLoading(false);\n }\n }, []);\n\n const getTemplate = useCallback(async (templateId: string): Promise<WorkflowTemplate | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await getWorkflowTemplateApi(templateId, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.template || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to get template\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n }, []);\n\n const instantiateTemplate = useCallback(\n async (\n templateId: string,\n params: { variables: Record<string, unknown>; title?: string }\n ): Promise<WorkflowDefinition | null> => {\n setLoading(true);\n setError(null);\n try {\n const response = await instantiateWorkflowTemplateApi(templateId, params, optionsRef.current);\n if (response.error) {\n setError(response.error);\n return null;\n }\n return response.data?.definition || null;\n } catch (err) {\n const message = err instanceof Error ? err.message : \"Failed to instantiate template\";\n setError(message);\n return null;\n } finally {\n setLoading(false);\n }\n },\n []\n );\n\n return useMemo(\n () => ({\n loading,\n error,\n listTemplates,\n getTemplate,\n instantiateTemplate,\n }),\n [loading, error, listTemplates, getTemplate, instantiateTemplate]\n );\n}\n"],"mappings":"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","names":[]}
|