@blaxel/core 0.2.45 → 0.2.46-dev.204

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 (37) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -1
  2. package/dist/cjs/agents/index.js +2 -2
  3. package/dist/cjs/authentication/clientcredentials.js +4 -1
  4. package/dist/cjs/common/internal.js +40 -0
  5. package/dist/cjs/common/settings.js +5 -2
  6. package/dist/cjs/jobs/jobs.js +2 -2
  7. package/dist/cjs/sandbox/action.js +1 -2
  8. package/dist/cjs/tools/mcpTool.js +2 -2
  9. package/dist/cjs/types/common/internal.d.ts +2 -0
  10. package/dist/cjs/types/common/settings.d.ts +1 -0
  11. package/dist/cjs-browser/.tsbuildinfo +1 -1
  12. package/dist/cjs-browser/agents/index.js +2 -2
  13. package/dist/cjs-browser/authentication/clientcredentials.js +4 -1
  14. package/dist/cjs-browser/common/internal.js +40 -0
  15. package/dist/cjs-browser/common/settings.js +5 -2
  16. package/dist/cjs-browser/jobs/jobs.js +2 -2
  17. package/dist/cjs-browser/sandbox/action.js +1 -2
  18. package/dist/cjs-browser/tools/mcpTool.js +2 -2
  19. package/dist/cjs-browser/types/common/internal.d.ts +2 -0
  20. package/dist/cjs-browser/types/common/settings.d.ts +1 -0
  21. package/dist/esm/.tsbuildinfo +1 -1
  22. package/dist/esm/agents/index.js +3 -3
  23. package/dist/esm/authentication/clientcredentials.js +4 -1
  24. package/dist/esm/common/internal.js +38 -0
  25. package/dist/esm/common/settings.js +5 -2
  26. package/dist/esm/jobs/jobs.js +3 -3
  27. package/dist/esm/sandbox/action.js +2 -3
  28. package/dist/esm/tools/mcpTool.js +3 -3
  29. package/dist/esm-browser/.tsbuildinfo +1 -1
  30. package/dist/esm-browser/agents/index.js +3 -3
  31. package/dist/esm-browser/authentication/clientcredentials.js +4 -1
  32. package/dist/esm-browser/common/internal.js +38 -0
  33. package/dist/esm-browser/common/settings.js +5 -2
  34. package/dist/esm-browser/jobs/jobs.js +3 -3
  35. package/dist/esm-browser/sandbox/action.js +2 -3
  36. package/dist/esm-browser/tools/mcpTool.js +3 -3
  37. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  import { findFromCache } from "../cache/index.js";
2
2
  import { getAgent } from "../client/index.js";
3
- import { getForcedUrl, getGlobalUniqueHash } from "../common/internal.js";
3
+ import { generateInternalUrl, getForcedUrl } from "../common/internal.js";
4
4
  import { logger } from "../common/logger.js";
5
5
  import { settings } from "../common/settings.js";
6
6
  import { startSpan } from '../telemetry/telemetry.js';
@@ -19,8 +19,8 @@ class BlAgent {
19
19
  return new URL(`${settings.runUrl}/${settings.workspace}/agents/${this.agentName}`);
20
20
  }
21
21
  get internalUrl() {
22
- const hash = getGlobalUniqueHash(settings.workspace, "agent", this.agentName);
23
- return new URL(`${settings.runInternalProtocol}://bl-${settings.env}-${hash}.${settings.runInternalHostname}`);
22
+ const url = generateInternalUrl(settings.workspace, "agent", this.agentName, settings.env, settings.runInternalProtocol, settings.runInternalHostname, settings.blCloud, settings.workspaceId);
23
+ return new URL(url);
24
24
  }
25
25
  get forcedUrl() {
26
26
  return getForcedUrl('function', this.agentName);
@@ -51,10 +51,13 @@ export class ClientCredentials extends Credentials {
51
51
  }
52
52
  catch (error) {
53
53
  if (retry > 0) {
54
+ console.error(`Authentication failed, retrying... (${4 - retry}/3)`, error);
54
55
  await this.sleep(1000);
55
56
  return this.processWithRetry(retry - 1);
56
57
  }
57
- throw error;
58
+ this.currentPromise = null;
59
+ const originalMessage = error instanceof Error ? error.message : String(error);
60
+ throw new Error(`Authentication failed after 4 attempts: ${originalMessage}`, { cause: error });
58
61
  }
59
62
  }
60
63
  async process() {
@@ -180,3 +180,41 @@ export function getForcedUrl(type, name) {
180
180
  }
181
181
  return null;
182
182
  }
183
+ export function getWorkloadTypeShort(type) {
184
+ const lowerType = type.toLowerCase();
185
+ switch (lowerType) {
186
+ case 'agent':
187
+ case 'agents':
188
+ return 'agt';
189
+ case 'mcp':
190
+ case 'mcps':
191
+ case 'function':
192
+ case 'functions':
193
+ return 'mcp';
194
+ case 'sandbox':
195
+ case 'sandboxes':
196
+ return 'sbx';
197
+ case 'job':
198
+ case 'jobs':
199
+ return 'job';
200
+ case 'model':
201
+ case 'models':
202
+ return 'mdl';
203
+ default:
204
+ // fallback to first 3 letters of type
205
+ return lowerType.substring(0, 3);
206
+ }
207
+ }
208
+ export function generateInternalUrl(workspace, type, name, env, protocol, hostname, blCloud, workspaceId) {
209
+ if (blCloud && workspaceId) {
210
+ // New cloud format: bl-ENV-WORKLOAD_CALLED_NAME-WORKLOAD_TYPE_SHORT-WORKSPACE_ID
211
+ const workloadTypeShort = getWorkloadTypeShort(type);
212
+ const subdomain = `bl-${env}-${name}-${workloadTypeShort}-${workspaceId}`;
213
+ return `${protocol}://${subdomain}.${hostname}`;
214
+ }
215
+ else {
216
+ // Legacy format: bl-ENV-HASH.internalhostname
217
+ const hash = getGlobalUniqueHash(workspace, type, name);
218
+ return `${protocol}://bl-${env}-${hash}.${hostname}`;
219
+ }
220
+ }
@@ -7,7 +7,7 @@ function getPackageVersion() {
7
7
  if (typeof require !== "undefined") {
8
8
  // Try to require package.json (Node.js only, gracefully fails in browser)
9
9
  // eslint-disable-next-line @typescript-eslint/no-require-imports
10
- const packageJson = {"version":"0.2.45","commit":"67097f3cb05bf06199eb26983384582a8b7101fe"};
10
+ const packageJson = {"version":"0.2.46-dev.204","commit":"6df4b9634c31339747c2d6a37c0810466e5114da"};
11
11
  return packageJson.version || "unknown";
12
12
  }
13
13
  else {
@@ -59,7 +59,7 @@ function getCommitHash() {
59
59
  if (typeof require !== "undefined") {
60
60
  // Try to require package.json and look for commit field (set during build)
61
61
  // eslint-disable-next-line @typescript-eslint/no-require-imports
62
- const packageJson = {"version":"0.2.45","commit":"67097f3cb05bf06199eb26983384582a8b7101fe"};
62
+ const packageJson = {"version":"0.2.46-dev.204","commit":"6df4b9634c31339747c2d6a37c0810466e5114da"};
63
63
  // Check for commit in various possible locations
64
64
  const commit = packageJson.commit || packageJson.buildInfo?.commit;
65
65
  if (commit) {
@@ -162,6 +162,9 @@ class Settings {
162
162
  get blCloud() {
163
163
  return env.BL_CLOUD === "true";
164
164
  }
165
+ get workspaceId() {
166
+ return env.BL_WORKSPACE_ID || "";
167
+ }
165
168
  get generation() {
166
169
  return env.BL_GENERATION || "";
167
170
  }
@@ -1,4 +1,4 @@
1
- import { getForcedUrl, getGlobalUniqueHash } from "../common/internal.js";
1
+ import { generateInternalUrl, getForcedUrl } from "../common/internal.js";
2
2
  import { logger } from "../common/logger.js";
3
3
  import { settings } from "../common/settings.js";
4
4
  import { startSpan } from '../telemetry/telemetry.js';
@@ -17,8 +17,8 @@ class BlJob {
17
17
  return new URL(`${settings.runUrl}/${settings.workspace}/jobs/${this.jobName}`);
18
18
  }
19
19
  get internalUrl() {
20
- const hash = getGlobalUniqueHash(settings.workspace, "job", this.jobName);
21
- return new URL(`${settings.runInternalProtocol}://bl-${settings.env}-${hash}.${settings.runInternalHostname}`);
20
+ const url = generateInternalUrl(settings.workspace, "job", this.jobName, settings.env, settings.runInternalProtocol, settings.runInternalHostname, settings.blCloud, settings.workspaceId);
21
+ return new URL(url);
22
22
  }
23
23
  get forcedUrl() {
24
24
  return getForcedUrl('job', this.jobName);
@@ -1,5 +1,5 @@
1
1
  import { createClient } from "@hey-api/client-fetch";
2
- import { getForcedUrl, getGlobalUniqueHash } from "../common/internal.js";
2
+ import { generateInternalUrl, getForcedUrl } from "../common/internal.js";
3
3
  import { settings } from "../common/settings.js";
4
4
  import { client as defaultClient } from "./client/client.gen.js";
5
5
  export class ResponseError extends Error {
@@ -44,8 +44,7 @@ export class SandboxAction {
44
44
  return this.sandbox.metadata?.url ?? `${settings.runUrl}/${settings.workspace}/sandboxes/${this.name}`;
45
45
  }
46
46
  get internalUrl() {
47
- const hash = getGlobalUniqueHash(settings.workspace, "sandbox", this.name);
48
- return `${settings.runInternalProtocol}://bl-${settings.env}-${hash}.${settings.runInternalHostname}`;
47
+ return generateInternalUrl(settings.workspace, "sandbox", this.name, settings.env, settings.runInternalProtocol, settings.runInternalHostname, settings.blCloud, settings.workspaceId);
49
48
  }
50
49
  get client() {
51
50
  if (this.sandbox.forceUrl) {
@@ -1,6 +1,6 @@
1
1
  import { Client as ModelContextProtocolClient } from "@modelcontextprotocol/sdk/client/index.js";
2
2
  import { env } from "../common/env.js";
3
- import { getForcedUrl, getGlobalUniqueHash } from "../common/internal.js";
3
+ import { generateInternalUrl, getForcedUrl } from "../common/internal.js";
4
4
  import { logger } from "../common/logger.js";
5
5
  import { settings } from "../common/settings.js";
6
6
  import { authenticate } from "../index.js";
@@ -55,8 +55,8 @@ export class McpTool {
55
55
  return new URL(`${settings.runUrl}/${settings.workspace}/${this.pluralType}/${this.name}`);
56
56
  }
57
57
  get internalUrl() {
58
- const hash = getGlobalUniqueHash(settings.workspace, this.type, this.name);
59
- return new URL(`${settings.runInternalProtocol}://bl-${settings.env}-${hash}.${settings.runInternalHostname}`);
58
+ const url = generateInternalUrl(settings.workspace, this.type, this.name, settings.env, settings.runInternalProtocol, settings.runInternalHostname, settings.blCloud, settings.workspaceId);
59
+ return new URL(url);
60
60
  }
61
61
  get forcedUrl() {
62
62
  return getForcedUrl(this.type, this.name);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaxel/core",
3
- "version": "0.2.45",
3
+ "version": "0.2.46-dev.204",
4
4
  "description": "Blaxel Core SDK for TypeScript",
5
5
  "license": "MIT",
6
6
  "author": "Blaxel, INC (https://blaxel.ai)",
@@ -74,7 +74,7 @@
74
74
  "vite": "^5.2.0",
75
75
  "vitest": "^1.5.0"
76
76
  },
77
- "commit": "67097f3cb05bf06199eb26983384582a8b7101fe",
77
+ "commit": "6df4b9634c31339747c2d6a37c0810466e5114da",
78
78
  "scripts": {
79
79
  "lint": "eslint src/",
80
80
  "dev": "tsc --watch",