@stigmer/cli 3.12.2 → 3.12.3
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/package.json +5 -5
- package/resources/skill.d.ts +10 -0
- package/resources/skill.d.ts.map +1 -1
- package/resources/skill.js +61 -4
- package/resources/skill.js.map +1 -1
- package/src/resources/skill.test.ts +78 -0
- package/src/resources/skill.ts +70 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stigmer/cli",
|
|
3
|
-
"version": "3.12.
|
|
3
|
+
"version": "3.12.3",
|
|
4
4
|
"description": "Stigmer command-line interface — manage agents, workflows, MCP servers, skills, and executions from the terminal",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -35,10 +35,10 @@
|
|
|
35
35
|
"@connectrpc/connect": "^2.0.0",
|
|
36
36
|
"@connectrpc/connect-node": "^2.1.1",
|
|
37
37
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
38
|
-
"@stigmer/ink": "3.12.
|
|
39
|
-
"@stigmer/mcp-server": "3.12.
|
|
40
|
-
"@stigmer/protos": "3.12.
|
|
41
|
-
"@stigmer/sdk": "3.12.
|
|
38
|
+
"@stigmer/ink": "3.12.3",
|
|
39
|
+
"@stigmer/mcp-server": "3.12.3",
|
|
40
|
+
"@stigmer/protos": "3.12.3",
|
|
41
|
+
"@stigmer/sdk": "3.12.3",
|
|
42
42
|
"commander": "^12.1.0",
|
|
43
43
|
"fflate": "^0.8.3",
|
|
44
44
|
"ink": "^7.0.0",
|
package/resources/skill.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { Skill } from "@stigmer/protos/ai/stigmer/agentic/skill/v1/api_pb";
|
|
2
|
+
import type { PushSkillRequest } from "@stigmer/protos/ai/stigmer/agentic/skill/v1/io_pb";
|
|
1
3
|
import { ApiResourceVisibility } from "@stigmer/protos/ai/stigmer/commons/apiresource/enum_pb";
|
|
2
4
|
import type { Stigmer } from "@stigmer/sdk";
|
|
3
5
|
export declare const SKILL_FILE = "SKILL.md";
|
|
@@ -70,6 +72,14 @@ export declare function createSkillZip(dir: string, options: IgnoreOptions, onDe
|
|
|
70
72
|
};
|
|
71
73
|
/** Dry-run: report what would be included/ignored without zipping. */
|
|
72
74
|
export declare function analyzeDryRun(dir: string, options: IgnoreOptions): DryRunAnalysis;
|
|
75
|
+
/**
|
|
76
|
+
* Push, routing the artifact by size (#675): small artifacts travel inline
|
|
77
|
+
* in the request (one round trip, unchanged behavior); larger ones are
|
|
78
|
+
* staged over HTTP via createArtifactUploadUrl — a capability URL, so no
|
|
79
|
+
* auth header — and pushed by reference. The 100MB skill limit therefore
|
|
80
|
+
* no longer collides with the 10MB gRPC message cap.
|
|
81
|
+
*/
|
|
82
|
+
export declare function pushRouted(client: Stigmer, request: PushSkillRequest): Promise<Skill>;
|
|
73
83
|
/** Push a skill from a local directory. Git provenance is auto-detected. */
|
|
74
84
|
export declare function pushSkill(client: Stigmer, dir: string, org: string, tag: string, message: string, options: IgnoreOptions, onDecision?: DecisionSink): Promise<PushResult>;
|
|
75
85
|
export interface RemotePushParams {
|
package/resources/skill.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/resources/skill.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/resources/skill.ts"],"names":[],"mappings":"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"}
|
package/resources/skill.js
CHANGED
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
import { readdirSync, readFileSync, statSync } from "node:fs";
|
|
8
8
|
import { join, relative, resolve } from "node:path";
|
|
9
9
|
import { create } from "@bufbuild/protobuf";
|
|
10
|
-
import {
|
|
10
|
+
import { Code, ConnectError } from "@connectrpc/connect";
|
|
11
|
+
import { CreateSkillArtifactUploadUrlRequestSchema, PushSkillRequestSchema } from "@stigmer/protos/ai/stigmer/agentic/skill/v1/io_pb";
|
|
11
12
|
import { GitProvenanceSchema } from "@stigmer/protos/ai/stigmer/agentic/skill/v1/status_pb";
|
|
12
13
|
import { ApiResourceVisibility } from "@stigmer/protos/ai/stigmer/commons/apiresource/enum_pb";
|
|
13
14
|
import { UpdateVisibilityInputSchema } from "@stigmer/protos/ai/stigmer/commons/apiresource/io_pb";
|
|
@@ -246,6 +247,60 @@ export function analyzeDryRun(dir, options) {
|
|
|
246
247
|
const patternSources = [...sourceCounts.entries()].map(([source, count]) => `${source} (${count} patterns)`);
|
|
247
248
|
return { stats, patternSources, sampleIgnored, sampleIncluded };
|
|
248
249
|
}
|
|
250
|
+
/**
|
|
251
|
+
* Largest artifact pushed inline in the gRPC request (#675). The server's
|
|
252
|
+
* transport cap is 10MB for the WHOLE message, so the artifact leaves 64KB
|
|
253
|
+
* of headroom for the request envelope (org, tag, provenance, framing).
|
|
254
|
+
* Mirrors the Go SDK's maxInlineArtifactBytes.
|
|
255
|
+
*/
|
|
256
|
+
const MAX_INLINE_ARTIFACT_BYTES = 10 * 1024 * 1024 - 64 * 1024;
|
|
257
|
+
/**
|
|
258
|
+
* Push, routing the artifact by size (#675): small artifacts travel inline
|
|
259
|
+
* in the request (one round trip, unchanged behavior); larger ones are
|
|
260
|
+
* staged over HTTP via createArtifactUploadUrl — a capability URL, so no
|
|
261
|
+
* auth header — and pushed by reference. The 100MB skill limit therefore
|
|
262
|
+
* no longer collides with the 10MB gRPC message cap.
|
|
263
|
+
*/
|
|
264
|
+
export async function pushRouted(client, request) {
|
|
265
|
+
if (request.artifact.length <= MAX_INLINE_ARTIFACT_BYTES) {
|
|
266
|
+
return client.skill.push(request);
|
|
267
|
+
}
|
|
268
|
+
let minted;
|
|
269
|
+
try {
|
|
270
|
+
minted = await client.skill.createArtifactUploadUrl(create(CreateSkillArtifactUploadUrlRequestSchema, {
|
|
271
|
+
org: request.org,
|
|
272
|
+
sizeBytes: BigInt(request.artifact.length),
|
|
273
|
+
}));
|
|
274
|
+
}
|
|
275
|
+
catch (err) {
|
|
276
|
+
if (err instanceof ConnectError && err.code === Code.Unimplemented) {
|
|
277
|
+
// Pre-transfer-lane server: an artifact this size physically cannot
|
|
278
|
+
// travel inline. Say so instead of surfacing the raw transport error.
|
|
279
|
+
throw new UsageError(`skill artifact is ${formatBytes(request.artifact.length)}, above the ~10MB gRPC message cap, ` +
|
|
280
|
+
"and this server does not support the HTTP artifact transfer lane.\n\n" +
|
|
281
|
+
"Upgrade stigmer-server to push skills of this size.");
|
|
282
|
+
}
|
|
283
|
+
throw err;
|
|
284
|
+
}
|
|
285
|
+
const resp = await fetch(minted.url, {
|
|
286
|
+
method: "PUT",
|
|
287
|
+
// Buffer keeps undici's BodyInit typing happy where a bare Uint8Array
|
|
288
|
+
// view does not (Node-only code path, so Buffer is always available).
|
|
289
|
+
body: Buffer.from(request.artifact),
|
|
290
|
+
headers: { "content-type": "application/zip" },
|
|
291
|
+
});
|
|
292
|
+
if (!resp.ok) {
|
|
293
|
+
const detail = (await resp.text().catch(() => "")).slice(0, 512).trim();
|
|
294
|
+
throw new Error(`skill artifact upload rejected with HTTP ${resp.status}${detail === "" ? "" : `: ${detail}`}`);
|
|
295
|
+
}
|
|
296
|
+
// Same request, artifact traveling by reference instead of by value.
|
|
297
|
+
const byRef = create(PushSkillRequestSchema, {
|
|
298
|
+
...request,
|
|
299
|
+
artifact: new Uint8Array(0),
|
|
300
|
+
artifactUploadRef: minted.artifactUploadRef,
|
|
301
|
+
});
|
|
302
|
+
return client.skill.push(byRef);
|
|
303
|
+
}
|
|
249
304
|
/** Push a skill from a local directory. Git provenance is auto-detected. */
|
|
250
305
|
export async function pushSkill(client, dir, org, tag, message, options, onDecision) {
|
|
251
306
|
if (!hasSkillFile(dir)) {
|
|
@@ -261,7 +316,7 @@ export async function pushSkill(client, dir, org, tag, message, options, onDecis
|
|
|
261
316
|
message,
|
|
262
317
|
gitProvenance: provenance,
|
|
263
318
|
});
|
|
264
|
-
const response = await client
|
|
319
|
+
const response = await pushRouted(client, request);
|
|
265
320
|
const applied = await applyDeclaredVisibility(client, response, visibility);
|
|
266
321
|
return toResult(applied, name, message, stats.totalSize, visibility);
|
|
267
322
|
}
|
|
@@ -286,7 +341,7 @@ export async function pushSkillFromClone(client, skillDir, params, onDecision) {
|
|
|
286
341
|
message: params.message,
|
|
287
342
|
gitProvenance: provenance,
|
|
288
343
|
});
|
|
289
|
-
const response = await client
|
|
344
|
+
const response = await pushRouted(client, request);
|
|
290
345
|
const applied = await applyDeclaredVisibility(client, response, visibility);
|
|
291
346
|
return toResult(applied, name, params.message, stats.totalSize, visibility);
|
|
292
347
|
}
|
|
@@ -349,7 +404,9 @@ export async function pushSkillFromArchive(client, archivePath, org, tag, messag
|
|
|
349
404
|
tag: tag === "" ? "latest" : tag,
|
|
350
405
|
message,
|
|
351
406
|
});
|
|
352
|
-
|
|
407
|
+
// Size-routed like every other push path (#675): pre-packaged archives are
|
|
408
|
+
// the release-pipeline lane, exactly where content-heavy skills come from.
|
|
409
|
+
const response = await pushRouted(client, request);
|
|
353
410
|
const applied = await applyDeclaredVisibility(client, response, archive.meta.visibility);
|
|
354
411
|
return toResult(applied, archive.meta.name, message, archive.totalSize, archive.meta.visibility);
|
|
355
412
|
}
|
package/resources/skill.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/resources/skill.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/resources/skill.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
import { mkdirSync, mkdtempSync, rmSync, utimesSync, writeFileSync } from "node:fs";
|
|
5
5
|
import { tmpdir } from "node:os";
|
|
6
6
|
import { join } from "node:path";
|
|
7
|
+
import { create } from "@bufbuild/protobuf";
|
|
8
|
+
import { Code, ConnectError } from "@connectrpc/connect";
|
|
9
|
+
import { PushSkillRequestSchema } from "@stigmer/protos/ai/stigmer/agentic/skill/v1/io_pb";
|
|
7
10
|
import { ApiResourceVisibility } from "@stigmer/protos/ai/stigmer/commons/apiresource/enum_pb";
|
|
8
11
|
import type { Stigmer } from "@stigmer/sdk";
|
|
9
12
|
import { unzipSync, zipSync } from "fflate";
|
|
@@ -16,6 +19,7 @@ import {
|
|
|
16
19
|
hasSkillFile,
|
|
17
20
|
parseSkillMetadata,
|
|
18
21
|
parseVisibility,
|
|
22
|
+
pushRouted,
|
|
19
23
|
pushSkill,
|
|
20
24
|
pushSkillFromArchive,
|
|
21
25
|
readSkillArchive,
|
|
@@ -349,3 +353,77 @@ describe("formatBytes / shortHash", () => {
|
|
|
349
353
|
expect(shortHash("abc")).toBe("sha256:abc");
|
|
350
354
|
});
|
|
351
355
|
});
|
|
356
|
+
|
|
357
|
+
// ─── pushRouted — transfer-lane size routing (#675) ──────────────────────
|
|
358
|
+
|
|
359
|
+
describe("pushRouted size routing", () => {
|
|
360
|
+
const INLINE_MAX = 10 * 1024 * 1024 - 64 * 1024;
|
|
361
|
+
|
|
362
|
+
function routingFakeClient(overrides: Record<string, any> = {}) {
|
|
363
|
+
const calls = { push: [] as any[], mint: [] as any[] };
|
|
364
|
+
const client = {
|
|
365
|
+
skill: {
|
|
366
|
+
async push(req: any) {
|
|
367
|
+
calls.push.push(req);
|
|
368
|
+
return { metadata: { id: "skill_x" } };
|
|
369
|
+
},
|
|
370
|
+
async createArtifactUploadUrl(req: any) {
|
|
371
|
+
calls.mint.push(req);
|
|
372
|
+
return { url: "http://localhost:7234/v1/skill-artifacts/uploads/sau_t", artifactUploadRef: "sau_t", ttlSeconds: 900 };
|
|
373
|
+
},
|
|
374
|
+
...overrides,
|
|
375
|
+
},
|
|
376
|
+
} as any;
|
|
377
|
+
return { client, calls };
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
afterEach(() => {
|
|
381
|
+
vi.unstubAllGlobals();
|
|
382
|
+
});
|
|
383
|
+
|
|
384
|
+
it("keeps small artifacts inline (no mint, bytes in the request)", async () => {
|
|
385
|
+
const { client, calls } = routingFakeClient();
|
|
386
|
+
const req = create(PushSkillRequestSchema, { org: "acme", artifact: new Uint8Array(1024) });
|
|
387
|
+
|
|
388
|
+
await pushRouted(client, req);
|
|
389
|
+
|
|
390
|
+
expect(calls.mint).toHaveLength(0);
|
|
391
|
+
expect(calls.push).toHaveLength(1);
|
|
392
|
+
expect(calls.push[0].artifact.length).toBe(1024);
|
|
393
|
+
});
|
|
394
|
+
|
|
395
|
+
it("stages large artifacts over HTTP and pushes by reference", async () => {
|
|
396
|
+
const { client, calls } = routingFakeClient();
|
|
397
|
+
const artifact = new Uint8Array(INLINE_MAX + 1);
|
|
398
|
+
const req = create(PushSkillRequestSchema, { org: "acme", artifact, tag: "stable", message: "big" });
|
|
399
|
+
|
|
400
|
+
let putBytes = 0;
|
|
401
|
+
vi.stubGlobal("fetch", vi.fn(async (_url: string, init: any) => {
|
|
402
|
+
putBytes = init.body.length;
|
|
403
|
+
return { ok: true } as any;
|
|
404
|
+
}));
|
|
405
|
+
|
|
406
|
+
await pushRouted(client, req);
|
|
407
|
+
|
|
408
|
+
expect(calls.mint).toHaveLength(1);
|
|
409
|
+
expect(calls.mint[0].sizeBytes).toBe(BigInt(artifact.length));
|
|
410
|
+
expect(putBytes).toBe(artifact.length);
|
|
411
|
+
expect(calls.push).toHaveLength(1);
|
|
412
|
+
expect(calls.push[0].artifact.length).toBe(0);
|
|
413
|
+
expect(calls.push[0].artifactUploadRef).toBe("sau_t");
|
|
414
|
+
// The rewrite must not lose the rest of the request.
|
|
415
|
+
expect(calls.push[0].tag).toBe("stable");
|
|
416
|
+
expect(calls.push[0].message).toBe("big");
|
|
417
|
+
});
|
|
418
|
+
|
|
419
|
+
it("fails loud against servers that predate the transfer lane", async () => {
|
|
420
|
+
const { client } = routingFakeClient({
|
|
421
|
+
async createArtifactUploadUrl() {
|
|
422
|
+
throw new ConnectError("unknown method", Code.Unimplemented);
|
|
423
|
+
},
|
|
424
|
+
});
|
|
425
|
+
const req = create(PushSkillRequestSchema, { org: "acme", artifact: new Uint8Array(INLINE_MAX + 1) });
|
|
426
|
+
|
|
427
|
+
await expect(pushRouted(client, req)).rejects.toThrow(/Upgrade stigmer-server/);
|
|
428
|
+
});
|
|
429
|
+
});
|
package/src/resources/skill.ts
CHANGED
|
@@ -8,8 +8,10 @@
|
|
|
8
8
|
import { readdirSync, readFileSync, statSync } from "node:fs";
|
|
9
9
|
import { join, relative, resolve } from "node:path";
|
|
10
10
|
import { create } from "@bufbuild/protobuf";
|
|
11
|
+
import { Code, ConnectError } from "@connectrpc/connect";
|
|
11
12
|
import type { Skill } from "@stigmer/protos/ai/stigmer/agentic/skill/v1/api_pb";
|
|
12
|
-
import {
|
|
13
|
+
import type { PushSkillRequest } from "@stigmer/protos/ai/stigmer/agentic/skill/v1/io_pb";
|
|
14
|
+
import { CreateSkillArtifactUploadUrlRequestSchema, PushSkillRequestSchema } from "@stigmer/protos/ai/stigmer/agentic/skill/v1/io_pb";
|
|
13
15
|
import { GitProvenanceSchema } from "@stigmer/protos/ai/stigmer/agentic/skill/v1/status_pb";
|
|
14
16
|
import { ApiResourceVisibility } from "@stigmer/protos/ai/stigmer/commons/apiresource/enum_pb";
|
|
15
17
|
import { UpdateVisibilityInputSchema } from "@stigmer/protos/ai/stigmer/commons/apiresource/io_pb";
|
|
@@ -320,6 +322,68 @@ export function analyzeDryRun(dir: string, options: IgnoreOptions): DryRunAnalys
|
|
|
320
322
|
return { stats, patternSources, sampleIgnored, sampleIncluded };
|
|
321
323
|
}
|
|
322
324
|
|
|
325
|
+
/**
|
|
326
|
+
* Largest artifact pushed inline in the gRPC request (#675). The server's
|
|
327
|
+
* transport cap is 10MB for the WHOLE message, so the artifact leaves 64KB
|
|
328
|
+
* of headroom for the request envelope (org, tag, provenance, framing).
|
|
329
|
+
* Mirrors the Go SDK's maxInlineArtifactBytes.
|
|
330
|
+
*/
|
|
331
|
+
const MAX_INLINE_ARTIFACT_BYTES = 10 * 1024 * 1024 - 64 * 1024;
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* Push, routing the artifact by size (#675): small artifacts travel inline
|
|
335
|
+
* in the request (one round trip, unchanged behavior); larger ones are
|
|
336
|
+
* staged over HTTP via createArtifactUploadUrl — a capability URL, so no
|
|
337
|
+
* auth header — and pushed by reference. The 100MB skill limit therefore
|
|
338
|
+
* no longer collides with the 10MB gRPC message cap.
|
|
339
|
+
*/
|
|
340
|
+
export async function pushRouted(client: Stigmer, request: PushSkillRequest): Promise<Skill> {
|
|
341
|
+
if (request.artifact.length <= MAX_INLINE_ARTIFACT_BYTES) {
|
|
342
|
+
return client.skill.push(request);
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
let minted;
|
|
346
|
+
try {
|
|
347
|
+
minted = await client.skill.createArtifactUploadUrl(
|
|
348
|
+
create(CreateSkillArtifactUploadUrlRequestSchema, {
|
|
349
|
+
org: request.org,
|
|
350
|
+
sizeBytes: BigInt(request.artifact.length),
|
|
351
|
+
}),
|
|
352
|
+
);
|
|
353
|
+
} catch (err) {
|
|
354
|
+
if (err instanceof ConnectError && err.code === Code.Unimplemented) {
|
|
355
|
+
// Pre-transfer-lane server: an artifact this size physically cannot
|
|
356
|
+
// travel inline. Say so instead of surfacing the raw transport error.
|
|
357
|
+
throw new UsageError(
|
|
358
|
+
`skill artifact is ${formatBytes(request.artifact.length)}, above the ~10MB gRPC message cap, ` +
|
|
359
|
+
"and this server does not support the HTTP artifact transfer lane.\n\n" +
|
|
360
|
+
"Upgrade stigmer-server to push skills of this size.",
|
|
361
|
+
);
|
|
362
|
+
}
|
|
363
|
+
throw err;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
const resp = await fetch(minted.url, {
|
|
367
|
+
method: "PUT",
|
|
368
|
+
// Buffer keeps undici's BodyInit typing happy where a bare Uint8Array
|
|
369
|
+
// view does not (Node-only code path, so Buffer is always available).
|
|
370
|
+
body: Buffer.from(request.artifact),
|
|
371
|
+
headers: { "content-type": "application/zip" },
|
|
372
|
+
});
|
|
373
|
+
if (!resp.ok) {
|
|
374
|
+
const detail = (await resp.text().catch(() => "")).slice(0, 512).trim();
|
|
375
|
+
throw new Error(`skill artifact upload rejected with HTTP ${resp.status}${detail === "" ? "" : `: ${detail}`}`);
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
// Same request, artifact traveling by reference instead of by value.
|
|
379
|
+
const byRef = create(PushSkillRequestSchema, {
|
|
380
|
+
...request,
|
|
381
|
+
artifact: new Uint8Array(0),
|
|
382
|
+
artifactUploadRef: minted.artifactUploadRef,
|
|
383
|
+
});
|
|
384
|
+
return client.skill.push(byRef);
|
|
385
|
+
}
|
|
386
|
+
|
|
323
387
|
/** Push a skill from a local directory. Git provenance is auto-detected. */
|
|
324
388
|
export async function pushSkill(
|
|
325
389
|
client: Stigmer,
|
|
@@ -346,7 +410,7 @@ export async function pushSkill(
|
|
|
346
410
|
message,
|
|
347
411
|
gitProvenance: provenance,
|
|
348
412
|
});
|
|
349
|
-
const response = await client
|
|
413
|
+
const response = await pushRouted(client, request);
|
|
350
414
|
const applied = await applyDeclaredVisibility(client, response, visibility);
|
|
351
415
|
return toResult(applied, name, message, stats.totalSize, visibility);
|
|
352
416
|
}
|
|
@@ -388,7 +452,7 @@ export async function pushSkillFromClone(
|
|
|
388
452
|
message: params.message,
|
|
389
453
|
gitProvenance: provenance,
|
|
390
454
|
});
|
|
391
|
-
const response = await client
|
|
455
|
+
const response = await pushRouted(client, request);
|
|
392
456
|
const applied = await applyDeclaredVisibility(client, response, visibility);
|
|
393
457
|
return toResult(applied, name, params.message, stats.totalSize, visibility);
|
|
394
458
|
}
|
|
@@ -474,7 +538,9 @@ export async function pushSkillFromArchive(
|
|
|
474
538
|
tag: tag === "" ? "latest" : tag,
|
|
475
539
|
message,
|
|
476
540
|
});
|
|
477
|
-
|
|
541
|
+
// Size-routed like every other push path (#675): pre-packaged archives are
|
|
542
|
+
// the release-pipeline lane, exactly where content-heavy skills come from.
|
|
543
|
+
const response = await pushRouted(client, request);
|
|
478
544
|
const applied = await applyDeclaredVisibility(client, response, archive.meta.visibility);
|
|
479
545
|
return toResult(applied, archive.meta.name, message, archive.totalSize, archive.meta.visibility);
|
|
480
546
|
}
|