@ai-setting/roy-agent-core 1.5.64 → 1.5.65

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.
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  AgentComponent,
3
3
  AgentComponentConfigSchema
4
- } from "../../shared/@ai-setting/roy-agent-core-kap6q69x.js";
5
- import"../../shared/@ai-setting/roy-agent-core-ecaptews.js";
4
+ } from "../../shared/@ai-setting/roy-agent-core-marga2es.js";
5
+ import"../../shared/@ai-setting/roy-agent-core-ecth1zak.js";
6
6
  import"../../shared/@ai-setting/roy-agent-core-e25xkv53.js";
7
7
  import"../../shared/@ai-setting/roy-agent-core-nx3c3ce2.js";
8
8
  import"../../shared/@ai-setting/roy-agent-core-qxnbvgwe.js";
package/dist/env/index.js CHANGED
@@ -21,15 +21,16 @@ import"../shared/@ai-setting/roy-agent-core-xp8xrxgc.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-70gt0tp0.js";
25
- import"../shared/@ai-setting/roy-agent-core-0jc06hhg.js";
26
- import"../shared/@ai-setting/roy-agent-core-v4g5ntf2.js";
24
+ } from "../shared/@ai-setting/roy-agent-core-1yaa58cp.js";
25
+ import"../shared/@ai-setting/roy-agent-core-fjexv5nm.js";
26
+ import"../shared/@ai-setting/roy-agent-core-56xsjjyw.js";
27
27
  import"../shared/@ai-setting/roy-agent-core-zgtmazxg.js";
28
28
  import"../shared/@ai-setting/roy-agent-core-6d5v531t.js";
29
29
  import"../shared/@ai-setting/roy-agent-core-6atd905e.js";
30
- import"../shared/@ai-setting/roy-agent-core-bcpp60ww.js";
30
+ import"../shared/@ai-setting/roy-agent-core-99j4w3fx.js";
31
+ import"../shared/@ai-setting/roy-agent-core-ddwa0n6h.js";
31
32
  import"../shared/@ai-setting/roy-agent-core-4t40mkpv.js";
32
- import"../shared/@ai-setting/roy-agent-core-9r8pew8y.js";
33
+ import"../shared/@ai-setting/roy-agent-core-ajx32wzj.js";
33
34
  import"../shared/@ai-setting/roy-agent-core-qnrf2aw6.js";
34
35
  import"../shared/@ai-setting/roy-agent-core-0vbdz0x7.js";
35
36
  import"../shared/@ai-setting/roy-agent-core-nhfy3p8q.js";
@@ -38,8 +39,8 @@ import"../shared/@ai-setting/roy-agent-core-1ce3fqrk.js";
38
39
  import {
39
40
  AgentComponent,
40
41
  AgentComponentConfigSchema
41
- } from "../shared/@ai-setting/roy-agent-core-kap6q69x.js";
42
- import"../shared/@ai-setting/roy-agent-core-ecaptews.js";
42
+ } from "../shared/@ai-setting/roy-agent-core-marga2es.js";
43
+ import"../shared/@ai-setting/roy-agent-core-ecth1zak.js";
43
44
  import"../shared/@ai-setting/roy-agent-core-e25xkv53.js";
44
45
  import {
45
46
  TaskComponent
@@ -8,13 +8,13 @@ import {
8
8
  ProviderCapabilitiesSchema,
9
9
  ProviderConfigSchema,
10
10
  ProviderManager
11
- } from "../../shared/@ai-setting/roy-agent-core-zv2hwptv.js";
11
+ } from "../../shared/@ai-setting/roy-agent-core-qskhsjmc.js";
12
12
  import {
13
13
  createInvokeConfig,
14
14
  invoke,
15
15
  invokeNonStream,
16
16
  parseModelString
17
- } from "../../shared/@ai-setting/roy-agent-core-ecaptews.js";
17
+ } from "../../shared/@ai-setting/roy-agent-core-ecth1zak.js";
18
18
  import"../../shared/@ai-setting/roy-agent-core-ctdhjv68.js";
19
19
  import"../../shared/@ai-setting/roy-agent-core-qxhq8ven.js";
20
20
  import"../../shared/@ai-setting/roy-agent-core-rgckng3p.js";
@@ -6,12 +6,13 @@ import {
6
6
  Scheduler,
7
7
  WorkflowEngine,
8
8
  init_engine
9
- } from "../../../shared/@ai-setting/roy-agent-core-v4g5ntf2.js";
9
+ } from "../../../shared/@ai-setting/roy-agent-core-56xsjjyw.js";
10
10
  import"../../../shared/@ai-setting/roy-agent-core-zgtmazxg.js";
11
11
  import"../../../shared/@ai-setting/roy-agent-core-6d5v531t.js";
12
12
  import"../../../shared/@ai-setting/roy-agent-core-6atd905e.js";
13
- import"../../../shared/@ai-setting/roy-agent-core-bcpp60ww.js";
14
- import"../../../shared/@ai-setting/roy-agent-core-9r8pew8y.js";
13
+ import"../../../shared/@ai-setting/roy-agent-core-99j4w3fx.js";
14
+ import"../../../shared/@ai-setting/roy-agent-core-ddwa0n6h.js";
15
+ import"../../../shared/@ai-setting/roy-agent-core-ajx32wzj.js";
15
16
  import"../../../shared/@ai-setting/roy-agent-core-qnrf2aw6.js";
16
17
  import"../../../shared/@ai-setting/roy-agent-core-nhfy3p8q.js";
17
18
  import"../../../shared/@ai-setting/roy-agent-core-e25xkv53.js";
@@ -1,14 +1,15 @@
1
1
  import {
2
2
  WorkflowComponent
3
- } from "../../shared/@ai-setting/roy-agent-core-70gt0tp0.js";
4
- import"../../shared/@ai-setting/roy-agent-core-0jc06hhg.js";
5
- import"../../shared/@ai-setting/roy-agent-core-v4g5ntf2.js";
3
+ } from "../../shared/@ai-setting/roy-agent-core-1yaa58cp.js";
4
+ import"../../shared/@ai-setting/roy-agent-core-fjexv5nm.js";
5
+ import"../../shared/@ai-setting/roy-agent-core-56xsjjyw.js";
6
6
  import"../../shared/@ai-setting/roy-agent-core-zgtmazxg.js";
7
7
  import"../../shared/@ai-setting/roy-agent-core-6d5v531t.js";
8
8
  import"../../shared/@ai-setting/roy-agent-core-6atd905e.js";
9
- import"../../shared/@ai-setting/roy-agent-core-bcpp60ww.js";
9
+ import"../../shared/@ai-setting/roy-agent-core-99j4w3fx.js";
10
+ import"../../shared/@ai-setting/roy-agent-core-ddwa0n6h.js";
10
11
  import"../../shared/@ai-setting/roy-agent-core-4t40mkpv.js";
11
- import"../../shared/@ai-setting/roy-agent-core-9r8pew8y.js";
12
+ import"../../shared/@ai-setting/roy-agent-core-ajx32wzj.js";
12
13
  import {
13
14
  BaseEventSchema,
14
15
  ControlPauseEventSchema,
@@ -5,7 +5,7 @@ import {
5
5
  init_skill_node,
6
6
  init_tool_node,
7
7
  init_workflow_node
8
- } from "../../../shared/@ai-setting/roy-agent-core-9r8pew8y.js";
8
+ } from "../../../shared/@ai-setting/roy-agent-core-ajx32wzj.js";
9
9
  import"../../../shared/@ai-setting/roy-agent-core-k05v31rc.js";
10
10
  import"../../../shared/@ai-setting/roy-agent-core-shme7set.js";
11
11
  import"../../../shared/@ai-setting/roy-agent-core-7z9b1fm8.js";
@@ -3,7 +3,11 @@ import {
3
3
  init_template_resolver,
4
4
  resolveTemplateString,
5
5
  resolveTemplates
6
- } from "../../../shared/@ai-setting/roy-agent-core-bcpp60ww.js";
6
+ } from "../../../shared/@ai-setting/roy-agent-core-99j4w3fx.js";
7
+ import {
8
+ getFromMapWithNormalization,
9
+ init_node_id_utils
10
+ } from "../../../shared/@ai-setting/roy-agent-core-ddwa0n6h.js";
7
11
  import"../../../shared/@ai-setting/roy-agent-core-qnrf2aw6.js";
8
12
  import"../../../shared/@ai-setting/roy-agent-core-e25xkv53.js";
9
13
  import {
@@ -19,6 +23,7 @@ import {
19
23
 
20
24
  // src/env/workflow/utils/index.ts
21
25
  init_template_resolver();
26
+ init_node_id_utils();
22
27
 
23
28
  // src/env/workflow/utils/recovery-validator.ts
24
29
  init_decorator();
@@ -448,6 +453,7 @@ __legacyDecorateClassTS([
448
453
  export {
449
454
  resolveTemplates,
450
455
  resolveTemplateString,
456
+ getFromMapWithNormalization,
451
457
  ValidationErrorType,
452
458
  TemplateResolver,
453
459
  SuggestedAction,
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@ import {
11
11
  ModelLimitsSchema,
12
12
  ProviderCapabilitiesSchema,
13
13
  ProviderConfigSchema
14
- } from "./shared/@ai-setting/roy-agent-core-zv2hwptv.js";
14
+ } from "./shared/@ai-setting/roy-agent-core-qskhsjmc.js";
15
15
  import {
16
16
  ConfigComponent
17
17
  } from "./shared/@ai-setting/roy-agent-core-prdngx28.js";
@@ -89,18 +89,19 @@ import {
89
89
  } from "./shared/@ai-setting/roy-agent-core-az13yzmc.js";
90
90
  import {
91
91
  WorkflowComponent
92
- } from "./shared/@ai-setting/roy-agent-core-70gt0tp0.js";
92
+ } from "./shared/@ai-setting/roy-agent-core-1yaa58cp.js";
93
93
  import {
94
94
  init_node_registry_helper,
95
95
  registerDecoratorNodeType
96
- } from "./shared/@ai-setting/roy-agent-core-0jc06hhg.js";
97
- import"./shared/@ai-setting/roy-agent-core-v4g5ntf2.js";
96
+ } from "./shared/@ai-setting/roy-agent-core-fjexv5nm.js";
97
+ import"./shared/@ai-setting/roy-agent-core-56xsjjyw.js";
98
98
  import"./shared/@ai-setting/roy-agent-core-zgtmazxg.js";
99
99
  import"./shared/@ai-setting/roy-agent-core-6d5v531t.js";
100
100
  import"./shared/@ai-setting/roy-agent-core-6atd905e.js";
101
- import"./shared/@ai-setting/roy-agent-core-bcpp60ww.js";
101
+ import"./shared/@ai-setting/roy-agent-core-99j4w3fx.js";
102
+ import"./shared/@ai-setting/roy-agent-core-ddwa0n6h.js";
102
103
  import"./shared/@ai-setting/roy-agent-core-4t40mkpv.js";
103
- import"./shared/@ai-setting/roy-agent-core-9r8pew8y.js";
104
+ import"./shared/@ai-setting/roy-agent-core-ajx32wzj.js";
104
105
  import"./shared/@ai-setting/roy-agent-core-qnrf2aw6.js";
105
106
  import"./shared/@ai-setting/roy-agent-core-0vbdz0x7.js";
106
107
  import"./shared/@ai-setting/roy-agent-core-nhfy3p8q.js";
@@ -115,13 +116,13 @@ import"./shared/@ai-setting/roy-agent-core-1ce3fqrk.js";
115
116
  import {
116
117
  AgentComponent,
117
118
  AgentComponentConfigSchema
118
- } from "./shared/@ai-setting/roy-agent-core-kap6q69x.js";
119
+ } from "./shared/@ai-setting/roy-agent-core-marga2es.js";
119
120
  import {
120
121
  createInvokeConfig,
121
122
  invoke,
122
123
  invokeNonStream,
123
124
  parseModelString
124
- } from "./shared/@ai-setting/roy-agent-core-ecaptews.js";
125
+ } from "./shared/@ai-setting/roy-agent-core-ecth1zak.js";
125
126
  import {
126
127
  AskUserError,
127
128
  init_workflow_hil
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  exports_node_registry_helper,
3
3
  init_node_registry_helper
4
- } from "./roy-agent-core-0jc06hhg.js";
4
+ } from "./roy-agent-core-fjexv5nm.js";
5
5
  import {
6
6
  WorkflowEngine,
7
7
  exports_engine,
8
8
  init_engine
9
- } from "./roy-agent-core-v4g5ntf2.js";
9
+ } from "./roy-agent-core-56xsjjyw.js";
10
10
  import {
11
11
  WorkflowService
12
12
  } from "./roy-agent-core-4t40mkpv.js";
@@ -97,7 +97,7 @@ class WorkflowComponent extends BaseComponent {
97
97
  return;
98
98
  try {
99
99
  const { NodeRegistry } = await import("../../env/workflow/engine/index.js");
100
- const { registerDecoratorNodeType: registerDecoratorNodeType2 } = await import("./roy-agent-core-c6vet6xc.js");
100
+ const { registerDecoratorNodeType: registerDecoratorNodeType2 } = await import("./roy-agent-core-d6597yp0.js");
101
101
  this.nodeRegistry = new NodeRegistry;
102
102
  registerDecoratorNodeType2(this.nodeRegistry);
103
103
  this.decoratorsRegistered = true;
@@ -128,7 +128,7 @@ class WorkflowComponent extends BaseComponent {
128
128
  }
129
129
  async runWorkflow(definition, input, options) {
130
130
  const { NodeRegistry } = await import("../../env/workflow/engine/index.js");
131
- const { registerDecoratorNodeType: registerDecoratorNodeType2 } = await import("./roy-agent-core-c6vet6xc.js");
131
+ const { registerDecoratorNodeType: registerDecoratorNodeType2 } = await import("./roy-agent-core-d6597yp0.js");
132
132
  const toolComponent = this.toolComponent || this._workflowEnv?.getComponent("tool");
133
133
  const skillComponent = this._workflowEnv?.getComponent("skill");
134
134
  let agentRunner = this.agentRunner;
@@ -11,7 +11,7 @@ import {
11
11
  import {
12
12
  TemplateResolver,
13
13
  init_template_resolver
14
- } from "./roy-agent-core-bcpp60ww.js";
14
+ } from "./roy-agent-core-99j4w3fx.js";
15
15
  import {
16
16
  SkillNode,
17
17
  ToolNode,
@@ -19,7 +19,7 @@ import {
19
19
  init_skill_node,
20
20
  init_tool_node,
21
21
  init_workflow_node
22
- } from "./roy-agent-core-9r8pew8y.js";
22
+ } from "./roy-agent-core-ajx32wzj.js";
23
23
  import {
24
24
  WorkflowError,
25
25
  createWorkflowEvent,
@@ -79,7 +79,7 @@ class EventBus {
79
79
  try {
80
80
  await handler(event);
81
81
  } catch (error) {
82
- console.error("Event handler error:", error);
82
+ logger.error("Event handler error:", error);
83
83
  }
84
84
  this.off(eventType, wrappedHandler);
85
85
  };
@@ -121,7 +121,7 @@ class EventBus {
121
121
  try {
122
122
  await handler(event);
123
123
  } catch (error) {
124
- console.error("Event handler error:", error);
124
+ logger.error("Event handler error:", error);
125
125
  }
126
126
  }
127
127
  clear() {
@@ -141,7 +141,11 @@ class EventBus {
141
141
  };
142
142
  }
143
143
  }
144
- var init_event_bus = () => {};
144
+ var logger;
145
+ var init_event_bus = __esm(() => {
146
+ init_logger();
147
+ logger = createLogger("workflow.eventbus");
148
+ });
145
149
 
146
150
  // src/env/workflow/engine/dag-manager.ts
147
151
  class DAGManager {
@@ -600,7 +604,7 @@ class Scheduler {
600
604
  }
601
605
  markCompleted(nodeId) {
602
606
  if (nodeId === "__end__" || nodeId === "__END__") {
603
- logger.debug(`[Scheduler] Workflow marked as completed via __end__`);
607
+ logger2.debug(`[Scheduler] Workflow marked as completed via __end__`);
604
608
  return;
605
609
  }
606
610
  this.running.delete(nodeId);
@@ -756,10 +760,10 @@ class Scheduler {
756
760
  return result;
757
761
  }
758
762
  }
759
- var logger;
763
+ var logger2;
760
764
  var init_scheduler = __esm(() => {
761
765
  init_logger();
762
- logger = createLogger("workflow.scheduler");
766
+ logger2 = createLogger("workflow.scheduler");
763
767
  });
764
768
 
765
769
  // src/env/workflow/engine/executor.ts
@@ -1092,22 +1096,22 @@ var init_executor = __esm(() => {
1092
1096
  }
1093
1097
  };
1094
1098
  __legacyDecorateClassTS([
1095
- TracedAs("workflow.executor.executeNode", { recordParams: true, recordResult: true, log: true })
1099
+ TracedAs("workflow.executor.executeNode", { recordParams: true, recordResult: true })
1096
1100
  ], Executor.prototype, "executeNode", null);
1097
1101
  __legacyDecorateClassTS([
1098
- TracedAs("workflow.executor.writeNodeStart", { recordParams: true, recordResult: true, log: true })
1102
+ TracedAs("workflow.executor.writeNodeStart", { recordParams: true, recordResult: true })
1099
1103
  ], Executor.prototype, "writeNodeStart", null);
1100
1104
  __legacyDecorateClassTS([
1101
1105
  TracedAs("workflow.executor.attachAgentSessionToLastStart", { log: true })
1102
1106
  ], Executor.prototype, "attachAgentSessionToLastStart", null);
1103
1107
  __legacyDecorateClassTS([
1104
- TracedAs("workflow.executor.writeNodeInterrupt", { recordParams: true, recordResult: true, log: true })
1108
+ TracedAs("workflow.executor.writeNodeInterrupt", { recordParams: true, recordResult: true })
1105
1109
  ], Executor.prototype, "writeNodeInterrupt", null);
1106
1110
  __legacyDecorateClassTS([
1107
- TracedAs("workflow.executor.writeNodeEnd", { recordParams: true, recordResult: true, log: true })
1111
+ TracedAs("workflow.executor.writeNodeEnd", { recordParams: true, recordResult: true })
1108
1112
  ], Executor.prototype, "writeNodeEnd", null);
1109
1113
  __legacyDecorateClassTS([
1110
- TracedAs("workflow.executor.writeNodeResume", { recordParams: true, recordResult: true, log: true })
1114
+ TracedAs("workflow.executor.writeNodeResume", { recordParams: true, recordResult: true })
1111
1115
  ], Executor.prototype, "writeNodeResume", null);
1112
1116
  });
1113
1117
 
@@ -1510,7 +1514,7 @@ var init_agent_node = __esm(() => {
1510
1514
  }
1511
1515
  };
1512
1516
  __legacyDecorateClassTS([
1513
- TracedAs("workflow.agent.execute", { log: true })
1517
+ TracedAs("workflow.agent.execute")
1514
1518
  ], AgentNode.prototype, "execute", null);
1515
1519
  __legacyDecorateClassTS([
1516
1520
  TracedAs("agent.node.createAgentSubSession", { recordParams: true, recordResult: true, log: true })
@@ -1661,7 +1665,7 @@ var init_agent_session_metadata = () => {};
1661
1665
 
1662
1666
  // src/env/workflow/engine/engine.ts
1663
1667
  import { EventEmitter } from "events";
1664
- var logger2, WorkflowEngine;
1668
+ var logger3, WorkflowEngine;
1665
1669
  var init_engine = __esm(() => {
1666
1670
  init_event();
1667
1671
  init_workflow_hil();
@@ -1675,7 +1679,7 @@ var init_engine = __esm(() => {
1675
1679
  init_decorator();
1676
1680
  init_template_resolver();
1677
1681
  init_workflow_error();
1678
- logger2 = createLogger("workflow:engine");
1682
+ logger3 = createLogger("workflow:engine");
1679
1683
  WorkflowEngine = class WorkflowEngine extends EventEmitter {
1680
1684
  activeSessions = new Map;
1681
1685
  sessionIdCounter = 0;
@@ -1736,7 +1740,7 @@ var init_engine = __esm(() => {
1736
1740
  metadata
1737
1741
  });
1738
1742
  }
1739
- logger2.info(`[WorkflowEngine] Created session: ${sessionId}`);
1743
+ logger3.info(`[WorkflowEngine] Created session: ${sessionId}`);
1740
1744
  return sessionId;
1741
1745
  }
1742
1746
  async run(sessionId, options) {
@@ -1806,7 +1810,7 @@ var init_engine = __esm(() => {
1806
1810
  }
1807
1811
  });
1808
1812
  metadata.input = { ...existingInput, ...newInput };
1809
- logger2.info(`[WorkflowEngine] Updated session ${sessionId} input with resume user input`);
1813
+ logger3.info(`[WorkflowEngine] Updated session ${sessionId} input with resume user input`);
1810
1814
  }
1811
1815
  }
1812
1816
  const messages = this.sessionComponent ? await this.sessionComponent.getMessages(sessionId) : [];
@@ -1938,7 +1942,7 @@ var init_engine = __esm(() => {
1938
1942
  agentSessionId,
1939
1943
  restoredOutputs: resumeInfo?.nodeOutputs
1940
1944
  }).catch((error) => {
1941
- logger2.error(`Workflow ${sessionId} scheduling error:`, error);
1945
+ logger3.error(`Workflow ${sessionId} scheduling error:`, error);
1942
1946
  this.failWorkflow(sessionState, error);
1943
1947
  });
1944
1948
  if (options?.sync !== false) {
@@ -1974,7 +1978,7 @@ var init_engine = __esm(() => {
1974
1978
  });
1975
1979
  }
1976
1980
  await sessionState.eventBus.publish(createWorkflowEvent("workflow.paused", this.getRunIdFromSessionId(sessionId), {}));
1977
- logger2.info(`[WorkflowEngine] Workflow paused: ${sessionId}`);
1981
+ logger3.info(`[WorkflowEngine] Workflow paused: ${sessionId}`);
1978
1982
  }
1979
1983
  async stop(sessionId, reason) {
1980
1984
  const sessionState = this.activeSessions.get(sessionId);
@@ -2029,7 +2033,7 @@ var init_engine = __esm(() => {
2029
2033
  eventBus.on("node.interrupt", async (event) => {
2030
2034
  if (event.type !== "node.interrupt")
2031
2035
  return;
2032
- logger2.info(`Workflow paused at node "${event.node_id}" - ask_user pending`);
2036
+ logger3.info(`Workflow paused at node "${event.node_id}" - ask_user pending`);
2033
2037
  sessionState.status = "paused";
2034
2038
  sessionState.abortController.abort();
2035
2039
  if (this.sessionComponent) {
@@ -2110,7 +2114,7 @@ var init_engine = __esm(() => {
2110
2114
  break;
2111
2115
  }
2112
2116
  if (sessionState.config.loopEnabled && sessionState.loopIterationCount >= maxIterations) {
2113
- logger2.error(`[WorkflowEngine] Max loop iterations ${maxIterations} exceeded`);
2117
+ logger3.error(`[WorkflowEngine] Max loop iterations ${maxIterations} exceeded`);
2114
2118
  sessionState.rejectCompleted(new WorkflowError(`Workflow exceeded maximum loop iterations: ${maxIterations}`));
2115
2119
  await this.stop(sessionState.sessionId, "Max iterations exceeded");
2116
2120
  return;
@@ -2125,12 +2129,18 @@ var init_engine = __esm(() => {
2125
2129
  }
2126
2130
  waitForNextNodeEvent(sessionState, signal) {
2127
2131
  return new Promise((resolve) => {
2128
- const timeoutId = setTimeout(() => {
2129
- cleanup();
2130
- resolve();
2131
- }, 100);
2132
+ const state = sessionState.scheduler.getState();
2133
+ const hasRunningNodes = state.running.length > 0;
2134
+ let timeoutId;
2135
+ if (!hasRunningNodes) {
2136
+ timeoutId = setTimeout(() => {
2137
+ cleanup();
2138
+ resolve();
2139
+ }, 100);
2140
+ }
2132
2141
  const cleanup = () => {
2133
- clearTimeout(timeoutId);
2142
+ if (timeoutId !== undefined)
2143
+ clearTimeout(timeoutId);
2134
2144
  sessionState.eventBus.off("node.completed", onCompleted);
2135
2145
  sessionState.eventBus.off("node.failed", onFailed);
2136
2146
  };
@@ -2218,12 +2228,12 @@ var init_engine = __esm(() => {
2218
2228
  }
2219
2229
  async preExecuteValidation(nodeId, nodeDef, context, options) {
2220
2230
  if (!nodeDef) {
2221
- logger2.warn(`Node ${nodeId} has no configuration`);
2231
+ logger3.warn(`Node ${nodeId} has no configuration`);
2222
2232
  return;
2223
2233
  }
2224
2234
  const config = nodeDef.config || {};
2225
2235
  if (context.debug) {
2226
- logger2.debug(`Pre-execute validation for node ${nodeId}`, {
2236
+ logger3.debug(`Pre-execute validation for node ${nodeId}`, {
2227
2237
  workflowInput: context.workflowInput,
2228
2238
  previousOutputs: Array.from(context.previousOutputs.keys()),
2229
2239
  hasTemplateResolver: !!context.templateResolver
@@ -2235,7 +2245,7 @@ var init_engine = __esm(() => {
2235
2245
  if (options?.strict) {
2236
2246
  context.templateResolver.resolveStrict(config, nodeId);
2237
2247
  }
2238
- logger2.warn(`[WorkflowEngine] Node "${nodeId}" has unresolved templates:`, unresolved);
2248
+ logger3.warn(`[WorkflowEngine] Node "${nodeId}" has unresolved templates:`, unresolved);
2239
2249
  }
2240
2250
  }
2241
2251
  }
@@ -2246,7 +2256,7 @@ var init_engine = __esm(() => {
2246
2256
  try {
2247
2257
  await this.preExecuteValidation(nodeId, nodeDef, context, { strict: strictMode });
2248
2258
  } catch (err) {
2249
- logger2.error(`[WorkflowEngine] Strict validation failed for node ${nodeId}:`, err);
2259
+ logger3.error(`[WorkflowEngine] Strict validation failed for node ${nodeId}:`, err);
2250
2260
  scheduler.markFailed(nodeId);
2251
2261
  return;
2252
2262
  }
@@ -2283,9 +2293,9 @@ var init_engine = __esm(() => {
2283
2293
  input: sessionState.config.workflowInput || {},
2284
2294
  previousOutputs: new Map(sessionState.nodeOutputs)
2285
2295
  });
2286
- logger2.debug(`[WorkflowEngine] Processing edges after "${completedNodeId}" completed. edges=${JSON.stringify(sessionState.edges)}`);
2296
+ logger3.debug(`[WorkflowEngine] Processing edges after "${completedNodeId}" completed. edges=${JSON.stringify(sessionState.edges)}`);
2287
2297
  const edgeResult = scheduler.processEdgesAfterCompletion(completedNodeId, sessionState.edges, templateResolver, sessionState.config.loopEnabled);
2288
- logger2.debug(`[WorkflowEngine] Edge processing result: ${JSON.stringify(edgeResult)}`);
2298
+ logger3.debug(`[WorkflowEngine] Edge processing result: ${JSON.stringify(edgeResult)}`);
2289
2299
  for (const nodeId of edgeResult.resetNodes) {
2290
2300
  sessionState.nodeOutputs.delete(nodeId);
2291
2301
  }
@@ -2299,7 +2309,7 @@ var init_engine = __esm(() => {
2299
2309
  if (sessionState.config.loopEnabled) {
2300
2310
  const nextCount = sessionState.loopIterationCount + edgeResult.reEntries.length;
2301
2311
  if (nextCount > sessionState.config.maxIterations) {
2302
- logger2.error(`[WorkflowEngine] Max loop iterations ${sessionState.config.maxIterations} exceeded (next=${nextCount})`);
2312
+ logger3.error(`[WorkflowEngine] Max loop iterations ${sessionState.config.maxIterations} exceeded (next=${nextCount})`);
2303
2313
  await this.failWorkflow(sessionState, new WorkflowError(`Workflow exceeded maximum loop iterations: ${sessionState.config.maxIterations}`));
2304
2314
  return;
2305
2315
  }
@@ -2307,12 +2317,12 @@ var init_engine = __esm(() => {
2307
2317
  } else {
2308
2318
  sessionState.loopIterationCount += edgeResult.reEntries.length;
2309
2319
  }
2310
- logger2.debug(`[WorkflowEngine] Loop iteration #${sessionState.loopIterationCount}: re-entering ${edgeResult.reEntries.join(", ")}`);
2320
+ logger3.debug(`[WorkflowEngine] Loop iteration #${sessionState.loopIterationCount}: re-entering ${edgeResult.reEntries.join(", ")}`);
2311
2321
  }
2312
2322
  const workflowInput = sessionState.config.workflowInput || {};
2313
2323
  for (const targetId of edgeResult.toStart) {
2314
2324
  if (targetId === "__end__" || targetId === "__END__") {
2315
- logger2.info(`[WorkflowEngine] Workflow terminated via __end__ edge from node "${completedNodeId}"`);
2325
+ logger3.info(`[WorkflowEngine] Workflow terminated via __end__ edge from node "${completedNodeId}"`);
2316
2326
  scheduler.markCompleted("__end__");
2317
2327
  await this.completeWorkflow(sessionState);
2318
2328
  } else {
@@ -2498,7 +2508,7 @@ var init_engine = __esm(() => {
2498
2508
  TracedAs("workflow.engine.run", { recordParams: true, recordResult: true, log: true })
2499
2509
  ], WorkflowEngine.prototype, "run", null);
2500
2510
  __legacyDecorateClassTS([
2501
- TracedAs("workflow.engine.runWithResume", { recordParams: true, recordResult: true, log: true })
2511
+ TracedAs("workflow.engine.runWithResume", { recordParams: true, recordResult: true })
2502
2512
  ], WorkflowEngine.prototype, "runWithResume", null);
2503
2513
  __legacyDecorateClassTS([
2504
2514
  TracedAs("workflow.engine.runWorkflow", { recordParams: true, recordResult: true, log: true })
@@ -2510,34 +2520,34 @@ var init_engine = __esm(() => {
2510
2520
  TracedAs("workflow.engine.stop", { recordParams: true, recordResult: true, log: true })
2511
2521
  ], WorkflowEngine.prototype, "stop", null);
2512
2522
  __legacyDecorateClassTS([
2513
- TracedAs("workflow.engine.scheduleAndExecute", { recordParams: true, recordResult: true, log: true })
2523
+ TracedAs("workflow.engine.scheduleAndExecute", { recordParams: true, recordResult: true })
2514
2524
  ], WorkflowEngine.prototype, "scheduleAndExecute", null);
2515
2525
  __legacyDecorateClassTS([
2516
- TracedAs("workflow.engine.waitForNextNodeEvent", { recordParams: true, recordResult: true, log: true })
2526
+ TracedAs("workflow.engine.waitForNextNodeEvent", { recordParams: true, recordResult: true })
2517
2527
  ], WorkflowEngine.prototype, "waitForNextNodeEvent", null);
2518
2528
  __legacyDecorateClassTS([
2519
- TracedAs("workflow.engine.startNode", { recordParams: true, recordResult: true, log: true })
2529
+ TracedAs("workflow.engine.startNode", { recordParams: true, recordResult: true })
2520
2530
  ], WorkflowEngine.prototype, "startNode", null);
2521
2531
  __legacyDecorateClassTS([
2522
- TracedAs("workflow.engine.writeNodeStart", { recordParams: true, recordResult: true, log: true })
2532
+ TracedAs("workflow.engine.writeNodeStart", { recordParams: true, recordResult: true })
2523
2533
  ], WorkflowEngine.prototype, "writeNodeStart", null);
2524
2534
  __legacyDecorateClassTS([
2525
- TracedAs("workflow.engine.resumeNode", { recordParams: true, recordResult: true, log: true })
2535
+ TracedAs("workflow.engine.resumeNode", { recordParams: true, recordResult: true })
2526
2536
  ], WorkflowEngine.prototype, "resumeNode", null);
2527
2537
  __legacyDecorateClassTS([
2528
- TracedAs("workflow.engine.preExecuteValidation", { log: true })
2538
+ TracedAs("workflow.engine.preExecuteValidation")
2529
2539
  ], WorkflowEngine.prototype, "preExecuteValidation", null);
2530
2540
  __legacyDecorateClassTS([
2531
- TracedAs("workflow.engine.buildNodeContext", { log: true })
2541
+ TracedAs("workflow.engine.buildNodeContext")
2532
2542
  ], WorkflowEngine.prototype, "buildNodeContext", null);
2533
2543
  __legacyDecorateClassTS([
2534
- TracedAs("workflow.engine.checkAndFinalize", { recordParams: true, recordResult: true, log: true })
2544
+ TracedAs("workflow.engine.checkAndFinalize", { recordParams: true, recordResult: true })
2535
2545
  ], WorkflowEngine.prototype, "checkAndFinalize", null);
2536
2546
  __legacyDecorateClassTS([
2537
- TracedAs("workflow.engine.completeWorkflow", { recordParams: true, recordResult: true, log: true })
2547
+ TracedAs("workflow.engine.completeWorkflow", { recordParams: true, recordResult: true })
2538
2548
  ], WorkflowEngine.prototype, "completeWorkflow", null);
2539
2549
  __legacyDecorateClassTS([
2540
- TracedAs("workflow.engine.failWorkflow", { recordParams: true, recordResult: true, log: true })
2550
+ TracedAs("workflow.engine.failWorkflow", { recordParams: true, recordResult: true })
2541
2551
  ], WorkflowEngine.prototype, "failWorkflow", null);
2542
2552
  });
2543
2553
 
@@ -1,3 +1,7 @@
1
+ import {
2
+ getFromMapWithNormalization,
3
+ init_node_id_utils
4
+ } from "./roy-agent-core-ddwa0n6h.js";
1
5
  import {
2
6
  init_types,
3
7
  nodeNotFound,
@@ -26,6 +30,7 @@ var TemplateResolver;
26
30
  var init_template_resolver = __esm(() => {
27
31
  init_decorator();
28
32
  init_types();
33
+ init_node_id_utils();
29
34
  TemplateResolver = class TemplateResolver {
30
35
  input;
31
36
  previousOutputs;
@@ -127,17 +132,7 @@ var init_template_resolver = __esm(() => {
127
132
  if (!nodeId) {
128
133
  return;
129
134
  }
130
- let value = this.previousOutputs.get(nodeId);
131
- if (value === undefined) {
132
- const normalizedUnderscore = nodeId.replace(/-/g, "_");
133
- const normalizedHyphen = nodeId.replace(/_/g, "-");
134
- if (normalizedUnderscore !== nodeId) {
135
- value = this.previousOutputs.get(normalizedUnderscore);
136
- }
137
- if (value === undefined && normalizedHyphen !== nodeId) {
138
- value = this.previousOutputs.get(normalizedHyphen);
139
- }
140
- }
135
+ let value = getFromMapWithNormalization(this.previousOutputs, nodeId);
141
136
  if (value === undefined) {
142
137
  return;
143
138
  }
@@ -123,7 +123,7 @@ var init_tool_node = __esm(() => {
123
123
  }
124
124
  };
125
125
  __legacyDecorateClassTS([
126
- TracedAs("workflow.tool.execute", { log: true })
126
+ TracedAs("workflow.tool.execute")
127
127
  ], ToolNode.prototype, "execute", null);
128
128
  });
129
129
 
@@ -178,7 +178,7 @@ var init_skill_node = __esm(() => {
178
178
  }
179
179
  };
180
180
  __legacyDecorateClassTS([
181
- TracedAs("workflow.skill.execute", { log: true })
181
+ TracedAs("workflow.skill.execute")
182
182
  ], SkillNode.prototype, "execute", null);
183
183
  });
184
184
 
@@ -3,7 +3,8 @@ import {
3
3
  hasDecoratorNodes,
4
4
  init_node_registry_helper,
5
5
  registerDecoratorNodeType
6
- } from "./roy-agent-core-0jc06hhg.js";
6
+ } from "./roy-agent-core-fjexv5nm.js";
7
+ import"./roy-agent-core-ddwa0n6h.js";
7
8
  import"./roy-agent-core-1ce3fqrk.js";
8
9
  import"./roy-agent-core-k05v31rc.js";
9
10
  import"./roy-agent-core-shme7set.js";
@@ -0,0 +1,23 @@
1
+ import {
2
+ __esm
3
+ } from "./roy-agent-core-fs0mn2jk.js";
4
+
5
+ // src/env/workflow/utils/node-id-utils.ts
6
+ function getFromMapWithNormalization(map, key) {
7
+ let value = map.get(key);
8
+ if (value !== undefined) {
9
+ return value;
10
+ }
11
+ const normalizedUnderscore = key.replace(/-/g, "_");
12
+ const normalizedHyphen = key.replace(/_/g, "-");
13
+ if (normalizedUnderscore !== key) {
14
+ value = map.get(normalizedUnderscore);
15
+ }
16
+ if (value === undefined && normalizedHyphen !== key) {
17
+ value = map.get(normalizedHyphen);
18
+ }
19
+ return value;
20
+ }
21
+ var init_node_id_utils = () => {};
22
+
23
+ export { getFromMapWithNormalization, init_node_id_utils };
@@ -209,6 +209,13 @@ function generateProviderOptions(providerType, options) {
209
209
  }
210
210
  return result;
211
211
  }
212
+ function convertToolChoice(toolChoice) {
213
+ if (!toolChoice)
214
+ return;
215
+ if (typeof toolChoice === "string")
216
+ return toolChoice;
217
+ return { type: "tool", toolName: toolChoice.function.name };
218
+ }
212
219
  function createEnvEventEmitter(env, context) {
213
220
  if (!env) {
214
221
  logger.warn("[invoke] createEnvEventEmitter: env is null/undefined, streaming events will be disabled");
@@ -217,10 +224,6 @@ function createEnvEventEmitter(env, context) {
217
224
  return (event) => {
218
225
  try {
219
226
  const fullType = `llm.${event.type}`;
220
- logger.info(`[invoke] Pushing LLM event: ${fullType}`, {
221
- hasPayload: !!event,
222
- payloadType: typeof event
223
- });
224
227
  env.pushEnvEvent({
225
228
  id: randomUUID(),
226
229
  type: fullType,
@@ -232,7 +235,6 @@ function createEnvEventEmitter(env, context) {
232
235
  },
233
236
  payload: event
234
237
  });
235
- logger.info(`[invoke] LLM event pushed successfully: ${fullType}`);
236
238
  } catch (err) {
237
239
  logger.warn("Failed to push env event", { error: String(err), eventType: event.type });
238
240
  }
@@ -381,7 +383,7 @@ async function invoke(config, options, ctx) {
381
383
  includeUsage: true
382
384
  },
383
385
  allowSystemInMessages: true,
384
- toolChoice: options.toolChoice ?? "auto"
386
+ toolChoice: convertToolChoice(options.toolChoice)
385
387
  };
386
388
  const result = await streamText(streamTextOptions);
387
389
  let fullContent = "";
@@ -568,7 +570,8 @@ async function invokeNonStream(config, options, ctx) {
568
570
  temperature: providerOptions.temperature,
569
571
  maxTokens: providerOptions.maxTokens,
570
572
  abortSignal: ctx.abort,
571
- allowSystemInMessages: true
573
+ allowSystemInMessages: true,
574
+ toolChoice: convertToolChoice(options.toolChoice)
572
575
  });
573
576
  const usage = result.usage;
574
577
  const usageInfo = usage ? {
@@ -1,3 +1,7 @@
1
+ import {
2
+ getFromMapWithNormalization,
3
+ init_node_id_utils
4
+ } from "./roy-agent-core-ddwa0n6h.js";
1
5
  import {
2
6
  DecoratorNode,
3
7
  init_decorator_node
@@ -93,7 +97,7 @@ var init_condition_node = __esm(() => {
93
97
  }
94
98
  };
95
99
  __legacyDecorateClassTS([
96
- TracedAs("workflow.condition.execute", { log: true })
100
+ TracedAs("workflow.condition.execute")
97
101
  ], ConditionNode.prototype, "execute", null);
98
102
  });
99
103
 
@@ -113,17 +117,7 @@ class MergeNode {
113
117
  const deps = this.definition.depends_on || [];
114
118
  const outputs = {};
115
119
  for (const depId of deps) {
116
- let output = context.previousOutputs.get(depId);
117
- if (output === undefined) {
118
- const normalizedUnderscore = depId.replace(/-/g, "_");
119
- const normalizedHyphen = depId.replace(/_/g, "-");
120
- if (normalizedUnderscore !== depId) {
121
- output = context.previousOutputs.get(normalizedUnderscore);
122
- }
123
- if (output === undefined && normalizedHyphen !== depId) {
124
- output = context.previousOutputs.get(normalizedHyphen);
125
- }
126
- }
120
+ const output = getFromMapWithNormalization(context.previousOutputs, depId);
127
121
  if (output !== undefined) {
128
122
  outputs[depId] = output;
129
123
  }
@@ -180,7 +174,9 @@ class MergeNode {
180
174
  return result;
181
175
  }
182
176
  }
183
- var init_merge_node = () => {};
177
+ var init_merge_node = __esm(() => {
178
+ init_node_id_utils();
179
+ });
184
180
 
185
181
  // src/env/workflow/utils/node-registry-helper.ts
186
182
  var exports_node_registry_helper = {};
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  withTimeout
3
- } from "./roy-agent-core-ecaptews.js";
3
+ } from "./roy-agent-core-ecth1zak.js";
4
4
  import {
5
5
  AskUserError,
6
6
  init_workflow_hil
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  invoke
3
- } from "./roy-agent-core-ecaptews.js";
3
+ } from "./roy-agent-core-ecth1zak.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.5.64",
3
+ "version": "1.5.65",
4
4
  "type": "module",
5
5
  "description": "Core SDK for roy-agent - Environment, Components, Tools, Sessions, Tasks",
6
6
  "main": "./dist/index.js",