@ai-setting/roy-agent-core 1.6.13 → 1.6.14

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.
@@ -10,7 +10,7 @@ import {
10
10
  larkCliHandler,
11
11
  resolveBountyIMSystemPrompt,
12
12
  timerHandler
13
- } from "../../shared/@ai-setting/roy-agent-core-2b4078kz.js";
13
+ } from "../../shared/@ai-setting/roy-agent-core-px8ghk4g.js";
14
14
  import {
15
15
  BUILT_IN_EVENT_SOURCE_TYPES,
16
16
  BUILT_IN_EVENT_SOURCE_TYPE_LIST,
@@ -21,10 +21,12 @@ import {
21
21
  validateEventSourceConfig
22
22
  } from "../../shared/@ai-setting/roy-agent-core-ds5f75pg.js";
23
23
  import"../../shared/@ai-setting/roy-agent-core-xxgazz27.js";
24
- import"../../shared/@ai-setting/roy-agent-core-deqpzcg7.js";
24
+ import"../../shared/@ai-setting/roy-agent-core-m0cnmg7b.js";
25
25
  import"../../shared/@ai-setting/roy-agent-core-az13yzmc.js";
26
- import"../../shared/@ai-setting/roy-agent-core-wjve1qr5.js";
27
- import"../../shared/@ai-setting/roy-agent-core-vcjq65nz.js";
26
+ import"../../shared/@ai-setting/roy-agent-core-80e4a3g5.js";
27
+ import"../../shared/@ai-setting/roy-agent-core-mmb9484f.js";
28
+ import"../../shared/@ai-setting/roy-agent-core-jrj30vq3.js";
29
+ import"../../shared/@ai-setting/roy-agent-core-e25xkv53.js";
28
30
  import"../../shared/@ai-setting/roy-agent-core-apz6v22z.js";
29
31
  import"../../shared/@ai-setting/roy-agent-core-1pg0fepg.js";
30
32
  import"../../shared/@ai-setting/roy-agent-core-7hh0brvs.js";
package/dist/env/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  BaseEnvironment
3
- } from "../shared/@ai-setting/roy-agent-core-0pbmweh4.js";
3
+ } from "../shared/@ai-setting/roy-agent-core-st9y9z07.js";
4
4
  import {
5
5
  EventSourceComponent,
6
6
  builtInHandlers,
7
7
  larkCliHandler
8
- } from "../shared/@ai-setting/roy-agent-core-2b4078kz.js";
8
+ } from "../shared/@ai-setting/roy-agent-core-px8ghk4g.js";
9
9
  import {
10
10
  EventSourceInitHooks,
11
11
  getDefaultConfigForType,
@@ -17,25 +17,25 @@ import"../shared/@ai-setting/roy-agent-core-xxgazz27.js";
17
17
  import {
18
18
  PluginComponent
19
19
  } from "../shared/@ai-setting/roy-agent-core-80bdhnwk.js";
20
- import"../shared/@ai-setting/roy-agent-core-deqpzcg7.js";
20
+ import"../shared/@ai-setting/roy-agent-core-m0cnmg7b.js";
21
21
  import"../shared/@ai-setting/roy-agent-core-az13yzmc.js";
22
22
  import {
23
23
  WorkflowComponent
24
- } from "../shared/@ai-setting/roy-agent-core-v77pp20w.js";
24
+ } from "../shared/@ai-setting/roy-agent-core-ra4y7e4p.js";
25
25
  import"../shared/@ai-setting/roy-agent-core-htjag2nr.js";
26
- import"../shared/@ai-setting/roy-agent-core-0crh2g0m.js";
26
+ import"../shared/@ai-setting/roy-agent-core-nhncpbzz.js";
27
27
  import"../shared/@ai-setting/roy-agent-core-6atd905e.js";
28
28
  import"../shared/@ai-setting/roy-agent-core-24rmf17n.js";
29
- import"../shared/@ai-setting/roy-agent-core-w22tzjj5.js";
29
+ import"../shared/@ai-setting/roy-agent-core-psfkwe4g.js";
30
30
  import"../shared/@ai-setting/roy-agent-core-ddwa0n6h.js";
31
31
  import"../shared/@ai-setting/roy-agent-core-hhrg314p.js";
32
32
  import"../shared/@ai-setting/roy-agent-core-resnbd2j.js";
33
- import"../shared/@ai-setting/roy-agent-core-qnrf2aw6.js";
34
- import"../shared/@ai-setting/roy-agent-core-8cbsjkkx.js";
33
+ import"../shared/@ai-setting/roy-agent-core-r53regz9.js";
35
34
  import"../shared/@ai-setting/roy-agent-core-1db4vpc6.js";
36
35
  import"../shared/@ai-setting/roy-agent-core-ywtmc0bh.js";
37
- import"../shared/@ai-setting/roy-agent-core-wjve1qr5.js";
38
- import"../shared/@ai-setting/roy-agent-core-vcjq65nz.js";
36
+ import"../shared/@ai-setting/roy-agent-core-80e4a3g5.js";
37
+ import"../shared/@ai-setting/roy-agent-core-mmb9484f.js";
38
+ import"../shared/@ai-setting/roy-agent-core-jrj30vq3.js";
39
39
  import"../shared/@ai-setting/roy-agent-core-h0x19xgn.js";
40
40
  import"../shared/@ai-setting/roy-agent-core-1ce3fqrk.js";
41
41
  import {
@@ -8,10 +8,12 @@ import {
8
8
  formatExtractorInput,
9
9
  formatExtractorInputFromDescription,
10
10
  parseExtractorOutput
11
- } from "../../../shared/@ai-setting/roy-agent-core-deqpzcg7.js";
11
+ } from "../../../shared/@ai-setting/roy-agent-core-m0cnmg7b.js";
12
12
  import"../../../shared/@ai-setting/roy-agent-core-az13yzmc.js";
13
- import"../../../shared/@ai-setting/roy-agent-core-wjve1qr5.js";
14
- import"../../../shared/@ai-setting/roy-agent-core-vcjq65nz.js";
13
+ import"../../../shared/@ai-setting/roy-agent-core-80e4a3g5.js";
14
+ import"../../../shared/@ai-setting/roy-agent-core-mmb9484f.js";
15
+ import"../../../shared/@ai-setting/roy-agent-core-jrj30vq3.js";
16
+ import"../../../shared/@ai-setting/roy-agent-core-e25xkv53.js";
15
17
  import"../../../shared/@ai-setting/roy-agent-core-apz6v22z.js";
16
18
  import"../../../shared/@ai-setting/roy-agent-core-1pg0fepg.js";
17
19
  import"../../../shared/@ai-setting/roy-agent-core-9hqqhye6.js";
@@ -5,17 +5,17 @@ import {
5
5
  Scheduler,
6
6
  WorkflowEngine,
7
7
  init_engine
8
- } from "../../../shared/@ai-setting/roy-agent-core-0crh2g0m.js";
8
+ } from "../../../shared/@ai-setting/roy-agent-core-nhncpbzz.js";
9
9
  import"../../../shared/@ai-setting/roy-agent-core-6atd905e.js";
10
10
  import"../../../shared/@ai-setting/roy-agent-core-24rmf17n.js";
11
- import"../../../shared/@ai-setting/roy-agent-core-w22tzjj5.js";
11
+ import"../../../shared/@ai-setting/roy-agent-core-psfkwe4g.js";
12
12
  import"../../../shared/@ai-setting/roy-agent-core-ddwa0n6h.js";
13
13
  import"../../../shared/@ai-setting/roy-agent-core-resnbd2j.js";
14
- import"../../../shared/@ai-setting/roy-agent-core-qnrf2aw6.js";
15
14
  import"../../../shared/@ai-setting/roy-agent-core-1db4vpc6.js";
16
15
  import {
17
16
  DAGManager
18
- } from "../../../shared/@ai-setting/roy-agent-core-vcjq65nz.js";
17
+ } from "../../../shared/@ai-setting/roy-agent-core-mmb9484f.js";
18
+ import"../../../shared/@ai-setting/roy-agent-core-jrj30vq3.js";
19
19
  import"../../../shared/@ai-setting/roy-agent-core-e25xkv53.js";
20
20
  import"../../../shared/@ai-setting/roy-agent-core-dbkkjmqz.js";
21
21
  import"../../../shared/@ai-setting/roy-agent-core-9hqqhye6.js";
@@ -1,14 +1,19 @@
1
1
  import {
2
2
  WorkflowComponent
3
- } from "../../shared/@ai-setting/roy-agent-core-v77pp20w.js";
3
+ } from "../../shared/@ai-setting/roy-agent-core-ra4y7e4p.js";
4
4
  import"../../shared/@ai-setting/roy-agent-core-htjag2nr.js";
5
- import"../../shared/@ai-setting/roy-agent-core-0crh2g0m.js";
5
+ import"../../shared/@ai-setting/roy-agent-core-nhncpbzz.js";
6
6
  import"../../shared/@ai-setting/roy-agent-core-6atd905e.js";
7
7
  import"../../shared/@ai-setting/roy-agent-core-24rmf17n.js";
8
- import"../../shared/@ai-setting/roy-agent-core-w22tzjj5.js";
8
+ import"../../shared/@ai-setting/roy-agent-core-psfkwe4g.js";
9
9
  import"../../shared/@ai-setting/roy-agent-core-ddwa0n6h.js";
10
10
  import"../../shared/@ai-setting/roy-agent-core-hhrg314p.js";
11
11
  import"../../shared/@ai-setting/roy-agent-core-resnbd2j.js";
12
+ import"../../shared/@ai-setting/roy-agent-core-r53regz9.js";
13
+ import"../../shared/@ai-setting/roy-agent-core-1db4vpc6.js";
14
+ import"../../shared/@ai-setting/roy-agent-core-ywtmc0bh.js";
15
+ import"../../shared/@ai-setting/roy-agent-core-80e4a3g5.js";
16
+ import"../../shared/@ai-setting/roy-agent-core-mmb9484f.js";
12
17
  import {
13
18
  BaseEventSchema,
14
19
  ControlPauseEventSchema,
@@ -17,6 +22,7 @@ import {
17
22
  DependsOnSchema,
18
23
  EdgeDefinitionSchema,
19
24
  InputParameterSchema,
25
+ LoopGuardConfigSchema,
20
26
  NodeAddedEventSchema,
21
27
  NodeCompletedEventSchema,
22
28
  NodeDataEventSchema,
@@ -59,12 +65,7 @@ import {
59
65
  parseWorkflowFileSync,
60
66
  pathNotFound,
61
67
  unresolvedVariable
62
- } from "../../shared/@ai-setting/roy-agent-core-qnrf2aw6.js";
63
- import"../../shared/@ai-setting/roy-agent-core-8cbsjkkx.js";
64
- import"../../shared/@ai-setting/roy-agent-core-1db4vpc6.js";
65
- import"../../shared/@ai-setting/roy-agent-core-ywtmc0bh.js";
66
- import"../../shared/@ai-setting/roy-agent-core-wjve1qr5.js";
67
- import"../../shared/@ai-setting/roy-agent-core-vcjq65nz.js";
68
+ } from "../../shared/@ai-setting/roy-agent-core-jrj30vq3.js";
68
69
  import {
69
70
  Edge,
70
71
  NodeAs,
@@ -153,6 +154,7 @@ export {
153
154
  NodeCompletedEventSchema,
154
155
  NodeAs,
155
156
  NodeAddedEventSchema,
157
+ LoopGuardConfigSchema,
156
158
  InputParameterSchema,
157
159
  EdgeDefinitionSchema,
158
160
  Edge,
@@ -24,7 +24,7 @@ import {
24
24
  getRunWorkflowTool,
25
25
  initRunWorkflowTool,
26
26
  resetRunWorkflowTool
27
- } from "../../../shared/@ai-setting/roy-agent-core-8cbsjkkx.js";
27
+ } from "../../../shared/@ai-setting/roy-agent-core-r53regz9.js";
28
28
  import {
29
29
  WORKFLOW_SUBMIT_OUTPUT_TOOL_NAME,
30
30
  WorkflowJsonOutputMarker,
@@ -33,8 +33,9 @@ import {
33
33
  parseWorkflowJsonOutput
34
34
  } from "../../../shared/@ai-setting/roy-agent-core-1db4vpc6.js";
35
35
  import"../../../shared/@ai-setting/roy-agent-core-ywtmc0bh.js";
36
- import"../../../shared/@ai-setting/roy-agent-core-wjve1qr5.js";
37
- import"../../../shared/@ai-setting/roy-agent-core-vcjq65nz.js";
36
+ import"../../../shared/@ai-setting/roy-agent-core-80e4a3g5.js";
37
+ import"../../../shared/@ai-setting/roy-agent-core-mmb9484f.js";
38
+ import"../../../shared/@ai-setting/roy-agent-core-jrj30vq3.js";
38
39
  import"../../../shared/@ai-setting/roy-agent-core-e25xkv53.js";
39
40
  import"../../../shared/@ai-setting/roy-agent-core-c1v263jn.js";
40
41
  import"../../../shared/@ai-setting/roy-agent-core-nw39k111.js";
@@ -6,6 +6,7 @@ import {
6
6
  DependsOnSchema,
7
7
  EdgeDefinitionSchema,
8
8
  InputParameterSchema,
9
+ LoopGuardConfigSchema,
9
10
  NodeAddedEventSchema,
10
11
  NodeCompletedEventSchema,
11
12
  NodeDataEventSchema,
@@ -48,7 +49,7 @@ import {
48
49
  parseWorkflowFileSync,
49
50
  pathNotFound,
50
51
  unresolvedVariable
51
- } from "../../../shared/@ai-setting/roy-agent-core-qnrf2aw6.js";
52
+ } from "../../../shared/@ai-setting/roy-agent-core-jrj30vq3.js";
52
53
  import {
53
54
  AskUserError,
54
55
  createNodeInterruptEvent,
@@ -101,6 +102,7 @@ export {
101
102
  NodeDataEventSchema,
102
103
  NodeCompletedEventSchema,
103
104
  NodeAddedEventSchema,
105
+ LoopGuardConfigSchema,
104
106
  InputParameterSchema,
105
107
  EdgeDefinitionSchema,
106
108
  DependsOnSchema,
@@ -3,16 +3,16 @@ import {
3
3
  init_template_resolver,
4
4
  resolveTemplateString,
5
5
  resolveTemplates
6
- } from "../../../shared/@ai-setting/roy-agent-core-w22tzjj5.js";
6
+ } from "../../../shared/@ai-setting/roy-agent-core-psfkwe4g.js";
7
7
  import {
8
8
  getFromMapWithNormalization,
9
9
  init_node_id_utils
10
10
  } from "../../../shared/@ai-setting/roy-agent-core-ddwa0n6h.js";
11
- import"../../../shared/@ai-setting/roy-agent-core-qnrf2aw6.js";
12
11
  import {
13
12
  validateWorkflowDefinition
14
- } from "../../../shared/@ai-setting/roy-agent-core-wjve1qr5.js";
15
- import"../../../shared/@ai-setting/roy-agent-core-vcjq65nz.js";
13
+ } from "../../../shared/@ai-setting/roy-agent-core-80e4a3g5.js";
14
+ import"../../../shared/@ai-setting/roy-agent-core-mmb9484f.js";
15
+ import"../../../shared/@ai-setting/roy-agent-core-jrj30vq3.js";
16
16
  import"../../../shared/@ai-setting/roy-agent-core-e25xkv53.js";
17
17
  import {
18
18
  TracedAs,
package/dist/index.js CHANGED
@@ -63,7 +63,7 @@ import {
63
63
  BaseEnvironment,
64
64
  generateDescendingId,
65
65
  generateId
66
- } from "./shared/@ai-setting/roy-agent-core-0pbmweh4.js";
66
+ } from "./shared/@ai-setting/roy-agent-core-st9y9z07.js";
67
67
  import {
68
68
  BountyIMInstance,
69
69
  EventSourceComponent,
@@ -75,7 +75,7 @@ import {
75
75
  larkCliHandler,
76
76
  resolveBountyIMSystemPrompt,
77
77
  timerHandler
78
- } from "./shared/@ai-setting/roy-agent-core-2b4078kz.js";
78
+ } from "./shared/@ai-setting/roy-agent-core-px8ghk4g.js";
79
79
  import {
80
80
  BUILT_IN_EVENT_SOURCE_TYPES,
81
81
  BUILT_IN_EVENT_SOURCE_TYPE_LIST,
@@ -95,30 +95,30 @@ import {
95
95
  import {
96
96
  TaskTagPlugin,
97
97
  createAutoTaskPlugin
98
- } from "./shared/@ai-setting/roy-agent-core-deqpzcg7.js";
98
+ } from "./shared/@ai-setting/roy-agent-core-m0cnmg7b.js";
99
99
  import {
100
100
  BasePlugin
101
101
  } from "./shared/@ai-setting/roy-agent-core-az13yzmc.js";
102
102
  import {
103
103
  WorkflowComponent
104
- } from "./shared/@ai-setting/roy-agent-core-v77pp20w.js";
104
+ } from "./shared/@ai-setting/roy-agent-core-ra4y7e4p.js";
105
105
  import {
106
106
  init_node_registry_helper,
107
107
  registerDecoratorNodeType
108
108
  } from "./shared/@ai-setting/roy-agent-core-htjag2nr.js";
109
- import"./shared/@ai-setting/roy-agent-core-0crh2g0m.js";
109
+ import"./shared/@ai-setting/roy-agent-core-nhncpbzz.js";
110
110
  import"./shared/@ai-setting/roy-agent-core-6atd905e.js";
111
111
  import"./shared/@ai-setting/roy-agent-core-24rmf17n.js";
112
- import"./shared/@ai-setting/roy-agent-core-w22tzjj5.js";
112
+ import"./shared/@ai-setting/roy-agent-core-psfkwe4g.js";
113
113
  import"./shared/@ai-setting/roy-agent-core-ddwa0n6h.js";
114
114
  import"./shared/@ai-setting/roy-agent-core-hhrg314p.js";
115
115
  import"./shared/@ai-setting/roy-agent-core-resnbd2j.js";
116
- import"./shared/@ai-setting/roy-agent-core-qnrf2aw6.js";
117
- import"./shared/@ai-setting/roy-agent-core-8cbsjkkx.js";
116
+ import"./shared/@ai-setting/roy-agent-core-r53regz9.js";
118
117
  import"./shared/@ai-setting/roy-agent-core-1db4vpc6.js";
119
118
  import"./shared/@ai-setting/roy-agent-core-ywtmc0bh.js";
120
- import"./shared/@ai-setting/roy-agent-core-wjve1qr5.js";
121
- import"./shared/@ai-setting/roy-agent-core-vcjq65nz.js";
119
+ import"./shared/@ai-setting/roy-agent-core-80e4a3g5.js";
120
+ import"./shared/@ai-setting/roy-agent-core-mmb9484f.js";
121
+ import"./shared/@ai-setting/roy-agent-core-jrj30vq3.js";
122
122
  import {
123
123
  Edge,
124
124
  NodeAs,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DAGManager,
3
3
  init_dag_manager
4
- } from "./roy-agent-core-vcjq65nz.js";
4
+ } from "./roy-agent-core-mmb9484f.js";
5
5
 
6
6
  // src/env/workflow/utils/validate-workflow-definition.ts
7
7
  init_dag_manager();
@@ -68,7 +68,7 @@ function parseWorkflowFileSync(content, filename) {
68
68
  definition
69
69
  };
70
70
  }
71
- var DependsOnSchema, RetryConfigSchema, NodeDefinitionSchema, WorkflowConfigSchema, OutputDefinitionSchema, InputParameterSchema, WorkflowInputsSchema, WorkflowMetadataSchema, WorkflowDefinitionSchema, yamlParser = null;
71
+ var DependsOnSchema, RetryConfigSchema, LoopGuardConfigSchema, NodeDefinitionSchema, WorkflowConfigSchema, OutputDefinitionSchema, InputParameterSchema, WorkflowInputsSchema, WorkflowMetadataSchema, WorkflowDefinitionSchema, yamlParser = null;
72
72
  var init_workflow = __esm(() => {
73
73
  init_edge();
74
74
  DependsOnSchema = z2.array(z2.string());
@@ -77,6 +77,14 @@ var init_workflow = __esm(() => {
77
77
  backoff: z2.enum(["fixed", "exponential"]).default("exponential"),
78
78
  initial_delay: z2.number().min(0).default(1000)
79
79
  });
80
+ LoopGuardConfigSchema = z2.object({
81
+ type: z2.literal("value_unchanged"),
82
+ previous_signal: z2.string().min(1, "previous_signal must be a non-empty template path"),
83
+ current_signal_command: z2.string().min(1, "current_signal_command must be a non-empty shell command"),
84
+ cwd: z2.string().optional(),
85
+ max_consecutive_no_progress: z2.number().int().min(1).default(1),
86
+ fail_message: z2.string().optional()
87
+ });
80
88
  NodeDefinitionSchema = z2.object({
81
89
  id: z2.string().min(1, "Node ID is required"),
82
90
  type: z2.string().min(1, "Node type is required"),
@@ -86,6 +94,29 @@ var init_workflow = __esm(() => {
86
94
  condition: z2.string().optional(),
87
95
  retry: RetryConfigSchema.optional(),
88
96
  timeout: z2.number().optional()
97
+ }).superRefine((value, ctx) => {
98
+ const config = value.config ?? {};
99
+ if (Object.prototype.hasOwnProperty.call(config, "loop_guard")) {
100
+ const parsed = LoopGuardConfigSchema.safeParse(config.loop_guard);
101
+ if (!parsed.success) {
102
+ for (const issue of parsed.error.issues) {
103
+ ctx.addIssue({
104
+ code: z2.ZodIssueCode.custom,
105
+ path: ["config", "loop_guard", ...issue.path ?? []],
106
+ message: issue.message
107
+ });
108
+ }
109
+ }
110
+ }
111
+ }).transform((value) => {
112
+ const config = value.config ?? {};
113
+ if (Object.prototype.hasOwnProperty.call(config, "loop_guard")) {
114
+ const parsed = LoopGuardConfigSchema.safeParse(config.loop_guard);
115
+ if (parsed.success) {
116
+ value.config = { ...config, loop_guard: parsed.data };
117
+ }
118
+ }
119
+ return value;
89
120
  });
90
121
  WorkflowConfigSchema = z2.object({
91
122
  parallel_limit: z2.number().nullable().optional(),
@@ -438,4 +469,4 @@ var init_types = __esm(() => {
438
469
  init_run();
439
470
  });
440
471
 
441
- export { BaseEventSchema, WorkflowStartedEventSchema, WorkflowPausedEventSchema, WorkflowResumedEventSchema, WorkflowStoppedEventSchema, WorkflowCompletedEventSchema, WorkflowFailedEventSchema, WorkflowOutputEventSchema, NodeScheduledEventSchema, NodeStartedEventSchema, NodeProgressEventSchema, NodeCompletedEventSchema, NodeFailedEventSchema, NodeSkippedEventSchema, NodeDataEventSchema, NodeAddedEventSchema, NodeRemovedEventSchema, ControlPauseEventSchema, ControlResumeEventSchema, ControlStopEventSchema, NodeInterruptEventSchema, WorkflowAskUserEventSchema, WorkflowEventSchema, createWorkflowEvent, init_event, EdgeDefinitionSchema, DependsOnSchema, RetryConfigSchema, NodeDefinitionSchema, WorkflowConfigSchema, OutputDefinitionSchema, InputParameterSchema, WorkflowInputsSchema, WorkflowMetadataSchema, WorkflowDefinitionSchema, parseWorkflowFile, parseWorkflowFileSync, WorkflowMessageRoleSchema, isWorkflowSessionMetadata, getWorkflowSessionStatus, RunStatusSchema, NodeStatusSchema, createNodeExecutionContext, WorkflowError, TemplateUnresolvedError, WorkflowValidationError, nodeNotFound, pathNotFound, unresolvedVariable, init_workflow_error, init_types };
472
+ export { EdgeDefinitionSchema, DependsOnSchema, RetryConfigSchema, LoopGuardConfigSchema, NodeDefinitionSchema, WorkflowConfigSchema, OutputDefinitionSchema, InputParameterSchema, WorkflowInputsSchema, WorkflowMetadataSchema, WorkflowDefinitionSchema, parseWorkflowFile, parseWorkflowFileSync, WorkflowMessageRoleSchema, isWorkflowSessionMetadata, getWorkflowSessionStatus, BaseEventSchema, WorkflowStartedEventSchema, WorkflowPausedEventSchema, WorkflowResumedEventSchema, WorkflowStoppedEventSchema, WorkflowCompletedEventSchema, WorkflowFailedEventSchema, WorkflowOutputEventSchema, NodeScheduledEventSchema, NodeStartedEventSchema, NodeProgressEventSchema, NodeCompletedEventSchema, NodeFailedEventSchema, NodeSkippedEventSchema, NodeDataEventSchema, NodeAddedEventSchema, NodeRemovedEventSchema, ControlPauseEventSchema, ControlResumeEventSchema, ControlStopEventSchema, NodeInterruptEventSchema, WorkflowAskUserEventSchema, WorkflowEventSchema, createWorkflowEvent, init_event, RunStatusSchema, NodeStatusSchema, createNodeExecutionContext, WorkflowError, TemplateUnresolvedError, WorkflowValidationError, nodeNotFound, pathNotFound, unresolvedVariable, init_workflow_error, init_types };
@@ -3,7 +3,7 @@ import {
3
3
  } from "./roy-agent-core-az13yzmc.js";
4
4
  import {
5
5
  validateWorkflowDefinition
6
- } from "./roy-agent-core-wjve1qr5.js";
6
+ } from "./roy-agent-core-80e4a3g5.js";
7
7
  import {
8
8
  WORKFLOW_EXTRACT_PROMPT
9
9
  } from "./roy-agent-core-apz6v22z.js";
@@ -1,3 +1,7 @@
1
+ import {
2
+ LoopGuardConfigSchema,
3
+ init_types
4
+ } from "./roy-agent-core-jrj30vq3.js";
1
5
  import {
2
6
  TracedAs,
3
7
  init_decorator
@@ -10,6 +14,7 @@ import {
10
14
  // src/env/workflow/engine/dag-manager.ts
11
15
  var DAGManager;
12
16
  var init_dag_manager = __esm(() => {
17
+ init_types();
13
18
  init_decorator();
14
19
  DAGManager = class DAGManager {
15
20
  workflow;
@@ -403,6 +408,23 @@ var init_dag_manager = __esm(() => {
403
408
  getNode(nodeId) {
404
409
  return this.nodeMap.get(nodeId);
405
410
  }
411
+ getLoopGuard(nodeId) {
412
+ const node = this.nodeMap.get(nodeId);
413
+ if (!node)
414
+ return;
415
+ const config = node.config ?? {};
416
+ if (!Object.prototype.hasOwnProperty.call(config, "loop_guard")) {
417
+ return;
418
+ }
419
+ const raw = config.loop_guard;
420
+ if (raw === null || raw === undefined)
421
+ return;
422
+ const parsed = LoopGuardConfigSchema.safeParse(raw);
423
+ if (!parsed.success) {
424
+ return;
425
+ }
426
+ return parsed.data;
427
+ }
406
428
  getNodeIds() {
407
429
  return Array.from(this.nodeMap.keys());
408
430
  }
@@ -11,7 +11,7 @@ import {
11
11
  import {
12
12
  TemplateResolver,
13
13
  init_template_resolver
14
- } from "./roy-agent-core-w22tzjj5.js";
14
+ } from "./roy-agent-core-psfkwe4g.js";
15
15
  import {
16
16
  PythonCallNode,
17
17
  SkillNode,
@@ -22,13 +22,6 @@ import {
22
22
  init_tool_node,
23
23
  init_workflow_node
24
24
  } from "./roy-agent-core-resnbd2j.js";
25
- import {
26
- WorkflowError,
27
- createWorkflowEvent,
28
- init_event,
29
- init_types,
30
- init_workflow_error
31
- } from "./roy-agent-core-qnrf2aw6.js";
32
25
  import {
33
26
  WORKFLOW_SUBMIT_OUTPUT_TOOL_NAME,
34
27
  init_json_schema_to_zod,
@@ -40,7 +33,14 @@ import {
40
33
  import {
41
34
  DAGManager,
42
35
  init_dag_manager
43
- } from "./roy-agent-core-vcjq65nz.js";
36
+ } from "./roy-agent-core-mmb9484f.js";
37
+ import {
38
+ WorkflowError,
39
+ createWorkflowEvent,
40
+ init_event,
41
+ init_types,
42
+ init_workflow_error
43
+ } from "./roy-agent-core-jrj30vq3.js";
44
44
  import {
45
45
  AskUserError,
46
46
  createNodeInterruptEvent,
@@ -7,7 +7,7 @@ import {
7
7
  nodeNotFound,
8
8
  pathNotFound,
9
9
  unresolvedVariable
10
- } from "./roy-agent-core-qnrf2aw6.js";
10
+ } from "./roy-agent-core-jrj30vq3.js";
11
11
  import {
12
12
  TracedAs,
13
13
  init_decorator
@@ -81,25 +81,104 @@ var init_template_resolver = __esm(() => {
81
81
  const value = this.resolveTemplateContent(templateContent);
82
82
  return value;
83
83
  }
84
- resolveTemplateContent(templateContent) {
85
- const trimmed = templateContent.trim();
86
- if (trimmed.startsWith("input.")) {
87
- return this.getNestedValue(this.input, trimmed.slice(6));
84
+ resolvePath(path) {
85
+ if (typeof path !== "string")
86
+ return;
87
+ const trimmed = path.trim();
88
+ if (trimmed === "")
89
+ return;
90
+ let inner = trimmed;
91
+ if (inner.startsWith("{{") && inner.endsWith("}}")) {
92
+ inner = inner.slice(2, -2).trim();
88
93
  }
89
- if (trimmed.startsWith("inputs.")) {
90
- return this.getNestedValue(this.input, trimmed.slice(7));
94
+ if (inner === "")
95
+ return;
96
+ return this.resolveTemplateContent(inner);
97
+ }
98
+ tokenizePath(path) {
99
+ const tokens = [];
100
+ const re = /([^.\[\]]+)|\[(-?\d+)\]/g;
101
+ let m;
102
+ while ((m = re.exec(path)) !== null) {
103
+ if (m[1] !== undefined) {
104
+ tokens.push(m[1]);
105
+ } else if (m[2] !== undefined) {
106
+ tokens.push(parseInt(m[2], 10));
107
+ }
91
108
  }
92
- if (trimmed.startsWith("nodes.")) {
93
- return this.resolveNodePath(trimmed.slice(6));
109
+ return tokens;
110
+ }
111
+ navigateTokens(root, tokens) {
112
+ let current = root;
113
+ for (const token of tokens) {
114
+ if (current === null || current === undefined)
115
+ return;
116
+ if (typeof token === "number") {
117
+ if (!Array.isArray(current))
118
+ return;
119
+ const idx = token < 0 ? current.length + token : token;
120
+ if (idx < 0 || idx >= current.length)
121
+ return;
122
+ current = current[idx];
123
+ } else {
124
+ if (typeof current !== "object")
125
+ return;
126
+ current = current[token];
127
+ }
128
+ }
129
+ return current;
130
+ }
131
+ resolveTemplateContent(templateContent) {
132
+ const trimmed = templateContent.trim();
133
+ const tokens = this.tokenizePath(trimmed);
134
+ if (tokens.length === 0)
135
+ return;
136
+ const head = tokens[0];
137
+ if (head === "input" || head === "inputs") {
138
+ const rest = tokens.slice(1);
139
+ if (rest.length === 0)
140
+ return this.input;
141
+ return this.navigateTokens(this.input, rest);
142
+ }
143
+ if (head === "nodes") {
144
+ const rest = tokens.slice(1);
145
+ if (rest.length === 0)
146
+ return;
147
+ const nodeId = rest[0];
148
+ if (typeof nodeId !== "string")
149
+ return;
150
+ const nodeValue = getFromMapWithNormalization(this.previousOutputs, nodeId);
151
+ if (nodeValue === undefined)
152
+ return;
153
+ const pathTokens = rest.slice(1);
154
+ if (pathTokens.length === 0)
155
+ return this.unwrapAgentNodeResult(nodeValue);
156
+ if (pathTokens[0] === "output") {
157
+ if (pathTokens.length === 1) {
158
+ return this.unwrapAgentNodeResult(nodeValue);
159
+ }
160
+ return this.navigateTokens(nodeValue, pathTokens.slice(1));
161
+ }
162
+ return this.navigateTokens(nodeValue, pathTokens);
94
163
  }
95
- if (trimmed !== "input" && trimmed !== "inputs" && trimmed !== "nodes") {
96
- const segments = trimmed.split(".");
97
- const nodeId = segments[0];
98
- const restPath = segments.slice(1).join(".") || undefined;
99
- return this.resolveNodePath(`${nodeId}${restPath ? "." + restPath : ""}`);
164
+ if (typeof head === "string" && head !== "nodes") {
165
+ const nodeId = head;
166
+ const nodeValue = getFromMapWithNormalization(this.previousOutputs, nodeId);
167
+ if (nodeValue === undefined)
168
+ return;
169
+ const pathTokens = tokens.slice(1);
170
+ if (pathTokens.length === 0)
171
+ return this.unwrapAgentNodeResult(nodeValue);
172
+ return this.navigateTokens(nodeValue, pathTokens);
100
173
  }
101
174
  return;
102
175
  }
176
+ unwrapAgentNodeResult(value) {
177
+ if (value && typeof value === "object" && "result" in value && !("nodes" in value)) {
178
+ return value.result;
179
+ }
180
+ return value;
181
+ }
103
182
  resolveString(template) {
104
183
  if (!template || typeof template !== "string") {
105
184
  return template;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  TaskTagPlugin,
3
3
  createLarkCliTaskNotifyHook
4
- } from "./roy-agent-core-deqpzcg7.js";
4
+ } from "./roy-agent-core-m0cnmg7b.js";
5
5
  import {
6
6
  envKeyToConfigKey
7
7
  } from "./roy-agent-core-7hh0brvs.js";
@@ -4,7 +4,7 @@ import {
4
4
  } from "./roy-agent-core-ywtmc0bh.js";
5
5
  import {
6
6
  validateWorkflowDefinition
7
- } from "./roy-agent-core-wjve1qr5.js";
7
+ } from "./roy-agent-core-80e4a3g5.js";
8
8
  import {
9
9
  AskUserError,
10
10
  init_workflow_hil
@@ -6,7 +6,7 @@ import {
6
6
  WorkflowEngine,
7
7
  exports_engine,
8
8
  init_engine
9
- } from "./roy-agent-core-0crh2g0m.js";
9
+ } from "./roy-agent-core-nhncpbzz.js";
10
10
  import {
11
11
  askUserTool,
12
12
  createRunWorkflowTool,
@@ -18,7 +18,7 @@ import {
18
18
  createWorkflowSearchTool,
19
19
  createWorkflowTagListTool,
20
20
  createWorkflowValidateTool
21
- } from "./roy-agent-core-8cbsjkkx.js";
21
+ } from "./roy-agent-core-r53regz9.js";
22
22
  import {
23
23
  WorkflowService
24
24
  } from "./roy-agent-core-ywtmc0bh.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createAutoTaskPlugin
3
- } from "./roy-agent-core-deqpzcg7.js";
3
+ } from "./roy-agent-core-m0cnmg7b.js";
4
4
  import {
5
5
  ContextError,
6
6
  ErrorCodes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-setting/roy-agent-core",
3
- "version": "1.6.13",
3
+ "version": "1.6.14",
4
4
  "type": "module",
5
5
  "description": "Core SDK for roy-agent - Environment, Components, Tools, Sessions, Tasks",
6
6
  "main": "./dist/index.js",