@blaxel/core 0.2.49-dev.214 → 0.2.49-dev1

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 (247) hide show
  1. package/dist/agents/index.d.ts +15 -0
  2. package/dist/agents/index.js +109 -0
  3. package/dist/authentication/apikey.d.ts +10 -0
  4. package/dist/authentication/apikey.js +24 -0
  5. package/dist/authentication/clientcredentials.d.ts +17 -0
  6. package/dist/authentication/clientcredentials.js +85 -0
  7. package/dist/authentication/credentials.d.ts +6 -0
  8. package/dist/authentication/credentials.js +17 -0
  9. package/dist/authentication/deviceMode.d.ts +15 -0
  10. package/dist/authentication/deviceMode.js +70 -0
  11. package/dist/authentication/index.d.ts +3 -0
  12. package/dist/authentication/index.js +62 -0
  13. package/dist/authentication/types.d.ts +9 -0
  14. package/dist/authentication/types.js +2 -0
  15. package/dist/cache/index.d.ts +1 -0
  16. package/dist/cache/index.js +26 -0
  17. package/dist/cjs/.tsbuildinfo +1 -1
  18. package/dist/cjs/agents/index.js +2 -2
  19. package/dist/cjs/authentication/clientcredentials.js +1 -4
  20. package/dist/cjs/client/responseInterceptor.js +53 -0
  21. package/dist/cjs/client/sdk.gen.js +143 -3
  22. package/dist/cjs/common/autoload.js +7 -0
  23. package/dist/cjs/common/env.js +3 -0
  24. package/dist/cjs/common/internal.js +0 -40
  25. package/dist/cjs/common/settings.js +2 -5
  26. package/dist/cjs/common/version.js +6 -0
  27. package/dist/cjs/common/webhook.js +101 -0
  28. package/dist/cjs/jobs/executions.js +119 -0
  29. package/dist/cjs/jobs/jobs.js +2 -2
  30. package/dist/cjs/jobs/start.js +1 -32
  31. package/dist/cjs/sandbox/action.js +2 -1
  32. package/dist/cjs/sandbox/index.js +1 -0
  33. package/dist/cjs/sandbox/interpreter.js +400 -0
  34. package/dist/cjs/sandbox/sandbox.js +10 -67
  35. package/dist/cjs/tools/mcpTool.js +2 -6
  36. package/dist/cjs/types/client/responseInterceptor.d.ts +12 -0
  37. package/dist/cjs/types/client/sdk.gen.d.ts +41 -1
  38. package/dist/cjs/types/client/types.gen.d.ts +599 -16
  39. package/dist/cjs/types/common/internal.d.ts +0 -2
  40. package/dist/cjs/types/common/settings.d.ts +0 -1
  41. package/dist/cjs/types/common/version.d.ts +2 -0
  42. package/dist/cjs/types/common/webhook.d.ts +89 -0
  43. package/dist/cjs/types/jobs/executions.d.ts +42 -0
  44. package/dist/cjs/types/sandbox/client/sdk.gen.d.ts +1 -1
  45. package/dist/cjs/types/sandbox/index.d.ts +1 -0
  46. package/dist/cjs/types/sandbox/interpreter.d.ts +71 -0
  47. package/dist/cjs/types/sandbox/sandbox.d.ts +6 -12
  48. package/dist/cjs/types/sandbox/types.d.ts +0 -3
  49. package/dist/cjs-browser/.tsbuildinfo +1 -1
  50. package/dist/cjs-browser/agents/index.js +2 -2
  51. package/dist/cjs-browser/authentication/clientcredentials.js +1 -4
  52. package/dist/cjs-browser/client/responseInterceptor.js +53 -0
  53. package/dist/cjs-browser/client/sdk.gen.js +143 -3
  54. package/dist/cjs-browser/common/autoload.js +7 -0
  55. package/dist/cjs-browser/common/env.js +3 -0
  56. package/dist/cjs-browser/common/internal.js +0 -40
  57. package/dist/cjs-browser/common/settings.js +2 -5
  58. package/dist/cjs-browser/common/version.js +6 -0
  59. package/dist/cjs-browser/common/webhook.js +101 -0
  60. package/dist/cjs-browser/jobs/executions.js +119 -0
  61. package/dist/cjs-browser/jobs/jobs.js +2 -2
  62. package/dist/cjs-browser/jobs/start.js +1 -32
  63. package/dist/cjs-browser/sandbox/action.js +2 -1
  64. package/dist/cjs-browser/sandbox/index.js +1 -0
  65. package/dist/cjs-browser/sandbox/interpreter.js +400 -0
  66. package/dist/cjs-browser/sandbox/sandbox.js +10 -67
  67. package/dist/cjs-browser/tools/mcpTool.js +2 -6
  68. package/dist/cjs-browser/types/client/responseInterceptor.d.ts +12 -0
  69. package/dist/cjs-browser/types/client/sdk.gen.d.ts +41 -1
  70. package/dist/cjs-browser/types/client/types.gen.d.ts +599 -16
  71. package/dist/cjs-browser/types/common/internal.d.ts +0 -2
  72. package/dist/cjs-browser/types/common/settings.d.ts +0 -1
  73. package/dist/cjs-browser/types/common/version.d.ts +2 -0
  74. package/dist/cjs-browser/types/common/webhook.d.ts +89 -0
  75. package/dist/cjs-browser/types/jobs/executions.d.ts +42 -0
  76. package/dist/cjs-browser/types/sandbox/client/sdk.gen.d.ts +1 -1
  77. package/dist/cjs-browser/types/sandbox/index.d.ts +1 -0
  78. package/dist/cjs-browser/types/sandbox/interpreter.d.ts +71 -0
  79. package/dist/cjs-browser/types/sandbox/sandbox.d.ts +6 -12
  80. package/dist/cjs-browser/types/sandbox/types.d.ts +0 -3
  81. package/dist/client/authentication.d.ts +25 -0
  82. package/dist/client/authentication.js +15 -0
  83. package/dist/client/client.d.ts +2 -0
  84. package/dist/client/client.gen.d.ts +12 -0
  85. package/dist/client/client.gen.js +8 -0
  86. package/dist/{cjs/sandbox/websocket/index.js → client/client.js} +1 -1
  87. package/dist/client/index.d.ts +2 -0
  88. package/dist/client/index.js +19 -0
  89. package/dist/client/interceptors.d.ts +3 -0
  90. package/dist/client/interceptors.js +17 -0
  91. package/dist/client/sdk.gen.d.ts +499 -0
  92. package/dist/client/sdk.gen.js +1751 -0
  93. package/dist/client/types.gen.d.ts +4546 -0
  94. package/dist/client/types.gen.js +4 -0
  95. package/dist/common/autoload.d.ts +3 -0
  96. package/dist/common/autoload.js +27 -0
  97. package/dist/common/env.d.ts +5 -0
  98. package/dist/common/env.js +42 -0
  99. package/dist/common/errors.d.ts +1 -0
  100. package/dist/common/errors.js +17 -0
  101. package/dist/common/internal.d.ts +4 -0
  102. package/dist/common/internal.js +188 -0
  103. package/dist/common/internal.test.d.ts +1 -0
  104. package/dist/common/internal.test.js +39 -0
  105. package/dist/common/logger.d.ts +25 -0
  106. package/dist/common/logger.js +69 -0
  107. package/dist/common/node.d.ts +5 -0
  108. package/dist/common/node.js +26 -0
  109. package/dist/common/settings.d.ts +31 -0
  110. package/dist/common/settings.js +170 -0
  111. package/dist/esm/.tsbuildinfo +1 -1
  112. package/dist/esm/agents/index.js +3 -3
  113. package/dist/esm/authentication/clientcredentials.js +1 -4
  114. package/dist/esm/client/responseInterceptor.js +49 -0
  115. package/dist/esm/client/sdk.gen.js +132 -0
  116. package/dist/esm/common/autoload.js +7 -0
  117. package/dist/esm/common/env.js +3 -0
  118. package/dist/esm/common/internal.js +0 -38
  119. package/dist/esm/common/settings.js +2 -5
  120. package/dist/esm/common/version.js +3 -0
  121. package/dist/esm/common/webhook.js +97 -0
  122. package/dist/esm/jobs/executions.js +114 -0
  123. package/dist/esm/jobs/jobs.js +3 -3
  124. package/dist/esm/jobs/start.js +1 -32
  125. package/dist/esm/sandbox/action.js +3 -2
  126. package/dist/esm/sandbox/index.js +1 -0
  127. package/dist/esm/sandbox/interpreter.js +396 -0
  128. package/dist/esm/sandbox/sandbox.js +10 -67
  129. package/dist/esm/tools/mcpTool.js +3 -7
  130. package/dist/esm-browser/.tsbuildinfo +1 -1
  131. package/dist/esm-browser/agents/index.js +3 -3
  132. package/dist/esm-browser/authentication/clientcredentials.js +1 -4
  133. package/dist/esm-browser/client/responseInterceptor.js +49 -0
  134. package/dist/esm-browser/client/sdk.gen.js +132 -0
  135. package/dist/esm-browser/common/autoload.js +7 -0
  136. package/dist/esm-browser/common/env.js +3 -0
  137. package/dist/esm-browser/common/internal.js +0 -38
  138. package/dist/esm-browser/common/settings.js +2 -5
  139. package/dist/esm-browser/common/version.js +3 -0
  140. package/dist/esm-browser/common/webhook.js +97 -0
  141. package/dist/esm-browser/jobs/executions.js +114 -0
  142. package/dist/esm-browser/jobs/jobs.js +3 -3
  143. package/dist/esm-browser/jobs/start.js +1 -32
  144. package/dist/esm-browser/sandbox/action.js +3 -2
  145. package/dist/esm-browser/sandbox/index.js +1 -0
  146. package/dist/esm-browser/sandbox/interpreter.js +396 -0
  147. package/dist/esm-browser/sandbox/sandbox.js +10 -67
  148. package/dist/esm-browser/tools/mcpTool.js +3 -7
  149. package/dist/index.browser.test.d.ts +1 -0
  150. package/dist/index.browser.test.js +45 -0
  151. package/dist/index.d.ts +17 -0
  152. package/dist/index.js +33 -0
  153. package/dist/jobs/index.d.ts +3 -0
  154. package/dist/jobs/index.js +19 -0
  155. package/dist/jobs/jobs.d.ts +13 -0
  156. package/dist/jobs/jobs.js +90 -0
  157. package/dist/jobs/start.d.ts +1 -0
  158. package/dist/jobs/start.js +66 -0
  159. package/dist/jobs/types.d.ts +3 -0
  160. package/dist/jobs/types.js +2 -0
  161. package/dist/mcp/client.d.ts +28 -0
  162. package/dist/mcp/client.js +247 -0
  163. package/dist/{cjs-browser/types/sandbox/websocket → mcp}/index.d.ts +1 -0
  164. package/dist/{cjs-browser/sandbox/websocket → mcp}/index.js +1 -0
  165. package/dist/mcp/server.d.ts +24 -0
  166. package/dist/mcp/server.js +213 -0
  167. package/dist/models/index.d.ts +8 -0
  168. package/dist/models/index.js +31 -0
  169. package/dist/sandbox/action.d.ts +19 -0
  170. package/dist/sandbox/action.js +84 -0
  171. package/dist/sandbox/client/client.gen.d.ts +12 -0
  172. package/dist/sandbox/client/client.gen.js +6 -0
  173. package/dist/sandbox/client/index.d.ts +2 -0
  174. package/dist/sandbox/client/index.js +19 -0
  175. package/dist/sandbox/client/sdk.gen.d.ts +101 -0
  176. package/dist/sandbox/client/sdk.gen.js +289 -0
  177. package/dist/sandbox/client/types.gen.d.ts +578 -0
  178. package/dist/sandbox/client/types.gen.js +3 -0
  179. package/dist/{cjs/types/sandbox/filesystem/filesystem-ws.d.ts → sandbox/filesystem/filesystem.d.ts} +6 -18
  180. package/dist/sandbox/filesystem/filesystem.js +276 -0
  181. package/dist/sandbox/filesystem/index.d.ts +2 -0
  182. package/dist/sandbox/filesystem/index.js +18 -0
  183. package/dist/sandbox/filesystem/types.d.ts +15 -0
  184. package/dist/sandbox/filesystem/types.js +2 -0
  185. package/dist/sandbox/index.d.ts +4 -0
  186. package/dist/sandbox/index.js +36 -0
  187. package/dist/sandbox/network/index.d.ts +1 -0
  188. package/dist/sandbox/network/index.js +17 -0
  189. package/dist/sandbox/network/network.d.ts +5 -0
  190. package/dist/sandbox/network/network.js +10 -0
  191. package/dist/sandbox/preview.d.ts +37 -0
  192. package/dist/sandbox/preview.js +148 -0
  193. package/dist/sandbox/process/index.d.ts +1 -0
  194. package/dist/sandbox/process/index.js +17 -0
  195. package/dist/sandbox/process/process.d.ts +24 -0
  196. package/dist/sandbox/process/process.js +189 -0
  197. package/dist/sandbox/sandbox.d.ts +33 -0
  198. package/dist/sandbox/sandbox.js +178 -0
  199. package/dist/sandbox/session.d.ts +27 -0
  200. package/dist/sandbox/session.js +123 -0
  201. package/dist/sandbox/types.d.ts +51 -0
  202. package/dist/sandbox/types.js +81 -0
  203. package/dist/telemetry/telemetry.d.ts +62 -0
  204. package/dist/telemetry/telemetry.js +80 -0
  205. package/dist/tools/index.d.ts +11 -0
  206. package/dist/tools/index.js +52 -0
  207. package/dist/tools/mcpTool.d.ts +28 -0
  208. package/dist/tools/mcpTool.js +218 -0
  209. package/dist/tools/types.d.ts +8 -0
  210. package/dist/tools/types.js +2 -0
  211. package/dist/tools/zodSchema.d.ts +9 -0
  212. package/dist/tools/zodSchema.js +50 -0
  213. package/dist/volume/index.d.ts +23 -0
  214. package/dist/volume/index.js +113 -0
  215. package/package.json +2 -2
  216. package/dist/cjs/sandbox/codegen/codegen-ws.js +0 -30
  217. package/dist/cjs/sandbox/filesystem/filesystem-ws.js +0 -106
  218. package/dist/cjs/sandbox/network/network-ws.js +0 -12
  219. package/dist/cjs/sandbox/process/process-ws.js +0 -139
  220. package/dist/cjs/sandbox/websocket/client.js +0 -269
  221. package/dist/cjs/types/sandbox/codegen/codegen-ws.d.ts +0 -10
  222. package/dist/cjs/types/sandbox/network/network-ws.d.ts +0 -7
  223. package/dist/cjs/types/sandbox/process/process-ws.d.ts +0 -27
  224. package/dist/cjs/types/sandbox/websocket/client.d.ts +0 -48
  225. package/dist/cjs/types/sandbox/websocket/index.d.ts +0 -1
  226. package/dist/cjs-browser/sandbox/codegen/codegen-ws.js +0 -30
  227. package/dist/cjs-browser/sandbox/filesystem/filesystem-ws.js +0 -106
  228. package/dist/cjs-browser/sandbox/network/network-ws.js +0 -12
  229. package/dist/cjs-browser/sandbox/process/process-ws.js +0 -139
  230. package/dist/cjs-browser/sandbox/websocket/client.js +0 -269
  231. package/dist/cjs-browser/types/sandbox/codegen/codegen-ws.d.ts +0 -10
  232. package/dist/cjs-browser/types/sandbox/filesystem/filesystem-ws.d.ts +0 -35
  233. package/dist/cjs-browser/types/sandbox/network/network-ws.d.ts +0 -7
  234. package/dist/cjs-browser/types/sandbox/process/process-ws.d.ts +0 -27
  235. package/dist/cjs-browser/types/sandbox/websocket/client.d.ts +0 -48
  236. package/dist/esm/sandbox/codegen/codegen-ws.js +0 -26
  237. package/dist/esm/sandbox/filesystem/filesystem-ws.js +0 -102
  238. package/dist/esm/sandbox/network/network-ws.js +0 -8
  239. package/dist/esm/sandbox/process/process-ws.js +0 -135
  240. package/dist/esm/sandbox/websocket/client.js +0 -265
  241. package/dist/esm/sandbox/websocket/index.js +0 -1
  242. package/dist/esm-browser/sandbox/codegen/codegen-ws.js +0 -26
  243. package/dist/esm-browser/sandbox/filesystem/filesystem-ws.js +0 -102
  244. package/dist/esm-browser/sandbox/network/network-ws.js +0 -8
  245. package/dist/esm-browser/sandbox/process/process-ws.js +0 -135
  246. package/dist/esm-browser/sandbox/websocket/client.js +0 -265
  247. package/dist/esm-browser/sandbox/websocket/index.js +0 -1
@@ -0,0 +1,213 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.BlaxelMcpServerTransport = void 0;
37
+ const uuid_1 = require("uuid");
38
+ const ws_1 = __importStar(require("ws"));
39
+ const env_js_1 = require("../common/env.js");
40
+ const logger_js_1 = require("../common/logger.js");
41
+ const telemetry_js_1 = require("../telemetry/telemetry.js");
42
+ const spans = new Map();
43
+ class BlaxelMcpServerTransport {
44
+ port;
45
+ wss;
46
+ clients = new Map();
47
+ onclose;
48
+ onerror;
49
+ messageHandler;
50
+ onconnection;
51
+ ondisconnection;
52
+ set onmessage(handler) {
53
+ this.messageHandler = handler
54
+ ? (msg, clientId) => {
55
+ if (!("id" in msg)) {
56
+ return handler(msg);
57
+ }
58
+ return handler({
59
+ ...msg,
60
+ id: clientId + ":" + msg.id,
61
+ });
62
+ }
63
+ : undefined;
64
+ }
65
+ constructor(port) {
66
+ this.port = port ?? parseInt(env_js_1.env.BL_SERVER_PORT ?? "8080", 10);
67
+ this.wss = new ws_1.WebSocketServer({ port: this.port });
68
+ }
69
+ async start() {
70
+ logger_js_1.logger.info("Starting WebSocket Server on port " + this.port);
71
+ this.wss.on("connection", (ws) => {
72
+ const clientId = (0, uuid_1.v4)();
73
+ this.clients.set(clientId, {
74
+ ws,
75
+ });
76
+ this.onconnection?.(clientId);
77
+ ws.on("message", (data) => {
78
+ const span = (0, telemetry_js_1.startSpan)("message", {
79
+ attributes: {
80
+ "mcp.client.id": clientId,
81
+ "span.type": "mcp.message",
82
+ },
83
+ isRoot: false,
84
+ });
85
+ try {
86
+ const msg = JSON.parse(data.toString());
87
+ this.messageHandler?.(msg, clientId);
88
+ if ("method" in msg && "id" in msg && "params" in msg) {
89
+ span.setAttributes({
90
+ "mcp.message.parsed": true,
91
+ "mcp.method": msg.method,
92
+ "mcp.messageId": msg.id,
93
+ "mcp.toolName": msg.params?.name,
94
+ });
95
+ spans.set(clientId + ":" + msg.id, span);
96
+ }
97
+ // Handle msg.id safely
98
+ const msgId = msg.id ? String(msg.id) : "";
99
+ const [cId, parsedMsgId] = msgId.split(":");
100
+ msg.id = parsedMsgId ? parseInt(parsedMsgId) : undefined;
101
+ // Use optional chaining for safe access
102
+ const client = this.clients.get(cId ?? "");
103
+ if (client?.ws?.readyState === ws_1.default.OPEN) {
104
+ const msgSpan = spans.get(cId + ":" + (msg.id ?? ""));
105
+ try {
106
+ client.ws.send(JSON.stringify(msg));
107
+ if (msgSpan) {
108
+ msgSpan.setAttributes({
109
+ "mcp.message.response_sent": true,
110
+ });
111
+ }
112
+ }
113
+ catch (err) {
114
+ if (msgSpan) {
115
+ msgSpan.setStatus("error"); // Error status
116
+ msgSpan.recordException(err);
117
+ }
118
+ throw err;
119
+ }
120
+ finally {
121
+ if (msgSpan) {
122
+ msgSpan.end();
123
+ }
124
+ }
125
+ }
126
+ else {
127
+ this.clients.delete(cId);
128
+ this.ondisconnection?.(cId);
129
+ }
130
+ }
131
+ catch (err) {
132
+ if (err instanceof Error) {
133
+ span.setStatus("error"); // Error status
134
+ span.recordException(err);
135
+ this.onerror?.(err);
136
+ }
137
+ else {
138
+ this.onerror?.(new Error(`Failed to parse message: ${String(err)}`));
139
+ }
140
+ span.end();
141
+ }
142
+ });
143
+ ws.on("close", () => {
144
+ this.clients.delete(clientId);
145
+ this.ondisconnection?.(clientId);
146
+ });
147
+ ws.on("error", (err) => {
148
+ this.onerror?.(err);
149
+ });
150
+ });
151
+ return Promise.resolve();
152
+ }
153
+ async send(msg) {
154
+ const [cId, msgId] = msg.id ? String(msg.id).split(":") : [];
155
+ msg.id = parseInt(msgId);
156
+ const data = JSON.stringify(msg);
157
+ const deadClients = [];
158
+ if (cId) {
159
+ // Send to specific client
160
+ const client = this.clients.get(cId);
161
+ if (client?.ws?.readyState === ws_1.default.OPEN) {
162
+ const msgSpan = spans.get(cId + ":" + msg.id);
163
+ try {
164
+ client.ws.send(data);
165
+ if (msgSpan) {
166
+ msgSpan.setAttributes({
167
+ "mcp.message.response_sent": true,
168
+ });
169
+ }
170
+ }
171
+ catch (err) {
172
+ if (msgSpan) {
173
+ msgSpan.setStatus("error"); // Error status
174
+ msgSpan.recordException(err);
175
+ }
176
+ throw err;
177
+ }
178
+ finally {
179
+ if (msgSpan) {
180
+ msgSpan.end();
181
+ }
182
+ }
183
+ }
184
+ else {
185
+ this.clients.delete(cId);
186
+ this.ondisconnection?.(cId);
187
+ }
188
+ }
189
+ for (const [id, client] of this.clients.entries()) {
190
+ if (client.ws.readyState !== ws_1.default.OPEN) {
191
+ deadClients.push(id);
192
+ }
193
+ }
194
+ // Cleanup dead clients
195
+ deadClients.forEach((id) => {
196
+ this.clients.delete(id);
197
+ this.ondisconnection?.(id);
198
+ });
199
+ return Promise.resolve();
200
+ }
201
+ async broadcast(msg) {
202
+ return this.send(msg);
203
+ }
204
+ async close() {
205
+ return new Promise((resolve) => {
206
+ this.wss.close(() => {
207
+ this.clients.clear();
208
+ resolve();
209
+ });
210
+ });
211
+ }
212
+ }
213
+ exports.BlaxelMcpServerTransport = BlaxelMcpServerTransport;
@@ -0,0 +1,8 @@
1
+ import { Model } from "../client/types.gen.js";
2
+ export declare class BLModel {
3
+ modelName: string;
4
+ options?: Record<string, unknown>;
5
+ constructor(modelName: string, options?: Record<string, unknown>);
6
+ }
7
+ export declare const blModel: (modelName: string, options?: Record<string, unknown>) => BLModel;
8
+ export declare const getModelMetadata: (model: string) => Promise<Model | null>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getModelMetadata = exports.blModel = exports.BLModel = void 0;
4
+ const index_js_1 = require("../cache/index.js");
5
+ const sdk_gen_js_1 = require("../client/sdk.gen.js");
6
+ class BLModel {
7
+ modelName;
8
+ options;
9
+ constructor(modelName, options) {
10
+ this.modelName = modelName;
11
+ this.options = options || {};
12
+ }
13
+ }
14
+ exports.BLModel = BLModel;
15
+ const blModel = (modelName, options) => {
16
+ return new BLModel(modelName, options);
17
+ };
18
+ exports.blModel = blModel;
19
+ const getModelMetadata = async (model) => {
20
+ const cacheData = await (0, index_js_1.findFromCache)("Model", model);
21
+ if (cacheData) {
22
+ return cacheData;
23
+ }
24
+ const { data } = await (0, sdk_gen_js_1.getModel)({
25
+ path: {
26
+ modelName: model,
27
+ },
28
+ });
29
+ return data || null;
30
+ };
31
+ exports.getModelMetadata = getModelMetadata;
@@ -0,0 +1,19 @@
1
+ import { SandboxConfiguration } from "./types.js";
2
+ export declare class ResponseError extends Error {
3
+ response: Response;
4
+ data: unknown;
5
+ error: unknown;
6
+ constructor(response: Response, data: unknown, error: unknown);
7
+ }
8
+ export declare class SandboxAction {
9
+ protected sandbox: SandboxConfiguration;
10
+ constructor(sandbox: SandboxConfiguration);
11
+ get name(): string;
12
+ get fallbackUrl(): string | null;
13
+ get externalUrl(): string;
14
+ get internalUrl(): string;
15
+ get client(): import("@hey-api/client-fetch").Client;
16
+ get forcedUrl(): string | import("url").URL | null;
17
+ get url(): string;
18
+ handleResponseError(response: Response, data: unknown, error: unknown): void;
19
+ }
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SandboxAction = exports.ResponseError = void 0;
4
+ const client_fetch_1 = require("@hey-api/client-fetch");
5
+ const internal_js_1 = require("../common/internal.js");
6
+ const settings_js_1 = require("../common/settings.js");
7
+ const client_gen_js_1 = require("./client/client.gen.js");
8
+ class ResponseError extends Error {
9
+ response;
10
+ data;
11
+ error;
12
+ constructor(response, data, error) {
13
+ let dataError = {};
14
+ if (data && typeof data === 'object' && 'error' in data) {
15
+ dataError = data;
16
+ }
17
+ if (error && typeof error === 'object' && 'error' in error) {
18
+ dataError['error'] = error.error;
19
+ }
20
+ if (response.status) {
21
+ dataError['status'] = response.status;
22
+ }
23
+ if (response.statusText) {
24
+ dataError['statusText'] = response.statusText;
25
+ }
26
+ super(JSON.stringify(dataError));
27
+ this.response = response;
28
+ this.data = data;
29
+ this.error = error;
30
+ }
31
+ }
32
+ exports.ResponseError = ResponseError;
33
+ class SandboxAction {
34
+ sandbox;
35
+ constructor(sandbox) {
36
+ this.sandbox = sandbox;
37
+ }
38
+ get name() {
39
+ return this.sandbox.metadata?.name ?? "";
40
+ }
41
+ get fallbackUrl() {
42
+ if (this.externalUrl != this.url) {
43
+ return this.externalUrl;
44
+ }
45
+ return null;
46
+ }
47
+ get externalUrl() {
48
+ return `${settings_js_1.settings.runUrl}/${settings_js_1.settings.workspace}/sandboxes/${this.name}`;
49
+ }
50
+ get internalUrl() {
51
+ const hash = (0, internal_js_1.getGlobalUniqueHash)(settings_js_1.settings.workspace, "sandbox", this.name);
52
+ return `${settings_js_1.settings.runInternalProtocol}://bl-${settings_js_1.settings.env}-${hash}.${settings_js_1.settings.runInternalHostname}`;
53
+ }
54
+ get client() {
55
+ if (this.sandbox.forceUrl) {
56
+ return (0, client_fetch_1.createClient)({
57
+ baseUrl: this.sandbox.forceUrl,
58
+ headers: this.sandbox.headers,
59
+ });
60
+ }
61
+ return client_gen_js_1.client;
62
+ }
63
+ get forcedUrl() {
64
+ if (this.sandbox.forceUrl)
65
+ return this.sandbox.forceUrl;
66
+ return (0, internal_js_1.getForcedUrl)('sandbox', this.name);
67
+ }
68
+ get url() {
69
+ if (this.forcedUrl) {
70
+ const url = this.forcedUrl.toString();
71
+ return url.endsWith('/') ? url.slice(0, -1) : url;
72
+ }
73
+ // Uncomment and use this when agent and mcp are available in mk3
74
+ // Update all requests made in this package to use fallbackUrl when internalUrl is not working
75
+ // if (settings.runInternalHostname) return this.internalUrl;
76
+ return this.externalUrl;
77
+ }
78
+ handleResponseError(response, data, error) {
79
+ if (!response.ok || !data) {
80
+ throw new ResponseError(response, data, error);
81
+ }
82
+ }
83
+ }
84
+ exports.SandboxAction = SandboxAction;
@@ -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,6 @@
1
+ "use strict";
2
+ // This file is auto-generated by @hey-api/openapi-ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.client = void 0;
5
+ const client_fetch_1 = require("@hey-api/client-fetch");
6
+ exports.client = (0, client_fetch_1.createClient)((0, client_fetch_1.createConfig)());
@@ -0,0 +1,2 @@
1
+ export * from './types.gen.js';
2
+ export * from './sdk.gen.js';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // This file is auto-generated by @hey-api/openapi-ts
18
+ __exportStar(require("./types.gen.js"), exports);
19
+ __exportStar(require("./sdk.gen.js"), exports);
@@ -0,0 +1,101 @@
1
+ import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch';
2
+ import type { DeleteFilesystemByPathData, GetFilesystemByPathData, PutFilesystemByPathData, DeleteNetworkProcessByPidMonitorData, PostNetworkProcessByPidMonitorData, GetNetworkProcessByPidPortsData, GetProcessData, PostProcessData, DeleteProcessByIdentifierData, GetProcessByIdentifierData, DeleteProcessByIdentifierKillData, GetProcessByIdentifierLogsData, GetProcessByIdentifierLogsStreamData, GetWatchFilesystemByPathData, GetWsProcessByIdentifierLogsStreamData, GetWsWatchFilesystemByPathData } from './types.gen';
3
+ export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<TData, ThrowOnError> & {
4
+ /**
5
+ * You can provide a client instance returned by `createClient()` instead of
6
+ * individual options. This might be also useful if you want to implement a
7
+ * custom client.
8
+ */
9
+ client?: Client;
10
+ /**
11
+ * You can pass arbitrary values through the `meta` object. This can be
12
+ * used to access values that aren't defined as part of the SDK function.
13
+ */
14
+ meta?: Record<string, unknown>;
15
+ };
16
+ /**
17
+ * Delete file or directory
18
+ * Delete a file or directory
19
+ */
20
+ export declare const deleteFilesystemByPath: <ThrowOnError extends boolean = false>(options: Options<DeleteFilesystemByPathData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse, import("./types.gen").ErrorResponse, ThrowOnError>;
21
+ /**
22
+ * Get file or directory information
23
+ * Get content of a file or listing of a directory
24
+ */
25
+ export declare const getFilesystemByPath: <ThrowOnError extends boolean = false>(options: Options<GetFilesystemByPathData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").Directory | import("./types.gen").FileWithContent, import("./types.gen").ErrorResponse, ThrowOnError>;
26
+ /**
27
+ * Create or update a file or directory
28
+ * Create or update a file or directory
29
+ */
30
+ export declare const putFilesystemByPath: <ThrowOnError extends boolean = false>(options: Options<PutFilesystemByPathData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse, import("./types.gen").ErrorResponse, ThrowOnError>;
31
+ /**
32
+ * Stop monitoring ports for a process
33
+ * Stop monitoring for new ports opened by a process
34
+ */
35
+ export declare const deleteNetworkProcessByPidMonitor: <ThrowOnError extends boolean = false>(options: Options<DeleteNetworkProcessByPidMonitorData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<{
36
+ [key: string]: unknown;
37
+ }, import("./types.gen").ErrorResponse, ThrowOnError>;
38
+ /**
39
+ * Start monitoring ports for a process
40
+ * Start monitoring for new ports opened by a process
41
+ */
42
+ export declare const postNetworkProcessByPidMonitor: <ThrowOnError extends boolean = false>(options: Options<PostNetworkProcessByPidMonitorData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<{
43
+ [key: string]: unknown;
44
+ }, import("./types.gen").ErrorResponse, ThrowOnError>;
45
+ /**
46
+ * Get open ports for a process
47
+ * Get a list of all open ports for a process
48
+ */
49
+ export declare const getNetworkProcessByPidPorts: <ThrowOnError extends boolean = false>(options: Options<GetNetworkProcessByPidPortsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<{
50
+ [key: string]: unknown;
51
+ }, import("./types.gen").ErrorResponse, ThrowOnError>;
52
+ /**
53
+ * List all processes
54
+ * Get a list of all running and completed processes
55
+ */
56
+ export declare const getProcess: <ThrowOnError extends boolean = false>(options?: Options<GetProcessData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ProcessResponse[], unknown, ThrowOnError>;
57
+ /**
58
+ * Execute a command
59
+ * Execute a command and return process information
60
+ */
61
+ export declare const postProcess: <ThrowOnError extends boolean = false>(options: Options<PostProcessData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ProcessResponse, import("./types.gen").ErrorResponse, ThrowOnError>;
62
+ /**
63
+ * Stop a process
64
+ * Gracefully stop a running process
65
+ */
66
+ export declare const deleteProcessByIdentifier: <ThrowOnError extends boolean = false>(options: Options<DeleteProcessByIdentifierData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse, import("./types.gen").ErrorResponse, ThrowOnError>;
67
+ /**
68
+ * Get process by identifier
69
+ * Get information about a process by its PID or name
70
+ */
71
+ export declare const getProcessByIdentifier: <ThrowOnError extends boolean = false>(options: Options<GetProcessByIdentifierData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ProcessResponse, import("./types.gen").ErrorResponse, ThrowOnError>;
72
+ /**
73
+ * Kill a process
74
+ * Forcefully kill a running process
75
+ */
76
+ export declare const deleteProcessByIdentifierKill: <ThrowOnError extends boolean = false>(options: Options<DeleteProcessByIdentifierKillData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").SuccessResponse, import("./types.gen").ErrorResponse, ThrowOnError>;
77
+ /**
78
+ * Get process logs
79
+ * Get the stdout and stderr output of a process
80
+ */
81
+ export declare const getProcessByIdentifierLogs: <ThrowOnError extends boolean = false>(options: Options<GetProcessByIdentifierLogsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").ProcessLogs, import("./types.gen").ErrorResponse, ThrowOnError>;
82
+ /**
83
+ * Stream process logs in real time
84
+ * Streams the stdout and stderr output of a process in real time, one line per log, prefixed with 'stdout:' or 'stderr:'. Closes when the process exits or the client disconnects.
85
+ */
86
+ export declare const getProcessByIdentifierLogsStream: <ThrowOnError extends boolean = false>(options: Options<GetProcessByIdentifierLogsStreamData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<string, import("./types.gen").ErrorResponse, ThrowOnError>;
87
+ /**
88
+ * Stream file modification events in a directory
89
+ * Streams the path of modified files (one per line) in the given directory. Closes when the client disconnects.
90
+ */
91
+ export declare const getWatchFilesystemByPath: <ThrowOnError extends boolean = false>(options: Options<GetWatchFilesystemByPathData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<string, import("./types.gen").ErrorResponse, ThrowOnError>;
92
+ /**
93
+ * Stream process logs in real time via WebSocket
94
+ * Streams the stdout and stderr output of a process in real time as JSON messages.
95
+ */
96
+ export declare const getWsProcessByIdentifierLogsStream: <ThrowOnError extends boolean = false>(options: Options<GetWsProcessByIdentifierLogsStreamData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<unknown, import("./types.gen").ErrorResponse, ThrowOnError>;
97
+ /**
98
+ * Stream file modification events in a directory via WebSocket
99
+ * Streams JSON events of modified files in the given directory. Closes when the client disconnects.
100
+ */
101
+ export declare const getWsWatchFilesystemByPath: <ThrowOnError extends boolean = false>(options: Options<GetWsWatchFilesystemByPathData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<unknown, import("./types.gen").ErrorResponse, ThrowOnError>;