@blaxel/core 0.2.43-dev.196 → 0.2.43-dev.199

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 (194) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -1
  2. package/dist/cjs/authentication/index.js +4 -30
  3. package/dist/cjs/cache/index.js +3 -16
  4. package/dist/cjs/common/browser.js +22 -0
  5. package/dist/cjs/common/env.js +12 -24
  6. package/dist/cjs/common/node.js +13 -25
  7. package/dist/cjs/common/settings.js +2 -2
  8. package/dist/cjs/sandbox/filesystem/filesystem.js +12 -13
  9. package/dist/cjs/sandbox/sandbox.js +2 -2
  10. package/dist/cjs/types/common/browser.d.ts +5 -0
  11. package/dist/cjs/types/common/node.d.ts +1 -2
  12. package/dist/cjs/types/sandbox/filesystem/filesystem.d.ts +6 -2
  13. package/dist/cjs-browser/.tsbuildinfo +1 -0
  14. package/dist/cjs-browser/agents/index.js +109 -0
  15. package/dist/cjs-browser/authentication/apikey.js +24 -0
  16. package/dist/cjs-browser/authentication/clientcredentials.js +85 -0
  17. package/dist/cjs-browser/authentication/credentials.js +17 -0
  18. package/dist/cjs-browser/authentication/deviceMode.js +70 -0
  19. package/dist/cjs-browser/authentication/index.js +62 -0
  20. package/dist/cjs-browser/authentication/types.js +2 -0
  21. package/dist/cjs-browser/cache/index.js +26 -0
  22. package/dist/cjs-browser/client/authentication.js +15 -0
  23. package/dist/cjs-browser/client/client.gen.js +8 -0
  24. package/dist/cjs-browser/client/client.js +17 -0
  25. package/dist/cjs-browser/client/index.js +19 -0
  26. package/dist/cjs-browser/client/interceptors.js +17 -0
  27. package/dist/cjs-browser/client/sdk.gen.js +1824 -0
  28. package/dist/cjs-browser/client/types.gen.js +4 -0
  29. package/dist/cjs-browser/common/autoload.js +27 -0
  30. package/dist/cjs-browser/common/env.js +57 -0
  31. package/dist/cjs-browser/common/errors.js +17 -0
  32. package/dist/cjs-browser/common/internal.js +228 -0
  33. package/dist/cjs-browser/common/internal.test.js +39 -0
  34. package/dist/cjs-browser/common/logger.js +69 -0
  35. package/dist/cjs-browser/common/node.js +22 -0
  36. package/dist/cjs-browser/common/settings.js +181 -0
  37. package/dist/cjs-browser/index.browser.test.js +45 -0
  38. package/dist/cjs-browser/index.js +34 -0
  39. package/dist/cjs-browser/jobs/index.js +19 -0
  40. package/dist/cjs-browser/jobs/jobs.js +90 -0
  41. package/dist/cjs-browser/jobs/start.js +66 -0
  42. package/dist/cjs-browser/jobs/types.js +2 -0
  43. package/dist/cjs-browser/mcp/client.js +235 -0
  44. package/dist/cjs-browser/mcp/index.js +18 -0
  45. package/dist/cjs-browser/mcp/server.js +213 -0
  46. package/dist/cjs-browser/models/index.js +31 -0
  47. package/dist/cjs-browser/sandbox/action.js +83 -0
  48. package/dist/cjs-browser/sandbox/client/client.gen.js +6 -0
  49. package/dist/cjs-browser/sandbox/client/index.js +19 -0
  50. package/dist/cjs-browser/sandbox/client/sdk.gen.js +289 -0
  51. package/dist/cjs-browser/sandbox/client/types.gen.js +3 -0
  52. package/dist/cjs-browser/sandbox/filesystem/filesystem.js +240 -0
  53. package/dist/cjs-browser/sandbox/filesystem/index.js +18 -0
  54. package/dist/cjs-browser/sandbox/filesystem/types.js +2 -0
  55. package/dist/cjs-browser/sandbox/index.js +36 -0
  56. package/dist/cjs-browser/sandbox/network/index.js +17 -0
  57. package/dist/cjs-browser/sandbox/network/network.js +10 -0
  58. package/dist/cjs-browser/sandbox/preview.js +148 -0
  59. package/dist/cjs-browser/sandbox/process/index.js +17 -0
  60. package/dist/cjs-browser/sandbox/process/process.js +189 -0
  61. package/dist/cjs-browser/sandbox/sandbox.js +180 -0
  62. package/dist/cjs-browser/sandbox/session.js +123 -0
  63. package/dist/cjs-browser/sandbox/types.js +81 -0
  64. package/dist/cjs-browser/telemetry/telemetry.js +80 -0
  65. package/dist/cjs-browser/tools/index.js +52 -0
  66. package/dist/cjs-browser/tools/mcpTool.js +254 -0
  67. package/dist/cjs-browser/tools/types.js +2 -0
  68. package/dist/cjs-browser/tools/zodSchema.js +50 -0
  69. package/dist/cjs-browser/types/agents/index.d.ts +15 -0
  70. package/dist/cjs-browser/types/authentication/apikey.d.ts +10 -0
  71. package/dist/cjs-browser/types/authentication/clientcredentials.d.ts +17 -0
  72. package/dist/cjs-browser/types/authentication/credentials.d.ts +6 -0
  73. package/dist/cjs-browser/types/authentication/deviceMode.d.ts +15 -0
  74. package/dist/cjs-browser/types/authentication/index.d.ts +3 -0
  75. package/dist/cjs-browser/types/authentication/types.d.ts +9 -0
  76. package/dist/cjs-browser/types/cache/index.d.ts +1 -0
  77. package/dist/cjs-browser/types/client/authentication.d.ts +25 -0
  78. package/dist/cjs-browser/types/client/client.d.ts +2 -0
  79. package/dist/cjs-browser/types/client/client.gen.d.ts +12 -0
  80. package/dist/cjs-browser/types/client/index.d.ts +2 -0
  81. package/dist/cjs-browser/types/client/interceptors.d.ts +3 -0
  82. package/dist/cjs-browser/types/client/sdk.gen.d.ts +519 -0
  83. package/dist/cjs-browser/types/client/types.gen.d.ts +4950 -0
  84. package/dist/cjs-browser/types/common/autoload.d.ts +3 -0
  85. package/dist/cjs-browser/types/common/browser.d.ts +5 -0
  86. package/dist/cjs-browser/types/common/env.d.ts +5 -0
  87. package/dist/cjs-browser/types/common/errors.d.ts +1 -0
  88. package/dist/cjs-browser/types/common/internal.d.ts +6 -0
  89. package/dist/cjs-browser/types/common/internal.test.d.ts +1 -0
  90. package/dist/cjs-browser/types/common/logger.d.ts +25 -0
  91. package/dist/cjs-browser/types/common/node.d.ts +6 -0
  92. package/dist/cjs-browser/types/common/settings.d.ts +32 -0
  93. package/dist/cjs-browser/types/index.browser.test.d.ts +1 -0
  94. package/dist/cjs-browser/types/index.d.ts +18 -0
  95. package/dist/cjs-browser/types/jobs/index.d.ts +3 -0
  96. package/dist/cjs-browser/types/jobs/jobs.d.ts +13 -0
  97. package/dist/cjs-browser/types/jobs/start.d.ts +1 -0
  98. package/dist/cjs-browser/types/jobs/types.d.ts +3 -0
  99. package/dist/cjs-browser/types/mcp/client.d.ts +28 -0
  100. package/dist/cjs-browser/types/mcp/index.d.ts +2 -0
  101. package/dist/cjs-browser/types/mcp/server.d.ts +24 -0
  102. package/dist/cjs-browser/types/models/index.d.ts +8 -0
  103. package/dist/cjs-browser/types/sandbox/action.d.ts +19 -0
  104. package/dist/cjs-browser/types/sandbox/client/client.gen.d.ts +12 -0
  105. package/dist/cjs-browser/types/sandbox/client/index.d.ts +2 -0
  106. package/dist/cjs-browser/types/sandbox/client/sdk.gen.d.ts +101 -0
  107. package/dist/cjs-browser/types/sandbox/client/types.gen.d.ts +578 -0
  108. package/dist/cjs-browser/types/sandbox/filesystem/filesystem.d.ts +27 -0
  109. package/dist/cjs-browser/types/sandbox/filesystem/index.d.ts +2 -0
  110. package/dist/cjs-browser/types/sandbox/filesystem/types.d.ts +15 -0
  111. package/dist/cjs-browser/types/sandbox/index.d.ts +4 -0
  112. package/dist/cjs-browser/types/sandbox/network/index.d.ts +1 -0
  113. package/dist/cjs-browser/types/sandbox/network/network.d.ts +5 -0
  114. package/dist/cjs-browser/types/sandbox/preview.d.ts +37 -0
  115. package/dist/cjs-browser/types/sandbox/process/index.d.ts +1 -0
  116. package/dist/cjs-browser/types/sandbox/process/process.d.ts +24 -0
  117. package/dist/cjs-browser/types/sandbox/sandbox.d.ts +33 -0
  118. package/dist/cjs-browser/types/sandbox/session.d.ts +27 -0
  119. package/dist/cjs-browser/types/sandbox/types.d.ts +52 -0
  120. package/dist/cjs-browser/types/telemetry/telemetry.d.ts +62 -0
  121. package/dist/cjs-browser/types/tools/index.d.ts +12 -0
  122. package/dist/cjs-browser/types/tools/mcpTool.d.ts +33 -0
  123. package/dist/cjs-browser/types/tools/types.d.ts +8 -0
  124. package/dist/cjs-browser/types/tools/zodSchema.d.ts +82 -0
  125. package/dist/cjs-browser/types/volume/index.d.ts +23 -0
  126. package/dist/cjs-browser/volume/index.js +113 -0
  127. package/dist/esm/.tsbuildinfo +1 -1
  128. package/dist/esm/authentication/index.js +1 -27
  129. package/dist/esm/cache/index.js +2 -15
  130. package/dist/esm/common/browser.js +18 -0
  131. package/dist/esm/common/env.js +7 -19
  132. package/dist/esm/common/node.js +10 -21
  133. package/dist/esm/common/settings.js +2 -2
  134. package/dist/esm/sandbox/filesystem/filesystem.js +13 -14
  135. package/dist/esm/sandbox/sandbox.js +2 -2
  136. package/dist/esm-browser/.tsbuildinfo +1 -0
  137. package/dist/esm-browser/agents/index.js +104 -0
  138. package/dist/esm-browser/authentication/apikey.js +20 -0
  139. package/dist/esm-browser/authentication/clientcredentials.js +81 -0
  140. package/dist/esm-browser/authentication/credentials.js +13 -0
  141. package/dist/esm-browser/authentication/deviceMode.js +66 -0
  142. package/dist/esm-browser/authentication/index.js +56 -0
  143. package/dist/esm-browser/authentication/types.js +1 -0
  144. package/dist/esm-browser/cache/index.js +20 -0
  145. package/dist/esm-browser/client/authentication.js +11 -0
  146. package/dist/esm-browser/client/client.gen.js +5 -0
  147. package/dist/esm-browser/client/client.js +1 -0
  148. package/dist/esm-browser/client/index.js +3 -0
  149. package/dist/esm-browser/client/interceptors.js +14 -0
  150. package/dist/esm-browser/client/sdk.gen.js +1717 -0
  151. package/dist/esm-browser/client/types.gen.js +3 -0
  152. package/dist/esm-browser/common/autoload.js +23 -0
  153. package/dist/esm-browser/common/env.js +51 -0
  154. package/dist/esm-browser/common/errors.js +14 -0
  155. package/dist/esm-browser/common/internal.js +220 -0
  156. package/dist/esm-browser/common/internal.test.js +37 -0
  157. package/dist/esm-browser/common/logger.js +65 -0
  158. package/dist/esm-browser/common/node.js +18 -0
  159. package/dist/esm-browser/common/settings.js +178 -0
  160. package/dist/esm-browser/index.browser.test.js +10 -0
  161. package/dist/esm-browser/index.js +18 -0
  162. package/dist/esm-browser/jobs/index.js +3 -0
  163. package/dist/esm-browser/jobs/jobs.js +86 -0
  164. package/dist/esm-browser/jobs/start.js +62 -0
  165. package/dist/esm-browser/jobs/types.js +1 -0
  166. package/dist/esm-browser/mcp/client.js +231 -0
  167. package/dist/esm-browser/mcp/index.js +2 -0
  168. package/dist/esm-browser/mcp/server.js +176 -0
  169. package/dist/esm-browser/models/index.js +25 -0
  170. package/dist/esm-browser/package.json +1 -0
  171. package/dist/esm-browser/sandbox/action.js +78 -0
  172. package/dist/esm-browser/sandbox/client/client.gen.js +3 -0
  173. package/dist/esm-browser/sandbox/client/index.js +3 -0
  174. package/dist/esm-browser/sandbox/client/sdk.gen.js +270 -0
  175. package/dist/esm-browser/sandbox/client/types.gen.js +2 -0
  176. package/dist/esm-browser/sandbox/filesystem/filesystem.js +236 -0
  177. package/dist/esm-browser/sandbox/filesystem/index.js +2 -0
  178. package/dist/esm-browser/sandbox/filesystem/types.js +1 -0
  179. package/dist/esm-browser/sandbox/index.js +7 -0
  180. package/dist/esm-browser/sandbox/network/index.js +1 -0
  181. package/dist/esm-browser/sandbox/network/network.js +6 -0
  182. package/dist/esm-browser/sandbox/preview.js +141 -0
  183. package/dist/esm-browser/sandbox/process/index.js +1 -0
  184. package/dist/esm-browser/sandbox/process/process.js +185 -0
  185. package/dist/esm-browser/sandbox/sandbox.js +176 -0
  186. package/dist/esm-browser/sandbox/session.js +119 -0
  187. package/dist/esm-browser/sandbox/types.js +76 -0
  188. package/dist/esm-browser/telemetry/telemetry.js +74 -0
  189. package/dist/esm-browser/tools/index.js +44 -0
  190. package/dist/esm-browser/tools/mcpTool.js +249 -0
  191. package/dist/esm-browser/tools/types.js +1 -0
  192. package/dist/esm-browser/tools/zodSchema.js +43 -0
  193. package/dist/esm-browser/volume/index.js +109 -0
  194. package/package.json +16 -4
@@ -0,0 +1,254 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMcpTool = exports.McpTool = void 0;
4
+ const index_js_1 = require("@modelcontextprotocol/sdk/client/index.js");
5
+ const env_js_1 = require("../common/env.js");
6
+ const internal_js_1 = require("../common/internal.js");
7
+ const logger_js_1 = require("../common/logger.js");
8
+ const settings_js_1 = require("../common/settings.js");
9
+ const index_js_2 = require("../index.js");
10
+ const client_js_1 = require("../mcp/client.js");
11
+ const telemetry_js_1 = require("../telemetry/telemetry.js");
12
+ const zodSchema_js_1 = require("./zodSchema.js");
13
+ const streamableHttp_js_1 = require("@modelcontextprotocol/sdk/client/streamableHttp.js");
14
+ const McpToolCache = new Map();
15
+ class McpTool {
16
+ name;
17
+ type;
18
+ pluralType;
19
+ client;
20
+ transport;
21
+ timer;
22
+ ms;
23
+ transportName;
24
+ meta;
25
+ startPromise;
26
+ constructor(name, options = { ms: 5000 }) {
27
+ this.name = name;
28
+ this.type = "function";
29
+ this.pluralType = "functions";
30
+ if (name.startsWith("sandbox/") || name.startsWith("sandboxes/")) {
31
+ this.name = name.split("/")[1];
32
+ this.type = "sandbox";
33
+ this.pluralType = "sandboxes";
34
+ }
35
+ if (env_js_1.env.BL_CLOUD) {
36
+ this.ms = 0;
37
+ }
38
+ else {
39
+ this.ms = typeof options === "number" ? options : options.ms || 5000;
40
+ }
41
+ this.meta = (typeof options === "object" && options.meta) || undefined;
42
+ this.client = new index_js_1.Client({
43
+ name: this.name,
44
+ version: "1.0.0",
45
+ }, {
46
+ capabilities: {
47
+ tools: {},
48
+ },
49
+ });
50
+ }
51
+ get fallbackUrl() {
52
+ if (this.externalUrl != this.url) {
53
+ return this.externalUrl;
54
+ }
55
+ return null;
56
+ }
57
+ get externalUrl() {
58
+ return new URL(`${settings_js_1.settings.runUrl}/${settings_js_1.settings.workspace}/${this.pluralType}/${this.name}`);
59
+ }
60
+ get internalUrl() {
61
+ const url = (0, internal_js_1.generateInternalUrl)(settings_js_1.settings.workspace, this.type, this.name, settings_js_1.settings.env, settings_js_1.settings.runInternalProtocol, settings_js_1.settings.runInternalHostname, settings_js_1.settings.blCloud, settings_js_1.settings.workspaceId);
62
+ return new URL(url);
63
+ }
64
+ get forcedUrl() {
65
+ return (0, internal_js_1.getForcedUrl)(this.type, this.name);
66
+ }
67
+ get url() {
68
+ if (this.forcedUrl)
69
+ return this.forcedUrl;
70
+ if (settings_js_1.settings.runInternalHostname)
71
+ return this.internalUrl;
72
+ return this.externalUrl;
73
+ }
74
+ async start() {
75
+ logger_js_1.logger.debug(`MCP:${this.name}:start`);
76
+ this.stopCloseTimer();
77
+ this.startPromise = this.startPromise || (async () => {
78
+ await (0, index_js_2.authenticate)();
79
+ try {
80
+ logger_js_1.logger.debug(`MCP:${this.name}:Connecting::${this.url.toString()}`);
81
+ this.transport = await this.getTransport();
82
+ await this.client.connect(this.transport);
83
+ logger_js_1.logger.debug(`MCP:${this.name}:Connected`);
84
+ }
85
+ catch (err) {
86
+ if (err instanceof Error) {
87
+ logger_js_1.logger.error(`MCP ${this.name} connection failed: ${err.message}`, {
88
+ error: err.message,
89
+ stack: err.stack,
90
+ mcpName: this.name,
91
+ url: this.url
92
+ });
93
+ }
94
+ if (!this.fallbackUrl) {
95
+ throw err;
96
+ }
97
+ logger_js_1.logger.debug(`MCP:${this.name}:Connecting to fallback`);
98
+ this.transport = await this.getTransport(this.fallbackUrl);
99
+ await this.client.connect(this.transport);
100
+ logger_js_1.logger.debug(`MCP:${this.name}:Connected to fallback`);
101
+ }
102
+ })();
103
+ return await this.startPromise;
104
+ }
105
+ async close(now = false) {
106
+ logger_js_1.logger.debug(`MCP:${this.name}:Close in ${now ? 0 : this.ms}ms`);
107
+ if (now || !this.ms) {
108
+ if (this.timer) {
109
+ clearTimeout(this.timer);
110
+ }
111
+ delete this.startPromise;
112
+ return this.client.close();
113
+ }
114
+ this.timer = setTimeout(() => {
115
+ logger_js_1.logger.debug(`MCP:${this.name}:CloseTimer`);
116
+ delete this.startPromise;
117
+ this.client.close().catch((err) => {
118
+ if (err instanceof Error) {
119
+ logger_js_1.logger.error(`MCP ${this.name} close failed: ${err.message}`, {
120
+ error: err.message,
121
+ stack: err.stack,
122
+ mcpName: this.name
123
+ });
124
+ }
125
+ });
126
+ }, now ? 0 : this.ms);
127
+ }
128
+ stopCloseTimer() {
129
+ logger_js_1.logger.debug(`MCP:${this.name}:StopCloseTimer`);
130
+ if (this.timer) {
131
+ clearTimeout(this.timer);
132
+ this.timer = undefined;
133
+ }
134
+ }
135
+ async listTools() {
136
+ const span = (0, telemetry_js_1.startSpan)(this.name, {
137
+ attributes: {
138
+ "span.type": "tool.list",
139
+ },
140
+ });
141
+ try {
142
+ logger_js_1.logger.debug(`MCP:${this.name}:Listing tools`);
143
+ await this.start();
144
+ const { tools } = (await this.client.listTools());
145
+ await this.close();
146
+ const result = tools.map((tool) => {
147
+ return {
148
+ name: tool.name,
149
+ description: tool.description,
150
+ inputSchema: (0, zodSchema_js_1.schemaToZodSchema)(tool.inputSchema),
151
+ originalSchema: tool.inputSchema,
152
+ call: (input) => {
153
+ return this.call(tool.name, input);
154
+ },
155
+ };
156
+ });
157
+ span.setAttribute("tool.list.result", JSON.stringify(result));
158
+ return result;
159
+ }
160
+ catch (err) {
161
+ span.setStatus("error");
162
+ span.recordException(err);
163
+ throw err;
164
+ }
165
+ finally {
166
+ span.end();
167
+ }
168
+ }
169
+ async call(toolName, args) {
170
+ const span = (0, telemetry_js_1.startSpan)(this.name + "." + toolName, {
171
+ attributes: {
172
+ "span.type": "tool.call",
173
+ "tool.name": toolName,
174
+ "tool.args": JSON.stringify(args),
175
+ },
176
+ });
177
+ try {
178
+ logger_js_1.logger.debug(`MCP:${this.name}:Tool calling`, toolName, JSON.stringify(args));
179
+ logger_js_1.logger.debug(`MCP:${this.name}:Tool calling:start`);
180
+ await this.start();
181
+ logger_js_1.logger.debug(`MCP:${this.name}:Tool calling:start2`);
182
+ const result = await this.client.callTool({
183
+ name: toolName,
184
+ arguments: args,
185
+ _meta: this.meta
186
+ });
187
+ logger_js_1.logger.debug(`MCP:${this.name}:Tool calling:result`);
188
+ await this.close();
189
+ logger_js_1.logger.debug(`MCP:${this.name}:Tool result`, toolName, JSON.stringify(args));
190
+ span.setAttribute("tool.call.result", JSON.stringify(result));
191
+ return result;
192
+ }
193
+ catch (err) {
194
+ if (err instanceof Error) {
195
+ logger_js_1.logger.error(`MCP tool call failed: ${err.message}`, {
196
+ error: err.message,
197
+ stack: err.stack,
198
+ mcpName: this.name,
199
+ toolName,
200
+ args: JSON.stringify(args)
201
+ });
202
+ }
203
+ throw err;
204
+ }
205
+ finally {
206
+ span.end();
207
+ }
208
+ }
209
+ async getTransport(forcedUrl) {
210
+ if (!this.transportName) {
211
+ // Detect transport type dynamically by querying the function's endpoint
212
+ try {
213
+ const testUrl = (forcedUrl || this.url).toString();
214
+ const response = await fetch(testUrl + "/", {
215
+ method: "GET",
216
+ headers: settings_js_1.settings.headers,
217
+ });
218
+ const responseText = await response.text();
219
+ if (responseText.toLowerCase().includes("websocket")) {
220
+ this.transportName = "websocket";
221
+ }
222
+ else {
223
+ this.transportName = "http-stream";
224
+ }
225
+ logger_js_1.logger.debug(`Detected transport type for ${this.name}: ${this.transportName}`);
226
+ }
227
+ catch (error) {
228
+ // Default to websocket if we can't determine the transport type
229
+ const message = error instanceof Error ? error.message : String(error);
230
+ logger_js_1.logger.warn(`Failed to detect transport type for ${this.name}: ${message}. Defaulting to websocket.`);
231
+ this.transportName = "websocket";
232
+ }
233
+ }
234
+ const url = forcedUrl || this.url;
235
+ if (this.transportName === "http-stream") {
236
+ url.pathname = url.pathname + "/mcp";
237
+ return new streamableHttp_js_1.StreamableHTTPClientTransport(url, { requestInit: { headers: settings_js_1.settings.headers } });
238
+ }
239
+ else {
240
+ return new client_js_1.BlaxelMcpClientTransport(url.toString(), settings_js_1.settings.headers, { retry: { max: 0 } });
241
+ }
242
+ }
243
+ }
244
+ exports.McpTool = McpTool;
245
+ const getMcpTool = async (name, options) => {
246
+ let tool = McpToolCache.get(name);
247
+ if (!tool) {
248
+ logger_js_1.logger.debug(`MCP:${name}:Creating new tool`);
249
+ tool = new McpTool(name, options);
250
+ McpToolCache.set(name, tool);
251
+ }
252
+ return await tool.listTools();
253
+ };
254
+ exports.getMcpTool = getMcpTool;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.schemaToZodSchema = void 0;
7
+ const zod_1 = __importDefault(require("zod"));
8
+ /**
9
+ * Converts an array of `FunctionSchema` objects into a Zod schema for validation.
10
+ *
11
+ * @param {FunctionSchema} parameters - The parameters to convert.
12
+ * @returns {z.ZodObject<any>} A Zod object schema representing the parameters.
13
+ */
14
+ const schemaToZodSchema = (schema) => {
15
+ const shape = {};
16
+ if (schema.properties) {
17
+ Object.entries(schema.properties).forEach(([key, param]) => {
18
+ let zodType;
19
+ switch (param.type) {
20
+ case "boolean":
21
+ zodType = zod_1.default.boolean();
22
+ break;
23
+ case "number":
24
+ case "integer":
25
+ zodType = zod_1.default.number();
26
+ break;
27
+ case "null":
28
+ zodType = zod_1.default.null();
29
+ break;
30
+ case "array":
31
+ zodType = zod_1.default.array((0, exports.schemaToZodSchema)(param.items || {}));
32
+ break;
33
+ case "object":
34
+ zodType = (0, exports.schemaToZodSchema)(param);
35
+ break;
36
+ default:
37
+ zodType = zod_1.default.string();
38
+ }
39
+ if (param.description) {
40
+ zodType = zodType.describe(param.description);
41
+ }
42
+ shape[key] =
43
+ param.required || schema.required?.includes(key)
44
+ ? zodType
45
+ : zodType.optional();
46
+ });
47
+ }
48
+ return zod_1.default.object(shape);
49
+ };
50
+ exports.schemaToZodSchema = schemaToZodSchema;
@@ -0,0 +1,15 @@
1
+ import { Agent } from "../client/index.js";
2
+ declare class BlAgent {
3
+ agentName: string;
4
+ constructor(agentName: string);
5
+ get fallbackUrl(): import("url").URL | null;
6
+ get externalUrl(): import("url").URL;
7
+ get internalUrl(): import("url").URL;
8
+ get forcedUrl(): import("url").URL | null;
9
+ get url(): import("url").URL;
10
+ call(url: URL, input: Record<string, unknown> | string | undefined): Promise<Response>;
11
+ run(input: Record<string, unknown> | string | undefined): Promise<string>;
12
+ }
13
+ export declare const blAgent: (agentName: string) => BlAgent;
14
+ export declare const getAgentMetadata: (agent: string) => Promise<Agent | null>;
15
+ export {};
@@ -0,0 +1,10 @@
1
+ import { Credentials } from "./credentials.js";
2
+ import { CredentialsType } from "./types.js";
3
+ export declare class ApiKey extends Credentials {
4
+ private apiKey;
5
+ private credentials;
6
+ constructor(credentials: CredentialsType);
7
+ get workspace(): string;
8
+ get authorization(): string;
9
+ get token(): string;
10
+ }
@@ -0,0 +1,17 @@
1
+ import { Credentials } from "./credentials.js";
2
+ import { CredentialsType } from "./types.js";
3
+ export declare class ClientCredentials extends Credentials {
4
+ private clientCredentials;
5
+ private accessToken;
6
+ private credentials;
7
+ private currentPromise;
8
+ constructor(credentials: CredentialsType);
9
+ get workspace(): string;
10
+ needRefresh(): boolean;
11
+ authenticate(): Promise<void>;
12
+ private sleep;
13
+ processWithRetry(retry?: number): Promise<void>;
14
+ process(): Promise<void>;
15
+ get authorization(): string;
16
+ get token(): string;
17
+ }
@@ -0,0 +1,6 @@
1
+ export declare class Credentials {
2
+ authenticate(): Promise<void>;
3
+ get workspace(): string;
4
+ get authorization(): string;
5
+ get token(): string;
6
+ }
@@ -0,0 +1,15 @@
1
+ import { CredentialsType } from "./types.js";
2
+ export declare class DeviceMode {
3
+ private refreshToken;
4
+ private deviceCode;
5
+ private accessToken;
6
+ private credentials;
7
+ private currentPromise;
8
+ constructor(credentials: CredentialsType);
9
+ get workspace(): string;
10
+ needRefresh(): boolean;
11
+ authenticate(): Promise<void>;
12
+ process(): Promise<void>;
13
+ get authorization(): string;
14
+ get token(): string;
15
+ }
@@ -0,0 +1,3 @@
1
+ import { Credentials } from "./credentials.js";
2
+ import { DeviceMode } from "./deviceMode.js";
3
+ export declare function authentication(): Credentials | DeviceMode;
@@ -0,0 +1,9 @@
1
+ export type CredentialsType = {
2
+ apiKey?: string;
3
+ clientCredentials?: string;
4
+ refresh_token?: string;
5
+ access_token?: string;
6
+ device_code?: string;
7
+ expires_in?: number;
8
+ workspace?: string;
9
+ };
@@ -0,0 +1 @@
1
+ export declare function findFromCache(resource: string, name: string): Promise<unknown | null>;
@@ -0,0 +1,25 @@
1
+ import { OptionsLegacyParser } from "@hey-api/client-fetch";
2
+ type OauthTokenData = {
3
+ body: {
4
+ grant_type: 'client_credentials' | 'refresh_token' | 'device_code';
5
+ client_id?: string;
6
+ client_secret?: string;
7
+ device_code?: string;
8
+ refresh_token?: string;
9
+ };
10
+ authenticated?: boolean;
11
+ };
12
+ type OauthTokenResponse = {
13
+ access_token: string;
14
+ refresh_token: string;
15
+ expires_in: number;
16
+ token_type: string;
17
+ };
18
+ type OauthTokenError = {
19
+ error: string;
20
+ };
21
+ /**
22
+ * Get a new oauth token
23
+ */
24
+ export declare const oauthToken: <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<OauthTokenData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<OauthTokenResponse, OauthTokenError, ThrowOnError>;
25
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './index.js';
2
+ export { _Function as Function } from './types.gen.js';
@@ -0,0 +1,12 @@
1
+ import type { ClientOptions } from './types.gen';
2
+ import { type Config, type ClientOptions as DefaultClientOptions } from '@hey-api/client-fetch';
3
+ /**
4
+ * The `createClientConfig()` function will be called on client initialization
5
+ * and the returned object will become the client's initial configuration.
6
+ *
7
+ * You may want to initialize your client this way instead of calling
8
+ * `setConfig()`. This is useful for example if you're using Next.js
9
+ * to ensure your client always has the correct values.
10
+ */
11
+ export type CreateClientConfig<T extends DefaultClientOptions = ClientOptions> = (override?: Config<DefaultClientOptions & T>) => Config<Required<DefaultClientOptions> & T>;
12
+ export declare const client: import("@hey-api/client-fetch").Client;
@@ -0,0 +1,2 @@
1
+ export * from './types.gen.js';
2
+ export * from './sdk.gen.js';
@@ -0,0 +1,3 @@
1
+ type Interceptor = (request: Request, options: Record<string, unknown>) => Promise<Request | Response>;
2
+ export declare const interceptors: Interceptor[];
3
+ export {};