@elqnt/workflow 1.0.8 → 2.0.5

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/index.mjs CHANGED
@@ -1,4 +1,155 @@
1
1
  "use client";
2
+ import {
3
+ EdgeStatusCompleted,
4
+ EdgeStatusPending,
5
+ EdgeStatusSkipped,
6
+ EdgeTypeCompensation,
7
+ EdgeTypeConditional,
8
+ EdgeTypeDefault,
9
+ EdgeTypeError,
10
+ EdgeTypeLoopBack,
11
+ EdgeTypeMerge,
12
+ EdgeTypeNormal,
13
+ EdgeTypeParallel,
14
+ EdgeTypeTimeout,
15
+ ExpressionTypeDSL,
16
+ ExpressionTypeFilter,
17
+ ExpressionTypeJavaScript,
18
+ ExpressionTypeRules,
19
+ ExpressionTypeTemplate,
20
+ InstanceStatusCompleted,
21
+ InstanceStatusFailed,
22
+ InstanceStatusNew,
23
+ InstanceStatusPaused,
24
+ InstanceStatusRunning,
25
+ InstanceStatusWaiting,
26
+ NodeStatusCompleted,
27
+ NodeStatusFailed,
28
+ NodeStatusPending,
29
+ NodeStatusRunning,
30
+ NodeStatusSkipped,
31
+ NodeStatusWaiting,
32
+ NodeSubTypeActionApiCall,
33
+ NodeSubTypeActionAssignSLAPolicy,
34
+ NodeSubTypeActionCSATSurvey,
35
+ NodeSubTypeActionChangeSLAStatus,
36
+ NodeSubTypeActionCreateEntityRecord,
37
+ NodeSubTypeActionDeleteEntityRecord,
38
+ NodeSubTypeActionDocumentExtraction,
39
+ NodeSubTypeActionEscalateSLA,
40
+ NodeSubTypeActionGenerateDocument,
41
+ NodeSubTypeActionMergeEntityRecords,
42
+ NodeSubTypeActionNatsRequest,
43
+ NodeSubTypeActionProcessPayment,
44
+ NodeSubTypeActionQueryEntityRecords,
45
+ NodeSubTypeActionSendEmail,
46
+ NodeSubTypeActionSendSMS,
47
+ NodeSubTypeActionSetVariables,
48
+ NodeSubTypeActionUpdateEntityRecord,
49
+ NodeSubTypeAgentApiIntegration,
50
+ NodeSubTypeAgentChat,
51
+ NodeSubTypeAgentClientApiCall,
52
+ NodeSubTypeAgentCustomResponse,
53
+ NodeSubTypeAgentIntentDetector,
54
+ NodeSubTypeAgentKnowledgeGraph,
55
+ NodeSubTypeAgentOpenTicket,
56
+ NodeSubTypeAgentStructuredOutput,
57
+ NodeSubTypeAgentTransferToHuman,
58
+ NodeSubTypeDataCalculate,
59
+ NodeSubTypeDataFilter,
60
+ NodeSubTypeDataMap,
61
+ NodeSubTypeDataValidate,
62
+ NodeSubTypeDelay,
63
+ NodeSubTypeHumanActionApproval,
64
+ NodeSubTypeHumanActionAssignment,
65
+ NodeSubTypeHumanActionDataEntry,
66
+ NodeSubTypeHumanActionReview,
67
+ NodeSubTypeLogicFor,
68
+ NodeSubTypeLogicIf,
69
+ NodeSubTypeLogicParallel,
70
+ NodeSubTypeLogicSwitch,
71
+ NodeSubTypeLoopData,
72
+ NodeSubTypeTimerBusinessHours,
73
+ NodeSubTypeTimerDelay,
74
+ NodeSubTypeTimerSchedule,
75
+ NodeSubTypeTriggerEntityRecordCreated,
76
+ NodeSubTypeTriggerEntityRecordDeleted,
77
+ NodeSubTypeTriggerEntityRecordUpdated,
78
+ NodeSubTypeTriggerEscalation,
79
+ NodeSubTypeTriggerSLABreach,
80
+ NodeSubTypeTriggerSLAWarning,
81
+ NodeSubTypeTriggerStart,
82
+ NodeSubTypeTriggerWebhookReceived,
83
+ NodeTypeAccounting,
84
+ NodeTypeAction,
85
+ NodeTypeAgent,
86
+ NodeTypeCustom,
87
+ NodeTypeData,
88
+ NodeTypeDelay,
89
+ NodeTypeDocumentExtraction,
90
+ NodeTypeHumanAction,
91
+ NodeTypeIntegration,
92
+ NodeTypeLogic,
93
+ NodeTypeLoop,
94
+ NodeTypeParallel,
95
+ NodeTypeSubflow,
96
+ NodeTypeTimer,
97
+ NodeTypeTrigger,
98
+ PersistenceTypeEphemeral,
99
+ PersistenceTypePermanent,
100
+ RuleLevelError,
101
+ RuleLevelInfo,
102
+ RuleLevelWarning,
103
+ TimeoutActionAlt,
104
+ TimeoutActionFail,
105
+ TimeoutActionRetry,
106
+ TimeoutActionSkip,
107
+ WorkflowDefinitionCreate,
108
+ WorkflowDefinitionCreated,
109
+ WorkflowDefinitionDelete,
110
+ WorkflowDefinitionDeleted,
111
+ WorkflowDefinitionGet,
112
+ WorkflowDefinitionGetByTitle,
113
+ WorkflowDefinitionGetServer,
114
+ WorkflowDefinitionList,
115
+ WorkflowDefinitionUpdate,
116
+ WorkflowDefinitionUpdated,
117
+ WorkflowExecutionCompleted,
118
+ WorkflowExecutionFailed,
119
+ WorkflowExecutionStarted,
120
+ WorkflowInstanceCreate,
121
+ WorkflowInstanceExecuteNode,
122
+ WorkflowInstanceExecuteNodeLean,
123
+ WorkflowInstanceExecuteNodeLeanServer,
124
+ WorkflowInstanceExecuteNodeServer,
125
+ WorkflowInstanceGet,
126
+ WorkflowInstanceGetByStateVariable,
127
+ WorkflowInstanceList,
128
+ WorkflowInstanceResumeNode,
129
+ WorkflowInstanceResumeNodeServer,
130
+ WorkflowInstanceUpdate,
131
+ WorkflowInstanceUpdateNodeMetadata,
132
+ WorkflowInstanceUpdated,
133
+ WorkflowScheduleCreate,
134
+ WorkflowScheduleDelete,
135
+ WorkflowScheduleList,
136
+ WorkflowSchedulePause,
137
+ WorkflowScheduleResume,
138
+ WorkflowScheduleUpdate,
139
+ WorkflowTemplateGet,
140
+ WorkflowTemplateInstantiate,
141
+ WorkflowTemplateList,
142
+ WorkflowTriggerFired,
143
+ WorkflowTriggerPause,
144
+ WorkflowTriggerRegister,
145
+ WorkflowTriggerResume,
146
+ WorkflowTriggerStatus,
147
+ WorkflowTypeAgent,
148
+ WorkflowTypeChat,
149
+ WorkflowTypeDocument,
150
+ WorkflowTypeEntity,
151
+ WorkflowTypeProductivity
152
+ } from "./chunk-YCEGKVXP.mjs";
2
153
 
3
154
  // components/dynamic-schema-form.tsx
4
155
  import { useState } from "react";
@@ -993,165 +1144,6 @@ function SchemaBuilder({
993
1144
  ] });
994
1145
  }
995
1146
 
996
- // context/workflow-definition-context.tsx
997
- import { createContext, useContext, useMemo as useMemo2 } from "react";
998
-
999
- // hooks/use-workflow-definition.ts
1000
- import { useNatsContext } from "@elqnt/nats";
1001
- import { useCallback, useEffect } from "react";
1002
- import { useDispatch, useSelector } from "react-redux";
1003
-
1004
- // models/workflow.ts
1005
- var NodeTypeTrigger = "trigger";
1006
- var NodeTypeHumanAction = "humanAction";
1007
- var NodeTypeAgent = "agent";
1008
- var NodeTypeAction = "action";
1009
- var NodeTypeLogic = "logic";
1010
- var NodeTypeLoop = "loop";
1011
- var NodeTypeParallel = "parallel";
1012
- var NodeTypeDelay = "delay";
1013
- var NodeTypeData = "data";
1014
- var NodeTypeIntegration = "integration";
1015
- var NodeTypeTimer = "timer";
1016
- var NodeTypeSubflow = "subflow";
1017
- var NodeTypeCustom = "custom";
1018
- var NodeTypeAccounting = "accounting";
1019
- var NodeSubTypeTriggerStart = "triggerStart";
1020
- var NodeSubTypeTriggerEntityRecordCreated = "triggerEntityRecordCreated";
1021
- var NodeSubTypeTriggerEntityRecordUpdated = "triggerEntityRecordUpdated";
1022
- var NodeSubTypeTriggerEntityRecordDeleted = "triggerEntityRecordDeleted";
1023
- var NodeSubTypeTriggerSLAWarning = "triggerSLAWarning";
1024
- var NodeSubTypeTriggerSLABreach = "triggerSLABreach";
1025
- var NodeSubTypeTriggerEscalation = "triggerEscalation";
1026
- var NodeSubTypeTriggerWebhookReceived = "triggerWebhookReceived";
1027
- var NodeSubTypeHumanActionReview = "humanActionReview";
1028
- var NodeSubTypeHumanActionApproval = "humanActionApproval";
1029
- var NodeSubTypeHumanActionDataEntry = "humanActionDataEntry";
1030
- var NodeSubTypeHumanActionAssignment = "humanActionAssignment";
1031
- var NodeSubTypeAgentChat = "agentChat";
1032
- var NodeSubTypeAgentIntentDetector = "agentIntentDetector";
1033
- var NodeSubTypeAgentKnowledgeGraph = "agentKnowledgeGraph";
1034
- var NodeSubTypeAgentClientApiCall = "clientApiCall";
1035
- var NodeSubTypeAgentTransferToHuman = "agentTransferToHuman";
1036
- var NodeSubTypeAgentOpenTicket = "agentOpenTicket";
1037
- var NodeSubTypeAgentApiIntegration = "agentApiIntegration";
1038
- var NodeSubTypeAgentCustomResponse = "agentCustomResponse";
1039
- var NodeSubTypeAgentStructuredOutput = "agentStructuredOutput";
1040
- var NodeSubTypeActionApiCall = "actionApiCall";
1041
- var NodeSubTypeActionDocumentExtraction = "actionDocumentExtraction";
1042
- var NodeSubTypeActionSendEmail = "actionSendEmail";
1043
- var NodeSubTypeActionSendSMS = "actionSendSMS";
1044
- var NodeSubTypeActionGenerateDocument = "actionGenerateDocument";
1045
- var NodeSubTypeActionProcessPayment = "actionProcessPayment";
1046
- var NodeSubTypeActionCreateEntityRecord = "actionCreateEntityRecord";
1047
- var NodeSubTypeActionUpdateEntityRecord = "actionUpdateEntityRecord";
1048
- var NodeSubTypeActionDeleteEntityRecord = "actionDeleteEntityRecord";
1049
- var NodeSubTypeActionMergeEntityRecords = "actionMergeEntityRecords";
1050
- var NodeSubTypeActionAssignSLAPolicy = "actionAssignSLAPolicy";
1051
- var NodeSubTypeActionChangeSLAStatus = "actionChangeSLAAssignmentStatus";
1052
- var NodeSubTypeActionEscalateSLA = "actionEscalateSLAAssignment";
1053
- var NodeSubTypeActionCSATSurvey = "actionCSATSurvey";
1054
- var NodeSubTypeActionSetVariables = "actionSetVariables";
1055
- var NodeSubTypeActionQueryEntityRecords = "actionQueryEntityRecords";
1056
- var NodeSubTypeActionNatsRequest = "actionNatsRequest";
1057
- var NodeSubTypeLogicIf = "logicIf";
1058
- var NodeSubTypeLogicSwitch = "logicSwitch";
1059
- var NodeSubTypeLogicFor = "logicFor";
1060
- var NodeSubTypeLogicParallel = "logicParallel";
1061
- var NodeSubTypeLoopData = "loopData";
1062
- var NodeSubTypeDelay = "delay";
1063
- var NodeSubTypeDataFilter = "dataFilter";
1064
- var NodeSubTypeDataMap = "dataMap";
1065
- var NodeSubTypeDataCalculate = "dataCalculate";
1066
- var NodeSubTypeDataValidate = "dataValidate";
1067
- var NodeSubTypeTimerDelay = "timerDelay";
1068
- var NodeSubTypeTimerSchedule = "timerSchedule";
1069
- var NodeSubTypeTimerBusinessHours = "timerBusinessHours";
1070
- var ExpressionTypeFilter = "filter";
1071
- var ExpressionTypeJavaScript = "javascript";
1072
- var ExpressionTypeTemplate = "template";
1073
- var ExpressionTypeDSL = "dsl";
1074
- var ExpressionTypeRules = "rules";
1075
- var EdgeTypeNormal = "normal";
1076
- var EdgeTypeLoopBack = "loopBack";
1077
- var EdgeTypeError = "error";
1078
- var EdgeTypeDefault = "default";
1079
- var EdgeTypeParallel = "parallel";
1080
- var EdgeTypeConditional = "conditional";
1081
- var EdgeTypeMerge = "merge";
1082
- var EdgeTypeCompensation = "compensation";
1083
- var EdgeTypeTimeout = "timeout";
1084
- var WorkflowTypeEntity = "entity";
1085
- var WorkflowTypeDocument = "document";
1086
- var WorkflowTypeChat = "chat";
1087
- var WorkflowTypeAgent = "agent";
1088
- var WorkflowTypeProductivity = "productivity";
1089
- var RuleLevelError = "error";
1090
- var RuleLevelWarning = "warning";
1091
- var RuleLevelInfo = "info";
1092
- var PersistenceTypeEphemeral = "ephemeral";
1093
- var PersistenceTypePermanent = "permanent";
1094
- var TimeoutActionFail = "fail";
1095
- var TimeoutActionSkip = "skip";
1096
- var TimeoutActionRetry = "retry";
1097
- var TimeoutActionAlt = "alt";
1098
- var InstanceStatusNew = "NEW";
1099
- var InstanceStatusRunning = "RUNNING";
1100
- var InstanceStatusWaiting = "WAITING";
1101
- var InstanceStatusPaused = "PAUSED";
1102
- var InstanceStatusCompleted = "COMPLETED";
1103
- var InstanceStatusFailed = "FAILED";
1104
- var NodeStatusPending = "PENDING";
1105
- var NodeStatusRunning = "RUNNING";
1106
- var NodeStatusCompleted = "COMPLETED";
1107
- var NodeStatusFailed = "FAILED";
1108
- var NodeStatusWaiting = "WAITING";
1109
- var NodeStatusSkipped = "SKIPPED";
1110
- var EdgeStatusPending = "PENDING";
1111
- var EdgeStatusCompleted = "COMPLETED";
1112
- var EdgeStatusSkipped = "SKIPPED";
1113
-
1114
- // models/subjects.ts
1115
- var WorkflowDefinitionCreate = "workflow.definition.create";
1116
- var WorkflowDefinitionCreated = "workflow.definition.created";
1117
- var WorkflowDefinitionUpdate = "workflow.definition.update";
1118
- var WorkflowDefinitionUpdated = "workflow.definition.updated";
1119
- var WorkflowDefinitionGet = "workflow.definition.get";
1120
- var WorkflowDefinitionGetServer = "workflow.definition.get.server";
1121
- var WorkflowDefinitionGetByTitle = "workflow.definition.get.by.title";
1122
- var WorkflowDefinitionList = "workflow.definition.list";
1123
- var WorkflowDefinitionDelete = "workflow.definition.delete";
1124
- var WorkflowDefinitionDeleted = "workflow.definition.deleted";
1125
- var WorkflowInstanceCreate = "workflow.instance.create";
1126
- var WorkflowInstanceExecuteNode = "workflow.instance.execute.node";
1127
- var WorkflowInstanceResumeNode = "workflow.instance.resume.node";
1128
- var WorkflowInstanceExecuteNodeServer = "workflow.instance.execute.node.server";
1129
- var WorkflowInstanceResumeNodeServer = "workflow.instance.resume.node.server";
1130
- var WorkflowInstanceExecuteNodeLean = "workflow.instance.execute.node.lean";
1131
- var WorkflowInstanceExecuteNodeLeanServer = "workflow.instance.execute.node.lean.server";
1132
- var WorkflowInstanceGet = "workflow.instance.get";
1133
- var WorkflowInstanceList = "workflow.instance.list";
1134
- var WorkflowInstanceUpdate = "workflow.instance.update";
1135
- var WorkflowInstanceUpdated = "workflow.instance.updated";
1136
- var WorkflowInstanceUpdateNodeMetadata = "workflow.instance.update.node.metadata";
1137
- var WorkflowTemplateList = "workflow.template.list";
1138
- var WorkflowTemplateGet = "workflow.template.get";
1139
- var WorkflowTemplateInstantiate = "workflow.template.instantiate";
1140
- var WorkflowScheduleCreate = "workflow.schedule.create";
1141
- var WorkflowScheduleUpdate = "workflow.schedule.update";
1142
- var WorkflowScheduleDelete = "workflow.schedule.delete";
1143
- var WorkflowScheduleList = "workflow.schedule.list";
1144
- var WorkflowSchedulePause = "workflow.schedule.pause";
1145
- var WorkflowScheduleResume = "workflow.schedule.resume";
1146
- var WorkflowTriggerRegister = "workflow.trigger.register";
1147
- var WorkflowTriggerPause = "workflow.trigger.pause";
1148
- var WorkflowTriggerResume = "workflow.trigger.resume";
1149
- var WorkflowTriggerStatus = "workflow.trigger.status";
1150
- var WorkflowTriggerFired = "workflow.trigger.fired";
1151
- var WorkflowExecutionStarted = "workflow.execution.started";
1152
- var WorkflowExecutionCompleted = "workflow.execution.completed";
1153
- var WorkflowExecutionFailed = "workflow.execution.failed";
1154
-
1155
1147
  // store/workflow-definition-slice.ts
1156
1148
  import { createSlice } from "@reduxjs/toolkit";
1157
1149
  var initialState = {
@@ -1221,172 +1213,6 @@ var {
1221
1213
  } = workflowDefinitionSlice.actions;
1222
1214
  var workflowDefinitionReducer = workflowDefinitionSlice.reducer;
1223
1215
 
1224
- // hooks/use-workflow-definition.ts
1225
- function useWorkflowDefinition(orgId, definitionId, options = {}) {
1226
- const { autoLoad } = options;
1227
- const { natsConnected, request } = useNatsContext();
1228
- const dispatch = useDispatch();
1229
- const definitions = useSelector(
1230
- (state) => state.workflowDefinition.definitions
1231
- );
1232
- const selectedDefinition = useSelector(
1233
- (state) => state.workflowDefinition.selectedDefinition
1234
- );
1235
- const isLoading = useSelector(
1236
- (state) => state.workflowDefinition.isLoading
1237
- );
1238
- const loadingStates = useSelector(
1239
- (state) => state.workflowDefinition.loadingStates
1240
- );
1241
- const error = useSelector(
1242
- (state) => state.workflowDefinition.error
1243
- );
1244
- const loadDefinitions = useCallback(async () => {
1245
- if (!natsConnected || !orgId) return;
1246
- const loadingKey = "loadDefinitions";
1247
- if (loadingStates[loadingKey]) return;
1248
- dispatch(setOperationLoading({ operation: loadingKey, loading: true }));
1249
- try {
1250
- const response = await request(WorkflowDefinitionList, { orgId });
1251
- if (response instanceof Error) {
1252
- dispatch(setError(response.message));
1253
- } else {
1254
- dispatch(setDefinitions(response?.definitions ?? []));
1255
- }
1256
- } catch (err) {
1257
- dispatch(setError(err instanceof Error ? err.message : "Unknown error"));
1258
- } finally {
1259
- dispatch(setOperationLoading({ operation: loadingKey, loading: false }));
1260
- }
1261
- }, [natsConnected, orgId, dispatch, request]);
1262
- const loadDefinition = useCallback(
1263
- async (id) => {
1264
- if (!natsConnected || !orgId) return;
1265
- dispatch(setOperationLoading({ operation: `load_${id}`, loading: true }));
1266
- try {
1267
- const response = await request(WorkflowDefinitionGet, { id, orgId });
1268
- if (response instanceof Error) {
1269
- dispatch(setError(response.message));
1270
- return;
1271
- }
1272
- dispatch(setSelectedDefinition(response.definition));
1273
- } finally {
1274
- dispatch(
1275
- setOperationLoading({ operation: `load_${id}`, loading: false })
1276
- );
1277
- }
1278
- },
1279
- [natsConnected, orgId, dispatch, request]
1280
- );
1281
- const resetSelectedDefinition = useCallback(() => {
1282
- dispatch(setSelectedDefinition(void 0));
1283
- }, [dispatch]);
1284
- const createDefinition = async (definition) => {
1285
- if (!natsConnected || !orgId) {
1286
- throw new Error("Not connected or missing orgId");
1287
- }
1288
- dispatch(setOperationLoading({ operation: "create", loading: true }));
1289
- try {
1290
- const response = await request(WorkflowDefinitionCreate, { definition, orgId });
1291
- if (response instanceof Error) {
1292
- throw response;
1293
- }
1294
- if (response.metadata.success) {
1295
- dispatch(addDefinition(response.definition));
1296
- }
1297
- return response;
1298
- } finally {
1299
- dispatch(setOperationLoading({ operation: "create", loading: false }));
1300
- }
1301
- };
1302
- const updateDefinitionById = async (id, definition) => {
1303
- if (!natsConnected || !orgId) {
1304
- throw new Error("Not connected or missing orgId");
1305
- }
1306
- dispatch(setOperationLoading({ operation: `update_${id}`, loading: true }));
1307
- try {
1308
- const response = await request(WorkflowDefinitionUpdate, {
1309
- definition,
1310
- orgId
1311
- });
1312
- if (response instanceof Error) {
1313
- throw response;
1314
- }
1315
- if (response.metadata.success) {
1316
- dispatch(updateDefinition(response.definition));
1317
- }
1318
- return response;
1319
- } finally {
1320
- dispatch(
1321
- setOperationLoading({ operation: `update_${id}`, loading: false })
1322
- );
1323
- }
1324
- };
1325
- const deleteDefinition = async (id) => {
1326
- if (!natsConnected || !orgId) {
1327
- throw new Error("Not connected or missing orgId");
1328
- }
1329
- dispatch(setOperationLoading({ operation: `delete_${id}`, loading: true }));
1330
- try {
1331
- const response = await request(WorkflowDefinitionDelete, { id, orgId });
1332
- if (response instanceof Error) {
1333
- throw response;
1334
- }
1335
- dispatch(removeDefinition(id));
1336
- return response;
1337
- } finally {
1338
- dispatch(
1339
- setOperationLoading({ operation: `delete_${id}`, loading: false })
1340
- );
1341
- }
1342
- };
1343
- const refresh = useCallback(() => {
1344
- if (!natsConnected || !orgId) return;
1345
- if (definitionId) {
1346
- loadDefinition(definitionId);
1347
- } else {
1348
- dispatch(setLoading(true));
1349
- loadDefinitions().finally(() => dispatch(setLoading(false)));
1350
- }
1351
- }, [natsConnected, orgId, definitionId, loadDefinition, dispatch]);
1352
- useEffect(() => {
1353
- let mounted = true;
1354
- if (autoLoad && natsConnected && orgId && mounted) {
1355
- loadDefinitions();
1356
- }
1357
- return () => {
1358
- mounted = false;
1359
- };
1360
- }, [autoLoad, natsConnected, orgId]);
1361
- useEffect(() => {
1362
- if (natsConnected && orgId && definitionId) {
1363
- loadDefinition(definitionId);
1364
- }
1365
- }, [natsConnected, orgId, definitionId, loadDefinition]);
1366
- return {
1367
- // State
1368
- definitions,
1369
- selectedDefinition,
1370
- isLoading,
1371
- loadingStates,
1372
- error,
1373
- // Operations
1374
- loadDefinitions,
1375
- loadDefinition,
1376
- resetSelectedDefinition,
1377
- createDefinition,
1378
- updateDefinition: updateDefinitionById,
1379
- deleteDefinition,
1380
- // Utilities
1381
- refresh
1382
- };
1383
- }
1384
-
1385
- // hooks/use-workflow-instance.ts
1386
- import { useNatsContext as useNatsContext2 } from "@elqnt/nats";
1387
- import { useCallback as useCallback2, useEffect as useEffect2 } from "react";
1388
- import { useDispatch as useDispatch2, useSelector as useSelector2 } from "react-redux";
1389
-
1390
1216
  // store/workflow-instance-slice.ts
1391
1217
  import { createSlice as createSlice2 } from "@reduxjs/toolkit";
1392
1218
  var initialState2 = {
@@ -1442,290 +1268,6 @@ var {
1442
1268
  } = workflowInstanceSlice.actions;
1443
1269
  var workflowInstanceReducer = workflowInstanceSlice.reducer;
1444
1270
 
1445
- // hooks/use-workflow-instance.ts
1446
- function useWorkflowInstance(orgId, instanceId, definitionId, options = {}) {
1447
- const { autoLoad } = options;
1448
- const { natsConnected, request } = useNatsContext2();
1449
- const dispatch = useDispatch2();
1450
- const instances = useSelector2(
1451
- (state) => state.workflowInstance.instances
1452
- );
1453
- const selectedInstance = useSelector2(
1454
- (state) => state.workflowInstance.selectedInstance
1455
- );
1456
- const isLoading = useSelector2(
1457
- (state) => state.workflowInstance.isLoading
1458
- );
1459
- const loadingStates = useSelector2(
1460
- (state) => state.workflowInstance.loadingStates
1461
- );
1462
- const error = useSelector2(
1463
- (state) => state.workflowInstance.error
1464
- );
1465
- const loadInstances = useCallback2(
1466
- async (defId) => {
1467
- if (!natsConnected || !orgId) return;
1468
- const loadingKey = `loadInstances_${defId}`;
1469
- if (loadingStates[loadingKey]) return;
1470
- dispatch(setOperationLoading2({ operation: loadingKey, loading: true }));
1471
- try {
1472
- const response = await request(WorkflowInstanceList, {
1473
- orgId,
1474
- definitionId: defId
1475
- });
1476
- if (response instanceof Error) {
1477
- dispatch(setError2(response.message));
1478
- } else {
1479
- dispatch(setInstances(response?.instances ?? []));
1480
- }
1481
- } catch (err) {
1482
- dispatch(
1483
- setError2(err instanceof Error ? err.message : "Unknown error")
1484
- );
1485
- } finally {
1486
- dispatch(
1487
- setOperationLoading2({ operation: loadingKey, loading: false })
1488
- );
1489
- }
1490
- },
1491
- [natsConnected, orgId, dispatch, request]
1492
- );
1493
- const loadInstance = useCallback2(
1494
- async (id) => {
1495
- if (!natsConnected || !orgId) return;
1496
- dispatch(setOperationLoading2({ operation: `load_${id}`, loading: true }));
1497
- try {
1498
- const response = await request(WorkflowInstanceGet, {
1499
- orgId,
1500
- instanceId: id
1501
- });
1502
- if (response instanceof Error) {
1503
- dispatch(setError2(response.message));
1504
- return;
1505
- }
1506
- dispatch(setSelectedInstance(response.instance));
1507
- } finally {
1508
- dispatch(
1509
- setOperationLoading2({ operation: `load_${id}`, loading: false })
1510
- );
1511
- }
1512
- },
1513
- [natsConnected, orgId, dispatch, request]
1514
- );
1515
- const doSetSelectedInstance = useCallback2(
1516
- (instance) => {
1517
- dispatch(setSelectedInstance(instance));
1518
- },
1519
- [dispatch]
1520
- );
1521
- const getInstance = async (id) => {
1522
- const response = await request(WorkflowInstanceGet, {
1523
- orgId: orgId ?? "",
1524
- instanceId: id
1525
- });
1526
- return response;
1527
- };
1528
- const createInstance = async (defId, variables) => {
1529
- if (!natsConnected || !orgId) {
1530
- throw new Error("Not connected or missing orgId");
1531
- }
1532
- dispatch(setOperationLoading2({ operation: "create", loading: true }));
1533
- try {
1534
- const response = await request(WorkflowInstanceCreate, {
1535
- orgId,
1536
- definitionId: defId,
1537
- variables: variables ?? {},
1538
- autoExecute: true
1539
- });
1540
- if (response instanceof Error) {
1541
- throw response;
1542
- }
1543
- if (response.metadata.success && response.instance) {
1544
- dispatch(updateInstance(response.instance));
1545
- }
1546
- return response;
1547
- } finally {
1548
- dispatch(setOperationLoading2({ operation: "create", loading: false }));
1549
- }
1550
- };
1551
- const executeNode = async (instId, nodeId, input) => {
1552
- if (!natsConnected || !orgId) {
1553
- throw new Error("Not connected or missing orgId");
1554
- }
1555
- dispatch(
1556
- setOperationLoading2({ operation: `execute_${nodeId}`, loading: true })
1557
- );
1558
- try {
1559
- const response = await request(WorkflowInstanceExecuteNode, {
1560
- orgId,
1561
- instanceId: instId,
1562
- nodeId,
1563
- input
1564
- });
1565
- if (response instanceof Error) {
1566
- throw response;
1567
- }
1568
- if (response.metadata.success && response.instance) {
1569
- dispatch(updateInstance(response.instance));
1570
- }
1571
- return response;
1572
- } finally {
1573
- dispatch(
1574
- setOperationLoading2({ operation: `execute_${nodeId}`, loading: false })
1575
- );
1576
- }
1577
- };
1578
- const updateInstanceNodeMetadata = async (instanceId2, nodeId, metadataKey, payload) => {
1579
- if (!natsConnected || !orgId) {
1580
- throw new Error("Not connected or missing orgId");
1581
- }
1582
- dispatch(
1583
- setOperationLoading2({ operation: `update_${nodeId}`, loading: true })
1584
- );
1585
- try {
1586
- const response = await request(WorkflowInstanceUpdateNodeMetadata, {
1587
- orgId,
1588
- instanceId: instanceId2,
1589
- nodeId,
1590
- metadataKey,
1591
- payload
1592
- });
1593
- if (response instanceof Error) {
1594
- throw response;
1595
- }
1596
- if (response.metadata.success && response.instance) {
1597
- dispatch(updateInstance(response.instance));
1598
- }
1599
- return response;
1600
- } finally {
1601
- dispatch(
1602
- setOperationLoading2({ operation: `update_${nodeId}`, loading: false })
1603
- );
1604
- }
1605
- };
1606
- const resumeInstanceNode = async (instanceId2, nodeId, result) => {
1607
- if (!natsConnected || !orgId) {
1608
- throw new Error("Not connected or missing orgId");
1609
- }
1610
- dispatch(
1611
- setOperationLoading2({ operation: `update_${nodeId}`, loading: true })
1612
- );
1613
- try {
1614
- const response = await request(WorkflowInstanceResumeNode, {
1615
- orgId,
1616
- instanceId: instanceId2,
1617
- nodeId,
1618
- result
1619
- });
1620
- if (response instanceof Error) {
1621
- throw response;
1622
- }
1623
- if (response.metadata.success && response.instance) {
1624
- dispatch(updateInstance(response.instance));
1625
- }
1626
- return response;
1627
- } finally {
1628
- dispatch(
1629
- setOperationLoading2({ operation: `update_${nodeId}`, loading: false })
1630
- );
1631
- }
1632
- };
1633
- const refresh = useCallback2(() => {
1634
- if (!natsConnected || !orgId) return;
1635
- if (instanceId) {
1636
- loadInstance(instanceId);
1637
- } else if (definitionId) {
1638
- dispatch(setLoading2(true));
1639
- loadInstances(definitionId).finally(() => dispatch(setLoading2(false)));
1640
- }
1641
- }, [natsConnected, orgId, instanceId, definitionId, loadInstance, dispatch]);
1642
- useEffect2(() => {
1643
- let mounted = true;
1644
- if (autoLoad && natsConnected && orgId && mounted) {
1645
- if (instanceId) {
1646
- loadInstance(instanceId);
1647
- } else if (definitionId) {
1648
- loadInstances(definitionId);
1649
- }
1650
- }
1651
- return () => {
1652
- mounted = false;
1653
- };
1654
- }, [autoLoad, natsConnected, orgId, instanceId, definitionId]);
1655
- return {
1656
- // State
1657
- instances,
1658
- selectedInstance,
1659
- doSetSelectedInstance,
1660
- isLoading,
1661
- loadingStates,
1662
- error,
1663
- // Operations
1664
- loadInstances,
1665
- loadInstance,
1666
- getInstance,
1667
- createInstance,
1668
- executeNode,
1669
- updateInstanceNodeMetadata,
1670
- resumeInstanceNode,
1671
- // Utilities
1672
- refresh
1673
- };
1674
- }
1675
-
1676
- // context/workflow-definition-context.tsx
1677
- import { jsx as jsx3 } from "react/jsx-runtime";
1678
- var WorkflowDefinitionContext = createContext(void 0);
1679
- function WorkflowDefinitionProvider({
1680
- children,
1681
- orgId,
1682
- definitionId,
1683
- options = {}
1684
- }) {
1685
- const hookValue = useWorkflowDefinition(orgId, definitionId, options);
1686
- const value = useMemo2(() => hookValue, [hookValue]);
1687
- return /* @__PURE__ */ jsx3(WorkflowDefinitionContext.Provider, { value, children });
1688
- }
1689
- function useWorkflowDefinitionContext() {
1690
- const context = useContext(WorkflowDefinitionContext);
1691
- if (!context) {
1692
- throw new Error(
1693
- "useWorkflowDefinitionContext must be used within an WorkflowDefinitionProvider"
1694
- );
1695
- }
1696
- return context;
1697
- }
1698
-
1699
- // context/workflow-instance-context.tsx
1700
- import { createContext as createContext2, useContext as useContext2, useMemo as useMemo3 } from "react";
1701
- import { jsx as jsx4 } from "react/jsx-runtime";
1702
- var WorkflowInstanceContext = createContext2(void 0);
1703
- function WorkflowInstanceProvider({
1704
- children,
1705
- orgId,
1706
- instanceId,
1707
- definitionId,
1708
- options = {}
1709
- }) {
1710
- const hookValue = useWorkflowInstance(
1711
- orgId,
1712
- instanceId,
1713
- definitionId,
1714
- options
1715
- );
1716
- const value = useMemo3(() => hookValue, [hookValue]);
1717
- return /* @__PURE__ */ jsx4(WorkflowInstanceContext.Provider, { value, children });
1718
- }
1719
- function useWorkflowInstanceContext() {
1720
- const context = useContext2(WorkflowInstanceContext);
1721
- if (!context) {
1722
- throw new Error(
1723
- "useWorkflowInstanceContext must be used within an WorkflowInstanceProvider"
1724
- );
1725
- }
1726
- return context;
1727
- }
1728
-
1729
1271
  // schema/schemas.ts
1730
1272
  var nodeDefinitions = {
1731
1273
  "actionAIClassify": {
@@ -4726,6 +4268,7 @@ export {
4726
4268
  NodeTypeCustom,
4727
4269
  NodeTypeData,
4728
4270
  NodeTypeDelay,
4271
+ NodeTypeDocumentExtraction,
4729
4272
  NodeTypeHumanAction,
4730
4273
  NodeTypeIntegration,
4731
4274
  NodeTypeLogic,
@@ -4747,7 +4290,6 @@ export {
4747
4290
  TimeoutActionSkip,
4748
4291
  TimerNodeSubTypes,
4749
4292
  TriggerNodeSubTypes,
4750
- WorkflowDefinitionContext,
4751
4293
  WorkflowDefinitionCreate,
4752
4294
  WorkflowDefinitionCreated,
4753
4295
  WorkflowDefinitionDelete,
@@ -4756,22 +4298,20 @@ export {
4756
4298
  WorkflowDefinitionGetByTitle,
4757
4299
  WorkflowDefinitionGetServer,
4758
4300
  WorkflowDefinitionList,
4759
- WorkflowDefinitionProvider,
4760
4301
  WorkflowDefinitionUpdate,
4761
4302
  WorkflowDefinitionUpdated,
4762
4303
  WorkflowEdgeTypes,
4763
4304
  WorkflowExecutionCompleted,
4764
4305
  WorkflowExecutionFailed,
4765
4306
  WorkflowExecutionStarted,
4766
- WorkflowInstanceContext,
4767
4307
  WorkflowInstanceCreate,
4768
4308
  WorkflowInstanceExecuteNode,
4769
4309
  WorkflowInstanceExecuteNodeLean,
4770
4310
  WorkflowInstanceExecuteNodeLeanServer,
4771
4311
  WorkflowInstanceExecuteNodeServer,
4772
4312
  WorkflowInstanceGet,
4313
+ WorkflowInstanceGetByStateVariable,
4773
4314
  WorkflowInstanceList,
4774
- WorkflowInstanceProvider,
4775
4315
  WorkflowInstanceResumeNode,
4776
4316
  WorkflowInstanceResumeNodeServer,
4777
4317
  WorkflowInstanceUpdate,
@@ -4800,10 +4340,6 @@ export {
4800
4340
  WorkflowTypes,
4801
4341
  nodeDefinitions,
4802
4342
  nodeSchemas,
4803
- useWorkflowDefinition,
4804
- useWorkflowDefinitionContext,
4805
- useWorkflowInstance,
4806
- useWorkflowInstanceContext,
4807
4343
  workflowDefinitionReducer,
4808
4344
  workflowInstanceReducer
4809
4345
  };