run402 3.7.6 → 3.7.8
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/cli.mjs +11 -6
- package/lib/admin.mjs +1 -3
- package/lib/agent.mjs +1 -3
- package/lib/ai.mjs +1 -3
- package/lib/allowance.mjs +1 -3
- package/lib/apps.mjs +1 -3
- package/lib/archives.mjs +6 -1
- package/lib/assets.mjs +1 -3
- package/lib/auth.mjs +1 -3
- package/lib/billing.mjs +1 -3
- package/lib/cache.mjs +3 -1
- package/lib/cdn.mjs +1 -3
- package/lib/ci.mjs +1 -3
- package/lib/cloud.mjs +8 -4
- package/lib/contracts.mjs +1 -3
- package/lib/core.mjs +12 -2
- package/lib/domains.mjs +1 -3
- package/lib/email.mjs +1 -3
- package/lib/functions.mjs +1 -3
- package/lib/grants.mjs +2 -4
- package/lib/image.mjs +1 -3
- package/lib/jobs.mjs +2 -6
- package/lib/message.mjs +1 -3
- package/lib/notifications.mjs +6 -1
- package/lib/operator.mjs +4 -3
- package/lib/org.mjs +1 -3
- package/lib/projects.mjs +1 -3
- package/lib/secrets.mjs +1 -3
- package/lib/sender-domain.mjs +1 -3
- package/lib/service.mjs +2 -4
- package/lib/sites.mjs +1 -3
- package/lib/status.mjs +5 -4
- package/lib/subdomains.mjs +1 -3
- package/lib/tier.mjs +1 -3
- package/lib/transfer.mjs +1 -3
- package/lib/up.mjs +16 -6
- package/lib/wallet-context.mjs +11 -7
- package/lib/wallet-context.test.mjs +14 -2
- package/lib/wallets.mjs +6 -1
- package/lib/webhook-secret.mjs +6 -1
- package/lib/webhooks.mjs +1 -3
- package/package.json +1 -1
- package/sdk/dist/actions.d.ts +1 -1
- package/sdk/dist/actions.d.ts.map +1 -1
- package/sdk/dist/index.d.ts +1 -0
- package/sdk/dist/index.d.ts.map +1 -1
- package/sdk/dist/index.js +2 -0
- package/sdk/dist/index.js.map +1 -1
- package/sdk/dist/namespaces/apps.d.ts +34 -0
- package/sdk/dist/namespaces/apps.d.ts.map +1 -1
- package/sdk/dist/namespaces/apps.js +19 -0
- package/sdk/dist/namespaces/apps.js.map +1 -1
- package/sdk/dist/node/actions-node.d.ts.map +1 -1
- package/sdk/dist/node/actions-node.js +617 -25
- package/sdk/dist/node/actions-node.js.map +1 -1
- package/sdk/dist/scoped.d.ts +5 -1
- package/sdk/dist/scoped.d.ts.map +1 -1
- package/sdk/dist/scoped.js +6 -0
- package/sdk/dist/scoped.js.map +1 -1
package/cli.mjs
CHANGED
|
@@ -330,8 +330,8 @@ switch (cmd) {
|
|
|
330
330
|
break;
|
|
331
331
|
}
|
|
332
332
|
case "webhook-secret": {
|
|
333
|
-
const {
|
|
334
|
-
await
|
|
333
|
+
const { run } = await import("./lib/webhook-secret.mjs");
|
|
334
|
+
await run(sub, rest);
|
|
335
335
|
break;
|
|
336
336
|
}
|
|
337
337
|
case "logs": {
|
|
@@ -344,9 +344,14 @@ switch (cmd) {
|
|
|
344
344
|
await run(sub, rest);
|
|
345
345
|
break;
|
|
346
346
|
}
|
|
347
|
-
default:
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
347
|
+
default: {
|
|
348
|
+
const { fail } = await import("./lib/sdk-errors.mjs");
|
|
349
|
+
fail({
|
|
350
|
+
code: "UNKNOWN_COMMAND",
|
|
351
|
+
message: `Unknown command: ${cmd}`,
|
|
352
|
+
hint: "Run `run402 --help` for the command list.",
|
|
353
|
+
details: { command: cmd },
|
|
354
|
+
});
|
|
355
|
+
}
|
|
351
356
|
}
|
|
352
357
|
}
|
package/lib/admin.mjs
CHANGED
|
@@ -192,8 +192,6 @@ export async function run(sub, args) {
|
|
|
192
192
|
case "archive": await archive(args); break;
|
|
193
193
|
case "reactivate": await reactivate(args); break;
|
|
194
194
|
default:
|
|
195
|
-
|
|
196
|
-
console.log(HELP);
|
|
197
|
-
process.exit(1);
|
|
195
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown admin subcommand: ${sub}`, hint: "Run `run402 admin --help` for usage.", details: { command: "admin", subcommand: sub } });
|
|
198
196
|
}
|
|
199
197
|
}
|
package/lib/agent.mjs
CHANGED
|
@@ -201,8 +201,6 @@ export async function run(sub, args) {
|
|
|
201
201
|
await passkey(args);
|
|
202
202
|
return;
|
|
203
203
|
default:
|
|
204
|
-
|
|
205
|
-
console.log(HELP);
|
|
206
|
-
process.exit(1);
|
|
204
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown agent subcommand: ${sub}`, hint: "Run `run402 agent --help` for usage.", details: { command: "agent", subcommand: sub } });
|
|
207
205
|
}
|
|
208
206
|
}
|
package/lib/ai.mjs
CHANGED
|
@@ -230,8 +230,6 @@ export async function run(sub, args) {
|
|
|
230
230
|
case "moderate": await moderate(args); break;
|
|
231
231
|
case "usage": await usage(args); break;
|
|
232
232
|
default:
|
|
233
|
-
|
|
234
|
-
console.log(HELP);
|
|
235
|
-
process.exit(1);
|
|
233
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown ai subcommand: ${sub}`, hint: "Run `run402 ai --help` for usage.", details: { command: "ai", subcommand: sub } });
|
|
236
234
|
}
|
|
237
235
|
}
|
package/lib/allowance.mjs
CHANGED
|
@@ -337,8 +337,6 @@ export async function run(sub, args) {
|
|
|
337
337
|
case "checkout": await checkout(args); break;
|
|
338
338
|
case "history": await history(args); break;
|
|
339
339
|
default:
|
|
340
|
-
|
|
341
|
-
console.log(HELP);
|
|
342
|
-
process.exit(1);
|
|
340
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown allowance subcommand: ${sub}`, hint: "Run `run402 allowance --help` for usage.", details: { command: "allowance", subcommand: sub } });
|
|
343
341
|
}
|
|
344
342
|
}
|
package/lib/apps.mjs
CHANGED
|
@@ -312,8 +312,6 @@ export async function run(sub, args) {
|
|
|
312
312
|
case "update": await update(args[0], args[1], args.slice(2)); break;
|
|
313
313
|
case "delete": await deleteVersion(args[0], args[1], args.slice(2)); break;
|
|
314
314
|
default:
|
|
315
|
-
|
|
316
|
-
console.log(HELP);
|
|
317
|
-
process.exit(1);
|
|
315
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown apps subcommand: ${sub}`, hint: "Run `run402 apps --help` for usage.", details: { command: "apps", subcommand: sub } });
|
|
318
316
|
}
|
|
319
317
|
}
|
package/lib/archives.mjs
CHANGED
|
@@ -23,7 +23,12 @@ export async function run(sub, rawArgs = []) {
|
|
|
23
23
|
case "inspect": return inspect(rawArgs);
|
|
24
24
|
case "verify": return verify(rawArgs);
|
|
25
25
|
default:
|
|
26
|
-
fail({
|
|
26
|
+
fail({
|
|
27
|
+
code: "UNKNOWN_SUBCOMMAND",
|
|
28
|
+
message: `Unknown archives subcommand: ${sub}`,
|
|
29
|
+
hint: "Run `run402 archives --help` for usage.",
|
|
30
|
+
details: { command: "archives", subcommand: sub },
|
|
31
|
+
});
|
|
27
32
|
}
|
|
28
33
|
}
|
|
29
34
|
|
package/lib/assets.mjs
CHANGED
|
@@ -683,8 +683,6 @@ export async function run(sub, args) {
|
|
|
683
683
|
case "sign": await sign(defaultProject, args); break;
|
|
684
684
|
case "diagnose": await diagnose(defaultProject, args); break;
|
|
685
685
|
default:
|
|
686
|
-
|
|
687
|
-
console.log(HELP);
|
|
688
|
-
process.exit(1);
|
|
686
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown assets subcommand: ${sub}`, hint: "Run `run402 assets --help` for usage.", details: { command: "assets", subcommand: sub } });
|
|
689
687
|
}
|
|
690
688
|
}
|
package/lib/auth.mjs
CHANGED
|
@@ -757,8 +757,6 @@ export async function run(sub, args) {
|
|
|
757
757
|
case "providers": await providers(args); break;
|
|
758
758
|
case "scaffold-roles": scaffoldRoles(args); break;
|
|
759
759
|
default:
|
|
760
|
-
|
|
761
|
-
console.log(HELP);
|
|
762
|
-
process.exit(1);
|
|
760
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown auth subcommand: ${sub}`, hint: "Run `run402 auth --help` for usage.", details: { command: "auth", subcommand: sub } });
|
|
763
761
|
}
|
|
764
762
|
}
|
package/lib/billing.mjs
CHANGED
|
@@ -355,8 +355,6 @@ export async function run(sub, args) {
|
|
|
355
355
|
case "balance": await balance(args); break;
|
|
356
356
|
case "history": await history(args); break;
|
|
357
357
|
default:
|
|
358
|
-
|
|
359
|
-
console.log(HELP);
|
|
360
|
-
process.exit(1);
|
|
358
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown billing subcommand: ${sub}`, hint: "Run `run402 billing --help` for usage.", details: { command: "billing", subcommand: sub } });
|
|
361
359
|
}
|
|
362
360
|
}
|
package/lib/cache.mjs
CHANGED
|
@@ -100,8 +100,10 @@ export async function run(sub, args) {
|
|
|
100
100
|
break;
|
|
101
101
|
default:
|
|
102
102
|
fail({
|
|
103
|
-
code: "
|
|
103
|
+
code: "UNKNOWN_SUBCOMMAND",
|
|
104
104
|
message: `Unknown cache subcommand: ${sub}`,
|
|
105
|
+
hint: "Run `run402 cache --help` for usage.",
|
|
106
|
+
details: { command: "cache", subcommand: sub },
|
|
105
107
|
next_actions: [editRequestAction("run402 cache --help", "Choose a supported cache subcommand.")],
|
|
106
108
|
});
|
|
107
109
|
}
|
package/lib/cdn.mjs
CHANGED
|
@@ -135,8 +135,6 @@ export async function run(sub, args) {
|
|
|
135
135
|
await waitFresh(defaultProject, args);
|
|
136
136
|
break;
|
|
137
137
|
default:
|
|
138
|
-
|
|
139
|
-
console.log(HELP);
|
|
140
|
-
process.exit(1);
|
|
138
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown cdn subcommand: ${sub}`, hint: "Run `run402 cdn --help` for usage.", details: { command: "cdn", subcommand: sub } });
|
|
141
139
|
}
|
|
142
140
|
}
|
package/lib/ci.mjs
CHANGED
|
@@ -457,8 +457,6 @@ export async function run(sub, args) {
|
|
|
457
457
|
case "revoke": await revoke(args); break;
|
|
458
458
|
case "set-asset-scopes": await setAssetScopes(args); break;
|
|
459
459
|
default:
|
|
460
|
-
|
|
461
|
-
console.log(HELP);
|
|
462
|
-
process.exit(1);
|
|
460
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown ci subcommand: ${sub}`, hint: "Run `run402 ci --help` for usage.", details: { command: "ci", subcommand: sub } });
|
|
463
461
|
}
|
|
464
462
|
}
|
package/lib/cloud.mjs
CHANGED
|
@@ -56,8 +56,10 @@ export async function run(sub, args = []) {
|
|
|
56
56
|
}
|
|
57
57
|
if (sub !== "archives") {
|
|
58
58
|
fail({
|
|
59
|
-
code: "
|
|
60
|
-
message:
|
|
59
|
+
code: "UNKNOWN_SUBCOMMAND",
|
|
60
|
+
message: `Unknown cloud subcommand: ${sub}`,
|
|
61
|
+
hint: "Run `run402 cloud --help` for usage.",
|
|
62
|
+
details: { command: "cloud", subcommand: sub },
|
|
61
63
|
next_actions: [{ type: "run_command", command: "run402 cloud archives --help" }],
|
|
62
64
|
});
|
|
63
65
|
}
|
|
@@ -67,8 +69,10 @@ export async function run(sub, args = []) {
|
|
|
67
69
|
if (action === "download") return download(rest);
|
|
68
70
|
if (action === "status") return status(rest);
|
|
69
71
|
fail({
|
|
70
|
-
code: "
|
|
71
|
-
message:
|
|
72
|
+
code: "UNKNOWN_SUBCOMMAND",
|
|
73
|
+
message: `Unknown cloud archives subcommand: ${action}`,
|
|
74
|
+
hint: "Run `run402 cloud archives --help` for usage.",
|
|
75
|
+
details: { command: "cloud archives", subcommand: action },
|
|
72
76
|
next_actions: [{ type: "run_command", command: "run402 cloud archives --help" }],
|
|
73
77
|
});
|
|
74
78
|
}
|
package/lib/contracts.mjs
CHANGED
|
@@ -483,8 +483,6 @@ export async function run(sub, args) {
|
|
|
483
483
|
case "drain": await drain(args[0], args[1], args.slice(2)); break;
|
|
484
484
|
case "delete": await deleteSigner(args[0], args[1], args.slice(2)); break;
|
|
485
485
|
default:
|
|
486
|
-
|
|
487
|
-
console.log(HELP);
|
|
488
|
-
process.exit(1);
|
|
486
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown contracts subcommand: ${sub}`, hint: "Run `run402 contracts --help` for usage.", details: { command: "contracts", subcommand: sub } });
|
|
489
487
|
}
|
|
490
488
|
}
|
package/lib/core.mjs
CHANGED
|
@@ -28,11 +28,21 @@ export async function run(sub, args = []) {
|
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
30
|
if (sub !== "projects") {
|
|
31
|
-
fail({
|
|
31
|
+
fail({
|
|
32
|
+
code: "UNKNOWN_SUBCOMMAND",
|
|
33
|
+
message: `Unknown core subcommand: ${sub}`,
|
|
34
|
+
hint: "Run `run402 core --help` for usage.",
|
|
35
|
+
details: { command: "core", subcommand: sub },
|
|
36
|
+
});
|
|
32
37
|
}
|
|
33
38
|
const action = args[0];
|
|
34
39
|
if (action === "import") return importProject(args.slice(1));
|
|
35
|
-
fail({
|
|
40
|
+
fail({
|
|
41
|
+
code: "UNKNOWN_SUBCOMMAND",
|
|
42
|
+
message: `Unknown core projects subcommand: ${action}`,
|
|
43
|
+
hint: "Run `run402 core projects --help` for usage.",
|
|
44
|
+
details: { command: "core projects", subcommand: action },
|
|
45
|
+
});
|
|
36
46
|
}
|
|
37
47
|
|
|
38
48
|
async function importProject(rawArgs) {
|
package/lib/domains.mjs
CHANGED
|
@@ -208,8 +208,6 @@ export async function run(sub, args) {
|
|
|
208
208
|
case "status": await status(args); break;
|
|
209
209
|
case "delete": await deleteDomain(args); break;
|
|
210
210
|
default:
|
|
211
|
-
|
|
212
|
-
console.log(HELP);
|
|
213
|
-
process.exit(1);
|
|
211
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown domains subcommand: ${sub}`, hint: "Run `run402 domains --help` for usage.", details: { command: "domains", subcommand: sub } });
|
|
214
212
|
}
|
|
215
213
|
}
|
package/lib/email.mjs
CHANGED
|
@@ -791,8 +791,6 @@ export async function run(sub, args) {
|
|
|
791
791
|
break;
|
|
792
792
|
}
|
|
793
793
|
default:
|
|
794
|
-
|
|
795
|
-
console.log(HELP);
|
|
796
|
-
process.exit(1);
|
|
794
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown email subcommand: ${sub}`, hint: "Run `run402 email --help` for usage.", details: { command: "email", subcommand: sub } });
|
|
797
795
|
}
|
|
798
796
|
}
|
package/lib/functions.mjs
CHANGED
|
@@ -823,9 +823,7 @@ export async function run(sub, args) {
|
|
|
823
823
|
case "list": await list(args[0], args.slice(1)); break;
|
|
824
824
|
case "delete": await deleteFunction(args[0], args[1], args.slice(2)); break;
|
|
825
825
|
default:
|
|
826
|
-
|
|
827
|
-
console.log(HELP);
|
|
828
|
-
process.exit(1);
|
|
826
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown functions subcommand: ${sub}`, hint: "Run `run402 functions --help` for usage.", details: { command: "functions", subcommand: sub } });
|
|
829
827
|
}
|
|
830
828
|
}
|
|
831
829
|
|
package/lib/grants.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getSdk } from "./sdk.mjs";
|
|
2
|
-
import { reportSdkError, parseFlagJson } from "./sdk-errors.mjs";
|
|
2
|
+
import { reportSdkError, parseFlagJson, fail } from "./sdk-errors.mjs";
|
|
3
3
|
import {
|
|
4
4
|
normalizeArgv,
|
|
5
5
|
assertKnownFlags,
|
|
@@ -110,8 +110,6 @@ export async function run(sub, args) {
|
|
|
110
110
|
case "create": await create(args); break;
|
|
111
111
|
case "revoke": await revoke(args); break;
|
|
112
112
|
default:
|
|
113
|
-
|
|
114
|
-
console.log(HELP);
|
|
115
|
-
process.exit(1);
|
|
113
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown grants subcommand: ${sub}`, hint: "Run `run402 grants --help` for usage.", details: { command: "grants", subcommand: sub } });
|
|
116
114
|
}
|
|
117
115
|
}
|
package/lib/image.mjs
CHANGED
|
@@ -67,9 +67,7 @@ export async function run(sub, args) {
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
if (sub !== "generate") {
|
|
70
|
-
|
|
71
|
-
console.log(HELP);
|
|
72
|
-
process.exit(1);
|
|
70
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown image subcommand: ${sub}`, hint: "Run `run402 image --help` for usage.", details: { command: "image", subcommand: sub } });
|
|
73
71
|
}
|
|
74
72
|
|
|
75
73
|
const parsedArgs = normalizeArgv(args);
|
package/lib/jobs.mjs
CHANGED
|
@@ -421,9 +421,7 @@ async function artifacts(args = []) {
|
|
|
421
421
|
await artifactsGet(args.slice(1));
|
|
422
422
|
return;
|
|
423
423
|
}
|
|
424
|
-
|
|
425
|
-
console.log(SUB_HELP.artifacts);
|
|
426
|
-
process.exit(1);
|
|
424
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown jobs artifacts action: ${action}`, hint: "Run `run402 jobs artifacts --help` for usage.", details: { command: "jobs artifacts", subcommand: action } });
|
|
427
425
|
}
|
|
428
426
|
|
|
429
427
|
function splitJobIdArg(args = [], valueFlags = []) {
|
|
@@ -486,8 +484,6 @@ export async function run(sub, args = []) {
|
|
|
486
484
|
await purge(args);
|
|
487
485
|
break;
|
|
488
486
|
default:
|
|
489
|
-
|
|
490
|
-
console.log(HELP);
|
|
491
|
-
process.exit(1);
|
|
487
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown jobs subcommand: ${sub}`, hint: "Run `run402 jobs --help` for usage.", details: { command: "jobs", subcommand: sub } });
|
|
492
488
|
}
|
|
493
489
|
}
|
package/lib/message.mjs
CHANGED
|
@@ -84,9 +84,7 @@ export async function run(sub, args) {
|
|
|
84
84
|
process.exit(0);
|
|
85
85
|
}
|
|
86
86
|
if (sub !== "send") {
|
|
87
|
-
|
|
88
|
-
console.log(HELP);
|
|
89
|
-
process.exit(1);
|
|
87
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown message subcommand: ${sub}`, hint: "Run `run402 message --help` for usage.", details: { command: "message", subcommand: sub } });
|
|
90
88
|
}
|
|
91
89
|
const parsedArgs = normalizeArgv(args);
|
|
92
90
|
assertKnownFlags(parsedArgs, ["--help", "-h"]);
|
package/lib/notifications.mjs
CHANGED
|
@@ -166,7 +166,12 @@ export async function run(sub, args) {
|
|
|
166
166
|
await test(args);
|
|
167
167
|
return;
|
|
168
168
|
default:
|
|
169
|
-
fail({
|
|
169
|
+
fail({
|
|
170
|
+
code: "UNKNOWN_SUBCOMMAND",
|
|
171
|
+
message: `Unknown notifications subcommand: ${sub}`,
|
|
172
|
+
hint: "Run `run402 notifications --help` for usage.",
|
|
173
|
+
details: { command: "notifications", subcommand: sub },
|
|
174
|
+
});
|
|
170
175
|
}
|
|
171
176
|
}
|
|
172
177
|
|
package/lib/operator.mjs
CHANGED
|
@@ -767,9 +767,10 @@ export async function run(sub, args = []) {
|
|
|
767
767
|
break;
|
|
768
768
|
default:
|
|
769
769
|
fail({
|
|
770
|
-
code: "
|
|
771
|
-
message: `Unknown subcommand:
|
|
772
|
-
hint: "Run
|
|
770
|
+
code: "UNKNOWN_SUBCOMMAND",
|
|
771
|
+
message: `Unknown operator subcommand: ${sub}`,
|
|
772
|
+
hint: "Run `run402 operator --help` for usage.",
|
|
773
|
+
details: { command: "operator", subcommand: sub },
|
|
773
774
|
});
|
|
774
775
|
}
|
|
775
776
|
}
|
package/lib/org.mjs
CHANGED
|
@@ -396,8 +396,6 @@ export async function run(sub, args) {
|
|
|
396
396
|
case "whoami": await whoami(args); break;
|
|
397
397
|
case "audit": await audit(args); break;
|
|
398
398
|
default:
|
|
399
|
-
|
|
400
|
-
console.log(HELP);
|
|
401
|
-
process.exit(1);
|
|
399
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown org subcommand: ${sub}`, hint: "Run `run402 org --help` for usage.", details: { command: "org", subcommand: sub } });
|
|
402
400
|
}
|
|
403
401
|
}
|
package/lib/projects.mjs
CHANGED
|
@@ -810,8 +810,6 @@ export async function run(sub, args) {
|
|
|
810
810
|
case "promote-user": { const { projectId, rest } = resolvePositionalProject(args); await promoteUser(projectId, rest[0]); break; }
|
|
811
811
|
case "demote-user": { const { projectId, rest } = resolvePositionalProject(args); await demoteUser(projectId, rest[0]); break; }
|
|
812
812
|
default:
|
|
813
|
-
|
|
814
|
-
console.log(HELP);
|
|
815
|
-
process.exit(1);
|
|
813
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown projects subcommand: ${sub}`, hint: "Run `run402 projects --help` for usage.", details: { command: "projects", subcommand: sub } });
|
|
816
814
|
}
|
|
817
815
|
}
|
package/lib/secrets.mjs
CHANGED
|
@@ -218,8 +218,6 @@ export async function run(sub, args) {
|
|
|
218
218
|
case "list": await list(args[0], args.slice(1)); break;
|
|
219
219
|
case "delete": await deleteSecret(args[0], args[1], args.slice(2)); break;
|
|
220
220
|
default:
|
|
221
|
-
|
|
222
|
-
console.log(HELP);
|
|
223
|
-
process.exit(1);
|
|
221
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown secrets subcommand: ${sub}`, hint: "Run `run402 secrets --help` for usage.", details: { command: "secrets", subcommand: sub } });
|
|
224
222
|
}
|
|
225
223
|
}
|
package/lib/sender-domain.mjs
CHANGED
|
@@ -209,8 +209,6 @@ export async function run(sub, args) {
|
|
|
209
209
|
case "inbound-enable": await inboundToggle("enable", args); break;
|
|
210
210
|
case "inbound-disable": await inboundToggle("disable", args); break;
|
|
211
211
|
default:
|
|
212
|
-
|
|
213
|
-
console.log(HELP);
|
|
214
|
-
process.exit(1);
|
|
212
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown sender-domain subcommand: ${sub}`, hint: "Run `run402 sender-domain --help` for usage.", details: { command: "sender-domain", subcommand: sub } });
|
|
215
213
|
}
|
|
216
214
|
}
|
package/lib/service.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getSdk } from "./sdk.mjs";
|
|
2
|
-
import { reportSdkError } from "./sdk-errors.mjs";
|
|
2
|
+
import { reportSdkError, fail } from "./sdk-errors.mjs";
|
|
3
3
|
|
|
4
4
|
const HELP = `run402 service — Run402 service health and availability
|
|
5
5
|
|
|
@@ -70,8 +70,6 @@ export async function run(sub, args) {
|
|
|
70
70
|
case "status": await status(); break;
|
|
71
71
|
case "health": await health(); break;
|
|
72
72
|
default:
|
|
73
|
-
|
|
74
|
-
console.log(HELP);
|
|
75
|
-
process.exit(1);
|
|
73
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown service subcommand: ${sub}`, hint: "Run `run402 service --help` for usage.", details: { command: "service", subcommand: sub } });
|
|
76
74
|
}
|
|
77
75
|
}
|
package/lib/sites.mjs
CHANGED
|
@@ -364,8 +364,6 @@ export async function run(sub, args) {
|
|
|
364
364
|
case "deploy": await deploy(args); break;
|
|
365
365
|
case "deploy-dir": await deployDir(args); break;
|
|
366
366
|
default:
|
|
367
|
-
|
|
368
|
-
console.log(HELP);
|
|
369
|
-
process.exit(1);
|
|
367
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown sites subcommand: ${sub}`, hint: "Run `run402 sites --help` for usage.", details: { command: "sites", subcommand: sub } });
|
|
370
368
|
}
|
|
371
369
|
}
|
package/lib/status.mjs
CHANGED
|
@@ -14,7 +14,7 @@ import { readMeta } from "../core-dist/profiles.js";
|
|
|
14
14
|
const HELP = `run402 status — Show full organization state in one shot
|
|
15
15
|
|
|
16
16
|
Usage:
|
|
17
|
-
run402 status
|
|
17
|
+
run402 status [--json]
|
|
18
18
|
|
|
19
19
|
Displays:
|
|
20
20
|
- Wallet identity (local_label, server_label, address)
|
|
@@ -25,8 +25,9 @@ Displays:
|
|
|
25
25
|
- Active project ID
|
|
26
26
|
- Active API target
|
|
27
27
|
|
|
28
|
-
Output is JSON
|
|
29
|
-
|
|
28
|
+
Output is JSON by default. --json is accepted as a compatibility no-op.
|
|
29
|
+
Run402 Cloud status requires an allowance; Core target status can still report
|
|
30
|
+
local project state without one.
|
|
30
31
|
`;
|
|
31
32
|
|
|
32
33
|
// USDC / pathUSD constants (match allowance.mjs)
|
|
@@ -89,7 +90,7 @@ function normalizeProject(raw) {
|
|
|
89
90
|
export async function run(args = []) {
|
|
90
91
|
args = normalizeArgv(args);
|
|
91
92
|
if (hasHelp(args)) { console.log(HELP); process.exit(0); }
|
|
92
|
-
assertKnownFlags(args, ["--help", "-h"]);
|
|
93
|
+
assertKnownFlags(args, ["--help", "-h", "--json"]);
|
|
93
94
|
const allowance = readAllowance();
|
|
94
95
|
const target = {
|
|
95
96
|
api_base: apiBase(),
|
package/lib/subdomains.mjs
CHANGED
|
@@ -197,8 +197,6 @@ export async function run(sub, args) {
|
|
|
197
197
|
case "delete": await deleteSubdomain(args); break;
|
|
198
198
|
case "list": await list(args); break;
|
|
199
199
|
default:
|
|
200
|
-
|
|
201
|
-
console.log(HELP);
|
|
202
|
-
process.exit(1);
|
|
200
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown subdomains subcommand: ${sub}`, hint: "Run `run402 subdomains --help` for usage.", details: { command: "subdomains", subcommand: sub } });
|
|
203
201
|
}
|
|
204
202
|
}
|
package/lib/tier.mjs
CHANGED
|
@@ -160,8 +160,6 @@ export async function run(sub, args) {
|
|
|
160
160
|
case "status": await status(args); break;
|
|
161
161
|
case "set": await set(args); break;
|
|
162
162
|
default:
|
|
163
|
-
|
|
164
|
-
console.log(HELP);
|
|
165
|
-
process.exit(1);
|
|
163
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown tier subcommand: ${sub}`, hint: "Run `run402 tier --help` for usage.", details: { command: "tier", subcommand: sub } });
|
|
166
164
|
}
|
|
167
165
|
}
|
package/lib/transfer.mjs
CHANGED
|
@@ -391,8 +391,6 @@ export async function run(sub, args) {
|
|
|
391
391
|
await cancel(args);
|
|
392
392
|
return;
|
|
393
393
|
default:
|
|
394
|
-
|
|
395
|
-
console.log(HELP);
|
|
396
|
-
process.exit(1);
|
|
394
|
+
fail({ code: "UNKNOWN_SUBCOMMAND", message: `Unknown transfer subcommand: ${sub}`, hint: "Run `run402 transfer --help` for usage.", details: { command: "transfer", subcommand: sub } });
|
|
397
395
|
}
|
|
398
396
|
}
|
package/lib/up.mjs
CHANGED
|
@@ -7,7 +7,7 @@ import { assertKnownFlags, flagValue, normalizeArgv, positionalArgs } from "./ar
|
|
|
7
7
|
const HELP = `run402 up — Provision/link/deploy the current app
|
|
8
8
|
|
|
9
9
|
Usage:
|
|
10
|
-
run402 up [repo-or-path] [--name <name>] [--project <id>] [--manifest <path>] [--dir <path>] [--tier <tier>] [-y|--yes] [--check|--print-spec|--plan|--require-plan <id>] [--
|
|
10
|
+
run402 up [repo-or-path] [--name <name>] [--project <id>] [--manifest <path>] [--dir <path>] [--tier <tier>] [-y|--yes] [--check|--print-spec|--plan|--require-plan <id>] [--human|--json-stream] [--quiet]
|
|
11
11
|
|
|
12
12
|
Options:
|
|
13
13
|
repo-or-path Local app directory or public Git repository URL. Defaults
|
|
@@ -15,8 +15,8 @@ Options:
|
|
|
15
15
|
--name <name> Project display name when up needs to create a project.
|
|
16
16
|
Not a deploy manifest field and never renames a project.
|
|
17
17
|
--project <id> Explicit project id. Highest-priority project selector.
|
|
18
|
-
--manifest <path>
|
|
19
|
-
then app.json in --dir/current directory.
|
|
18
|
+
--manifest <path> Manifest path. Defaults to run402.json, then
|
|
19
|
+
run402.deploy.json, then app.json in --dir/current directory.
|
|
20
20
|
--dir <path> Workspace directory to inspect (default: current dir).
|
|
21
21
|
--tier <tier> Bootstrap tier if no active Cloud tier exists
|
|
22
22
|
(prototype, hobby, team; default prototype).
|
|
@@ -39,7 +39,8 @@ Options:
|
|
|
39
39
|
--max-spend-usd <n> Maximum spend up may approve for app readiness.
|
|
40
40
|
--build-mode <mode> Override app build mode: local, remote, or sandbox.
|
|
41
41
|
--allow-shell-build Approve shell-string build commands in run402.json.
|
|
42
|
-
--json Emit one final JSON object on stdout.
|
|
42
|
+
--json Emit one final JSON object on stdout (default; compatibility no-op).
|
|
43
|
+
--human Emit the legacy human success/blocking summary on stdout.
|
|
43
44
|
--json-stream Emit NDJSON progress events on stdout and a final result event.
|
|
44
45
|
--quiet Suppress action progress events on stderr.
|
|
45
46
|
|
|
@@ -81,6 +82,7 @@ export async function run(args = []) {
|
|
|
81
82
|
"--allow-prune",
|
|
82
83
|
"--allow-shell-build",
|
|
83
84
|
"--json",
|
|
85
|
+
"--human",
|
|
84
86
|
"--json-stream",
|
|
85
87
|
],
|
|
86
88
|
[
|
|
@@ -156,9 +158,17 @@ export async function run(args = []) {
|
|
|
156
158
|
|
|
157
159
|
const yes = parsed.includes("-y") || parsed.includes("--yes");
|
|
158
160
|
const jsonStream = parsed.includes("--json-stream");
|
|
161
|
+
const human = parsed.includes("--human");
|
|
159
162
|
const quiet = parsed.includes("--quiet") || parsed.includes("--final-only") || jsonStream;
|
|
160
163
|
const mode = parseExecutionMode(parsed);
|
|
161
164
|
const dryRun = parsed.includes("--dry-run");
|
|
165
|
+
if (human && (parsed.includes("--json") || jsonStream)) {
|
|
166
|
+
fail({
|
|
167
|
+
code: "BAD_USAGE",
|
|
168
|
+
message: "--human cannot be combined with --json or --json-stream.",
|
|
169
|
+
details: { flags: parsed.filter((arg) => arg === "--human" || arg === "--json" || arg === "--json-stream") },
|
|
170
|
+
});
|
|
171
|
+
}
|
|
162
172
|
if (dryRun && mode !== undefined) {
|
|
163
173
|
fail({
|
|
164
174
|
code: "BAD_USAGE",
|
|
@@ -207,9 +217,9 @@ export async function run(args = []) {
|
|
|
207
217
|
console.log(JSON.stringify({ type: "run402.up.result", result }));
|
|
208
218
|
} else if (mode === "printSpec") {
|
|
209
219
|
console.log(JSON.stringify(result.result?.spec ?? null, null, 2));
|
|
210
|
-
} else if (result?.result?.app_result
|
|
220
|
+
} else if (human && result?.result?.app_result) {
|
|
211
221
|
console.log(formatAppUpHuman(result.result.app_result));
|
|
212
|
-
} else if (
|
|
222
|
+
} else if (human && shouldRenderHumanSuccess(result)) {
|
|
213
223
|
console.log(formatLegacyUpSuccess(result));
|
|
214
224
|
} else {
|
|
215
225
|
console.log(JSON.stringify(result, null, 2));
|
package/lib/wallet-context.mjs
CHANGED
|
@@ -4,10 +4,9 @@
|
|
|
4
4
|
* Runs at the top of cli.mjs BEFORE any subcommand module (and therefore
|
|
5
5
|
* before cli/lib/config.mjs snapshots its paths) is loaded. Resolves which
|
|
6
6
|
* named wallet a command operates on, sets `process.env.RUN402_WALLET` so all
|
|
7
|
-
* core path functions resolve under it
|
|
8
|
-
*
|
|
9
|
-
* the
|
|
10
|
-
* here, at the edge.
|
|
7
|
+
* core path functions resolve under it. Core itself stays env-only — the
|
|
8
|
+
* `--wallet` flag and the per-directory `.run402.json` binding are translated
|
|
9
|
+
* into the env var here, at the edge.
|
|
11
10
|
*
|
|
12
11
|
* Precedence (highest first):
|
|
13
12
|
* 1. --wallet <name> / --profile <name> (flag)
|
|
@@ -178,8 +177,9 @@ function walletAddress(name) {
|
|
|
178
177
|
}
|
|
179
178
|
}
|
|
180
179
|
|
|
181
|
-
/** Emit the stderr provenance line for non-default selections
|
|
182
|
-
export function emitProvenance({ name, source, sourceDetail }, { cmd, quiet } = {}) {
|
|
180
|
+
/** Emit the stderr provenance line for non-default selections when explicitly requested. */
|
|
181
|
+
export function emitProvenance({ name, source, sourceDetail }, { cmd, quiet, showProvenance = false } = {}) {
|
|
182
|
+
if (!showProvenance) return;
|
|
183
183
|
if (quiet) return;
|
|
184
184
|
if (name === DEFAULT) return;
|
|
185
185
|
if (cmd === "wallets") return; // the wallets group reports its own context
|
|
@@ -218,6 +218,10 @@ export function applyWalletSelection({ walletFlag, cmd, cwd = process.cwd(), env
|
|
|
218
218
|
diverged: !!(envName && binding && envName !== binding.wallet),
|
|
219
219
|
});
|
|
220
220
|
|
|
221
|
-
emitProvenance(resolved, {
|
|
221
|
+
emitProvenance(resolved, {
|
|
222
|
+
cmd,
|
|
223
|
+
quiet,
|
|
224
|
+
showProvenance: env.RUN402_WALLET_PROVENANCE === "1",
|
|
225
|
+
});
|
|
222
226
|
return resolved;
|
|
223
227
|
}
|