@usenaive-sdk/cli 0.12.5 → 0.13.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.
- package/README.md +69 -6
- package/dist/client.d.ts +48 -0
- package/dist/client.js +199 -27
- package/dist/client.js.map +1 -1
- package/dist/commands/aeo.js +58 -23
- package/dist/commands/aeo.js.map +1 -1
- package/dist/commands/app-data.js +29 -11
- package/dist/commands/app-data.js.map +1 -1
- package/dist/commands/approvals.js +142 -9
- package/dist/commands/approvals.js.map +1 -1
- package/dist/commands/apps.d.ts +7 -0
- package/dist/commands/apps.js +255 -18
- package/dist/commands/apps.js.map +1 -1
- package/dist/commands/audio.d.ts +9 -0
- package/dist/commands/audio.js +391 -0
- package/dist/commands/audio.js.map +1 -0
- package/dist/commands/auth.d.ts +1 -0
- package/dist/commands/auth.js +47 -19
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/billing.js +9 -9
- package/dist/commands/billing.js.map +1 -1
- package/dist/commands/brain.js +813 -54
- package/dist/commands/brain.js.map +1 -1
- package/dist/commands/browser.js +8 -8
- package/dist/commands/browser.js.map +1 -1
- package/dist/commands/business.js +117 -16
- package/dist/commands/business.js.map +1 -1
- package/dist/commands/clone.js +8 -4
- package/dist/commands/clone.js.map +1 -1
- package/dist/commands/companies.d.ts +8 -0
- package/dist/commands/companies.js +137 -47
- package/dist/commands/companies.js.map +1 -1
- package/dist/commands/company-data.d.ts +2 -0
- package/dist/commands/company-data.js +168 -0
- package/dist/commands/company-data.js.map +1 -0
- package/dist/commands/compute.js +295 -18
- package/dist/commands/compute.js.map +1 -1
- package/dist/commands/connections.d.ts +6 -0
- package/dist/commands/connections.js +42 -2
- package/dist/commands/connections.js.map +1 -1
- package/dist/commands/domains.js +63 -19
- package/dist/commands/domains.js.map +1 -1
- package/dist/commands/ecommerce.js +19 -9
- package/dist/commands/ecommerce.js.map +1 -1
- package/dist/commands/email.js +56 -9
- package/dist/commands/email.js.map +1 -1
- package/dist/commands/formation.js +5 -5
- package/dist/commands/formation.js.map +1 -1
- package/dist/commands/identity.js +4 -3
- package/dist/commands/identity.js.map +1 -1
- package/dist/commands/images.js +86 -12
- package/dist/commands/images.js.map +1 -1
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.js +44 -36
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/jobs.js +1 -0
- package/dist/commands/jobs.js.map +1 -1
- package/dist/commands/legacy-auth.d.ts +27 -0
- package/dist/commands/legacy-auth.js +64 -0
- package/dist/commands/legacy-auth.js.map +1 -0
- package/dist/commands/llm.js +14 -1
- package/dist/commands/llm.js.map +1 -1
- package/dist/commands/login.js +2 -0
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.d.ts +7 -0
- package/dist/commands/logout.js +55 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/media.js +3 -3
- package/dist/commands/media.js.map +1 -1
- package/dist/commands/mobile.d.ts +2 -0
- package/dist/commands/mobile.js +42 -1
- package/dist/commands/mobile.js.map +1 -1
- package/dist/commands/payments.js +1 -1
- package/dist/commands/people.d.ts +2 -0
- package/dist/commands/people.js +197 -0
- package/dist/commands/people.js.map +1 -0
- package/dist/commands/phone.js +40 -83
- package/dist/commands/phone.js.map +1 -1
- package/dist/commands/projects.d.ts +13 -0
- package/dist/commands/projects.js +220 -0
- package/dist/commands/projects.js.map +1 -0
- package/dist/commands/register.js +13 -5
- package/dist/commands/register.js.map +1 -1
- package/dist/commands/sandbox.d.ts +2 -0
- package/dist/commands/sandbox.js +558 -0
- package/dist/commands/sandbox.js.map +1 -0
- package/dist/commands/search.js +27 -13
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/seo.js +16 -8
- package/dist/commands/seo.js.map +1 -1
- package/dist/commands/sessions.d.ts +6 -0
- package/dist/commands/sessions.js +109 -0
- package/dist/commands/sessions.js.map +1 -0
- package/dist/commands/social-data.d.ts +2 -0
- package/dist/commands/social-data.js +245 -0
- package/dist/commands/social-data.js.map +1 -0
- package/dist/commands/social.js +9 -7
- package/dist/commands/social.js.map +1 -1
- package/dist/commands/tasks.js +9 -0
- package/dist/commands/tasks.js.map +1 -1
- package/dist/commands/teams.d.ts +69 -0
- package/dist/commands/teams.js +503 -0
- package/dist/commands/teams.js.map +1 -0
- package/dist/commands/up.d.ts +150 -0
- package/dist/commands/up.js +465 -15
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/usage.js +15 -4
- package/dist/commands/usage.js.map +1 -1
- package/dist/commands/use.d.ts +9 -0
- package/dist/commands/use.js +76 -11
- package/dist/commands/use.js.map +1 -1
- package/dist/commands/users.d.ts +8 -0
- package/dist/commands/users.js +28 -9
- package/dist/commands/users.js.map +1 -1
- package/dist/commands/vault.js +31 -1
- package/dist/commands/vault.js.map +1 -1
- package/dist/commands/verification.js +1 -1
- package/dist/commands/verification.js.map +1 -1
- package/dist/commands/video.js +118 -19
- package/dist/commands/video.js.map +1 -1
- package/dist/commands/wallet.js +3 -3
- package/dist/commands/wallet.js.map +1 -1
- package/dist/commands/whoami.js +17 -1
- package/dist/commands/whoami.js.map +1 -1
- package/dist/config.d.ts +16 -1
- package/dist/config.js +15 -1
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +250 -24
- package/dist/index.js.map +1 -1
- package/dist/lib/brain-select.d.ts +193 -0
- package/dist/lib/brain-select.js +403 -0
- package/dist/lib/brain-select.js.map +1 -0
- package/dist/lib/cli-validation.d.ts +12 -0
- package/dist/lib/cli-validation.js +46 -0
- package/dist/lib/cli-validation.js.map +1 -0
- package/dist/lib/deprecation.d.ts +158 -0
- package/dist/lib/deprecation.js +140 -0
- package/dist/lib/deprecation.js.map +1 -0
- package/dist/lib/duration.d.ts +8 -0
- package/dist/lib/duration.js +11 -0
- package/dist/lib/duration.js.map +1 -0
- package/dist/lib/http-response.d.ts +11 -0
- package/dist/lib/http-response.js +96 -0
- package/dist/lib/http-response.js.map +1 -0
- package/dist/lib/pricing.d.ts +132 -0
- package/dist/lib/pricing.js +148 -0
- package/dist/lib/pricing.js.map +1 -0
- package/dist/lib/stream-frames.d.ts +114 -0
- package/dist/lib/stream-frames.js +169 -0
- package/dist/lib/stream-frames.js.map +1 -0
- package/dist/lib/teams-catalog.d.ts +141 -0
- package/dist/lib/teams-catalog.js +765 -0
- package/dist/lib/teams-catalog.js.map +1 -0
- package/dist/lib/unknown-command.d.ts +55 -1
- package/dist/lib/unknown-command.js +113 -0
- package/dist/lib/unknown-command.js.map +1 -1
- package/dist/output.d.ts +127 -5
- package/dist/output.js +189 -12
- package/dist/output.js.map +1 -1
- package/package.json +3 -3
- package/dist/commands/link.d.ts +0 -3
- package/dist/commands/link.js +0 -91
- package/dist/commands/link.js.map +0 -1
package/dist/commands/up.js
CHANGED
|
@@ -32,25 +32,63 @@ function collectWebFiles(root) {
|
|
|
32
32
|
return out;
|
|
33
33
|
}
|
|
34
34
|
const CONFIG_CANDIDATES = ["naive.config.ts", "naive.config.js", "naive.config.mjs", "naive.config.json"];
|
|
35
|
+
/**
|
|
36
|
+
* A module-resolution failure, as opposed to the config refusing itself.
|
|
37
|
+
*
|
|
38
|
+
* `ERR_MODULE_NOT_FOUND` / `MODULE_NOT_FOUND` is what an absent dependency
|
|
39
|
+
* raises. Matched on the CODE rather than the message, because a define-time
|
|
40
|
+
* refusal is free to mention a package name in its prose and must not be
|
|
41
|
+
* misread as a missing install.
|
|
42
|
+
*/
|
|
43
|
+
function isMissingModule(e) {
|
|
44
|
+
const code = e?.code;
|
|
45
|
+
return code === "ERR_MODULE_NOT_FOUND" || code === "MODULE_NOT_FOUND";
|
|
46
|
+
}
|
|
35
47
|
/** Evaluate naive.config.{ts,js,json} to its full object (the whole NaiveConfig). */
|
|
36
48
|
async function loadConfig(path) {
|
|
37
49
|
if (path.endsWith(".json")) {
|
|
38
50
|
try {
|
|
39
|
-
return JSON.parse(readFileSync(path, "utf8"));
|
|
51
|
+
return { ok: true, config: JSON.parse(readFileSync(path, "utf8")) };
|
|
40
52
|
}
|
|
41
|
-
catch {
|
|
42
|
-
|
|
53
|
+
catch (e) {
|
|
54
|
+
// A committed .json needs no toolchain, so a parse failure is only ever
|
|
55
|
+
// the file's own fault.
|
|
56
|
+
return { ok: false, reason: "invalid", message: e instanceof Error ? e.message : String(e) };
|
|
43
57
|
}
|
|
44
58
|
}
|
|
59
|
+
let jiti;
|
|
45
60
|
try {
|
|
46
61
|
const { createJiti } = await import("jiti");
|
|
47
|
-
|
|
62
|
+
jiti = createJiti(pathToFileURL(path).href);
|
|
63
|
+
}
|
|
64
|
+
catch (e) {
|
|
65
|
+
return {
|
|
66
|
+
ok: false,
|
|
67
|
+
reason: "unloadable",
|
|
68
|
+
message: e instanceof Error ? e.message : String(e),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
try {
|
|
48
72
|
const mod = (await jiti.import(path));
|
|
49
73
|
const cfg = mod?.default ?? mod;
|
|
50
|
-
|
|
74
|
+
if (!cfg || typeof cfg !== "object") {
|
|
75
|
+
return {
|
|
76
|
+
ok: false,
|
|
77
|
+
reason: "invalid",
|
|
78
|
+
message: `${path} evaluated to ${cfg === undefined ? "undefined" : typeof cfg}. It must \`export default defineConfig({...})\`.`,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
return { ok: true, config: cfg };
|
|
51
82
|
}
|
|
52
|
-
catch {
|
|
53
|
-
|
|
83
|
+
catch (e) {
|
|
84
|
+
// The config itself threw. Almost always a NAMED define-time refusal, whose
|
|
85
|
+
// message is written to be read by the person who wrote the config — so it
|
|
86
|
+
// is surfaced verbatim rather than replaced with a guess.
|
|
87
|
+
return {
|
|
88
|
+
ok: false,
|
|
89
|
+
reason: isMissingModule(e) ? "unloadable" : "invalid",
|
|
90
|
+
message: e instanceof Error ? e.message : String(e),
|
|
91
|
+
};
|
|
54
92
|
}
|
|
55
93
|
}
|
|
56
94
|
/** Extract top-level keys inside a named object block, e.g. agentProfiles: { a, b }. */
|
|
@@ -92,6 +130,233 @@ function extractKeys(source, section) {
|
|
|
92
130
|
function findConfig() {
|
|
93
131
|
return CONFIG_CANDIDATES.map((c) => join(process.cwd(), c)).find(existsSync) ?? null;
|
|
94
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* The brain half of the report, or undefined when the config declared none.
|
|
135
|
+
*
|
|
136
|
+
* Exported for the same reason it exists: `naive up` printed `applied: true` and
|
|
137
|
+
* said NOTHING about brains, so a config that declared two of them looked
|
|
138
|
+
* identical to a config that declared none. `--plan` showed them (it prints the
|
|
139
|
+
* whole plan); apply did not. A provisioned thing that is not reported is the
|
|
140
|
+
* same silence as an unprovisioned one, one level up.
|
|
141
|
+
*
|
|
142
|
+
* 🔴 AND `unpersisted` IS PART OF THE REPORT, NOT AN EXTRA. The apply path
|
|
143
|
+
* computed the accept-and-drop list and this projection threw it away, so
|
|
144
|
+
* `naive up --plan` told the user which declared brain keys have no column and
|
|
145
|
+
* plain `naive up` — the command people actually run — did not. That is the same
|
|
146
|
+
* defect one level down: `packages/api/src/services/deployment-brains.ts`'s own
|
|
147
|
+
* header calls accept-and-drop "the exact defect this file exists to remove", and
|
|
148
|
+
* a report only the dry run prints is a report most operators never see.
|
|
149
|
+
*/
|
|
150
|
+
export function brainReport(brains) {
|
|
151
|
+
if (!brains || !brains.declared_in)
|
|
152
|
+
return undefined;
|
|
153
|
+
const unpersisted = brains.unpersisted ?? {};
|
|
154
|
+
return {
|
|
155
|
+
declared_in: brains.declared_in,
|
|
156
|
+
created: (brains.created ?? []).map((b) => b.name),
|
|
157
|
+
converged: (brains.converged ?? []).map((b) => b.name),
|
|
158
|
+
default: brains.default?.name ?? null,
|
|
159
|
+
retained: brains.retained_undeclared ?? [],
|
|
160
|
+
...(Object.keys(unpersisted).length > 0 ? { unpersisted } : {}),
|
|
161
|
+
...(brains.notes?.length ? { notes: brains.notes } : {}),
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* The per-team accept-and-drop warning, one line per team that declared any.
|
|
166
|
+
*
|
|
167
|
+
* The data has been on the wire the whole time (`plan.teams[].unconsumed`,
|
|
168
|
+
* computed by `unconsumedTeamKeys` in packages/api) and `naive up` printed none
|
|
169
|
+
* of it — `team({ governance: {…} })` applied green and enforced nothing, with
|
|
170
|
+
* nothing anywhere for the author to notice. Printed on the PLAN and on the
|
|
171
|
+
* APPLY, because a report only the dry run shows is a report most operators
|
|
172
|
+
* never see.
|
|
173
|
+
*/
|
|
174
|
+
export function unconsumedWarnings(teams) {
|
|
175
|
+
return teams
|
|
176
|
+
.filter((t) => (t.unconsumed ?? []).length > 0)
|
|
177
|
+
.map((t) => `⚠ team "${t.name}" DECLARED AND UNREAD: ${t.unconsumed.join(", ")} — carried to the ` +
|
|
178
|
+
"control plane and consumed by NOTHING. Do not treat these as in force. " +
|
|
179
|
+
"`defineProject` refuses them at define time; remove them, or keep the config on " +
|
|
180
|
+
"`defineConfig` (lenient) until a consumer lands.");
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* ONE deprecation line when the config still uses the legacy ECS surface —
|
|
184
|
+
* `runtime.pool()` declarations, an agent-level `runtime: "<pool>"` string, or
|
|
185
|
+
* `systems:`. All three keep working indefinitely; the line names what was
|
|
186
|
+
* found and where new configs should author instead.
|
|
187
|
+
*/
|
|
188
|
+
export function legacyDeprecationNotice(config) {
|
|
189
|
+
const found = [];
|
|
190
|
+
const pools = Object.keys(config.runtime ?? {});
|
|
191
|
+
if (pools.length > 0)
|
|
192
|
+
found.push(`runtime.pool() declarations (${pools.join(", ")})`);
|
|
193
|
+
const pinned = Object.entries(config.agents ?? {})
|
|
194
|
+
.filter(([, a]) => typeof a?.runtime === "string")
|
|
195
|
+
.map(([name]) => name);
|
|
196
|
+
if (pinned.length > 0)
|
|
197
|
+
found.push(`agent-level runtime: "<pool>" strings (${pinned.join(", ")})`);
|
|
198
|
+
const systems = Object.keys(config.systems ?? {});
|
|
199
|
+
if (systems.length > 0)
|
|
200
|
+
found.push(`systems: (${systems.join(", ")})`);
|
|
201
|
+
if (found.length === 0)
|
|
202
|
+
return null;
|
|
203
|
+
return (`DEPRECATED surface in use — ${found.join("; ")}. These keep working indefinitely; new configs ` +
|
|
204
|
+
"author `defineProject` with `teams:` on `runtime.durable()` (or `runtime.hermes()` for the hosted lane).");
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* ONE rename line when the config declares `agents:`. Separate from the legacy
|
|
208
|
+
* line above on purpose: `runtime.pool()` / `systems:` are a deprecated
|
|
209
|
+
* SURFACE, while `agents:` is a deprecated SPELLING — the block compiles to
|
|
210
|
+
* byte-for-byte what `kits:` compiles to, so the honest notice is "rename",
|
|
211
|
+
* not "migrate". A notice, never a refusal, on both entrypoints.
|
|
212
|
+
*/
|
|
213
|
+
export function agentsRenameNotice(config) {
|
|
214
|
+
const names = Object.keys(config.agents ?? {});
|
|
215
|
+
if (names.length === 0)
|
|
216
|
+
return null;
|
|
217
|
+
return (`DEPRECATED spelling in use — \`agents:\` (${names.join(", ")}). It keeps working indefinitely ` +
|
|
218
|
+
"and compiles to exactly what `kits:` compiles to; rename the block to `kits:` (and `agent()` " +
|
|
219
|
+
"entries to `kit()`) — an account kit is instantiated per child project via " +
|
|
220
|
+
"`naive.forProject(p).forChild(id).provision(\"<kit>\")`.");
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* The operator credential the DURABLE RUNTIME issued, read from the ENVIRONMENT.
|
|
224
|
+
*
|
|
225
|
+
* Never from `naive.config.ts`, and that is the whole point rather than a style
|
|
226
|
+
* choice. The config is committed, so a credential in it is a credential in git —
|
|
227
|
+
* and, more importantly, the config is the one thing that must not by itself be
|
|
228
|
+
* able to change where a tenant runs. Pointing a tenant at the durable runtime
|
|
229
|
+
* overwrites its `sidecar_url` and `container_auth_token` and nulls its
|
|
230
|
+
* `instance_id`, none of which is stashed anywhere. Requiring a second, separate
|
|
231
|
+
* act means an edit alone can never do it.
|
|
232
|
+
*
|
|
233
|
+
* `NAIVE_DURABLE_CREDENTIAL_<TEAM>` names one team; `NAIVE_DURABLE_CREDENTIAL`
|
|
234
|
+
* covers them all. Neither is ever printed, and the API never echoes it back.
|
|
235
|
+
*/
|
|
236
|
+
export function durableCredentialEnvVar(team) {
|
|
237
|
+
return `NAIVE_DURABLE_CREDENTIAL_${team.toUpperCase().replace(/[^A-Z0-9]+/g, "_")}`;
|
|
238
|
+
}
|
|
239
|
+
function readDurableCredentials(teams) {
|
|
240
|
+
const out = {};
|
|
241
|
+
const all = process.env.NAIVE_DURABLE_CREDENTIAL;
|
|
242
|
+
if (all)
|
|
243
|
+
out["*"] = all;
|
|
244
|
+
for (const team of teams) {
|
|
245
|
+
const secret = process.env[durableCredentialEnvVar(team)];
|
|
246
|
+
if (secret)
|
|
247
|
+
out[team] = secret;
|
|
248
|
+
}
|
|
249
|
+
return Object.keys(out).length > 0 ? out : undefined;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* The recovery for ONE refused team — a command that EXISTS, or none.
|
|
253
|
+
*
|
|
254
|
+
* 🔴 `naive runtime migrate` IS NOT A COMMAND, AND THIS USED TO PRINT IT.
|
|
255
|
+
* Every refusal here used to emit
|
|
256
|
+
* `naive runtime migrate --tenant … --to durable --credential-from <file>`.
|
|
257
|
+
* Measured on the built CLI: `naive runtime migrate --tenant <id> --to hermes`
|
|
258
|
+
* answers
|
|
259
|
+
* `{"code":"cli_outdated","message":"Unknown command 'runtime'. Your naive CLI
|
|
260
|
+
* is v0.12.4; this command may exist in a newer version."}` — and it exists in
|
|
261
|
+
* NO version: `packages/cli/src/index.ts` registers no `runtime` group at all.
|
|
262
|
+
* So an operator whose apply was refused was handed a command that tells them to
|
|
263
|
+
* upgrade, forever. A next_step that cannot be run is worse than none, because it
|
|
264
|
+
* ends the search.
|
|
265
|
+
*
|
|
266
|
+
* The two cases are genuinely different and are answered differently:
|
|
267
|
+
*
|
|
268
|
+
* · `runtime_credential_required` — there IS a procedure, it works today, and
|
|
269
|
+
* it is the one this command already implements: put the operator credential
|
|
270
|
+
* the durable runtime issued in the environment and re-run. Never in
|
|
271
|
+
* `naive.config.ts`, which is committed.
|
|
272
|
+
* · everything else (`runtime_migration_requires_explicit_opt_in`,
|
|
273
|
+
* `runtime_claim_in_flight`, `runtime_placement_lost_race`,
|
|
274
|
+
* `runtime_not_configured`, `runtime_state_unknown`) — there is NO self-serve
|
|
275
|
+
* command on this build. Moving an existing tenant between runtimes
|
|
276
|
+
* overwrites `sidecar_url` and `container_auth_token` and nulls `instance_id`
|
|
277
|
+
* with nothing stashed, so the control plane refuses it and no client can do
|
|
278
|
+
* it either. Say that, and print the server's own message, rather than
|
|
279
|
+
* inventing a command to carry the blame.
|
|
280
|
+
*
|
|
281
|
+
* The API writes the same vapour into `details.migrate_command`
|
|
282
|
+
* (packages/api/src/services/placement.ts MIGRATE_COMMAND). That string is not
|
|
283
|
+
* this package's to change and is reported as a follow-up; this function is why
|
|
284
|
+
* `naive up` no longer repeats it.
|
|
285
|
+
*/
|
|
286
|
+
export function refusalNextStep(t) {
|
|
287
|
+
if (t.placement?.code === "runtime_credential_required") {
|
|
288
|
+
return {
|
|
289
|
+
command: `${durableCredentialEnvVar(t.name)}=<operator-credential> naive up`,
|
|
290
|
+
description: `team "${t.name}": the durable runtime issued an operator credential for this tenant and it is not in ` +
|
|
291
|
+
`the environment. Export it (or NAIVE_DURABLE_CREDENTIAL for every team) and re-run. Never put it in naive.config.ts.`,
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
return null;
|
|
295
|
+
}
|
|
296
|
+
/** Team names declared in the config, without evaluating anything the API will re-derive. */
|
|
297
|
+
function declaredTeamNames(config) {
|
|
298
|
+
const teams = config.teams;
|
|
299
|
+
return teams && typeof teams === "object" ? Object.keys(teams) : [];
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Wrap the config only when there is something to carry alongside it.
|
|
303
|
+
*
|
|
304
|
+
* `readConfig` on the API takes `body.config ?? body`, so both shapes work — but
|
|
305
|
+
* a caller that supplies no credential sends the exact bytes it always sent.
|
|
306
|
+
*/
|
|
307
|
+
function applyBody(config, credentials) {
|
|
308
|
+
return credentials ? { config, runtime_credentials: credentials } : config;
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Apply asynchronously and poll the job to completion.
|
|
312
|
+
*
|
|
313
|
+
* An apply can outlive the production gateway timeout (Hermes provisioning
|
|
314
|
+
* alone may wait up to two minutes), and the synchronous POST answered 504
|
|
315
|
+
* while the apply kept running — partial state with no observable outcome.
|
|
316
|
+
* So the CLI asks for async mode (`?async=true`); a server that supports it
|
|
317
|
+
* answers `202 {job_id}` and the outcome is read from `GET /v1/jobs/:id`. An
|
|
318
|
+
* older server ignores the query and answers synchronously; both shapes are
|
|
319
|
+
* returned as the same `{ status, data }` the callers already handle.
|
|
320
|
+
*/
|
|
321
|
+
const APPLY_POLL_INTERVAL_MS = 3_000;
|
|
322
|
+
const APPLY_POLL_TIMEOUT_MS = 15 * 60_000;
|
|
323
|
+
async function applyProject(project, body) {
|
|
324
|
+
const resp = await apiRequest("POST", `/v1/deployments/${encodeURIComponent(project)}/apply?async=true`, body);
|
|
325
|
+
const accepted = resp.data;
|
|
326
|
+
if (resp.status !== 202 || typeof accepted.job_id !== "string")
|
|
327
|
+
return resp;
|
|
328
|
+
const deadline = Date.now() + APPLY_POLL_TIMEOUT_MS;
|
|
329
|
+
while (Date.now() < deadline) {
|
|
330
|
+
await new Promise((r) => setTimeout(r, APPLY_POLL_INTERVAL_MS));
|
|
331
|
+
const poll = await apiRequest("GET", `/v1/jobs/${encodeURIComponent(accepted.job_id)}`);
|
|
332
|
+
if (poll.status >= 400)
|
|
333
|
+
return poll;
|
|
334
|
+
const job = poll.data;
|
|
335
|
+
if (job.status === "completed")
|
|
336
|
+
return { status: 200, data: job.result ?? {} };
|
|
337
|
+
if (job.status === "failed" || job.status === "cancelled") {
|
|
338
|
+
// The job's error is `code: message` — re-shape it into the standard
|
|
339
|
+
// envelope so handleApiError prints it exactly like a synchronous refusal.
|
|
340
|
+
const raw = typeof job.error === "string" && job.error ? job.error : "The apply failed";
|
|
341
|
+
const m = /^([a-z_]+): ([\s\S]*)$/.exec(raw);
|
|
342
|
+
return {
|
|
343
|
+
status: 502,
|
|
344
|
+
data: { error: { code: m?.[1] ?? "apply_failed", message: m?.[2] ?? raw, job_id: accepted.job_id } },
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
return {
|
|
349
|
+
status: 504,
|
|
350
|
+
data: {
|
|
351
|
+
error: {
|
|
352
|
+
code: "apply_timeout",
|
|
353
|
+
message: `The apply job is still running after ${APPLY_POLL_TIMEOUT_MS / 60_000} minutes.`,
|
|
354
|
+
hint: `Poll it yourself: naive jobs get ${accepted.job_id} — re-running naive up converges once it settles.`,
|
|
355
|
+
job_id: accepted.job_id,
|
|
356
|
+
},
|
|
357
|
+
},
|
|
358
|
+
};
|
|
359
|
+
}
|
|
95
360
|
export const upCmd = new Command("up")
|
|
96
361
|
.description("Plan + apply the infrastructure, runtime pools, agent profiles, and systems declared in naive.config.ts")
|
|
97
362
|
.option("--plan", "Preview the plan (diff) without applying")
|
|
@@ -108,9 +373,41 @@ export const upCmd = new Command("up")
|
|
|
108
373
|
});
|
|
109
374
|
return;
|
|
110
375
|
}
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
376
|
+
const load = opts.local ? null : await loadConfig(found);
|
|
377
|
+
/* ── THE CONFIG REFUSED ITSELF. THAT IS NOT A TOOLCHAIN PROBLEM. ──────────
|
|
378
|
+
*
|
|
379
|
+
* 🔴 THIS BRANCH IS THE POINT OF THE `ConfigLoad` UNION ABOVE. Everything a
|
|
380
|
+
* define-time refusal is for arrives here: `brain_no_partitions`,
|
|
381
|
+
* `legacy_multi_team`, `brain_partition_unknown`, `residency_widens_company`,
|
|
382
|
+
* `company_brain_and_brains`, `program_undeclared`,
|
|
383
|
+
* `workspace_allowlist_empty`, `residency_unsupported_on_runtime`. Every one
|
|
384
|
+
* of those messages is written to be read by the person who wrote the config,
|
|
385
|
+
* and every one of them used to be swallowed by `catch { return null }`,
|
|
386
|
+
* relabelled "install @usenaive-sdk/iac + jiti", printed under
|
|
387
|
+
* `success: true`, and exited 0.
|
|
388
|
+
*
|
|
389
|
+
* So it is surfaced VERBATIM and exits non-zero. No regex fallback: the
|
|
390
|
+
* fallback's whole job is to say something useful when the config could not be
|
|
391
|
+
* READ, and this config was read perfectly — it said no.
|
|
392
|
+
*/
|
|
393
|
+
if (load && !load.ok && load.reason === "invalid") {
|
|
394
|
+
agentError({
|
|
395
|
+
action: "up",
|
|
396
|
+
error: {
|
|
397
|
+
code: "invalid_config",
|
|
398
|
+
message: load.message,
|
|
399
|
+
hint: `${found} evaluated and refused itself. This is the config's own named refusal, not a missing ` +
|
|
400
|
+
"dependency — @usenaive-sdk/iac and jiti both resolved. Fix the declaration it names and re-run.",
|
|
401
|
+
},
|
|
402
|
+
recovery_steps: [
|
|
403
|
+
{ command: "naive up --plan", description: "Re-check the config without applying anything" },
|
|
404
|
+
],
|
|
405
|
+
});
|
|
406
|
+
return;
|
|
407
|
+
}
|
|
408
|
+
// Fallback: the TOOLCHAIN is missing (or --local was asked for), so the config
|
|
409
|
+
// could not be evaluated at all — local, regex-only validation.
|
|
410
|
+
if (!load || !load.ok) {
|
|
114
411
|
const source = readFileSync(found, "utf8");
|
|
115
412
|
const projectMatch = /project\s*:\s*["'`]([^"'`]+)["'`]/.exec(source);
|
|
116
413
|
const project = projectMatch?.[1] ?? "(unknown)";
|
|
@@ -134,34 +431,135 @@ export const upCmd = new Command("up")
|
|
|
134
431
|
opts.local
|
|
135
432
|
? `Local validation only for "${project}".`
|
|
136
433
|
: `Validated ${found} locally, but could not evaluate it (install @usenaive-sdk/iac + jiti, or commit a naive.config.json).`,
|
|
434
|
+
// Only ever printed for a real resolution failure now — an invalid config
|
|
435
|
+
// took the branch above. Said out loud so the two are never conflated again.
|
|
436
|
+
...(load ? [`Module resolution failed: ${load.message}`] : []),
|
|
137
437
|
],
|
|
138
438
|
});
|
|
139
439
|
return;
|
|
140
440
|
}
|
|
441
|
+
const config = load.config;
|
|
141
442
|
const project = typeof config.project === "string" ? config.project : undefined;
|
|
142
443
|
if (!project) {
|
|
143
444
|
agentError({ action: "up", error: { code: "invalid_input", message: "naive.config.ts must export a `project` name" }, recovery_steps: [] });
|
|
144
445
|
return;
|
|
145
446
|
}
|
|
447
|
+
const credentials = readDurableCredentials(declaredTeamNames(config));
|
|
448
|
+
// The organization's OTHER projects, if the config declares any. Each is a
|
|
449
|
+
// separate deployment under its own project key — the control plane keys
|
|
450
|
+
// deployments, pools and systems by `(company_id, project)`, so applying two
|
|
451
|
+
// projects is two applies of the same shape, not a new one. A config with no
|
|
452
|
+
// `projects:` block produces an empty list and everything below is untouched.
|
|
453
|
+
const extraProjects = Object.entries(config.projects ?? {})
|
|
454
|
+
.map(([key, p]) => p?.slug ?? key)
|
|
455
|
+
.filter((slug) => slug !== project);
|
|
146
456
|
// 1. Plan (diff desired vs current).
|
|
147
|
-
const planResp = await apiRequest("PUT", `/v1/deployments/${encodeURIComponent(project)}`, config);
|
|
457
|
+
const planResp = await apiRequest("PUT", `/v1/deployments/${encodeURIComponent(project)}`, applyBody(config, credentials));
|
|
148
458
|
handleApiError("up", planResp);
|
|
149
459
|
const plan = planResp.data?.plan;
|
|
460
|
+
const teamPlan = plan?.teams?.plan ?? [];
|
|
150
461
|
if (opts.plan) {
|
|
462
|
+
// A plan REFUSAL is not a warning to scroll past — it is the reason this
|
|
463
|
+
// apply will not do what the config asks. Print it, and exit non-zero so a
|
|
464
|
+
// CI step that gates on `naive up --plan` actually gates.
|
|
465
|
+
const wouldRefuse = teamPlan.filter((t) => t.placement?.status === "refused");
|
|
466
|
+
const extraPlans = [];
|
|
467
|
+
for (const extra of extraProjects) {
|
|
468
|
+
const resp = await apiRequest("PUT", `/v1/deployments/${encodeURIComponent(extra)}`, applyBody(config, credentials));
|
|
469
|
+
handleApiError("up", resp);
|
|
470
|
+
extraPlans.push({ project: extra, plan: resp.data?.plan });
|
|
471
|
+
}
|
|
151
472
|
agentOutput({
|
|
152
473
|
action: "up",
|
|
153
|
-
result: {
|
|
474
|
+
result: {
|
|
475
|
+
config: found,
|
|
476
|
+
project,
|
|
477
|
+
plan,
|
|
478
|
+
...(extraPlans.length ? { projects: extraPlans } : {}),
|
|
479
|
+
applied: false,
|
|
480
|
+
},
|
|
154
481
|
next_steps: [{ command: "naive up", description: "Apply the plan" }],
|
|
155
|
-
hints: [
|
|
482
|
+
hints: [
|
|
483
|
+
"Plan only — nothing was provisioned.",
|
|
484
|
+
...unconsumedWarnings(teamPlan),
|
|
485
|
+
...(legacyDeprecationNotice(config) ? [legacyDeprecationNotice(config)] : []),
|
|
486
|
+
...(agentsRenameNotice(config) ? [agentsRenameNotice(config)] : []),
|
|
487
|
+
...(extraPlans.length
|
|
488
|
+
? [`Planned ${extraPlans.length + 1} projects: ${[project, ...extraProjects].join(", ")}.`]
|
|
489
|
+
: []),
|
|
490
|
+
...wouldRefuse.map((t) => `team "${t.name}" WOULD BE REFUSED (${t.placement?.code}): ${t.placement?.message}`),
|
|
491
|
+
],
|
|
156
492
|
});
|
|
493
|
+
if (wouldRefuse.length > 0)
|
|
494
|
+
process.exitCode = 1;
|
|
157
495
|
return;
|
|
158
496
|
}
|
|
159
|
-
// 2. Apply (provision infra, register pools/systems/
|
|
160
|
-
|
|
497
|
+
// 2. Apply (provision infra, register pools/systems/roles, materialize and
|
|
498
|
+
// place declared teams).
|
|
499
|
+
const applyResp = await applyProject(project, applyBody(config, credentials));
|
|
161
500
|
handleApiError("up", applyResp);
|
|
162
501
|
const data = applyResp.data;
|
|
163
502
|
const deployment = data.deployment;
|
|
164
503
|
const needsAction = (deployment?.resources ?? []).filter((r) => r.status === "needs_action" || r.status === "failed");
|
|
504
|
+
// The other declared projects, applied the same way and reported by name.
|
|
505
|
+
// Sequential on purpose: two applies of one organization touch the same
|
|
506
|
+
// brains and the same business programs, which the control plane serializes
|
|
507
|
+
// per company anyway.
|
|
508
|
+
const extraResults = [];
|
|
509
|
+
for (const extra of extraProjects) {
|
|
510
|
+
const resp = await applyProject(extra, applyBody(config, credentials));
|
|
511
|
+
handleApiError("up", resp);
|
|
512
|
+
const extraData = resp.data;
|
|
513
|
+
extraResults.push({
|
|
514
|
+
project: extra,
|
|
515
|
+
status: extraData.deployment?.status,
|
|
516
|
+
resources: extraData.deployment?.resources,
|
|
517
|
+
});
|
|
518
|
+
}
|
|
519
|
+
// ── WHAT WAS PROVISIONED, AND WHAT WAS REFUSED AND WHY ────────────────────
|
|
520
|
+
// A declared team that produced nothing used to be indistinguishable from one
|
|
521
|
+
// that worked: `naive up` printed `applied: true` and moved on. Every declared
|
|
522
|
+
// team now appears here with the agents it materialized, and a durable team
|
|
523
|
+
// additionally with its placement — placed, converged, or refused with the
|
|
524
|
+
// reason. A refusal exits NON-ZERO: the apply did real work (infra, pools,
|
|
525
|
+
// hermes teams) and reporting that honestly means not also claiming the part
|
|
526
|
+
// that was refused succeeded.
|
|
527
|
+
const durableByTeam = new Map((data.teams ?? []).map((t) => [t.team, t]));
|
|
528
|
+
const hermesByTeam = new Map((data.staffing ?? []).map((s) => [s.system, s]));
|
|
529
|
+
const teams = teamPlan.map((t) => {
|
|
530
|
+
const durable = durableByTeam.get(t.name);
|
|
531
|
+
const hermes = hermesByTeam.get(t.name);
|
|
532
|
+
// BOTH LANES, not the first one that answered. A MIXED team — a hermes lead
|
|
533
|
+
// with a member pinned to `runtime.durable` — is reported by BOTH
|
|
534
|
+
// materializers, and `durable ?? hermes` printed one half and silently
|
|
535
|
+
// dropped the other, so the agents an apply created did not add up to the
|
|
536
|
+
// agents it reported. Each role is tagged with the runtime it landed on when
|
|
537
|
+
// the team has two, so "which lane is this agent in" is answerable from the
|
|
538
|
+
// output rather than by reading the config back.
|
|
539
|
+
const lanes = t.role_runtimes;
|
|
540
|
+
const label = (role, status) => lanes?.[role] ? `${role} (${status}, ${lanes[role]})` : `${role} (${status})`;
|
|
541
|
+
const agents = [...(hermes?.agents ?? []), ...(durable?.agents ?? [])].map((a) => label(a.role, a.provision_status));
|
|
542
|
+
return {
|
|
543
|
+
name: t.name,
|
|
544
|
+
runtime: t.runtime,
|
|
545
|
+
lead: t.lead_role,
|
|
546
|
+
...(lanes ? { role_runtimes: lanes } : {}),
|
|
547
|
+
...(durable?.subject ? { subject: durable.subject } : {}),
|
|
548
|
+
agents,
|
|
549
|
+
archived: [...(hermes?.archived ?? []), ...(durable?.archived ?? [])],
|
|
550
|
+
...(durable?.placement
|
|
551
|
+
? {
|
|
552
|
+
placement: {
|
|
553
|
+
status: durable.placement.status,
|
|
554
|
+
...(durable.placement.code ? { code: durable.placement.code } : {}),
|
|
555
|
+
...(durable.placement.message ? { reason: durable.placement.message } : {}),
|
|
556
|
+
},
|
|
557
|
+
}
|
|
558
|
+
: {}),
|
|
559
|
+
};
|
|
560
|
+
});
|
|
561
|
+
const refusedTeams = teams.filter((t) => t.placement?.status === "refused");
|
|
562
|
+
const brains = brainReport(data.brains);
|
|
165
563
|
// Deploy cloud.web source to the provisioned web project(s) (Vercel builds + hosts).
|
|
166
564
|
const webDeploys = {};
|
|
167
565
|
if (opts.deploy !== false) {
|
|
@@ -199,20 +597,71 @@ export const upCmd = new Command("up")
|
|
|
199
597
|
resources: deployment?.resources,
|
|
200
598
|
runtime_pools: Object.keys(config.runtime ?? {}),
|
|
201
599
|
systems: Object.keys(config.systems ?? {}),
|
|
600
|
+
...(brains ? { brains } : {}),
|
|
202
601
|
agents: Object.keys(config.agents ?? config.agentProfiles ?? config.templates ?? {}),
|
|
602
|
+
teams,
|
|
203
603
|
outputs: deployment?.outputs ?? {},
|
|
204
604
|
web_deployments: webDeploys,
|
|
605
|
+
...(extraResults.length ? { projects: extraResults } : {}),
|
|
205
606
|
applied: true,
|
|
206
607
|
},
|
|
207
608
|
next_steps: [
|
|
208
609
|
...needsAction.map((r) => ({ command: `naive status`, description: `${r.name}: ${r.requirement ?? r.status}` })),
|
|
610
|
+
...refusedTeams.map(refusalNextStep).filter((s) => s !== null),
|
|
209
611
|
{ command: `naive agent-profiles provision <name> --user <tenant>`, description: "Provision an agent profile for a tenant" },
|
|
210
612
|
],
|
|
211
613
|
hints: [
|
|
212
614
|
`Deployment "${project}" is ${deployment?.status ?? "?"}.`,
|
|
615
|
+
...unconsumedWarnings(teamPlan),
|
|
616
|
+
...(legacyDeprecationNotice(config) ? [legacyDeprecationNotice(config)] : []),
|
|
617
|
+
...(agentsRenameNotice(config) ? [agentsRenameNotice(config)] : []),
|
|
618
|
+
...extraResults.map((r) => `Deployment "${r.project}" is ${r.status ?? "?"}.`),
|
|
213
619
|
needsAction.length ? `${needsAction.length} resource(s) need action — see next_steps.` : "All declared infrastructure is ready.",
|
|
620
|
+
...(brains
|
|
621
|
+
? [
|
|
622
|
+
`brains (${brains.declared_in}): ${brains.created.length} created` +
|
|
623
|
+
`${brains.created.length ? ` (${brains.created.join(", ")})` : ""}, ` +
|
|
624
|
+
`${brains.converged.length} already present` +
|
|
625
|
+
`${brains.converged.length ? ` (${brains.converged.join(", ")})` : ""}` +
|
|
626
|
+
`${brains.default ? `; default is "${brains.default}"` : ""}` +
|
|
627
|
+
`${brains.retained.length ? `. RETAINED, not declared by this config: ${brains.retained.join(", ")} — remove one deliberately with \`naive brain rm\`.` : "."}`,
|
|
628
|
+
// The accept-and-drop list, on the APPLY path and not only in --plan.
|
|
629
|
+
...(brains.unpersisted
|
|
630
|
+
? [
|
|
631
|
+
"DECLARED BUT NOT STORED — " +
|
|
632
|
+
Object.entries(brains.unpersisted)
|
|
633
|
+
.map(([name, keys]) => `${name}: ${keys.join(", ")}`)
|
|
634
|
+
.join("; ") +
|
|
635
|
+
". `brain_knowledge_bases` has no column for these, so they were accepted and dropped. " +
|
|
636
|
+
"Nothing reads them; do not treat them as in force.",
|
|
637
|
+
]
|
|
638
|
+
: []),
|
|
639
|
+
...(brains.notes ?? []),
|
|
640
|
+
]
|
|
641
|
+
: []),
|
|
642
|
+
...teams
|
|
643
|
+
.filter((t) => t.placement?.status === "placed" || t.placement?.status === "converged")
|
|
644
|
+
.map((t) => t.placement?.status === "placed"
|
|
645
|
+
? `team "${t.name}" PLACED on the durable runtime (${t.agents.length} agent(s)). Its jurisdiction is fixed permanently by the first control request.`
|
|
646
|
+
: `team "${t.name}" was already on the durable runtime (${t.agents.length} agent(s)); nothing was rewritten.`),
|
|
647
|
+
...refusedTeams.map((t) => `team "${t.name}" REFUSED (${t.placement?.code}): ${t.placement?.reason}`),
|
|
648
|
+
// Said once, not per team. `naive runtime migrate` does not exist in this
|
|
649
|
+
// CLI or any released one — see refusalNextStep — so a refusal with no
|
|
650
|
+
// next_step gets the reason it has none instead of a command that 404s.
|
|
651
|
+
...(refusedTeams.some((t) => refusalNextStep(t) === null)
|
|
652
|
+
? [
|
|
653
|
+
"No `naive` command moves an existing tenant between runtimes, on this or any released version. " +
|
|
654
|
+
"Placement rewrites sidecar_url and container_auth_token and nulls instance_id with nothing stashed, " +
|
|
655
|
+
"so the control plane refuses a config edit that would do it. Read the refusal above and, if the move " +
|
|
656
|
+
"is intended, take it to an operator with direct access — there is no self-serve path.",
|
|
657
|
+
]
|
|
658
|
+
: []),
|
|
214
659
|
],
|
|
215
660
|
});
|
|
661
|
+
// The apply did real work and said so; it must not ALSO report success for
|
|
662
|
+
// the teams it refused. Non-zero, so a CI pipeline stops here.
|
|
663
|
+
if (refusedTeams.length > 0)
|
|
664
|
+
process.exitCode = 1;
|
|
216
665
|
});
|
|
217
666
|
export const downCmd = new Command("down")
|
|
218
667
|
.description("Tear down the infrastructure provisioned for this project (naive.config.ts)")
|
|
@@ -232,6 +681,7 @@ export const downCmd = new Command("down")
|
|
|
232
681
|
// Without --yes: preview what would be destroyed (no side effects).
|
|
233
682
|
if (!opts.yes) {
|
|
234
683
|
const current = await apiRequest("GET", `/v1/deployments/${encodeURIComponent(project)}`);
|
|
684
|
+
handleApiError("down", current);
|
|
235
685
|
const d = current.data ?? {};
|
|
236
686
|
agentOutput({
|
|
237
687
|
action: "down",
|
package/dist/commands/up.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"up.js","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"up.js","sourceRoot":"","sources":["../../src/commands/up.ts"],"names":[],"mappings":"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"}
|