@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/Integrations/prompts.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,QAOpC,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_TOOL_LIMIT_PROMPT = void 0;
4
+ var arvo_core_1 = require("arvo-core");
5
+ /**
6
+ * Standard System Instruction injected when the Agent reaches its `maxToolInteractions` limit.
7
+ *
8
+ * This prompt overrides the Agent's natural tendency to keep calling tools, forcing it to
9
+ * synthesize a final response based on whatever partial data it has managed to collect so far.
10
+ */
11
+ exports.DEFAULT_TOOL_LIMIT_PROMPT = (0, arvo_core_1.cleanString)("\n **CRITICAL WARNING: You have reached your tool interaction limit!**\n You must answer the original question using all the data available to you. \n You have run out of tool call budget. No more tool calls are allowed any more.\n If you cannot answer the query well. Then mention what you have done briefly, what\n can you answer based on the collected data, what data is missing and why you cannot \n answer any further. \n");
12
+ //# sourceMappingURL=prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/Integrations/prompts.ts"],"names":[],"mappings":";;;AAAA,uCAAwC;AAExC;;;;;GAKG;AACU,QAAA,yBAAyB,GAAG,IAAA,uBAAW,EAAC,mbAOpD,CAAC,CAAC"}
@@ -0,0 +1,101 @@
1
+ import type z from 'zod';
2
+ import type { AgentLLMContext, AgentMessage, AgentToolCallContent, AgentToolDefinition } from '../Agent/types';
3
+ import type { OtelInfoType } from '../types';
4
+ /**
5
+ * The standardized input payload passed to a Custom LLM Integration function.
6
+ *
7
+ * If you are building a custom adapter (e.g. for Vertex AI or Bedrock), your job is to
8
+ * map these Arvo-standard fields onto your provider's specific API request format.
9
+ */
10
+ export type AgentLLMIntegrationParam = {
11
+ /**
12
+ * The reason for this LLM invocation. Use this to optimize your prompt strategy:
13
+ * - `'init'`: Fresh start. Ingest system prompt and initial context.
14
+ * - `'tool_result'`: Resume. The input contains new tool outputs.
15
+ * - `'output_error_feedback'`: Correction. The previous response failed Zod validation;
16
+ * you should prompt the model to fix its format.
17
+ */
18
+ lifecycle: 'init' | 'tool_result' | 'output_error_feedback';
19
+ /** The full conversation history in Arvo's standard format (needs mapping to provider format). */
20
+ messages: AgentMessage[];
21
+ /** The computed system prompt (generated by the context builder on Agent init). */
22
+ system: string | null;
23
+ /** List of available tools. You must convert these to your provider's tool/function schema. */
24
+ tools: AgentToolDefinition[];
25
+ /**
26
+ * Tool loop limits.
27
+ * If `exhausted` is true, you should inject a system instruction forcing the LLM to stop calling tools
28
+ * and synthesize a final answer.
29
+ */
30
+ toolInteractions: AgentLLMContext['toolInteractions'] & {
31
+ exhausted: boolean;
32
+ };
33
+ /**
34
+ * The required output mode.
35
+ * - `'text' | 'media'`: Standard chat completion.
36
+ * - `'json'`: Structured Output mode. You should enforce the provided Zod `format` via your provider's JSON mode.
37
+ */
38
+ outputFormat: {
39
+ type: 'text';
40
+ } | {
41
+ type: 'json';
42
+ format: z.ZodTypeAny;
43
+ };
44
+ };
45
+ /**
46
+ * The normalized response object your Custom Integration must return.
47
+ *
48
+ * You must parse your provider's raw response (e.g. OpenAI `Choice`, Anthropic `ContentBlock`)
49
+ * and normalize it into one of these three mutually exclusive types so the Agent Loop can act on it.
50
+ */
51
+ export type AgentLLMIntegrationOutput = {
52
+ /** Token metrics for observability/billing. */
53
+ usage: {
54
+ tokens: {
55
+ prompt: number;
56
+ completion: number;
57
+ };
58
+ };
59
+ /**
60
+ * A standardized cost metric for Arvo's throttling/billing (e.g. 1 unit = 1 input token).
61
+ * You define the calculation logic in your integration.
62
+ */
63
+ executionUnits: number;
64
+ } & ({
65
+ /** The LLM wants to execute tools. */
66
+ type: 'tool_call';
67
+ toolRequests: Omit<AgentToolCallContent, 'type'>[];
68
+ } | {
69
+ /** The LLM responded with conversational text. */
70
+ type: 'text';
71
+ content: string;
72
+ } | {
73
+ /**
74
+ * The LLM responded with Structured JSON (requested via `outputFormat`).
75
+ * `parsedContent` must be the valid JS object result of parsing `content`.
76
+ * You can use `tryParseJson` utility from `@arvo-tools/agentic`
77
+ */
78
+ type: 'json';
79
+ content: string;
80
+ parsedContent: Record<string, unknown> | null;
81
+ });
82
+ /**
83
+ * Interface for an LLM Provider Adapter function.
84
+ *
85
+ * This function bridges the generic Arvo Agent Loop and a specific Model Provider (OpenAI, Anthropic, Bedrock, etc.).
86
+ *
87
+ * @remarks
88
+ * **Implementation Responsibilities:**
89
+ * 1. **Map Input:** Convert Arvo's standard `AgentMessage[]` and `AgentToolDefinition[]` into the provider's specific API format.
90
+ * 2. **Invoke Model:** Make the actual network call to the LLM (handling retries/timeouts internally).
91
+ * 3. **Instrumentation:** Use the provided `config.otelInfo` to link your network call to the existing OpenTelemetry Trace.
92
+ * 4. **Normalize Output:** Parse the provider's response (Content vs. Tool Calls) into the standard `AgentLLMIntegrationOutput`.
93
+ *
94
+ * @param param - The current state of the Agent (System Prompt, History, Tools, Lifecycle Constraints).
95
+ * @param config - Observability context containing the active Trace Headers and Span.
96
+ * @returns A Promise resolving to the standardized output (Text, JSON, or Tool Requests) that the Agent Loop can act upon.
97
+ */
98
+ export type AgentLLMIntegration = (param: AgentLLMIntegrationParam, config: {
99
+ otelInfo: OtelInfoType;
100
+ }) => Promise<AgentLLMIntegrationOutput>;
101
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Integrations/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,uBAAuB,CAAC;IAE5D,kGAAkG;IAClG,QAAQ,EAAE,YAAY,EAAE,CAAC;IAEzB,mFAAmF;IACnF,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,+FAA+F;IAC/F,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAE7B;;;;OAIG;IACH,gBAAgB,EAAE,eAAe,CAAC,kBAAkB,CAAC,GAAG;QACtD,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IAEF;;;;OAIG;IACH,YAAY,EACR;QACE,IAAI,EAAE,MAAM,CAAC;KACd,GACD;QACE,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC;KACtB,CAAC;CACP,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,+CAA+C;IAC/C,KAAK,EAAE;QACL,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,CAAC;YACf,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;IACF;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,CACA;IACE,sCAAsC;IACtC,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,EAAE,CAAC;CACpD,GACD;IACE,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC/C,CACJ,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAChC,KAAK,EAAE,wBAAwB,EAC/B,MAAM,EAAE;IAAE,QAAQ,EAAE,YAAY,CAAA;CAAE,KAC/B,OAAO,CAAC,yBAAyB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/Integrations/types.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -1,11 +1,14 @@
1
- export { createArvoAgent } from './Agent';
1
+ export { AgentState, createArvoAgent } from './Agent';
2
2
  export { AgentDefaults } from './Agent/AgentDefaults';
3
- export { createAgentTool } from './Agent/agentTool';
4
3
  export { AgentMediaContentSchema, AgentMessageContentSchema, AgentMessageSchema, AgentTextContentSchema, AgentToolCallContentSchema, AgentToolResultContentSchema, } from './Agent/schema';
5
- export type { AgentContextBuilder, AgentInternalTool, AgentLLMContext, AgentLLMIntegration, AgentLLMIntegrationOutput, AgentLLMIntegrationParam, AgentMediaContent, AgentMessage, AgentMessageContent, AgentOutputBuilder, AgentServiceContract, AgentTextContent, AgentToolCallContent, AgentToolDefinition, AgentToolResultContent, AnyArvoContract, AnyArvoOrchestratorContract, CreateArvoAgentParam, NonEmptyArray, PromiseLike, } from './Agent/types';
4
+ export type { AgentContextBuilder, AgentLLMContext, AgentMediaContent, AgentMessage, AgentMessageContent, AgentOutputBuilder, AgentServiceContract, AgentTextContent, AgentToolCallContent, AgentToolDefinition, AgentToolResultContent, AnyArvoContract, AnyArvoOrchestratorContract, CreateArvoAgentParam, } from './Agent/types';
6
5
  export { setOpenInferenceInputAttr, setOpenInferenceResponseOutputAttr, setOpenInferenceToolCallOutputAttr, setOpenInferenceUsageOutputAttr, tryParseJson, } from './Agent/utils';
6
+ export { createAgentTool } from './AgentTool';
7
+ export type { AgentInternalTool } from './AgentTool/types';
7
8
  export { MCPClient } from './Integrations/MCPClient';
8
9
  export { openaiLLMIntegration } from './Integrations/openai';
10
+ export { DEFAULT_TOOL_LIMIT_PROMPT } from './Integrations/prompts';
11
+ export type { AgentLLMIntegration, AgentLLMIntegrationOutput, AgentLLMIntegrationParam, } from './Integrations/types';
9
12
  export type { IMCPClient } from './interfaces.mcp';
10
- export type { OtelInfoType } from './types';
13
+ export type { NonEmptyArray, OtelInfoType, PromiseAble } from './types';
11
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,2BAA2B,EAC3B,oBAAoB,EACpB,aAAa,EACb,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,yBAAyB,EACzB,kCAAkC,EAClC,kCAAkC,EAClC,+BAA+B,EAC/B,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,yBAAyB,EACzB,kCAAkC,EAClC,kCAAkC,EAClC,+BAA+B,EAC/B,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,YAAY,EACV,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.openaiLLMIntegration = exports.MCPClient = exports.tryParseJson = exports.setOpenInferenceUsageOutputAttr = exports.setOpenInferenceToolCallOutputAttr = exports.setOpenInferenceResponseOutputAttr = exports.setOpenInferenceInputAttr = exports.AgentToolResultContentSchema = exports.AgentToolCallContentSchema = exports.AgentTextContentSchema = exports.AgentMessageSchema = exports.AgentMessageContentSchema = exports.AgentMediaContentSchema = exports.createAgentTool = exports.AgentDefaults = exports.createArvoAgent = void 0;
3
+ exports.DEFAULT_TOOL_LIMIT_PROMPT = exports.openaiLLMIntegration = exports.MCPClient = exports.createAgentTool = exports.tryParseJson = exports.setOpenInferenceUsageOutputAttr = exports.setOpenInferenceToolCallOutputAttr = exports.setOpenInferenceResponseOutputAttr = exports.setOpenInferenceInputAttr = exports.AgentToolResultContentSchema = exports.AgentToolCallContentSchema = exports.AgentTextContentSchema = exports.AgentMessageSchema = exports.AgentMessageContentSchema = exports.AgentMediaContentSchema = exports.AgentDefaults = exports.createArvoAgent = void 0;
4
4
  var Agent_1 = require("./Agent");
5
5
  Object.defineProperty(exports, "createArvoAgent", { enumerable: true, get: function () { return Agent_1.createArvoAgent; } });
6
6
  var AgentDefaults_1 = require("./Agent/AgentDefaults");
7
7
  Object.defineProperty(exports, "AgentDefaults", { enumerable: true, get: function () { return AgentDefaults_1.AgentDefaults; } });
8
- var agentTool_1 = require("./Agent/agentTool");
9
- Object.defineProperty(exports, "createAgentTool", { enumerable: true, get: function () { return agentTool_1.createAgentTool; } });
10
8
  var schema_1 = require("./Agent/schema");
11
9
  Object.defineProperty(exports, "AgentMediaContentSchema", { enumerable: true, get: function () { return schema_1.AgentMediaContentSchema; } });
12
10
  Object.defineProperty(exports, "AgentMessageContentSchema", { enumerable: true, get: function () { return schema_1.AgentMessageContentSchema; } });
@@ -20,8 +18,12 @@ Object.defineProperty(exports, "setOpenInferenceResponseOutputAttr", { enumerabl
20
18
  Object.defineProperty(exports, "setOpenInferenceToolCallOutputAttr", { enumerable: true, get: function () { return utils_1.setOpenInferenceToolCallOutputAttr; } });
21
19
  Object.defineProperty(exports, "setOpenInferenceUsageOutputAttr", { enumerable: true, get: function () { return utils_1.setOpenInferenceUsageOutputAttr; } });
22
20
  Object.defineProperty(exports, "tryParseJson", { enumerable: true, get: function () { return utils_1.tryParseJson; } });
21
+ var AgentTool_1 = require("./AgentTool");
22
+ Object.defineProperty(exports, "createAgentTool", { enumerable: true, get: function () { return AgentTool_1.createAgentTool; } });
23
23
  var MCPClient_1 = require("./Integrations/MCPClient");
24
24
  Object.defineProperty(exports, "MCPClient", { enumerable: true, get: function () { return MCPClient_1.MCPClient; } });
25
25
  var openai_1 = require("./Integrations/openai");
26
26
  Object.defineProperty(exports, "openaiLLMIntegration", { enumerable: true, get: function () { return openai_1.openaiLLMIntegration; } });
27
+ var prompts_1 = require("./Integrations/prompts");
28
+ Object.defineProperty(exports, "DEFAULT_TOOL_LIMIT_PROMPT", { enumerable: true, get: function () { return prompts_1.DEFAULT_TOOL_LIMIT_PROMPT; } });
27
29
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAA0C;AAAjC,wGAAA,eAAe,OAAA;AACxB,uDAAsD;AAA7C,8GAAA,aAAa,OAAA;AACtB,+CAAoD;AAA3C,4GAAA,eAAe,OAAA;AACxB,yCAOwB;AANtB,iHAAA,uBAAuB,OAAA;AACvB,mHAAA,yBAAyB,OAAA;AACzB,4GAAA,kBAAkB,OAAA;AAClB,gHAAA,sBAAsB,OAAA;AACtB,oHAAA,0BAA0B,OAAA;AAC1B,sHAAA,4BAA4B,OAAA;AAwB9B,uCAMuB;AALrB,kHAAA,yBAAyB,OAAA;AACzB,2HAAA,kCAAkC,OAAA;AAClC,2HAAA,kCAAkC,OAAA;AAClC,wHAAA,+BAA+B,OAAA;AAC/B,qGAAA,YAAY,OAAA;AAEd,sDAAqD;AAA5C,sGAAA,SAAS,OAAA;AAClB,gDAA6D;AAApD,8GAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAAsD;AAAjC,wGAAA,eAAe,OAAA;AACpC,uDAAsD;AAA7C,8GAAA,aAAa,OAAA;AACtB,yCAOwB;AANtB,iHAAA,uBAAuB,OAAA;AACvB,mHAAA,yBAAyB,OAAA;AACzB,4GAAA,kBAAkB,OAAA;AAClB,gHAAA,sBAAsB,OAAA;AACtB,oHAAA,0BAA0B,OAAA;AAC1B,sHAAA,4BAA4B,OAAA;AAkB9B,uCAMuB;AALrB,kHAAA,yBAAyB,OAAA;AACzB,2HAAA,kCAAkC,OAAA;AAClC,2HAAA,kCAAkC,OAAA;AAClC,wHAAA,+BAA+B,OAAA;AAC/B,qGAAA,YAAY,OAAA;AAEd,yCAA8C;AAArC,4GAAA,eAAe,OAAA;AAExB,sDAAqD;AAA5C,sGAAA,SAAS,OAAA;AAClB,gDAA6D;AAApD,8GAAA,oBAAoB,OAAA;AAC7B,kDAAmE;AAA1D,oHAAA,yBAAyB,OAAA"}
@@ -1,17 +1,40 @@
1
1
  import type { OtelInfoType } from './types';
2
+ /**
3
+ * Interface designed to abstract the connection to a Model Context Protocol (MCP) Server.
4
+ *
5
+ * Implementing this interface allows Arvo Agents to connect to the standardized MCP ecosystem
6
+ * (e.g. Filesystems, GitHub, PostgreSQL, Slack) as if they were native tools.
7
+ */
2
8
  export interface IMCPClient {
9
+ /**
10
+ * Establishes the transport session (e.g. SSE, Stdio, HTTP) with the MCP Server.
11
+ * Should perform handshake and capability negotiation.
12
+ */
3
13
  connect: (config: {
4
14
  otelInfo: OtelInfoType;
5
15
  }) => Promise<void>;
16
+ /**
17
+ * Executes a specific capability on the remote MCP server.
18
+ *
19
+ * @param param - The tool name and arguments generated by the LLM.
20
+ * @returns The tool's output as a string, to be fed back into the LLM's context window.
21
+ */
6
22
  invokeTool: (param: {
7
23
  name: string;
8
24
  arguments?: Record<string, unknown> | null;
9
25
  }, config: {
10
26
  otelInfo: OtelInfoType;
11
27
  }) => Promise<string>;
28
+ /**
29
+ * Closes the transport session and releases resources.
30
+ */
12
31
  disconnect: (config: {
13
32
  otelInfo: OtelInfoType;
14
33
  }) => Promise<void>;
34
+ /**
35
+ * Discovers available capabilities from the MCP Server.
36
+ * These definitions are converted by Arvo into the specific format required by the LLM (e.g. OpenAI Tool specs).
37
+ */
15
38
  getTools: (config: {
16
39
  otelInfo: OtelInfoType;
17
40
  }) => Promise<{
@@ -19,6 +42,12 @@ export interface IMCPClient {
19
42
  description: string;
20
43
  inputSchema: Record<string, any>;
21
44
  }[]>;
45
+ /**
46
+ * Retrieves the priority mapping for the MCP tools.
47
+ *
48
+ * This allows external MCP tools to participate in Arvo's **Priority Batch Execution** logic,
49
+ * ensuring critical tools take precedence over optional ones during orchestration.
50
+ */
22
51
  getToolPriority(config: {
23
52
  otelInfo: OtelInfoType;
24
53
  }): Promise<Record<string, number>>;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.mcp.d.ts","sourceRoot":"","sources":["../src/interfaces.mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,UAAU,EAAE,CACV,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;KAAE,EACnE,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,KAC/B,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,UAAU,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,QAAQ,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,KAAK,OAAO,CACvD;QACE,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QAEpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAClC,EAAE,CACJ,CAAC;IACF,eAAe,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACtF"}
1
+ {"version":3,"file":"interfaces.mcp.d.ts","sourceRoot":"","sources":["../src/interfaces.mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D;;;;;OAKG;IACH,UAAU,EAAE,CACV,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;KAAE,EACnE,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,KAC/B,OAAO,CAAC,MAAM,CAAC,CAAC;IAErB;;OAEG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE;;;OAGG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,KAAK,OAAO,CACvD;QACE,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QAEpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAClC,EAAE,CACJ,CAAC;IAEF;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACtF"}
package/dist/types.d.ts CHANGED
@@ -1,7 +1,20 @@
1
1
  import type { Span } from '@opentelemetry/api';
2
2
  import type { OpenTelemetryHeaders } from 'arvo-core';
3
+ /**
4
+ * Observability Context.
5
+ *
6
+ * This object acts as the "Trace Baton," passing the active OpenTelemetry Span and
7
+ * Trace Parent headers between functions. Use this to ensure your custom integrations
8
+ * and tools correctly propagate distributed traces.
9
+ */
3
10
  export type OtelInfoType = {
11
+ /** The active OpenTelemetry Span for the current operation. */
4
12
  span: Span;
13
+ /** Trace Headers (traceparent/tracestate) for propagating context across network boundaries. */
5
14
  headers: OpenTelemetryHeaders;
6
15
  };
16
+ /** A utility type enforcing that an array contains at least one element. */
17
+ export type NonEmptyArray<T> = [T, ...T[]];
18
+ /** A utility type representing a value that may be either synchronous (`T`) or asynchronous (`Promise<T>`). */
19
+ export type PromiseAble<T> = Promise<T> | T;
7
20
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEtD,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,+DAA+D;IAC/D,IAAI,EAAE,IAAI,CAAC;IACX,gGAAgG;IAChG,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAEF,4EAA4E;AAC5E,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAE3C,+GAA+G;AAC/G,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arvo-tools/agentic",
3
- "version": "0.4.1",
3
+ "version": "1.0.0",
4
4
  "description": "Agentic toolset for building applications using arvo-core and arvo-event-handler",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1 +0,0 @@
1
- {"version":3,"file":"agentTool.d.ts","sourceRoot":"","sources":["../../src/Agent/agentTool.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,eAAO,MAAM,eAAe,GAC1B,YAAY,SAAS,CAAC,CAAC,UAAU,EACjC,aAAa,SAAS,CAAC,CAAC,UAAU,EAElC,OAAO,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,KAiD/C,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"agentTool.js","sourceRoot":"","sources":["../../src/Agent/agentTool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kGAGqD;AACrD,0CAAoD;AACpD,uCAAqE;AAK9D,IAAM,eAAe,GAAG,UAI7B,KAAqD;IAErD,OAAA,uBACK,KAAK,KACR,EAAE,EAAE,UAAO,KAA4B,EAAE,MAAkC;;;;4BACzE,qBAAM,6BAAiB,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC;4BACpD,IAAI,EAAE,oBAAa,KAAK,CAAC,IAAI,cAAW;4BACxC,qBAAqB,EAAE,IAAI;4BAC3B,OAAO,EAAE;gCACP,WAAW,EAAE,eAAe;gCAC5B,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO;6BACtC;4BACD,WAAW,EAAE;gCACX,UAAU;oCACR,GAAC,wDAAgC,CAAC,uBAAuB,IAAG,0DAAqB,CAAC,IAAI;uCACvF;6BACF;4BACD,EAAE,EAAE,UAAO,IAAI;;;;;;4CAEX,IAAI,CAAC,YAAY,CAAC,wDAAgC,CAAC,uBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;4CACxF,IAAI,CAAC,YAAY,CACf,wDAAgC,CAAC,iCAAiC,EAClE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CACtB,CAAC;4CACF,IAAI,CAAC,YAAY,CAAC,wDAAgC,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;4CACjF,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;4CACrD,IAAI,eAAe,CAAC,KAAK;gDACvB,MAAM,IAAI,KAAK,CACb,2GAAoG,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAE,CACvI,CAAC;4CACW,qBAAM,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE;oDAClD,QAAQ,EAAE;wDACR,IAAI,MAAA;wDACJ,OAAO,EAAE,IAAA,iCAAqB,EAAC,IAAI,CAAC;qDACrC;iDACF,CAAC,EAAA;;4CALI,MAAM,GAAG,SAKb;4CACF,IAAI,CAAC,YAAY,CACf,wDAAgC,CAAC,YAAY,EAC7C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CACvB,CAAC;4CACF,sBAAO,MAAM,EAAC;;;4CAEd,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,oBAAc,CAAC,KAAK,EAAE,OAAO,EAAG,KAAa,aAAb,KAAG,uBAAH,KAAG,CAAY,OAAO,EAAE,CAAC,CAAC;4CACjF,MAAM,KAAG,CAAC;;4CAEV,IAAI,CAAC,GAAG,EAAE,CAAC;;;;;iCAEd;yBACF,CAAC,EAAA;4BA3CF,sBAAA,SA2CE,EAAA;;;aAAA,IAC8C;AA/CpD,CA+CoD,CAAC;AArD1C,QAAA,eAAe,mBAqD2B"}
@@ -1,10 +0,0 @@
1
- import type OpenAI from 'openai';
2
- import type { ChatModel } from 'openai/resources/shared.mjs';
3
- import type { AgentLLMIntegration } from '../Agent/types';
4
- export declare const openaiLLMIntegration: (client: OpenAI, config?: {
5
- model: ChatModel;
6
- temperature?: number;
7
- maxTokens?: number;
8
- executionunits?: (prompt: number, completion: number) => number;
9
- }) => AgentLLMIntegration;
10
- //# sourceMappingURL=openai.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/Integrations/openai.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,KAAK,EACV,mBAAmB,EAMpB,MAAM,gBAAgB,CAAC;AA+FxB,eAAO,MAAM,oBAAoB,GAE7B,QAAQ,MAAM,EACd,SAAS;IACP,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;CACjE,KACA,mBA8KC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/Integrations/openai.ts"],"names":[],"mappings":"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"}