@elqnt/workflow 2.1.4 → 2.2.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/README.md +6 -0
- package/SKILL.md +442 -0
- package/dist/api/index.js +3 -4
- package/dist/api/index.js.map +1 -1
- package/dist/api/index.mjs +1 -2
- package/dist/chunk-3GG6KTGJ.js +998 -0
- package/dist/chunk-3GG6KTGJ.js.map +1 -0
- package/dist/{chunk-UE4ZBFLG.mjs → chunk-4AUWFGQK.mjs} +1 -3
- package/dist/{chunk-UE4ZBFLG.mjs.map → chunk-4AUWFGQK.mjs.map} +1 -1
- package/dist/{chunk-H24IF5AA.js → chunk-6DV2LPSN.js} +2 -4
- package/dist/chunk-6DV2LPSN.js.map +1 -0
- package/dist/chunk-AXXQSYT7.mjs +998 -0
- package/dist/chunk-AXXQSYT7.mjs.map +1 -0
- package/dist/{chunk-YCEGKVXP.mjs → chunk-IY5JCMLA.mjs} +1 -3
- package/dist/{chunk-YCEGKVXP.mjs.map → chunk-IY5JCMLA.mjs.map} +1 -1
- package/dist/{chunk-JES2EBNO.js → chunk-YCO5IFZK.js} +2 -4
- package/dist/chunk-YCO5IFZK.js.map +1 -0
- package/dist/components/index.d.mts +245 -0
- package/dist/components/index.d.ts +245 -0
- package/dist/components/index.js +10 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/index.mjs +10 -0
- package/dist/components/index.mjs.map +1 -0
- package/dist/hooks/index.d.mts +72 -27
- package/dist/hooks/index.d.ts +72 -27
- package/dist/hooks/index.js +397 -5
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +401 -9
- package/dist/hooks/index.mjs.map +1 -1
- package/dist/index.d.mts +4 -246
- package/dist/index.d.ts +4 -246
- package/dist/index.js +8 -1012
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5 -1009
- package/dist/index.mjs.map +1 -1
- package/dist/models/index.js +3 -4
- package/dist/models/index.js.map +1 -1
- package/dist/models/index.mjs +1 -2
- package/package.json +12 -6
- package/dist/chunk-H24IF5AA.js.map +0 -1
- package/dist/chunk-JES2EBNO.js.map +0 -1
- package/dist/chunk-KWWX35B4.js +0 -413
- package/dist/chunk-KWWX35B4.js.map +0 -1
- package/dist/chunk-WDERYFU3.mjs +0 -413
- package/dist/chunk-WDERYFU3.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/eloquent/eloquent/packages/@elqnt/workflow/dist/chunk-KWWX35B4.js","../hooks/use-workflows.ts","../hooks/use-workflow-instances.ts","../hooks/use-workflow-templates.ts","../hooks/index.ts","../hooks/use-options-ref.ts"],"names":["useState","useRef","useEffect","useCallback","useMemo"],"mappings":"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","file":"/home/runner/work/eloquent/eloquent/packages/@elqnt/workflow/dist/chunk-KWWX35B4.js","sourcesContent":[null,"\"use client\";\n\nimport { useState, useCallback, useMemo, useRef, useEffect } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { WorkflowDefinition } from \"../models\";\nimport {\n listWorkflowsApi,\n getWorkflowApi,\n createWorkflowApi,\n updateWorkflowApi,\n deleteWorkflowApi,\n} from \"../api\";\n\nexport type UseWorkflowsOptions = ApiClientOptions;\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","\"use client\";\n\nimport { useState, useCallback, useMemo, useRef, useEffect } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { WorkflowInstance } from \"../models\";\nimport {\n listWorkflowInstancesApi,\n getWorkflowInstanceApi,\n createWorkflowInstanceApi,\n updateWorkflowInstanceStatusApi,\n executeWorkflowNodeApi,\n resumeWorkflowNodeApi,\n retryWorkflowNodeApi,\n} from \"../api\";\n\nexport type UseWorkflowInstancesOptions = ApiClientOptions;\n\n/**\n * Hook for workflow instance operations\n *\n * @example\n * ```tsx\n * const { listInstances, getInstance, createInstance } = useWorkflowInstances({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const instances = await listInstances(definitionId);\n * ```\n */\nexport function useWorkflowInstances(options: UseWorkflowInstancesOptions) {\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","\"use client\";\n\nimport { useState, useCallback, useMemo, useRef, useEffect } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { WorkflowDefinition } from \"../models\";\nimport {\n listWorkflowTemplatesApi,\n getWorkflowTemplateApi,\n instantiateWorkflowTemplateApi,\n type WorkflowTemplate,\n} from \"../api\";\n\nexport type UseWorkflowTemplatesOptions = ApiClientOptions;\n\n/**\n * Hook for workflow template operations\n *\n * @example\n * ```tsx\n * const { listTemplates, getTemplate, instantiateTemplate } = useWorkflowTemplates({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const templates = await listTemplates();\n * ```\n */\nexport function useWorkflowTemplates(options: UseWorkflowTemplatesOptions) {\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","\"use client\";\n\n/**\n * Workflow hooks for React applications\n *\n * Provides React hooks for workflow operations with loading/error states.\n *\n * @packageDocumentation\n */\n\n// =============================================================================\n// HOOK EXPORTS\n// =============================================================================\n\nexport { useWorkflows, type UseWorkflowsOptions } from \"./use-workflows\";\nexport { useWorkflowInstances, type UseWorkflowInstancesOptions } from \"./use-workflow-instances\";\nexport { useWorkflowTemplates, type UseWorkflowTemplatesOptions } from \"./use-workflow-templates\";\n\n// =============================================================================\n// UTILITY EXPORTS\n// =============================================================================\n\nexport { useApiAsync, useAsync } from \"@elqnt/api-client/hooks\";\nexport type { UseAsyncOptions, UseAsyncReturn } from \"@elqnt/api-client/hooks\";\nexport { useOptionsRef } from \"./use-options-ref\";\n","\"use client\";\n\n/**\n * Hook to keep a mutable ref of options in sync\n *\n * This pattern allows callbacks created with useCallback to always access\n * the latest options without needing to re-create the callback when options change.\n *\n * This is useful for API hooks where:\n * - Options (baseUrl, orgId) may change over time\n * - Callbacks are memoized and shouldn't be recreated on every options change\n * - The callback should always use the current options when called\n */\n\nimport { useRef, useEffect } from \"react\";\n\n/**\n * Keep a mutable ref synchronized with the latest value\n *\n * @example\n * ```tsx\n * function useWorkflows(options: ApiClientOptions) {\n * const optionsRef = useOptionsRef(options);\n *\n * const listWorkflows = useCallback(async () => {\n * // Always uses latest options\n * return listWorkflowsApi(optionsRef.current);\n * }, []); // No dependency on options - callback never changes\n *\n * return { listWorkflows };\n * }\n * ```\n */\nexport function useOptionsRef<T>(options: T): React.MutableRefObject<T> {\n const ref = useRef(options);\n\n useEffect(() => {\n ref.current = options;\n }, [options]);\n\n return ref;\n}\n"]}
|
package/dist/chunk-WDERYFU3.mjs
DELETED
|
@@ -1,413 +0,0 @@
|
|
|
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/use-workflows.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
|
-
|
|
139
|
-
// hooks/use-workflow-instances.ts
|
|
140
|
-
import { useState as useState2, useCallback as useCallback2, useMemo as useMemo2, useRef as useRef2, useEffect as useEffect2 } from "react";
|
|
141
|
-
function useWorkflowInstances(options) {
|
|
142
|
-
const [loading, setLoading] = useState2(false);
|
|
143
|
-
const [error, setError] = useState2(null);
|
|
144
|
-
const optionsRef = useRef2(options);
|
|
145
|
-
useEffect2(() => {
|
|
146
|
-
optionsRef.current = options;
|
|
147
|
-
}, [options]);
|
|
148
|
-
const listInstances = useCallback2(
|
|
149
|
-
async (definitionId, filters) => {
|
|
150
|
-
setLoading(true);
|
|
151
|
-
setError(null);
|
|
152
|
-
try {
|
|
153
|
-
const response = await listWorkflowInstancesApi(definitionId, {
|
|
154
|
-
...optionsRef.current,
|
|
155
|
-
...filters
|
|
156
|
-
});
|
|
157
|
-
if (response.error) {
|
|
158
|
-
setError(response.error);
|
|
159
|
-
return [];
|
|
160
|
-
}
|
|
161
|
-
return response.data?.instances || [];
|
|
162
|
-
} catch (err) {
|
|
163
|
-
const message = err instanceof Error ? err.message : "Failed to list instances";
|
|
164
|
-
setError(message);
|
|
165
|
-
return [];
|
|
166
|
-
} finally {
|
|
167
|
-
setLoading(false);
|
|
168
|
-
}
|
|
169
|
-
},
|
|
170
|
-
[]
|
|
171
|
-
);
|
|
172
|
-
const getInstance = useCallback2(async (instanceId) => {
|
|
173
|
-
setLoading(true);
|
|
174
|
-
setError(null);
|
|
175
|
-
try {
|
|
176
|
-
const response = await getWorkflowInstanceApi(instanceId, optionsRef.current);
|
|
177
|
-
if (response.error) {
|
|
178
|
-
setError(response.error);
|
|
179
|
-
return null;
|
|
180
|
-
}
|
|
181
|
-
return response.data?.instance || null;
|
|
182
|
-
} catch (err) {
|
|
183
|
-
const message = err instanceof Error ? err.message : "Failed to get instance";
|
|
184
|
-
setError(message);
|
|
185
|
-
return null;
|
|
186
|
-
} finally {
|
|
187
|
-
setLoading(false);
|
|
188
|
-
}
|
|
189
|
-
}, []);
|
|
190
|
-
const createInstance = useCallback2(
|
|
191
|
-
async (definitionId, data) => {
|
|
192
|
-
setLoading(true);
|
|
193
|
-
setError(null);
|
|
194
|
-
try {
|
|
195
|
-
const response = await createWorkflowInstanceApi(definitionId, data || {}, optionsRef.current);
|
|
196
|
-
if (response.error) {
|
|
197
|
-
setError(response.error);
|
|
198
|
-
return null;
|
|
199
|
-
}
|
|
200
|
-
return response.data?.instance || null;
|
|
201
|
-
} catch (err) {
|
|
202
|
-
const message = err instanceof Error ? err.message : "Failed to create instance";
|
|
203
|
-
setError(message);
|
|
204
|
-
return null;
|
|
205
|
-
} finally {
|
|
206
|
-
setLoading(false);
|
|
207
|
-
}
|
|
208
|
-
},
|
|
209
|
-
[]
|
|
210
|
-
);
|
|
211
|
-
const updateStatus = useCallback2(
|
|
212
|
-
async (instanceId, status) => {
|
|
213
|
-
setLoading(true);
|
|
214
|
-
setError(null);
|
|
215
|
-
try {
|
|
216
|
-
const response = await updateWorkflowInstanceStatusApi(instanceId, status, optionsRef.current);
|
|
217
|
-
if (response.error) {
|
|
218
|
-
setError(response.error);
|
|
219
|
-
return null;
|
|
220
|
-
}
|
|
221
|
-
return response.data?.instance || null;
|
|
222
|
-
} catch (err) {
|
|
223
|
-
const message = err instanceof Error ? err.message : "Failed to update status";
|
|
224
|
-
setError(message);
|
|
225
|
-
return null;
|
|
226
|
-
} finally {
|
|
227
|
-
setLoading(false);
|
|
228
|
-
}
|
|
229
|
-
},
|
|
230
|
-
[]
|
|
231
|
-
);
|
|
232
|
-
const executeNode = useCallback2(
|
|
233
|
-
async (instanceId, nodeId, input) => {
|
|
234
|
-
setLoading(true);
|
|
235
|
-
setError(null);
|
|
236
|
-
try {
|
|
237
|
-
const response = await executeWorkflowNodeApi(instanceId, nodeId, input, optionsRef.current);
|
|
238
|
-
if (response.error) {
|
|
239
|
-
setError(response.error);
|
|
240
|
-
return null;
|
|
241
|
-
}
|
|
242
|
-
return response.data?.output || null;
|
|
243
|
-
} catch (err) {
|
|
244
|
-
const message = err instanceof Error ? err.message : "Failed to execute node";
|
|
245
|
-
setError(message);
|
|
246
|
-
return null;
|
|
247
|
-
} finally {
|
|
248
|
-
setLoading(false);
|
|
249
|
-
}
|
|
250
|
-
},
|
|
251
|
-
[]
|
|
252
|
-
);
|
|
253
|
-
const resumeNode = useCallback2(
|
|
254
|
-
async (instanceId, nodeId, result) => {
|
|
255
|
-
setLoading(true);
|
|
256
|
-
setError(null);
|
|
257
|
-
try {
|
|
258
|
-
const response = await resumeWorkflowNodeApi(instanceId, nodeId, result, optionsRef.current);
|
|
259
|
-
if (response.error) {
|
|
260
|
-
setError(response.error);
|
|
261
|
-
return null;
|
|
262
|
-
}
|
|
263
|
-
return response.data?.instance || null;
|
|
264
|
-
} catch (err) {
|
|
265
|
-
const message = err instanceof Error ? err.message : "Failed to resume node";
|
|
266
|
-
setError(message);
|
|
267
|
-
return null;
|
|
268
|
-
} finally {
|
|
269
|
-
setLoading(false);
|
|
270
|
-
}
|
|
271
|
-
},
|
|
272
|
-
[]
|
|
273
|
-
);
|
|
274
|
-
const retryNode = useCallback2(
|
|
275
|
-
async (instanceId, nodeId) => {
|
|
276
|
-
setLoading(true);
|
|
277
|
-
setError(null);
|
|
278
|
-
try {
|
|
279
|
-
const response = await retryWorkflowNodeApi(instanceId, nodeId, optionsRef.current);
|
|
280
|
-
if (response.error) {
|
|
281
|
-
setError(response.error);
|
|
282
|
-
return null;
|
|
283
|
-
}
|
|
284
|
-
return response.data?.instance || null;
|
|
285
|
-
} catch (err) {
|
|
286
|
-
const message = err instanceof Error ? err.message : "Failed to retry node";
|
|
287
|
-
setError(message);
|
|
288
|
-
return null;
|
|
289
|
-
} finally {
|
|
290
|
-
setLoading(false);
|
|
291
|
-
}
|
|
292
|
-
},
|
|
293
|
-
[]
|
|
294
|
-
);
|
|
295
|
-
return useMemo2(
|
|
296
|
-
() => ({
|
|
297
|
-
loading,
|
|
298
|
-
error,
|
|
299
|
-
listInstances,
|
|
300
|
-
getInstance,
|
|
301
|
-
createInstance,
|
|
302
|
-
updateStatus,
|
|
303
|
-
executeNode,
|
|
304
|
-
resumeNode,
|
|
305
|
-
retryNode
|
|
306
|
-
}),
|
|
307
|
-
[loading, error, listInstances, getInstance, createInstance, updateStatus, executeNode, resumeNode, retryNode]
|
|
308
|
-
);
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
// hooks/use-workflow-templates.ts
|
|
312
|
-
import { useState as useState3, useCallback as useCallback3, useMemo as useMemo3, useRef as useRef3, useEffect as useEffect3 } from "react";
|
|
313
|
-
function useWorkflowTemplates(options) {
|
|
314
|
-
const [loading, setLoading] = useState3(false);
|
|
315
|
-
const [error, setError] = useState3(null);
|
|
316
|
-
const optionsRef = useRef3(options);
|
|
317
|
-
useEffect3(() => {
|
|
318
|
-
optionsRef.current = options;
|
|
319
|
-
}, [options]);
|
|
320
|
-
const listTemplates = useCallback3(async (category) => {
|
|
321
|
-
setLoading(true);
|
|
322
|
-
setError(null);
|
|
323
|
-
try {
|
|
324
|
-
const response = await listWorkflowTemplatesApi({
|
|
325
|
-
...optionsRef.current,
|
|
326
|
-
category
|
|
327
|
-
});
|
|
328
|
-
if (response.error) {
|
|
329
|
-
setError(response.error);
|
|
330
|
-
return [];
|
|
331
|
-
}
|
|
332
|
-
return response.data?.templates || [];
|
|
333
|
-
} catch (err) {
|
|
334
|
-
const message = err instanceof Error ? err.message : "Failed to list templates";
|
|
335
|
-
setError(message);
|
|
336
|
-
return [];
|
|
337
|
-
} finally {
|
|
338
|
-
setLoading(false);
|
|
339
|
-
}
|
|
340
|
-
}, []);
|
|
341
|
-
const getTemplate = useCallback3(async (templateId) => {
|
|
342
|
-
setLoading(true);
|
|
343
|
-
setError(null);
|
|
344
|
-
try {
|
|
345
|
-
const response = await getWorkflowTemplateApi(templateId, optionsRef.current);
|
|
346
|
-
if (response.error) {
|
|
347
|
-
setError(response.error);
|
|
348
|
-
return null;
|
|
349
|
-
}
|
|
350
|
-
return response.data?.template || null;
|
|
351
|
-
} catch (err) {
|
|
352
|
-
const message = err instanceof Error ? err.message : "Failed to get template";
|
|
353
|
-
setError(message);
|
|
354
|
-
return null;
|
|
355
|
-
} finally {
|
|
356
|
-
setLoading(false);
|
|
357
|
-
}
|
|
358
|
-
}, []);
|
|
359
|
-
const instantiateTemplate = useCallback3(
|
|
360
|
-
async (templateId, params) => {
|
|
361
|
-
setLoading(true);
|
|
362
|
-
setError(null);
|
|
363
|
-
try {
|
|
364
|
-
const response = await instantiateWorkflowTemplateApi(templateId, params, optionsRef.current);
|
|
365
|
-
if (response.error) {
|
|
366
|
-
setError(response.error);
|
|
367
|
-
return null;
|
|
368
|
-
}
|
|
369
|
-
return response.data?.definition || null;
|
|
370
|
-
} catch (err) {
|
|
371
|
-
const message = err instanceof Error ? err.message : "Failed to instantiate template";
|
|
372
|
-
setError(message);
|
|
373
|
-
return null;
|
|
374
|
-
} finally {
|
|
375
|
-
setLoading(false);
|
|
376
|
-
}
|
|
377
|
-
},
|
|
378
|
-
[]
|
|
379
|
-
);
|
|
380
|
-
return useMemo3(
|
|
381
|
-
() => ({
|
|
382
|
-
loading,
|
|
383
|
-
error,
|
|
384
|
-
listTemplates,
|
|
385
|
-
getTemplate,
|
|
386
|
-
instantiateTemplate
|
|
387
|
-
}),
|
|
388
|
-
[loading, error, listTemplates, getTemplate, instantiateTemplate]
|
|
389
|
-
);
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
// hooks/index.ts
|
|
393
|
-
import { useApiAsync, useAsync } from "@elqnt/api-client/hooks";
|
|
394
|
-
|
|
395
|
-
// hooks/use-options-ref.ts
|
|
396
|
-
import { useRef as useRef4, useEffect as useEffect4 } from "react";
|
|
397
|
-
function useOptionsRef(options) {
|
|
398
|
-
const ref = useRef4(options);
|
|
399
|
-
useEffect4(() => {
|
|
400
|
-
ref.current = options;
|
|
401
|
-
}, [options]);
|
|
402
|
-
return ref;
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
export {
|
|
406
|
-
useWorkflows,
|
|
407
|
-
useWorkflowInstances,
|
|
408
|
-
useWorkflowTemplates,
|
|
409
|
-
useOptionsRef,
|
|
410
|
-
useApiAsync,
|
|
411
|
-
useAsync
|
|
412
|
-
};
|
|
413
|
-
//# sourceMappingURL=chunk-WDERYFU3.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../hooks/use-workflows.ts","../hooks/use-workflow-instances.ts","../hooks/use-workflow-templates.ts","../hooks/index.ts","../hooks/use-options-ref.ts"],"sourcesContent":["\"use client\";\n\nimport { useState, useCallback, useMemo, useRef, useEffect } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { WorkflowDefinition } from \"../models\";\nimport {\n listWorkflowsApi,\n getWorkflowApi,\n createWorkflowApi,\n updateWorkflowApi,\n deleteWorkflowApi,\n} from \"../api\";\n\nexport type UseWorkflowsOptions = ApiClientOptions;\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","\"use client\";\n\nimport { useState, useCallback, useMemo, useRef, useEffect } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { WorkflowInstance } from \"../models\";\nimport {\n listWorkflowInstancesApi,\n getWorkflowInstanceApi,\n createWorkflowInstanceApi,\n updateWorkflowInstanceStatusApi,\n executeWorkflowNodeApi,\n resumeWorkflowNodeApi,\n retryWorkflowNodeApi,\n} from \"../api\";\n\nexport type UseWorkflowInstancesOptions = ApiClientOptions;\n\n/**\n * Hook for workflow instance operations\n *\n * @example\n * ```tsx\n * const { listInstances, getInstance, createInstance } = useWorkflowInstances({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const instances = await listInstances(definitionId);\n * ```\n */\nexport function useWorkflowInstances(options: UseWorkflowInstancesOptions) {\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","\"use client\";\n\nimport { useState, useCallback, useMemo, useRef, useEffect } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { WorkflowDefinition } from \"../models\";\nimport {\n listWorkflowTemplatesApi,\n getWorkflowTemplateApi,\n instantiateWorkflowTemplateApi,\n type WorkflowTemplate,\n} from \"../api\";\n\nexport type UseWorkflowTemplatesOptions = ApiClientOptions;\n\n/**\n * Hook for workflow template operations\n *\n * @example\n * ```tsx\n * const { listTemplates, getTemplate, instantiateTemplate } = useWorkflowTemplates({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const templates = await listTemplates();\n * ```\n */\nexport function useWorkflowTemplates(options: UseWorkflowTemplatesOptions) {\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","\"use client\";\n\n/**\n * Workflow hooks for React applications\n *\n * Provides React hooks for workflow operations with loading/error states.\n *\n * @packageDocumentation\n */\n\n// =============================================================================\n// HOOK EXPORTS\n// =============================================================================\n\nexport { useWorkflows, type UseWorkflowsOptions } from \"./use-workflows\";\nexport { useWorkflowInstances, type UseWorkflowInstancesOptions } from \"./use-workflow-instances\";\nexport { useWorkflowTemplates, type UseWorkflowTemplatesOptions } from \"./use-workflow-templates\";\n\n// =============================================================================\n// UTILITY EXPORTS\n// =============================================================================\n\nexport { useApiAsync, useAsync } from \"@elqnt/api-client/hooks\";\nexport type { UseAsyncOptions, UseAsyncReturn } from \"@elqnt/api-client/hooks\";\nexport { useOptionsRef } from \"./use-options-ref\";\n","\"use client\";\n\n/**\n * Hook to keep a mutable ref of options in sync\n *\n * This pattern allows callbacks created with useCallback to always access\n * the latest options without needing to re-create the callback when options change.\n *\n * This is useful for API hooks where:\n * - Options (baseUrl, orgId) may change over time\n * - Callbacks are memoized and shouldn't be recreated on every options change\n * - The callback should always use the current options when called\n */\n\nimport { useRef, useEffect } from \"react\";\n\n/**\n * Keep a mutable ref synchronized with the latest value\n *\n * @example\n * ```tsx\n * function useWorkflows(options: ApiClientOptions) {\n * const optionsRef = useOptionsRef(options);\n *\n * const listWorkflows = useCallback(async () => {\n * // Always uses latest options\n * return listWorkflowsApi(optionsRef.current);\n * }, []); // No dependency on options - callback never changes\n *\n * return { listWorkflows };\n * }\n * ```\n */\nexport function useOptionsRef<T>(options: T): React.MutableRefObject<T> {\n const ref = useRef(options);\n\n useEffect(() => {\n ref.current = options;\n }, [options]);\n\n return ref;\n}\n"],"mappings":"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","names":["useState","useCallback","useMemo","useRef","useEffect","useState","useRef","useEffect","useCallback","useMemo","useState","useCallback","useMemo","useRef","useEffect","useState","useRef","useEffect","useCallback","useMemo","useRef","useEffect"]}
|