@inkeep/agents-run-api 0.0.0-dev-20250910232631

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 (152) hide show
  1. package/LICENSE.md +49 -0
  2. package/README.md +117 -0
  3. package/dist/__tests__/setup.d.ts +4 -0
  4. package/dist/__tests__/setup.d.ts.map +1 -0
  5. package/dist/__tests__/setup.js +80 -0
  6. package/dist/__tests__/utils/testProject.d.ts +18 -0
  7. package/dist/__tests__/utils/testProject.d.ts.map +1 -0
  8. package/dist/__tests__/utils/testProject.js +26 -0
  9. package/dist/__tests__/utils/testRequest.d.ts +8 -0
  10. package/dist/__tests__/utils/testRequest.d.ts.map +1 -0
  11. package/dist/__tests__/utils/testRequest.js +32 -0
  12. package/dist/__tests__/utils/testTenant.d.ts +64 -0
  13. package/dist/__tests__/utils/testTenant.d.ts.map +1 -0
  14. package/dist/__tests__/utils/testTenant.js +71 -0
  15. package/dist/a2a/client.d.ts +182 -0
  16. package/dist/a2a/client.d.ts.map +1 -0
  17. package/dist/a2a/client.js +645 -0
  18. package/dist/a2a/handlers.d.ts +4 -0
  19. package/dist/a2a/handlers.d.ts.map +1 -0
  20. package/dist/a2a/handlers.js +656 -0
  21. package/dist/a2a/transfer.d.ts +18 -0
  22. package/dist/a2a/transfer.d.ts.map +1 -0
  23. package/dist/a2a/transfer.js +22 -0
  24. package/dist/a2a/types.d.ts +63 -0
  25. package/dist/a2a/types.d.ts.map +1 -0
  26. package/dist/a2a/types.js +1 -0
  27. package/dist/agents/Agent.d.ts +151 -0
  28. package/dist/agents/Agent.d.ts.map +1 -0
  29. package/dist/agents/Agent.js +1164 -0
  30. package/dist/agents/ModelFactory.d.ts +62 -0
  31. package/dist/agents/ModelFactory.d.ts.map +1 -0
  32. package/dist/agents/ModelFactory.js +208 -0
  33. package/dist/agents/SystemPromptBuilder.d.ts +14 -0
  34. package/dist/agents/SystemPromptBuilder.d.ts.map +1 -0
  35. package/dist/agents/SystemPromptBuilder.js +62 -0
  36. package/dist/agents/ToolSessionManager.d.ts +53 -0
  37. package/dist/agents/ToolSessionManager.d.ts.map +1 -0
  38. package/dist/agents/ToolSessionManager.js +106 -0
  39. package/dist/agents/artifactTools.d.ts +30 -0
  40. package/dist/agents/artifactTools.d.ts.map +1 -0
  41. package/dist/agents/artifactTools.js +463 -0
  42. package/dist/agents/generateTaskHandler.d.ts +41 -0
  43. package/dist/agents/generateTaskHandler.d.ts.map +1 -0
  44. package/dist/agents/generateTaskHandler.js +350 -0
  45. package/dist/agents/relationTools.d.ts +35 -0
  46. package/dist/agents/relationTools.d.ts.map +1 -0
  47. package/dist/agents/relationTools.js +246 -0
  48. package/dist/agents/types.d.ts +23 -0
  49. package/dist/agents/types.d.ts.map +1 -0
  50. package/dist/agents/types.js +1 -0
  51. package/dist/agents/versions/V1Config.d.ts +21 -0
  52. package/dist/agents/versions/V1Config.d.ts.map +1 -0
  53. package/dist/agents/versions/V1Config.js +285 -0
  54. package/dist/app.d.ts +5 -0
  55. package/dist/app.d.ts.map +1 -0
  56. package/dist/app.js +219 -0
  57. package/dist/data/agentGraph.d.ts +4 -0
  58. package/dist/data/agentGraph.d.ts.map +1 -0
  59. package/dist/data/agentGraph.js +73 -0
  60. package/dist/data/agents.d.ts +4 -0
  61. package/dist/data/agents.d.ts.map +1 -0
  62. package/dist/data/agents.js +78 -0
  63. package/dist/data/conversations.d.ts +59 -0
  64. package/dist/data/conversations.d.ts.map +1 -0
  65. package/dist/data/conversations.js +216 -0
  66. package/dist/data/db/clean.d.ts +6 -0
  67. package/dist/data/db/clean.d.ts.map +1 -0
  68. package/dist/data/db/clean.js +77 -0
  69. package/dist/data/db/dbClient.d.ts +3 -0
  70. package/dist/data/db/dbClient.d.ts.map +1 -0
  71. package/dist/data/db/dbClient.js +13 -0
  72. package/dist/env.d.ts +45 -0
  73. package/dist/env.d.ts.map +1 -0
  74. package/dist/env.js +64 -0
  75. package/dist/handlers/executionHandler.d.ts +36 -0
  76. package/dist/handlers/executionHandler.d.ts.map +1 -0
  77. package/dist/handlers/executionHandler.js +415 -0
  78. package/dist/index.d.ts +11 -0
  79. package/dist/index.d.ts.map +1 -0
  80. package/dist/index.js +28 -0
  81. package/dist/instrumentation.d.ts +13 -0
  82. package/dist/instrumentation.d.ts.map +1 -0
  83. package/dist/instrumentation.js +66 -0
  84. package/dist/logger.d.ts +4 -0
  85. package/dist/logger.d.ts.map +1 -0
  86. package/dist/logger.js +32 -0
  87. package/dist/middleware/api-key-auth.d.ts +22 -0
  88. package/dist/middleware/api-key-auth.d.ts.map +1 -0
  89. package/dist/middleware/api-key-auth.js +139 -0
  90. package/dist/middleware/index.d.ts +2 -0
  91. package/dist/middleware/index.d.ts.map +1 -0
  92. package/dist/middleware/index.js +1 -0
  93. package/dist/openapi.d.ts +2 -0
  94. package/dist/openapi.d.ts.map +1 -0
  95. package/dist/openapi.js +36 -0
  96. package/dist/routes/agents.d.ts +10 -0
  97. package/dist/routes/agents.d.ts.map +1 -0
  98. package/dist/routes/agents.js +158 -0
  99. package/dist/routes/chat.d.ts +10 -0
  100. package/dist/routes/chat.d.ts.map +1 -0
  101. package/dist/routes/chat.js +307 -0
  102. package/dist/routes/chatDataStream.d.ts +10 -0
  103. package/dist/routes/chatDataStream.d.ts.map +1 -0
  104. package/dist/routes/chatDataStream.js +185 -0
  105. package/dist/routes/mcp.d.ts +10 -0
  106. package/dist/routes/mcp.d.ts.map +1 -0
  107. package/dist/routes/mcp.js +500 -0
  108. package/dist/tracer.d.ts +24 -0
  109. package/dist/tracer.d.ts.map +1 -0
  110. package/dist/tracer.js +107 -0
  111. package/dist/types/chat.d.ts +25 -0
  112. package/dist/types/chat.d.ts.map +1 -0
  113. package/dist/types/chat.js +1 -0
  114. package/dist/types/execution-context.d.ts +14 -0
  115. package/dist/types/execution-context.d.ts.map +1 -0
  116. package/dist/types/execution-context.js +14 -0
  117. package/dist/utils/agent-operations.d.ts +93 -0
  118. package/dist/utils/agent-operations.d.ts.map +1 -0
  119. package/dist/utils/agent-operations.js +78 -0
  120. package/dist/utils/artifact-component-schema.d.ts +29 -0
  121. package/dist/utils/artifact-component-schema.d.ts.map +1 -0
  122. package/dist/utils/artifact-component-schema.js +119 -0
  123. package/dist/utils/artifact-parser.d.ts +71 -0
  124. package/dist/utils/artifact-parser.d.ts.map +1 -0
  125. package/dist/utils/artifact-parser.js +253 -0
  126. package/dist/utils/cleanup.d.ts +19 -0
  127. package/dist/utils/cleanup.d.ts.map +1 -0
  128. package/dist/utils/cleanup.js +66 -0
  129. package/dist/utils/data-component-schema.d.ts +6 -0
  130. package/dist/utils/data-component-schema.d.ts.map +1 -0
  131. package/dist/utils/data-component-schema.js +43 -0
  132. package/dist/utils/graph-session.d.ts +230 -0
  133. package/dist/utils/graph-session.d.ts.map +1 -0
  134. package/dist/utils/graph-session.js +1199 -0
  135. package/dist/utils/incremental-stream-parser.d.ts +62 -0
  136. package/dist/utils/incremental-stream-parser.d.ts.map +1 -0
  137. package/dist/utils/incremental-stream-parser.js +330 -0
  138. package/dist/utils/response-formatter.d.ts +26 -0
  139. package/dist/utils/response-formatter.d.ts.map +1 -0
  140. package/dist/utils/response-formatter.js +158 -0
  141. package/dist/utils/stream-helpers.d.ts +186 -0
  142. package/dist/utils/stream-helpers.d.ts.map +1 -0
  143. package/dist/utils/stream-helpers.js +603 -0
  144. package/dist/utils/stream-registry.d.ts +18 -0
  145. package/dist/utils/stream-registry.d.ts.map +1 -0
  146. package/dist/utils/stream-registry.js +33 -0
  147. package/package.json +95 -0
  148. package/templates/v1/artifact.xml +7 -0
  149. package/templates/v1/data-component.xml +9 -0
  150. package/templates/v1/system-prompt.xml +52 -0
  151. package/templates/v1/thinking-preparation.xml +34 -0
  152. package/templates/v1/tool.xml +12 -0
@@ -0,0 +1,22 @@
1
+ import { setActiveAgentForThread } from '@inkeep/agents-core';
2
+ import dbClient from '../data/db/dbClient';
3
+ import { getLogger } from '../logger';
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,151 @@
1
+ import { type AgentConversationHistoryConfig, type Artifact, type ArtifactComponentApiInsert, type CredentialStoreRegistry, type DataComponentApiInsert, type McpTool, type Models } from '@inkeep/agents-core';
2
+ import { type ToolSet } from 'ai';
3
+ import type { StreamHelper } from '../utils/stream-helpers';
4
+ /**
5
+ * Creates a stopWhen condition that stops when any tool call name starts with the given prefix
6
+ * @param prefix - The prefix to check for in tool call names
7
+ * @returns A function that can be used as a stopWhen condition
8
+ */
9
+ export declare function hasToolCallWithPrefix(prefix: string): ({ steps }: {
10
+ steps: Array<any>;
11
+ }) => any;
12
+ export type AgentConfig = {
13
+ id: string;
14
+ tenantId: string;
15
+ projectId: string;
16
+ graphId: string;
17
+ baseUrl: string;
18
+ apiKey?: string;
19
+ apiKeyId?: string;
20
+ name: string;
21
+ description: string;
22
+ agentPrompt: string;
23
+ agentRelations: AgentConfig[];
24
+ transferRelations: AgentConfig[];
25
+ delegateRelations: DelegateRelation[];
26
+ tools?: McpTool[];
27
+ artifacts?: Record<string, Artifact>;
28
+ functionTools?: Array<{
29
+ name: string;
30
+ description: string;
31
+ execute: (params: any) => Promise<any>;
32
+ parameters?: Record<string, any>;
33
+ schema?: any;
34
+ }>;
35
+ contextConfigId?: string;
36
+ dataComponents?: DataComponentApiInsert[];
37
+ artifactComponents?: ArtifactComponentApiInsert[];
38
+ conversationHistoryConfig?: AgentConversationHistoryConfig;
39
+ models?: Models;
40
+ stopWhen?: {
41
+ stepCountIs?: number;
42
+ };
43
+ };
44
+ export type ExternalAgentConfig = {
45
+ id: string;
46
+ name: string;
47
+ description: string;
48
+ baseUrl: string;
49
+ };
50
+ export type DelegateRelation = {
51
+ type: 'internal';
52
+ config: AgentConfig;
53
+ } | {
54
+ type: 'external';
55
+ config: ExternalAgentConfig;
56
+ };
57
+ export type ToolType = 'transfer' | 'delegation' | 'mcp' | 'tool';
58
+ export declare class Agent {
59
+ private config;
60
+ private systemPromptBuilder;
61
+ private responseFormatter;
62
+ private credentialStuffer?;
63
+ private streamHelper?;
64
+ private streamRequestId?;
65
+ private conversationId?;
66
+ private artifactComponents;
67
+ private isDelegatedAgent;
68
+ private contextResolver?;
69
+ private credentialStoreRegistry?;
70
+ constructor(config: AgentConfig, credentialStoreRegistry?: CredentialStoreRegistry);
71
+ /**
72
+ * Get the maximum number of generation steps for this agent
73
+ * Uses agent's stopWhen.stepCountIs config or defaults to CONSTANTS.MAX_GENERATION_STEPS
74
+ */
75
+ private getMaxGenerationSteps;
76
+ /**
77
+ * Get the primary model settings for text generation and thinking
78
+ * Defaults to claude-4-sonnet if not specified
79
+ */
80
+ private getPrimaryModel;
81
+ /**
82
+ * Get the model settings for structured output generation
83
+ * Defaults to GPT-4.1-mini for structured outputs if not specified
84
+ */
85
+ private getStructuredOutputModel;
86
+ setConversationId(conversationId: string): void;
87
+ /**
88
+ * Set delegation status for this agent instance
89
+ */
90
+ setDelegationStatus(isDelegated: boolean): void;
91
+ /**
92
+ * Get streaming helper if this agent should stream to user
93
+ * Returns undefined for delegated agents to prevent streaming data operations to user
94
+ */
95
+ getStreamingHelper(): StreamHelper | undefined;
96
+ /**
97
+ * Wraps a tool with streaming lifecycle tracking (start, complete, error) and GraphSession recording
98
+ */
99
+ private wrapToolWithStreaming;
100
+ getRelationTools(runtimeContext?: {
101
+ contextId: string;
102
+ metadata: {
103
+ conversationId: string;
104
+ threadId: string;
105
+ streamRequestId?: string;
106
+ streamBaseUrl?: string;
107
+ apiKey?: string;
108
+ baseUrl?: string;
109
+ };
110
+ }, sessionId?: string): any;
111
+ getMcpTools(sessionId?: string, streamRequestId?: string): Promise<ToolSet>;
112
+ /**
113
+ * Convert database McpTool to builder MCPToolConfig format
114
+ */
115
+ private convertToMCPToolConfig;
116
+ getMcpTool(tool: McpTool): Promise<Record<string, any>>;
117
+ getFunctionTools(streamRequestId?: string): ToolSet;
118
+ /**
119
+ * Get resolved context using ContextResolver - will return cached data or fetch fresh data as needed
120
+ */
121
+ getResolvedContext(conversationId: string, requestContext?: Record<string, unknown>): Promise<Record<string, unknown> | null>;
122
+ /**
123
+ * Get the graph prompt for this agent's graph
124
+ */
125
+ private getGraphPrompt;
126
+ /**
127
+ * Check if any agent in the graph has artifact components configured
128
+ */
129
+ private hasGraphArtifactComponents;
130
+ /**
131
+ * Build adaptive system prompt for Phase 2 structured output generation
132
+ * based on configured data components and artifact components across the graph
133
+ */
134
+ private buildPhase2SystemPrompt;
135
+ private buildSystemPrompt;
136
+ private getArtifactTools;
137
+ private createThinkingCompleteTool;
138
+ private getDefaultTools;
139
+ private getStreamRequestId;
140
+ private graphHasArtifactComponents;
141
+ generate(userMessage: string, runtimeContext?: {
142
+ contextId: string;
143
+ metadata: {
144
+ conversationId: string;
145
+ threadId: string;
146
+ taskId: string;
147
+ streamRequestId: string;
148
+ };
149
+ }): Promise<any>;
150
+ }
151
+ //# 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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"}