@blaxel/core 0.2.1 → 0.2.2-dev.50

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.
@@ -1,5 +1,5 @@
1
1
  import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch';
2
- import type { ListAgentsData, CreateAgentData, DeleteAgentData, GetAgentData, UpdateAgentData, ListAgentRevisionsData, GetConfigurationData, ListFunctionsData, CreateFunctionData, DeleteFunctionData, GetFunctionData, UpdateFunctionData, ListFunctionRevisionsData, GetIntegrationData, ListIntegrationConnectionsData, CreateIntegrationConnectionData, DeleteIntegrationConnectionData, GetIntegrationConnectionData, UpdateIntegrationConnectionData, GetIntegrationConnectionModelEndpointConfigurationsData, ListIntegrationConnectionModelsData, GetIntegrationConnectionModelData, ListKnowledgebasesData, CreateKnowledgebaseData, DeleteKnowledgebaseData, GetKnowledgebaseData, UpdateKnowledgebaseData, ListKnowledgebaseRevisionsData, ListLocationsData, ListMcpHubDefinitionsData, ListModelsData, CreateModelData, DeleteModelData, GetModelData, UpdateModelData, ListModelRevisionsData, ListPoliciesData, CreatePolicyData, DeletePolicyData, GetPolicyData, UpdatePolicyData, ListPrivateClustersData, CreatePrivateClusterData, DeletePrivateClusterData, GetPrivateClusterData, UpdatePrivateClusterData, GetPrivateClusterHealthData, UpdatePrivateClusterHealthData, ListAllPendingInvitationsData, ListSandboxHubDefinitionsData, ListSandboxesData, CreateSandboxData, DeleteSandboxData, GetSandboxData, UpdateSandboxData, ListSandboxPreviewsData, CreateSandboxPreviewData, DeleteSandboxPreviewData, GetSandboxPreviewData, UpdateSandboxPreviewData, ListSandboxPreviewTokensData, CreateSandboxPreviewTokenData, DeleteSandboxPreviewTokenData, StartSandboxData, StopSandboxData, GetWorkspaceServiceAccountsData, CreateWorkspaceServiceAccountData, DeleteWorkspaceServiceAccountData, UpdateWorkspaceServiceAccountData, ListApiKeysForServiceAccountData, CreateApiKeyForServiceAccountData, DeleteApiKeyForServiceAccountData, ListTemplatesData, GetTemplateData, GetTemplateContentsData, GetTemplateFileContentsData, ListWorkspaceUsersData, InviteWorkspaceUserData, RemoveWorkspaceUserData, UpdateWorkspaceUserRoleData, ListWorkspacesData, CreateWorspaceData, DeleteWorkspaceData, GetWorkspaceData, UpdateWorkspaceData, DeclineWorkspaceInvitationData, AcceptWorkspaceInvitationData, LeaveWorkspaceData, CheckWorkspaceAvailabilityData } from './types.gen.js';
2
+ import type { ListAgentsData, CreateAgentData, DeleteAgentData, GetAgentData, UpdateAgentData, ListAgentRevisionsData, GetConfigurationData, ListFunctionsData, CreateFunctionData, DeleteFunctionData, GetFunctionData, UpdateFunctionData, ListFunctionRevisionsData, GetIntegrationData, ListIntegrationConnectionsData, CreateIntegrationConnectionData, DeleteIntegrationConnectionData, GetIntegrationConnectionData, UpdateIntegrationConnectionData, GetIntegrationConnectionModelEndpointConfigurationsData, ListIntegrationConnectionModelsData, GetIntegrationConnectionModelData, ListJobsData, CreateJobData, DeleteJobData, GetJobData, UpdateJobData, ListJobRevisionsData, ListKnowledgebasesData, CreateKnowledgebaseData, DeleteKnowledgebaseData, GetKnowledgebaseData, UpdateKnowledgebaseData, ListKnowledgebaseRevisionsData, ListLocationsData, ListMcpHubDefinitionsData, ListModelsData, CreateModelData, DeleteModelData, GetModelData, UpdateModelData, ListModelRevisionsData, ListPoliciesData, CreatePolicyData, DeletePolicyData, GetPolicyData, UpdatePolicyData, ListPrivateClustersData, CreatePrivateClusterData, DeletePrivateClusterData, GetPrivateClusterData, UpdatePrivateClusterData, GetPrivateClusterHealthData, UpdatePrivateClusterHealthData, ListAllPendingInvitationsData, ListSandboxHubDefinitionsData, ListSandboxesData, CreateSandboxData, DeleteSandboxData, GetSandboxData, UpdateSandboxData, ListSandboxPreviewsData, CreateSandboxPreviewData, DeleteSandboxPreviewData, GetSandboxPreviewData, UpdateSandboxPreviewData, ListSandboxPreviewTokensData, CreateSandboxPreviewTokenData, DeleteSandboxPreviewTokenData, StartSandboxData, StopSandboxData, GetWorkspaceServiceAccountsData, CreateWorkspaceServiceAccountData, DeleteWorkspaceServiceAccountData, UpdateWorkspaceServiceAccountData, ListApiKeysForServiceAccountData, CreateApiKeyForServiceAccountData, DeleteApiKeyForServiceAccountData, ListTemplatesData, GetTemplateData, GetTemplateContentsData, GetTemplateFileContentsData, ListWorkspaceUsersData, InviteWorkspaceUserData, RemoveWorkspaceUserData, UpdateWorkspaceUserRoleData, ListWorkspacesData, CreateWorspaceData, DeleteWorkspaceData, GetWorkspaceData, UpdateWorkspaceData, DeclineWorkspaceInvitationData, AcceptWorkspaceInvitationData, LeaveWorkspaceData, CheckWorkspaceAvailabilityData } from './types.gen.js';
3
3
  export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<TData, ThrowOnError> & {
4
4
  /**
5
5
  * You can provide a client instance returned by `createClient()` instead of
@@ -111,6 +111,36 @@ export declare const listIntegrationConnectionModels: <ThrowOnError extends bool
111
111
  * Returns a model for an integration connection by ID.
112
112
  */
113
113
  export declare const getIntegrationConnectionModel: <ThrowOnError extends boolean = false>(options: Options<GetIntegrationConnectionModelData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<unknown, unknown, ThrowOnError>;
114
+ /**
115
+ * List jobs
116
+ * Returns a list of all jobs in the workspace.
117
+ */
118
+ export declare const listJobs: <ThrowOnError extends boolean = false>(options?: Options<ListJobsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").Job[], unknown, ThrowOnError>;
119
+ /**
120
+ * Create job
121
+ * Creates a job.
122
+ */
123
+ export declare const createJob: <ThrowOnError extends boolean = false>(options: Options<CreateJobData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").Job, unknown, ThrowOnError>;
124
+ /**
125
+ * Delete job
126
+ * Deletes a job by name.
127
+ */
128
+ export declare const deleteJob: <ThrowOnError extends boolean = false>(options: Options<DeleteJobData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").Job, unknown, ThrowOnError>;
129
+ /**
130
+ * Get job
131
+ * Returns a job by name.
132
+ */
133
+ export declare const getJob: <ThrowOnError extends boolean = false>(options: Options<GetJobData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").Model, unknown, ThrowOnError>;
134
+ /**
135
+ * Create or update job
136
+ * Update a job by name.
137
+ */
138
+ export declare const updateJob: <ThrowOnError extends boolean = false>(options: Options<UpdateJobData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").Job, unknown, ThrowOnError>;
139
+ /**
140
+ * List job revisions
141
+ * Returns revisions for a job by name.
142
+ */
143
+ export declare const listJobRevisions: <ThrowOnError extends boolean = false>(options: Options<ListJobRevisionsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").RevisionMetadata[], unknown, ThrowOnError>;
114
144
  /**
115
145
  * List knowledgebases
116
146
  * Returns a list of all knowledgebases in the workspace.
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  // This file is auto-generated by @hey-api/openapi-ts
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.listSandboxHubDefinitions = exports.listAllPendingInvitations = exports.updatePrivateClusterHealth = exports.getPrivateClusterHealth = exports.updatePrivateCluster = exports.getPrivateCluster = exports.deletePrivateCluster = exports.createPrivateCluster = exports.listPrivateClusters = exports.updatePolicy = exports.getPolicy = exports.deletePolicy = exports.createPolicy = exports.listPolicies = exports.listModelRevisions = exports.updateModel = exports.getModel = exports.deleteModel = exports.createModel = exports.listModels = exports.listMcpHubDefinitions = exports.listLocations = exports.listKnowledgebaseRevisions = exports.updateKnowledgebase = exports.getKnowledgebase = exports.deleteKnowledgebase = exports.createKnowledgebase = exports.listKnowledgebases = exports.getIntegrationConnectionModel = exports.listIntegrationConnectionModels = exports.getIntegrationConnectionModelEndpointConfigurations = exports.updateIntegrationConnection = exports.getIntegrationConnection = exports.deleteIntegrationConnection = exports.createIntegrationConnection = exports.listIntegrationConnections = exports.getIntegration = exports.listFunctionRevisions = exports.updateFunction = exports.getFunction = exports.deleteFunction = exports.createFunction = exports.listFunctions = exports.getConfiguration = exports.listAgentRevisions = exports.updateAgent = exports.getAgent = exports.deleteAgent = exports.createAgent = exports.listAgents = void 0;
5
- exports.checkWorkspaceAvailability = exports.leaveWorkspace = exports.acceptWorkspaceInvitation = exports.declineWorkspaceInvitation = exports.updateWorkspace = exports.getWorkspace = exports.deleteWorkspace = exports.createWorspace = exports.listWorkspaces = exports.updateWorkspaceUserRole = exports.removeWorkspaceUser = exports.inviteWorkspaceUser = exports.listWorkspaceUsers = exports.getTemplateFileContents = exports.getTemplateContents = exports.getTemplate = exports.listTemplates = exports.deleteApiKeyForServiceAccount = exports.createApiKeyForServiceAccount = exports.listApiKeysForServiceAccount = exports.updateWorkspaceServiceAccount = exports.deleteWorkspaceServiceAccount = exports.createWorkspaceServiceAccount = exports.getWorkspaceServiceAccounts = exports.stopSandbox = exports.startSandbox = exports.deleteSandboxPreviewToken = exports.createSandboxPreviewToken = exports.listSandboxPreviewTokens = exports.updateSandboxPreview = exports.getSandboxPreview = exports.deleteSandboxPreview = exports.createSandboxPreview = exports.listSandboxPreviews = exports.updateSandbox = exports.getSandbox = exports.deleteSandbox = exports.createSandbox = exports.listSandboxes = void 0;
4
+ exports.deletePrivateCluster = exports.createPrivateCluster = exports.listPrivateClusters = exports.updatePolicy = exports.getPolicy = exports.deletePolicy = exports.createPolicy = exports.listPolicies = exports.listModelRevisions = exports.updateModel = exports.getModel = exports.deleteModel = exports.createModel = exports.listModels = exports.listMcpHubDefinitions = exports.listLocations = exports.listKnowledgebaseRevisions = exports.updateKnowledgebase = exports.getKnowledgebase = exports.deleteKnowledgebase = exports.createKnowledgebase = exports.listKnowledgebases = exports.listJobRevisions = exports.updateJob = exports.getJob = exports.deleteJob = exports.createJob = exports.listJobs = exports.getIntegrationConnectionModel = exports.listIntegrationConnectionModels = exports.getIntegrationConnectionModelEndpointConfigurations = exports.updateIntegrationConnection = exports.getIntegrationConnection = exports.deleteIntegrationConnection = exports.createIntegrationConnection = exports.listIntegrationConnections = exports.getIntegration = exports.listFunctionRevisions = exports.updateFunction = exports.getFunction = exports.deleteFunction = exports.createFunction = exports.listFunctions = exports.getConfiguration = exports.listAgentRevisions = exports.updateAgent = exports.getAgent = exports.deleteAgent = exports.createAgent = exports.listAgents = void 0;
5
+ exports.checkWorkspaceAvailability = exports.leaveWorkspace = exports.acceptWorkspaceInvitation = exports.declineWorkspaceInvitation = exports.updateWorkspace = exports.getWorkspace = exports.deleteWorkspace = exports.createWorspace = exports.listWorkspaces = exports.updateWorkspaceUserRole = exports.removeWorkspaceUser = exports.inviteWorkspaceUser = exports.listWorkspaceUsers = exports.getTemplateFileContents = exports.getTemplateContents = exports.getTemplate = exports.listTemplates = exports.deleteApiKeyForServiceAccount = exports.createApiKeyForServiceAccount = exports.listApiKeysForServiceAccount = exports.updateWorkspaceServiceAccount = exports.deleteWorkspaceServiceAccount = exports.createWorkspaceServiceAccount = exports.getWorkspaceServiceAccounts = exports.stopSandbox = exports.startSandbox = exports.deleteSandboxPreviewToken = exports.createSandboxPreviewToken = exports.listSandboxPreviewTokens = exports.updateSandboxPreview = exports.getSandboxPreview = exports.deleteSandboxPreview = exports.createSandboxPreview = exports.listSandboxPreviews = exports.updateSandbox = exports.getSandbox = exports.deleteSandbox = exports.createSandbox = exports.listSandboxes = exports.listSandboxHubDefinitions = exports.listAllPendingInvitations = exports.updatePrivateClusterHealth = exports.getPrivateClusterHealth = exports.updatePrivateCluster = exports.getPrivateCluster = void 0;
6
6
  const client_gen_1 = require("./client.gen");
7
7
  /**
8
8
  * List all agents
@@ -390,6 +390,116 @@ const getIntegrationConnectionModel = (options) => {
390
390
  });
391
391
  };
392
392
  exports.getIntegrationConnectionModel = getIntegrationConnectionModel;
393
+ /**
394
+ * List jobs
395
+ * Returns a list of all jobs in the workspace.
396
+ */
397
+ const listJobs = (options) => {
398
+ return (options?.client ?? client_gen_1.client).get({
399
+ security: [
400
+ {
401
+ scheme: 'bearer',
402
+ type: 'http'
403
+ }
404
+ ],
405
+ url: '/jobs',
406
+ ...options
407
+ });
408
+ };
409
+ exports.listJobs = listJobs;
410
+ /**
411
+ * Create job
412
+ * Creates a job.
413
+ */
414
+ const createJob = (options) => {
415
+ return (options.client ?? client_gen_1.client).post({
416
+ security: [
417
+ {
418
+ scheme: 'bearer',
419
+ type: 'http'
420
+ }
421
+ ],
422
+ url: '/jobs',
423
+ ...options,
424
+ headers: {
425
+ 'Content-Type': 'application/json',
426
+ ...options?.headers
427
+ }
428
+ });
429
+ };
430
+ exports.createJob = createJob;
431
+ /**
432
+ * Delete job
433
+ * Deletes a job by name.
434
+ */
435
+ const deleteJob = (options) => {
436
+ return (options.client ?? client_gen_1.client).delete({
437
+ security: [
438
+ {
439
+ scheme: 'bearer',
440
+ type: 'http'
441
+ }
442
+ ],
443
+ url: '/jobs/{jobId}',
444
+ ...options
445
+ });
446
+ };
447
+ exports.deleteJob = deleteJob;
448
+ /**
449
+ * Get job
450
+ * Returns a job by name.
451
+ */
452
+ const getJob = (options) => {
453
+ return (options.client ?? client_gen_1.client).get({
454
+ security: [
455
+ {
456
+ scheme: 'bearer',
457
+ type: 'http'
458
+ }
459
+ ],
460
+ url: '/jobs/{jobId}',
461
+ ...options
462
+ });
463
+ };
464
+ exports.getJob = getJob;
465
+ /**
466
+ * Create or update job
467
+ * Update a job by name.
468
+ */
469
+ const updateJob = (options) => {
470
+ return (options.client ?? client_gen_1.client).put({
471
+ security: [
472
+ {
473
+ scheme: 'bearer',
474
+ type: 'http'
475
+ }
476
+ ],
477
+ url: '/jobs/{jobId}',
478
+ ...options,
479
+ headers: {
480
+ 'Content-Type': 'application/json',
481
+ ...options?.headers
482
+ }
483
+ });
484
+ };
485
+ exports.updateJob = updateJob;
486
+ /**
487
+ * List job revisions
488
+ * Returns revisions for a job by name.
489
+ */
490
+ const listJobRevisions = (options) => {
491
+ return (options.client ?? client_gen_1.client).get({
492
+ security: [
493
+ {
494
+ scheme: 'bearer',
495
+ type: 'http'
496
+ }
497
+ ],
498
+ url: '/jobs/{jobId}/revisions',
499
+ ...options
500
+ });
501
+ };
502
+ exports.listJobRevisions = listJobRevisions;
393
503
  /**
394
504
  * List knowledgebases
395
505
  * Returns a list of all knowledgebases in the workspace.
@@ -639,6 +639,22 @@ export type IntegrationRepository = {
639
639
  */
640
640
  url?: string;
641
641
  };
642
+ /**
643
+ * Job
644
+ */
645
+ export type Job = {
646
+ events?: CoreEvents;
647
+ metadata?: Metadata;
648
+ spec?: JobSpec;
649
+ /**
650
+ * Job status
651
+ */
652
+ status?: string;
653
+ };
654
+ /**
655
+ * Job specification
656
+ */
657
+ export type JobSpec = CoreSpec & unknown;
642
658
  /**
643
659
  * Knowledgebase
644
660
  */
@@ -1624,6 +1640,10 @@ export type Runtime = {
1624
1640
  * The Docker image for the deployment
1625
1641
  */
1626
1642
  image?: string;
1643
+ /**
1644
+ * The maximum number of retries for the deployment
1645
+ */
1646
+ maxRetries?: number;
1627
1647
  /**
1628
1648
  * The minimum number of replicas for the deployment. Can be 0 or 1 (in which case the deployment is always running in at least one location).
1629
1649
  */
@@ -1744,6 +1764,10 @@ export type ServerlessConfig = {
1744
1764
  configuration?: {
1745
1765
  [key: string]: unknown;
1746
1766
  };
1767
+ /**
1768
+ * The maximum number of retries for the deployment
1769
+ */
1770
+ maxRetries?: number;
1747
1771
  /**
1748
1772
  * The minimum number of replicas for the deployment. Can be 0 or 1 (in which case the deployment is always running in at least one location).
1749
1773
  */
@@ -2525,6 +2549,104 @@ export type GetIntegrationConnectionModelResponses = {
2525
2549
  */
2526
2550
  200: unknown;
2527
2551
  };
2552
+ export type ListJobsData = {
2553
+ body?: never;
2554
+ path?: never;
2555
+ query?: never;
2556
+ url: '/jobs';
2557
+ };
2558
+ export type ListJobsResponses = {
2559
+ /**
2560
+ * successful operation
2561
+ */
2562
+ 200: Array<Job>;
2563
+ };
2564
+ export type ListJobsResponse = ListJobsResponses[keyof ListJobsResponses];
2565
+ export type CreateJobData = {
2566
+ body: Job;
2567
+ path?: never;
2568
+ query?: never;
2569
+ url: '/jobs';
2570
+ };
2571
+ export type CreateJobResponses = {
2572
+ /**
2573
+ * successful operation
2574
+ */
2575
+ 200: Job;
2576
+ };
2577
+ export type CreateJobResponse = CreateJobResponses[keyof CreateJobResponses];
2578
+ export type DeleteJobData = {
2579
+ body?: never;
2580
+ path: {
2581
+ /**
2582
+ * Name of the job
2583
+ */
2584
+ jobId: string;
2585
+ };
2586
+ query?: never;
2587
+ url: '/jobs/{jobId}';
2588
+ };
2589
+ export type DeleteJobResponses = {
2590
+ /**
2591
+ * successful operation
2592
+ */
2593
+ 200: Job;
2594
+ };
2595
+ export type DeleteJobResponse = DeleteJobResponses[keyof DeleteJobResponses];
2596
+ export type GetJobData = {
2597
+ body?: never;
2598
+ path: {
2599
+ /**
2600
+ * Name of the job
2601
+ */
2602
+ jobId: string;
2603
+ };
2604
+ query?: never;
2605
+ url: '/jobs/{jobId}';
2606
+ };
2607
+ export type GetJobResponses = {
2608
+ /**
2609
+ * successful operation
2610
+ */
2611
+ 200: Model;
2612
+ };
2613
+ export type GetJobResponse = GetJobResponses[keyof GetJobResponses];
2614
+ export type UpdateJobData = {
2615
+ body: Job;
2616
+ path: {
2617
+ /**
2618
+ * Name of the job
2619
+ */
2620
+ jobId: string;
2621
+ };
2622
+ query?: never;
2623
+ url: '/jobs/{jobId}';
2624
+ };
2625
+ export type UpdateJobResponses = {
2626
+ /**
2627
+ * successful operation
2628
+ */
2629
+ 200: Job;
2630
+ };
2631
+ export type UpdateJobResponse = UpdateJobResponses[keyof UpdateJobResponses];
2632
+ export type ListJobRevisionsData = {
2633
+ body?: never;
2634
+ path: {
2635
+ /**
2636
+ * Name of the job
2637
+ */
2638
+ jobId: string;
2639
+ };
2640
+ query?: never;
2641
+ url: '/jobs/{jobId}/revisions';
2642
+ };
2643
+ export type ListJobRevisionsResponses = {
2644
+ /**
2645
+ * successful operation
2646
+ */
2647
+ 200: Array<RevisionMetadata>;
2648
+ };
2649
+ export type ListJobRevisionsResponse = ListJobRevisionsResponses[keyof ListJobRevisionsResponses];
2528
2650
  export type ListKnowledgebasesData = {
2529
2651
  body?: never;
2530
2652
  path?: never;
@@ -1,2 +1,2 @@
1
- export declare function getAlphanumericLimitedHash(input: string, maxSize: number): string;
1
+ export declare function getAlphanumericLimitedHash(input: string, maxSize?: number): string;
2
2
  export declare function getGlobalUniqueHash(workspace: string, type: string, name: string): string;
@@ -6,12 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getAlphanumericLimitedHash = getAlphanumericLimitedHash;
7
7
  exports.getGlobalUniqueHash = getGlobalUniqueHash;
8
8
  const crypto_1 = __importDefault(require("crypto"));
9
- function getAlphanumericLimitedHash(input, maxSize) {
10
- const hash = crypto_1.default.createHash("sha256").update(input).digest("base64");
11
- const alphanumeric = hash.replace(/[^a-z0-9]+/g, "");
12
- return alphanumeric.length > maxSize
13
- ? alphanumeric.substring(0, maxSize)
14
- : alphanumeric;
9
+ function getAlphanumericLimitedHash(input, maxSize = 48) {
10
+ const hash = crypto_1.default.createHash('md5').update(input).digest('hex');
11
+ return hash.length > maxSize ? hash.substring(0, maxSize) : hash;
15
12
  }
16
13
  function getGlobalUniqueHash(workspace, type, name) {
17
14
  const globalUniqueName = `${workspace}-${type}-${name}`;
@@ -20,6 +20,8 @@ declare class Settings {
20
20
  get type(): string;
21
21
  get runInternalHostname(): string;
22
22
  get runInternalProtocol(): string;
23
+ get blCloud(): boolean;
24
+ get generation(): string;
23
25
  get loggerType(): string;
24
26
  authenticate(): Promise<void>;
25
27
  }
@@ -72,11 +72,20 @@ class Settings {
72
72
  return env_js_1.env.BL_TYPE || "agents";
73
73
  }
74
74
  get runInternalHostname() {
75
+ if (!this.generation) {
76
+ return "";
77
+ }
75
78
  return env_js_1.env.BL_RUN_INTERNAL_HOSTNAME || "";
76
79
  }
77
80
  get runInternalProtocol() {
78
81
  return env_js_1.env.BL_RUN_INTERNAL_PROTOCOL || "https";
79
82
  }
83
+ get blCloud() {
84
+ return env_js_1.env.BL_CLOUD === "true";
85
+ }
86
+ get generation() {
87
+ return env_js_1.env.BL_GENERATION || "";
88
+ }
80
89
  get loggerType() {
81
90
  return env_js_1.env.BL_LOGGER || "http";
82
91
  }
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export * from "./common/errors.js";
7
7
  export * from "./common/internal.js";
8
8
  export * from "./common/logger.js";
9
9
  export * from "./common/settings.js";
10
+ export * from "./jobs/index.js";
10
11
  export * from "./mcp/index.js";
11
12
  export * from "./models/index.js";
12
13
  export * from "./sandbox/index.js";
package/dist/index.js CHANGED
@@ -23,6 +23,7 @@ __exportStar(require("./common/errors.js"), exports);
23
23
  __exportStar(require("./common/internal.js"), exports);
24
24
  __exportStar(require("./common/logger.js"), exports);
25
25
  __exportStar(require("./common/settings.js"), exports);
26
+ __exportStar(require("./jobs/index.js"), exports);
26
27
  __exportStar(require("./mcp/index.js"), exports);
27
28
  __exportStar(require("./models/index.js"), exports);
28
29
  __exportStar(require("./sandbox/index.js"), exports);
@@ -0,0 +1 @@
1
+ export * from "./jobs.js";
@@ -0,0 +1,17 @@
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
+ __exportStar(require("./jobs.js"), exports);
@@ -0,0 +1,10 @@
1
+ declare class BlJob {
2
+ getArguments(): Promise<{
3
+ [key: number]: any;
4
+ }>;
5
+ get indexKey(): string;
6
+ get index(): number;
7
+ start(func: (args: any) => Promise<void>): Promise<void>;
8
+ }
9
+ export declare const blJob: BlJob;
10
+ export {};
@@ -0,0 +1,42 @@
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.blJob = void 0;
7
+ const yargs_1 = __importDefault(require("yargs"));
8
+ const helpers_1 = require("yargs/helpers");
9
+ const env_js_1 = require("../common/env.js");
10
+ class BlJob {
11
+ async getArguments() {
12
+ if (!env_js_1.env.BL_EXECUTION_DATA_URL) {
13
+ const argv = await (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
14
+ .parseAsync();
15
+ return argv;
16
+ }
17
+ const response = await fetch(env_js_1.env.BL_EXECUTION_DATA_URL);
18
+ const data = await response.json();
19
+ return data.tasks[this.index] ?? {};
20
+ }
21
+ get indexKey() {
22
+ return env_js_1.env.BL_EXECUTION_INDEX_KEY ?? "TASK_INDEX";
23
+ }
24
+ get index() {
25
+ return env_js_1.env[this.indexKey] ? Number(env_js_1.env[this.indexKey]) ?? 0 : 0;
26
+ }
27
+ /*
28
+ Run a job defined in a function, it's run in the current process
29
+ */
30
+ async start(func) {
31
+ try {
32
+ const parsedArgs = await this.getArguments();
33
+ await func(parsedArgs);
34
+ process.exit(0);
35
+ }
36
+ catch (error) {
37
+ console.error('Job execution failed:', error);
38
+ process.exit(1);
39
+ }
40
+ }
41
+ }
42
+ exports.blJob = new BlJob();
@@ -22,7 +22,7 @@ export declare const deleteFilesystemByPath: <ThrowOnError extends boolean = fal
22
22
  * Get file or directory information
23
23
  * Get content of a file or listing of a directory
24
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>;
25
+ export declare const getFilesystemByPath: <ThrowOnError extends boolean = false>(options: Options<GetFilesystemByPathData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").FileWithContent | import("./types.gen").Directory, import("./types.gen").ErrorResponse, ThrowOnError>;
26
26
  /**
27
27
  * Create or update file or directory
28
28
  * Create or update a file or directory
@@ -1,11 +1,3 @@
1
- export type Directory = {
2
- files?: Array<File>;
3
- path?: string;
4
- /**
5
- * @name Subdirectories
6
- */
7
- subdirectories?: Array<Subdirectory>;
8
- };
9
1
  export type ErrorResponse = {
10
2
  error?: string;
11
3
  };
@@ -14,6 +6,9 @@ export type File = {
14
6
  lastModified?: string;
15
7
  owner?: string;
16
8
  path?: string;
9
+ /**
10
+ * swagger:strfmt string
11
+ */
17
12
  permissions?: string;
18
13
  size?: number;
19
14
  };
@@ -28,6 +23,9 @@ export type FileWithContent = {
28
23
  lastModified?: string;
29
24
  owner?: string;
30
25
  path?: string;
26
+ /**
27
+ * swagger:strfmt string
28
+ */
31
29
  permissions?: string;
32
30
  size?: number;
33
31
  };
@@ -58,13 +56,18 @@ export type ProcessResponse = {
58
56
  status?: string;
59
57
  workingDir?: string;
60
58
  };
61
- export type Subdirectory = {
62
- path?: string;
63
- };
64
59
  export type SuccessResponse = {
65
60
  message?: string;
66
61
  path?: string;
67
62
  };
63
+ export type Directory = {
64
+ files?: Array<File>;
65
+ path?: string;
66
+ /**
67
+ * @name Subdirectories
68
+ */
69
+ subdirectories?: Array<Directory>;
70
+ };
68
71
  export type DeleteFilesystemByPathData = {
69
72
  body?: never;
70
73
  path: {
@@ -55,4 +55,5 @@ export declare const telemetryRegistry: TelemetryRegistry;
55
55
  * Create a span with the registered provider
56
56
  */
57
57
  export declare function startSpan(name: string, options?: BlaxelSpanOptions): BlaxelSpan;
58
+ export declare function withSpan<T>(name: string, fn: () => T, options?: BlaxelSpanOptions): T;
58
59
  export {};
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.telemetryRegistry = void 0;
5
5
  exports.startSpan = startSpan;
6
+ exports.withSpan = withSpan;
6
7
  /**
7
8
  * No-operation implementation of Span
8
9
  */
@@ -57,3 +58,16 @@ exports.telemetryRegistry = TelemetryRegistry.getInstance();
57
58
  function startSpan(name, options) {
58
59
  return exports.telemetryRegistry.getProvider().startSpan(name, options);
59
60
  }
61
+ function withSpan(name, fn, options) {
62
+ const span = startSpan(name, options);
63
+ try {
64
+ const result = fn();
65
+ span.end();
66
+ return result;
67
+ }
68
+ catch (error) {
69
+ span.recordException(error);
70
+ span.end();
71
+ throw error;
72
+ }
73
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaxel/core",
3
- "version": "0.2.1",
3
+ "version": "0.2.2-dev.50",
4
4
  "description": "Blaxel Core SDK for TypeScript",
5
5
  "license": "MIT",
6
6
  "author": "Blaxel, INC (https://blaxel.ai)",
@@ -62,11 +62,13 @@
62
62
  "uuid": "^11.1.0",
63
63
  "ws": "^8.18.2",
64
64
  "yaml": "^2.7.1",
65
+ "yargs": "^17.7.2",
65
66
  "zod": "^3.24.3"
66
67
  },
67
68
  "devDependencies": {
68
69
  "@eslint/js": "^9.26.0",
69
70
  "@types/ws": "^8.18.1",
71
+ "@types/yargs": "^17.0.33",
70
72
  "typescript": "^5.0.0",
71
73
  "typescript-eslint": "^8.31.1"
72
74
  },