@ellyco/agentic 0.1.1 → 0.2.0

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.
Files changed (61) hide show
  1. package/README.md +98 -136
  2. package/dist/graphs/graph.d.ts.map +1 -1
  3. package/dist/graphs/graph.js +72 -47
  4. package/dist/graphs/graph.js.map +1 -1
  5. package/dist/graphs/index.d.ts +8 -6
  6. package/dist/graphs/index.d.ts.map +1 -1
  7. package/dist/graphs/index.js +22 -12
  8. package/dist/graphs/index.js.map +1 -1
  9. package/dist/graphs/iterator.d.ts +25 -21
  10. package/dist/graphs/iterator.d.ts.map +1 -1
  11. package/dist/graphs/iterator.js +30 -25
  12. package/dist/graphs/iterator.js.map +1 -1
  13. package/dist/graphs/store/index.d.ts +4 -0
  14. package/dist/graphs/store/index.d.ts.map +1 -0
  15. package/dist/graphs/store/index.js +20 -0
  16. package/dist/graphs/store/index.js.map +1 -0
  17. package/dist/graphs/types.d.ts +2 -3
  18. package/dist/graphs/types.d.ts.map +1 -1
  19. package/dist/index.d.ts +7 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +23 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/models/BaseModel.d.ts +3 -1
  24. package/dist/models/BaseModel.d.ts.map +1 -1
  25. package/dist/models/BaseModel.js +5 -0
  26. package/dist/models/BaseModel.js.map +1 -1
  27. package/dist/models/index.d.ts +4 -0
  28. package/dist/models/index.d.ts.map +1 -0
  29. package/dist/models/index.js +20 -0
  30. package/dist/models/index.js.map +1 -0
  31. package/dist/models/react-agent.d.ts +12 -0
  32. package/dist/models/react-agent.d.ts.map +1 -0
  33. package/dist/models/react-agent.js +48 -0
  34. package/dist/models/react-agent.js.map +1 -0
  35. package/dist/nodes/index.d.ts +4 -3
  36. package/dist/nodes/index.d.ts.map +1 -1
  37. package/dist/nodes/index.js +18 -6
  38. package/dist/nodes/index.js.map +1 -1
  39. package/dist/tools.d.ts +7 -6
  40. package/dist/tools.d.ts.map +1 -1
  41. package/dist/tools.js +3 -2
  42. package/dist/tools.js.map +1 -1
  43. package/dist/util/clone-aware.d.ts +2 -0
  44. package/dist/util/clone-aware.d.ts.map +1 -0
  45. package/dist/util/clone-aware.js +29 -0
  46. package/dist/util/clone-aware.js.map +1 -0
  47. package/dist/util/index.d.ts +4 -0
  48. package/dist/util/index.d.ts.map +1 -0
  49. package/dist/util/index.js +20 -0
  50. package/dist/util/index.js.map +1 -0
  51. package/dist/util/merge-state.d.ts.map +1 -0
  52. package/dist/{graphs → util}/merge-state.js +13 -11
  53. package/dist/util/merge-state.js.map +1 -0
  54. package/dist/util/serializer.d.ts +15 -0
  55. package/dist/util/serializer.d.ts.map +1 -0
  56. package/dist/util/serializer.js +73 -0
  57. package/dist/util/serializer.js.map +1 -0
  58. package/package.json +7 -1
  59. package/dist/graphs/merge-state.d.ts.map +0 -1
  60. package/dist/graphs/merge-state.js.map +0 -1
  61. /package/dist/{graphs → util}/merge-state.d.ts +0 -0
@@ -1,15 +1,25 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.STATE_MERGE = exports.ContextLayer = exports.RuntimeContext = exports.Iterator = exports.NodeSequence = exports.StateMachine = void 0;
4
- var state_machine_1 = require("./state-machine");
5
- Object.defineProperty(exports, "StateMachine", { enumerable: true, get: function () { return state_machine_1.StateMachine; } });
6
- var node_sequence_1 = require("./node-sequence");
7
- Object.defineProperty(exports, "NodeSequence", { enumerable: true, get: function () { return node_sequence_1.NodeSequence; } });
8
- var iterator_1 = require("./iterator");
9
- Object.defineProperty(exports, "Iterator", { enumerable: true, get: function () { return iterator_1.Iterator; } });
10
- var runtime_context_1 = require("./runtime-context");
11
- Object.defineProperty(exports, "RuntimeContext", { enumerable: true, get: function () { return runtime_context_1.RuntimeContext; } });
12
- Object.defineProperty(exports, "ContextLayer", { enumerable: true, get: function () { return runtime_context_1.ContextLayer; } });
13
- var registry_1 = require("./registry");
14
- Object.defineProperty(exports, "STATE_MERGE", { enumerable: true, get: function () { return registry_1.STATE_MERGE; } });
17
+ __exportStar(require("./store"), exports);
18
+ __exportStar(require("./graph"), exports);
19
+ __exportStar(require("./iterator"), exports);
20
+ __exportStar(require("./node-sequence"), exports);
21
+ __exportStar(require("./registry"), exports);
22
+ __exportStar(require("./runtime-context"), exports);
23
+ __exportStar(require("./state-machine"), exports);
24
+ __exportStar(require("./types"), exports);
15
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graphs/index.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAErB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,qDAAiE;AAAxD,iHAAA,cAAc,OAAA;AAAE,+GAAA,YAAY,OAAA;AACrC,uCAAyC;AAAhC,uGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graphs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,0CAAwB;AACxB,6CAA2B;AAC3B,kDAAgC;AAChC,6CAA2B;AAC3B,oDAAkC;AAClC,kDAAgC;AAChC,0CAAwB"}
@@ -61,37 +61,41 @@ type ArrayKeys<T> = TypedKeys<T, any[]>;
61
61
  * @template S - The inferred state type from T
62
62
  * @template NS - The node state type including index and item
63
63
  *
64
- * @example
65
- * ```typescript
66
- * const schema = z.object({
67
- * items: z.array(z.object({ name: z.string(), value: z.number() }))
68
- * });
69
- *
70
- * const iterator = new Iterator(schema, "item", "items");
71
- * const looped = new NodeSequence(iterator.getNodeSchema());
72
- * looped.next(new FunctionNode((state) => ({
73
- * itemValue: state.itemItem.value * 2
74
- * })));
75
- *
76
- * iterator.setLoopedNode(looped);
77
- *
78
- * const result = await iterator.invoke({
79
- * items: [{ name: "a", value: 1 }, { name: "b", value: 2 }]
80
- * });
81
- * ```
64
+ * @example
65
+ * ```typescript
66
+ * const schema = z.object({
67
+ * items: z.array(z.object({ name: z.string(), value: z.number() }))
68
+ * });
69
+ *
70
+ * // With explicit prefix
71
+ * const iterator = new Iterator(schema, "items", "item");
72
+ * // Or without prefix (uses iteratorKey as prefix)
73
+ * const iterator2 = new Iterator(schema, "items");
74
+ *
75
+ * const looped = new NodeSequence(iterator.getNodeSchema());
76
+ * looped.next(new FunctionNode((state) => ({
77
+ * itemValue: state.itemItem.value * 2
78
+ * })));
79
+ *
80
+ * iterator.setLoopedNode(looped);
81
+ *
82
+ * const result = await iterator.invoke({
83
+ * items: [{ name: "a", value: 1 }, { name: "b", value: 2 }]
84
+ * });
85
+ * ```
82
86
  */
83
87
  export declare class Iterator<Item extends any, T extends z.ZodObject, Prefix extends string, S extends Record<string, unknown> = z.infer<T>, NS extends Record<string, unknown> = IteratorNodeState<S, Prefix, Item>> extends Graph<T, S, NS> {
84
88
  protected readonly schema: T;
85
- private readonly prefix;
86
89
  private readonly iteratorKey;
90
+ private readonly prefix;
87
91
  /**
88
92
  * Creates an iterator graph.
89
93
  *
90
94
  * @param {T} schema - The base state schema
91
- * @param {Prefix} prefix - Prefix for index and item keys
92
95
  * @param {ArrayKeys<z.infer<T>>} iteratorKey - The state key containing the array to iterate
96
+ * @param {Prefix} [prefix] - Optional prefix for index and item keys. If not provided, uses iteratorKey
93
97
  */
94
- constructor(schema: T, prefix: Prefix, iteratorKey: ArrayKeys<z.infer<T>>);
98
+ constructor(schema: T, iteratorKey: ArrayKeys<z.infer<T>>, prefix?: Prefix);
95
99
  /**
96
100
  * Sets the node to be executed for each item in the array.
97
101
  *
@@ -1 +1 @@
1
- {"version":3,"file":"iterator.d.ts","sourceRoot":"","sources":["../../src/graphs/iterator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iterator.d.ts","sourceRoot":"","sources":["../../src/graphs/iterator.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Iterator = void 0;
4
4
  const nodes_1 = require("../nodes");
5
+ const util_1 = require("../util");
5
6
  const graph_1 = require("./graph");
6
7
  const zod_1 = require("zod");
7
8
  /**
@@ -24,44 +25,48 @@ const INCREMENT_INDEX_NODE = "increment-index";
24
25
  * @template S - The inferred state type from T
25
26
  * @template NS - The node state type including index and item
26
27
  *
27
- * @example
28
- * ```typescript
29
- * const schema = z.object({
30
- * items: z.array(z.object({ name: z.string(), value: z.number() }))
31
- * });
32
- *
33
- * const iterator = new Iterator(schema, "item", "items");
34
- * const looped = new NodeSequence(iterator.getNodeSchema());
35
- * looped.next(new FunctionNode((state) => ({
36
- * itemValue: state.itemItem.value * 2
37
- * })));
38
- *
39
- * iterator.setLoopedNode(looped);
40
- *
41
- * const result = await iterator.invoke({
42
- * items: [{ name: "a", value: 1 }, { name: "b", value: 2 }]
43
- * });
44
- * ```
28
+ * @example
29
+ * ```typescript
30
+ * const schema = z.object({
31
+ * items: z.array(z.object({ name: z.string(), value: z.number() }))
32
+ * });
33
+ *
34
+ * // With explicit prefix
35
+ * const iterator = new Iterator(schema, "items", "item");
36
+ * // Or without prefix (uses iteratorKey as prefix)
37
+ * const iterator2 = new Iterator(schema, "items");
38
+ *
39
+ * const looped = new NodeSequence(iterator.getNodeSchema());
40
+ * looped.next(new FunctionNode((state) => ({
41
+ * itemValue: state.itemItem.value * 2
42
+ * })));
43
+ *
44
+ * iterator.setLoopedNode(looped);
45
+ *
46
+ * const result = await iterator.invoke({
47
+ * items: [{ name: "a", value: 1 }, { name: "b", value: 2 }]
48
+ * });
49
+ * ```
45
50
  */
46
51
  class Iterator extends graph_1.Graph {
47
52
  schema;
48
- prefix;
49
53
  iteratorKey;
54
+ prefix;
50
55
  /**
51
56
  * Creates an iterator graph.
52
57
  *
53
58
  * @param {T} schema - The base state schema
54
- * @param {Prefix} prefix - Prefix for index and item keys
55
59
  * @param {ArrayKeys<z.infer<T>>} iteratorKey - The state key containing the array to iterate
60
+ * @param {Prefix} [prefix] - Optional prefix for index and item keys. If not provided, uses iteratorKey
56
61
  */
57
- constructor(schema, prefix,
62
+ constructor(schema,
58
63
  // Disabled for now, until I can figure out a better approach for this
59
64
  // private readonly iteratorSelector: (state: S | NS) => Item[],
60
- iteratorKey) {
65
+ iteratorKey, prefix = iteratorKey) {
61
66
  super(schema);
62
67
  this.schema = schema;
63
- this.prefix = prefix;
64
68
  this.iteratorKey = iteratorKey;
69
+ this.prefix = prefix;
65
70
  this.nodes[INCREMENT_INDEX_NODE] = new nodes_1.FunctionNode((_, context) => {
66
71
  const indexContext = context.custom.indexCtx;
67
72
  indexContext.currentNode = (Number(indexContext.currentNode) + 1).toString();
@@ -160,7 +165,7 @@ class Iterator extends graph_1.Graph {
160
165
  * @returns {Promise<Partial<S>>} Final state with updated array
161
166
  */
162
167
  async run(input, contextOrRuntime) {
163
- let state = structuredClone(input);
168
+ let state = (0, util_1.cloneAware)(input);
164
169
  if (this.nodes[ITERATOR_LOOP_NODE] === undefined) {
165
170
  throw new Error(`Looped node is not set`);
166
171
  }
@@ -177,7 +182,7 @@ class Iterator extends graph_1.Graph {
177
182
  const result = await this.runInternal(state, context);
178
183
  context.done();
179
184
  indexContext.done();
180
- return { ...result, [this.iteratorKey]: structuredClone(context.custom.arr) };
185
+ return { ...result, [this.iteratorKey]: (0, util_1.cloneAware)(context.custom.arr) };
181
186
  }
182
187
  }
183
188
  exports.Iterator = Iterator;
@@ -1 +1 @@
1
- {"version":3,"file":"iterator.js","sourceRoot":"","sources":["../../src/graphs/iterator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iterator.js","sourceRoot":"","sources":["../../src/graphs/iterator.ts"],"names":[],"mappings":";;;AACA,oCAAkD;AAElD,kCAAqC;AACrC,mCAA4C;AAC5C,6BAAwB;AAmDxB;;GAEG;AACH,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAE3C;;GAEG;AACH,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAa,QAMX,SAAQ,aAAe;IASE;IAGF;IACA;IAZrB;;;;;;OAMG;IACH,YACuB,MAAS;IAC5B,sEAAsE;IACtE,gEAAgE;IAC/C,WAAkC,EAClC,SAAiB,WAAgC;QAElE,KAAK,CAAC,MAAM,CAAC,CAAC;QANK,WAAM,GAAN,MAAM,CAAG;QAGX,gBAAW,GAAX,WAAW,CAAuB;QAClC,WAAM,GAAN,MAAM,CAA2C;QAGlE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,IAAI,oBAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;YAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,QAAwB,CAAC;YAC7D,YAAY,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,WAAY,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9E,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,aAAK,CAAC,GAAG,CAAC,kBAAkB,EAAE,WAAG,CAAC,CAAC;QACzD,IAAI,CAAC,gBAAgB,CAAC,aAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE;YACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,WAAuB,CAAW,CAAC;YAC/D,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAG,CAAC;QAC1D,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,CAAC,oBAAoB,EAAE,WAAG,CAAC,CAAC;QACxE,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,QAAwB,CAAC;YAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,WAAY,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,WAAuB,CAAW,CAAC;YAC/D,OAAO,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,WAAG,CAAC;QACpE,CAAC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,kBAAkB,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,UAA2E;QACrF,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,UAAU,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,aAAa;QACT,OAAO,OAAC,CAAC,MAAM,CAAC;YACZ,CAAC,GAAG,IAAI,CAAC,MAAM,OAAO,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE;YACnC,CAAC,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAA6C,CAAoB;SACnH,CAA0C,CAAC;IAChD,CAAC;IAED;;;;;;;OAOG;IACO,gBAAgB,CACtB,KAAQ,EACR,OAAqB;QAErB,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,QAAwB,CAAC;QAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,WAAY,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,WAAsB,CAAW,CAAC;QAC9D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO;YACH,GAAG,KAAK;YACR,CAAC,GAAG,IAAI,CAAC,MAAM,OAAO,CAAC,EAAE,KAAK;YAC9B,CAAC,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,EAAE,IAAI;SACd,CAAC;IACvB,CAAC;IAED;;;;;;;OAOG;IACO,gBAAgB,CACtB,SAAsB,EACtB,OAAqB;QAErB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,GAAa,CAAC;QACzC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,QAAwB,CAAC;QAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,WAAY,CAAC,CAAC;QAChD,IAAI,GAAG,IAAI,CAAC,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;YACpC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,SAAgB,CAAC;YACnE,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YAClB,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,OAAO,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,SAAc,CAAC;IAC1B,CAAC;IAED;;;;;;;OAOG;IACM,KAAK,CAAC,GAAG,CACd,KAAQ,EACR,gBAA+C;QAE/C,IAAI,KAAK,GAAG,IAAA,iBAAU,EAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,YAAY,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC;QAClD,IAAI,YAAY,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACzC,YAAY,CAAC,WAAW,GAAG,GAAG,CAAC;QACnC,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,CAAC,WAAW,GAAG,aAAK,CAAC;QAChC,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,WAAsB,CAAW,CAAC;QAElE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEtD,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,YAAY,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAA,iBAAU,EAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAC7E,CAAC;CACJ;AA5JD,4BA4JC"}
@@ -0,0 +1,4 @@
1
+ export * from "./base-store";
2
+ export * from "./sqlite-store";
3
+ export * from "./stored-run";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/graphs/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./base-store"), exports);
18
+ __exportStar(require("./sqlite-store"), exports);
19
+ __exportStar(require("./stored-run"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/graphs/store/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,iDAA+B;AAC/B,+CAA6B"}
@@ -1,9 +1,9 @@
1
- interface EndResult<S> {
1
+ export interface EndResult<S> {
2
2
  runId: string;
3
3
  state: S;
4
4
  exitReason: "end";
5
5
  }
6
- interface InterruptResult<S> {
6
+ export interface InterruptResult<S> {
7
7
  runId: string;
8
8
  state: S;
9
9
  exitReason: "interrupt";
@@ -11,5 +11,4 @@ interface InterruptResult<S> {
11
11
  cursor: string;
12
12
  }
13
13
  export type GraphResult<S> = EndResult<S> | InterruptResult<S>;
14
- export {};
15
14
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/graphs/types.ts"],"names":[],"mappings":"AAAA,UAAU,SAAS,CAAC,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;IACT,UAAU,EAAE,KAAK,CAAC;CACrB;AAED,UAAU,eAAe,CAAC,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;IACT,UAAU,EAAE,WAAW,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/graphs/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS,CAAC,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;IACT,UAAU,EAAE,KAAK,CAAC;CACrB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;IACT,UAAU,EAAE,WAAW,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from "./graphs";
2
+ export * from "./messages";
3
+ export * from "./models";
4
+ export * from "./nodes";
5
+ export * from "./tools";
6
+ export * from "./util";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./graphs"), exports);
18
+ __exportStar(require("./messages"), exports);
19
+ __exportStar(require("./models"), exports);
20
+ __exportStar(require("./nodes"), exports);
21
+ __exportStar(require("./tools"), exports);
22
+ __exportStar(require("./util"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,6CAA2B;AAC3B,2CAAyB;AACzB,0CAAwB;AACxB,0CAAwB;AACxB,yCAAuB"}
@@ -1,6 +1,7 @@
1
1
  import * as z from "zod";
2
2
  import { AgentMessage, MessageContent, ModelMessages, SystemMessage, ToolRequest } from "../messages";
3
- import { ToolDefinition } from "../tools";
3
+ import { ToolDefinition, ToolImplementation } from "../tools";
4
+ import { ReActAgent } from "./react-agent";
4
5
  /**
5
6
  * Configuration options for model initialization.
6
7
  *
@@ -167,6 +168,7 @@ export declare abstract class BaseModel {
167
168
  * ```
168
169
  */
169
170
  invoke(messages: ModelMessages[], properties?: Record<string, any>): Promise<InvokeResponse>;
171
+ makeReActAgent(tools: ToolImplementation<any, any, any>[]): ReActAgent;
170
172
  }
171
173
  /**
172
174
  * Error thrown when response is not structured output as expected.
@@ -1 +1 @@
1
- {"version":3,"file":"BaseModel.d.ts","sourceRoot":"","sources":["../../src/models/BaseModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseModel.d.ts","sourceRoot":"","sources":["../../src/models/BaseModel.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StructuredOutputWrapper = exports.ResponseNotStructuredOutputError = exports.BaseModel = exports.InvokeResponseStopReason = void 0;
4
4
  const messages_1 = require("../messages");
5
+ const react_agent_1 = require("./react-agent");
5
6
  /**
6
7
  * Enum representing the reason why model generation stopped.
7
8
  *
@@ -160,6 +161,10 @@ class BaseModel {
160
161
  return message;
161
162
  }));
162
163
  }
164
+ makeReActAgent(tools) {
165
+ this.tools = [];
166
+ return new react_agent_1.ReActAgent(this, tools);
167
+ }
163
168
  }
164
169
  exports.BaseModel = BaseModel;
165
170
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"BaseModel.js","sourceRoot":"","sources":["../../src/models/BaseModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseModel.js","sourceRoot":"","sources":["../../src/models/BaseModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from "./BaseModel";
2
+ export * from "./BedrockModel";
3
+ export * from "./TestModel";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./BaseModel"), exports);
18
+ __exportStar(require("./BedrockModel"), exports);
19
+ __exportStar(require("./TestModel"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,iDAA+B;AAC/B,8CAA4B"}
@@ -0,0 +1,12 @@
1
+ import { ModelMessages } from "../messages";
2
+ import { ToolImplementation } from "../tools";
3
+ import { BaseModel } from "./BaseModel";
4
+ export declare class ReActAgent {
5
+ private readonly model;
6
+ private readonly tools;
7
+ invokeLoopLimit: number;
8
+ private readonly toolMap;
9
+ constructor(model: BaseModel, tools: ToolImplementation<any, any, any>[]);
10
+ invoke(messages: ModelMessages[], additionalArgs?: Record<string, any>): Promise<import("./BaseModel").InvokeResponse>;
11
+ }
12
+ //# sourceMappingURL=react-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-agent.d.ts","sourceRoot":"","sources":["../../src/models/react-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,UAAU;IAIP,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAa,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHrE,eAAe,SAAM;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwD;gBAEnD,KAAK,EAAE,SAAS,EAAmB,KAAK,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;IAOpG,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CA2B/E"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReActAgent = void 0;
4
+ const messages_1 = require("../messages");
5
+ const util_1 = require("../util");
6
+ class ReActAgent {
7
+ model;
8
+ tools;
9
+ invokeLoopLimit = 10;
10
+ toolMap = new Map();
11
+ constructor(model, tools) {
12
+ this.model = model;
13
+ this.tools = tools;
14
+ for (const tool of tools) {
15
+ this.toolMap.set(tool.name, tool);
16
+ }
17
+ }
18
+ // starts from the provided messages, and keeps running the agent until the response doesn't include tool calls
19
+ async invoke(messages, additionalArgs) {
20
+ let allMessage = (0, util_1.cloneAware)(messages);
21
+ this.model.withTools(this.tools.map(tool => ({
22
+ name: tool.name,
23
+ description: tool.description,
24
+ schema: tool.schema,
25
+ })));
26
+ let loopCount = 0;
27
+ while (loopCount < this.invokeLoopLimit) {
28
+ ++loopCount;
29
+ const response = await this.model.invoke(allMessage, additionalArgs);
30
+ const toolRequests = response.messages.filter(message => message instanceof messages_1.ToolRequest);
31
+ if (toolRequests.length === 0) {
32
+ return response;
33
+ }
34
+ allMessage = [...allMessage, ...response.messages];
35
+ for (const toolRequest of toolRequests) {
36
+ const tool = this.toolMap.get(toolRequest.toolName);
37
+ if (!tool) {
38
+ throw new Error(`Tool ${toolRequest.toolName} not found. This should not happen as all tools would be specified`);
39
+ }
40
+ const toolResponse = await tool.func(toolRequest.input, additionalArgs);
41
+ allMessage.push(new messages_1.ToolResponse(toolRequest.toolUseId, toolRequest.toolName, toolResponse));
42
+ }
43
+ }
44
+ throw new Error("ReActAgent loop limit reached without agent resolution.");
45
+ }
46
+ }
47
+ exports.ReActAgent = ReActAgent;
48
+ //# sourceMappingURL=react-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-agent.js","sourceRoot":"","sources":["../../src/models/react-agent.ts"],"names":[],"mappings":";;;AAAA,0CAAuE;AAEvE,kCAAqC;AAGrC,MAAa,UAAU;IAIU;IAAmC;IAHhE,eAAe,GAAG,EAAE,CAAC;IACJ,OAAO,GAAG,IAAI,GAAG,EAA6C,CAAC;IAEhF,YAA6B,KAAgB,EAAmB,KAA0C;QAA7E,UAAK,GAAL,KAAK,CAAW;QAAmB,UAAK,GAAL,KAAK,CAAqC;QACtG,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED,+GAA+G;IAC/G,KAAK,CAAC,MAAM,CAAC,QAAyB,EAAE,cAAoC;QACxE,IAAI,UAAU,GAAoB,IAAA,iBAAU,EAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC,CAAC,CAAC,CAAC;QACL,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,OAAO,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACtC,EAAE,SAAS,CAAC;YACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YACrE,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,sBAAW,CAAC,CAAC;YACzF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,QAAQ,CAAC;YACpB,CAAC;YACD,UAAU,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAoB,CAAC;YACtE,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACrC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACpD,IAAI,CAAC,IAAI,EAAE,CAAC;oBACR,MAAM,IAAI,KAAK,CAAC,QAAQ,WAAW,CAAC,QAAQ,oEAAoE,CAAC,CAAC;gBACtH,CAAC;gBACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;gBACxE,UAAU,CAAC,IAAI,CAAC,IAAI,uBAAY,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;YACjG,CAAC;QACL,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC/E,CAAC;CACJ;AAtCD,gCAsCC"}
@@ -1,4 +1,5 @@
1
- export { FunctionNode, makeNode } from "./function-node";
2
- export { InterruptNode } from "./interrupt-node";
3
- export { type NodeLike } from "./types";
1
+ export * from "./function-node";
2
+ export * from "./interrupt-node";
3
+ export * from "./model-node";
4
+ export * from "./types";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nodes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nodes/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
@@ -1,9 +1,21 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InterruptNode = exports.makeNode = exports.FunctionNode = void 0;
4
- var function_node_1 = require("./function-node");
5
- Object.defineProperty(exports, "FunctionNode", { enumerable: true, get: function () { return function_node_1.FunctionNode; } });
6
- Object.defineProperty(exports, "makeNode", { enumerable: true, get: function () { return function_node_1.makeNode; } });
7
- var interrupt_node_1 = require("./interrupt-node");
8
- Object.defineProperty(exports, "InterruptNode", { enumerable: true, get: function () { return interrupt_node_1.InterruptNode; } });
17
+ __exportStar(require("./function-node"), exports);
18
+ __exportStar(require("./interrupt-node"), exports);
19
+ __exportStar(require("./model-node"), exports);
20
+ __exportStar(require("./types"), exports);
9
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nodes/index.ts"],"names":[],"mappings":";;;AAAA,iDAAyD;AAAhD,6GAAA,YAAY,OAAA;AAAE,yGAAA,QAAQ,OAAA;AAC/B,mDAAiD;AAAxC,+GAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nodes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,mDAAiC;AACjC,+CAA6B;AAC7B,0CAAwB"}
package/dist/tools.d.ts CHANGED
@@ -37,18 +37,20 @@ export declare function defineTool<T>(name: string, description: string, schema:
37
37
  *
38
38
  * @template T - The input type for the tool
39
39
  * @template K - The output type returned by the tool function
40
+ * @template A - The additional arguments type
40
41
  */
41
- interface ToolImplementation<T, K> extends ToolDefinition<T> {
42
- func: (input: T) => K | Promise<K>;
42
+ export interface ToolImplementation<T, K, A extends Record<string, any>> extends ToolDefinition<T> {
43
+ func: (input: T, additionalArgs?: A) => K | Promise<K>;
43
44
  }
44
45
  /**
45
46
  * Creates a complete tool implementation by combining a tool definition with its function.
46
47
  *
47
48
  * @template T - The input parameter type
48
49
  * @template K - The return type of the tool function
50
+ * @template A - The additional arguments type
49
51
  * @param {ToolDefinition<T>} toolDefinition - The tool definition created with defineTool()
50
- * @param {(input: T) => K | Promise<K>} func - The function that implements the tool's behavior
51
- * @returns {ToolImplementation<T, K>} A complete tool with both definition and implementation
52
+ * @param {(input: T, additionalArgs?: Record<string, any>) => K | Promise<K>} func - The function that implements the tool's behavior
53
+ * @returns {ToolImplementation<T, K, A>} A complete tool with both definition and implementation
52
54
  *
53
55
  * @example
54
56
  * ```typescript
@@ -60,6 +62,5 @@ interface ToolImplementation<T, K> extends ToolDefinition<T> {
60
62
  * );
61
63
  * ```
62
64
  */
63
- export declare function tool<T, K>(toolDefinition: ToolDefinition<T>, func: (input: T) => K | Promise<K>): ToolImplementation<T, K>;
64
- export {};
65
+ export declare function tool<T, K, A extends Record<string, any>>(toolDefinition: ToolDefinition<T>, func: (input: T, additionalArgs?: A) => K | Promise<K>): ToolImplementation<T, K, A>;
65
66
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,MAAM;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,CAAC,EACxB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GACvB,cAAc,CAAC,CAAC,CAAC,CAMnB;AAED;;;;;GAKG;AACH,UAAU,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IACxD,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EACrB,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,EACjC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACnC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAK1B"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,MAAM;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,CAAC,EACxB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GACvB,cAAc,CAAC,CAAC,CAAC,CAMnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IAC9F,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC1D;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpD,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,EACjC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvD,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAK7B"}