run402 1.54.4 → 1.56.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.
Files changed (51) hide show
  1. package/README.md +38 -0
  2. package/cli.mjs +7 -0
  3. package/core-dist/allowance-auth.js +42 -22
  4. package/lib/ci.mjs +395 -0
  5. package/lib/deploy-v2.mjs +200 -12
  6. package/lib/deploy.mjs +49 -7
  7. package/lib/sdk.mjs +2 -2
  8. package/lib/secrets.mjs +15 -7
  9. package/package.json +1 -1
  10. package/sdk/core-dist/allowance-auth.js +42 -22
  11. package/sdk/dist/ci-credentials.d.ts +22 -0
  12. package/sdk/dist/ci-credentials.d.ts.map +1 -0
  13. package/sdk/dist/ci-credentials.js +103 -0
  14. package/sdk/dist/ci-credentials.js.map +1 -0
  15. package/sdk/dist/index.d.ts +7 -1
  16. package/sdk/dist/index.d.ts.map +1 -1
  17. package/sdk/dist/index.js +5 -0
  18. package/sdk/dist/index.js.map +1 -1
  19. package/sdk/dist/namespaces/apps.d.ts +11 -4
  20. package/sdk/dist/namespaces/apps.d.ts.map +1 -1
  21. package/sdk/dist/namespaces/apps.js +73 -9
  22. package/sdk/dist/namespaces/apps.js.map +1 -1
  23. package/sdk/dist/namespaces/ci.d.ts +21 -0
  24. package/sdk/dist/namespaces/ci.d.ts.map +1 -0
  25. package/sdk/dist/namespaces/ci.js +256 -0
  26. package/sdk/dist/namespaces/ci.js.map +1 -0
  27. package/sdk/dist/namespaces/ci.types.d.ts +91 -0
  28. package/sdk/dist/namespaces/ci.types.d.ts.map +1 -0
  29. package/sdk/dist/namespaces/ci.types.js +8 -0
  30. package/sdk/dist/namespaces/ci.types.js.map +1 -0
  31. package/sdk/dist/namespaces/deploy.d.ts.map +1 -1
  32. package/sdk/dist/namespaces/deploy.js +145 -30
  33. package/sdk/dist/namespaces/deploy.js.map +1 -1
  34. package/sdk/dist/namespaces/deploy.types.d.ts +24 -9
  35. package/sdk/dist/namespaces/deploy.types.d.ts.map +1 -1
  36. package/sdk/dist/namespaces/secrets.d.ts +3 -2
  37. package/sdk/dist/namespaces/secrets.d.ts.map +1 -1
  38. package/sdk/dist/namespaces/secrets.js +45 -5
  39. package/sdk/dist/namespaces/secrets.js.map +1 -1
  40. package/sdk/dist/node/ci.d.ts +12 -0
  41. package/sdk/dist/node/ci.d.ts.map +1 -0
  42. package/sdk/dist/node/ci.js +30 -0
  43. package/sdk/dist/node/ci.js.map +1 -0
  44. package/sdk/dist/node/index.d.ts +7 -2
  45. package/sdk/dist/node/index.d.ts.map +1 -1
  46. package/sdk/dist/node/index.js +3 -2
  47. package/sdk/dist/node/index.js.map +1 -1
  48. package/sdk/dist/type-contract.d.ts +2 -0
  49. package/sdk/dist/type-contract.d.ts.map +1 -0
  50. package/sdk/dist/type-contract.js +2 -0
  51. package/sdk/dist/type-contract.js.map +1 -0
@@ -18,7 +18,9 @@
18
18
  * See `unified-deploy` and `cas-content` capability specs for normative
19
19
  * behavior; this file is the implementation.
20
20
  */
21
- import { ApiError, LocalError, NetworkError, Run402DeployError, } from "../errors.js";
21
+ import { isCiSessionCredentials } from "../ci-credentials.js";
22
+ import { assertCiDeployableSpec } from "./ci.js";
23
+ import { ApiError, LocalError, NetworkError, PaymentRequired, Run402DeployError, Unauthorized, } from "../errors.js";
22
24
  // ─── Constants ───────────────────────────────────────────────────────────────
23
25
  const PLAN_BODY_LIMIT_BYTES = 5 * 1024 * 1024;
24
26
  const COMMIT_POLL_INITIAL_MS = 1_000;
@@ -26,6 +28,7 @@ const COMMIT_POLL_MAX_MS = 30_000;
26
28
  const COMMIT_POLL_BACKOFF_AFTER_MS = 30_000;
27
29
  const COMMIT_POLL_TIMEOUT_MS = 10 * 60 * 1000;
28
30
  const URL_REFRESH_AT_MS = 50 * 60 * 1000;
31
+ const SECRET_KEY_RE = /^[A-Z_][A-Z0-9_]{0,127}$/;
29
32
  const MANIFEST_CONTENT_TYPE = "application/vnd.run402.deploy-manifest+json";
30
33
  const TERMINAL_STATUSES = [
31
34
  "ready",
@@ -50,6 +53,8 @@ export class Deploy {
50
53
  emit({ type: "plan.started" });
51
54
  const { plan, byteReaders } = await planInternal(this.client, spec, opts.idempotencyKey);
52
55
  emit({ type: "plan.diff", diff: plan.diff });
56
+ emitPlanWarnings(plan, emit);
57
+ abortOnConfirmationWarnings(plan, opts);
53
58
  if (plan.payment_required) {
54
59
  emit({
55
60
  type: "payment.required",
@@ -66,7 +71,7 @@ export class Deploy {
66
71
  await uploadMissing(this.client, spec.project, plan.missing_content, byteReaders, emit);
67
72
  emit({ type: "commit.phase", phase: "validate", status: "started" });
68
73
  const commit = await commitInternal(this.client, plan.plan_id, opts.idempotencyKey);
69
- return await pollUntilReady(this.client, commit, plan.diff, emit, spec.project);
74
+ return await pollUntilReady(this.client, commit, plan.diff, plan.warnings, emit, spec.project);
70
75
  }
71
76
  /**
72
77
  * Start a resumable deploy operation. Returns an object exposing the
@@ -102,7 +107,7 @@ export class Deploy {
102
107
  async commit(planId, opts = {}) {
103
108
  const emit = makeEmitter(opts.onEvent);
104
109
  const commit = await commitInternal(this.client, planId, opts.idempotencyKey);
105
- return await pollUntilReady(this.client, commit, {}, emit, opts.project);
110
+ return await pollUntilReady(this.client, commit, {}, [], emit, opts.project);
106
111
  }
107
112
  /**
108
113
  * Resume an operation in `schema_settling` or `activation_pending`. The
@@ -130,7 +135,7 @@ export class Deploy {
130
135
  catch (err) {
131
136
  throw translateDeployError(err, "resume", null, operationId);
132
137
  }
133
- return await pollSnapshotUntilReady(this.client, snapshot, {}, emit, opts.project);
138
+ return await pollSnapshotUntilReady(this.client, snapshot, {}, [], emit, opts.project);
134
139
  }
135
140
  /**
136
141
  * Snapshot a deploy operation. The endpoint requires `apikey` auth, so
@@ -212,7 +217,10 @@ export class Deploy {
212
217
  }
213
218
  // ─── Internal pipeline ───────────────────────────────────────────────────────
214
219
  async function planInternal(client, spec, idempotencyKey) {
220
+ const ciCredentials = isCiClient(client);
215
221
  validateSpec(spec);
222
+ if (ciCredentials)
223
+ assertCiDeployableSpec(spec);
216
224
  const { normalized, byteReaders } = await normalizeReleaseSpec(client, spec);
217
225
  // The gateway expects { spec, manifest_ref?, idempotency_key? } with
218
226
  // ReleaseSpec.project (singular). For oversized specs the SDK uploads
@@ -228,6 +236,15 @@ async function planInternal(client, spec, idempotencyKey) {
228
236
  body = inlineBody;
229
237
  }
230
238
  else {
239
+ if (ciCredentials) {
240
+ throw new Run402DeployError("CI deploys must use inline specs under the gateway body cap; the normalized deploy plan would require manifest_ref.", {
241
+ code: "forbidden_spec_field",
242
+ phase: "validate",
243
+ resource: "manifest_ref",
244
+ retryable: false,
245
+ context: "validating CI deploy spec",
246
+ });
247
+ }
231
248
  // Upload the normalized manifest itself as a CAS object so the gateway
232
249
  // can pick it up via `manifest_ref`. The body still carries a minimal
233
250
  // `spec` so the gateway has the project for auth + plan persistence.
@@ -239,11 +256,11 @@ async function planInternal(client, spec, idempotencyKey) {
239
256
  }
240
257
  let plan;
241
258
  try {
242
- plan = await client.request("/deploy/v2/plans", {
259
+ plan = normalizePlanResponse(await client.request("/deploy/v2/plans", {
243
260
  method: "POST",
244
261
  body,
245
262
  context: "planning deploy",
246
- });
263
+ }));
247
264
  }
248
265
  catch (err) {
249
266
  throw translateDeployError(err, "plan", null, null);
@@ -285,6 +302,7 @@ async function uploadMissing(client, projectId, presence, byteReaders, emit) {
285
302
  // refs, it issues an upload session per ref with presigned PUT URLs,
286
303
  // then we PUT the bytes and commit the content plan.
287
304
  const headers = await apikeyHeaders(client, projectId);
305
+ const ciCredentials = isCiClient(client);
288
306
  const contentRequest = needsUpload.map((p) => {
289
307
  const reader = byteReaders.get(p.sha256);
290
308
  return {
@@ -296,7 +314,9 @@ async function uploadMissing(client, projectId, presence, byteReaders, emit) {
296
314
  const planRes = await client.request("/content/v1/plans", {
297
315
  method: "POST",
298
316
  headers,
299
- body: { content: contentRequest },
317
+ body: ciCredentials
318
+ ? { project_id: projectId, content: contentRequest }
319
+ : { content: contentRequest },
300
320
  context: "planning content upload",
301
321
  });
302
322
  const total = planRes.missing.length;
@@ -313,26 +333,25 @@ async function uploadMissing(client, projectId, presence, byteReaders, emit) {
313
333
  }
314
334
  const bytes = await reader();
315
335
  await uploadOneWithRetry(client.fetch, session, bytes);
316
- // Per-session completion — promotes the staged object to CAS via
317
- // services/cas-promote.ts. The plan-level `/content/v1/plans/:id/commit`
318
- // call below is the plan-level finalize; per-session promotion happens
319
- // here through the existing /storage/v1/uploads/:id/complete handler,
320
- // which knows how to handle `kind='cas'` sessions and write the
321
- // internal.content_objects + internal.plan_claims rows the deploy
322
- // commit's FK constraints rely on.
323
- const completeBody = {};
324
- if (session.mode === "multipart" && session.parts.length > 1) {
325
- // Multipart completion needs per-part ETags. The SDK doesn't capture
326
- // ETags during the PUT loop today (it would need a multi-PUT
327
- // helper); for the common single-PUT case below this is empty.
328
- // TODO: collect part ETags during uploadOne for true multipart.
336
+ if (!ciCredentials) {
337
+ // Per-session completion — legacy non-CI promotion path via
338
+ // /storage/v1/uploads/:id/complete. CI sessions skip this route because
339
+ // the gateway contract only allows /content/v1/plans*; under CI the
340
+ // plan-level content commit performs the CAS promotion.
341
+ const completeBody = {};
342
+ if (session.mode === "multipart" && session.parts.length > 1) {
343
+ // Multipart completion needs per-part ETags. The SDK doesn't capture
344
+ // ETags during the PUT loop today (it would need a multi-PUT
345
+ // helper); for the common single-PUT case below this is empty.
346
+ // TODO: collect part ETags during uploadOne for true multipart.
347
+ }
348
+ await client.request(`/storage/v1/uploads/${encodeURIComponent(session.upload_id)}/complete`, {
349
+ method: "POST",
350
+ headers,
351
+ body: completeBody,
352
+ context: "completing content upload session",
353
+ });
329
354
  }
330
- await client.request(`/storage/v1/uploads/${encodeURIComponent(session.upload_id)}/complete`, {
331
- method: "POST",
332
- headers,
333
- body: completeBody,
334
- context: "completing content upload session",
335
- });
336
355
  done += 1;
337
356
  emit({
338
357
  type: "content.upload.progress",
@@ -444,7 +463,7 @@ async function putToS3(fetchFn, url, body, checksumBase64, partNumber) {
444
463
  });
445
464
  }
446
465
  }
447
- async function pollUntilReady(client, commit, diff, emit, projectId) {
466
+ async function pollUntilReady(client, commit, diff, warnings, emit, projectId) {
448
467
  if (commit.status === "failed") {
449
468
  throw translateGatewayError(commit.error, "commit", null, commit.operation_id);
450
469
  }
@@ -464,13 +483,14 @@ async function pollUntilReady(client, commit, diff, emit, projectId) {
464
483
  operation_id: commit.operation_id,
465
484
  urls: commit.urls,
466
485
  diff,
486
+ warnings,
467
487
  };
468
488
  }
469
489
  const opHeaders = projectId ? await apikeyHeaders(client, projectId) : {};
470
490
  const initialSnapshot = await client.request(`/deploy/v2/operations/${encodeURIComponent(commit.operation_id)}`, { headers: opHeaders, context: "fetching deploy operation" });
471
- return await pollSnapshotUntilReady(client, initialSnapshot, diff, emit, projectId);
491
+ return await pollSnapshotUntilReady(client, initialSnapshot, diff, warnings, emit, projectId);
472
492
  }
473
- async function pollSnapshotUntilReady(client, initial, diff, emit, projectId) {
493
+ async function pollSnapshotUntilReady(client, initial, diff, warnings, emit, projectId) {
474
494
  let snapshot = initial;
475
495
  const opHeaders = projectId ? await apikeyHeaders(client, projectId) : {};
476
496
  let lastPhaseEmitted = null;
@@ -542,6 +562,7 @@ async function pollSnapshotUntilReady(client, initial, diff, emit, projectId) {
542
562
  operation_id: snapshot.operation_id,
543
563
  urls: snapshot.urls,
544
564
  diff,
565
+ warnings,
545
566
  };
546
567
  }
547
568
  if (TERMINAL_STATUSES.includes(snapshot.status)) {
@@ -591,6 +612,8 @@ async function startInternal(client, spec, opts) {
591
612
  emit({ type: "plan.started" });
592
613
  const { plan, byteReaders } = await planInternal(client, spec, opts.idempotencyKey);
593
614
  emit({ type: "plan.diff", diff: plan.diff });
615
+ emitPlanWarnings(plan, emit);
616
+ abortOnConfirmationWarnings(plan, opts);
594
617
  if (plan.payment_required) {
595
618
  emit({
596
619
  type: "payment.required",
@@ -604,7 +627,7 @@ async function startInternal(client, spec, opts) {
604
627
  await uploadMissing(client, spec.project, plan.missing_content, byteReaders, emit);
605
628
  emit({ type: "commit.phase", phase: "validate", status: "started" });
606
629
  const commit = await commitInternal(client, plan.plan_id, opts.idempotencyKey);
607
- return await pollUntilReady(client, commit, plan.diff, emit, spec.project);
630
+ return await pollUntilReady(client, commit, plan.diff, plan.warnings, emit, spec.project);
608
631
  })();
609
632
  // Avoid an unhandled-rejection at construction time. Consumers must call
610
633
  // .result() to actually observe the error.
@@ -730,6 +753,90 @@ function validateSpec(spec) {
730
753
  context: "validating spec",
731
754
  });
732
755
  }
756
+ validateSecretsSpec(spec.secrets);
757
+ }
758
+ function normalizePlanResponse(plan) {
759
+ const raw = plan;
760
+ return {
761
+ ...plan,
762
+ warnings: Array.isArray(raw.warnings) ? raw.warnings : [],
763
+ };
764
+ }
765
+ function emitPlanWarnings(plan, emit) {
766
+ if (plan.warnings.length > 0) {
767
+ emit({ type: "plan.warnings", warnings: plan.warnings });
768
+ }
769
+ }
770
+ function abortOnConfirmationWarnings(plan, opts) {
771
+ if (opts.allowWarnings)
772
+ return;
773
+ const blocking = plan.warnings.filter((w) => w.requires_confirmation || w.code === "MISSING_REQUIRED_SECRET");
774
+ if (blocking.length === 0)
775
+ return;
776
+ const missing = blocking.find((w) => w.code === "MISSING_REQUIRED_SECRET");
777
+ const first = missing ?? blocking[0];
778
+ throw new Run402DeployError(`Deploy plan returned warning ${first.code} that requires confirmation; resolve it or retry with allowWarnings after explicit review.`, {
779
+ code: first.code || "DEPLOY_WARNING_REQUIRES_CONFIRMATION",
780
+ phase: "plan",
781
+ resource: "warnings",
782
+ retryable: false,
783
+ fix: { action: "review_warnings", path: "warnings" },
784
+ body: { warnings: blocking },
785
+ context: "planning deploy",
786
+ });
787
+ }
788
+ function validateSecretsSpec(secrets) {
789
+ if (secrets === undefined)
790
+ return;
791
+ if (!secrets || typeof secrets !== "object" || Array.isArray(secrets)) {
792
+ throw invalidSecretSpec("ReleaseSpec.secrets must be an object", "secrets");
793
+ }
794
+ const obj = secrets;
795
+ const allowed = new Set(["require", "delete"]);
796
+ for (const key of Object.keys(obj)) {
797
+ if (!allowed.has(key)) {
798
+ throw invalidSecretSpec(key === "set" || key === "replace_all"
799
+ ? `ReleaseSpec.secrets.${key} is no longer supported; set values with the secrets API, then use secrets.require[] in the deploy spec.`
800
+ : `Unknown ReleaseSpec.secrets field: ${key}`, `secrets.${key}`);
801
+ }
802
+ }
803
+ const required = validateSecretKeyArray(obj.require, "secrets.require");
804
+ const deleted = validateSecretKeyArray(obj.delete, "secrets.delete");
805
+ const deleteSet = new Set(deleted);
806
+ const conflict = required.find((key) => deleteSet.has(key));
807
+ if (conflict) {
808
+ throw invalidSecretSpec(`Secret key ${conflict} cannot appear in both secrets.require and secrets.delete`, "secrets");
809
+ }
810
+ }
811
+ function validateSecretKeyArray(value, resource) {
812
+ if (value === undefined)
813
+ return [];
814
+ if (!Array.isArray(value)) {
815
+ throw invalidSecretSpec(`${resource} must be an array of secret keys`, resource);
816
+ }
817
+ const seen = new Set();
818
+ const out = [];
819
+ for (const key of value) {
820
+ if (typeof key !== "string" || !SECRET_KEY_RE.test(key)) {
821
+ throw invalidSecretSpec(`${resource} entries must match ${SECRET_KEY_RE.source}`, resource);
822
+ }
823
+ if (seen.has(key)) {
824
+ throw invalidSecretSpec(`${resource} contains duplicate key ${key}`, resource);
825
+ }
826
+ seen.add(key);
827
+ out.push(key);
828
+ }
829
+ return out;
830
+ }
831
+ function invalidSecretSpec(message, resource) {
832
+ return new Run402DeployError(message, {
833
+ code: "INVALID_SPEC",
834
+ phase: "validate",
835
+ resource,
836
+ retryable: false,
837
+ fix: { action: "set_field", path: resource },
838
+ context: "validating spec",
839
+ });
733
840
  }
734
841
  async function normalizeReleaseSpec(client, spec) {
735
842
  const byteReaders = new Map();
@@ -1043,11 +1150,16 @@ async function uploadInlineCas(client, projectId, bytes, contentType) {
1043
1150
  * projects in any of today's other apikey-auth tools).
1044
1151
  */
1045
1152
  async function apikeyHeaders(client, projectId) {
1153
+ if (isCiClient(client))
1154
+ return {};
1046
1155
  const project = await client.getProject(projectId);
1047
1156
  if (!project)
1048
1157
  return {};
1049
1158
  return { apikey: project.anon_key };
1050
1159
  }
1160
+ function isCiClient(client) {
1161
+ return isCiSessionCredentials(client.credentials);
1162
+ }
1051
1163
  function makeEmitter(cb) {
1052
1164
  if (!cb)
1053
1165
  return () => { };
@@ -1199,6 +1311,9 @@ function translateDeployError(err, phase, planId, operationId) {
1199
1311
  // Re-throw other Run402Error subclasses (PaymentRequired, Unauthorized, etc.)
1200
1312
  // as-is — the consumer handles them at a different layer than
1201
1313
  // deploy-state-machine errors.
1314
+ if (err instanceof PaymentRequired || err instanceof Unauthorized) {
1315
+ throw err;
1316
+ }
1202
1317
  if (err instanceof Error) {
1203
1318
  return new Run402DeployError(err.message, {
1204
1319
  code: "INTERNAL_ERROR",
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/namespaces/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/namespaces/deploy.ts"],"names":[],"mappings":"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"}
@@ -102,16 +102,12 @@ export interface ExposeManifest {
102
102
  [key: string]: unknown;
103
103
  }
104
104
  export interface SecretsSpec {
105
- /** Set or update specific secrets. Existing secrets not in `set` remain. */
106
- set?: Record<string, {
107
- value: string;
108
- }>;
109
- /** Delete specific secrets by key. */
105
+ /** Keys that must already exist in the project's secret store at commit time.
106
+ * Plan-time emits a MISSING_REQUIRED_SECRET warning for absent keys;
107
+ * commit-time hard-errors if they are still missing. */
108
+ require?: string[];
109
+ /** Delete specific secrets by key at activation. Unknown keys hard-error at commit-time gating. */
110
110
  delete?: string[];
111
- /** Replace all secrets with this exact set (anything else is removed). */
112
- replace_all?: Record<string, {
113
- value: string;
114
- }>;
115
111
  }
116
112
  export interface FunctionsSpec {
117
113
  /** The new desired set — functions absent here are removed in the new
@@ -189,8 +185,18 @@ export interface PlanResponse {
189
185
  * the deploy commit will succeed. */
190
186
  missing_content: PlanContentRef[];
191
187
  diff: DeployDiff;
188
+ warnings: WarningEntry[];
192
189
  payment_required?: PaymentRequiredHint | null;
193
190
  }
191
+ export interface WarningEntry {
192
+ code: string;
193
+ severity: "low" | "medium" | "high";
194
+ requires_confirmation: boolean;
195
+ message: string;
196
+ affected?: string[];
197
+ details?: Record<string, unknown>;
198
+ confidence?: "low" | "medium" | "high";
199
+ }
194
200
  export interface PlanContentRef {
195
201
  sha256: string;
196
202
  size: number;
@@ -392,6 +398,9 @@ export type DeployEvent = {
392
398
  } | {
393
399
  type: "plan.diff";
394
400
  diff: DeployDiff;
401
+ } | {
402
+ type: "plan.warnings";
403
+ warnings: WarningEntry[];
395
404
  } | {
396
405
  type: "payment.required";
397
406
  amount: string;
@@ -433,6 +442,8 @@ export interface DeployResult {
433
442
  /** The `diff` from the plan response — useful for "what changed in this
434
443
  * deploy" UX. */
435
444
  diff: DeployDiff;
445
+ /** Structured plan warnings that were observed before commit. */
446
+ warnings: WarningEntry[];
436
447
  }
437
448
  export interface ApplyOptions {
438
449
  /** Synchronous progress callback. Throws inside the callback are caught
@@ -442,6 +453,10 @@ export interface ApplyOptions {
442
453
  * combines it with the manifest digest to deduplicate retries. Default:
443
454
  * the gateway-computed manifest digest itself acts as the key. */
444
455
  idempotencyKey?: string;
456
+ /** Continue past plan warnings that require confirmation. Default false:
457
+ * `apply()` aborts before upload/commit so agents can set missing secrets,
458
+ * inspect warnings, or use the low-level plan/upload/commit flow. */
459
+ allowWarnings?: boolean;
445
460
  }
446
461
  export interface StartOptions extends ApplyOptions {
447
462
  }