run402 3.7.4 → 3.7.6
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 +5 -4
- package/lib/email.mjs +21 -4
- package/lib/up.mjs +146 -10
- package/package.json +1 -1
- package/sdk/dist/actions.d.ts +14 -1
- package/sdk/dist/actions.d.ts.map +1 -1
- package/sdk/dist/actions.js.map +1 -1
- package/sdk/dist/app-up.d.ts +271 -0
- package/sdk/dist/app-up.d.ts.map +1 -0
- package/sdk/dist/app-up.js +500 -0
- package/sdk/dist/app-up.js.map +1 -0
- package/sdk/dist/index.d.ts +1 -0
- package/sdk/dist/index.d.ts.map +1 -1
- package/sdk/dist/index.js +1 -0
- package/sdk/dist/index.js.map +1 -1
- package/sdk/dist/namespaces/email.d.ts +14 -2
- package/sdk/dist/namespaces/email.d.ts.map +1 -1
- package/sdk/dist/namespaces/email.js +4 -0
- package/sdk/dist/namespaces/email.js.map +1 -1
- package/sdk/dist/namespaces/projects.types.d.ts +1 -1
- package/sdk/dist/namespaces/projects.types.d.ts.map +1 -1
- package/sdk/dist/namespaces/sender-domain.d.ts +1 -1
- package/sdk/dist/namespaces/sender-domain.d.ts.map +1 -1
- package/sdk/dist/namespaces/sender-domain.js +1 -1
- package/sdk/dist/namespaces/sender-domain.js.map +1 -1
- package/sdk/dist/node/actions-node.d.ts.map +1 -1
- package/sdk/dist/node/actions-node.js +417 -5
- package/sdk/dist/node/actions-node.js.map +1 -1
- package/sdk/dist/node/index.d.ts +1 -0
- package/sdk/dist/node/index.d.ts.map +1 -1
- package/sdk/dist/node/index.js +12 -3
- package/sdk/dist/node/index.js.map +1 -1
- package/sdk/dist/node/target-profile.js +15 -3
- package/sdk/dist/node/target-profile.js.map +1 -1
package/README.md
CHANGED
|
@@ -103,7 +103,7 @@ jobs:
|
|
|
103
103
|
steps:
|
|
104
104
|
- uses: actions/checkout@v4
|
|
105
105
|
- name: Deploy to run402
|
|
106
|
-
run: npx --yes run402@
|
|
106
|
+
run: npx --yes run402@3.7.5 deploy apply --manifest 'run402.deploy.json' --project 'prj_...'
|
|
107
107
|
```
|
|
108
108
|
|
|
109
109
|
CI deploys can ship `site`, `functions`, `database`, and absent/current `base` changes. Route declarations are allowed only when the binding was linked with covering `--route-scope` patterns (`/admin` exact, `/api/*` final wildcard); no scopes means no CI route authority. Keep secrets, domains, subdomains, checks, non-current base changes, and out-of-scope routes in a local `run402 deploy apply` where the full allowance-backed authority is present.
|
|
@@ -138,7 +138,7 @@ run402 functions rebuild <id> --all # refresh every function in the project
|
|
|
138
138
|
Functions run on Node 22 with `@run402/functions` auto-bundled. Inside the handler:
|
|
139
139
|
|
|
140
140
|
```ts
|
|
141
|
-
import { db, adminDb,
|
|
141
|
+
import { db, adminDb, auth, email, ai } from "@run402/functions";
|
|
142
142
|
```
|
|
143
143
|
|
|
144
144
|
`db(req)` is the caller-context client (RLS applies); `adminDb()` bypasses RLS for platform-authored writes.
|
|
@@ -266,14 +266,15 @@ Same content also at [`cli/llms-cli.txt`](./llms-cli.txt) in the repo. Treat tha
|
|
|
266
266
|
|
|
267
267
|
## Other interfaces
|
|
268
268
|
|
|
269
|
-
`run402` is one of
|
|
269
|
+
`run402` is one of the public Run402 surfaces:
|
|
270
270
|
|
|
271
271
|
- [`@run402/sdk`](https://www.npmjs.com/package/@run402/sdk) — typed TypeScript client (isomorphic + Node entry)
|
|
272
272
|
- [`run402-mcp`](https://www.npmjs.com/package/run402-mcp) — MCP server (Claude Desktop, Cursor, Cline, Claude Code)
|
|
273
273
|
- [`@run402/functions`](https://www.npmjs.com/package/@run402/functions) — in-function helper imported inside deployed functions
|
|
274
|
+
- [`@run402/astro`](https://www.npmjs.com/package/@run402/astro) — Astro SSR, ISR cache, hosted auth, and image integration
|
|
274
275
|
- OpenClaw skill — script-based skill for OpenClaw agents
|
|
275
276
|
|
|
276
|
-
|
|
277
|
+
The in-repo packages `run402`, `run402-mcp`, and `@run402/sdk` release in lockstep. `@run402/astro` and `@run402/functions` publish on their own cadences.
|
|
277
278
|
|
|
278
279
|
## License
|
|
279
280
|
|
package/lib/email.mjs
CHANGED
|
@@ -73,7 +73,7 @@ Usage:
|
|
|
73
73
|
run402 email <subcommand> [args...]
|
|
74
74
|
|
|
75
75
|
Subcommands:
|
|
76
|
-
create <slug> [--project <id>] Create a mailbox
|
|
76
|
+
create <slug> [--project <id>] Create a project-scoped mailbox local part
|
|
77
77
|
mailboxes [--project <id>] List mailboxes with default-role metadata
|
|
78
78
|
and gateway next_actions
|
|
79
79
|
defaults [--outbound <slug|id>] [--auth-sender <slug|id>] [--project <id>]
|
|
@@ -238,14 +238,15 @@ Usage:
|
|
|
238
238
|
|
|
239
239
|
Arguments:
|
|
240
240
|
<slug> Mailbox slug (3-63 chars, lowercase alphanumeric +
|
|
241
|
-
hyphens, no consecutive hyphens).
|
|
242
|
-
|
|
241
|
+
hyphens, no consecutive hyphens). The response's
|
|
242
|
+
managed_address is
|
|
243
|
+
<slug>@<project-mail-host>.mail.run402.com.
|
|
243
244
|
|
|
244
245
|
Options:
|
|
245
246
|
--project <id> Project ID (defaults to the active project)
|
|
246
247
|
|
|
247
248
|
Notes:
|
|
248
|
-
- Up to 5 mailboxes per project
|
|
249
|
+
- Up to 5 mailboxes per project; the same slug may be used by another project
|
|
249
250
|
|
|
250
251
|
Examples:
|
|
251
252
|
run402 email create my-app
|
|
@@ -320,12 +321,17 @@ function summarizeMailboxForDefaults(m) {
|
|
|
320
321
|
mailbox_id: m.mailbox_id,
|
|
321
322
|
slug: m.slug,
|
|
322
323
|
address: m.address,
|
|
324
|
+
managed_address: m.managed_address,
|
|
323
325
|
status: m.status,
|
|
324
326
|
is_default_outbound: m.is_default_outbound ?? false,
|
|
325
327
|
is_auth_sender: m.is_auth_sender ?? false,
|
|
326
328
|
can_send: m.can_send,
|
|
329
|
+
can_receive: m.can_receive,
|
|
327
330
|
send_blocked_reason: m.send_blocked_reason ?? null,
|
|
328
331
|
domain_kind: m.domain_kind,
|
|
332
|
+
address_domain: m.address_domain,
|
|
333
|
+
managed_domain: m.managed_domain,
|
|
334
|
+
custom_domain_ready: m.custom_domain_ready,
|
|
329
335
|
footer_policy: m.footer_policy,
|
|
330
336
|
effective_footer_policy: m.effective_footer_policy,
|
|
331
337
|
footer_policy_locked_reason: m.footer_policy_locked_reason ?? null,
|
|
@@ -336,13 +342,18 @@ function mailboxInfoPayload(m) {
|
|
|
336
342
|
return {
|
|
337
343
|
mailbox_id: m.mailbox_id,
|
|
338
344
|
address: m.address,
|
|
345
|
+
managed_address: m.managed_address,
|
|
339
346
|
slug: m.slug,
|
|
340
347
|
status: m.status,
|
|
341
348
|
is_default_outbound: m.is_default_outbound,
|
|
342
349
|
is_auth_sender: m.is_auth_sender,
|
|
343
350
|
can_send: m.can_send,
|
|
351
|
+
can_receive: m.can_receive,
|
|
344
352
|
send_blocked_reason: m.send_blocked_reason,
|
|
345
353
|
domain_kind: m.domain_kind,
|
|
354
|
+
address_domain: m.address_domain,
|
|
355
|
+
managed_domain: m.managed_domain,
|
|
356
|
+
custom_domain_ready: m.custom_domain_ready,
|
|
346
357
|
footer_policy: m.footer_policy,
|
|
347
358
|
effective_footer_policy: m.effective_footer_policy,
|
|
348
359
|
footer_policy_locked_reason: m.footer_policy_locked_reason,
|
|
@@ -428,8 +439,14 @@ async function create(args) {
|
|
|
428
439
|
console.log(JSON.stringify({
|
|
429
440
|
mailbox_id: data.mailbox_id,
|
|
430
441
|
address: data.address,
|
|
442
|
+
managed_address: data.managed_address,
|
|
431
443
|
slug: data.slug,
|
|
432
444
|
status: data.status,
|
|
445
|
+
domain_kind: data.domain_kind,
|
|
446
|
+
address_domain: data.address_domain,
|
|
447
|
+
managed_domain: data.managed_domain,
|
|
448
|
+
custom_domain_ready: data.custom_domain_ready,
|
|
449
|
+
can_receive: data.can_receive,
|
|
433
450
|
footer_policy: data.footer_policy,
|
|
434
451
|
effective_footer_policy: data.effective_footer_policy,
|
|
435
452
|
footer_policy_locked_reason: data.footer_policy_locked_reason,
|
package/lib/up.mjs
CHANGED
|
@@ -7,9 +7,11 @@ 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 [--name <name>] [--project <id>] [--manifest <path>] [--dir <path>] [--tier <tier>] [-y|--yes] [--check|--print-spec|--plan|--require-plan <id>] [--quiet]
|
|
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>] [--json|--json-stream] [--quiet]
|
|
11
11
|
|
|
12
12
|
Options:
|
|
13
|
+
repo-or-path Local app directory or public Git repository URL. Defaults
|
|
14
|
+
to the current directory.
|
|
13
15
|
--name <name> Project display name when up needs to create a project.
|
|
14
16
|
Not a deploy manifest field and never renames a project.
|
|
15
17
|
--project <id> Explicit project id. Highest-priority project selector.
|
|
@@ -33,6 +35,12 @@ Options:
|
|
|
33
35
|
--allow-warning <code>
|
|
34
36
|
Acknowledge a reviewed deploy warning code (repeatable).
|
|
35
37
|
--allow-warnings Acknowledge all reviewed deploy warnings.
|
|
38
|
+
--allow-prune Approve destructive managed-resource prune steps for app manifests.
|
|
39
|
+
--max-spend-usd <n> Maximum spend up may approve for app readiness.
|
|
40
|
+
--build-mode <mode> Override app build mode: local, remote, or sandbox.
|
|
41
|
+
--allow-shell-build Approve shell-string build commands in run402.json.
|
|
42
|
+
--json Emit one final JSON object on stdout.
|
|
43
|
+
--json-stream Emit NDJSON progress events on stdout and a final result event.
|
|
36
44
|
--quiet Suppress action progress events on stderr.
|
|
37
45
|
|
|
38
46
|
Project resolution:
|
|
@@ -40,6 +48,7 @@ Project resolution:
|
|
|
40
48
|
project creation from --name > approved active-project fallback.
|
|
41
49
|
|
|
42
50
|
Examples:
|
|
51
|
+
run402 up https://github.com/kychee-com/kysigned --name kysigned2 --yes --json
|
|
43
52
|
run402 up --name my-app -y
|
|
44
53
|
run402 up --manifest run402.deploy.ts --check
|
|
45
54
|
run402 up --manifest run402.deploy.ts --plan
|
|
@@ -47,6 +56,7 @@ Examples:
|
|
|
47
56
|
`;
|
|
48
57
|
|
|
49
58
|
const TIERS = new Set(["prototype", "hobby", "team"]);
|
|
59
|
+
const BUILD_MODES = new Set(["local", "remote", "sandbox"]);
|
|
50
60
|
|
|
51
61
|
export async function run(args = []) {
|
|
52
62
|
const parsed = normalizeArgv(args);
|
|
@@ -56,8 +66,36 @@ export async function run(args = []) {
|
|
|
56
66
|
}
|
|
57
67
|
assertKnownFlags(
|
|
58
68
|
parsed,
|
|
59
|
-
[
|
|
60
|
-
|
|
69
|
+
[
|
|
70
|
+
"--help",
|
|
71
|
+
"-h",
|
|
72
|
+
"-y",
|
|
73
|
+
"--yes",
|
|
74
|
+
"--dry-run",
|
|
75
|
+
"--check",
|
|
76
|
+
"--print-spec",
|
|
77
|
+
"--plan",
|
|
78
|
+
"--quiet",
|
|
79
|
+
"--final-only",
|
|
80
|
+
"--allow-warnings",
|
|
81
|
+
"--allow-prune",
|
|
82
|
+
"--allow-shell-build",
|
|
83
|
+
"--json",
|
|
84
|
+
"--json-stream",
|
|
85
|
+
],
|
|
86
|
+
[
|
|
87
|
+
"--name",
|
|
88
|
+
"--project",
|
|
89
|
+
"--manifest",
|
|
90
|
+
"--dir",
|
|
91
|
+
"--tier",
|
|
92
|
+
"--idempotency-key",
|
|
93
|
+
"--allow-warning",
|
|
94
|
+
"--require-plan",
|
|
95
|
+
"--plan-fingerprint",
|
|
96
|
+
"--max-spend-usd",
|
|
97
|
+
"--build-mode",
|
|
98
|
+
],
|
|
61
99
|
);
|
|
62
100
|
const extras = positionalArgs(parsed, [
|
|
63
101
|
"--name",
|
|
@@ -69,14 +107,24 @@ export async function run(args = []) {
|
|
|
69
107
|
"--allow-warning",
|
|
70
108
|
"--require-plan",
|
|
71
109
|
"--plan-fingerprint",
|
|
110
|
+
"--max-spend-usd",
|
|
111
|
+
"--build-mode",
|
|
72
112
|
]);
|
|
73
|
-
if (extras.length >
|
|
113
|
+
if (extras.length > 1) {
|
|
74
114
|
fail({
|
|
75
115
|
code: "BAD_USAGE",
|
|
76
|
-
message: `Unexpected argument for up: ${extras[
|
|
116
|
+
message: `Unexpected argument for up: ${extras[1]}`,
|
|
77
117
|
hint: "Use `run402 up --help`.",
|
|
78
118
|
});
|
|
79
119
|
}
|
|
120
|
+
const source = extras[0] ?? undefined;
|
|
121
|
+
if (source && flagValue(parsed, "--dir")) {
|
|
122
|
+
fail({
|
|
123
|
+
code: "BAD_USAGE",
|
|
124
|
+
message: "Pass either a positional repo/path source or --dir, not both.",
|
|
125
|
+
details: { source, dir: flagValue(parsed, "--dir") },
|
|
126
|
+
});
|
|
127
|
+
}
|
|
80
128
|
|
|
81
129
|
const tier = flagValue(parsed, "--tier") ?? undefined;
|
|
82
130
|
if (tier && !TIERS.has(tier)) {
|
|
@@ -87,8 +135,28 @@ export async function run(args = []) {
|
|
|
87
135
|
});
|
|
88
136
|
}
|
|
89
137
|
|
|
138
|
+
const buildMode = flagValue(parsed, "--build-mode") ?? undefined;
|
|
139
|
+
if (buildMode && !BUILD_MODES.has(buildMode)) {
|
|
140
|
+
fail({
|
|
141
|
+
code: "BAD_FLAG",
|
|
142
|
+
message: "--build-mode must be one of: local, remote, sandbox",
|
|
143
|
+
details: { flag: "--build-mode", value: buildMode, allowed: [...BUILD_MODES] },
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
const maxSpendRaw = flagValue(parsed, "--max-spend-usd");
|
|
148
|
+
const maxSpendUsd = maxSpendRaw === null ? undefined : Number(maxSpendRaw);
|
|
149
|
+
if (maxSpendRaw !== null && (!Number.isFinite(maxSpendUsd) || maxSpendUsd < 0)) {
|
|
150
|
+
fail({
|
|
151
|
+
code: "BAD_FLAG",
|
|
152
|
+
message: "--max-spend-usd must be a non-negative number",
|
|
153
|
+
details: { flag: "--max-spend-usd", value: maxSpendRaw },
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
|
|
90
157
|
const yes = parsed.includes("-y") || parsed.includes("--yes");
|
|
91
|
-
const
|
|
158
|
+
const jsonStream = parsed.includes("--json-stream");
|
|
159
|
+
const quiet = parsed.includes("--quiet") || parsed.includes("--final-only") || jsonStream;
|
|
92
160
|
const mode = parseExecutionMode(parsed);
|
|
93
161
|
const dryRun = parsed.includes("--dry-run");
|
|
94
162
|
if (dryRun && mode !== undefined) {
|
|
@@ -110,24 +178,39 @@ export async function run(args = []) {
|
|
|
110
178
|
try {
|
|
111
179
|
const sdk = getSdk();
|
|
112
180
|
const result = await sdk.up({
|
|
181
|
+
source,
|
|
113
182
|
name: flagValue(parsed, "--name") ?? undefined,
|
|
114
183
|
projectId: flagValue(parsed, "--project") ?? undefined,
|
|
115
184
|
manifest: flagValue(parsed, "--manifest") ?? undefined,
|
|
116
185
|
dir: flagValue(parsed, "--dir") ?? undefined,
|
|
117
186
|
tier,
|
|
118
187
|
idempotencyKey: flagValue(parsed, "--idempotency-key") ?? undefined,
|
|
188
|
+
allowPrune: parsed.includes("--allow-prune") ? true : undefined,
|
|
189
|
+
maxSpendUsd,
|
|
190
|
+
buildMode,
|
|
191
|
+
allowShellBuild: parsed.includes("--allow-shell-build") ? true : undefined,
|
|
119
192
|
allowWarnings: parsed.includes("--allow-warnings") ? true : undefined,
|
|
120
193
|
allowWarningCodes,
|
|
121
194
|
}, {
|
|
122
195
|
...(mode !== undefined ? { mode } : {}),
|
|
123
196
|
dryRun,
|
|
124
197
|
approval: makeApproval(yes),
|
|
125
|
-
onEvent:
|
|
126
|
-
console.
|
|
127
|
-
|
|
198
|
+
onEvent: jsonStream
|
|
199
|
+
? (event) => console.log(JSON.stringify({ type: "action.event", event }))
|
|
200
|
+
: quiet
|
|
201
|
+
? undefined
|
|
202
|
+
: (event) => {
|
|
203
|
+
console.error(JSON.stringify(event));
|
|
204
|
+
},
|
|
128
205
|
});
|
|
129
|
-
if (
|
|
206
|
+
if (jsonStream) {
|
|
207
|
+
console.log(JSON.stringify({ type: "run402.up.result", result }));
|
|
208
|
+
} else if (mode === "printSpec") {
|
|
130
209
|
console.log(JSON.stringify(result.result?.spec ?? null, null, 2));
|
|
210
|
+
} else if (result?.result?.app_result && !parsed.includes("--json")) {
|
|
211
|
+
console.log(formatAppUpHuman(result.result.app_result));
|
|
212
|
+
} else if (!parsed.includes("--json") && shouldRenderHumanSuccess(result)) {
|
|
213
|
+
console.log(formatLegacyUpSuccess(result));
|
|
131
214
|
} else {
|
|
132
215
|
console.log(JSON.stringify(result, null, 2));
|
|
133
216
|
}
|
|
@@ -207,3 +290,56 @@ function makeApproval(yes) {
|
|
|
207
290
|
},
|
|
208
291
|
};
|
|
209
292
|
}
|
|
293
|
+
|
|
294
|
+
function shouldRenderHumanSuccess(result) {
|
|
295
|
+
return result?.action === "up" &&
|
|
296
|
+
result?.dry_run === false &&
|
|
297
|
+
result?.mode === "apply" &&
|
|
298
|
+
result?.result?.deploy?.release_id;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
function formatLegacyUpSuccess(result) {
|
|
302
|
+
const urls = result?.result?.deploy?.urls ?? {};
|
|
303
|
+
const origin = urls.site ?? urls.subdomain ?? urls.deployment;
|
|
304
|
+
const lines = [];
|
|
305
|
+
if (origin) lines.push(`Success! Project is up at: ${origin}`);
|
|
306
|
+
else lines.push("Success! Project is up.");
|
|
307
|
+
const releaseId = result?.result?.deploy?.release_id;
|
|
308
|
+
if (releaseId) lines.push(`Release: ${releaseId}`);
|
|
309
|
+
return lines.join("\n");
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
function formatAppUpHuman(appResult) {
|
|
313
|
+
const lines = [];
|
|
314
|
+
const status = appResult?.status ?? "unknown";
|
|
315
|
+
const origin = appResult?.project?.public_origin;
|
|
316
|
+
|
|
317
|
+
if (status === "succeeded" && origin) {
|
|
318
|
+
lines.push(`Success! Project is up at: ${origin}`);
|
|
319
|
+
} else if (status === "succeeded") {
|
|
320
|
+
lines.push("Success! Project is up.");
|
|
321
|
+
} else if (status === "planned") {
|
|
322
|
+
lines.push("Run402 up plan is ready.");
|
|
323
|
+
if (origin) lines.push(`Planned project URL: ${origin}`);
|
|
324
|
+
} else if (status === "blocked") {
|
|
325
|
+
lines.push("Run402 up is blocked.");
|
|
326
|
+
} else {
|
|
327
|
+
lines.push(`Run402 up status: ${status}`);
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
const diagnostics = Array.isArray(appResult?.diagnostics) ? appResult.diagnostics : [];
|
|
331
|
+
for (const diagnostic of diagnostics) {
|
|
332
|
+
if (diagnostic?.message) lines.push(`- ${diagnostic.message}`);
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
const nextActions = Array.isArray(appResult?.next_actions) ? appResult.next_actions : [];
|
|
336
|
+
if (nextActions.length > 0) {
|
|
337
|
+
lines.push("Next:");
|
|
338
|
+
for (const action of nextActions) {
|
|
339
|
+
if (action?.message) lines.push(`- ${action.message}`);
|
|
340
|
+
if (action?.command) lines.push(` ${action.command}`);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
return lines.join("\n");
|
|
345
|
+
}
|
package/package.json
CHANGED
package/sdk/dist/actions.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { DeployResult, PlanResponse, ReleaseSpec } from "./namespaces/deploy.types.js";
|
|
2
|
+
import type { Run402AppInstallGraph, Run402AppUpResultEnvelope } from "./app-up.js";
|
|
2
3
|
import type { ProvisionResult } from "./namespaces/projects.types.js";
|
|
3
4
|
import type { TierName, TierSetResult } from "./namespaces/tier.js";
|
|
4
5
|
import type { Run402ExecutionMode } from "./config.js";
|
|
@@ -28,6 +29,8 @@ export interface Run402TierSetActionInput {
|
|
|
28
29
|
}
|
|
29
30
|
export interface Run402UpActionInput {
|
|
30
31
|
type: typeof Run402Action.Up;
|
|
32
|
+
/** Local app path or repository URL. Defaults to `dir` / cwd. */
|
|
33
|
+
source?: string;
|
|
31
34
|
/** Workspace directory to inspect. Defaults to `process.cwd()` in the Node SDK. */
|
|
32
35
|
dir?: string;
|
|
33
36
|
/** Explicit deploy manifest path. Defaults to manifest discovery inside `dir`. */
|
|
@@ -45,6 +48,14 @@ export interface Run402UpActionInput {
|
|
|
45
48
|
orgId?: string;
|
|
46
49
|
/** Root idempotency key. Child mutation keys are derived from this value. */
|
|
47
50
|
idempotencyKey?: string;
|
|
51
|
+
/** Approve destructive managed-resource prune/down operations for app-aware up. */
|
|
52
|
+
allowPrune?: boolean;
|
|
53
|
+
/** Maximum allowed spend in USD for app-aware up. Spend-impacting nodes block above this cap. */
|
|
54
|
+
maxSpendUsd?: number;
|
|
55
|
+
/** Override app build mode for app-aware up. */
|
|
56
|
+
buildMode?: "local" | "remote" | "sandbox";
|
|
57
|
+
/** Stronger approval for shell-string build commands in app-aware up. */
|
|
58
|
+
allowShellBuild?: boolean;
|
|
48
59
|
/** Continue past deploy-plan warnings, forwarded to `apply()`. */
|
|
49
60
|
allowWarnings?: boolean;
|
|
50
61
|
/** Continue past selected deploy-plan warnings, forwarded to `apply()`. */
|
|
@@ -61,7 +72,7 @@ export interface Run402ActionApprovalRequest {
|
|
|
61
72
|
message: string;
|
|
62
73
|
mutations: Run402ActionMutation[];
|
|
63
74
|
}
|
|
64
|
-
export type Run402ActionMutation = "allowance.create" | "allowance.faucet" | "tier.set" | "projects.provision" | "workspace.link.write" | "deploy.apply";
|
|
75
|
+
export type Run402ActionMutation = "allowance.create" | "allowance.faucet" | "tier.set" | "projects.provision" | "workspace.link.write" | "app.source.resolve" | "app.install" | "deploy.apply";
|
|
65
76
|
export interface Run402ActionRunOptions {
|
|
66
77
|
/**
|
|
67
78
|
* Canonical execution mode for typed-config workflows.
|
|
@@ -120,6 +131,8 @@ export interface Run402UpResult {
|
|
|
120
131
|
project_id: string;
|
|
121
132
|
manifest_path: string;
|
|
122
133
|
workspace_link_path?: string;
|
|
134
|
+
app_graph?: Run402AppInstallGraph;
|
|
135
|
+
app_result?: Run402AppUpResultEnvelope;
|
|
123
136
|
spec?: ReleaseSpec;
|
|
124
137
|
plan?: PlanResponse;
|
|
125
138
|
deploy?: DeployResult;
|
|
@@ -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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"}
|
package/sdk/dist/actions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,iBAAiB,EAAE,oBAAoB;IACvC,OAAO,EAAE,UAAU;IACnB,EAAE,EAAE,IAAI;CACA,CAAC"}
|