@inkeep/agents-run-api 0.1.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 (149) hide show
  1. package/README.md +117 -0
  2. package/dist/AgentExecutionServer.d.ts +23 -0
  3. package/dist/AgentExecutionServer.d.ts.map +1 -0
  4. package/dist/AgentExecutionServer.js +32 -0
  5. package/dist/__tests__/setup.d.ts +4 -0
  6. package/dist/__tests__/setup.d.ts.map +1 -0
  7. package/dist/__tests__/setup.js +50 -0
  8. package/dist/__tests__/utils/testProject.d.ts +18 -0
  9. package/dist/__tests__/utils/testProject.d.ts.map +1 -0
  10. package/dist/__tests__/utils/testProject.js +26 -0
  11. package/dist/__tests__/utils/testRequest.d.ts +8 -0
  12. package/dist/__tests__/utils/testRequest.d.ts.map +1 -0
  13. package/dist/__tests__/utils/testRequest.js +32 -0
  14. package/dist/__tests__/utils/testTenant.d.ts +64 -0
  15. package/dist/__tests__/utils/testTenant.d.ts.map +1 -0
  16. package/dist/__tests__/utils/testTenant.js +71 -0
  17. package/dist/a2a/client.d.ts +182 -0
  18. package/dist/a2a/client.d.ts.map +1 -0
  19. package/dist/a2a/client.js +645 -0
  20. package/dist/a2a/handlers.d.ts +4 -0
  21. package/dist/a2a/handlers.d.ts.map +1 -0
  22. package/dist/a2a/handlers.js +657 -0
  23. package/dist/a2a/transfer.d.ts +18 -0
  24. package/dist/a2a/transfer.d.ts.map +1 -0
  25. package/dist/a2a/transfer.js +22 -0
  26. package/dist/a2a/types.d.ts +63 -0
  27. package/dist/a2a/types.d.ts.map +1 -0
  28. package/dist/a2a/types.js +1 -0
  29. package/dist/agents/Agent.d.ts +154 -0
  30. package/dist/agents/Agent.d.ts.map +1 -0
  31. package/dist/agents/Agent.js +1105 -0
  32. package/dist/agents/ModelFactory.d.ts +62 -0
  33. package/dist/agents/ModelFactory.d.ts.map +1 -0
  34. package/dist/agents/ModelFactory.js +208 -0
  35. package/dist/agents/SystemPromptBuilder.d.ts +14 -0
  36. package/dist/agents/SystemPromptBuilder.d.ts.map +1 -0
  37. package/dist/agents/SystemPromptBuilder.js +62 -0
  38. package/dist/agents/ToolSessionManager.d.ts +61 -0
  39. package/dist/agents/ToolSessionManager.d.ts.map +1 -0
  40. package/dist/agents/ToolSessionManager.js +143 -0
  41. package/dist/agents/artifactTools.d.ts +30 -0
  42. package/dist/agents/artifactTools.d.ts.map +1 -0
  43. package/dist/agents/artifactTools.js +463 -0
  44. package/dist/agents/generateTaskHandler.d.ts +41 -0
  45. package/dist/agents/generateTaskHandler.d.ts.map +1 -0
  46. package/dist/agents/generateTaskHandler.js +350 -0
  47. package/dist/agents/relationTools.d.ts +33 -0
  48. package/dist/agents/relationTools.d.ts.map +1 -0
  49. package/dist/agents/relationTools.js +245 -0
  50. package/dist/agents/types.d.ts +23 -0
  51. package/dist/agents/types.d.ts.map +1 -0
  52. package/dist/agents/types.js +1 -0
  53. package/dist/agents/versions/V1Config.d.ts +21 -0
  54. package/dist/agents/versions/V1Config.d.ts.map +1 -0
  55. package/dist/agents/versions/V1Config.js +285 -0
  56. package/dist/app.d.ts +4 -0
  57. package/dist/app.d.ts.map +1 -0
  58. package/dist/app.js +194 -0
  59. package/dist/data/agentGraph.d.ts +4 -0
  60. package/dist/data/agentGraph.d.ts.map +1 -0
  61. package/dist/data/agentGraph.js +73 -0
  62. package/dist/data/agents.d.ts +4 -0
  63. package/dist/data/agents.d.ts.map +1 -0
  64. package/dist/data/agents.js +73 -0
  65. package/dist/data/conversations.d.ts +59 -0
  66. package/dist/data/conversations.d.ts.map +1 -0
  67. package/dist/data/conversations.js +216 -0
  68. package/dist/data/db/clean.d.ts +6 -0
  69. package/dist/data/db/clean.d.ts.map +1 -0
  70. package/dist/data/db/clean.js +77 -0
  71. package/dist/data/db/dbClient.d.ts +3 -0
  72. package/dist/data/db/dbClient.d.ts.map +1 -0
  73. package/dist/data/db/dbClient.js +13 -0
  74. package/dist/env.d.ts +43 -0
  75. package/dist/env.d.ts.map +1 -0
  76. package/dist/env.js +63 -0
  77. package/dist/handlers/executionHandler.d.ts +36 -0
  78. package/dist/handlers/executionHandler.d.ts.map +1 -0
  79. package/dist/handlers/executionHandler.js +402 -0
  80. package/dist/index.d.ts +5 -0
  81. package/dist/index.d.ts.map +1 -0
  82. package/dist/index.js +43 -0
  83. package/dist/instrumentation.d.ts +13 -0
  84. package/dist/instrumentation.d.ts.map +1 -0
  85. package/dist/instrumentation.js +66 -0
  86. package/dist/logger.d.ts +4 -0
  87. package/dist/logger.d.ts.map +1 -0
  88. package/dist/logger.js +32 -0
  89. package/dist/middleware/api-key-auth.d.ts +22 -0
  90. package/dist/middleware/api-key-auth.d.ts.map +1 -0
  91. package/dist/middleware/api-key-auth.js +139 -0
  92. package/dist/middleware/index.d.ts +2 -0
  93. package/dist/middleware/index.d.ts.map +1 -0
  94. package/dist/middleware/index.js +1 -0
  95. package/dist/openapi.d.ts +2 -0
  96. package/dist/openapi.d.ts.map +1 -0
  97. package/dist/openapi.js +36 -0
  98. package/dist/routes/agents.d.ts +4 -0
  99. package/dist/routes/agents.d.ts.map +1 -0
  100. package/dist/routes/agents.js +155 -0
  101. package/dist/routes/chat.d.ts +4 -0
  102. package/dist/routes/chat.d.ts.map +1 -0
  103. package/dist/routes/chat.js +308 -0
  104. package/dist/routes/chatDataStream.d.ts +4 -0
  105. package/dist/routes/chatDataStream.d.ts.map +1 -0
  106. package/dist/routes/chatDataStream.js +179 -0
  107. package/dist/routes/mcp.d.ts +4 -0
  108. package/dist/routes/mcp.d.ts.map +1 -0
  109. package/dist/routes/mcp.js +500 -0
  110. package/dist/tracer.d.ts +24 -0
  111. package/dist/tracer.d.ts.map +1 -0
  112. package/dist/tracer.js +97 -0
  113. package/dist/types/chat.d.ts +25 -0
  114. package/dist/types/chat.d.ts.map +1 -0
  115. package/dist/types/chat.js +1 -0
  116. package/dist/types/execution-context.d.ts +14 -0
  117. package/dist/types/execution-context.d.ts.map +1 -0
  118. package/dist/types/execution-context.js +14 -0
  119. package/dist/utils/agent-operations.d.ts +79 -0
  120. package/dist/utils/agent-operations.d.ts.map +1 -0
  121. package/dist/utils/agent-operations.js +67 -0
  122. package/dist/utils/artifact-component-schema.d.ts +29 -0
  123. package/dist/utils/artifact-component-schema.d.ts.map +1 -0
  124. package/dist/utils/artifact-component-schema.js +119 -0
  125. package/dist/utils/artifact-parser.d.ts +71 -0
  126. package/dist/utils/artifact-parser.d.ts.map +1 -0
  127. package/dist/utils/artifact-parser.js +251 -0
  128. package/dist/utils/cleanup.d.ts +19 -0
  129. package/dist/utils/cleanup.d.ts.map +1 -0
  130. package/dist/utils/cleanup.js +66 -0
  131. package/dist/utils/data-component-schema.d.ts +6 -0
  132. package/dist/utils/data-component-schema.d.ts.map +1 -0
  133. package/dist/utils/data-component-schema.js +43 -0
  134. package/dist/utils/graph-session.d.ts +200 -0
  135. package/dist/utils/graph-session.d.ts.map +1 -0
  136. package/dist/utils/graph-session.js +1009 -0
  137. package/dist/utils/incremental-stream-parser.d.ts +57 -0
  138. package/dist/utils/incremental-stream-parser.d.ts.map +1 -0
  139. package/dist/utils/incremental-stream-parser.js +287 -0
  140. package/dist/utils/response-formatter.d.ts +27 -0
  141. package/dist/utils/response-formatter.d.ts.map +1 -0
  142. package/dist/utils/response-formatter.js +160 -0
  143. package/dist/utils/stream-helpers.d.ts +162 -0
  144. package/dist/utils/stream-helpers.d.ts.map +1 -0
  145. package/dist/utils/stream-helpers.js +385 -0
  146. package/dist/utils/stream-registry.d.ts +18 -0
  147. package/dist/utils/stream-registry.d.ts.map +1 -0
  148. package/dist/utils/stream-registry.js +33 -0
  149. package/package.json +88 -0
@@ -0,0 +1,22 @@
1
+ import { setActiveAgentForThread } from '@inkeep/agents-core';
2
+ import { getLogger } from '../logger.js';
3
+ import dbClient from '../data/db/dbClient.js';
4
+ const logger = getLogger('Transfer');
5
+ /**
6
+ * Executes a transfer by sending the original message to the target agent
7
+ */
8
+ export async function executeTransfer({ tenantId, threadId, projectId, targetAgentId, }) {
9
+ logger.info({ targetAgent: targetAgentId }, 'Executing transfer to agent');
10
+ await setActiveAgentForThread(dbClient)({
11
+ scopes: { tenantId, projectId },
12
+ threadId,
13
+ agentId: targetAgentId,
14
+ });
15
+ return { success: true, targetAgentId };
16
+ }
17
+ /**
18
+ * Checks if a response is a transfer response
19
+ */
20
+ export function isTransferResponse(result) {
21
+ return result?.artifacts.some((artifact) => artifact.parts.some((part) => part.kind === 'data' && part.data?.type === 'transfer'));
22
+ }
@@ -0,0 +1,63 @@
1
+ import { AgentCard, type Artifact, type TaskState } from '@inkeep/agents-core';
2
+ export { AgentCard };
3
+ export interface RegisteredAgent {
4
+ agentId: string;
5
+ tenantId: string;
6
+ projectId: string;
7
+ graphId: string;
8
+ agentCard: AgentCard;
9
+ taskHandler: (task: A2ATask) => Promise<A2ATaskResult>;
10
+ }
11
+ export interface A2ATask {
12
+ id: string;
13
+ input: {
14
+ parts: Array<{
15
+ kind: string;
16
+ text?: string;
17
+ data?: any;
18
+ }>;
19
+ };
20
+ context?: {
21
+ conversationId?: string;
22
+ userId?: string;
23
+ metadata?: Record<string, any>;
24
+ };
25
+ }
26
+ export interface A2ATaskResult {
27
+ status: {
28
+ state: TaskState;
29
+ message?: string;
30
+ };
31
+ artifacts?: Artifact[];
32
+ }
33
+ export interface TransferResponse {
34
+ type: 'transfer';
35
+ target: string;
36
+ task_id: string;
37
+ reason: string;
38
+ artifacts: Artifact[];
39
+ original_message: string;
40
+ context: {
41
+ conversationId?: string;
42
+ tenantId: string;
43
+ transfer_context?: Artifact[];
44
+ };
45
+ }
46
+ export interface JsonRpcRequest {
47
+ jsonrpc: '2.0';
48
+ method: string;
49
+ params?: any;
50
+ id?: string | number | null;
51
+ }
52
+ export interface JsonRpcResponse {
53
+ jsonrpc: '2.0';
54
+ result?: any;
55
+ error?: {
56
+ code: number;
57
+ message: string;
58
+ data?: any;
59
+ };
60
+ id?: string | number | null;
61
+ }
62
+ export type A2AMethod = 'agent.invoke' | 'agent.getCapabilities' | 'agent.getStatus';
63
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/a2a/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG/E,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE;QACL,KAAK,EAAE,KAAK,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,IAAI,CAAC,EAAE,GAAG,CAAC;SACZ,CAAC,CAAC;KACJ,CAAC;IACF,OAAO,CAAC,EAAE;QACR,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChC,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE;QACN,KAAK,EAAE,SAAS,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE;QACP,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC;KAC/B,CAAC;CACH;AAGD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,GAAG,CAAC;KACZ,CAAC;IACF,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC7B;AAGD,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,uBAAuB,GAAG,iBAAiB,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,154 @@
1
+ import { type ToolSet } from 'ai';
2
+ import type { AgentExecutionServer } from '../AgentExecutionServer.js';
3
+ import { type Artifact, type DataComponentApiInsert, type McpTool, type AgentConversationHistoryConfig, type ArtifactComponentApiInsert, type Models } from '@inkeep/agents-core';
4
+ import type { StreamHelper } from '../utils/stream-helpers.js';
5
+ /**
6
+ * Creates a stopWhen condition that stops when any tool call name starts with the given prefix
7
+ * @param prefix - The prefix to check for in tool call names
8
+ * @returns A function that can be used as a stopWhen condition
9
+ */
10
+ export declare function hasToolCallWithPrefix(prefix: string): ({ steps }: {
11
+ steps: Array<any>;
12
+ }) => any;
13
+ export type AgentConfig = {
14
+ id: string;
15
+ tenantId: string;
16
+ projectId: string;
17
+ graphId: string;
18
+ baseUrl: string;
19
+ apiKey?: string;
20
+ apiKeyId?: string;
21
+ name: string;
22
+ description: string;
23
+ agentPrompt: string;
24
+ agentRelations: AgentConfig[];
25
+ transferRelations: AgentConfig[];
26
+ delegateRelations: DelegateRelation[];
27
+ tools?: McpTool[];
28
+ artifacts?: Record<string, Artifact>;
29
+ functionTools?: Array<{
30
+ name: string;
31
+ description: string;
32
+ execute: (params: any) => Promise<any>;
33
+ parameters?: Record<string, any>;
34
+ schema?: any;
35
+ }>;
36
+ contextConfigId?: string;
37
+ dataComponents?: DataComponentApiInsert[];
38
+ artifactComponents?: ArtifactComponentApiInsert[];
39
+ conversationHistoryConfig?: AgentConversationHistoryConfig;
40
+ models?: Models;
41
+ stopWhen?: {
42
+ stepCountIs?: number;
43
+ };
44
+ };
45
+ export type ExternalAgentConfig = {
46
+ id: string;
47
+ name: string;
48
+ description: string;
49
+ baseUrl: string;
50
+ };
51
+ export type DelegateRelation = {
52
+ type: 'internal';
53
+ config: AgentConfig;
54
+ } | {
55
+ type: 'external';
56
+ config: ExternalAgentConfig;
57
+ };
58
+ export type ToolType = 'transfer' | 'delegation' | 'mcp' | 'tool';
59
+ export declare class Agent {
60
+ private config;
61
+ private systemPromptBuilder;
62
+ private responseFormatter;
63
+ private credentialStuffer?;
64
+ private streamHelper?;
65
+ private conversationId?;
66
+ private artifactComponents;
67
+ private isDelegatedAgent;
68
+ private contextResolver?;
69
+ constructor(config: AgentConfig, framework?: AgentExecutionServer);
70
+ /**
71
+ * Get the maximum number of generation steps for this agent
72
+ * Uses agent's stopWhen.stepCountIs config or defaults to CONSTANTS.MAX_GENERATION_STEPS
73
+ */
74
+ private getMaxGenerationSteps;
75
+ /**
76
+ * Get the primary model settings for text generation and thinking
77
+ * Defaults to claude-4-sonnet if not specified
78
+ */
79
+ private getPrimaryModel;
80
+ /**
81
+ * Get the model settings for structured output generation
82
+ * Defaults to GPT-4.1-mini for structured outputs if not specified
83
+ */
84
+ private getStructuredOutputModel;
85
+ /**
86
+ * Get the model settings for summarization tasks
87
+ * Defaults to gpt-4.1-nano if not specified
88
+ */
89
+ private getSummarizerModel;
90
+ setConversationId(conversationId: string): void;
91
+ /**
92
+ * Set delegation status for this agent instance
93
+ */
94
+ setDelegationStatus(isDelegated: boolean): void;
95
+ /**
96
+ * Get streaming helper if this agent should stream to user
97
+ * Returns undefined for delegated agents to prevent streaming data operations to user
98
+ */
99
+ getStreamingHelper(): StreamHelper | undefined;
100
+ /**
101
+ * Wraps a tool with streaming lifecycle tracking (start, complete, error) and GraphSession recording
102
+ */
103
+ private wrapToolWithStreaming;
104
+ getRelationTools(runtimeContext?: {
105
+ contextId: string;
106
+ metadata: {
107
+ conversationId: string;
108
+ threadId: string;
109
+ streamRequestId?: string;
110
+ streamBaseUrl?: string;
111
+ apiKey?: string;
112
+ baseUrl?: string;
113
+ };
114
+ }, sessionId?: string): any;
115
+ getMcpTools(sessionId?: string, streamRequestId?: string): Promise<ToolSet>;
116
+ /**
117
+ * Convert database McpTool to builder MCPToolConfig format
118
+ */
119
+ private convertToMCPToolConfig;
120
+ getMcpTool(tool: McpTool): Promise<Record<string, any>>;
121
+ getFunctionTools(streamRequestId?: string): ToolSet;
122
+ /**
123
+ * Get resolved context using ContextResolver - will return cached data or fetch fresh data as needed
124
+ */
125
+ getResolvedContext(conversationId: string, requestContext?: Record<string, unknown>): Promise<Record<string, unknown> | null>;
126
+ /**
127
+ * Get the graph prompt for this agent's graph
128
+ */
129
+ private getGraphPrompt;
130
+ /**
131
+ * Check if any agent in the graph has artifact components configured
132
+ */
133
+ private hasGraphArtifactComponents;
134
+ /**
135
+ * Build adaptive system prompt for Phase 2 structured output generation
136
+ * based on configured data components and artifact components across the graph
137
+ */
138
+ private buildPhase2SystemPrompt;
139
+ private buildSystemPrompt;
140
+ private getArtifactTools;
141
+ private createThinkingCompleteTool;
142
+ private getDefaultTools;
143
+ private graphHasArtifactComponents;
144
+ generate(userMessage: string, runtimeContext?: {
145
+ contextId: string;
146
+ metadata: {
147
+ conversationId: string;
148
+ threadId: string;
149
+ taskId: string;
150
+ streamRequestId: string;
151
+ };
152
+ }): Promise<any>;
153
+ }
154
+ //# sourceMappingURL=Agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../src/agents/Agent.ts"],"names":[],"mappings":"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"}