run402 4.72.1 → 4.73.1

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "surface_version": "4.72.1",
2
+ "surface_version": "4.73.1",
3
3
  "verbs": [
4
4
  "repos create",
5
5
  "repos list",
package/lib/deploy-v2.mjs CHANGED
@@ -46,8 +46,8 @@ import { sdkStats, printVerboseStats } from "./stats.mjs";
46
46
  const APPLY_HELP = `run402 deploy apply — Unified deploy primitive (v1.34+)
47
47
 
48
48
  Usage:
49
- run402 deploy apply --manifest <path> [--project <id>] [--check|--print-spec|--plan|--rehearse|--require-plan <id>] [--quiet|--final-only] [--json]
50
- run402 deploy apply --spec '<json>' [--project <id>] [--check|--print-spec|--plan|--rehearse|--require-plan <id>] [--quiet|--final-only] [--json]
49
+ run402 deploy apply --manifest <path> [--project <id>] [--check|--print-spec|--plan|--require-plan <id>] [--no-rehearse] [--quiet|--final-only] [--json]
50
+ run402 deploy apply --spec '<json>' [--project <id>] [--check|--print-spec|--plan|--require-plan <id>] [--no-rehearse] [--quiet|--final-only] [--json]
51
51
  run402 deploy apply --dir <build-output> [--manifest <path>] [--project <id>]
52
52
  cat spec.json | run402 deploy apply [--project <id>]
53
53
 
@@ -98,9 +98,10 @@ Options:
98
98
  --check Validate and normalize locally. No gateway calls or uploads.
99
99
  --print-spec Print the normalized ReleaseSpec JSON. No gateway calls or uploads.
100
100
  --plan Ask the gateway for a reviewed plan. No upload or commit.
101
- --rehearse Plan, upload missing content, run the plan against a contained branch, and print the rehearsal report. Does not commit unless --commit is also passed.
102
- --teardown <policy> Rehearsal branch cleanup policy: keep (default), on_pass, or always.
103
- --commit After a passing rehearsal, commit the original plan.
101
+ --no-rehearse Skip the automatic rehearsal. By default a migration-bearing plan
102
+ against a project with a live release is rehearsed on a contained
103
+ branch and committed only on a passing report (result.rehearsal);
104
+ a first deploy has nothing to protect and commits directly.
104
105
  --require-plan <id> Apply only if this reviewed plan still matches.
105
106
  --json No-op compatibility flag; success output is always JSON.
106
107
  --quiet Suppress per-event JSON-line stderr (final result still on stdout)
@@ -237,8 +238,9 @@ Options:
237
238
  failed rehearsals keep it), keep, always. When omitted,
238
239
  the gateway default (on_pass) applies.
239
240
 
240
- Use \`run402 apply --manifest app.json --rehearse --json\` for the canonical
241
- one-shot plan upload rehearse report flow.
241
+ Rehearsal is automatic in \`run402 up\` / \`run402 deploy apply\` for a
242
+ migration-bearing plan against a project with a live release; this verb is the
243
+ primitive for rehearsing an already-persisted plan without committing.
242
244
  `;
243
245
 
244
246
  const RELEASE_HELP = `run402 deploy release — Inspect deploy release inventory and diffs
@@ -660,12 +662,11 @@ function parseApplyArgs(args) {
660
662
  allowWarningCodes: [],
661
663
  mode: null,
662
664
  planFingerprint: null,
663
- rehearsalTeardown: "keep",
664
- commitAfterRehearse: false,
665
+ noRehearse: false,
665
666
  allowDirty: false,
666
667
  verbose: false,
667
668
  };
668
- const allowedFlags = ["--manifest", "--spec", "--dir", "--project", "--quiet", "--final-only", "--json", "--allow-warning", "--allow-warnings", "--check", "--print-spec", "--plan", "--rehearse", "--teardown", "--commit", "--require-plan", "--plan-fingerprint", "--allow-dirty", "-v", "--verbose", "--help", "-h"];
669
+ const allowedFlags = ["--manifest", "--spec", "--dir", "--project", "--quiet", "--final-only", "--json", "--allow-warning", "--allow-warnings", "--check", "--print-spec", "--plan", "--no-rehearse", "--require-plan", "--plan-fingerprint", "--allow-dirty", "-v", "--verbose", "--help", "-h"];
669
670
 
670
671
  for (let i = 0; i < args.length; i++) {
671
672
  const arg = args[i];
@@ -715,15 +716,6 @@ function parseApplyArgs(args) {
715
716
  opts.allowWarningCodes.push(value);
716
717
  } else if (arg === "--require-plan") {
717
718
  setApplyMode(opts, { kind: "applyReviewed", planId: value }, "--require-plan");
718
- } else if (arg === "--teardown") {
719
- if (!["keep", "on_pass", "always"].includes(value)) {
720
- fail({
721
- code: "BAD_USAGE",
722
- message: "--teardown must be one of: keep, on_pass, always",
723
- details: { flag: "--teardown", value },
724
- });
725
- }
726
- opts.rehearsalTeardown = value;
727
719
  } else {
728
720
  opts.planFingerprint = value;
729
721
  }
@@ -738,8 +730,7 @@ function parseApplyArgs(args) {
738
730
  if (arg === "--check") { setApplyMode(opts, "check", "--check"); continue; }
739
731
  if (arg === "--print-spec") { setApplyMode(opts, "printSpec", "--print-spec"); continue; }
740
732
  if (arg === "--plan") { setApplyMode(opts, "plan", "--plan"); continue; }
741
- if (arg === "--rehearse") { setApplyMode(opts, "rehearse", "--rehearse"); continue; }
742
- if (arg === "--commit") { opts.commitAfterRehearse = true; continue; }
733
+ if (arg === "--no-rehearse") { opts.noRehearse = true; continue; }
743
734
  if (typeof arg === "string" && arg.startsWith("-")) {
744
735
  fail({
745
736
  code: "BAD_USAGE",
@@ -770,14 +761,6 @@ function parseApplyArgs(args) {
770
761
  });
771
762
  }
772
763
  }
773
- if (opts.commitAfterRehearse && opts.mode !== "rehearse") {
774
- fail({
775
- code: "BAD_USAGE",
776
- message: "--commit can only be used with --rehearse.",
777
- details: { flag: "--commit" },
778
- });
779
- }
780
-
781
764
  return opts;
782
765
  }
783
766
 
@@ -1201,56 +1184,6 @@ async function applyCmd(args) {
1201
1184
  console.log(JSON.stringify(result.plan, null, 2));
1202
1185
  return;
1203
1186
  }
1204
- if (opts.mode === "rehearse") {
1205
- const sdk = getSdk(sdkOpts);
1206
- const planned = await sdk._applyEngine.plan(releaseSpec, { idempotencyKey });
1207
- const planId = planned.plan.plan_id;
1208
- if (!planId) {
1209
- fail({
1210
- code: "DRY_RUN_PLAN_NOT_COMMITTABLE",
1211
- message: "Rehearsal requires a persisted plan_id, but the plan response did not include one.",
1212
- details: { project_id: releaseSpec.project },
1213
- });
1214
- }
1215
- await sdk._applyEngine.upload(planned.plan, {
1216
- project: releaseSpec.project,
1217
- byteReaders: planned.byteReaders,
1218
- onEvent: makeStderrEventWriter(opts.quiet),
1219
- });
1220
- const rehearsal = await withAutoApprove(() =>
1221
- sdk._applyEngine.rehearse(planId, {
1222
- project: releaseSpec.project,
1223
- teardown: opts.rehearsalTeardown,
1224
- }),
1225
- );
1226
- if (rehearsal.report.status !== "passed") {
1227
- console.log(JSON.stringify({
1228
- ok: false,
1229
- project_id: releaseSpec.project,
1230
- plan_id: planId,
1231
- rehearsal,
1232
- commit_command: `run402 deploy apply --require-plan ${planId}${planned.plan.plan_fingerprint ? ` --plan-fingerprint ${planned.plan.plan_fingerprint}` : ""}`,
1233
- }, null, 2));
1234
- process.exit(1);
1235
- }
1236
- if (opts.commitAfterRehearse) {
1237
- const committed = await sdk._applyEngine.commit(planId, {
1238
- project: releaseSpec.project,
1239
- onEvent: makeStderrEventWriter(opts.quiet),
1240
- idempotencyKey,
1241
- });
1242
- console.log(JSON.stringify({ ok: true, project_id: releaseSpec.project, plan: planned.plan, rehearsal, commit: committed }, null, 2));
1243
- return;
1244
- }
1245
- console.log(JSON.stringify({
1246
- ok: true,
1247
- project_id: releaseSpec.project,
1248
- plan: planned.plan,
1249
- rehearsal,
1250
- commit_command: `run402 deploy apply --require-plan ${planId}${planned.plan.plan_fingerprint ? ` --plan-fingerprint ${planned.plan.plan_fingerprint}` : ""}`,
1251
- }, null, 2));
1252
- return;
1253
- }
1254
1187
  const requiredPlan = opts.mode && opts.mode.kind === "applyReviewed"
1255
1188
  ? { planId: opts.mode.planId, ...(opts.mode.planFingerprint ? { planFingerprint: opts.mode.planFingerprint } : {}) }
1256
1189
  : undefined;
@@ -1269,6 +1202,7 @@ async function applyCmd(args) {
1269
1202
  idempotencyKey,
1270
1203
  allowWarnings: opts.allowWarnings,
1271
1204
  allowWarningCodes: opts.allowWarningCodes,
1205
+ ...(opts.noRehearse ? { noRehearse: true } : {}),
1272
1206
  ...(requiredPlan ? { requiredPlan } : {}),
1273
1207
  },
1274
1208
  target: isCoreApiTarget() ? "core" : "cloud",
@@ -3,16 +3,19 @@
3
3
  *
4
4
  * `run402 init`'s 5b block pioneered this pattern; this module is the same
5
5
  * additive-only, non-fatal-in-every-branch scaffold factored out so
6
- * `projects provision`, `run402 up`, and `run402 repos create` all report
7
- * through the IDENTICAL `gitvault` / `gitvault_skipped` / `gitvault_error`
8
- * summary keys `init` already uses, instead of three near-copies drifting
9
- * apart. `init.mjs` itself is left untouched — its own scaffold block is
6
+ * `run402 up` and `run402 repos create` report through the IDENTICAL
7
+ * `gitvault` / `gitvault_skipped` / `gitvault_error` summary keys `init`
8
+ * already uses (plus `status` / `reason` / `toplevel`), instead of
9
+ * near-copies drifting apart. `projects provision` never scaffolds: it is
10
+ * the provisioning primitive and has no local side effects. `init.mjs` itself is left untouched — its own scaffold block is
10
11
  * shipped and tested; this module exists for the NEW callers task 2.4 adds.
11
12
  *
12
13
  * Never creates a repository on its own unless `createRepoIfMissing` is
13
14
  * explicit (mirrors `init`'s `--git-remote` opt-in): a directory the caller
14
- * did not ask to turn into a repository is left alone. `origin` is never
15
- * touched or reclaimed (D1, via `gitvault.scaffoldRemote` itself). Every
15
+ * did not ask to turn into a repository is left alone. The remote is always
16
+ * `run402` and `origin` is never touched or claimed; a directory that lies
17
+ * inside ANOTHER repository is reported `skipped` with the enclosing
18
+ * toplevel named — that repository is never touched (first-deploy-agent-dx). Every
16
19
  * branch is non-fatal — a missing git, an unresolvable org, or an
17
20
  * unreachable gateway all report and return, never throw.
18
21
  */
@@ -25,10 +28,10 @@ import { resolveOwningOrgId } from "./org-context.mjs";
25
28
  * @param {string} options.projectId The project the remote should point at.
26
29
  * @param {string} [options.orgId] Explicit owning org. Resolved via `resolveOwningOrgId` when omitted.
27
30
  * @param {boolean} [options.createRepoIfMissing] Opt into `git init`-ing `repoDir` when it is not a repository yet.
28
- * @returns {Promise<{gitvault: object|null, gitvault_skipped?: string, gitvault_error?: {code: string, message: string}}>}
31
+ * @returns {Promise<{status: "scaffolded"|"skipped"|"error", reason?: string, toplevel?: string|null, gitvault: object|null, gitvault_skipped?: string, gitvault_error?: {code: string, message: string}}>}
29
32
  */
30
33
  export async function scaffoldGitvaultRemote({ repoDir = process.cwd(), projectId, orgId, createRepoIfMissing = false } = {}) {
31
- const out = { gitvault: null };
34
+ const out = { gitvault: null, status: "skipped" };
32
35
  try {
33
36
  const { hardenedGit } = await import("#sdk/node");
34
37
  let insideRepo = true;
@@ -38,21 +41,33 @@ export async function scaffoldGitvaultRemote({ repoDir = process.cwd(), projectI
38
41
  insideRepo = false;
39
42
  }
40
43
  if (!insideRepo && !createRepoIfMissing) {
44
+ out.reason = "not_a_repository";
41
45
  out.gitvault_skipped = "not a git repository — re-run with --git-remote to create one and add the remote";
42
46
  return out;
43
47
  }
44
48
  const resolvedOrgId = orgId ?? (await resolveOwningOrgId(projectId));
45
49
  if (!resolvedOrgId) {
50
+ out.reason = "org_unresolved";
46
51
  out.gitvault_skipped = `could not resolve the owning org for ${projectId} — the run402 remote was not added`;
47
52
  return out;
48
53
  }
49
54
  const remote = await getSdk().gitvault.scaffoldRemote({ repo_dir: repoDir, org_id: resolvedOrgId, project_id: projectId });
55
+ if (remote.status === "skipped") {
56
+ // The app root lies INSIDE some other repository (first-deploy-agent-dx
57
+ // D3): that repository is never touched. Say which one, and why.
58
+ out.reason = "inside_other_repository";
59
+ out.toplevel = remote.toplevel ?? null;
60
+ out.gitvault_skipped = remote.reason;
61
+ return out;
62
+ }
50
63
  // `allocated: false` is stated, not left to be inferred: this is local
51
64
  // git only — no vault exists for the project yet (allocation happens
52
65
  // lazily on first push, or explicitly via `run402 repos create --project <id>`).
66
+ out.status = "scaffolded";
53
67
  out.gitvault = { ...remote, allocated: false };
54
68
  } catch (err) {
55
69
  out.gitvault = null;
70
+ out.status = "error";
56
71
  out.gitvault_error = { code: err?.body?.code ?? err?.code ?? "GITVAULT_SCAFFOLD_FAILED", message: err?.message ?? String(err) };
57
72
  }
58
73
  return out;
package/lib/init.mjs CHANGED
@@ -38,6 +38,11 @@ Options:
38
38
  --switch-rail Confirm switching the persisted payment rail. Re-running
39
39
  init with the SAME rail as the existing allowance is always
40
40
  idempotent and does not need this flag.
41
+ --name <name> Set this principal's display name (1-64 chars) — what promotion
42
+ credit, \`run402 up\`'s room presence, and audit surfaces show
43
+ for you. \`run402 up\` sets a detected default (claude-code,
44
+ codex, cursor, or agent) when it is empty; change it any time
45
+ with \`run402 org whoami --set-name <name>\`.
41
46
  --git-remote Also 'git init' the current directory when it is not a
42
47
  repository yet, so the gitvault remote can be added there.
43
48
  Opt-in on purpose: init is often run outside a project
@@ -144,6 +149,26 @@ function parseVoucherFlag(args) {
144
149
  * runs, so `run402 init --git-remote mpp` still selects the mpp rail (the same
145
150
  * reason `--voucher` is stripped first).
146
151
  */
152
+ /** Pull `--flag <value>` (or `--flag=<value>`) out of argv; returns { args, value }. */
153
+ function parseValueFlag(args, flag) {
154
+ const out = [];
155
+ let value;
156
+ for (let i = 0; i < args.length; i++) {
157
+ const arg = args[i];
158
+ if (arg === flag) {
159
+ value = args[i + 1] ?? "";
160
+ i += 1;
161
+ continue;
162
+ }
163
+ if (typeof arg === "string" && arg.startsWith(`${flag}=`)) {
164
+ value = arg.slice(flag.length + 1);
165
+ continue;
166
+ }
167
+ out.push(arg);
168
+ }
169
+ return { args: out, value };
170
+ }
171
+
147
172
  function parseGitRemoteFlag(args) {
148
173
  const idx = args.indexOf("--git-remote");
149
174
  if (idx === -1) return { value: false, args };
@@ -233,6 +258,16 @@ export async function run(args = []) {
233
258
  args = parsedGitRemote.args;
234
259
  const scaffoldGitRemote = parsedGitRemote.value;
235
260
 
261
+ // principal-display-name (first-deploy-agent-dx): `--name <name>` sets this
262
+ // principal's display name once (PATCH /agent/v1/me). Stripped here so the
263
+ // rail/positional logic never sees it.
264
+ const parsedName = parseValueFlag(args, "--name");
265
+ args = parsedName.args;
266
+ const displayName = parsedName.value;
267
+ if (displayName !== undefined && displayName.trim() === "") {
268
+ fail({ code: "BAD_USAGE", message: "--name requires a non-empty value.", details: { flag: "--name" } });
269
+ }
270
+
236
271
  const parsedApiBase = parseApiBaseFlag(args);
237
272
  if (parsedApiBase.value) {
238
273
  if (parsedApiBase.args.some((arg) => typeof arg === "string" && !arg.startsWith("--"))) {
@@ -668,5 +703,18 @@ export async function run(args = []) {
668
703
  }
669
704
  write("");
670
705
 
706
+ // 5c. Display name (principal-display-name). Best-effort: a hiccup never
707
+ // fails init — the summary says what happened.
708
+ if (displayName !== undefined) {
709
+ try {
710
+ const me = await getSdk().orgs.setDisplayName(displayName.trim());
711
+ summary.display_name = me?.principal?.display_name ?? displayName.trim();
712
+ line("Name", summary.display_name);
713
+ } catch (err) {
714
+ summary.display_name = null;
715
+ summary.display_name_error = { code: err?.body?.code ?? err?.code ?? "DISPLAY_NAME_FAILED", message: err?.message ?? String(err) };
716
+ }
717
+ }
718
+
671
719
  console.log(JSON.stringify(summary, null, 2));
672
720
  }
package/lib/org.mjs CHANGED
@@ -34,6 +34,7 @@ Usage:
34
34
  run402 org payout-wallet [<org_id>] <wallet_address> (or: --clear to remove the explicit default)
35
35
  run402 org slug <slug> [--org <org_id>]
36
36
  run402 org whoami
37
+ run402 org whoami --set-name <name>
37
38
  run402 org use <org_id>
38
39
  run402 org current
39
40
  run402 org clear
@@ -171,12 +172,14 @@ explicit default; a single active org wallet may still resolve automatically.
171
172
  The JSON response includes recovery.status, active_wallet_count, and
172
173
  next_actions for PAYOUT_WALLET_REQUIRED / PAYOUT_WALLET_AMBIGUOUS setup.
173
174
  `,
174
- whoami: `run402 org whoami — resolved principal + org memberships
175
+ whoami: `run402 org whoami — resolved principal + org memberships (and set your display name)
175
176
 
176
177
  Usage:
177
178
  run402 org whoami
178
179
 
179
- Calls GET /agent/v1/whoami. Returns the control-plane principal (id/type/display_name/created_at),
180
+ Calls GET /agent/v1/whoami (or PATCH /agent/v1/me with --set-name, 1-64 chars: the name promotion
181
+ credit, \`run402 up\`'s room presence, and audit surfaces show for this principal — \`up\` sets a
182
+ detected default when it is empty). Returns the control-plane principal (id/type/display_name/created_at),
180
183
  authenticator_id, and every org membership (org_id, display_name, role, status). REMOTE identity;
181
184
  for local wallet/profile state use 'run402 status'.
182
185
  `,
@@ -336,10 +339,23 @@ async function list(args) {
336
339
 
337
340
  async function whoami(args) {
338
341
  const a = normalizeArgv(args);
339
- assertKnownFlags(a, ["--help", "-h"]);
340
- requirePositionalCount(a, [], { min: 0, max: 0, command: "run402 org whoami" });
342
+ assertKnownFlags(a, ["--help", "-h", "--set-name"], ["--set-name"]);
343
+ requirePositionalCount(positionalArgs(a, ["--set-name"]), ["--set-name"], { min: 0, max: 0, command: "run402 org whoami" });
344
+ const setName = flagValue(a, "--set-name");
345
+ if (setName !== null && setName.trim() === "") {
346
+ fail({
347
+ code: "BAD_USAGE",
348
+ message: "--set-name must not be empty.",
349
+ details: { field: "--set-name" },
350
+ hint: "Pass a 1-64 character display name.",
351
+ });
352
+ }
341
353
  try {
342
- console.log(JSON.stringify(await getSdk().orgs.whoami(), null, 2));
354
+ // principal-display-name (first-deploy-agent-dx): `--set-name` is the
355
+ // explicit setter (PATCH /agent/v1/me); the name is what promotion credit,
356
+ // `up`'s room presence, and audit surfaces show for this principal.
357
+ const me = setName !== null ? await getSdk().orgs.setDisplayName(setName.trim()) : await getSdk().orgs.whoami();
358
+ console.log(JSON.stringify(me, null, 2));
343
359
  } catch (err) {
344
360
  reportSdkError(err);
345
361
  }
package/lib/projects.mjs CHANGED
@@ -6,7 +6,6 @@ import { withAutoApprove } from "./operator.mjs";
6
6
  import { getSdk } from "./sdk.mjs";
7
7
  import { reportSdkError, fail, parseFlagJson } from "./sdk-errors.mjs";
8
8
  import { stampOrgFromProject } from "./org-context.mjs";
9
- import { scaffoldGitvaultRemote } from "./gitvault-scaffold.mjs";
10
9
  import { assertKnownFlags, failBadProjectId, flagValue, hasHelp, normalizeArgv, positionalArgs, resolveProjectSelector, validateRegularFile, failUnknownSubcommand } from "./argparse.mjs";
11
10
 
12
11
  const HELP = `run402 projects — Manage your deployed Run402 projects
@@ -300,19 +299,9 @@ async function quote() {
300
299
  }
301
300
  }
302
301
 
303
- /**
304
- * D4 (repo-first-onramp task 2.4): `projects provision` already knows the
305
- * project and (usually) the org, and just set the active project
306
- * scaffolding the git remote here is a pure Anticipatory fold, zero extra
307
- * round-trips beyond the one org lookup provision needed anyway when `--org`
308
- * was not given explicitly. `provision` has no `--git-remote` opt-in, so a
309
- * directory that is not already a repository is left untouched, exactly like
310
- * `run402 init`'s own scaffold (shared via `gitvault-scaffold.mjs`, which
311
- * emits the SAME `gitvault` / `gitvault_skipped` / `gitvault_error` keys).
312
- */
313
- async function foldGitvaultScaffold(out, projectId, explicitOrgId) {
314
- Object.assign(out, await scaffoldGitvaultRemote({ repoDir: process.cwd(), projectId, orgId: explicitOrgId }));
315
- }
302
+ // `projects provision` is the provisioning PRIMITIVE and has no local side
303
+ // effects: it never inspects or mutates git (first-deploy-agent-dx). Git
304
+ // scaffolding lives in `run402 up` and `run402 init`, on the app root only.
316
305
 
317
306
  async function provision(args) {
318
307
  const opts = { tier: "prototype", name: undefined, orgId: undefined, idempotencyKey: undefined };
@@ -388,7 +377,6 @@ async function provision(args) {
388
377
  out.note = `active project changed: ${activeBefore} -> ${activeAfter}`;
389
378
  out.previous_active_project_id = activeBefore;
390
379
  }
391
- await foldGitvaultScaffold(out, data.project_id, opts.orgId);
392
380
  console.log(JSON.stringify(out, null, 2));
393
381
  } catch (err) {
394
382
  reportSdkError(err);
package/lib/up.mjs CHANGED
@@ -51,6 +51,11 @@ Options:
51
51
  --no-propagation-wait
52
52
  Return propagation_pending immediately when the edge is
53
53
  still settling.
54
+ --no-rehearse Skip the automatic rehearsal. By default a migration-
55
+ bearing deploy against a project with a live release is
56
+ rehearsed on a contained branch and committed only on a
57
+ passing report; a first deploy has nothing to protect and
58
+ commits directly (result.deploy.rehearsal says which).
54
59
  --repo-only Provision + scaffold the run402 remote + first push,
55
60
  and stop there — no deploy. The vault-only track
56
61
  (D8), composed through up instead of run402 repos
@@ -58,12 +63,22 @@ Options:
58
63
  --require-plan/--verify.
59
64
 
60
65
  Repo composition (D4): against a local directory (not a git URL source), up
61
- composes git init (only when not already a repository) + provision + a
62
- run402 remote scaffold (D1: claims origin when free, falls back to run402)
63
- + a first gitvault push — one command, the fly-launch shape. The scaffold
64
- and first push are best-effort: a git or vault hiccup never turns an
65
- otherwise-successful deploy into a failure, and is reported under
66
- result.repo (default apply) or result (--repo-only) instead.
66
+ composes git init (only when the app root is not already a repository) +
67
+ provision + a run402 remote scaffold (origin is never claimed) + a first
68
+ gitvault push — one command, the fly-launch shape. The app root is the
69
+ manifest's directory; an app root that lies INSIDE another repository is
70
+ left untouched (result.repo.status "skipped", reason
71
+ "inside_other_repository", toplevel named). The scaffold and first push are
72
+ best-effort: a git or vault hiccup never turns an otherwise-successful deploy
73
+ into a failure, and is reported under result.repo (default apply) or result
74
+ (--repo-only) instead.
75
+
76
+ Identity: up makes sure this principal has a display name before the deploy
77
+ that will be credited to it — an existing name is kept, otherwise the
78
+ detected client name (claude-code, codex, cursor, or agent) is set (approved
79
+ by -y, or asked once) — and joins the project room under it. Change it any
80
+ time with 'run402 org whoami --set-name <name>'. Reported under
81
+ result.identity.
67
82
  --json Emit one final JSON object on stdout (default; compatibility no-op).
68
83
  --human Emit the legacy human success/blocking summary on stdout.
69
84
  --json-stream Emit NDJSON progress events on stdout and a final result event.
@@ -149,6 +164,7 @@ export async function run(args = []) {
149
164
  "--human",
150
165
  "--json-stream",
151
166
  "--repo-only",
167
+ "--no-rehearse",
152
168
  ],
153
169
  [
154
170
  "--name",
@@ -309,6 +325,7 @@ export async function run(args = []) {
309
325
  allowWarningCodes,
310
326
  propagationBudgetSeconds,
311
327
  propagationWait: parsed.includes("--no-propagation-wait") ? false : undefined,
328
+ noRehearse: parsed.includes("--no-rehearse") ? true : undefined,
312
329
  }, {
313
330
  ...(mode !== undefined ? { mode } : {}),
314
331
  dryRun,
@@ -627,6 +644,12 @@ async function composeRepoPushStep({ sdk, workDir, projectId, createdRepository
627
644
  const scaffold = await scaffoldGitvaultRemote({ repoDir: workDir, projectId, orgId: orgId ?? undefined, createRepoIfMissing: false });
628
645
  if (createdRepository && scaffold.gitvault) scaffold.gitvault.created_repository = true;
629
646
  const out = { ...scaffold, first_push: null, first_push_error: null };
647
+ if (scaffold.status !== "scaffolded") {
648
+ // Nothing was scaffolded (the app root is inside another repository, or
649
+ // the org could not be resolved): never push from a repository we did
650
+ // not set up. `status`/`reason` already say why.
651
+ return out;
652
+ }
630
653
  if (!orgId) {
631
654
  out.first_push_error = { code: "GITVAULT_ORG_UNRESOLVED", message: `could not resolve the owning org for ${projectId} — the first push was skipped` };
632
655
  return out;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "run402",
3
- "version": "4.72.1",
3
+ "version": "4.73.1",
4
4
  "description": "CLI for Run402 — full-stack backend infrastructure for AI agents: Postgres, auth, storage, serverless functions and atomic deploys. Paid with x402/MPP. Includes $0.03 image generation.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -66,6 +66,26 @@ export interface Run402UpActionInput {
66
66
  propagationBudgetSeconds?: number;
67
67
  /** Disable waiting for fresh edge propagation. Verify returns propagation_pending immediately. */
68
68
  propagationWait?: boolean;
69
+ /** Skip the automatic rehearsal a migration-bearing deploy against a
70
+ * project with a live release gets. Default false. */
71
+ noRehearse?: boolean;
72
+ /** Explicit display name to set on the principal when it has none yet.
73
+ * Omitted: the detected client name (`claude-code`, `codex`, `cursor`,
74
+ * or `agent`) is used and reported as `identity.source: "detected"`. */
75
+ identityName?: string;
76
+ }
77
+ /** How `up` resolved the principal's display name (first-deploy-agent-dx). */
78
+ export interface Run402UpIdentity {
79
+ display_name: string | null;
80
+ /** `existing`: already set; `explicit`: set now from `identityName`;
81
+ * `detected`: set now from the detected client; `unavailable`: could not
82
+ * be read or set (never fails the deploy). */
83
+ source: "existing" | "explicit" | "detected" | "unavailable";
84
+ /** The project room presence `up` registered under that name, when it could. */
85
+ presence?: {
86
+ presence_id: string;
87
+ name: string;
88
+ } | null;
69
89
  }
70
90
  export type Run402ActionApproval = "never" | "yes" | Run402InteractiveActionApproval;
71
91
  export interface Run402InteractiveActionApproval {
@@ -78,7 +98,7 @@ export interface Run402ActionApprovalRequest {
78
98
  message: string;
79
99
  mutations: Run402ActionMutation[];
80
100
  }
81
- export type Run402ActionMutation = "allowance.create" | "allowance.faucet" | "tier.set" | "projects.provision" | "workspace.link.write" | "app.source.resolve" | "app.install" | "app.mailbox.ensure" | "app.secret.ensure" | "app.build" | "app.webhook.ensure" | "app.verify" | "deploy.apply";
101
+ export type Run402ActionMutation = "allowance.create" | "allowance.faucet" | "tier.set" | "projects.provision" | "workspace.link.write" | "app.source.resolve" | "app.install" | "app.mailbox.ensure" | "app.secret.ensure" | "app.build" | "app.webhook.ensure" | "app.verify" | "identity.name.set" | "deploy.apply";
82
102
  export interface Run402ActionRunOptions {
83
103
  /**
84
104
  * Canonical execution mode for typed-config workflows.
@@ -161,6 +181,12 @@ export interface Run402UpResult {
161
181
  };
162
182
  /** Deploy-manifest verify rollup (app manifests: `app_result.verify`). */
163
183
  verify?: Run402AppUpVerifyResult;
184
+ /** The principal's display name as resolved before the deploy. */
185
+ identity?: Run402UpIdentity;
186
+ /** Git scaffold + first vault push outcome, attached by the CLI's `up`
187
+ * composition (never by the SDK action): `status: "scaffolded" | "skipped"`
188
+ * with `reason: "inside_other_repository" | "not_a_repository" | …`. */
189
+ repo?: Record<string, unknown>;
164
190
  }
165
191
  export type Run402ProjectsProvisionActionResult = Run402ActionResult<ProvisionResult>;
166
192
  export type Run402TierSetActionResult = Run402ActionResult<TierSetResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/namespaces/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/namespaces/deploy.ts"],"names":[],"mappings":"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"}