run402-mcp 2.0.1 → 2.2.0
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/README.md +14 -11
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/assets-put.d.ts.map +1 -1
- package/dist/tools/assets-put.js +16 -112
- package/dist/tools/assets-put.js.map +1 -1
- package/dist/tools/deploy.d.ts +175 -0
- package/dist/tools/deploy.d.ts.map +1 -1
- package/dist/tools/deploy.js +38 -0
- package/dist/tools/deploy.js.map +1 -1
- package/dist/tools/jobs.d.ts +90 -0
- package/dist/tools/jobs.d.ts.map +1 -0
- package/dist/tools/jobs.js +102 -0
- package/dist/tools/jobs.js.map +1 -0
- package/package.json +1 -1
- package/schemas/release-spec.v1.json +70 -0
- package/sdk/README.md +5 -4
- package/sdk/dist/index.d.ts +3 -0
- package/sdk/dist/index.d.ts.map +1 -1
- package/sdk/dist/index.js +3 -0
- package/sdk/dist/index.js.map +1 -1
- package/sdk/dist/namespaces/assets.d.ts +13 -9
- package/sdk/dist/namespaces/assets.d.ts.map +1 -1
- package/sdk/dist/namespaces/assets.js +68 -89
- package/sdk/dist/namespaces/assets.js.map +1 -1
- package/sdk/dist/namespaces/deploy.d.ts.map +1 -1
- package/sdk/dist/namespaces/deploy.js +202 -2
- package/sdk/dist/namespaces/deploy.js.map +1 -1
- package/sdk/dist/namespaces/deploy.types.d.ts +102 -1
- package/sdk/dist/namespaces/deploy.types.d.ts.map +1 -1
- package/sdk/dist/namespaces/deploy.types.js.map +1 -1
- package/sdk/dist/namespaces/jobs.d.ts +74 -0
- package/sdk/dist/namespaces/jobs.d.ts.map +1 -0
- package/sdk/dist/namespaces/jobs.js +82 -0
- package/sdk/dist/namespaces/jobs.js.map +1 -0
- package/sdk/dist/node/assets-node.d.ts +12 -7
- package/sdk/dist/node/assets-node.d.ts.map +1 -1
- package/sdk/dist/node/assets-node.js +91 -143
- package/sdk/dist/node/assets-node.js.map +1 -1
- package/sdk/dist/node/deploy-manifest.d.ts +25 -2
- package/sdk/dist/node/deploy-manifest.d.ts.map +1 -1
- package/sdk/dist/node/deploy-manifest.js +116 -0
- package/sdk/dist/node/deploy-manifest.js.map +1 -1
- package/sdk/dist/scoped.d.ts +11 -0
- package/sdk/dist/scoped.d.ts.map +1 -1
- package/sdk/dist/scoped.js +22 -0
- package/sdk/dist/scoped.js.map +1 -1
|
@@ -255,105 +255,84 @@ export class Assets {
|
|
|
255
255
|
}
|
|
256
256
|
const contentType = opts.contentType ?? guessContentType(key);
|
|
257
257
|
// v1.45 default: `immutable: true`. The agent-DX surface (cdnUrl, sri,
|
|
258
|
-
// scriptTag/linkTag/imgTag) only works for content-addressed uploads
|
|
259
|
-
// so the default reaches for the best path. Pass `{ immutable: false }`
|
|
260
|
-
// explicitly when you specifically want a non-content-hashed URL
|
|
258
|
+
// scriptTag/linkTag/imgTag) only works for content-addressed uploads.
|
|
261
259
|
const immutable = opts.immutable ?? true;
|
|
262
|
-
const
|
|
263
|
-
//
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
260
|
+
const visibility = opts.visibility ?? "public";
|
|
261
|
+
// Check credentials early so callers get ProjectNotFound rather than a
|
|
262
|
+
// generic error from inside the apply flow.
|
|
263
|
+
const projectKeys = await this.client.getProject(projectId);
|
|
264
|
+
if (!projectKeys)
|
|
265
|
+
throw new ProjectNotFound(projectId, "uploading asset");
|
|
266
|
+
// v1.48 unified-apply: route through the apply hero. Bytes upload via
|
|
267
|
+
// /content/v1/plans (CAS substrate) and the asset slice promotes in the
|
|
268
|
+
// activation transaction of /apply/v1/plans/:id/commit. The legacy
|
|
269
|
+
// /storage/v1/uploads* flow is gone (gateway returns 404).
|
|
270
|
+
const { Deploy } = await import("./deploy.js");
|
|
271
|
+
const deploy = new Deploy(this.client);
|
|
272
|
+
const result = await deploy.apply({
|
|
273
|
+
project: projectId,
|
|
274
|
+
assets: {
|
|
275
|
+
put: [
|
|
276
|
+
{
|
|
277
|
+
key,
|
|
278
|
+
source: bytes,
|
|
279
|
+
content_type: contentType,
|
|
280
|
+
visibility,
|
|
281
|
+
immutable,
|
|
282
|
+
},
|
|
283
|
+
],
|
|
284
|
+
},
|
|
271
285
|
});
|
|
272
|
-
//
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
const putRes = await this.client.fetch(part.url, {
|
|
278
|
-
method: "PUT",
|
|
279
|
-
headers: checksumHeadersForPresignedUrl(part.url, checksum.base64),
|
|
280
|
-
body: partBytes,
|
|
281
|
-
});
|
|
282
|
-
if (!putRes.ok) {
|
|
283
|
-
const errText = await putRes.text().catch(() => "");
|
|
284
|
-
throw new ApiError(`Part ${part.part_number} PUT failed (HTTP ${putRes.status} ${putRes.statusText})${errText ? ": " + errText.slice(0, 200) : ""}`, putRes.status, errText, "uploading blob part");
|
|
285
|
-
}
|
|
286
|
-
partEtags[part.part_number - 1] = {
|
|
287
|
-
etag: (putRes.headers.get("etag") ?? "").replace(/^"|"$/g, ""),
|
|
288
|
-
sha256: checksum.hex,
|
|
289
|
-
};
|
|
286
|
+
// The plan response's asset_entries[].asset_ref is threaded into
|
|
287
|
+
// result.assets.byKey by buildAssetManifestFromPlanEntries in deploy.ts.
|
|
288
|
+
const entry = result.assets?.byKey[key];
|
|
289
|
+
if (!entry) {
|
|
290
|
+
throw new LocalError(`apply succeeded but result.assets.byKey["${key}"] is missing. Gateway plan response did not include an asset_entries entry for the key — likely an older gateway version pre-v1.48.`, "uploading asset");
|
|
290
291
|
}
|
|
291
|
-
//
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
292
|
+
// Widen AssetManifestEntry → BlobPutResult (AssetRef shape with
|
|
293
|
+
// scriptTag/linkTag/imgTag emitters). The integrity fields and CDN
|
|
294
|
+
// envelope are derived from the same SHA the gateway resolved.
|
|
295
|
+
const sha = entry.sha256;
|
|
296
|
+
const completion = {
|
|
297
|
+
key: entry.key,
|
|
298
|
+
size_bytes: entry.size_bytes,
|
|
299
|
+
sha256: sha,
|
|
300
|
+
visibility: entry.visibility,
|
|
301
|
+
url: entry.url,
|
|
302
|
+
immutable_url: entry.immutable_url,
|
|
303
|
+
content_type: entry.content_type,
|
|
304
|
+
cdn_url: entry.cdn_url,
|
|
305
|
+
cdn_immutable_url: entry.cdn_immutable_url,
|
|
306
|
+
immutable_suffix: null,
|
|
307
|
+
};
|
|
308
|
+
return buildAssetRef(completion, contentType);
|
|
298
309
|
}
|
|
299
310
|
/**
|
|
300
|
-
*
|
|
301
|
-
*
|
|
302
|
-
* to
|
|
311
|
+
* @deprecated REMOVED in v2.1.0. The /storage/v1/uploads* substrate was
|
|
312
|
+
* dropped in gateway v1.48; all bytes flow through /content/v1/plans now.
|
|
313
|
+
* Migrate to `r.project(id).apply({ assets: { put: [{ key, source, ... }] } })`
|
|
314
|
+
* for single-asset uploads or `r.assets.uploadDir/syncDir/prepareDir/putMany`
|
|
315
|
+
* for batches. For low-level resumable control, use `r.project(id).apply.plan`
|
|
316
|
+
* and the returned `byteReaders` map.
|
|
303
317
|
*/
|
|
304
|
-
async initUploadSession(
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
throw new ProjectNotFound(projectId, "initializing upload");
|
|
309
|
-
return this.client.request("/storage/v1/uploads", {
|
|
310
|
-
method: "POST",
|
|
311
|
-
headers: {
|
|
312
|
-
apikey: project.service_key,
|
|
313
|
-
Authorization: `Bearer ${project.service_key}`,
|
|
314
|
-
},
|
|
315
|
-
body: {
|
|
316
|
-
key: opts.key,
|
|
317
|
-
size_bytes: opts.size_bytes,
|
|
318
|
-
content_type: opts.content_type,
|
|
319
|
-
visibility: opts.visibility ?? "public",
|
|
320
|
-
immutable: opts.immutable ?? false,
|
|
321
|
-
sha256: opts.sha256,
|
|
322
|
-
},
|
|
323
|
-
context: "initializing upload",
|
|
324
|
-
});
|
|
318
|
+
async initUploadSession(_projectId, _opts) {
|
|
319
|
+
throw new LocalError("Assets.initUploadSession was removed in v2.1.0 (gateway v1.48 dropped /storage/v1/uploads). " +
|
|
320
|
+
"Use `r.project(id).apply({ assets: { put: [{ key, source, ... }] } })` for single-asset uploads, " +
|
|
321
|
+
"or `r.assets.uploadDir/syncDir/prepareDir/putMany` for batches.", "initializing upload");
|
|
325
322
|
}
|
|
326
|
-
/**
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
headers: {
|
|
333
|
-
apikey: project.service_key,
|
|
334
|
-
Authorization: `Bearer ${project.service_key}`,
|
|
335
|
-
},
|
|
336
|
-
context: "fetching upload session",
|
|
337
|
-
});
|
|
323
|
+
/**
|
|
324
|
+
* @deprecated REMOVED in v2.1.0 — see {@link initUploadSession}.
|
|
325
|
+
*/
|
|
326
|
+
async getUploadSession(_projectId, _uploadId) {
|
|
327
|
+
throw new LocalError("Assets.getUploadSession was removed in v2.1.0 (gateway v1.48 dropped /storage/v1/uploads). " +
|
|
328
|
+
"Low-level resumable upload sessions are no longer a public surface; the apply engine handles retries.", "fetching upload session");
|
|
338
329
|
}
|
|
339
330
|
/**
|
|
340
|
-
*
|
|
341
|
-
* `blobs.put`. Single PUT sessions may omit `parts`.
|
|
331
|
+
* @deprecated REMOVED in v2.1.0 — see {@link initUploadSession}.
|
|
342
332
|
*/
|
|
343
|
-
async completeUploadSession(
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
throw new ProjectNotFound(projectId, "completing upload");
|
|
347
|
-
const completion = await this.client.request(`/storage/v1/uploads/${encodeURIComponent(uploadId)}/complete`, {
|
|
348
|
-
method: "POST",
|
|
349
|
-
headers: {
|
|
350
|
-
apikey: project.service_key,
|
|
351
|
-
Authorization: `Bearer ${project.service_key}`,
|
|
352
|
-
},
|
|
353
|
-
body: opts.parts ? { parts: opts.parts } : {},
|
|
354
|
-
context: "completing upload",
|
|
355
|
-
});
|
|
356
|
-
return buildAssetRef(completion, extra.contentType ?? completion.content_type ?? "application/octet-stream");
|
|
333
|
+
async completeUploadSession(_projectId, _uploadId, _opts = {}, _extra = {}) {
|
|
334
|
+
throw new LocalError("Assets.completeUploadSession was removed in v2.1.0 (gateway v1.48 dropped /storage/v1/uploads/:id/complete). " +
|
|
335
|
+
"Use `r.project(id).apply` — the apply hero's activation transaction promotes staged uploads to CAS automatically.", "completing upload");
|
|
357
336
|
}
|
|
358
337
|
/**
|
|
359
338
|
* Diagnose a public blob URL. Returns a JSON envelope describing the live
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/namespaces/assets.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/namespaces/assets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/namespaces/deploy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAiB3C,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/namespaces/deploy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAiB3C,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EAQtB,WAAW,EACX,oBAAoB,EAEpB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EAYrB,iBAAiB,EAGjB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,YAAY,EAEb,MAAM,mBAAmB,CAAC;AAiE3B,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C;;;;OAIG;IACG,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IA4C9E;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,eAAe,CAAC;IAI3E;;;;OAIG;IACG,IAAI,CACR,IAAI,EAAE,WAAW,EACjB,IAAI,GAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GACvD,OAAO,CAAC;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;KAAE,CAAC;IAIxE;;;;;OAKG;IACG,MAAM,CACV,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;KACxC,GACA,OAAO,CAAC,IAAI,CAAC;IAWhB;;;;;OAKG;IACG,MAAM,CACV,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;QACJ,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;QACvC,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;KACb,GACL,OAAO,CAAC,YAAY,CAAC;IAMxB;;;;;;;;;OASG;IACG,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE;QAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GACtE,OAAO,CAAC,YAAY,CAAC;IAqBxB;;;;OAIG;IACG,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAC9B,OAAO,CAAC,iBAAiB,CAAC;IAmB7B;;;;;;OAMG;IACG,IAAI,CACR,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAC/B,OAAO,CAAC,kBAAkB,CAAC;IA6B9B;;;;;;;;OAQG;IACG,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GACxB,OAAO,CAAC,oBAAoB,CAAC;IAmBhC;;;;OAIG;IACG,UAAU,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2B9E;;;;OAIG;IACG,gBAAgB,CACpB,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAqBlC;;;;OAIG;IACG,IAAI,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA+BnE;;;;OAIG;IACG,OAAO,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAW1E;AAuyCD;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -386,7 +386,15 @@ async function applyOnce(client, spec, opts, emit) {
|
|
|
386
386
|
emit({ type: "commit.phase", phase: "validate", status: "started" });
|
|
387
387
|
const { planId } = requirePersistedPlan(plan, "applying deploy");
|
|
388
388
|
const commit = await commitInternal(client, planId, opts.idempotencyKey);
|
|
389
|
-
|
|
389
|
+
const result = await pollUntilReady(client, commit, plan.diff, plan.warnings, emit, spec.project);
|
|
390
|
+
// v1.48 unified-apply: thread the plan response's `asset_entries[]` back
|
|
391
|
+
// into DeployResult.assets so callers reading `result.assets.byKey[key]`
|
|
392
|
+
// get the gateway-authoritative `AssetRef` envelope (URLs, SRI, etag).
|
|
393
|
+
// Release-only applies leave `result.assets` undefined.
|
|
394
|
+
if (plan.asset_entries && plan.asset_entries.length > 0) {
|
|
395
|
+
result.assets = buildAssetManifestFromPlanEntries(plan.asset_entries);
|
|
396
|
+
}
|
|
397
|
+
return result;
|
|
390
398
|
}
|
|
391
399
|
function normalizeApplyMaxRetries(value) {
|
|
392
400
|
if (value === undefined)
|
|
@@ -1319,8 +1327,10 @@ const RELEASE_SPEC_FIELDS = new Set([
|
|
|
1319
1327
|
"subdomains",
|
|
1320
1328
|
"routes",
|
|
1321
1329
|
"checks",
|
|
1330
|
+
"assets", // v1.48 unified-apply
|
|
1322
1331
|
]);
|
|
1323
1332
|
const DEPLOYABLE_SPEC_FIELDS = [
|
|
1333
|
+
"assets", // v1.48 unified-apply
|
|
1324
1334
|
"database",
|
|
1325
1335
|
"site",
|
|
1326
1336
|
"functions",
|
|
@@ -1710,7 +1720,17 @@ function hasDeployableContent(spec) {
|
|
|
1710
1720
|
hasSecretsContent(spec.secrets) ||
|
|
1711
1721
|
hasSubdomainsContent(spec.subdomains) ||
|
|
1712
1722
|
hasRecordEntries(spec.routes) ||
|
|
1713
|
-
hasArrayEntries(spec.checks)
|
|
1723
|
+
hasArrayEntries(spec.checks) ||
|
|
1724
|
+
hasAssetsContent(spec.assets));
|
|
1725
|
+
}
|
|
1726
|
+
function hasAssetsContent(assets) {
|
|
1727
|
+
if (!isRecord(assets))
|
|
1728
|
+
return false;
|
|
1729
|
+
if (hasArrayEntries(assets.put))
|
|
1730
|
+
return true;
|
|
1731
|
+
if (hasArrayEntries(assets.delete))
|
|
1732
|
+
return true;
|
|
1733
|
+
return isRecord(assets.sync);
|
|
1714
1734
|
}
|
|
1715
1735
|
function hasDatabaseContent(database) {
|
|
1716
1736
|
if (!isRecord(database))
|
|
@@ -2098,6 +2118,13 @@ async function normalizeReleaseSpec(client, spec) {
|
|
|
2098
2118
|
normalized.site = { public_paths: publicPaths };
|
|
2099
2119
|
}
|
|
2100
2120
|
}
|
|
2121
|
+
// v1.48 unified-apply: asset slice normalization. Mirrors the site
|
|
2122
|
+
// branch — for each `put` entry with a `source`, hash the bytes and
|
|
2123
|
+
// register a byte-reader; emit the wire-shaped `AssetPutEntry[]`.
|
|
2124
|
+
// Cross-kind SHA dedup is automatic via the shared `byteReaders` map.
|
|
2125
|
+
if (spec.assets) {
|
|
2126
|
+
normalized.assets = await normalizeAssetSlice(spec.assets, remember);
|
|
2127
|
+
}
|
|
2101
2128
|
return { normalized, byteReaders };
|
|
2102
2129
|
}
|
|
2103
2130
|
async function normalizeFunctionMap(map, remember) {
|
|
@@ -2137,6 +2164,179 @@ async function normalizeFileSet(set, remember) {
|
|
|
2137
2164
|
}
|
|
2138
2165
|
return out;
|
|
2139
2166
|
}
|
|
2167
|
+
// ─── Asset manifest assembly from plan response (v1.48 unified-apply) ───────
|
|
2168
|
+
/**
|
|
2169
|
+
* Build a {@link AssetManifest} from the plan response's `asset_entries[]`
|
|
2170
|
+
* array. Each entry's `asset_ref` carries gateway-authoritative URLs that
|
|
2171
|
+
* mirror the AssetRef envelope `Assets.put` returns for the single-entry
|
|
2172
|
+
* case. Keys are stored in null-prototype objects (design D9) so
|
|
2173
|
+
* attacker-controlled or filesystem-derived keys (`__proto__`,
|
|
2174
|
+
* `constructor`, `toString`) don't collide with prototype properties.
|
|
2175
|
+
*
|
|
2176
|
+
* Totals are derived from the plan response's per-entry `status`:
|
|
2177
|
+
* - `"upload_pending"` → bytes_uploaded (the SDK is about to PUT these to S3)
|
|
2178
|
+
* - `"present"` or `"satisfied_by_plan"` → bytes_reused (already in CAS,
|
|
2179
|
+
* dedup hit either project-locally or via a same-spec sibling)
|
|
2180
|
+
* `duration_ms` is filled in by `manifestFromResult` at the NodeAssets layer.
|
|
2181
|
+
*/
|
|
2182
|
+
function buildAssetManifestFromPlanEntries(entries) {
|
|
2183
|
+
const list = [];
|
|
2184
|
+
const byKey = Object.create(null);
|
|
2185
|
+
const manifest = Object.create(null);
|
|
2186
|
+
let bytesUploaded = 0;
|
|
2187
|
+
let bytesReused = 0;
|
|
2188
|
+
for (const entry of entries) {
|
|
2189
|
+
const e = {
|
|
2190
|
+
key: entry.key,
|
|
2191
|
+
sha256: entry.sha256,
|
|
2192
|
+
size_bytes: entry.size_bytes,
|
|
2193
|
+
content_type: entry.content_type,
|
|
2194
|
+
visibility: entry.visibility,
|
|
2195
|
+
url: entry.asset_ref.url,
|
|
2196
|
+
immutable_url: entry.asset_ref.immutable_url,
|
|
2197
|
+
cdn_url: entry.asset_ref.cdn_url,
|
|
2198
|
+
cdn_immutable_url: entry.asset_ref.cdn_immutable_url,
|
|
2199
|
+
sri: entry.asset_ref.sri,
|
|
2200
|
+
etag: entry.asset_ref.etag,
|
|
2201
|
+
content_digest: entry.asset_ref.content_digest,
|
|
2202
|
+
};
|
|
2203
|
+
list.push(e);
|
|
2204
|
+
byKey[entry.key] = e;
|
|
2205
|
+
manifest[entry.key] = e;
|
|
2206
|
+
if (entry.status === "upload_pending") {
|
|
2207
|
+
bytesUploaded += entry.size_bytes;
|
|
2208
|
+
}
|
|
2209
|
+
else {
|
|
2210
|
+
// "present" or "satisfied_by_plan" — already in CAS or covered by a sibling.
|
|
2211
|
+
bytesReused += entry.size_bytes;
|
|
2212
|
+
}
|
|
2213
|
+
}
|
|
2214
|
+
return {
|
|
2215
|
+
list,
|
|
2216
|
+
byKey,
|
|
2217
|
+
manifest,
|
|
2218
|
+
totals: {
|
|
2219
|
+
files: entries.length,
|
|
2220
|
+
bytes_uploaded: bytesUploaded,
|
|
2221
|
+
bytes_reused: bytesReused,
|
|
2222
|
+
duration_ms: 0,
|
|
2223
|
+
},
|
|
2224
|
+
};
|
|
2225
|
+
}
|
|
2226
|
+
// ─── Asset slice normalization (v1.48 unified-apply) ─────────────────────────
|
|
2227
|
+
/**
|
|
2228
|
+
* Type guard: distinguish the SDK-input shape (`AssetPutEntryInput` with
|
|
2229
|
+
* `source: ContentSource`) from the wire shape (`AssetPutEntry` with
|
|
2230
|
+
* `sha256` already computed). The two forms can be mixed in the same
|
|
2231
|
+
* `assets.put` array — the normalizer handles both branches.
|
|
2232
|
+
*/
|
|
2233
|
+
function isAssetPutEntryInput(entry) {
|
|
2234
|
+
return (typeof entry.source !== "undefined" &&
|
|
2235
|
+
typeof entry.sha256 === "undefined");
|
|
2236
|
+
}
|
|
2237
|
+
/**
|
|
2238
|
+
* Normalize the assets slice per design D3 (three-schema fidelity). For
|
|
2239
|
+
* each `put` entry:
|
|
2240
|
+
*
|
|
2241
|
+
* 1. If it's an `AssetPutEntryInput` (has `source`): call `resolveContent`
|
|
2242
|
+
* to hash the bytes, register a byte-reader via `remember()`, and emit
|
|
2243
|
+
* a wire-shaped `AssetPutEntry` (no `source` field).
|
|
2244
|
+
* 2. If it's already an `AssetPutEntry` (has `sha256`): pass through.
|
|
2245
|
+
*
|
|
2246
|
+
* Validates per-spec invariants before any network call: duplicate keys
|
|
2247
|
+
* in `put`, key in both `put` and `delete`, empty manifest (only the
|
|
2248
|
+
* assets slice was set and it had no `put`/`delete`/`sync` content).
|
|
2249
|
+
*
|
|
2250
|
+
* `spec.assets.delete` and `spec.assets.sync` pass through unchanged.
|
|
2251
|
+
*/
|
|
2252
|
+
async function normalizeAssetSlice(slice, remember) {
|
|
2253
|
+
const out = {};
|
|
2254
|
+
if (slice.put && slice.put.length > 0) {
|
|
2255
|
+
const seenKeys = new Set();
|
|
2256
|
+
const put = [];
|
|
2257
|
+
for (let idx = 0; idx < slice.put.length; idx++) {
|
|
2258
|
+
const entry = slice.put[idx];
|
|
2259
|
+
if (!entry.key || typeof entry.key !== "string") {
|
|
2260
|
+
throw new Run402DeployError(`assets.put[${idx}] missing required \`key\``, {
|
|
2261
|
+
code: "INVALID_SPEC",
|
|
2262
|
+
phase: "validate",
|
|
2263
|
+
resource: `assets.put[${idx}]`,
|
|
2264
|
+
retryable: false,
|
|
2265
|
+
fix: { action: "set_field", path: `assets.put[${idx}].key` },
|
|
2266
|
+
context: "validating spec",
|
|
2267
|
+
});
|
|
2268
|
+
}
|
|
2269
|
+
if (seenKeys.has(entry.key)) {
|
|
2270
|
+
throw new Run402DeployError(`assets.put contains duplicate key \`${entry.key}\``, {
|
|
2271
|
+
code: "ASSET_DUPLICATE_KEY_IN_PUT",
|
|
2272
|
+
phase: "validate",
|
|
2273
|
+
resource: `assets.put[${idx}]`,
|
|
2274
|
+
retryable: false,
|
|
2275
|
+
fix: { action: "set_field", path: `assets.put[${idx}].key` },
|
|
2276
|
+
context: "validating spec",
|
|
2277
|
+
});
|
|
2278
|
+
}
|
|
2279
|
+
seenKeys.add(entry.key);
|
|
2280
|
+
if (isAssetPutEntryInput(entry)) {
|
|
2281
|
+
const label = `assets.put[${idx}] (${entry.key})`;
|
|
2282
|
+
const resolved = await resolveContent(entry.source, label);
|
|
2283
|
+
if (!resolved.ref.contentType) {
|
|
2284
|
+
resolved.ref.contentType = entry.content_type ?? guessContentType(entry.key);
|
|
2285
|
+
}
|
|
2286
|
+
const ref = remember(resolved);
|
|
2287
|
+
put.push({
|
|
2288
|
+
key: entry.key,
|
|
2289
|
+
sha256: ref.sha256,
|
|
2290
|
+
size_bytes: ref.size,
|
|
2291
|
+
content_type: entry.content_type ?? ref.contentType ?? "application/octet-stream",
|
|
2292
|
+
visibility: entry.visibility ?? "public",
|
|
2293
|
+
immutable: entry.immutable ?? true,
|
|
2294
|
+
});
|
|
2295
|
+
}
|
|
2296
|
+
else {
|
|
2297
|
+
// Wire-shaped entry — pass through verbatim. The caller is
|
|
2298
|
+
// responsible for ensuring the bytes are already in CAS (or will
|
|
2299
|
+
// be uploaded out-of-band).
|
|
2300
|
+
put.push({
|
|
2301
|
+
key: entry.key,
|
|
2302
|
+
sha256: entry.sha256,
|
|
2303
|
+
size_bytes: entry.size_bytes,
|
|
2304
|
+
content_type: entry.content_type ?? "application/octet-stream",
|
|
2305
|
+
visibility: entry.visibility ?? "public",
|
|
2306
|
+
immutable: entry.immutable ?? true,
|
|
2307
|
+
});
|
|
2308
|
+
}
|
|
2309
|
+
}
|
|
2310
|
+
out.put = put;
|
|
2311
|
+
}
|
|
2312
|
+
if (slice.delete && slice.delete.length > 0) {
|
|
2313
|
+
out.delete = [...slice.delete];
|
|
2314
|
+
}
|
|
2315
|
+
// Cross-slice invariant: a key may not be both `put` and `delete`-d.
|
|
2316
|
+
if (out.put && out.delete) {
|
|
2317
|
+
const putKeys = new Set(out.put.map((e) => e.key));
|
|
2318
|
+
for (const k of out.delete) {
|
|
2319
|
+
if (putKeys.has(k)) {
|
|
2320
|
+
throw new Run402DeployError(`assets.put and assets.delete both reference key \`${k}\``, {
|
|
2321
|
+
code: "ASSET_KEY_IN_PUT_AND_DELETE",
|
|
2322
|
+
phase: "validate",
|
|
2323
|
+
resource: `assets`,
|
|
2324
|
+
retryable: false,
|
|
2325
|
+
fix: { action: "remove_field", path: `assets.delete[\`${k}\`]` },
|
|
2326
|
+
context: "validating spec",
|
|
2327
|
+
});
|
|
2328
|
+
}
|
|
2329
|
+
}
|
|
2330
|
+
}
|
|
2331
|
+
if (slice.sync) {
|
|
2332
|
+
out.sync = {
|
|
2333
|
+
prefix: slice.sync.prefix,
|
|
2334
|
+
prune: slice.sync.prune,
|
|
2335
|
+
...(slice.sync.confirm ? { confirm: slice.sync.confirm } : {}),
|
|
2336
|
+
};
|
|
2337
|
+
}
|
|
2338
|
+
return out;
|
|
2339
|
+
}
|
|
2140
2340
|
async function normalizeMigration(client, projectId, m, remember) {
|
|
2141
2341
|
if (!m.id) {
|
|
2142
2342
|
throw new Run402DeployError("MigrationSpec.id is required", {
|