@mcoda/core 0.1.76 → 0.1.79
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 +5 -0
- package/README.md +2 -1
- package/dist/api/MswarmApi.d.ts +193 -2
- package/dist/api/MswarmApi.d.ts.map +1 -1
- package/dist/api/MswarmApi.js +343 -7
- package/package.json +6 -6
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
|
package/dist/api/MswarmApi.d.ts
CHANGED
|
@@ -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;
|
|
@@ -32,6 +34,16 @@ export interface MswarmSelfHostedAgent extends MswarmCloudAgent {
|
|
|
32
34
|
adapter?: string;
|
|
33
35
|
source_agent_id?: string;
|
|
34
36
|
source_agent_slug?: string;
|
|
37
|
+
load_balanced?: boolean;
|
|
38
|
+
load_balanced_group_id?: string;
|
|
39
|
+
selector_fingerprint?: string;
|
|
40
|
+
member_count?: number;
|
|
41
|
+
candidate_node_ids?: string[];
|
|
42
|
+
canonical_agent_slug?: string;
|
|
43
|
+
canonical_model_id?: string;
|
|
44
|
+
execution_class?: string;
|
|
45
|
+
policy_class?: string;
|
|
46
|
+
context_tier?: string;
|
|
35
47
|
}
|
|
36
48
|
export interface MswarmWorkerAgent extends MswarmCloudAgent {
|
|
37
49
|
id?: string;
|
|
@@ -73,6 +85,10 @@ export interface ListMswarmCloudAgentsOptions {
|
|
|
73
85
|
}
|
|
74
86
|
export interface ListMswarmSelfHostedAgentsOptions extends ListMswarmCloudAgentsOptions {
|
|
75
87
|
includeUnreachable?: boolean;
|
|
88
|
+
includeLoadBalanced?: boolean;
|
|
89
|
+
}
|
|
90
|
+
export interface GetMswarmSelfHostedAgentOptions {
|
|
91
|
+
includeLoadBalanced?: boolean;
|
|
76
92
|
}
|
|
77
93
|
export interface ListMswarmWorkerAgentsOptions extends ListMswarmCloudAgentsOptions {
|
|
78
94
|
includeDisabled?: boolean;
|
|
@@ -160,6 +176,11 @@ export interface ManagedMswarmSelfHostedConfig {
|
|
|
160
176
|
remoteSlug: string;
|
|
161
177
|
agentSlug: string;
|
|
162
178
|
provider: string;
|
|
179
|
+
routingMode?: 'direct' | 'auto';
|
|
180
|
+
loadBalanced?: boolean;
|
|
181
|
+
loadBalancedGroupId?: string;
|
|
182
|
+
selectorFingerprint?: string;
|
|
183
|
+
memberCount?: number;
|
|
163
184
|
adapter?: string;
|
|
164
185
|
sourceAgentSlug?: string;
|
|
165
186
|
nodeId?: string;
|
|
@@ -204,6 +225,8 @@ export interface MswarmSyncRecord {
|
|
|
204
225
|
provider: string;
|
|
205
226
|
defaultModel: string;
|
|
206
227
|
pricingVersion?: string;
|
|
228
|
+
routingMode?: 'direct' | 'auto';
|
|
229
|
+
loadBalanced?: boolean;
|
|
207
230
|
}
|
|
208
231
|
export interface MswarmSyncSummary {
|
|
209
232
|
created: number;
|
|
@@ -241,8 +264,162 @@ export interface MswarmRuntimeIdentity {
|
|
|
241
264
|
asOf: string | null;
|
|
242
265
|
usageLimits: MswarmRuntimeUsageLimits;
|
|
243
266
|
}
|
|
267
|
+
export interface MswarmGenericNodeJobEnvelope {
|
|
268
|
+
job_id: string;
|
|
269
|
+
request_id: string;
|
|
270
|
+
node_id: string;
|
|
271
|
+
job: MswarmJobRequest;
|
|
272
|
+
}
|
|
273
|
+
export interface MswarmNodeAuthOptions {
|
|
274
|
+
nodeBaseUrl?: string;
|
|
275
|
+
token?: string;
|
|
276
|
+
signingSecret?: string;
|
|
277
|
+
tokenTtlSeconds?: number;
|
|
278
|
+
}
|
|
279
|
+
export interface MswarmCapabilityRequestOptions extends MswarmNodeAuthOptions {
|
|
280
|
+
nodeId?: string;
|
|
281
|
+
}
|
|
282
|
+
export interface MswarmGenericJobOpsRequestOptions extends MswarmNodeAuthOptions {
|
|
283
|
+
nodeId?: string;
|
|
284
|
+
auditLimit?: number;
|
|
285
|
+
auditOffset?: number;
|
|
286
|
+
}
|
|
287
|
+
export interface MswarmGenericJobReference extends MswarmNodeAuthOptions {
|
|
288
|
+
jobId: string;
|
|
289
|
+
nodeId?: string;
|
|
290
|
+
requestId?: string;
|
|
291
|
+
schemaVersion?: string;
|
|
292
|
+
jobType?: MswarmJobType | string;
|
|
293
|
+
}
|
|
294
|
+
export interface MswarmGenericJobArtifactUploadInput extends MswarmGenericJobReference {
|
|
295
|
+
name?: string;
|
|
296
|
+
path: string;
|
|
297
|
+
contentBase64: string;
|
|
298
|
+
contentType?: string;
|
|
299
|
+
sha256?: string;
|
|
300
|
+
sizeBytes?: number;
|
|
301
|
+
}
|
|
302
|
+
export interface MswarmGenericJobArtifactUploadResult {
|
|
303
|
+
job_id: string;
|
|
304
|
+
artifact: MswarmArtifactRef;
|
|
305
|
+
}
|
|
306
|
+
export interface MswarmGenericJobEventsResult {
|
|
307
|
+
job_id: string;
|
|
308
|
+
events: MswarmJobEvent[];
|
|
309
|
+
}
|
|
310
|
+
export interface MswarmGenericJobLogsResult {
|
|
311
|
+
job_id: string;
|
|
312
|
+
logs: MswarmGenericJobLogRecord[];
|
|
313
|
+
}
|
|
314
|
+
export interface MswarmGenericJobArtifactsResult {
|
|
315
|
+
job_id: string;
|
|
316
|
+
artifacts: MswarmArtifactRef[];
|
|
317
|
+
}
|
|
318
|
+
export interface MswarmGenericJobOpsJobSummary {
|
|
319
|
+
job_id: string;
|
|
320
|
+
request_id: string;
|
|
321
|
+
tenant_id: string;
|
|
322
|
+
node_id?: string;
|
|
323
|
+
state: string;
|
|
324
|
+
job_type: string;
|
|
325
|
+
schema_version: string;
|
|
326
|
+
created_at: string;
|
|
327
|
+
updated_at: string;
|
|
328
|
+
queued_at?: string;
|
|
329
|
+
scheduled_at?: string;
|
|
330
|
+
started_at?: string;
|
|
331
|
+
finished_at?: string;
|
|
332
|
+
retry_count: number;
|
|
333
|
+
max_retries: number;
|
|
334
|
+
progress_percent?: number;
|
|
335
|
+
last_event_type?: string;
|
|
336
|
+
last_event_message?: string;
|
|
337
|
+
artifact_count: number;
|
|
338
|
+
artifact_bytes: number;
|
|
339
|
+
log_bytes: number;
|
|
340
|
+
}
|
|
341
|
+
export interface MswarmGenericJobOpsSummary {
|
|
342
|
+
schema_version: string;
|
|
343
|
+
generated_at: string;
|
|
344
|
+
node: {
|
|
345
|
+
node_id: string;
|
|
346
|
+
listen_host?: string;
|
|
347
|
+
listen_port?: number;
|
|
348
|
+
owner_local: boolean;
|
|
349
|
+
generic_jobs_enabled: boolean;
|
|
350
|
+
artifact_store_configured: boolean;
|
|
351
|
+
max_concurrent_jobs: number;
|
|
352
|
+
};
|
|
353
|
+
capabilities: Record<string, unknown>;
|
|
354
|
+
queue: {
|
|
355
|
+
jobs: MswarmGenericJobOpsJobSummary[];
|
|
356
|
+
totals_by_state: Record<string, number>;
|
|
357
|
+
active_jobs: number;
|
|
358
|
+
queued_jobs: number;
|
|
359
|
+
terminal_jobs: number;
|
|
360
|
+
};
|
|
361
|
+
quota: {
|
|
362
|
+
max_concurrent_jobs: number;
|
|
363
|
+
active_jobs: number;
|
|
364
|
+
queued_jobs: number;
|
|
365
|
+
available_slots: number;
|
|
366
|
+
production_enforced: boolean;
|
|
367
|
+
limits: Record<string, unknown>;
|
|
368
|
+
};
|
|
369
|
+
usage: {
|
|
370
|
+
total_jobs: number;
|
|
371
|
+
active_jobs: number;
|
|
372
|
+
terminal_jobs: number;
|
|
373
|
+
succeeded_jobs: number;
|
|
374
|
+
failed_jobs: number;
|
|
375
|
+
cancelled_jobs: number;
|
|
376
|
+
blocked_jobs: number;
|
|
377
|
+
expired_jobs: number;
|
|
378
|
+
gpu_seconds: number;
|
|
379
|
+
artifact_count: number;
|
|
380
|
+
artifact_bytes: number;
|
|
381
|
+
event_count: number;
|
|
382
|
+
audit_event_count: number;
|
|
383
|
+
stdout_bytes: number;
|
|
384
|
+
stderr_bytes: number;
|
|
385
|
+
log_bytes: number;
|
|
386
|
+
};
|
|
387
|
+
audit: {
|
|
388
|
+
total: number;
|
|
389
|
+
offset: number;
|
|
390
|
+
limit: number;
|
|
391
|
+
events: MswarmGenericJobAuditEvent[];
|
|
392
|
+
};
|
|
393
|
+
}
|
|
394
|
+
export interface MswarmGenericJobTokenInput {
|
|
395
|
+
signingSecret: string;
|
|
396
|
+
nodeId: string;
|
|
397
|
+
jobId: string;
|
|
398
|
+
requestId: string;
|
|
399
|
+
schemaVersion: string;
|
|
400
|
+
jobType: MswarmJobType | string;
|
|
401
|
+
deadlineAt?: string;
|
|
402
|
+
ttlSeconds?: number;
|
|
403
|
+
allowedRunnerIds?: string[];
|
|
404
|
+
capabilityNames?: string[];
|
|
405
|
+
policyId?: string;
|
|
406
|
+
policyVersion?: string;
|
|
407
|
+
capabilityLeaseId?: string;
|
|
408
|
+
capabilitySnapshotId?: string;
|
|
409
|
+
}
|
|
410
|
+
export interface MswarmCapabilityTokenInput {
|
|
411
|
+
signingSecret: string;
|
|
412
|
+
nodeId: string;
|
|
413
|
+
deadlineAt?: string;
|
|
414
|
+
ttlSeconds?: number;
|
|
415
|
+
nonce?: string;
|
|
416
|
+
}
|
|
417
|
+
export type MswarmGenericJobOpsTokenInput = MswarmCapabilityTokenInput;
|
|
244
418
|
export declare const MSWARM_CONSENT_POLICY_VERSION = "2026-03-18";
|
|
245
419
|
export declare const MCODA_FREE_CLIENT_TYPE = "free_mcoda_client";
|
|
420
|
+
export declare function signMswarmGenericJobToken(input: MswarmGenericJobTokenInput): string;
|
|
421
|
+
export declare function signMswarmCapabilityToken(input: MswarmCapabilityTokenInput): string;
|
|
422
|
+
export declare function signMswarmGenericJobOpsToken(input: MswarmGenericJobOpsTokenInput): string;
|
|
246
423
|
export declare class MswarmApi {
|
|
247
424
|
private readonly repo;
|
|
248
425
|
private readonly options;
|
|
@@ -257,12 +434,27 @@ export declare class MswarmApi {
|
|
|
257
434
|
refreshManagedAgentAuth(): Promise<MswarmManagedAuthRefreshSummary>;
|
|
258
435
|
getRuntimeUsageLimits(): Promise<MswarmRuntimeUsageLimits>;
|
|
259
436
|
getRuntimeIdentity(): Promise<MswarmRuntimeIdentity>;
|
|
437
|
+
private nodeBaseUrl;
|
|
438
|
+
private genericJobToken;
|
|
439
|
+
private capabilityToken;
|
|
440
|
+
private genericJobOpsToken;
|
|
441
|
+
private referenceFromJob;
|
|
442
|
+
listGpuCapabilities(options?: MswarmCapabilityRequestOptions): Promise<Record<string, unknown>>;
|
|
443
|
+
getGenericJobOps(options?: MswarmGenericJobOpsRequestOptions): Promise<MswarmGenericJobOpsSummary>;
|
|
444
|
+
uploadGenericJobArtifact(input: MswarmGenericJobArtifactUploadInput): Promise<MswarmGenericJobArtifactUploadResult>;
|
|
445
|
+
runGenericJob(job: MswarmGenericNodeJobEnvelope, options?: MswarmNodeAuthOptions): Promise<MswarmGenericJobLifecycleSnapshot>;
|
|
446
|
+
getGenericJob(input: MswarmGenericJobReference): Promise<MswarmGenericJobLifecycleSnapshot>;
|
|
447
|
+
getGenericJobEvents(input: MswarmGenericJobReference): Promise<MswarmGenericJobEventsResult>;
|
|
448
|
+
getGenericJobLogs(input: MswarmGenericJobReference): Promise<MswarmGenericJobLogsResult>;
|
|
449
|
+
getGenericJobArtifacts(input: MswarmGenericJobReference): Promise<MswarmGenericJobArtifactsResult>;
|
|
450
|
+
cancelGenericJob(input: MswarmGenericJobReference): Promise<MswarmGenericJobLifecycleSnapshot>;
|
|
451
|
+
retryGenericJob(input: MswarmGenericJobReference): Promise<MswarmGenericJobLifecycleSnapshot>;
|
|
260
452
|
private requireApiKey;
|
|
261
453
|
private requestJson;
|
|
262
454
|
listCloudAgents(options?: ListMswarmCloudAgentsOptions): Promise<MswarmCloudAgent[]>;
|
|
263
455
|
getCloudAgent(slug: string): Promise<MswarmCloudAgentDetail>;
|
|
264
456
|
listSelfHostedAgents(options?: ListMswarmSelfHostedAgentsOptions): Promise<MswarmSelfHostedAgent[]>;
|
|
265
|
-
getSelfHostedAgent(slug: string): Promise<MswarmSelfHostedAgentDetail>;
|
|
457
|
+
getSelfHostedAgent(slug: string, options?: GetMswarmSelfHostedAgentOptions): Promise<MswarmSelfHostedAgentDetail>;
|
|
266
458
|
private listWorkerAgentPage;
|
|
267
459
|
listAllWorkers(options?: ListMswarmWorkerAgentsOptions): Promise<MswarmWorkerAgent[]>;
|
|
268
460
|
listWorkers(options?: ListMswarmWorkerAgentsOptions): Promise<MswarmWorkerCatalogPage>;
|
|
@@ -281,5 +473,4 @@ export declare class MswarmApi {
|
|
|
281
473
|
}>;
|
|
282
474
|
requestDataDeletion(input: RequestMswarmDataDeletionInput): Promise<MswarmDataDeletionResponse>;
|
|
283
475
|
}
|
|
284
|
-
export {};
|
|
285
476
|
//# 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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"}
|
package/dist/api/MswarmApi.js
CHANGED
|
@@ -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
|
|
@@ -226,6 +315,47 @@ const toManagedWorkerLocalSlug = (prefix, agent) => {
|
|
|
226
315
|
const base = agent.slug.startsWith('worker_') ? agent.slug.slice('worker_'.length) : agent.slug;
|
|
227
316
|
return toManagedLocalSlug(prefix, base);
|
|
228
317
|
};
|
|
318
|
+
const isLoadBalancedSelfHostedAgent = (agent) => {
|
|
319
|
+
const sync = isRecord(agent.sync) ? agent.sync : {};
|
|
320
|
+
return (agent.load_balanced === true ||
|
|
321
|
+
resolveBoolean(sync.load_balanced) === true ||
|
|
322
|
+
resolveString(sync.group_id) !== undefined ||
|
|
323
|
+
resolveString(agent.load_balanced_group_id) !== undefined);
|
|
324
|
+
};
|
|
325
|
+
const selfHostedRoutingMode = (agent) => isLoadBalancedSelfHostedAgent(agent) ? 'auto' : 'direct';
|
|
326
|
+
const toManagedSelfHostedLocalSlug = (prefix, agent) => {
|
|
327
|
+
const routePrefix = selfHostedRoutingMode(agent) === 'auto' ? `${prefix}-auto` : prefix;
|
|
328
|
+
return toManagedLocalSlug(routePrefix, agent.remote_slug ?? agent.slug);
|
|
329
|
+
};
|
|
330
|
+
const selfHostedLoadBalancedGroupId = (agent) => {
|
|
331
|
+
const sync = isRecord(agent.sync) ? agent.sync : {};
|
|
332
|
+
return (agent.load_balanced_group_id ??
|
|
333
|
+
resolveString(sync.group_id) ??
|
|
334
|
+
(isLoadBalancedSelfHostedAgent(agent) ? resolveString(sync.node_id) : undefined));
|
|
335
|
+
};
|
|
336
|
+
const sanitizeLoadBalancedSelfHostedSync = (agent) => {
|
|
337
|
+
const sync = isRecord(agent.sync) ? agent.sync : {};
|
|
338
|
+
const sanitized = {
|
|
339
|
+
source: resolveString(sync.source) ?? 'self_hosted',
|
|
340
|
+
remote_slug: agent.remote_slug ?? agent.slug,
|
|
341
|
+
relay_mode: resolveString(sync.relay_mode) ?? 'outbound',
|
|
342
|
+
load_balanced: true,
|
|
343
|
+
};
|
|
344
|
+
const groupId = selfHostedLoadBalancedGroupId(agent);
|
|
345
|
+
const memberCount = agent.member_count ?? resolveNumber(sync.member_count);
|
|
346
|
+
const selectorFingerprint = agent.selector_fingerprint ?? resolveString(sync.selector_fingerprint);
|
|
347
|
+
if (groupId)
|
|
348
|
+
sanitized.group_id = groupId;
|
|
349
|
+
if (memberCount !== undefined)
|
|
350
|
+
sanitized.member_count = memberCount;
|
|
351
|
+
if (selectorFingerprint)
|
|
352
|
+
sanitized.selector_fingerprint = selectorFingerprint;
|
|
353
|
+
return Object.keys(sanitized).length > 0 ? sanitized : undefined;
|
|
354
|
+
};
|
|
355
|
+
const selfHostedConfigRoutingMode = (config) => config.mswarmSelfHosted.routingMode === 'auto' ||
|
|
356
|
+
config.mswarmSelfHosted.loadBalanced === true
|
|
357
|
+
? 'auto'
|
|
358
|
+
: 'direct';
|
|
229
359
|
const toHealthStatus = (value) => {
|
|
230
360
|
const normalized = value?.trim().toLowerCase();
|
|
231
361
|
if (!normalized)
|
|
@@ -308,6 +438,13 @@ const toManagedConfig = (existingConfig, catalogBaseUrl, openAiBaseUrl, agent, s
|
|
|
308
438
|
};
|
|
309
439
|
const toManagedSelfHostedConfig = (existingConfig, catalogBaseUrl, openAiBaseUrl, agent, syncedAt) => {
|
|
310
440
|
const sync = isRecord(agent.sync) ? agent.sync : {};
|
|
441
|
+
const routingMode = selfHostedRoutingMode(agent);
|
|
442
|
+
const loadBalanced = routingMode === 'auto';
|
|
443
|
+
const sanitizedSync = loadBalanced
|
|
444
|
+
? sanitizeLoadBalancedSelfHostedSync(agent)
|
|
445
|
+
: Object.keys(sync).length > 0
|
|
446
|
+
? sync
|
|
447
|
+
: undefined;
|
|
311
448
|
const nextConfig = {
|
|
312
449
|
...(existingConfig ?? {}),
|
|
313
450
|
baseUrl: openAiBaseUrl,
|
|
@@ -317,17 +454,22 @@ const toManagedSelfHostedConfig = (existingConfig, catalogBaseUrl, openAiBaseUrl
|
|
|
317
454
|
remoteSlug: agent.remote_slug ?? agent.slug,
|
|
318
455
|
agentSlug: agent.agent_slug ?? agent.slug,
|
|
319
456
|
provider: agent.provider,
|
|
457
|
+
routingMode,
|
|
458
|
+
loadBalanced,
|
|
459
|
+
loadBalancedGroupId: selfHostedLoadBalancedGroupId(agent),
|
|
460
|
+
selectorFingerprint: agent.selector_fingerprint,
|
|
461
|
+
memberCount: agent.member_count,
|
|
320
462
|
adapter: agent.adapter,
|
|
321
463
|
sourceAgentSlug: agent.source_agent_slug,
|
|
322
|
-
nodeId: resolveString(sync.node_id),
|
|
323
|
-
serverName: resolveString(sync.server_name),
|
|
464
|
+
nodeId: loadBalanced ? undefined : resolveString(sync.node_id),
|
|
465
|
+
serverName: loadBalanced ? undefined : resolveString(sync.server_name),
|
|
324
466
|
modelId: agent.model_id,
|
|
325
467
|
displayName: agent.display_name,
|
|
326
468
|
description: agent.description,
|
|
327
469
|
supportsReasoning: agent.supports_reasoning,
|
|
328
470
|
catalogBaseUrl,
|
|
329
471
|
openAiBaseUrl,
|
|
330
|
-
sync:
|
|
472
|
+
sync: sanitizedSync,
|
|
331
473
|
syncedAt,
|
|
332
474
|
},
|
|
333
475
|
};
|
|
@@ -373,6 +515,8 @@ const toManagedSelfHostedSyncRecord = (config, localSlug, defaultModel, action)
|
|
|
373
515
|
action,
|
|
374
516
|
provider: config.mswarmSelfHosted.provider,
|
|
375
517
|
defaultModel,
|
|
518
|
+
routingMode: selfHostedConfigRoutingMode(config),
|
|
519
|
+
loadBalanced: selfHostedConfigRoutingMode(config) === 'auto',
|
|
376
520
|
});
|
|
377
521
|
const toManagedWorkerSyncRecord = (config, localSlug, defaultModel, action) => ({
|
|
378
522
|
remoteSlug: config.mswarmWorker.remoteSlug,
|
|
@@ -442,6 +586,19 @@ const toSelfHostedAgent = (value) => {
|
|
|
442
586
|
adapter: resolveString(record.adapter),
|
|
443
587
|
source_agent_id: resolveString(record.source_agent_id),
|
|
444
588
|
source_agent_slug: resolveString(record.source_agent_slug),
|
|
589
|
+
load_balanced: resolveFromRecordOrShape(record, ['load_balanced', 'loadBalanced'], resolveBoolean),
|
|
590
|
+
load_balanced_group_id: resolveFromRecordOrShape(record, ['load_balanced_group_id', 'loadBalancedGroupId'], resolveString),
|
|
591
|
+
selector_fingerprint: resolveFromRecordOrShape(record, ['selector_fingerprint', 'selectorFingerprint'], resolveString),
|
|
592
|
+
member_count: resolveFromRecordOrShape(record, ['member_count', 'memberCount'], resolveNumber),
|
|
593
|
+
candidate_node_ids: resolveStringArrayFromRecordOrShape(record, [
|
|
594
|
+
'candidate_node_ids',
|
|
595
|
+
'candidateNodeIds',
|
|
596
|
+
]),
|
|
597
|
+
canonical_agent_slug: resolveFromRecordOrShape(record, ['canonical_agent_slug', 'canonicalAgentSlug'], resolveString),
|
|
598
|
+
canonical_model_id: resolveFromRecordOrShape(record, ['canonical_model_id', 'canonicalModelId'], resolveString),
|
|
599
|
+
execution_class: resolveFromRecordOrShape(record, ['execution_class', 'executionClass'], resolveString),
|
|
600
|
+
policy_class: resolveFromRecordOrShape(record, ['policy_class', 'policyClass'], resolveString),
|
|
601
|
+
context_tier: resolveFromRecordOrShape(record, ['context_tier', 'contextTier'], resolveString),
|
|
445
602
|
};
|
|
446
603
|
};
|
|
447
604
|
const toSelfHostedAgentDetail = (value) => {
|
|
@@ -587,6 +744,177 @@ export class MswarmApi {
|
|
|
587
744
|
usageLimits,
|
|
588
745
|
};
|
|
589
746
|
}
|
|
747
|
+
nodeBaseUrl(input) {
|
|
748
|
+
return normalizeBaseUrl(input?.nodeBaseUrl ??
|
|
749
|
+
process.env.MCODA_MSWARM_NODE_BASE_URL ??
|
|
750
|
+
DEFAULT_LOCAL_NODE_BASE_URL, 'MCODA_MSWARM_NODE_BASE_URL');
|
|
751
|
+
}
|
|
752
|
+
genericJobToken(input) {
|
|
753
|
+
const token = resolveString(input.token ?? process.env.MCODA_MSWARM_NODE_TOKEN);
|
|
754
|
+
if (token)
|
|
755
|
+
return token;
|
|
756
|
+
const signingSecret = resolveString(input.signingSecret ??
|
|
757
|
+
process.env.MCODA_MSWARM_NODE_SIGNING_SECRET ??
|
|
758
|
+
process.env.MSWARM_SELF_HOSTED_INVOCATION_SIGNING_SECRET);
|
|
759
|
+
if (!signingSecret) {
|
|
760
|
+
throw new Error('A generic job token or owner-local signing secret is required');
|
|
761
|
+
}
|
|
762
|
+
return signMswarmGenericJobToken({
|
|
763
|
+
signingSecret,
|
|
764
|
+
nodeId: requireText(input.nodeId, 'nodeId'),
|
|
765
|
+
jobId: input.jobId,
|
|
766
|
+
requestId: requireText(input.requestId, 'requestId'),
|
|
767
|
+
schemaVersion: requireText(input.schemaVersion, 'schemaVersion'),
|
|
768
|
+
jobType: requireText(input.jobType, 'jobType'),
|
|
769
|
+
ttlSeconds: input.tokenTtlSeconds,
|
|
770
|
+
});
|
|
771
|
+
}
|
|
772
|
+
capabilityToken(input = {}) {
|
|
773
|
+
const token = resolveString(input.token ?? process.env.MCODA_MSWARM_NODE_TOKEN);
|
|
774
|
+
if (token)
|
|
775
|
+
return token;
|
|
776
|
+
const signingSecret = resolveString(input.signingSecret ??
|
|
777
|
+
process.env.MCODA_MSWARM_NODE_SIGNING_SECRET ??
|
|
778
|
+
process.env.MSWARM_SELF_HOSTED_INVOCATION_SIGNING_SECRET);
|
|
779
|
+
if (!signingSecret) {
|
|
780
|
+
throw new Error('A capability token or owner-local signing secret is required');
|
|
781
|
+
}
|
|
782
|
+
const nodeId = requireText(input.nodeId ??
|
|
783
|
+
process.env.MCODA_MSWARM_NODE_ID ??
|
|
784
|
+
process.env.MSWARM_SELF_HOSTED_NODE_ID, 'nodeId');
|
|
785
|
+
return signMswarmCapabilityToken({
|
|
786
|
+
signingSecret,
|
|
787
|
+
nodeId,
|
|
788
|
+
ttlSeconds: input.tokenTtlSeconds,
|
|
789
|
+
});
|
|
790
|
+
}
|
|
791
|
+
genericJobOpsToken(input = {}) {
|
|
792
|
+
const token = resolveString(input.token ?? process.env.MCODA_MSWARM_NODE_OPS_TOKEN);
|
|
793
|
+
if (token)
|
|
794
|
+
return token;
|
|
795
|
+
const signingSecret = resolveString(input.signingSecret ??
|
|
796
|
+
process.env.MCODA_MSWARM_NODE_SIGNING_SECRET ??
|
|
797
|
+
process.env.MSWARM_SELF_HOSTED_INVOCATION_SIGNING_SECRET);
|
|
798
|
+
if (!signingSecret) {
|
|
799
|
+
throw new Error('A generic job ops token or owner-local signing secret is required');
|
|
800
|
+
}
|
|
801
|
+
const nodeId = requireText(input.nodeId ??
|
|
802
|
+
process.env.MCODA_MSWARM_NODE_ID ??
|
|
803
|
+
process.env.MSWARM_SELF_HOSTED_NODE_ID, 'nodeId');
|
|
804
|
+
return signMswarmGenericJobOpsToken({
|
|
805
|
+
signingSecret,
|
|
806
|
+
nodeId,
|
|
807
|
+
ttlSeconds: input.tokenTtlSeconds,
|
|
808
|
+
});
|
|
809
|
+
}
|
|
810
|
+
referenceFromJob(job, options = {}) {
|
|
811
|
+
return {
|
|
812
|
+
...options,
|
|
813
|
+
jobId: job.job_id,
|
|
814
|
+
nodeId: job.node_id,
|
|
815
|
+
requestId: job.request_id,
|
|
816
|
+
schemaVersion: job.job.schema_version,
|
|
817
|
+
jobType: job.job.job_type,
|
|
818
|
+
};
|
|
819
|
+
}
|
|
820
|
+
async listGpuCapabilities(options = {}) {
|
|
821
|
+
return this.requestJson('/v1/swarm/self-hosted/node/capabilities', undefined, {
|
|
822
|
+
baseUrl: this.nodeBaseUrl(options),
|
|
823
|
+
headers: {
|
|
824
|
+
authorization: `Bearer ${this.capabilityToken(options)}`,
|
|
825
|
+
},
|
|
826
|
+
});
|
|
827
|
+
}
|
|
828
|
+
async getGenericJobOps(options = {}) {
|
|
829
|
+
return this.requestJson('/v1/swarm/self-hosted/node/generic-job-control/ops', {
|
|
830
|
+
audit_limit: options.auditLimit,
|
|
831
|
+
audit_offset: options.auditOffset,
|
|
832
|
+
}, {
|
|
833
|
+
baseUrl: this.nodeBaseUrl(options),
|
|
834
|
+
headers: {
|
|
835
|
+
authorization: `Bearer ${this.genericJobOpsToken(options)}`,
|
|
836
|
+
},
|
|
837
|
+
});
|
|
838
|
+
}
|
|
839
|
+
async uploadGenericJobArtifact(input) {
|
|
840
|
+
const token = this.genericJobToken(input);
|
|
841
|
+
return this.requestJson(`/v1/swarm/self-hosted/node/generic-job-control/jobs/${encodeURIComponent(input.jobId)}/artifacts`, undefined, {
|
|
842
|
+
method: 'POST',
|
|
843
|
+
baseUrl: this.nodeBaseUrl(input),
|
|
844
|
+
headers: {
|
|
845
|
+
authorization: `Bearer ${token}`,
|
|
846
|
+
},
|
|
847
|
+
body: {
|
|
848
|
+
name: input.name,
|
|
849
|
+
path: input.path,
|
|
850
|
+
content_base64: input.contentBase64,
|
|
851
|
+
content_type: input.contentType,
|
|
852
|
+
sha256: input.sha256,
|
|
853
|
+
size_bytes: input.sizeBytes,
|
|
854
|
+
},
|
|
855
|
+
});
|
|
856
|
+
}
|
|
857
|
+
async runGenericJob(job, options = {}) {
|
|
858
|
+
const reference = this.referenceFromJob(job, options);
|
|
859
|
+
return this.requestJson('/v1/swarm/self-hosted/node/generic-job-control/jobs', undefined, {
|
|
860
|
+
method: 'POST',
|
|
861
|
+
baseUrl: this.nodeBaseUrl(options),
|
|
862
|
+
headers: {
|
|
863
|
+
authorization: `Bearer ${this.genericJobToken(reference)}`,
|
|
864
|
+
},
|
|
865
|
+
body: job,
|
|
866
|
+
});
|
|
867
|
+
}
|
|
868
|
+
async getGenericJob(input) {
|
|
869
|
+
return this.requestJson(`/v1/swarm/self-hosted/node/generic-job-control/jobs/${encodeURIComponent(input.jobId)}`, undefined, {
|
|
870
|
+
baseUrl: this.nodeBaseUrl(input),
|
|
871
|
+
headers: {
|
|
872
|
+
authorization: `Bearer ${this.genericJobToken(input)}`,
|
|
873
|
+
},
|
|
874
|
+
});
|
|
875
|
+
}
|
|
876
|
+
async getGenericJobEvents(input) {
|
|
877
|
+
return this.requestJson(`/v1/swarm/self-hosted/node/generic-job-control/jobs/${encodeURIComponent(input.jobId)}/events`, undefined, {
|
|
878
|
+
baseUrl: this.nodeBaseUrl(input),
|
|
879
|
+
headers: {
|
|
880
|
+
authorization: `Bearer ${this.genericJobToken(input)}`,
|
|
881
|
+
},
|
|
882
|
+
});
|
|
883
|
+
}
|
|
884
|
+
async getGenericJobLogs(input) {
|
|
885
|
+
return this.requestJson(`/v1/swarm/self-hosted/node/generic-job-control/jobs/${encodeURIComponent(input.jobId)}/logs`, undefined, {
|
|
886
|
+
baseUrl: this.nodeBaseUrl(input),
|
|
887
|
+
headers: {
|
|
888
|
+
authorization: `Bearer ${this.genericJobToken(input)}`,
|
|
889
|
+
},
|
|
890
|
+
});
|
|
891
|
+
}
|
|
892
|
+
async getGenericJobArtifacts(input) {
|
|
893
|
+
return this.requestJson(`/v1/swarm/self-hosted/node/generic-job-control/jobs/${encodeURIComponent(input.jobId)}/artifacts`, undefined, {
|
|
894
|
+
baseUrl: this.nodeBaseUrl(input),
|
|
895
|
+
headers: {
|
|
896
|
+
authorization: `Bearer ${this.genericJobToken(input)}`,
|
|
897
|
+
},
|
|
898
|
+
});
|
|
899
|
+
}
|
|
900
|
+
async cancelGenericJob(input) {
|
|
901
|
+
return this.requestJson(`/v1/swarm/self-hosted/node/generic-job-control/jobs/${encodeURIComponent(input.jobId)}/cancel`, undefined, {
|
|
902
|
+
method: 'POST',
|
|
903
|
+
baseUrl: this.nodeBaseUrl(input),
|
|
904
|
+
headers: {
|
|
905
|
+
authorization: `Bearer ${this.genericJobToken(input)}`,
|
|
906
|
+
},
|
|
907
|
+
});
|
|
908
|
+
}
|
|
909
|
+
async retryGenericJob(input) {
|
|
910
|
+
return this.requestJson(`/v1/swarm/self-hosted/node/generic-job-control/jobs/${encodeURIComponent(input.jobId)}/retry`, undefined, {
|
|
911
|
+
method: 'POST',
|
|
912
|
+
baseUrl: this.nodeBaseUrl(input),
|
|
913
|
+
headers: {
|
|
914
|
+
authorization: `Bearer ${this.genericJobToken(input)}`,
|
|
915
|
+
},
|
|
916
|
+
});
|
|
917
|
+
}
|
|
590
918
|
requireApiKey() {
|
|
591
919
|
if (!this.options.apiKey) {
|
|
592
920
|
throw new Error('MCODA_MSWARM_API_KEY is required');
|
|
@@ -594,7 +922,7 @@ export class MswarmApi {
|
|
|
594
922
|
return this.options.apiKey;
|
|
595
923
|
}
|
|
596
924
|
async requestJson(pathname, query, init) {
|
|
597
|
-
const url = new URL(pathname, this.options.baseUrl);
|
|
925
|
+
const url = new URL(pathname, init?.baseUrl ?? this.options.baseUrl);
|
|
598
926
|
if (query) {
|
|
599
927
|
for (const [key, value] of Object.entries(query)) {
|
|
600
928
|
if (value === undefined)
|
|
@@ -672,6 +1000,7 @@ export class MswarmApi {
|
|
|
672
1000
|
provider: options.provider,
|
|
673
1001
|
limit: remoteLimit,
|
|
674
1002
|
include_unreachable: options.includeUnreachable ? 'true' : undefined,
|
|
1003
|
+
include_load_balanced: options.includeLoadBalanced ? 'true' : undefined,
|
|
675
1004
|
});
|
|
676
1005
|
let agents = (Array.isArray(payload.agents) ? payload.agents : []).map(toSelfHostedAgent);
|
|
677
1006
|
if (options.provider) {
|
|
@@ -679,11 +1008,13 @@ export class MswarmApi {
|
|
|
679
1008
|
}
|
|
680
1009
|
return applyCloudAgentListOptions(agents, options);
|
|
681
1010
|
}
|
|
682
|
-
async getSelfHostedAgent(slug) {
|
|
1011
|
+
async getSelfHostedAgent(slug, options = {}) {
|
|
683
1012
|
if (!slug.trim()) {
|
|
684
1013
|
throw new Error('Self-hosted agent slug is required');
|
|
685
1014
|
}
|
|
686
|
-
const payload = await this.requestJson(`/v1/swarm/self-hosted/agents/${encodeURIComponent(slug)}
|
|
1015
|
+
const payload = await this.requestJson(`/v1/swarm/self-hosted/agents/${encodeURIComponent(slug)}`, {
|
|
1016
|
+
include_load_balanced: options.includeLoadBalanced ? 'true' : undefined,
|
|
1017
|
+
});
|
|
687
1018
|
return toSelfHostedAgentDetail(payload);
|
|
688
1019
|
}
|
|
689
1020
|
async listWorkerAgentPage(options = {}) {
|
|
@@ -848,7 +1179,7 @@ export class MswarmApi {
|
|
|
848
1179
|
const encryptedApiKey = await CryptoHelper.encryptSecret(this.requireApiKey());
|
|
849
1180
|
const records = [];
|
|
850
1181
|
for (const agent of agents) {
|
|
851
|
-
const localSlug =
|
|
1182
|
+
const localSlug = toManagedSelfHostedLocalSlug(this.options.selfHostedAgentSlugPrefix, agent);
|
|
852
1183
|
const existing = await this.repo.getAgentBySlug(localSlug);
|
|
853
1184
|
const remoteSlug = agent.remote_slug ?? agent.slug;
|
|
854
1185
|
if (existing &&
|
|
@@ -893,6 +1224,7 @@ export class MswarmApi {
|
|
|
893
1224
|
}
|
|
894
1225
|
if (options.pruneMissing) {
|
|
895
1226
|
const remoteSlugs = new Set(agents.map((agent) => agent.remote_slug ?? agent.slug));
|
|
1227
|
+
const includeLoadBalanced = options.includeLoadBalanced === true;
|
|
896
1228
|
const localAgents = await this.repo.listAgents();
|
|
897
1229
|
for (const localAgent of localAgents) {
|
|
898
1230
|
const managedConfig = isManagedMswarmSelfHostedConfig(localAgent.config)
|
|
@@ -900,6 +1232,10 @@ export class MswarmApi {
|
|
|
900
1232
|
: undefined;
|
|
901
1233
|
if (!managedConfig)
|
|
902
1234
|
continue;
|
|
1235
|
+
if (selfHostedConfigRoutingMode(managedConfig) === 'auto' &&
|
|
1236
|
+
!includeLoadBalanced) {
|
|
1237
|
+
continue;
|
|
1238
|
+
}
|
|
903
1239
|
if (options.provider &&
|
|
904
1240
|
managedConfig.mswarmSelfHosted.provider !== options.provider) {
|
|
905
1241
|
continue;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcoda/core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.79",
|
|
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/
|
|
36
|
-
"@mcoda/generators": "0.1.
|
|
37
|
-
"@mcoda/
|
|
38
|
-
"@mcoda/
|
|
39
|
-
"@mcoda/
|
|
35
|
+
"@mcoda/shared": "0.1.79",
|
|
36
|
+
"@mcoda/generators": "0.1.79",
|
|
37
|
+
"@mcoda/agents": "0.1.79",
|
|
38
|
+
"@mcoda/integrations": "0.1.79",
|
|
39
|
+
"@mcoda/db": "0.1.79"
|
|
40
40
|
},
|
|
41
41
|
"scripts": {
|
|
42
42
|
"build": "tsc -p tsconfig.json",
|