@arvo-tools/agentic 0.4.1 → 1.0.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 (60) hide show
  1. package/dist/Agent/AgentDefaults.d.ts +4 -2
  2. package/dist/Agent/AgentDefaults.d.ts.map +1 -1
  3. package/dist/Agent/AgentDefaults.js +3 -0
  4. package/dist/Agent/AgentDefaults.js.map +1 -1
  5. package/dist/Agent/agentLoop.d.ts +22 -1
  6. package/dist/Agent/agentLoop.d.ts.map +1 -1
  7. package/dist/Agent/agentLoop.js +39 -4
  8. package/dist/Agent/agentLoop.js.map +1 -1
  9. package/dist/Agent/index.d.ts +76 -3
  10. package/dist/Agent/index.d.ts.map +1 -1
  11. package/dist/Agent/index.js +77 -2
  12. package/dist/Agent/index.js.map +1 -1
  13. package/dist/Agent/schema.d.ts +9 -0
  14. package/dist/Agent/schema.d.ts.map +1 -1
  15. package/dist/Agent/schema.js +7 -0
  16. package/dist/Agent/schema.js.map +1 -1
  17. package/dist/Agent/types.d.ts +214 -58
  18. package/dist/Agent/types.d.ts.map +1 -1
  19. package/dist/Agent/utils.d.ts +46 -1
  20. package/dist/Agent/utils.d.ts.map +1 -1
  21. package/dist/Agent/utils.js +43 -0
  22. package/dist/Agent/utils.js.map +1 -1
  23. package/dist/{Agent/agentTool.d.ts → AgentTool/index.d.ts} +3 -3
  24. package/dist/AgentTool/index.d.ts.map +1 -0
  25. package/dist/{Agent/agentTool.js → AgentTool/index.js} +1 -1
  26. package/dist/AgentTool/index.js.map +1 -0
  27. package/dist/AgentTool/types.d.ts +21 -0
  28. package/dist/AgentTool/types.d.ts.map +1 -0
  29. package/dist/AgentTool/types.js +3 -0
  30. package/dist/AgentTool/types.js.map +1 -0
  31. package/dist/Integrations/MCPClient.d.ts +62 -29
  32. package/dist/Integrations/MCPClient.d.ts.map +1 -1
  33. package/dist/Integrations/MCPClient.js +60 -29
  34. package/dist/Integrations/MCPClient.js.map +1 -1
  35. package/dist/Integrations/openai/index.d.ts +25 -0
  36. package/dist/Integrations/openai/index.d.ts.map +1 -0
  37. package/dist/Integrations/{openai.js → openai/index.js} +64 -28
  38. package/dist/Integrations/openai/index.js.map +1 -0
  39. package/dist/Integrations/prompts.d.ts +8 -0
  40. package/dist/Integrations/prompts.d.ts.map +1 -0
  41. package/dist/Integrations/prompts.js +12 -0
  42. package/dist/Integrations/prompts.js.map +1 -0
  43. package/dist/Integrations/types.d.ts +101 -0
  44. package/dist/Integrations/types.d.ts.map +1 -0
  45. package/dist/Integrations/types.js +3 -0
  46. package/dist/Integrations/types.js.map +1 -0
  47. package/dist/index.d.ts +7 -4
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +5 -3
  50. package/dist/index.js.map +1 -1
  51. package/dist/interfaces.mcp.d.ts +29 -0
  52. package/dist/interfaces.mcp.d.ts.map +1 -1
  53. package/dist/types.d.ts +13 -0
  54. package/dist/types.d.ts.map +1 -1
  55. package/package.json +1 -1
  56. package/dist/Agent/agentTool.d.ts.map +0 -1
  57. package/dist/Agent/agentTool.js.map +0 -1
  58. package/dist/Integrations/openai.d.ts +0 -10
  59. package/dist/Integrations/openai.d.ts.map +0 -1
  60. package/dist/Integrations/openai.js.map +0 -1
@@ -1,6 +1,8 @@
1
1
  import type { ArvoSemanticVersion } from 'arvo-core';
2
2
  import z from 'zod';
3
- import type { AgentContextBuilder, AgentInternalTool, AgentOutputBuilder, AgentServiceContract, AnyArvoOrchestratorContract, PromiseLike } from './types.js';
3
+ import type { AgentInternalTool } from '../AgentTool/types.js';
4
+ import type { PromiseAble } from '../types.js';
5
+ import type { AgentContextBuilder, AgentOutputBuilder, AgentServiceContract, AnyArvoOrchestratorContract } from './types.js';
4
6
  export declare const AgentDefaults: {
5
7
  readonly INIT_SCHEMA: z.ZodObject<{
6
8
  message: z.ZodString;
@@ -22,7 +24,7 @@ export declare const AgentDefaults: {
22
24
  }, {
23
25
  response: string;
24
26
  }>;
25
- readonly CONTEXT_BUILDER: <T extends AnyArvoOrchestratorContract, V extends ArvoSemanticVersion, TServiceContract extends Record<string, AgentServiceContract>, TTools extends Record<string, AgentInternalTool>>(systemPromptBuilder?: (param: Parameters<AgentContextBuilder<T, V, TServiceContract, TTools>>[0]) => PromiseLike<string>) => AgentContextBuilder<T, V, TServiceContract, TTools>;
27
+ readonly CONTEXT_BUILDER: <T extends AnyArvoOrchestratorContract, V extends ArvoSemanticVersion, TServiceContract extends Record<string, AgentServiceContract>, TTools extends Record<string, AgentInternalTool>>(systemPromptBuilder?: (param: Parameters<AgentContextBuilder<T, V, TServiceContract, TTools>>[0]) => PromiseAble<string>) => AgentContextBuilder<T, V, TServiceContract, TTools>;
26
28
  readonly OUTPUT_BUILDER: AgentOutputBuilder;
27
29
  };
28
30
  //# sourceMappingURL=AgentDefaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentDefaults.d.ts","sourceRoot":"","sources":["../../src/Agent/AgentDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EAEjB,kBAAkB,EAClB,oBAAoB,EACpB,2BAA2B,EAC3B,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;+BAqBpB,CAAC,SAAS,2BAA2B,EACrC,CAAC,SAAS,mBAAmB,EAC7B,gBAAgB,SAAS,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC7D,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,wBAE1B,CACpB,KAAK,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KACtE,WAAW,CAAC,MAAM,CAAC,KACvB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC;6BAoDlD,kBAAkB;CAChB,CAAC"}
1
+ {"version":3,"file":"AgentDefaults.d.ts","sourceRoot":"","sources":["../../src/Agent/AgentDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EACV,mBAAmB,EAEnB,kBAAkB,EAClB,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;+BAqBpB,CAAC,SAAS,2BAA2B,EACrC,CAAC,SAAS,mBAAmB,EAC7B,gBAAgB,SAAS,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC7D,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,wBAE1B,CACpB,KAAK,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KACtE,WAAW,CAAC,MAAM,CAAC,KACvB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC;6BAuDlD,kBAAkB;CAChB,CAAC"}
@@ -82,12 +82,14 @@ exports.AgentDefaults = {
82
82
  {
83
83
  role: 'user',
84
84
  content: { type: 'text', content: param.input.data.message },
85
+ seenCount: 0,
85
86
  },
86
87
  ];
87
88
  try {
88
89
  for (_a = __values((_h = param.input.data.pdfBase64) !== null && _h !== void 0 ? _h : []), _b = _a.next(); !_b.done; _b = _a.next()) {
89
90
  item = _b.value;
90
91
  messages.push({
92
+ seenCount: 0,
91
93
  role: 'user',
92
94
  content: {
93
95
  type: 'media',
@@ -113,6 +115,7 @@ exports.AgentDefaults = {
113
115
  for (_c = __values((_j = param.input.data.imageBase64) !== null && _j !== void 0 ? _j : []), _d = _c.next(); !_d.done; _d = _c.next()) {
114
116
  item = _d.value;
115
117
  messages.push({
118
+ seenCount: 0,
116
119
  role: 'user',
117
120
  content: {
118
121
  type: 'media',
@@ -1 +1 @@
1
- {"version":3,"file":"AgentDefaults.js","sourceRoot":"","sources":["../../src/Agent/AgentDefaults.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6BAA0B;AAC1B,4CAAoB;AAWP,QAAA,aAAa,GAAG;IAC3B,WAAW,EAAE,aAAC,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC9D,WAAW,EAAE,aAAC;aACX,MAAM,EAAE;aACR,KAAK,EAAE;aACP,QAAQ,EAAE;aACV,QAAQ,CACP,oFAAoF,CACrF;QACH,SAAS,EAAE,aAAC;aACT,MAAM,EAAE;aACR,KAAK,EAAE;aACP,QAAQ,EAAE;aACV,QAAQ,CAAC,2EAA2E,CAAC;KACzF,CAAC;IACF,eAAe,EAAE,aAAC,CAAC,MAAM,CAAC;QACxB,QAAQ,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;KAClE,CAAC;IACF,eAAe,EACb,UAME,mBAEwB;QAE1B,OAAA,UAAO,KAAK;;;;;;;wBACJ,QAAQ,GAAmB;4BAC/B;gCACE,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE;6BAC7D;yBACF,CAAC;;4BAEF,KAAmB,KAAA,SAAA,MAAA,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,mCAAI,EAAE,CAAA,4CAAE,CAAC;gCAA3C,IAAI;gCACb,QAAQ,CAAC,IAAI,CAAC;oCACZ,IAAI,EAAE,MAAM;oCACZ,OAAO,EAAE;wCACP,IAAI,EAAE,OAAO;wCACb,OAAO,EAAE,IAAI;wCACb,WAAW,EAAE;4CACX,MAAM,EAAE,QAAQ;4CAChB,IAAI,EAAE,MAAM;4CACZ,QAAQ,EAAE,UAAG,IAAA,SAAE,GAAE,SAAM;4CACvB,QAAQ,EAAE,KAAK;yCAChB;qCACF;iCACF,CAAC,CAAC;4BACL,CAAC;;;;;;;;;;4BAED,KAAmB,KAAA,SAAA,MAAA,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAA,4CAAE,CAAC;gCAA7C,IAAI;gCACb,QAAQ,CAAC,IAAI,CAAC;oCACZ,IAAI,EAAE,MAAM;oCACZ,OAAO,EAAE;wCACP,IAAI,EAAE,OAAO;wCACb,OAAO,EAAE,IAAI;wCACb,WAAW,EAAE;4CACX,MAAM,EAAE,QAAQ;4CAChB,IAAI,EAAE,OAAO;4CACb,QAAQ,EAAE,UAAG,IAAA,SAAE,GAAE,SAAM;4CACvB,QAAQ,EAAE,KAAK;yCAChB;qCACF;iCACF,CAAC,CAAC;4BACL,CAAC;;;;;;;;;;wBAGU,qBAAM,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,KAAK,CAAC,CAAA,EAAA;4BAD7C,uBACE,SAAM,GAAE,MAAA,CAAC,SAAkC,CAAC,mCAAI,IAAI;4BACpD,WAAQ,WAAA;iCACR;;;aACH;IA5CD,CA4CC;IACH,cAAc,EAAE,CAAC,UAAC,KAAK;QACrB,OAAO;YACL,IAAI,EAAE;gBACJ,QAAQ,EAAE,KAAK,CAAC,OAAO;aACxB;SACF,CAAC;IACJ,CAAC,CAAuB;CAChB,CAAC"}
1
+ {"version":3,"file":"AgentDefaults.js","sourceRoot":"","sources":["../../src/Agent/AgentDefaults.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6BAA0B;AAC1B,4CAAoB;AAWP,QAAA,aAAa,GAAG;IAC3B,WAAW,EAAE,aAAC,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC9D,WAAW,EAAE,aAAC;aACX,MAAM,EAAE;aACR,KAAK,EAAE;aACP,QAAQ,EAAE;aACV,QAAQ,CACP,oFAAoF,CACrF;QACH,SAAS,EAAE,aAAC;aACT,MAAM,EAAE;aACR,KAAK,EAAE;aACP,QAAQ,EAAE;aACV,QAAQ,CAAC,2EAA2E,CAAC;KACzF,CAAC;IACF,eAAe,EAAE,aAAC,CAAC,MAAM,CAAC;QACxB,QAAQ,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;KAClE,CAAC;IACF,eAAe,EACb,UAME,mBAEwB;QAE1B,OAAA,UAAO,KAAK;;;;;;;wBACJ,QAAQ,GAAmB;4BAC/B;gCACE,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE;gCAC5D,SAAS,EAAE,CAAC;6BACb;yBACF,CAAC;;4BAEF,KAAmB,KAAA,SAAA,MAAA,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,mCAAI,EAAE,CAAA,4CAAE,CAAC;gCAA3C,IAAI;gCACb,QAAQ,CAAC,IAAI,CAAC;oCACZ,SAAS,EAAE,CAAC;oCACZ,IAAI,EAAE,MAAM;oCACZ,OAAO,EAAE;wCACP,IAAI,EAAE,OAAO;wCACb,OAAO,EAAE,IAAI;wCACb,WAAW,EAAE;4CACX,MAAM,EAAE,QAAQ;4CAChB,IAAI,EAAE,MAAM;4CACZ,QAAQ,EAAE,UAAG,IAAA,SAAE,GAAE,SAAM;4CACvB,QAAQ,EAAE,KAAK;yCAChB;qCACF;iCACF,CAAC,CAAC;4BACL,CAAC;;;;;;;;;;4BAED,KAAmB,KAAA,SAAA,MAAA,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAA,4CAAE,CAAC;gCAA7C,IAAI;gCACb,QAAQ,CAAC,IAAI,CAAC;oCACZ,SAAS,EAAE,CAAC;oCACZ,IAAI,EAAE,MAAM;oCACZ,OAAO,EAAE;wCACP,IAAI,EAAE,OAAO;wCACb,OAAO,EAAE,IAAI;wCACb,WAAW,EAAE;4CACX,MAAM,EAAE,QAAQ;4CAChB,IAAI,EAAE,OAAO;4CACb,QAAQ,EAAE,UAAG,IAAA,SAAE,GAAE,SAAM;4CACvB,QAAQ,EAAE,KAAK;yCAChB;qCACF;iCACF,CAAC,CAAC;4BACL,CAAC;;;;;;;;;;wBAGU,qBAAM,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,KAAK,CAAC,CAAA,EAAA;4BAD7C,uBACE,SAAM,GAAE,MAAA,CAAC,SAAkC,CAAC,mCAAI,IAAI;4BACpD,WAAQ,WAAA;iCACR;;;aACH;IA/CD,CA+CC;IACH,cAAc,EAAE,CAAC,UAAC,KAAK;QACrB,OAAO;YACL,IAAI,EAAE;gBACJ,QAAQ,EAAE,KAAK,CAAC,OAAO;aACxB;SACF,CAAC;IACJ,CAAC,CAAuB;CAChB,CAAC"}
@@ -1,7 +1,26 @@
1
1
  import type z from 'zod';
2
+ import type { AgentLLMIntegration, AgentLLMIntegrationParam } from '../Integrations/types.js';
2
3
  import type { IMCPClient } from '../interfaces.mcp.js';
3
4
  import type { OtelInfoType } from '../types.js';
4
- import type { AgentLLMIntegration, AgentLLMIntegrationParam, AgentMessage, AgentOutputBuilder, AgentToolDefinition, CreateArvoAgentParam } from './types.js';
5
+ import type { AgentMessage, AgentOutputBuilder, AgentToolDefinition, CreateArvoAgentParam } from './types.js';
6
+ /**
7
+ * The Core Cognitive Loop of the Arvo Agent.
8
+ *
9
+ * This function implements the **ReAct (Reason + Act)** pattern, orchestrating the interactive
10
+ * session between the Large Language Model (LLM) and the available Tool ecosystem.
11
+ *
12
+ * @remarks
13
+ * **Hybrid Execution Strategy:**
14
+ * The loop handles two types of tool executions differently:
15
+ * 1. **Synchronous Tools (Internal & MCP):** These are executed **immediately** within the loop.
16
+ * The results are added to the history, and the LLM is called again in the same tick.
17
+ * 2. **Asynchronous Tools (Arvo Services):** These interrupt the loop. The function returns
18
+ * the tool call definition, signaling the parent `ArvoResumable` to **emit an event and suspend**.
19
+ *
20
+ * **Self-Correction:**
21
+ * If the LLM's final output fails the Contract's Output Schema validation (via `outputBuilder`),
22
+ * the loop catches the error and feeds it back to the LLM for auto-correction.
23
+ */
5
24
  export declare const agentLoop: (param: {
6
25
  initLifecycle: AgentLLMIntegrationParam["lifecycle"];
7
26
  system: string | null;
@@ -49,6 +68,7 @@ export declare const agentLoop: (param: {
49
68
  input: Record<string, any>;
50
69
  };
51
70
  role: "user" | "assistant";
71
+ seenCount: number;
52
72
  }[];
53
73
  toolCalls: {
54
74
  type: "tool_use";
@@ -92,6 +112,7 @@ export declare const agentLoop: (param: {
92
112
  input: Record<string, any>;
93
113
  };
94
114
  role: "user" | "assistant";
115
+ seenCount: number;
95
116
  }[];
96
117
  output: {
97
118
  [x: string]: any;
@@ -1 +1 @@
1
- {"version":3,"file":"agentLoop.d.ts","sourceRoot":"","sources":["../../src/Agent/agentLoop.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAEV,mBAAmB,EACnB,wBAAwB,EACxB,YAAY,EACZ,kBAAkB,EAElB,mBAAmB,EAGnB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAGpB,eAAO,MAAM,SAAS,GACpB,OAAO;IACL,aAAa,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC;IAC3B,aAAa,EAAE,kBAAkB,CAAC;IAClC,eAAe,EAAE,WAAW,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACtE,GAAG,EAAE,mBAAmB,CAAC;IACzB,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,0BAA0B,EAAE,MAAM,CAAC;CACpC,EACD,QAAQ;IAAE,QAAQ,EAAE,YAAY,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiPhC,CAAC"}
1
+ {"version":3,"file":"agentLoop.d.ts","sourceRoot":"","sources":["../../src/Agent/agentLoop.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,KAAK,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC9F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAElB,mBAAmB,EAGnB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAGpB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,SAAS,GACpB,OAAO;IACL,aAAa,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC;IAC3B,aAAa,EAAE,kBAAkB,CAAC;IAClC,eAAe,EAAE,WAAW,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACtE,GAAG,EAAE,mBAAmB,CAAC;IACzB,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,0BAA0B,EAAE,MAAM,CAAC;CACpC,EACD,QAAQ;IAAE,QAAQ,EAAE,YAAY,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqQhC,CAAC"}
@@ -87,6 +87,24 @@ exports.agentLoop = void 0;
87
87
  var openinference_semantic_conventions_1 = require("@arizeai/openinference-semantic-conventions");
88
88
  var arvo_core_1 = require("arvo-core");
89
89
  var utils_1 = require("./utils");
90
+ /**
91
+ * The Core Cognitive Loop of the Arvo Agent.
92
+ *
93
+ * This function implements the **ReAct (Reason + Act)** pattern, orchestrating the interactive
94
+ * session between the Large Language Model (LLM) and the available Tool ecosystem.
95
+ *
96
+ * @remarks
97
+ * **Hybrid Execution Strategy:**
98
+ * The loop handles two types of tool executions differently:
99
+ * 1. **Synchronous Tools (Internal & MCP):** These are executed **immediately** within the loop.
100
+ * The results are added to the history, and the LLM is called again in the same tick.
101
+ * 2. **Asynchronous Tools (Arvo Services):** These interrupt the loop. The function returns
102
+ * the tool call definition, signaling the parent `ArvoResumable` to **emit an event and suspend**.
103
+ *
104
+ * **Self-Correction:**
105
+ * If the LLM's final output fails the Contract's Output Schema validation (via `outputBuilder`),
106
+ * the loop catches the error and feeds it back to the LLM for auto-correction.
107
+ */
90
108
  var agentLoop = function (param, config) { return __awaiter(void 0, void 0, void 0, function () {
91
109
  var _a;
92
110
  return __generator(this, function (_b) {
@@ -104,7 +122,7 @@ var agentLoop = function (param, config) { return __awaiter(void 0, void 0, void
104
122
  _a),
105
123
  },
106
124
  fn: function (span) { return __awaiter(void 0, void 0, void 0, function () {
107
- var otelInfo, nameToToolMap, lifecycle, executionUnits, currentToolInteractionCount, messages, toolQuotaExhausted, response, arvoToolCalls, mcpToolResultPromises, internalToolResultPromises, _loop_1, _a, _b, item, _c, _d, item, e_1_1, _e, _f, item, e_2_1, outputResult;
125
+ var otelInfo, nameToToolMap, lifecycle, executionUnits, currentToolInteractionCount, messages, toolQuotaExhausted, response, i, arvoToolCalls, mcpToolResultPromises, internalToolResultPromises, _loop_1, _a, _b, item, _c, _d, item, e_1_1, _e, _f, item, e_2_1, outputResult;
108
126
  var e_3, _g, e_1, _h, e_2, _j;
109
127
  var _k, _l, _m;
110
128
  return __generator(this, function (_o) {
@@ -145,6 +163,11 @@ var agentLoop = function (param, config) { return __awaiter(void 0, void 0, void
145
163
  response = _o.sent();
146
164
  currentToolInteractionCount++;
147
165
  executionUnits += response.executionUnits;
166
+ // Update the message seen count by one for all the
167
+ // messages which the LLM has seen
168
+ for (i = 0; i < messages.length; i++) {
169
+ messages[i].seenCount += 1;
170
+ }
148
171
  if (!(response.type === 'tool_call')) return [3 /*break*/, 19];
149
172
  arvoToolCalls = [];
150
173
  mcpToolResultPromises = [];
@@ -156,7 +179,12 @@ var agentLoop = function (param, config) { return __awaiter(void 0, void 0, void
156
179
  name: item.name,
157
180
  input: item.input,
158
181
  };
159
- messages.push({ role: 'assistant', content: toolCallContent });
182
+ messages.push({
183
+ role: 'assistant',
184
+ content: toolCallContent,
185
+ // This has been viewed by the LLM as it was generated by it
186
+ seenCount: 1,
187
+ });
160
188
  var resolvedToolDef = nameToToolMap[item.name];
161
189
  if (!resolvedToolDef) {
162
190
  messages.push({
@@ -166,6 +194,7 @@ var agentLoop = function (param, config) { return __awaiter(void 0, void 0, void
166
194
  toolUseId: item.toolUseId,
167
195
  content: "The tool ".concat(item.name, " does not exist. Please check if you are using the correct tool and don't call this tool again till you have confirmed the existance of the correct tool"),
168
196
  },
197
+ seenCount: 0,
169
198
  });
170
199
  return "continue";
171
200
  }
@@ -243,6 +272,7 @@ var agentLoop = function (param, config) { return __awaiter(void 0, void 0, void
243
272
  message: zodParseResult.error.message,
244
273
  }),
245
274
  },
275
+ seenCount: 0,
246
276
  });
247
277
  }
248
278
  else {
@@ -274,7 +304,7 @@ var agentLoop = function (param, config) { return __awaiter(void 0, void 0, void
274
304
  case 6:
275
305
  if (!!_d.done) return [3 /*break*/, 8];
276
306
  item = _d.value;
277
- messages.push({ role: 'user', content: item });
307
+ messages.push({ role: 'user', content: item, seenCount: 0 });
278
308
  _o.label = 7;
279
309
  case 7:
280
310
  _d = _c.next();
@@ -300,7 +330,7 @@ var agentLoop = function (param, config) { return __awaiter(void 0, void 0, void
300
330
  case 13:
301
331
  if (!!_f.done) return [3 /*break*/, 15];
302
332
  item = _f.value;
303
- messages.push({ role: 'user', content: item });
333
+ messages.push({ role: 'user', content: item, seenCount: 0 });
304
334
  _o.label = 14;
305
335
  case 14:
306
336
  _f = _e.next();
@@ -340,6 +370,8 @@ var agentLoop = function (param, config) { return __awaiter(void 0, void 0, void
340
370
  type: 'text',
341
371
  content: 'content' in response && response.content ? response.content : 'No response',
342
372
  },
373
+ // This has been viewed by the LLM as it was generated by it
374
+ seenCount: 1,
343
375
  });
344
376
  messages.push({
345
377
  role: 'user',
@@ -351,6 +383,7 @@ var agentLoop = function (param, config) { return __awaiter(void 0, void 0, void
351
383
  message: outputResult.error.message,
352
384
  }),
353
385
  },
386
+ seenCount: 0,
354
387
  });
355
388
  lifecycle = 'output_error_feedback';
356
389
  return [3 /*break*/, 2];
@@ -362,6 +395,8 @@ var agentLoop = function (param, config) { return __awaiter(void 0, void 0, void
362
395
  type: 'text',
363
396
  content: JSON.stringify(outputResult.data),
364
397
  },
398
+ // This has been viewed by the LLM as it was generated by it
399
+ seenCount: 1,
365
400
  });
366
401
  return [2 /*return*/, {
367
402
  messages: messages,
@@ -1 +1 @@
1
- {"version":3,"file":"agentLoop.js","sourceRoot":"","sources":["../../src/Agent/agentLoop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentLoop.js","sourceRoot":"","sources":["../../src/Agent/agentLoop.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import type { AgentInternalTool, AgentMessage, AgentServiceContract, AnyArvoOrchestratorContract, CreateArvoAgentParam } from './types.js';
2
- type AgentState = {
1
+ import type { AgentInternalTool } from '../AgentTool/types.js';
2
+ import type { AgentMessage, AgentServiceContract, AnyArvoOrchestratorContract, CreateArvoAgentParam } from './types.js';
3
+ export type AgentState = {
3
4
  currentSubject: string;
4
5
  system: string | null;
5
6
  messages: AgentMessage[];
@@ -13,6 +14,78 @@ type AgentState = {
13
14
  }>;
14
15
  totalExecutionUnits: number;
15
16
  };
17
+ /**
18
+ * Creates a fully-featured AI Agent implemented as an Arvo Resumable Event Handler.
19
+ *
20
+ * This factory transforms a standard Large Language Model (LLM) into a stateful, event-driven
21
+ * participant in your system. Unlike standard chatbots, this Agent can interact with:
22
+ * 1. **Local Tools**: Async/Sync JavaScript functions executed immediately.
23
+ * 2. **MCP Servers**: External data sources via the Model Context Protocol.
24
+ * 3. **Arvo Services**: Other Event Handlers in your Arvo distributed system (Async/Distributed tools).
25
+ *
26
+ * @remarks
27
+ * **The Execution Model:**
28
+ * The Agent operates on a **Start-Stop-Resume** cycle:
29
+ * 1. **Init**: Receives an event -> Builds Context -> Calls LLM.
30
+ * 2. **Action**:
31
+ * - If the LLM chooses a `tool` or `mcp`, it executes immediately and loops back.
32
+ * - If the LLM chooses a `service`, the Agent **emits an event** and **suspends execution**.
33
+ * - The LLM can choose a mix all three modalities at the same time.
34
+ * 3. **Resume**: When the Service replies with an event, the Agent wakes up, restores state from `memory`,
35
+ * adds the result to its history, and calls the LLM again.
36
+ *
37
+ * **Strict Versioning Compliance:**
38
+ * Arvo enforces that your Agent implementation matches your Contract versions.
39
+ * If your `self` contract defines versions `'1.0.0'` and `'2.0.0'`, you must
40
+ * provide specific `context` (A context builder function which runs at init of the agent
41
+ * execution and is reponsible for building the context of the agent i.e. system promot
42
+ * and messages list, both are optional) and `output` builder, which takes the LLM output
43
+ * and converts it into yor contract compliant structure,for *all* versions
44
+ * in the `handler` parameter.
45
+ *
46
+ * This allows you to:
47
+ * - Safely evolve prompt engineering strategies (e.g., v1 uses GPT-3.5, v2 uses GPT-4).
48
+ * - Run different tests on Agent behavior within the same deployment.
49
+ * - Retire old Agent behaviors gradually without breaking existing clients.
50
+ *
51
+ * @param param - Configuration object for the Agent.
52
+ *
53
+ * @returns An `ArvoResumable` instance specialised to run as an AI Agent.
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * export const supportAgent = ({ memory }) => createArvoAgent({
58
+ * contracts: {
59
+ * self: supportAgentContract, // The interface for this agent
60
+ * services: {
61
+ * // The Agent can "call" this service by emitting an event
62
+ * // and going to sleep until the billing service replies.
63
+ * billing: { contract: billingServiceContract.version('1.0.0') }
64
+ * }
65
+ * },
66
+ * tools: {
67
+ * // The Agent can execute this immediately in-memory
68
+ * checkTime: createAgentTool({
69
+ * name: 'check_time',
70
+ * description: 'Checks current server time',
71
+ * input: z.object({}),
72
+ * output: z.object({ time: z.string() }),
73
+ * fn: async () => ({ time: new Date().toISOString() })
74
+ * })
75
+ * },
76
+ * llm: openaiLLMIntegration(new OpenAI(), { model: 'gpt-4o' }),
77
+ * memory: memory, // Persists chat history during async calls
78
+ * handler: {
79
+ * '1.0.0': {
80
+ * // Dynamic System Prompt Building
81
+ * context: AgentDefaults.CONTEXT_BUILDER(async ({ tools }) =>
82
+ * `You are a support agent. You have access to billing data via the ${tools.services.billing.name} tool.`
83
+ * ),
84
+ * output: AgentDefaults.OUTPUT_BUILDER
85
+ * }
86
+ * }
87
+ * });
88
+ * ```
89
+ */
16
90
  export declare const createArvoAgent: <TSelfContract extends AnyArvoOrchestratorContract, TServiceContract extends Record<string, AgentServiceContract>, TTools extends Record<string, AgentInternalTool>>({ contracts, memory, handler, llm, mcp, maxToolInteractions, llmResponseType, tools, }: CreateArvoAgentParam<TSelfContract, TServiceContract, TTools>) => import("arvo-event-handler").ArvoResumable<AgentState, TSelfContract, { [K in keyof TServiceContract & string]: TServiceContract[K]["contract"]; }>;
17
- export {};
18
91
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Agent/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAOpB,KAAK,UAAU,GAAG;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,gBAAgB,EAAE;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC1F,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,aAAa,SAAS,2BAA2B,EACjD,gBAAgB,SAAS,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC7D,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAChD,wFASC,oBAAoB,CAAC,aAAa,EAAE,gBAAgB,EAAE,MAAM,CAAC,8EAGtD,CAAC,yEAuNV,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Agent/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG/D,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAOpB,MAAM,MAAM,UAAU,GAAG;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,gBAAgB,EAAE;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC1F,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AACH,eAAO,MAAM,eAAe,GAC1B,aAAa,SAAS,2BAA2B,EACjD,gBAAgB,SAAS,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC7D,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAChD,wFASC,oBAAoB,CAAC,aAAa,EAAE,gBAAgB,EAAE,MAAM,CAAC,8EAGtD,CAAC,yEA0NV,CAAC"}
@@ -99,6 +99,79 @@ var arvo_core_1 = require("arvo-core");
99
99
  var arvo_event_handler_1 = require("arvo-event-handler");
100
100
  var agentLoop_js_1 = require("./agentLoop.js");
101
101
  var utils_js_1 = require("./utils.js");
102
+ /**
103
+ * Creates a fully-featured AI Agent implemented as an Arvo Resumable Event Handler.
104
+ *
105
+ * This factory transforms a standard Large Language Model (LLM) into a stateful, event-driven
106
+ * participant in your system. Unlike standard chatbots, this Agent can interact with:
107
+ * 1. **Local Tools**: Async/Sync JavaScript functions executed immediately.
108
+ * 2. **MCP Servers**: External data sources via the Model Context Protocol.
109
+ * 3. **Arvo Services**: Other Event Handlers in your Arvo distributed system (Async/Distributed tools).
110
+ *
111
+ * @remarks
112
+ * **The Execution Model:**
113
+ * The Agent operates on a **Start-Stop-Resume** cycle:
114
+ * 1. **Init**: Receives an event -> Builds Context -> Calls LLM.
115
+ * 2. **Action**:
116
+ * - If the LLM chooses a `tool` or `mcp`, it executes immediately and loops back.
117
+ * - If the LLM chooses a `service`, the Agent **emits an event** and **suspends execution**.
118
+ * - The LLM can choose a mix all three modalities at the same time.
119
+ * 3. **Resume**: When the Service replies with an event, the Agent wakes up, restores state from `memory`,
120
+ * adds the result to its history, and calls the LLM again.
121
+ *
122
+ * **Strict Versioning Compliance:**
123
+ * Arvo enforces that your Agent implementation matches your Contract versions.
124
+ * If your `self` contract defines versions `'1.0.0'` and `'2.0.0'`, you must
125
+ * provide specific `context` (A context builder function which runs at init of the agent
126
+ * execution and is reponsible for building the context of the agent i.e. system promot
127
+ * and messages list, both are optional) and `output` builder, which takes the LLM output
128
+ * and converts it into yor contract compliant structure,for *all* versions
129
+ * in the `handler` parameter.
130
+ *
131
+ * This allows you to:
132
+ * - Safely evolve prompt engineering strategies (e.g., v1 uses GPT-3.5, v2 uses GPT-4).
133
+ * - Run different tests on Agent behavior within the same deployment.
134
+ * - Retire old Agent behaviors gradually without breaking existing clients.
135
+ *
136
+ * @param param - Configuration object for the Agent.
137
+ *
138
+ * @returns An `ArvoResumable` instance specialised to run as an AI Agent.
139
+ *
140
+ * @example
141
+ * ```typescript
142
+ * export const supportAgent = ({ memory }) => createArvoAgent({
143
+ * contracts: {
144
+ * self: supportAgentContract, // The interface for this agent
145
+ * services: {
146
+ * // The Agent can "call" this service by emitting an event
147
+ * // and going to sleep until the billing service replies.
148
+ * billing: { contract: billingServiceContract.version('1.0.0') }
149
+ * }
150
+ * },
151
+ * tools: {
152
+ * // The Agent can execute this immediately in-memory
153
+ * checkTime: createAgentTool({
154
+ * name: 'check_time',
155
+ * description: 'Checks current server time',
156
+ * input: z.object({}),
157
+ * output: z.object({ time: z.string() }),
158
+ * fn: async () => ({ time: new Date().toISOString() })
159
+ * })
160
+ * },
161
+ * llm: openaiLLMIntegration(new OpenAI(), { model: 'gpt-4o' }),
162
+ * memory: memory, // Persists chat history during async calls
163
+ * handler: {
164
+ * '1.0.0': {
165
+ * // Dynamic System Prompt Building
166
+ * context: AgentDefaults.CONTEXT_BUILDER(async ({ tools }) =>
167
+ * `You are a support agent. You have access to billing data via the ${tools.services.billing.name} tool.`
168
+ * ),
169
+ * output: AgentDefaults.OUTPUT_BUILDER
170
+ * }
171
+ * }
172
+ * });
173
+ * ```
174
+ */
102
175
  var createArvoAgent = function (_a) {
103
176
  var contracts = _a.contracts, memory = _a.memory, handler = _a.handler, llm = _a.llm, mcp = _a.mcp, _b = _a.maxToolInteractions, maxToolInteractions = _b === void 0 ? 5 : _b, _c = _a.llmResponseType, llmResponseType = _c === void 0 ? 'text' : _c, tools = _a.tools;
104
177
  var serviceContracts = Object.fromEntries(Object.entries(contracts.services).map(function (_a) {
@@ -164,14 +237,15 @@ var createArvoAgent = function (_a) {
164
237
  return [4 /*yield*/, (0, agentLoop_js_1.agentLoop)({
165
238
  initLifecycle: 'init',
166
239
  system: (_m = llmContext === null || llmContext === void 0 ? void 0 : llmContext.system) !== null && _m !== void 0 ? _m : null,
167
- messages: ((_o = llmContext === null || llmContext === void 0 ? void 0 : llmContext.messages) === null || _o === void 0 ? void 0 : _o.length)
240
+ messages: (((_o = llmContext === null || llmContext === void 0 ? void 0 : llmContext.messages) === null || _o === void 0 ? void 0 : _o.length)
168
241
  ? llmContext.messages
169
242
  : [
170
243
  {
171
244
  role: 'user',
172
245
  content: { type: 'text', content: JSON.stringify(inputData) },
246
+ seenCount: 0,
173
247
  },
174
- ],
248
+ ]).map(function (item) { var _a; return (__assign(__assign({}, item), { seenCount: (_a = item.seenCount) !== null && _a !== void 0 ? _a : 0 })); }),
175
249
  tools: Object.values(__assign(__assign(__assign({}, mcpTools), serviceTools), internalTools)),
176
250
  outputFormat: outputFormat,
177
251
  outputBuilder: outputBuilder,
@@ -233,6 +307,7 @@ var createArvoAgent = function (_a) {
233
307
  toolUseId: toolUseId,
234
308
  content: JSON.stringify(data !== null && data !== void 0 ? data : {}),
235
309
  },
310
+ seenCount: 0,
236
311
  });
237
312
  }
238
313
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Agent/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Agent/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import z from 'zod';
2
+ /** Zod schema for standard text content within a message. */
2
3
  export declare const AgentTextContentSchema: z.ZodObject<{
3
4
  type: z.ZodLiteral<"text">;
4
5
  content: z.ZodString;
@@ -9,6 +10,7 @@ export declare const AgentTextContentSchema: z.ZodObject<{
9
10
  type: "text";
10
11
  content: string;
11
12
  }>;
13
+ /** Zod schema for multimodal inputs (Images, PDFs, Files) encoded as Base64. */
12
14
  export declare const AgentMediaContentSchema: z.ZodObject<{
13
15
  type: z.ZodLiteral<"media">;
14
16
  content: z.ZodString;
@@ -72,6 +74,7 @@ export declare const AgentMediaContentSchema: z.ZodObject<{
72
74
  format: "base64";
73
75
  };
74
76
  }>;
77
+ /** Zod schema for the output of a tool execution, correlated by ID to a specific tool call. */
75
78
  export declare const AgentToolResultContentSchema: z.ZodObject<{
76
79
  type: z.ZodLiteral<"tool_result">;
77
80
  toolUseId: z.ZodString;
@@ -85,6 +88,7 @@ export declare const AgentToolResultContentSchema: z.ZodObject<{
85
88
  content: string;
86
89
  toolUseId: string;
87
90
  }>;
91
+ /** Zod schema representing an LLM's request to execute a named tool with specific arguments. */
88
92
  export declare const AgentToolCallContentSchema: z.ZodObject<{
89
93
  type: z.ZodLiteral<"tool_use">;
90
94
  toolUseId: z.ZodString;
@@ -101,6 +105,7 @@ export declare const AgentToolCallContentSchema: z.ZodObject<{
101
105
  name: string;
102
106
  input: Record<string, any>;
103
107
  }>;
108
+ /** Discriminated union of all valid payload types (Text, Media, Tool Calls, and Results). */
104
109
  export declare const AgentMessageContentSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
105
110
  type: z.ZodLiteral<"text">;
106
111
  content: z.ZodString;
@@ -200,6 +205,7 @@ export declare const AgentMessageContentSchema: z.ZodDiscriminatedUnion<"type",
200
205
  name: string;
201
206
  input: Record<string, any>;
202
207
  }>]>;
208
+ /** The primary data structure representing a single turn in the Agent's conversation history. */
203
209
  export declare const AgentMessageSchema: z.ZodObject<{
204
210
  role: z.ZodEnum<["user", "assistant"]>;
205
211
  content: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
@@ -301,6 +307,7 @@ export declare const AgentMessageSchema: z.ZodObject<{
301
307
  name: string;
302
308
  input: Record<string, any>;
303
309
  }>]>;
310
+ seenCount: z.ZodNumber;
304
311
  }, "strip", z.ZodTypeAny, {
305
312
  content: {
306
313
  type: "text";
@@ -330,6 +337,7 @@ export declare const AgentMessageSchema: z.ZodObject<{
330
337
  input: Record<string, any>;
331
338
  };
332
339
  role: "user" | "assistant";
340
+ seenCount: number;
333
341
  }, {
334
342
  content: {
335
343
  type: "text";
@@ -359,5 +367,6 @@ export declare const AgentMessageSchema: z.ZodObject<{
359
367
  input: Record<string, any>;
360
368
  };
361
369
  role: "user" | "assistant";
370
+ seenCount: number;
362
371
  }>;
363
372
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/Agent/schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,MAAM,sBAAsB;;;;;;;;;EAGjC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBlC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;EAIvC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;EAKrC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKpC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG7B,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/Agent/schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,6DAA6D;AAC7D,eAAO,MAAM,sBAAsB;;;;;;;;;EAGjC,CAAC;AAEH,gFAAgF;AAChF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBlC,CAAC;AAEH,+FAA+F;AAC/F,eAAO,MAAM,4BAA4B;;;;;;;;;;;;EAIvC,CAAC;AAEH,gGAAgG;AAChG,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;EAKrC,CAAC;AAEH,6FAA6F;AAC7F,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKpC,CAAC;AAEH,iGAAiG;AACjG,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI7B,CAAC"}
@@ -5,10 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AgentMessageSchema = exports.AgentMessageContentSchema = exports.AgentToolCallContentSchema = exports.AgentToolResultContentSchema = exports.AgentMediaContentSchema = exports.AgentTextContentSchema = void 0;
7
7
  var zod_1 = __importDefault(require("zod"));
8
+ /** Zod schema for standard text content within a message. */
8
9
  exports.AgentTextContentSchema = zod_1.default.object({
9
10
  type: zod_1.default.literal('text'),
10
11
  content: zod_1.default.string(),
11
12
  });
13
+ /** Zod schema for multimodal inputs (Images, PDFs, Files) encoded as Base64. */
12
14
  exports.AgentMediaContentSchema = zod_1.default.object({
13
15
  type: zod_1.default.literal('media'),
14
16
  content: zod_1.default.string(),
@@ -27,25 +29,30 @@ exports.AgentMediaContentSchema = zod_1.default.object({
27
29
  }),
28
30
  ]),
29
31
  });
32
+ /** Zod schema for the output of a tool execution, correlated by ID to a specific tool call. */
30
33
  exports.AgentToolResultContentSchema = zod_1.default.object({
31
34
  type: zod_1.default.literal('tool_result'),
32
35
  toolUseId: zod_1.default.string(),
33
36
  content: zod_1.default.string(),
34
37
  });
38
+ /** Zod schema representing an LLM's request to execute a named tool with specific arguments. */
35
39
  exports.AgentToolCallContentSchema = zod_1.default.object({
36
40
  type: zod_1.default.literal('tool_use'),
37
41
  toolUseId: zod_1.default.string(),
38
42
  name: zod_1.default.string(),
39
43
  input: zod_1.default.record(zod_1.default.string(), zod_1.default.any()),
40
44
  });
45
+ /** Discriminated union of all valid payload types (Text, Media, Tool Calls, and Results). */
41
46
  exports.AgentMessageContentSchema = zod_1.default.discriminatedUnion('type', [
42
47
  exports.AgentTextContentSchema,
43
48
  exports.AgentMediaContentSchema,
44
49
  exports.AgentToolResultContentSchema,
45
50
  exports.AgentToolCallContentSchema,
46
51
  ]);
52
+ /** The primary data structure representing a single turn in the Agent's conversation history. */
47
53
  exports.AgentMessageSchema = zod_1.default.object({
48
54
  role: zod_1.default.enum(['user', 'assistant']),
49
55
  content: exports.AgentMessageContentSchema,
56
+ seenCount: zod_1.default.number().describe('Then number of time the LLM integration has seen this message'),
50
57
  });
51
58
  //# sourceMappingURL=schema.js.map