@inkeep/agents-sdk 0.0.0-dev-20250911210702 → 0.0.0-dev-20250911221549

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.
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { MCPToolConfig as MCPToolConfig$1, ArtifactComponentInsert, DataComponentInsert, CredentialReferenceApiInsert, CredentialReferenceSelect, AgentApiInsert, DataComponentApiInsert, ArtifactComponentApiInsert, AgentConversationHistoryConfig, ToolInsert, McpTransportConfig } from '@inkeep/agents-core';
1
+ import { MCPToolConfig as MCPToolConfig$1, CredentialReferenceApiInsert, MCPTransportType, CredentialReferenceSelect, AgentApiInsert, DataComponentApiInsert, ArtifactComponentApiInsert, AgentConversationHistoryConfig, ToolInsert, McpTransportConfig, ArtifactComponentInsert, DataComponentInsert } from '@inkeep/agents-core';
2
2
  import { z } from 'zod';
3
3
 
4
4
  interface ToolInterface {
@@ -30,60 +30,26 @@ declare class Tool implements ToolInterface {
30
30
  private upsertTool;
31
31
  }
32
32
 
33
- interface ArtifactComponentInterface {
34
- config: Omit<ArtifactComponentInsert, "id">;
35
- init(): Promise<void>;
36
- getId(): ArtifactComponentInsert["id"];
37
- getName(): ArtifactComponentInsert["name"];
38
- getDescription(): ArtifactComponentInsert["description"];
39
- getSummaryProps(): ArtifactComponentInsert["summaryProps"];
40
- getFullProps(): ArtifactComponentInsert["fullProps"];
41
- }
42
- declare class ArtifactComponent implements ArtifactComponentInterface {
43
- config: ArtifactComponentInsert;
44
- private baseURL;
45
- private tenantId;
46
- private projectId;
47
- private initialized;
48
- private id;
49
- constructor(config: Omit<ArtifactComponentInsert, "id">);
50
- getId(): string;
51
- getName(): string;
52
- getDescription(): string;
53
- getSummaryProps(): ArtifactComponentInsert["summaryProps"];
54
- getFullProps(): ArtifactComponentInsert["fullProps"];
55
- init(): Promise<void>;
56
- private upsertArtifactComponent;
57
- }
58
-
59
- interface DataComponentInterface {
60
- config: Omit<DataComponentInsert, "id">;
61
- init(): Promise<void>;
62
- getId(): DataComponentInsert["id"];
63
- getName(): DataComponentInsert["name"];
64
- getDescription(): DataComponentInsert["description"];
65
- getProps(): DataComponentInsert["props"];
66
- }
67
- declare class DataComponent implements DataComponentInterface {
68
- config: DataComponentInsert;
69
- private baseURL;
70
- private tenantId;
71
- private projectId;
72
- private initialized;
73
- private id;
74
- constructor(config: Omit<DataComponentInsert, "id">);
75
- getId(): string;
76
- getName(): string;
77
- getDescription(): string;
78
- getProps(): DataComponentInsert["props"];
79
- init(): Promise<void>;
80
- private upsertDataComponent;
81
- }
82
-
83
33
  /**
84
34
  * Function signature for transfer conditions
85
35
  */
86
36
  type TransferConditionFunction = (context: unknown) => boolean;
37
+ /**
38
+ * Configuration for MCP server builders
39
+ */
40
+ interface MCPServerConfig {
41
+ name: string;
42
+ description: string;
43
+ serverUrl: string;
44
+ id?: string;
45
+ parameters?: Record<string, z.ZodJSONSchema>;
46
+ credential?: CredentialReferenceApiInsert;
47
+ tenantId?: string;
48
+ transport?: keyof typeof MCPTransportType;
49
+ activeTools?: string[];
50
+ headers?: Record<string, string>;
51
+ imageUrl?: string;
52
+ }
87
53
  /**
88
54
  * Configuration for component builders
89
55
  */
@@ -100,74 +66,10 @@ interface ArtifactComponentConfig extends ComponentConfig {
100
66
  interface DataComponentConfig extends ComponentConfig {
101
67
  props: Record<string, unknown>;
102
68
  }
103
- /**
104
- * Creates a new agent with stable ID enforcement.
105
- *
106
- * Agents require explicit stable IDs to ensure consistency across deployments.
107
- * This is different from tools which auto-generate IDs from their names.
108
- *
109
- * @param config - Agent configuration including required stable ID
110
- * @returns A new Agent instance
111
- * @throws {Error} If config.id is not provided
112
- *
113
- * @example
114
- * ```typescript
115
- * const myAgent = agent({
116
- * id: 'customer-support-agent',
117
- * name: 'Customer Support',
118
- * prompt: 'Help customers with their questions'
119
- * });
120
- * ```
121
- */
122
- declare function agent(config: AgentConfig): Agent;
123
- /**
124
- * Creates an MCP tool from a raw configuration object.
125
- *
126
- * This is a low-level builder for advanced use cases where you need
127
- * full control over the MCPToolConfig. For most cases, use `mcpServer()`.
128
- *
129
- * @param config - Complete MCP tool configuration
130
- * @returns A Tool instance
131
- *
132
- * @example
133
- * ```typescript
134
- * const customTool = mcpTool({
135
- * id: 'custom-tool',
136
- * name: 'Custom Tool',
137
- * serverUrl: 'https://example.com/mcp',
138
- * transport: { type: 'stdio' }
139
- * });
140
- * ```
141
- */
142
- declare function mcpTool(config: MCPToolConfig$1): Tool;
143
69
  type AgentMcpConfig = {
144
70
  server: Tool;
145
71
  selectedTools: string[];
146
72
  };
147
- /**
148
- * Creates a credential reference for authentication.
149
- *
150
- * Credentials are used to authenticate with external services.
151
- * They should be stored securely and referenced by ID.
152
- *
153
- * @param config - Credential configuration
154
- * @returns A validated credential reference
155
- *
156
- * @example
157
- * ```typescript
158
- * const apiCredential = credential({
159
- * id: 'github-token',
160
- * type: 'bearer',
161
- * value: process.env.GITHUB_TOKEN
162
- * });
163
- * ```
164
- */
165
- declare function credential(config: CredentialReferenceApiInsert): {
166
- id: string;
167
- credentialStoreId: string;
168
- type: "nango" | "memory" | "keychain";
169
- retrievalParams?: Record<string, unknown> | null | undefined;
170
- };
171
73
  /**
172
74
  * Creates a transfer configuration for agent handoffs.
173
75
  *
@@ -193,57 +95,6 @@ declare function credential(config: CredentialReferenceApiInsert): {
193
95
  * ```
194
96
  */
195
97
  declare function transfer(targetAgent: Agent, description?: string, condition?: TransferConditionFunction): TransferConfig;
196
- /**
197
- * Creates an artifact component with automatic ID generation.
198
- *
199
- * Artifact components represent structured UI components that can
200
- * be rendered with different levels of detail (summary vs full).
201
- *
202
- * @param config - Artifact component configuration
203
- * @returns An ArtifactComponent instance
204
- *
205
- * @example
206
- * ```typescript
207
- * const productCard = artifactComponent({
208
- * name: 'Product Card',
209
- * description: 'Display product information',
210
- * summaryProps: {
211
- * title: 'Product',
212
- * price: '$0'
213
- * },
214
- * fullProps: {
215
- * title: 'Product',
216
- * price: '$0',
217
- * description: 'Product description',
218
- * image: 'product.jpg'
219
- * }
220
- * });
221
- * ```
222
- */
223
- declare function artifactComponent(config: ArtifactComponentConfig): ArtifactComponent;
224
- /**
225
- * Creates a data component with automatic ID generation.
226
- *
227
- * Data components represent structured data that can be
228
- * passed between agents or used in processing.
229
- *
230
- * @param config - Data component configuration
231
- * @returns A DataComponent instance
232
- *
233
- * @example
234
- * ```typescript
235
- * const userProfile = dataComponent({
236
- * name: 'User Profile',
237
- * description: 'User profile data',
238
- * props: {
239
- * userId: '123',
240
- * name: 'John Doe',
241
- * email: 'john@example.com'
242
- * }
243
- * });
244
- * ```
245
- */
246
- declare function dataComponent(config: DataComponentConfig): DataComponent;
247
98
 
248
99
  type ExternalAgentConfig = {
249
100
  type?: "external";
@@ -617,21 +468,55 @@ declare class Agent implements AgentInterface {
617
468
  private createAgentToolRelation;
618
469
  }
619
470
 
620
- interface EnvironmentSettingsConfig {
621
- credentials?: {
622
- [settingId: string]: CredentialReferenceApiInsert;
623
- };
471
+ interface ArtifactComponentInterface {
472
+ config: Omit<ArtifactComponentInsert, "id">;
473
+ init(): Promise<void>;
474
+ getId(): ArtifactComponentInsert["id"];
475
+ getName(): ArtifactComponentInsert["name"];
476
+ getDescription(): ArtifactComponentInsert["description"];
477
+ getSummaryProps(): ArtifactComponentInsert["summaryProps"];
478
+ getFullProps(): ArtifactComponentInsert["fullProps"];
479
+ }
480
+ declare class ArtifactComponent implements ArtifactComponentInterface {
481
+ config: ArtifactComponentInsert;
482
+ private baseURL;
483
+ private tenantId;
484
+ private projectId;
485
+ private initialized;
486
+ private id;
487
+ constructor(config: Omit<ArtifactComponentInsert, "id">);
488
+ getId(): string;
489
+ getName(): string;
490
+ getDescription(): string;
491
+ getSummaryProps(): ArtifactComponentInsert["summaryProps"];
492
+ getFullProps(): ArtifactComponentInsert["fullProps"];
493
+ init(): Promise<void>;
494
+ private upsertArtifactComponent;
495
+ }
496
+
497
+ interface DataComponentInterface {
498
+ config: Omit<DataComponentInsert, "id">;
499
+ init(): Promise<void>;
500
+ getId(): DataComponentInsert["id"];
501
+ getName(): DataComponentInsert["name"];
502
+ getDescription(): DataComponentInsert["description"];
503
+ getProps(): DataComponentInsert["props"];
504
+ }
505
+ declare class DataComponent implements DataComponentInterface {
506
+ config: DataComponentInsert;
507
+ private baseURL;
508
+ private tenantId;
509
+ private projectId;
510
+ private initialized;
511
+ private id;
512
+ constructor(config: Omit<DataComponentInsert, "id">);
513
+ getId(): string;
514
+ getName(): string;
515
+ getDescription(): string;
516
+ getProps(): DataComponentInsert["props"];
517
+ init(): Promise<void>;
518
+ private upsertDataComponent;
624
519
  }
625
- /**
626
- * Create a setting helper with TypeScript autocomplete
627
- */
628
- declare function createEnvironmentSettings<T extends Record<string, EnvironmentSettingsConfig>>(environments: T): {
629
- getEnvironmentSetting: (key: keyof NonNullable<T[keyof T]["credentials"]>) => Promise<CredentialReferenceApiInsert>;
630
- };
631
- /**
632
- * Create type-safe environment configurations
633
- */
634
- declare function registerEnvironmentSettings<T extends EnvironmentSettingsConfig>(config: T): T;
635
520
 
636
521
  declare class AgentGraph implements GraphInterface {
637
522
  private agents;
@@ -823,14 +708,176 @@ declare class AgentGraph implements GraphInterface {
823
708
  */
824
709
  private createExternalAgents;
825
710
  }
711
+
826
712
  /**
827
713
  * Helper function to create graphs - OpenAI style
828
714
  */
829
715
  declare function agentGraph(config: GraphConfig): AgentGraph;
830
716
  /**
831
- * Factory function to create graph from configuration file
717
+ * Creates a new agent with stable ID enforcement.
718
+ *
719
+ * Agents require explicit stable IDs to ensure consistency across deployments.
720
+ * This is different from tools which auto-generate IDs from their names.
721
+ *
722
+ * @param config - Agent configuration including required stable ID
723
+ * @returns A new Agent instance
724
+ * @throws {Error} If config.id is not provided
725
+ *
726
+ * @example
727
+ * ```typescript
728
+ * const myAgent = agent({
729
+ * id: 'customer-support-agent',
730
+ * name: 'Customer Support',
731
+ * prompt: 'Help customers with their questions'
732
+ * });
733
+ * ```
734
+ */
735
+ declare function agent(config: AgentConfig): Agent;
736
+ /**
737
+ * Creates a credential reference for authentication.
738
+ *
739
+ * Credentials are used to authenticate with external services.
740
+ * They should be stored securely and referenced by ID.
741
+ *
742
+ * @param config - Credential configuration
743
+ * @returns A validated credential reference
744
+ *
745
+ * @example
746
+ * ```typescript
747
+ * const apiCredential = credential({
748
+ * id: 'github-token',
749
+ * type: 'bearer',
750
+ * value: process.env.GITHUB_TOKEN
751
+ * });
752
+ * ```
753
+ */
754
+ declare function credential(config: CredentialReferenceApiInsert): {
755
+ id: string;
756
+ credentialStoreId: string;
757
+ type: "nango" | "memory" | "keychain";
758
+ retrievalParams?: Record<string, unknown> | null | undefined;
759
+ };
760
+ /**
761
+ * Creates an MCP (Model Context Protocol) server for tool functionality.
762
+ *
763
+ * MCP servers provide tool functionality through a standardized protocol.
764
+ * They can be remote services accessed via HTTP/WebSocket.
765
+ *
766
+ * @param config - MCP server configuration
767
+ * @returns A Tool instance configured as an MCP server
768
+ * @throws {Error} If serverUrl is not provided
769
+ *
770
+ * @example
771
+ * ```typescript
772
+ * // Remote MCP server
773
+ * const apiServer = mcpServer({
774
+ * name: 'external_api',
775
+ * description: 'External API service',
776
+ * serverUrl: 'https://api.example.com/mcp'
777
+ * });
778
+ *
779
+ * // With authentication
780
+ * const secureServer = mcpServer({
781
+ * name: 'secure_api',
782
+ * description: 'Secure API service',
783
+ * serverUrl: 'https://secure.example.com/mcp',
784
+ * credential: credential({
785
+ * id: 'api-key',
786
+ * type: 'bearer',
787
+ * value: process.env.API_KEY
788
+ * })
789
+ * });
790
+ * ```
791
+ */
792
+ declare function mcpServer(config: MCPServerConfig): Tool;
793
+ /**
794
+ * Creates an MCP tool from a raw configuration object.
795
+ *
796
+ * This is a low-level builder for advanced use cases where you need
797
+ * full control over the MCPToolConfig. For most cases, use `mcpServer()`.
798
+ *
799
+ * @param config - Complete MCP tool configuration
800
+ * @returns A Tool instance
801
+ *
802
+ * @example
803
+ * ```typescript
804
+ * const customTool = mcpTool({
805
+ * id: 'custom-tool',
806
+ * name: 'Custom Tool',
807
+ * serverUrl: 'https://example.com/mcp',
808
+ * transport: { type: 'stdio' }
809
+ * });
810
+ * ```
832
811
  */
833
- declare function generateGraph(configPath: string): Promise<AgentGraph>;
812
+ declare function mcpTool(config: MCPToolConfig$1): Tool;
813
+ /**
814
+ * Creates an artifact component with automatic ID generation.
815
+ *
816
+ * Artifact components represent structured UI components that can
817
+ * be rendered with different levels of detail (summary vs full).
818
+ *
819
+ * @param config - Artifact component configuration
820
+ * @returns An ArtifactComponent instance
821
+ *
822
+ * @example
823
+ * ```typescript
824
+ * const productCard = artifactComponent({
825
+ * name: 'Product Card',
826
+ * description: 'Display product information',
827
+ * summaryProps: {
828
+ * title: 'Product',
829
+ * price: '$0'
830
+ * },
831
+ * fullProps: {
832
+ * title: 'Product',
833
+ * price: '$0',
834
+ * description: 'Product description',
835
+ * image: 'product.jpg'
836
+ * }
837
+ * });
838
+ * ```
839
+ */
840
+ declare function artifactComponent(config: ArtifactComponentConfig): ArtifactComponent;
841
+ /**
842
+ * Creates a data component with automatic ID generation.
843
+ *
844
+ * Data components represent structured data that can be
845
+ * passed between agents or used in processing.
846
+ *
847
+ * @param config - Data component configuration
848
+ * @returns A DataComponent instance
849
+ *
850
+ * @example
851
+ * ```typescript
852
+ * const userProfile = dataComponent({
853
+ * name: 'User Profile',
854
+ * description: 'User profile data',
855
+ * props: {
856
+ * userId: '123',
857
+ * name: 'John Doe',
858
+ * email: 'john@example.com'
859
+ * }
860
+ * });
861
+ * ```
862
+ */
863
+ declare function dataComponent(config: DataComponentConfig): DataComponent;
864
+ declare function agentMcp(config: AgentMcpConfig): AgentMcpConfig;
865
+
866
+ interface EnvironmentSettingsConfig {
867
+ credentials?: {
868
+ [settingId: string]: CredentialReferenceApiInsert;
869
+ };
870
+ }
871
+ /**
872
+ * Create a setting helper with TypeScript autocomplete
873
+ */
874
+ declare function createEnvironmentSettings<T extends Record<string, EnvironmentSettingsConfig>>(environments: T): {
875
+ getEnvironmentSetting: (key: keyof NonNullable<T[keyof T]["credentials"]>) => Promise<CredentialReferenceApiInsert>;
876
+ };
877
+ /**
878
+ * Create type-safe environment configurations
879
+ */
880
+ declare function registerEnvironmentSettings<T extends EnvironmentSettingsConfig>(config: T): T;
834
881
 
835
882
  declare class Runner {
836
883
  /**
@@ -869,4 +916,4 @@ declare const run: typeof Runner.run;
869
916
  declare const stream: typeof Runner.stream;
870
917
  declare const raceGraphs: typeof Runner.raceGraphs;
871
918
 
872
- export { Agent, type AgentCanUseType, type AgentConfig, AgentError, AgentGraph, type AgentInterface, type AgentResponse, type AllAgentInterface, ArtifactComponent, type AssistantMessage, type BuilderAgentConfig, type BuilderRelationConfig, type BuilderToolConfig, DataComponent, ExternalAgent, type ExternalAgentInterface, type FetchDefinitionConfig, type GenerateOptions, type GraphConfig, type GraphInterface, type MCPToolConfig, MaxTurnsExceededError, type Message, type MessageInput, type ModelSettings, ModelSettingsSchema, type RequestSchemaConfig, type RequestSchemaDefinition, type RunResult, Runner, type ServerConfig, type StatusComponent, type StatusUpdateSettings, type StreamEvent, type StreamResponse, type SystemMessage, Tool, type ToolCall, type ToolConfig, ToolExecutionError, type ToolMessage, type ToolResult, type TransferConfig, TransferError, type UserMessage, agent, agentGraph, artifactComponent, createEnvironmentSettings, credential, dataComponent, externalAgent, externalAgents, generateGraph, mcpTool, raceGraphs, registerEnvironmentSettings, run, stream, transfer };
919
+ export { Agent, type AgentCanUseType, type AgentConfig, AgentError, type AgentInterface, type AgentResponse, type AllAgentInterface, ArtifactComponent, type AssistantMessage, type BuilderAgentConfig, type BuilderRelationConfig, type BuilderToolConfig, DataComponent, ExternalAgent, type ExternalAgentInterface, type FetchDefinitionConfig, type GenerateOptions, type GraphConfig, type GraphInterface, type MCPToolConfig, MaxTurnsExceededError, type Message, type MessageInput, type ModelSettings, ModelSettingsSchema, type RequestSchemaConfig, type RequestSchemaDefinition, type RunResult, Runner, type ServerConfig, type StatusComponent, type StatusUpdateSettings, type StreamEvent, type StreamResponse, type SystemMessage, Tool, type ToolCall, type ToolConfig, ToolExecutionError, type ToolMessage, type ToolResult, type TransferConfig, TransferError, type UserMessage, agent, agentGraph, agentMcp, artifactComponent, createEnvironmentSettings, credential, dataComponent, externalAgent, externalAgents, mcpServer, mcpTool, raceGraphs, registerEnvironmentSettings, run, stream, transfer };