run402 4.36.0 → 4.37.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 +15 -0
- package/cli.mjs +6 -0
- package/git-remote-run402.mjs +69 -3
- package/lib/command-manifest.mjs +13 -1
- package/lib/functions.mjs +11 -3
- package/lib/gitvault-scaffold.mjs +73 -0
- package/lib/gitvault.mjs +72 -22
- package/lib/init.mjs +8 -3
- package/lib/projects.mjs +16 -0
- package/lib/repos.mjs +326 -0
- package/lib/rooms.mjs +5 -3
- package/lib/up.mjs +167 -29
- package/package.json +1 -1
- package/sdk/dist/errors.d.ts +1 -1
- package/sdk/dist/errors.d.ts.map +1 -1
- package/sdk/dist/errors.js.map +1 -1
- package/sdk/dist/index.d.ts +1 -1
- package/sdk/dist/index.d.ts.map +1 -1
- package/sdk/dist/index.js +1 -1
- package/sdk/dist/index.js.map +1 -1
- package/sdk/dist/namespaces/deploy.types.d.ts +9 -0
- 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/gitvault.d.ts +133 -16
- package/sdk/dist/namespaces/gitvault.d.ts.map +1 -1
- package/sdk/dist/namespaces/gitvault.js +207 -16
- package/sdk/dist/namespaces/gitvault.js.map +1 -1
- package/sdk/dist/node/gitvault-apply.d.ts +18 -1
- package/sdk/dist/node/gitvault-apply.d.ts.map +1 -1
- package/sdk/dist/node/gitvault-apply.js +38 -1
- package/sdk/dist/node/gitvault-apply.js.map +1 -1
- package/sdk/dist/node/gitvault-creation-journal.d.ts +22 -0
- package/sdk/dist/node/gitvault-creation-journal.d.ts.map +1 -1
- package/sdk/dist/node/gitvault-creation-journal.js +28 -0
- package/sdk/dist/node/gitvault-creation-journal.js.map +1 -1
- package/sdk/dist/node/gitvault-open-or-create.d.ts +59 -0
- package/sdk/dist/node/gitvault-open-or-create.d.ts.map +1 -0
- package/sdk/dist/node/gitvault-open-or-create.js +62 -0
- package/sdk/dist/node/gitvault-open-or-create.js.map +1 -0
- package/sdk/dist/node/index.d.ts +3 -1
- package/sdk/dist/node/index.d.ts.map +1 -1
- package/sdk/dist/node/index.js +4 -1
- package/sdk/dist/node/index.js.map +1 -1
package/lib/repos.mjs
ADDED
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `run402 repos` — vault-only porcelain (repo-first-onramp design D8, task 2.6).
|
|
3
|
+
*
|
|
4
|
+
* CLI + OpenClaw ONLY — no MCP tool exists for this family, and none should
|
|
5
|
+
* be added. documentation.md's gitvault row records the law:
|
|
6
|
+
* "Mutating verbs are CLI-only by design (immutable generations with no
|
|
7
|
+
* undo, the one-shot recovery receipt, ..., destructive prune, owner+step-up
|
|
8
|
+
* policy)." `create` mints a vault's one-shot recovery receipt; `delete` is
|
|
9
|
+
* destructive. `list` is read-only and could in principle get an MCP tool
|
|
10
|
+
* later, but ships alongside its two siblings here rather than splitting a
|
|
11
|
+
* three-verb family across two client surfaces on day one.
|
|
12
|
+
*
|
|
13
|
+
* `create` composes provision + vault ALLOCATE (not lazy — the whole point
|
|
14
|
+
* of this command is a repo that exists the moment it returns) + remote
|
|
15
|
+
* scaffold, with ZERO deploy ceremony: no manifest, no plan, no release.
|
|
16
|
+
* This is D1 (`origin` claimed additively) and D4's `gitvault.init` primitive
|
|
17
|
+
* end to end — `repos create` adds no protocol behavior of its own, only
|
|
18
|
+
* argument parsing and output shaping (the architectural law every shim in
|
|
19
|
+
* this repo follows).
|
|
20
|
+
*
|
|
21
|
+
* `list` is the org's vault-bearing projects, cross-referenced CLIENT-SIDE:
|
|
22
|
+
* list the org's projects, then read each one's gitvault status. There is no
|
|
23
|
+
* bulk "vaults by org" gateway read yet (rung 2 territory), so this is
|
|
24
|
+
* sequential N+1 — fine for a one-shot CLI call against a person's or
|
|
25
|
+
* agent's own project count, not something to build a server round-trip
|
|
26
|
+
* budget around. A project whose vault status cannot be read is skipped
|
|
27
|
+
* silently rather than failing the whole listing.
|
|
28
|
+
*
|
|
29
|
+
* `delete` refuses while the vault holds any admitted generation unless
|
|
30
|
+
* --force is passed, after naming exactly what would be lost (repo id,
|
|
31
|
+
* generation count, encrypted-source byte count). It then calls the SAME
|
|
32
|
+
* `projects.delete` primitive `run402 projects delete` uses — --force here
|
|
33
|
+
* IS the explicit confirmation; there is no second --confirm to pass.
|
|
34
|
+
*/
|
|
35
|
+
import { getSdk } from "./sdk.mjs";
|
|
36
|
+
import { reportSdkError, fail } from "./sdk-errors.mjs";
|
|
37
|
+
import { withAutoApprove } from "./operator.mjs";
|
|
38
|
+
import { allowanceAuthHeaders, isCoreApiTarget } from "./config.mjs";
|
|
39
|
+
import { loadLiveControlPlaneSession } from "../core-dist/control-plane-session.js";
|
|
40
|
+
import { resolveOrgId, resolveOwningOrgId } from "./org-context.mjs";
|
|
41
|
+
import { nextAction } from "./next-actions.mjs";
|
|
42
|
+
import { printKeystoreLocation } from "./gitvault.mjs";
|
|
43
|
+
import { GITVAULT_ALLOCATION_POLICY_ADVISORY } from "./gitvault-scaffold.mjs";
|
|
44
|
+
import {
|
|
45
|
+
normalizeArgv,
|
|
46
|
+
hasHelp,
|
|
47
|
+
assertKnownFlags,
|
|
48
|
+
flagValue,
|
|
49
|
+
requirePositionalCount,
|
|
50
|
+
resolveProjectSelector,
|
|
51
|
+
failUnknownSubcommand,
|
|
52
|
+
} from "./argparse.mjs";
|
|
53
|
+
|
|
54
|
+
export const HELP = `run402 repos — vault-only hosted encrypted repos, zero deploy ceremony
|
|
55
|
+
|
|
56
|
+
Usage:
|
|
57
|
+
run402 repos create <name> [--org <org_id>] [--dir <path>] [--tier <tier>]
|
|
58
|
+
run402 repos list [--org <org_id>]
|
|
59
|
+
run402 repos delete <project_id> [--force]
|
|
60
|
+
|
|
61
|
+
Subcommands:
|
|
62
|
+
create Provision a project, ALLOCATE its vault (mints key material and a
|
|
63
|
+
one-shot recovery receipt), and scaffold the run402 remote —
|
|
64
|
+
origin when free, run402 when taken (D1). No deploy plan, no
|
|
65
|
+
release, nothing deployed: the vault-only track (design D8), for a
|
|
66
|
+
project that only ever hosts encrypted source.
|
|
67
|
+
list The organization's vault-bearing projects — those with an
|
|
68
|
+
allocated vault, whether or not they have ever deployed. Not
|
|
69
|
+
every project in the org; ones with no vault are omitted.
|
|
70
|
+
delete Delete the project and everything in it (database, functions,
|
|
71
|
+
subdomains, mailbox, secrets). REFUSES while the vault holds any
|
|
72
|
+
admitted generation unless --force is passed — this is
|
|
73
|
+
irreversible and destroys the vault's entire encrypted history
|
|
74
|
+
along with everything else.
|
|
75
|
+
|
|
76
|
+
Options:
|
|
77
|
+
--org <org_id> create/list: the owning organization. create resolves it
|
|
78
|
+
the same way 'projects provision' does when omitted
|
|
79
|
+
(cold-start); list requires resolving one — pass it, or
|
|
80
|
+
select an active org first with 'run402 org use <id>'.
|
|
81
|
+
--dir <path> create: the working tree to scaffold (default: cwd). Not
|
|
82
|
+
a git repository yet? One is created — 'repos create' is
|
|
83
|
+
a from-a-directory-to-a-hosted-repo verb by definition,
|
|
84
|
+
the same way 'gh repo create --source=.' is.
|
|
85
|
+
--tier <tier> create: project tier (default: prototype)
|
|
86
|
+
--idempotency-key <key>
|
|
87
|
+
create: re-running with the same key resolves to the
|
|
88
|
+
same project instead of creating a second one (default:
|
|
89
|
+
derived from the name)
|
|
90
|
+
--force delete: proceed even though the vault holds generations
|
|
91
|
+
that would be permanently and irrecoverably lost
|
|
92
|
+
--json No-op: stdout is already JSON.
|
|
93
|
+
|
|
94
|
+
There is no separate gitvault price: bytes count against the same
|
|
95
|
+
organization-pooled storage budget every project already has.
|
|
96
|
+
`;
|
|
97
|
+
|
|
98
|
+
const CREATE_VALUE_FLAGS = ["--org", "--dir", "--tier", "--idempotency-key"];
|
|
99
|
+
const LIST_VALUE_FLAGS = ["--org"];
|
|
100
|
+
const DELETE_VALUE_FLAGS = ["--project"];
|
|
101
|
+
|
|
102
|
+
function validateProjectName(name) {
|
|
103
|
+
if (name === "") {
|
|
104
|
+
fail({
|
|
105
|
+
code: "BAD_PROJECT_NAME",
|
|
106
|
+
message: "the repo name must not be empty.",
|
|
107
|
+
details: { field: "name" },
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
if (name.length > 128) {
|
|
111
|
+
fail({
|
|
112
|
+
code: "BAD_PROJECT_NAME",
|
|
113
|
+
message: `the repo name must be 1-128 characters, got ${name.length}.`,
|
|
114
|
+
details: { field: "name", length: name.length, max: 128 },
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
// eslint-disable-next-line no-control-regex
|
|
118
|
+
if (/[\x00-\x1f\x7f]/.test(name)) {
|
|
119
|
+
fail({
|
|
120
|
+
code: "BAD_PROJECT_NAME",
|
|
121
|
+
message: "the repo name contains control characters (newline, tab, etc).",
|
|
122
|
+
details: { field: "name" },
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
async function create(args) {
|
|
128
|
+
const a = normalizeArgv(args);
|
|
129
|
+
assertKnownFlags(a, [...CREATE_VALUE_FLAGS, "--help", "-h"], CREATE_VALUE_FLAGS);
|
|
130
|
+
const positionals = requirePositionalCount(a, CREATE_VALUE_FLAGS, {
|
|
131
|
+
min: 1, max: 1, command: "run402 repos create <name>", missing: "run402 repos create <name>: a repo name is required",
|
|
132
|
+
});
|
|
133
|
+
const name = positionals[0];
|
|
134
|
+
validateProjectName(name);
|
|
135
|
+
|
|
136
|
+
const dir = flagValue(a, "--dir") ?? process.cwd();
|
|
137
|
+
const tier = flagValue(a, "--tier") ?? "prototype";
|
|
138
|
+
const idempotencyKey = flagValue(a, "--idempotency-key") ?? `repos-create:${name}`;
|
|
139
|
+
// `optional: true` — a fresh wallet with no org yet is the cold-start path
|
|
140
|
+
// `projects provision` itself supports; `--org` targets an existing one.
|
|
141
|
+
const orgId = await resolveOrgId(a, { cmd: "repos", optional: true });
|
|
142
|
+
|
|
143
|
+
// Same NO_ALLOWANCE gate `projects provision` and `up --repo-only` use:
|
|
144
|
+
// provisioning bypasses no action-graph here (there is none to bypass —
|
|
145
|
+
// this command never touches sdk.up()), so surface the actionable guidance
|
|
146
|
+
// directly rather than an opaque auth error from the gateway.
|
|
147
|
+
if (!isCoreApiTarget() && !loadLiveControlPlaneSession()) allowanceAuthHeaders("/projects/v1");
|
|
148
|
+
|
|
149
|
+
let provisioned;
|
|
150
|
+
try {
|
|
151
|
+
provisioned = await withAutoApprove(() =>
|
|
152
|
+
getSdk().projects.provision({ tier, name, ...(orgId ? { orgId } : {}), idempotencyKey }),
|
|
153
|
+
);
|
|
154
|
+
} catch (err) {
|
|
155
|
+
reportSdkError(err);
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
const effectiveOrgId = orgId ?? (await resolveOwningOrgId(provisioned.project_id));
|
|
160
|
+
if (!effectiveOrgId) {
|
|
161
|
+
fail({
|
|
162
|
+
code: "GITVAULT_ORG_UNRESOLVED",
|
|
163
|
+
message: `Provisioned project ${provisioned.project_id}, but could not resolve its owning organization to allocate the vault.`,
|
|
164
|
+
hint: `Pass --org <org_id> next time, or finish by hand: run402 gitvault init --project ${provisioned.project_id} --org <org_id>`,
|
|
165
|
+
details: { project_id: provisioned.project_id },
|
|
166
|
+
next_actions: [
|
|
167
|
+
nextAction("edit_request", {
|
|
168
|
+
command: `run402 gitvault init --project ${provisioned.project_id} --org <org_id>`,
|
|
169
|
+
why: "the owning org could not be resolved automatically after provisioning",
|
|
170
|
+
}),
|
|
171
|
+
],
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
try {
|
|
176
|
+
const vault = await getSdk().gitvault.init({
|
|
177
|
+
org_id: effectiveOrgId,
|
|
178
|
+
project_id: provisioned.project_id,
|
|
179
|
+
repo_dir: dir,
|
|
180
|
+
});
|
|
181
|
+
const out = {
|
|
182
|
+
project_id: provisioned.project_id,
|
|
183
|
+
repo_id: vault.repo_id,
|
|
184
|
+
remote: vault.remote,
|
|
185
|
+
deduplicated: vault.deduplicated,
|
|
186
|
+
genesis_sha256: vault.genesis_sha256,
|
|
187
|
+
recovery_receipt: vault.recovery_receipt,
|
|
188
|
+
terminal_loss_statement: vault.terminal_loss_statement,
|
|
189
|
+
deployed: false,
|
|
190
|
+
};
|
|
191
|
+
console.log(JSON.stringify(out, null, 2));
|
|
192
|
+
console.error(
|
|
193
|
+
`project ${provisioned.project_id} provisioned; vault ${vault.repo_id} ` +
|
|
194
|
+
(vault.deduplicated ? "already existed — nothing was re-allocated" : `allocated (genesis ${vault.genesis_sha256})`),
|
|
195
|
+
);
|
|
196
|
+
if (vault.remote) console.error(`remote '${vault.remote.name}' -> ${vault.remote.url} (${vault.remote.reason})`);
|
|
197
|
+
console.error("");
|
|
198
|
+
console.error(vault.terminal_loss_statement);
|
|
199
|
+
await printKeystoreLocation();
|
|
200
|
+
if (!vault.deduplicated) console.error(GITVAULT_ALLOCATION_POLICY_ADVISORY);
|
|
201
|
+
console.error("");
|
|
202
|
+
console.error("nothing was deployed — this is a vault-only repo. Deploy later with `run402 deploy apply`, or never.");
|
|
203
|
+
} catch (err) {
|
|
204
|
+
reportSdkError(err);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
async function list(args) {
|
|
209
|
+
const a = normalizeArgv(args);
|
|
210
|
+
assertKnownFlags(a, [...LIST_VALUE_FLAGS, "--help", "-h"], LIST_VALUE_FLAGS);
|
|
211
|
+
requirePositionalCount(a, LIST_VALUE_FLAGS, {
|
|
212
|
+
min: 0, max: 0, command: "run402 repos list", missing: "",
|
|
213
|
+
});
|
|
214
|
+
const orgId = await resolveOrgId(a, { cmd: "repos" });
|
|
215
|
+
|
|
216
|
+
let projects;
|
|
217
|
+
try {
|
|
218
|
+
const result = await getSdk().projects.list({ org: orgId });
|
|
219
|
+
projects = Array.isArray(result.projects) ? result.projects : [];
|
|
220
|
+
} catch (err) {
|
|
221
|
+
reportSdkError(err);
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
// N+1 by necessity (see module doc): no bulk vault-by-org read exists yet.
|
|
226
|
+
// A project whose vault status cannot be read (unreachable gateway for
|
|
227
|
+
// THIS project, revoked keys, ...) is skipped rather than failing the
|
|
228
|
+
// whole listing — the same "read, never fail the batch" discipline other
|
|
229
|
+
// best-effort list augmentations in this CLI follow.
|
|
230
|
+
const repos = [];
|
|
231
|
+
for (const p of projects) {
|
|
232
|
+
let status;
|
|
233
|
+
try {
|
|
234
|
+
status = await getSdk().gitvault.status({ project_id: p.id });
|
|
235
|
+
} catch {
|
|
236
|
+
continue;
|
|
237
|
+
}
|
|
238
|
+
if (!status.vault) continue;
|
|
239
|
+
repos.push({
|
|
240
|
+
project_id: p.id,
|
|
241
|
+
name: p.name,
|
|
242
|
+
repo_id: status.repo_id,
|
|
243
|
+
gitvault_policy: status.vault.gitvault_policy,
|
|
244
|
+
admitted_generations: Number(status.vault.admitted_generations ?? "0"),
|
|
245
|
+
source_bytes: Number(status.vault.storage?.source_bytes ?? "0"),
|
|
246
|
+
genesis_admitted_at: status.vault.genesis_admitted_at,
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
console.log(JSON.stringify({ org_id: orgId, repos }, null, 2));
|
|
250
|
+
console.error(`${repos.length} vault-bearing project(s) of ${projects.length} total in this organization`);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
async function del(args) {
|
|
254
|
+
const a = normalizeArgv(args);
|
|
255
|
+
assertKnownFlags(a, [...DELETE_VALUE_FLAGS, "--force", "--help", "-h"], DELETE_VALUE_FLAGS);
|
|
256
|
+
const { projectId, rest } = resolveProjectSelector(a, { rejectBareFirst: true });
|
|
257
|
+
requirePositionalCount(rest, [], { min: 0, max: 0, command: "run402 repos delete <project_id>", missing: "" });
|
|
258
|
+
const force = a.includes("--force");
|
|
259
|
+
|
|
260
|
+
let status;
|
|
261
|
+
try {
|
|
262
|
+
status = await getSdk().gitvault.status({ project_id: projectId });
|
|
263
|
+
} catch (err) {
|
|
264
|
+
reportSdkError(err);
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
const vault = status.vault;
|
|
268
|
+
const admittedGenerations = vault ? Number(vault.admitted_generations ?? "0") : 0;
|
|
269
|
+
const sourceBytes = vault ? Number(vault.storage?.source_bytes ?? "0") : 0;
|
|
270
|
+
|
|
271
|
+
if (vault && admittedGenerations > 0 && !force) {
|
|
272
|
+
fail({
|
|
273
|
+
code: "CONFIRMATION_REQUIRED",
|
|
274
|
+
message:
|
|
275
|
+
`vault ${status.repo_id} for project ${projectId} holds ${admittedGenerations} admitted generation(s) ` +
|
|
276
|
+
`(${sourceBytes} bytes of encrypted source, genesis ${vault.genesis_admitted_at ?? "unknown"}) — ` +
|
|
277
|
+
"deleting the project destroys its entire encrypted history irrecoverably, along with its database, " +
|
|
278
|
+
"functions, subdomains, mailbox, and secrets. Re-run with --force to proceed.",
|
|
279
|
+
details: {
|
|
280
|
+
project_id: projectId,
|
|
281
|
+
repo_id: status.repo_id,
|
|
282
|
+
admitted_generations: admittedGenerations,
|
|
283
|
+
source_bytes: sourceBytes,
|
|
284
|
+
genesis_admitted_at: vault.genesis_admitted_at,
|
|
285
|
+
destroys: ["vault_history", "schemas", "functions", "subdomains", "mailbox", "blobs", "secrets"],
|
|
286
|
+
},
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
try {
|
|
291
|
+
await getSdk().projects.delete(projectId);
|
|
292
|
+
console.log(JSON.stringify({
|
|
293
|
+
project_id: projectId,
|
|
294
|
+
deleted: true,
|
|
295
|
+
vault: vault ? { repo_id: status.repo_id, admitted_generations: admittedGenerations, source_bytes: sourceBytes } : null,
|
|
296
|
+
}, null, 2));
|
|
297
|
+
} catch (err) {
|
|
298
|
+
reportSdkError(err);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
export async function run(sub, args) {
|
|
303
|
+
const argv = Array.isArray(args) ? args : [];
|
|
304
|
+
if (!sub || hasHelp([sub, ...argv])) {
|
|
305
|
+
console.log(HELP);
|
|
306
|
+
process.exit(0);
|
|
307
|
+
}
|
|
308
|
+
switch (sub) {
|
|
309
|
+
case "create": {
|
|
310
|
+
await create(argv);
|
|
311
|
+
break;
|
|
312
|
+
}
|
|
313
|
+
case "list": {
|
|
314
|
+
await list(argv);
|
|
315
|
+
break;
|
|
316
|
+
}
|
|
317
|
+
case "delete": {
|
|
318
|
+
await del(argv);
|
|
319
|
+
break;
|
|
320
|
+
}
|
|
321
|
+
default:
|
|
322
|
+
failUnknownSubcommand("repos", sub, {
|
|
323
|
+
hint: "Run `run402 repos --help` for usage.",
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
}
|
package/lib/rooms.mjs
CHANGED
|
@@ -148,9 +148,11 @@ async function who(args) {
|
|
|
148
148
|
|
|
149
149
|
async function leave(argv) {
|
|
150
150
|
const args = normalizeArgv(argv);
|
|
151
|
-
assertKnownFlags(
|
|
152
|
-
const positionals = positionalArgs(args);
|
|
153
|
-
requirePositionalCount(
|
|
151
|
+
assertKnownFlags(args, [...ROOM_FLAGS, "--help", "-h"], ROOM_FLAGS);
|
|
152
|
+
const positionals = positionalArgs(args, ROOM_FLAGS);
|
|
153
|
+
requirePositionalCount(positionals, ROOM_FLAGS, {
|
|
154
|
+
min: 0, max: 1, command: "run402 rooms leave [<presence_id>]",
|
|
155
|
+
});
|
|
154
156
|
const room = await resolveRoom({
|
|
155
157
|
org: flagValue(args, "--org"),
|
|
156
158
|
room: flagValue(args, "--room"),
|
package/lib/up.mjs
CHANGED
|
@@ -4,11 +4,13 @@ import { getSdk } from "./sdk.mjs";
|
|
|
4
4
|
import { reportSdkError, fail } from "./sdk-errors.mjs";
|
|
5
5
|
import { assertKnownFlags, flagValue, normalizeArgv, positionalArgs } from "./argparse.mjs";
|
|
6
6
|
import { createUpdateCheckScheduler, emitUpdateNotice } from "./update-check.mjs";
|
|
7
|
+
import { allowanceAuthHeaders, isCoreApiTarget } from "./config.mjs";
|
|
8
|
+
import { loadLiveControlPlaneSession } from "../core-dist/control-plane-session.js";
|
|
7
9
|
|
|
8
10
|
const HELP = `run402 up — Provision/link/deploy the current app
|
|
9
11
|
|
|
10
12
|
Usage:
|
|
11
|
-
run402 up [repo-or-path] [--name <name>] [--project <id>] [--manifest <path>] [--dir <path>] [--tier <tier>] [-y|--yes] [--check|--print-spec|--plan|--require-plan <id
|
|
13
|
+
run402 up [repo-or-path] [--name <name>] [--project <id>] [--manifest <path>] [--dir <path>] [--tier <tier>] [-y|--yes] [--check|--print-spec|--plan|--require-plan <id>|--repo-only] [--verify] [--human|--json-stream] [--quiet]
|
|
12
14
|
run402 up verify [repo-or-path] [--project <id>] [--manifest <path>] [--dir <path>] [--human|--json-stream]
|
|
13
15
|
|
|
14
16
|
Options:
|
|
@@ -49,6 +51,19 @@ Options:
|
|
|
49
51
|
--no-propagation-wait
|
|
50
52
|
Return propagation_pending immediately when the edge is
|
|
51
53
|
still settling.
|
|
54
|
+
--repo-only Provision + scaffold the run402 remote + first push,
|
|
55
|
+
and stop there — no deploy. The vault-only track
|
|
56
|
+
(D8), composed through up instead of run402 repos
|
|
57
|
+
create. Incompatible with --check/--print-spec/--plan/
|
|
58
|
+
--require-plan/--verify.
|
|
59
|
+
|
|
60
|
+
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.
|
|
52
67
|
--json Emit one final JSON object on stdout (default; compatibility no-op).
|
|
53
68
|
--human Emit the legacy human success/blocking summary on stdout.
|
|
54
69
|
--json-stream Emit NDJSON progress events on stdout and a final result event.
|
|
@@ -70,6 +85,7 @@ Examples:
|
|
|
70
85
|
run402 up --manifest run402.deploy.ts --check
|
|
71
86
|
run402 up --manifest run402.deploy.ts --plan
|
|
72
87
|
run402 up --manifest run402.deploy.ts --require-plan pln_...
|
|
88
|
+
run402 up --repo-only -y --json
|
|
73
89
|
`;
|
|
74
90
|
|
|
75
91
|
const VERIFY_HELP = `run402 up verify — Rerun manifest HTTP verification (verify.http[])
|
|
@@ -132,6 +148,7 @@ export async function run(args = []) {
|
|
|
132
148
|
"--json",
|
|
133
149
|
"--human",
|
|
134
150
|
"--json-stream",
|
|
151
|
+
"--repo-only",
|
|
135
152
|
],
|
|
136
153
|
[
|
|
137
154
|
"--name",
|
|
@@ -242,42 +259,81 @@ export async function run(args = []) {
|
|
|
242
259
|
details: { flag: "--require-plan" },
|
|
243
260
|
});
|
|
244
261
|
}
|
|
262
|
+
const repoOnly = parsed.includes("--repo-only");
|
|
263
|
+
if (repoOnly && (dryRun || isNonApplyingMode(mode) || isApplyReviewedMode(mode) || verifyEdge)) {
|
|
264
|
+
fail({
|
|
265
|
+
code: "BAD_USAGE",
|
|
266
|
+
message: "--repo-only cannot be combined with --dry-run, --check, --print-spec, --plan, --require-plan, or --verify.",
|
|
267
|
+
details: { flag: "--repo-only" },
|
|
268
|
+
});
|
|
269
|
+
}
|
|
245
270
|
const allowWarningCodes = collectRepeatedValues(parsed, "--allow-warning");
|
|
246
271
|
const updateScheduler = createUpdateCheckScheduler({
|
|
247
272
|
command: ["run402", "up", ...parsed],
|
|
248
273
|
});
|
|
249
274
|
emitUpdateNotice(updateScheduler.cachedNotice, { jsonStream, quiet });
|
|
250
275
|
|
|
276
|
+
// D4 (repo-first-onramp task 2.4): `up` composes git init + provision +
|
|
277
|
+
// remote scaffold + first push (+ deploy unless --repo-only) — the
|
|
278
|
+
// `fly launch` shape. Scoped to the plain local-directory apply path (no
|
|
279
|
+
// dry-run, no non-applying mode, and no remote git-URL source — those
|
|
280
|
+
// clone into somewhere ephemeral, so there is no local working tree here
|
|
281
|
+
// to scaffold a remote onto).
|
|
282
|
+
const composeRepo = !dryRun && mode === undefined && !looksLikeGitRemoteUrl(source);
|
|
283
|
+
const workDir = flagValue(parsed, "--dir") ?? (source && !looksLikeGitRemoteUrl(source) ? source : undefined) ?? process.cwd();
|
|
284
|
+
|
|
251
285
|
try {
|
|
252
286
|
const sdk = getSdk();
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
idempotencyKey: flagValue(parsed, "--idempotency-key") ?? undefined
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
287
|
+
let createdRepository = false;
|
|
288
|
+
if (composeRepo) {
|
|
289
|
+
createdRepository = await gitInitIfNeeded(workDir);
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
let result;
|
|
293
|
+
if (repoOnly) {
|
|
294
|
+
result = await runRepoOnly({ sdk, workDir, createdRepository, opts: parsed, tier, allowWarningCodes, idempotencyKey: flagValue(parsed, "--idempotency-key") ?? undefined });
|
|
295
|
+
} else {
|
|
296
|
+
result = await sdk.up({
|
|
297
|
+
source,
|
|
298
|
+
name: flagValue(parsed, "--name") ?? undefined,
|
|
299
|
+
projectId: flagValue(parsed, "--project") ?? undefined,
|
|
300
|
+
manifest: flagValue(parsed, "--manifest") ?? undefined,
|
|
301
|
+
dir: flagValue(parsed, "--dir") ?? undefined,
|
|
302
|
+
tier,
|
|
303
|
+
idempotencyKey: flagValue(parsed, "--idempotency-key") ?? undefined,
|
|
304
|
+
allowPrune: parsed.includes("--allow-prune") ? true : undefined,
|
|
305
|
+
maxSpendUsd,
|
|
306
|
+
buildMode,
|
|
307
|
+
allowShellBuild: parsed.includes("--allow-shell-build") ? true : undefined,
|
|
308
|
+
allowWarnings: parsed.includes("--allow-warnings") ? true : undefined,
|
|
309
|
+
allowWarningCodes,
|
|
310
|
+
propagationBudgetSeconds,
|
|
311
|
+
propagationWait: parsed.includes("--no-propagation-wait") ? false : undefined,
|
|
312
|
+
}, {
|
|
313
|
+
...(mode !== undefined ? { mode } : {}),
|
|
314
|
+
dryRun,
|
|
315
|
+
approval: makeApproval(yes),
|
|
316
|
+
onEvent: jsonStream
|
|
317
|
+
? (event) => console.log(JSON.stringify({ type: "action.event", event }))
|
|
318
|
+
: quiet
|
|
319
|
+
? undefined
|
|
320
|
+
: (event) => {
|
|
321
|
+
console.error(JSON.stringify(event));
|
|
322
|
+
},
|
|
323
|
+
});
|
|
324
|
+
// The remote scaffold + first push are best-effort ADDITIONS to an
|
|
325
|
+
// already-successful deploy: a git hiccup here must never flip an
|
|
326
|
+
// otherwise-successful `up` into a failure (the same non-fatal
|
|
327
|
+
// discipline `projects provision`'s own fold-in follows).
|
|
328
|
+
if (composeRepo && mode === undefined) {
|
|
329
|
+
const projectId = result?.result?.project_id ?? result?.result?.deploy?.project_id ?? null;
|
|
330
|
+
if (projectId) {
|
|
331
|
+
const repoResult = await composeRepoPushStep({ sdk, workDir, projectId, createdRepository });
|
|
332
|
+
if (result.result) result.result.repo = repoResult;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
|
|
281
337
|
const edgeWait = verifyEdge
|
|
282
338
|
? await attachEdgeVerification(result, {
|
|
283
339
|
sdk,
|
|
@@ -515,6 +571,88 @@ function collectRepeatedValues(args, flag) {
|
|
|
515
571
|
return values;
|
|
516
572
|
}
|
|
517
573
|
|
|
574
|
+
// ─── D4 (repo-first-onramp task 2.4): repo composition ───────────────────────
|
|
575
|
+
//
|
|
576
|
+
// `up` composes git init + provision + remote scaffold + first push
|
|
577
|
+
// (+ deploy unless --repo-only) — the `fly launch` shape. A remote git URL
|
|
578
|
+
// source clones into somewhere ephemeral (no local working tree here to
|
|
579
|
+
// scaffold a remote onto), so composition is scoped to the plain
|
|
580
|
+
// local-directory apply path.
|
|
581
|
+
|
|
582
|
+
/** A positional `up` source that names a remote repository rather than a local path. */
|
|
583
|
+
function looksLikeGitRemoteUrl(source) {
|
|
584
|
+
if (!source || typeof source !== "string") return false;
|
|
585
|
+
return /^[a-z][a-z0-9+.-]*:\/\//i.test(source) || /^[^\s@]+@[^\s:]+:/.test(source);
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
/** `git init` only when `dir` is not a repository yet. Returns whether it did. */
|
|
589
|
+
async function gitInitIfNeeded(dir) {
|
|
590
|
+
const { hardenedGit } = await import("#sdk/node");
|
|
591
|
+
try {
|
|
592
|
+
await hardenedGit(dir, ["rev-parse", "--git-dir"]);
|
|
593
|
+
return false;
|
|
594
|
+
} catch {
|
|
595
|
+
await hardenedGit(dir, ["init", "-q", "-b", "main", "."]);
|
|
596
|
+
return true;
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
/**
|
|
601
|
+
* Remote scaffold + first push, against an already-known project. Best-effort
|
|
602
|
+
* in every branch — the same non-fatal discipline `projects provision`'s own
|
|
603
|
+
* fold-in follows (`gitvault-scaffold.mjs`): a git or vault hiccup here must
|
|
604
|
+
* never turn an otherwise-successful `up` into a failure.
|
|
605
|
+
*/
|
|
606
|
+
async function composeRepoPushStep({ sdk, workDir, projectId, createdRepository }) {
|
|
607
|
+
const { resolveOwningOrgId } = await import("./org-context.mjs");
|
|
608
|
+
const { scaffoldGitvaultRemote } = await import("./gitvault-scaffold.mjs");
|
|
609
|
+
const orgId = await resolveOwningOrgId(projectId);
|
|
610
|
+
const scaffold = await scaffoldGitvaultRemote({ repoDir: workDir, projectId, orgId: orgId ?? undefined, createRepoIfMissing: false });
|
|
611
|
+
if (createdRepository && scaffold.gitvault) scaffold.gitvault.created_repository = true;
|
|
612
|
+
const out = { ...scaffold, first_push: null, first_push_error: null };
|
|
613
|
+
if (!orgId) {
|
|
614
|
+
out.first_push_error = { code: "GITVAULT_ORG_UNRESOLVED", message: `could not resolve the owning org for ${projectId} — the first push was skipped` };
|
|
615
|
+
return out;
|
|
616
|
+
}
|
|
617
|
+
try {
|
|
618
|
+
let vaultCreated = null;
|
|
619
|
+
const pushed = await sdk.gitvault.push({
|
|
620
|
+
project_id: projectId,
|
|
621
|
+
org_id: orgId,
|
|
622
|
+
repo_dir: workDir,
|
|
623
|
+
onVaultCreated: (created) => { vaultCreated = created; },
|
|
624
|
+
});
|
|
625
|
+
out.first_push = { generation: pushed.generation, form: pushed.form, gitvault_commit: pushed.gitvault_commit, vault_created: vaultCreated };
|
|
626
|
+
} catch (err) {
|
|
627
|
+
out.first_push_error = { code: err?.body?.code ?? err?.code ?? "GITVAULT_PUSH_FAILED", message: err?.message ?? String(err) };
|
|
628
|
+
}
|
|
629
|
+
return out;
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
/**
|
|
633
|
+
* `--repo-only`: the vault-only track composed through `up` — provision +
|
|
634
|
+
* remote scaffold + first push, zero deploy ceremony. Mirrors `run402 repos
|
|
635
|
+
* create`'s own shape (task 2.6); `up --repo-only` is the "I'm already
|
|
636
|
+
* inside `up`'s mental model" entry point to the same outcome.
|
|
637
|
+
*/
|
|
638
|
+
async function runRepoOnly({ sdk, workDir, createdRepository, opts, tier, idempotencyKey }) {
|
|
639
|
+
// `sdk.up()`'s action graph auto-approves prerequisites (allowance, tier)
|
|
640
|
+
// for a cold start; calling projects.provision directly bypasses that, so
|
|
641
|
+
// this mirrors the SAME gate `run402 projects provision` itself uses —
|
|
642
|
+
// fail with the actionable NO_ALLOWANCE guidance rather than an opaque
|
|
643
|
+
// auth error from the gateway.
|
|
644
|
+
if (!isCoreApiTarget() && !loadLiveControlPlaneSession()) allowanceAuthHeaders("/projects/v1");
|
|
645
|
+
const name = flagValue(opts, "--name") ?? undefined;
|
|
646
|
+
const provisioned = await sdk.projects.provision({ tier, name, idempotencyKey });
|
|
647
|
+
const repo = await composeRepoPushStep({ sdk, workDir, projectId: provisioned.project_id, createdRepository });
|
|
648
|
+
return {
|
|
649
|
+
action: "up",
|
|
650
|
+
mode: "repo-only",
|
|
651
|
+
dry_run: false,
|
|
652
|
+
result: { project_id: provisioned.project_id, provision: provisioned, repo },
|
|
653
|
+
};
|
|
654
|
+
}
|
|
655
|
+
|
|
518
656
|
function parsePropagationBudget(args) {
|
|
519
657
|
const raw = flagValue(args, "--propagation-budget-s");
|
|
520
658
|
if (raw === null) return undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "run402",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.37.0",
|
|
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": {
|
package/sdk/dist/errors.d.ts
CHANGED
|
@@ -345,7 +345,7 @@ export declare class TransferFreezeError extends Run402Error {
|
|
|
345
345
|
* `initialize_wallet`, plus `operator_approve` (synthesized for WRITE_AUTH).
|
|
346
346
|
* Tolerates unknown future gateway types via the `(string & {})` fallback.
|
|
347
347
|
*/
|
|
348
|
-
export type NextActionType = "retry" | "poll" | "reconcile_payment" | "authenticate" | "submit_payment" | "renew_tier" | "check_usage" | "resume_deploy" | "edit_request" | "edit_migration" | "create_project" | "initialize_wallet" | "deploy" | "operator_approve" | "contact_support";
|
|
348
|
+
export type NextActionType = "retry" | "poll" | "reconcile_payment" | "authenticate" | "submit_payment" | "renew_tier" | "check_usage" | "resume_deploy" | "edit_request" | "edit_migration" | "create_project" | "initialize_wallet" | "deploy" | "operator_approve" | "contact_support" | "gitvault_policy_required";
|
|
349
349
|
/**
|
|
350
350
|
* A single advisory "what to do next" entry. Mirrors the gateway's
|
|
351
351
|
* `next_actions[]` shape (`{ type, method?, path?, auth?, why? }`) extended with
|
package/sdk/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|