@mcoda/core 0.1.75 → 0.1.78

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,11 @@
3
3
  ## Unreleased
4
4
  - Initial public packaging for @mcoda/core.
5
5
 
6
+ ## 0.1.78
7
+ - Add MswarmApi owner-local generic GPU job helpers for capability reads,
8
+ artifact upload, run/status/logs/events/artifacts, cancellation, retry, and
9
+ ops summaries.
10
+
6
11
  ## 0.1.9
7
12
  - Release v0.1.9.
8
13
 
package/README.md CHANGED
@@ -9,7 +9,8 @@ Core services that power the mcoda CLI (docs, planning, jobs, telemetry, openapi
9
9
  ## What it provides
10
10
  - WorkspaceResolver for discovering/initializing workspace data under `~/.mcoda/workspaces/<fingerprint>`.
11
11
  - Service layer for docs, planning, execution, review, telemetry, and system updates.
12
- - API wrappers (AgentsApi, TasksApi, QaTasksApi) used by the CLI.
12
+ - API wrappers (AgentsApi, TasksApi, QaTasksApi, MswarmApi) used by the CLI and SDK packages.
13
+ - Owner-local mswarm generic job helpers for capability reads, artifact upload, run/status/logs/events/artifacts, cancellation, retry, and ops summaries.
13
14
 
14
15
  ## Example
15
16
  ```ts
@@ -1,4 +1,6 @@
1
1
  import { GlobalRepository } from '@mcoda/db';
2
+ import { type MswarmArtifactRef, type MswarmGenericJobAuditEvent, type MswarmGenericJobLifecycleSnapshot, type MswarmGenericJobLogRecord, type MswarmJobEvent, type MswarmJobRequest, type MswarmJobType } from '@mcoda/shared';
3
+ export type { MswarmGenericJobLifecycleSnapshot } from '@mcoda/shared';
2
4
  export interface MswarmCloudAgent {
3
5
  slug: string;
4
6
  provider: string;
@@ -241,8 +243,162 @@ export interface MswarmRuntimeIdentity {
241
243
  asOf: string | null;
242
244
  usageLimits: MswarmRuntimeUsageLimits;
243
245
  }
246
+ export interface MswarmGenericNodeJobEnvelope {
247
+ job_id: string;
248
+ request_id: string;
249
+ node_id: string;
250
+ job: MswarmJobRequest;
251
+ }
252
+ export interface MswarmNodeAuthOptions {
253
+ nodeBaseUrl?: string;
254
+ token?: string;
255
+ signingSecret?: string;
256
+ tokenTtlSeconds?: number;
257
+ }
258
+ export interface MswarmCapabilityRequestOptions extends MswarmNodeAuthOptions {
259
+ nodeId?: string;
260
+ }
261
+ export interface MswarmGenericJobOpsRequestOptions extends MswarmNodeAuthOptions {
262
+ nodeId?: string;
263
+ auditLimit?: number;
264
+ auditOffset?: number;
265
+ }
266
+ export interface MswarmGenericJobReference extends MswarmNodeAuthOptions {
267
+ jobId: string;
268
+ nodeId?: string;
269
+ requestId?: string;
270
+ schemaVersion?: string;
271
+ jobType?: MswarmJobType | string;
272
+ }
273
+ export interface MswarmGenericJobArtifactUploadInput extends MswarmGenericJobReference {
274
+ name?: string;
275
+ path: string;
276
+ contentBase64: string;
277
+ contentType?: string;
278
+ sha256?: string;
279
+ sizeBytes?: number;
280
+ }
281
+ export interface MswarmGenericJobArtifactUploadResult {
282
+ job_id: string;
283
+ artifact: MswarmArtifactRef;
284
+ }
285
+ export interface MswarmGenericJobEventsResult {
286
+ job_id: string;
287
+ events: MswarmJobEvent[];
288
+ }
289
+ export interface MswarmGenericJobLogsResult {
290
+ job_id: string;
291
+ logs: MswarmGenericJobLogRecord[];
292
+ }
293
+ export interface MswarmGenericJobArtifactsResult {
294
+ job_id: string;
295
+ artifacts: MswarmArtifactRef[];
296
+ }
297
+ export interface MswarmGenericJobOpsJobSummary {
298
+ job_id: string;
299
+ request_id: string;
300
+ tenant_id: string;
301
+ node_id?: string;
302
+ state: string;
303
+ job_type: string;
304
+ schema_version: string;
305
+ created_at: string;
306
+ updated_at: string;
307
+ queued_at?: string;
308
+ scheduled_at?: string;
309
+ started_at?: string;
310
+ finished_at?: string;
311
+ retry_count: number;
312
+ max_retries: number;
313
+ progress_percent?: number;
314
+ last_event_type?: string;
315
+ last_event_message?: string;
316
+ artifact_count: number;
317
+ artifact_bytes: number;
318
+ log_bytes: number;
319
+ }
320
+ export interface MswarmGenericJobOpsSummary {
321
+ schema_version: string;
322
+ generated_at: string;
323
+ node: {
324
+ node_id: string;
325
+ listen_host?: string;
326
+ listen_port?: number;
327
+ owner_local: boolean;
328
+ generic_jobs_enabled: boolean;
329
+ artifact_store_configured: boolean;
330
+ max_concurrent_jobs: number;
331
+ };
332
+ capabilities: Record<string, unknown>;
333
+ queue: {
334
+ jobs: MswarmGenericJobOpsJobSummary[];
335
+ totals_by_state: Record<string, number>;
336
+ active_jobs: number;
337
+ queued_jobs: number;
338
+ terminal_jobs: number;
339
+ };
340
+ quota: {
341
+ max_concurrent_jobs: number;
342
+ active_jobs: number;
343
+ queued_jobs: number;
344
+ available_slots: number;
345
+ production_enforced: boolean;
346
+ limits: Record<string, unknown>;
347
+ };
348
+ usage: {
349
+ total_jobs: number;
350
+ active_jobs: number;
351
+ terminal_jobs: number;
352
+ succeeded_jobs: number;
353
+ failed_jobs: number;
354
+ cancelled_jobs: number;
355
+ blocked_jobs: number;
356
+ expired_jobs: number;
357
+ gpu_seconds: number;
358
+ artifact_count: number;
359
+ artifact_bytes: number;
360
+ event_count: number;
361
+ audit_event_count: number;
362
+ stdout_bytes: number;
363
+ stderr_bytes: number;
364
+ log_bytes: number;
365
+ };
366
+ audit: {
367
+ total: number;
368
+ offset: number;
369
+ limit: number;
370
+ events: MswarmGenericJobAuditEvent[];
371
+ };
372
+ }
373
+ export interface MswarmGenericJobTokenInput {
374
+ signingSecret: string;
375
+ nodeId: string;
376
+ jobId: string;
377
+ requestId: string;
378
+ schemaVersion: string;
379
+ jobType: MswarmJobType | string;
380
+ deadlineAt?: string;
381
+ ttlSeconds?: number;
382
+ allowedRunnerIds?: string[];
383
+ capabilityNames?: string[];
384
+ policyId?: string;
385
+ policyVersion?: string;
386
+ capabilityLeaseId?: string;
387
+ capabilitySnapshotId?: string;
388
+ }
389
+ export interface MswarmCapabilityTokenInput {
390
+ signingSecret: string;
391
+ nodeId: string;
392
+ deadlineAt?: string;
393
+ ttlSeconds?: number;
394
+ nonce?: string;
395
+ }
396
+ export type MswarmGenericJobOpsTokenInput = MswarmCapabilityTokenInput;
244
397
  export declare const MSWARM_CONSENT_POLICY_VERSION = "2026-03-18";
245
398
  export declare const MCODA_FREE_CLIENT_TYPE = "free_mcoda_client";
399
+ export declare function signMswarmGenericJobToken(input: MswarmGenericJobTokenInput): string;
400
+ export declare function signMswarmCapabilityToken(input: MswarmCapabilityTokenInput): string;
401
+ export declare function signMswarmGenericJobOpsToken(input: MswarmGenericJobOpsTokenInput): string;
246
402
  export declare class MswarmApi {
247
403
  private readonly repo;
248
404
  private readonly options;
@@ -257,6 +413,21 @@ export declare class MswarmApi {
257
413
  refreshManagedAgentAuth(): Promise<MswarmManagedAuthRefreshSummary>;
258
414
  getRuntimeUsageLimits(): Promise<MswarmRuntimeUsageLimits>;
259
415
  getRuntimeIdentity(): Promise<MswarmRuntimeIdentity>;
416
+ private nodeBaseUrl;
417
+ private genericJobToken;
418
+ private capabilityToken;
419
+ private genericJobOpsToken;
420
+ private referenceFromJob;
421
+ listGpuCapabilities(options?: MswarmCapabilityRequestOptions): Promise<Record<string, unknown>>;
422
+ getGenericJobOps(options?: MswarmGenericJobOpsRequestOptions): Promise<MswarmGenericJobOpsSummary>;
423
+ uploadGenericJobArtifact(input: MswarmGenericJobArtifactUploadInput): Promise<MswarmGenericJobArtifactUploadResult>;
424
+ runGenericJob(job: MswarmGenericNodeJobEnvelope, options?: MswarmNodeAuthOptions): Promise<MswarmGenericJobLifecycleSnapshot>;
425
+ getGenericJob(input: MswarmGenericJobReference): Promise<MswarmGenericJobLifecycleSnapshot>;
426
+ getGenericJobEvents(input: MswarmGenericJobReference): Promise<MswarmGenericJobEventsResult>;
427
+ getGenericJobLogs(input: MswarmGenericJobReference): Promise<MswarmGenericJobLogsResult>;
428
+ getGenericJobArtifacts(input: MswarmGenericJobReference): Promise<MswarmGenericJobArtifactsResult>;
429
+ cancelGenericJob(input: MswarmGenericJobReference): Promise<MswarmGenericJobLifecycleSnapshot>;
430
+ retryGenericJob(input: MswarmGenericJobReference): Promise<MswarmGenericJobLifecycleSnapshot>;
260
431
  private requireApiKey;
261
432
  private requestJson;
262
433
  listCloudAgents(options?: ListMswarmCloudAgentsOptions): Promise<MswarmCloudAgent[]>;
@@ -281,5 +452,4 @@ export declare class MswarmApi {
281
452
  }>;
282
453
  requestDataDeletion(input: RequestMswarmDataDeletionInput): Promise<MswarmDataDeletionResponse>;
283
454
  }
284
- export {};
285
455
  //# sourceMappingURL=MswarmApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MswarmApi.d.ts","sourceRoot":"","sources":["../../src/api/MswarmApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MswarmApi.d.ts","sourceRoot":"","sources":["../../src/api/MswarmApi.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { createHmac, randomUUID } from 'node:crypto';
1
2
  import { GlobalRepository } from '@mcoda/db';
2
3
  import { CryptoHelper, } from '@mcoda/shared';
3
4
  import { MswarmConfigStore } from './MswarmConfigStore.js';
@@ -6,6 +7,8 @@ const DEFAULT_TIMEOUT_MS = 15000;
6
7
  const DEFAULT_AGENT_SLUG_PREFIX = 'mswarm-cloud';
7
8
  const DEFAULT_SELF_HOSTED_AGENT_SLUG_PREFIX = 'mswarm-self-hosted';
8
9
  const DEFAULT_WORKER_AGENT_SLUG_PREFIX = 'mswarm-worker';
10
+ const DEFAULT_LOCAL_NODE_BASE_URL = 'http://127.0.0.1:18488/';
11
+ const DEFAULT_NODE_TOKEN_TTL_SECONDS = 3600;
9
12
  export const MSWARM_CONSENT_POLICY_VERSION = '2026-03-18';
10
13
  export const MCODA_FREE_CLIENT_TYPE = 'free_mcoda_client';
11
14
  const MCODA_PRODUCT_SLUG = 'mcoda';
@@ -64,6 +67,92 @@ const normalizeOptionalNonNegativeNumber = (value, label) => {
64
67
  }
65
68
  return value;
66
69
  };
70
+ const base64UrlEncode = (value) => value
71
+ .toString('base64')
72
+ .replace(/=/g, '')
73
+ .replace(/\+/g, '-')
74
+ .replace(/\//g, '_');
75
+ const signHmacSha256 = (input, secret) => base64UrlEncode(createHmac('sha256', secret).update(input).digest());
76
+ const signJwtLikePayload = (payload, signingSecret) => {
77
+ const header = { alg: 'HS256', typ: 'JWT' };
78
+ const encodedHeader = base64UrlEncode(Buffer.from(JSON.stringify(header), 'utf8'));
79
+ const encodedPayload = base64UrlEncode(Buffer.from(JSON.stringify(payload), 'utf8'));
80
+ const signingInput = `${encodedHeader}.${encodedPayload}`;
81
+ return `${signingInput}.${signHmacSha256(signingInput, signingSecret)}`;
82
+ };
83
+ const normalizeTokenTtlSeconds = (value) => {
84
+ if (value === undefined)
85
+ return DEFAULT_NODE_TOKEN_TTL_SECONDS;
86
+ if (!Number.isFinite(value) || value <= 0) {
87
+ throw new Error('tokenTtlSeconds must be a positive integer');
88
+ }
89
+ return Math.trunc(value);
90
+ };
91
+ const tokenTimeFields = (deadlineAt, ttlSeconds) => {
92
+ const nowSeconds = Math.floor(Date.now() / 1000);
93
+ const ttl = normalizeTokenTtlSeconds(ttlSeconds);
94
+ const exp = nowSeconds + ttl;
95
+ return {
96
+ deadline_at: deadlineAt ?? new Date(exp * 1000).toISOString(),
97
+ iat: nowSeconds,
98
+ exp,
99
+ };
100
+ };
101
+ export function signMswarmGenericJobToken(input) {
102
+ const secret = resolveString(input.signingSecret);
103
+ if (!secret)
104
+ throw new Error('signingSecret is required');
105
+ const payload = {
106
+ node_id: requireText(input.nodeId, 'nodeId'),
107
+ job_id: requireText(input.jobId, 'jobId'),
108
+ request_id: requireText(input.requestId, 'requestId'),
109
+ schema_version: requireText(input.schemaVersion, 'schemaVersion'),
110
+ job_type: requireText(input.jobType, 'jobType'),
111
+ scope: 'self_hosted.generic_job.invoke',
112
+ allowed_runner_ids: input.allowedRunnerIds?.length
113
+ ? input.allowedRunnerIds
114
+ : undefined,
115
+ capability_names: input.capabilityNames?.length
116
+ ? input.capabilityNames
117
+ : undefined,
118
+ policy_id: input.policyId,
119
+ policy_version: input.policyVersion,
120
+ capability_lease_id: input.capabilityLeaseId,
121
+ capability_snapshot_id: input.capabilitySnapshotId,
122
+ ...tokenTimeFields(input.deadlineAt, input.ttlSeconds),
123
+ };
124
+ return signJwtLikePayload(payload, secret);
125
+ }
126
+ export function signMswarmCapabilityToken(input) {
127
+ const secret = resolveString(input.signingSecret);
128
+ if (!secret)
129
+ throw new Error('signingSecret is required');
130
+ const payload = {
131
+ node_id: requireText(input.nodeId, 'nodeId'),
132
+ scope: 'self_hosted.capabilities.read',
133
+ nonce: input.nonce ?? randomUUID(),
134
+ ...tokenTimeFields(input.deadlineAt, input.ttlSeconds),
135
+ };
136
+ return signJwtLikePayload(payload, secret);
137
+ }
138
+ export function signMswarmGenericJobOpsToken(input) {
139
+ const secret = resolveString(input.signingSecret);
140
+ if (!secret)
141
+ throw new Error('signingSecret is required');
142
+ const payload = {
143
+ node_id: requireText(input.nodeId, 'nodeId'),
144
+ scope: 'self_hosted.generic_job.ops.read',
145
+ nonce: input.nonce ?? randomUUID(),
146
+ ...tokenTimeFields(input.deadlineAt, input.ttlSeconds),
147
+ };
148
+ return signJwtLikePayload(payload, secret);
149
+ }
150
+ function requireText(value, label) {
151
+ if (typeof value !== 'string' || value.trim().length === 0) {
152
+ throw new Error(`${label} is required`);
153
+ }
154
+ return value.trim();
155
+ }
67
156
  const resolveOptions = async (options = {}) => {
68
157
  const envTimeoutRaw = process.env.MCODA_MSWARM_TIMEOUT_MS;
69
158
  const envTimeout = envTimeoutRaw
@@ -587,6 +676,177 @@ export class MswarmApi {
587
676
  usageLimits,
588
677
  };
589
678
  }
679
+ nodeBaseUrl(input) {
680
+ return normalizeBaseUrl(input?.nodeBaseUrl ??
681
+ process.env.MCODA_MSWARM_NODE_BASE_URL ??
682
+ DEFAULT_LOCAL_NODE_BASE_URL, 'MCODA_MSWARM_NODE_BASE_URL');
683
+ }
684
+ genericJobToken(input) {
685
+ const token = resolveString(input.token ?? process.env.MCODA_MSWARM_NODE_TOKEN);
686
+ if (token)
687
+ return token;
688
+ const signingSecret = resolveString(input.signingSecret ??
689
+ process.env.MCODA_MSWARM_NODE_SIGNING_SECRET ??
690
+ process.env.MSWARM_SELF_HOSTED_INVOCATION_SIGNING_SECRET);
691
+ if (!signingSecret) {
692
+ throw new Error('A generic job token or owner-local signing secret is required');
693
+ }
694
+ return signMswarmGenericJobToken({
695
+ signingSecret,
696
+ nodeId: requireText(input.nodeId, 'nodeId'),
697
+ jobId: input.jobId,
698
+ requestId: requireText(input.requestId, 'requestId'),
699
+ schemaVersion: requireText(input.schemaVersion, 'schemaVersion'),
700
+ jobType: requireText(input.jobType, 'jobType'),
701
+ ttlSeconds: input.tokenTtlSeconds,
702
+ });
703
+ }
704
+ capabilityToken(input = {}) {
705
+ const token = resolveString(input.token ?? process.env.MCODA_MSWARM_NODE_TOKEN);
706
+ if (token)
707
+ return token;
708
+ const signingSecret = resolveString(input.signingSecret ??
709
+ process.env.MCODA_MSWARM_NODE_SIGNING_SECRET ??
710
+ process.env.MSWARM_SELF_HOSTED_INVOCATION_SIGNING_SECRET);
711
+ if (!signingSecret) {
712
+ throw new Error('A capability token or owner-local signing secret is required');
713
+ }
714
+ const nodeId = requireText(input.nodeId ??
715
+ process.env.MCODA_MSWARM_NODE_ID ??
716
+ process.env.MSWARM_SELF_HOSTED_NODE_ID, 'nodeId');
717
+ return signMswarmCapabilityToken({
718
+ signingSecret,
719
+ nodeId,
720
+ ttlSeconds: input.tokenTtlSeconds,
721
+ });
722
+ }
723
+ genericJobOpsToken(input = {}) {
724
+ const token = resolveString(input.token ?? process.env.MCODA_MSWARM_NODE_OPS_TOKEN);
725
+ if (token)
726
+ return token;
727
+ const signingSecret = resolveString(input.signingSecret ??
728
+ process.env.MCODA_MSWARM_NODE_SIGNING_SECRET ??
729
+ process.env.MSWARM_SELF_HOSTED_INVOCATION_SIGNING_SECRET);
730
+ if (!signingSecret) {
731
+ throw new Error('A generic job ops token or owner-local signing secret is required');
732
+ }
733
+ const nodeId = requireText(input.nodeId ??
734
+ process.env.MCODA_MSWARM_NODE_ID ??
735
+ process.env.MSWARM_SELF_HOSTED_NODE_ID, 'nodeId');
736
+ return signMswarmGenericJobOpsToken({
737
+ signingSecret,
738
+ nodeId,
739
+ ttlSeconds: input.tokenTtlSeconds,
740
+ });
741
+ }
742
+ referenceFromJob(job, options = {}) {
743
+ return {
744
+ ...options,
745
+ jobId: job.job_id,
746
+ nodeId: job.node_id,
747
+ requestId: job.request_id,
748
+ schemaVersion: job.job.schema_version,
749
+ jobType: job.job.job_type,
750
+ };
751
+ }
752
+ async listGpuCapabilities(options = {}) {
753
+ return this.requestJson('/v1/swarm/self-hosted/node/capabilities', undefined, {
754
+ baseUrl: this.nodeBaseUrl(options),
755
+ headers: {
756
+ authorization: `Bearer ${this.capabilityToken(options)}`,
757
+ },
758
+ });
759
+ }
760
+ async getGenericJobOps(options = {}) {
761
+ return this.requestJson('/v1/swarm/self-hosted/node/generic-job-control/ops', {
762
+ audit_limit: options.auditLimit,
763
+ audit_offset: options.auditOffset,
764
+ }, {
765
+ baseUrl: this.nodeBaseUrl(options),
766
+ headers: {
767
+ authorization: `Bearer ${this.genericJobOpsToken(options)}`,
768
+ },
769
+ });
770
+ }
771
+ async uploadGenericJobArtifact(input) {
772
+ const token = this.genericJobToken(input);
773
+ return this.requestJson(`/v1/swarm/self-hosted/node/generic-job-control/jobs/${encodeURIComponent(input.jobId)}/artifacts`, undefined, {
774
+ method: 'POST',
775
+ baseUrl: this.nodeBaseUrl(input),
776
+ headers: {
777
+ authorization: `Bearer ${token}`,
778
+ },
779
+ body: {
780
+ name: input.name,
781
+ path: input.path,
782
+ content_base64: input.contentBase64,
783
+ content_type: input.contentType,
784
+ sha256: input.sha256,
785
+ size_bytes: input.sizeBytes,
786
+ },
787
+ });
788
+ }
789
+ async runGenericJob(job, options = {}) {
790
+ const reference = this.referenceFromJob(job, options);
791
+ return this.requestJson('/v1/swarm/self-hosted/node/generic-job-control/jobs', undefined, {
792
+ method: 'POST',
793
+ baseUrl: this.nodeBaseUrl(options),
794
+ headers: {
795
+ authorization: `Bearer ${this.genericJobToken(reference)}`,
796
+ },
797
+ body: job,
798
+ });
799
+ }
800
+ async getGenericJob(input) {
801
+ return this.requestJson(`/v1/swarm/self-hosted/node/generic-job-control/jobs/${encodeURIComponent(input.jobId)}`, undefined, {
802
+ baseUrl: this.nodeBaseUrl(input),
803
+ headers: {
804
+ authorization: `Bearer ${this.genericJobToken(input)}`,
805
+ },
806
+ });
807
+ }
808
+ async getGenericJobEvents(input) {
809
+ return this.requestJson(`/v1/swarm/self-hosted/node/generic-job-control/jobs/${encodeURIComponent(input.jobId)}/events`, undefined, {
810
+ baseUrl: this.nodeBaseUrl(input),
811
+ headers: {
812
+ authorization: `Bearer ${this.genericJobToken(input)}`,
813
+ },
814
+ });
815
+ }
816
+ async getGenericJobLogs(input) {
817
+ return this.requestJson(`/v1/swarm/self-hosted/node/generic-job-control/jobs/${encodeURIComponent(input.jobId)}/logs`, undefined, {
818
+ baseUrl: this.nodeBaseUrl(input),
819
+ headers: {
820
+ authorization: `Bearer ${this.genericJobToken(input)}`,
821
+ },
822
+ });
823
+ }
824
+ async getGenericJobArtifacts(input) {
825
+ return this.requestJson(`/v1/swarm/self-hosted/node/generic-job-control/jobs/${encodeURIComponent(input.jobId)}/artifacts`, undefined, {
826
+ baseUrl: this.nodeBaseUrl(input),
827
+ headers: {
828
+ authorization: `Bearer ${this.genericJobToken(input)}`,
829
+ },
830
+ });
831
+ }
832
+ async cancelGenericJob(input) {
833
+ return this.requestJson(`/v1/swarm/self-hosted/node/generic-job-control/jobs/${encodeURIComponent(input.jobId)}/cancel`, undefined, {
834
+ method: 'POST',
835
+ baseUrl: this.nodeBaseUrl(input),
836
+ headers: {
837
+ authorization: `Bearer ${this.genericJobToken(input)}`,
838
+ },
839
+ });
840
+ }
841
+ async retryGenericJob(input) {
842
+ return this.requestJson(`/v1/swarm/self-hosted/node/generic-job-control/jobs/${encodeURIComponent(input.jobId)}/retry`, undefined, {
843
+ method: 'POST',
844
+ baseUrl: this.nodeBaseUrl(input),
845
+ headers: {
846
+ authorization: `Bearer ${this.genericJobToken(input)}`,
847
+ },
848
+ });
849
+ }
590
850
  requireApiKey() {
591
851
  if (!this.options.apiKey) {
592
852
  throw new Error('MCODA_MSWARM_API_KEY is required');
@@ -594,7 +854,7 @@ export class MswarmApi {
594
854
  return this.options.apiKey;
595
855
  }
596
856
  async requestJson(pathname, query, init) {
597
- const url = new URL(pathname, this.options.baseUrl);
857
+ const url = new URL(pathname, init?.baseUrl ?? this.options.baseUrl);
598
858
  if (query) {
599
859
  for (const [key, value] of Object.entries(query)) {
600
860
  if (value === undefined)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcoda/core",
3
- "version": "0.1.75",
3
+ "version": "0.1.78",
4
4
  "description": "Core services and APIs for the mcoda CLI.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -32,11 +32,11 @@
32
32
  "dependencies": {
33
33
  "@apidevtools/swagger-parser": "^10.1.0",
34
34
  "yaml": "^2.4.2",
35
- "@mcoda/shared": "0.1.75",
36
- "@mcoda/db": "0.1.75",
37
- "@mcoda/agents": "0.1.75",
38
- "@mcoda/generators": "0.1.75",
39
- "@mcoda/integrations": "0.1.75"
35
+ "@mcoda/shared": "0.1.78",
36
+ "@mcoda/db": "0.1.78",
37
+ "@mcoda/integrations": "0.1.78",
38
+ "@mcoda/agents": "0.1.78",
39
+ "@mcoda/generators": "0.1.78"
40
40
  },
41
41
  "scripts": {
42
42
  "build": "tsc -p tsconfig.json",