@inkeep/agents-sdk 0.0.0-dev-20250910233133 → 0.0.0-dev-20250910233151

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 (61) hide show
  1. package/dist/chunk-SMQ7HFDN.js +146 -0
  2. package/dist/index.cjs +2948 -0
  3. package/dist/index.d.cts +862 -0
  4. package/dist/index.d.ts +862 -11
  5. package/dist/index.js +2760 -10
  6. package/dist/tool-MDKZB6AJ.js +1 -0
  7. package/package.json +3 -3
  8. package/dist/__tests__/utils/testTenant.d.ts +0 -7
  9. package/dist/__tests__/utils/testTenant.d.ts.map +0 -1
  10. package/dist/__tests__/utils/testTenant.js +0 -10
  11. package/dist/__tests__/utils/testTenant.js.map +0 -1
  12. package/dist/agent.d.ts +0 -39
  13. package/dist/agent.d.ts.map +0 -1
  14. package/dist/agent.js +0 -513
  15. package/dist/agent.js.map +0 -1
  16. package/dist/artifact-component.d.ts +0 -27
  17. package/dist/artifact-component.d.ts.map +0 -1
  18. package/dist/artifact-component.js +0 -118
  19. package/dist/artifact-component.js.map +0 -1
  20. package/dist/builders.d.ts +0 -211
  21. package/dist/builders.d.ts.map +0 -1
  22. package/dist/builders.js +0 -244
  23. package/dist/builders.js.map +0 -1
  24. package/dist/data-component.d.ts +0 -25
  25. package/dist/data-component.d.ts.map +0 -1
  26. package/dist/data-component.js +0 -114
  27. package/dist/data-component.js.map +0 -1
  28. package/dist/environment-settings.d.ts +0 -28
  29. package/dist/environment-settings.d.ts.map +0 -1
  30. package/dist/environment-settings.js +0 -79
  31. package/dist/environment-settings.js.map +0 -1
  32. package/dist/externalAgent.d.ts +0 -58
  33. package/dist/externalAgent.d.ts.map +0 -1
  34. package/dist/externalAgent.js +0 -163
  35. package/dist/externalAgent.js.map +0 -1
  36. package/dist/graph.d.ts +0 -200
  37. package/dist/graph.d.ts.map +0 -1
  38. package/dist/graph.js +0 -1322
  39. package/dist/graph.js.map +0 -1
  40. package/dist/graphFullClient.d.ts +0 -22
  41. package/dist/graphFullClient.d.ts.map +0 -1
  42. package/dist/graphFullClient.js +0 -189
  43. package/dist/graphFullClient.js.map +0 -1
  44. package/dist/index.d.ts.map +0 -1
  45. package/dist/index.js.map +0 -1
  46. package/dist/module-hosted-tool-manager.d.ts +0 -37
  47. package/dist/module-hosted-tool-manager.d.ts.map +0 -1
  48. package/dist/module-hosted-tool-manager.js +0 -378
  49. package/dist/module-hosted-tool-manager.js.map +0 -1
  50. package/dist/runner.d.ts +0 -38
  51. package/dist/runner.d.ts.map +0 -1
  52. package/dist/runner.js +0 -164
  53. package/dist/runner.js.map +0 -1
  54. package/dist/tool.d.ts +0 -29
  55. package/dist/tool.d.ts.map +0 -1
  56. package/dist/tool.js +0 -122
  57. package/dist/tool.js.map +0 -1
  58. package/dist/types.d.ts +0 -286
  59. package/dist/types.d.ts.map +0 -1
  60. package/dist/types.js +0 -39
  61. package/dist/types.js.map +0 -1
@@ -0,0 +1,146 @@
1
+ import { getLogger } from '@inkeep/agents-core';
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
6
+ var logger = getLogger("tool");
7
+ var Tool = class {
8
+ constructor(config) {
9
+ __publicField(this, "config");
10
+ __publicField(this, "baseURL");
11
+ __publicField(this, "tenantId");
12
+ __publicField(this, "initialized", false);
13
+ this.config = config;
14
+ this.baseURL = process.env.INKEEP_API_URL || "http://localhost:3002";
15
+ this.tenantId = config.tenantId || "default";
16
+ logger.info(
17
+ {
18
+ toolId: this.getId(),
19
+ toolName: config.name
20
+ },
21
+ "Tool constructor initialized"
22
+ );
23
+ }
24
+ // Compute ID from name using same slug transformation as agents
25
+ getId() {
26
+ return this.config.id;
27
+ }
28
+ getName() {
29
+ return this.config.name;
30
+ }
31
+ getDescription() {
32
+ return this.config.description || "";
33
+ }
34
+ getServerUrl() {
35
+ return this.config.serverUrl;
36
+ }
37
+ getActiveTools() {
38
+ return this.config.activeTools;
39
+ }
40
+ getCredentialReferenceId() {
41
+ return this.config.credential?.id;
42
+ }
43
+ // Public method to ensure tool exists in backend (with upsert behavior)
44
+ async init(options) {
45
+ if (this.initialized) return;
46
+ try {
47
+ if (!options?.skipDatabaseRegistration) {
48
+ await this.upsertTool();
49
+ }
50
+ logger.info(
51
+ {
52
+ toolId: this.getId()
53
+ },
54
+ "Tool initialized successfully"
55
+ );
56
+ this.initialized = true;
57
+ } catch (error) {
58
+ logger.error(
59
+ {
60
+ toolId: this.getId(),
61
+ error: error instanceof Error ? error.message : "Unknown error"
62
+ },
63
+ "Failed to initialize tool"
64
+ );
65
+ throw error;
66
+ }
67
+ }
68
+ // Private method to upsert tool (create or update)
69
+ async upsertTool() {
70
+ const toolDataForUpdate = {
71
+ id: this.getId(),
72
+ name: this.config.name,
73
+ // Don't send description as it's not in the database schema
74
+ // Explicitly set to null when undefined to ensure removal
75
+ credentialReferenceId: this.config.credential?.id ?? null,
76
+ // Explicitly set headers to null when undefined to ensure removal
77
+ headers: this.config.headers ?? null,
78
+ imageUrl: this.config.imageUrl,
79
+ // Include image URL
80
+ config: {
81
+ type: "mcp",
82
+ mcp: {
83
+ server: {
84
+ url: this.config.serverUrl
85
+ },
86
+ activeTools: this.config.activeTools
87
+ }
88
+ }
89
+ };
90
+ const toolDataForCreate = {
91
+ ...toolDataForUpdate
92
+ };
93
+ logger.info({ toolDataForCreate }, "toolDataForCreate");
94
+ const updateResponse = await fetch(
95
+ `${this.baseURL}/tenants/${this.tenantId}/crud/tools/${this.getId()}`,
96
+ {
97
+ method: "PUT",
98
+ headers: {
99
+ "Content-Type": "application/json"
100
+ },
101
+ body: JSON.stringify(toolDataForUpdate)
102
+ }
103
+ );
104
+ logger.info({ updateResponse }, "tool updateResponse");
105
+ if (updateResponse.ok) {
106
+ logger.info(
107
+ {
108
+ toolId: this.getId()
109
+ },
110
+ "Tool updated successfully"
111
+ );
112
+ return;
113
+ }
114
+ if (updateResponse.status === 404) {
115
+ logger.info(
116
+ {
117
+ toolId: this.getId()
118
+ },
119
+ "Tool not found, creating new tool"
120
+ );
121
+ const createResponse = await fetch(
122
+ `${this.baseURL}/tenants/${this.tenantId}/crud/tools`,
123
+ {
124
+ method: "POST",
125
+ headers: {
126
+ "Content-Type": "application/json"
127
+ },
128
+ body: JSON.stringify(toolDataForCreate)
129
+ }
130
+ );
131
+ if (!createResponse.ok) {
132
+ throw new Error(`Failed to create tool: ${createResponse.status}`);
133
+ }
134
+ logger.info(
135
+ {
136
+ toolId: this.getId()
137
+ },
138
+ "Tool created successfully"
139
+ );
140
+ return;
141
+ }
142
+ throw new Error(`Failed to update tool: ${updateResponse.status}`);
143
+ }
144
+ };
145
+
146
+ export { Tool, __publicField };