@agentforge4j/workflow-builder-react 0.2.1 → 0.2.2

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.d.cts CHANGED
@@ -188,4 +188,150 @@ declare class WorkflowParseError extends Error {
188
188
  declare function serializeWorkflowJson(workflow: WorkflowDefinition): string;
189
189
  declare function parseWorkflowJson(text: string): WorkflowDefinition;
190
190
 
191
- export { type AgentRef, type BuilderAction, type BuilderActions, type BuilderAdapters, type BuilderCapabilities, type BuilderState, type BuilderTheme, type ExportFormat, type UseBuilderStateResult, type ValidationIssue, type ValidationResult, WorkflowBuilder, type WorkflowBuilderProps, type WorkflowDefinition, WorkflowParseError, builderReducer, WorkflowBuilder as default, parseWorkflowJson, serializeWorkflowJson, useBuilderState, validateWorkflow };
191
+ type NodeKind = 'ASK_USER' | 'AI_STEP' | 'AI_DEBATE' | 'DECISION' | 'REPEAT' | 'REUSE_WORKFLOW' | 'LOAD_RESOURCE' | 'STOP' | 'RETRY' | 'SAVE_RESULT';
192
+ type NodeKindMeta = {
193
+ label: string;
194
+ description: string;
195
+ iconGlyph: string;
196
+ advanced?: boolean;
197
+ };
198
+ declare const NODE_KIND_META: Record<NodeKind, NodeKindMeta>;
199
+
200
+ type LoopTerminationStrategy = 'AGENT_SIGNAL' | 'EVALUATOR' | 'FIXED_COUNT' | 'FOR_EACH';
201
+ type MaxIterationsActionUi = 'AWAIT_USER' | 'FAIL';
202
+ type ArtifactItemDraft = {
203
+ id: string;
204
+ type: EditableArtifactItem['type'];
205
+ label: string;
206
+ key: string;
207
+ required: boolean;
208
+ options?: string[];
209
+ };
210
+ type AskUserNodeData = {
211
+ name: string;
212
+ question: string;
213
+ artifactItems: ArtifactItemDraft[];
214
+ };
215
+ type AiStepNodeData = {
216
+ name: string;
217
+ agentRef: string;
218
+ instructions: string;
219
+ transition: StepTransition;
220
+ maxRetries: number;
221
+ };
222
+ type AiDebateNodeData = {
223
+ name: string;
224
+ primaryAgentRef: string;
225
+ challengerAgentRef: string;
226
+ maxRounds: number;
227
+ resolutionPrompt: string;
228
+ transition: StepTransition;
229
+ };
230
+ type DecisionCaseDraft = {
231
+ label: string;
232
+ value: string;
233
+ targetNodeId: string;
234
+ };
235
+ type DecisionNodeData = {
236
+ name: string;
237
+ contextKey: string;
238
+ cases: DecisionCaseDraft[];
239
+ defaultTargetNodeId: string;
240
+ };
241
+ type RepeatNodeData = {
242
+ name: string;
243
+ strategy: LoopTerminationStrategy;
244
+ maxIterations: number;
245
+ forEachKey?: string;
246
+ evaluatorAgentId?: string;
247
+ maxIterationsAction: MaxIterationsActionUi;
248
+ bodyNodeIds: string[];
249
+ };
250
+ type SaveResultNodeData = {
251
+ name: string;
252
+ resultName: string;
253
+ };
254
+ type ReuseWorkflowNodeData = {
255
+ name: string;
256
+ workflowRef: string;
257
+ transition: StepTransition;
258
+ };
259
+ type LoadResourceNodeData = {
260
+ name: string;
261
+ resourcePath: string;
262
+ resultName: string;
263
+ transition: StepTransition;
264
+ };
265
+ type StopNodeData = {
266
+ name: string;
267
+ reason: string;
268
+ };
269
+ type RetryNodeData = {
270
+ name: string;
271
+ targetNodeId: string;
272
+ maxAttempts: number;
273
+ fallbackTargetNodeId: string;
274
+ retryMode: 'SINGLE_STEP' | 'FROM_STEP';
275
+ };
276
+ type CanvasNodeBase = {
277
+ id: string;
278
+ backendStepId?: string;
279
+ position: {
280
+ x: number;
281
+ y: number;
282
+ };
283
+ parentNode?: string;
284
+ };
285
+ type CanvasNode = (CanvasNodeBase & {
286
+ kind: 'ASK_USER';
287
+ data: AskUserNodeData;
288
+ }) | (CanvasNodeBase & {
289
+ kind: 'AI_STEP';
290
+ data: AiStepNodeData;
291
+ }) | (CanvasNodeBase & {
292
+ kind: 'AI_DEBATE';
293
+ data: AiDebateNodeData;
294
+ }) | (CanvasNodeBase & {
295
+ kind: 'DECISION';
296
+ data: DecisionNodeData;
297
+ }) | (CanvasNodeBase & {
298
+ kind: 'REPEAT';
299
+ data: RepeatNodeData;
300
+ }) | (CanvasNodeBase & {
301
+ kind: 'SAVE_RESULT';
302
+ data: SaveResultNodeData;
303
+ }) | (CanvasNodeBase & {
304
+ kind: 'REUSE_WORKFLOW';
305
+ data: ReuseWorkflowNodeData;
306
+ }) | (CanvasNodeBase & {
307
+ kind: 'LOAD_RESOURCE';
308
+ data: LoadResourceNodeData;
309
+ }) | (CanvasNodeBase & {
310
+ kind: 'STOP';
311
+ data: StopNodeData;
312
+ }) | (CanvasNodeBase & {
313
+ kind: 'RETRY';
314
+ data: RetryNodeData;
315
+ });
316
+ type CanvasEdge = {
317
+ id: string;
318
+ source: string;
319
+ target: string;
320
+ sourceHandle?: string | null;
321
+ label?: string | null;
322
+ };
323
+ type BlueprintDefinition = Record<string, unknown>;
324
+ type CanvasModel = {
325
+ workflowId: string;
326
+ workflowName: string;
327
+ description: string;
328
+ startNodeId: string | null;
329
+ nodes: CanvasNode[];
330
+ edges: CanvasEdge[];
331
+ artifacts: Record<string, EditableArtifact>;
332
+ blueprints: Record<string, BlueprintDefinition>;
333
+ unsupported?: boolean;
334
+ unsupportedReasons?: string[];
335
+ };
336
+
337
+ export { type AgentRef, type BuilderAction, type BuilderActions, type BuilderAdapters, type BuilderCapabilities, type BuilderState, type BuilderTheme, type CanvasModel, type ExportFormat, NODE_KIND_META, type NodeKind, type UseBuilderStateResult, type ValidationIssue, type ValidationResult, WorkflowBuilder, type WorkflowBuilderProps, type WorkflowDefinition, WorkflowParseError, builderReducer, WorkflowBuilder as default, parseWorkflowJson, serializeWorkflowJson, useBuilderState, validateWorkflow };
package/dist/index.d.ts CHANGED
@@ -188,4 +188,150 @@ declare class WorkflowParseError extends Error {
188
188
  declare function serializeWorkflowJson(workflow: WorkflowDefinition): string;
189
189
  declare function parseWorkflowJson(text: string): WorkflowDefinition;
190
190
 
191
- export { type AgentRef, type BuilderAction, type BuilderActions, type BuilderAdapters, type BuilderCapabilities, type BuilderState, type BuilderTheme, type ExportFormat, type UseBuilderStateResult, type ValidationIssue, type ValidationResult, WorkflowBuilder, type WorkflowBuilderProps, type WorkflowDefinition, WorkflowParseError, builderReducer, WorkflowBuilder as default, parseWorkflowJson, serializeWorkflowJson, useBuilderState, validateWorkflow };
191
+ type NodeKind = 'ASK_USER' | 'AI_STEP' | 'AI_DEBATE' | 'DECISION' | 'REPEAT' | 'REUSE_WORKFLOW' | 'LOAD_RESOURCE' | 'STOP' | 'RETRY' | 'SAVE_RESULT';
192
+ type NodeKindMeta = {
193
+ label: string;
194
+ description: string;
195
+ iconGlyph: string;
196
+ advanced?: boolean;
197
+ };
198
+ declare const NODE_KIND_META: Record<NodeKind, NodeKindMeta>;
199
+
200
+ type LoopTerminationStrategy = 'AGENT_SIGNAL' | 'EVALUATOR' | 'FIXED_COUNT' | 'FOR_EACH';
201
+ type MaxIterationsActionUi = 'AWAIT_USER' | 'FAIL';
202
+ type ArtifactItemDraft = {
203
+ id: string;
204
+ type: EditableArtifactItem['type'];
205
+ label: string;
206
+ key: string;
207
+ required: boolean;
208
+ options?: string[];
209
+ };
210
+ type AskUserNodeData = {
211
+ name: string;
212
+ question: string;
213
+ artifactItems: ArtifactItemDraft[];
214
+ };
215
+ type AiStepNodeData = {
216
+ name: string;
217
+ agentRef: string;
218
+ instructions: string;
219
+ transition: StepTransition;
220
+ maxRetries: number;
221
+ };
222
+ type AiDebateNodeData = {
223
+ name: string;
224
+ primaryAgentRef: string;
225
+ challengerAgentRef: string;
226
+ maxRounds: number;
227
+ resolutionPrompt: string;
228
+ transition: StepTransition;
229
+ };
230
+ type DecisionCaseDraft = {
231
+ label: string;
232
+ value: string;
233
+ targetNodeId: string;
234
+ };
235
+ type DecisionNodeData = {
236
+ name: string;
237
+ contextKey: string;
238
+ cases: DecisionCaseDraft[];
239
+ defaultTargetNodeId: string;
240
+ };
241
+ type RepeatNodeData = {
242
+ name: string;
243
+ strategy: LoopTerminationStrategy;
244
+ maxIterations: number;
245
+ forEachKey?: string;
246
+ evaluatorAgentId?: string;
247
+ maxIterationsAction: MaxIterationsActionUi;
248
+ bodyNodeIds: string[];
249
+ };
250
+ type SaveResultNodeData = {
251
+ name: string;
252
+ resultName: string;
253
+ };
254
+ type ReuseWorkflowNodeData = {
255
+ name: string;
256
+ workflowRef: string;
257
+ transition: StepTransition;
258
+ };
259
+ type LoadResourceNodeData = {
260
+ name: string;
261
+ resourcePath: string;
262
+ resultName: string;
263
+ transition: StepTransition;
264
+ };
265
+ type StopNodeData = {
266
+ name: string;
267
+ reason: string;
268
+ };
269
+ type RetryNodeData = {
270
+ name: string;
271
+ targetNodeId: string;
272
+ maxAttempts: number;
273
+ fallbackTargetNodeId: string;
274
+ retryMode: 'SINGLE_STEP' | 'FROM_STEP';
275
+ };
276
+ type CanvasNodeBase = {
277
+ id: string;
278
+ backendStepId?: string;
279
+ position: {
280
+ x: number;
281
+ y: number;
282
+ };
283
+ parentNode?: string;
284
+ };
285
+ type CanvasNode = (CanvasNodeBase & {
286
+ kind: 'ASK_USER';
287
+ data: AskUserNodeData;
288
+ }) | (CanvasNodeBase & {
289
+ kind: 'AI_STEP';
290
+ data: AiStepNodeData;
291
+ }) | (CanvasNodeBase & {
292
+ kind: 'AI_DEBATE';
293
+ data: AiDebateNodeData;
294
+ }) | (CanvasNodeBase & {
295
+ kind: 'DECISION';
296
+ data: DecisionNodeData;
297
+ }) | (CanvasNodeBase & {
298
+ kind: 'REPEAT';
299
+ data: RepeatNodeData;
300
+ }) | (CanvasNodeBase & {
301
+ kind: 'SAVE_RESULT';
302
+ data: SaveResultNodeData;
303
+ }) | (CanvasNodeBase & {
304
+ kind: 'REUSE_WORKFLOW';
305
+ data: ReuseWorkflowNodeData;
306
+ }) | (CanvasNodeBase & {
307
+ kind: 'LOAD_RESOURCE';
308
+ data: LoadResourceNodeData;
309
+ }) | (CanvasNodeBase & {
310
+ kind: 'STOP';
311
+ data: StopNodeData;
312
+ }) | (CanvasNodeBase & {
313
+ kind: 'RETRY';
314
+ data: RetryNodeData;
315
+ });
316
+ type CanvasEdge = {
317
+ id: string;
318
+ source: string;
319
+ target: string;
320
+ sourceHandle?: string | null;
321
+ label?: string | null;
322
+ };
323
+ type BlueprintDefinition = Record<string, unknown>;
324
+ type CanvasModel = {
325
+ workflowId: string;
326
+ workflowName: string;
327
+ description: string;
328
+ startNodeId: string | null;
329
+ nodes: CanvasNode[];
330
+ edges: CanvasEdge[];
331
+ artifacts: Record<string, EditableArtifact>;
332
+ blueprints: Record<string, BlueprintDefinition>;
333
+ unsupported?: boolean;
334
+ unsupportedReasons?: string[];
335
+ };
336
+
337
+ export { type AgentRef, type BuilderAction, type BuilderActions, type BuilderAdapters, type BuilderCapabilities, type BuilderState, type BuilderTheme, type CanvasModel, type ExportFormat, NODE_KIND_META, type NodeKind, type UseBuilderStateResult, type ValidationIssue, type ValidationResult, WorkflowBuilder, type WorkflowBuilderProps, type WorkflowDefinition, WorkflowParseError, builderReducer, WorkflowBuilder as default, parseWorkflowJson, serializeWorkflowJson, useBuilderState, validateWorkflow };
package/dist/index.js CHANGED
@@ -3526,6 +3526,7 @@ function WorkflowBuilder({
3526
3526
  ] });
3527
3527
  }
3528
3528
  export {
3529
+ NODE_KIND_META,
3529
3530
  WorkflowBuilder,
3530
3531
  WorkflowParseError,
3531
3532
  builderReducer,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentforge4j/workflow-builder-react",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "private": false,
5
5
  "description": "Reusable React workflow builder for AgentForge4j",
6
6
  "license": "Apache-2.0",