@agentforge/core 0.11.0 → 0.11.1

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.cjs CHANGED
@@ -1465,6 +1465,7 @@ var ToolRegistry = class {
1465
1465
  };
1466
1466
 
1467
1467
  // src/tools/executor.ts
1468
+ var logger2 = createLogger("agentforge:tools:executor");
1468
1469
  var PRIORITY_ORDER = {
1469
1470
  critical: 0,
1470
1471
  high: 1,
@@ -1511,7 +1512,14 @@ function createToolExecutor(config = {}) {
1511
1512
  async function executeWithRetry(tool, input, policy) {
1512
1513
  const executeFn = tool.invoke || tool.execute;
1513
1514
  if (!executeFn) {
1514
- throw new Error("Tool must implement either invoke() or execute() method");
1515
+ throw new Error(
1516
+ "Tool must implement invoke() method. Tools created with createTool() or toolBuilder automatically have this method. If you are manually constructing a tool, ensure it has an invoke() method."
1517
+ );
1518
+ }
1519
+ if (!tool.invoke && tool.execute) {
1520
+ logger2.warn(
1521
+ `Tool "${tool.metadata?.name || "unknown"}" only implements execute() which is deprecated. Please update to implement invoke() as the primary method. execute() will be removed in v1.0.0.`
1522
+ );
1515
1523
  }
1516
1524
  if (!policy) {
1517
1525
  return await executeFn.call(tool, input);
@@ -1635,7 +1643,7 @@ function createToolExecutor(config = {}) {
1635
1643
  }
1636
1644
 
1637
1645
  // src/tools/lifecycle.ts
1638
- var logger2 = createLogger("agentforge:core:tools:lifecycle", { level: "info" /* INFO */ });
1646
+ var logger3 = createLogger("agentforge:core:tools:lifecycle", { level: "info" /* INFO */ });
1639
1647
  var ManagedTool = class {
1640
1648
  name;
1641
1649
  description;
@@ -1667,7 +1675,7 @@ var ManagedTool = class {
1667
1675
  if (this.autoCleanup) {
1668
1676
  process.on("beforeExit", () => {
1669
1677
  this.cleanup().catch(
1670
- (err) => logger2.error("Cleanup failed", {
1678
+ (err) => logger3.error("Cleanup failed", {
1671
1679
  toolName: this.name,
1672
1680
  error: err instanceof Error ? err.message : String(err),
1673
1681
  stack: err instanceof Error ? err.stack : void 0
@@ -2636,14 +2644,14 @@ var withLogging = (options) => {
2636
2644
  onComplete,
2637
2645
  onError
2638
2646
  } = options;
2639
- const logger3 = providedLogger || createLogger(name, { level });
2647
+ const logger4 = providedLogger || createLogger(name, { level });
2640
2648
  return (node) => {
2641
2649
  return async (state) => {
2642
2650
  const startTime = Date.now();
2643
2651
  try {
2644
2652
  if (logInput) {
2645
2653
  const data = extractData ? extractData(state) : { state };
2646
- logger3.info("Node execution started", data);
2654
+ logger4.info("Node execution started", data);
2647
2655
  }
2648
2656
  if (onStart) {
2649
2657
  onStart(state);
@@ -2653,9 +2661,9 @@ var withLogging = (options) => {
2653
2661
  if (logOutput) {
2654
2662
  const data = extractData ? extractData(result) : { result };
2655
2663
  if (logDuration) {
2656
- logger3.info(`Node execution completed (${duration}ms)`, data);
2664
+ logger4.info(`Node execution completed (${duration}ms)`, data);
2657
2665
  } else {
2658
- logger3.info("Node execution completed", data);
2666
+ logger4.info("Node execution completed", data);
2659
2667
  }
2660
2668
  }
2661
2669
  if (onComplete) {
@@ -2666,7 +2674,7 @@ var withLogging = (options) => {
2666
2674
  const duration = Date.now() - startTime;
2667
2675
  const err = error instanceof Error ? error : new Error(String(error));
2668
2676
  if (logErrors) {
2669
- logger3.error(`Node execution failed (${duration}ms)`, {
2677
+ logger4.error(`Node execution failed (${duration}ms)`, {
2670
2678
  error: err.message,
2671
2679
  stack: err.stack
2672
2680
  });
@@ -2702,7 +2710,7 @@ function withLogging2(options) {
2702
2710
  function production(node, options) {
2703
2711
  const {
2704
2712
  nodeName,
2705
- logger: logger3,
2713
+ logger: logger4,
2706
2714
  enableMetrics = true,
2707
2715
  enableTracing = true,
2708
2716
  enableRetry = true,
@@ -2710,7 +2718,7 @@ function production(node, options) {
2710
2718
  retryOptions = {},
2711
2719
  errorOptions = {}
2712
2720
  } = options;
2713
- const actualLogger = logger3 || createLogger(nodeName, { level: "info" /* INFO */ });
2721
+ const actualLogger = logger4 || createLogger(nodeName, { level: "info" /* INFO */ });
2714
2722
  const middleware = [];
2715
2723
  middleware.push(
2716
2724
  withLogging2({
@@ -2774,9 +2782,9 @@ function development(node, options) {
2774
2782
  const {
2775
2783
  nodeName,
2776
2784
  verbose = true,
2777
- logger: logger3
2785
+ logger: logger4
2778
2786
  } = options;
2779
- const actualLogger = logger3 || createLogger(nodeName, { level: "debug" /* DEBUG */ });
2787
+ const actualLogger = logger4 || createLogger(nodeName, { level: "debug" /* DEBUG */ });
2780
2788
  return withLogging2({
2781
2789
  logger: actualLogger,
2782
2790
  name: nodeName,
package/dist/index.js CHANGED
@@ -1309,6 +1309,7 @@ var ToolRegistry = class {
1309
1309
  };
1310
1310
 
1311
1311
  // src/tools/executor.ts
1312
+ var logger2 = createLogger("agentforge:tools:executor");
1312
1313
  var PRIORITY_ORDER = {
1313
1314
  critical: 0,
1314
1315
  high: 1,
@@ -1355,7 +1356,14 @@ function createToolExecutor(config = {}) {
1355
1356
  async function executeWithRetry(tool, input, policy) {
1356
1357
  const executeFn = tool.invoke || tool.execute;
1357
1358
  if (!executeFn) {
1358
- throw new Error("Tool must implement either invoke() or execute() method");
1359
+ throw new Error(
1360
+ "Tool must implement invoke() method. Tools created with createTool() or toolBuilder automatically have this method. If you are manually constructing a tool, ensure it has an invoke() method."
1361
+ );
1362
+ }
1363
+ if (!tool.invoke && tool.execute) {
1364
+ logger2.warn(
1365
+ `Tool "${tool.metadata?.name || "unknown"}" only implements execute() which is deprecated. Please update to implement invoke() as the primary method. execute() will be removed in v1.0.0.`
1366
+ );
1359
1367
  }
1360
1368
  if (!policy) {
1361
1369
  return await executeFn.call(tool, input);
@@ -1479,7 +1487,7 @@ function createToolExecutor(config = {}) {
1479
1487
  }
1480
1488
 
1481
1489
  // src/tools/lifecycle.ts
1482
- var logger2 = createLogger("agentforge:core:tools:lifecycle", { level: "info" /* INFO */ });
1490
+ var logger3 = createLogger("agentforge:core:tools:lifecycle", { level: "info" /* INFO */ });
1483
1491
  var ManagedTool = class {
1484
1492
  name;
1485
1493
  description;
@@ -1511,7 +1519,7 @@ var ManagedTool = class {
1511
1519
  if (this.autoCleanup) {
1512
1520
  process.on("beforeExit", () => {
1513
1521
  this.cleanup().catch(
1514
- (err) => logger2.error("Cleanup failed", {
1522
+ (err) => logger3.error("Cleanup failed", {
1515
1523
  toolName: this.name,
1516
1524
  error: err instanceof Error ? err.message : String(err),
1517
1525
  stack: err instanceof Error ? err.stack : void 0
@@ -2480,14 +2488,14 @@ var withLogging = (options) => {
2480
2488
  onComplete,
2481
2489
  onError
2482
2490
  } = options;
2483
- const logger3 = providedLogger || createLogger(name, { level });
2491
+ const logger4 = providedLogger || createLogger(name, { level });
2484
2492
  return (node) => {
2485
2493
  return async (state) => {
2486
2494
  const startTime = Date.now();
2487
2495
  try {
2488
2496
  if (logInput) {
2489
2497
  const data = extractData ? extractData(state) : { state };
2490
- logger3.info("Node execution started", data);
2498
+ logger4.info("Node execution started", data);
2491
2499
  }
2492
2500
  if (onStart) {
2493
2501
  onStart(state);
@@ -2497,9 +2505,9 @@ var withLogging = (options) => {
2497
2505
  if (logOutput) {
2498
2506
  const data = extractData ? extractData(result) : { result };
2499
2507
  if (logDuration) {
2500
- logger3.info(`Node execution completed (${duration}ms)`, data);
2508
+ logger4.info(`Node execution completed (${duration}ms)`, data);
2501
2509
  } else {
2502
- logger3.info("Node execution completed", data);
2510
+ logger4.info("Node execution completed", data);
2503
2511
  }
2504
2512
  }
2505
2513
  if (onComplete) {
@@ -2510,7 +2518,7 @@ var withLogging = (options) => {
2510
2518
  const duration = Date.now() - startTime;
2511
2519
  const err = error instanceof Error ? error : new Error(String(error));
2512
2520
  if (logErrors) {
2513
- logger3.error(`Node execution failed (${duration}ms)`, {
2521
+ logger4.error(`Node execution failed (${duration}ms)`, {
2514
2522
  error: err.message,
2515
2523
  stack: err.stack
2516
2524
  });
@@ -2546,7 +2554,7 @@ function withLogging2(options) {
2546
2554
  function production(node, options) {
2547
2555
  const {
2548
2556
  nodeName,
2549
- logger: logger3,
2557
+ logger: logger4,
2550
2558
  enableMetrics = true,
2551
2559
  enableTracing = true,
2552
2560
  enableRetry = true,
@@ -2554,7 +2562,7 @@ function production(node, options) {
2554
2562
  retryOptions = {},
2555
2563
  errorOptions = {}
2556
2564
  } = options;
2557
- const actualLogger = logger3 || createLogger(nodeName, { level: "info" /* INFO */ });
2565
+ const actualLogger = logger4 || createLogger(nodeName, { level: "info" /* INFO */ });
2558
2566
  const middleware = [];
2559
2567
  middleware.push(
2560
2568
  withLogging2({
@@ -2618,9 +2626,9 @@ function development(node, options) {
2618
2626
  const {
2619
2627
  nodeName,
2620
2628
  verbose = true,
2621
- logger: logger3
2629
+ logger: logger4
2622
2630
  } = options;
2623
- const actualLogger = logger3 || createLogger(nodeName, { level: "debug" /* DEBUG */ });
2631
+ const actualLogger = logger4 || createLogger(nodeName, { level: "debug" /* DEBUG */ });
2624
2632
  return withLogging2({
2625
2633
  logger: actualLogger,
2626
2634
  name: nodeName,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentforge/core",
3
- "version": "0.11.0",
3
+ "version": "0.11.1",
4
4
  "description": "Core abstractions for AgentForge - production-ready deep agents framework",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",