@usenaive-sdk/cli 0.13.0 → 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 +14 -0
- package/dist/commands/aeo.js +2 -2
- package/dist/commands/aeo.js.map +1 -1
- package/dist/commands/approvals.js +142 -9
- package/dist/commands/approvals.js.map +1 -1
- package/dist/commands/audio.js +1 -1
- package/dist/commands/audio.js.map +1 -1
- package/dist/commands/auth.js +27 -2
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/brain.js +17 -4
- package/dist/commands/brain.js.map +1 -1
- package/dist/commands/browser.js +1 -1
- package/dist/commands/clone.js +2 -2
- package/dist/commands/clone.js.map +1 -1
- package/dist/commands/compute.js +285 -15
- package/dist/commands/compute.js.map +1 -1
- package/dist/commands/connections.js +13 -1
- package/dist/commands/connections.js.map +1 -1
- package/dist/commands/domains.js +62 -18
- package/dist/commands/domains.js.map +1 -1
- package/dist/commands/formation.js +2 -2
- package/dist/commands/formation.js.map +1 -1
- package/dist/commands/images.js +2 -2
- package/dist/commands/images.js.map +1 -1
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/init.js +7 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/llm.js +1 -1
- package/dist/commands/llm.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/people.js +4 -0
- package/dist/commands/people.js.map +1 -1
- package/dist/commands/phone.js +37 -5
- package/dist/commands/phone.js.map +1 -1
- package/dist/commands/sandbox.js +334 -21
- package/dist/commands/sandbox.js.map +1 -1
- package/dist/commands/search.js +1 -1
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/social-data.js +4 -3
- package/dist/commands/social-data.js.map +1 -1
- package/dist/commands/social.js +1 -1
- 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/up.js +52 -2
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/vault.js +3 -0
- 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 +3 -3
- package/dist/commands/video.js.map +1 -1
- package/dist/config.d.ts +7 -0
- package/dist/config.js +14 -0
- package/dist/config.js.map +1 -1
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/unknown-command.d.ts +18 -4
- package/dist/lib/unknown-command.js +45 -6
- package/dist/lib/unknown-command.js.map +1 -1
- package/dist/output.d.ts +28 -0
- package/dist/output.js +29 -1
- package/dist/output.js.map +1 -1
- package/package.json +1 -1
package/dist/commands/compute.js
CHANGED
|
@@ -2,6 +2,54 @@ import { Command } from "commander";
|
|
|
2
2
|
import { spawnSync } from "node:child_process";
|
|
3
3
|
import { apiRequest, handleApiError, handlePendingApproval } from "../client.js";
|
|
4
4
|
import { agentOutput } from "../output.js";
|
|
5
|
+
/**
|
|
6
|
+
* THE SUCCESS ENVELOPE.
|
|
7
|
+
*
|
|
8
|
+
* `naive --help` promises "every command returns structured JSON with result
|
|
9
|
+
* data, next steps, and contextual guidance for autonomous operation"
|
|
10
|
+
* (index.ts), /cli/overview documents the same shape, and the CLI's whole claim
|
|
11
|
+
* to be agent-native rests on it. Every `agentOutput` below therefore carries
|
|
12
|
+
* non-empty `next_steps` and `hints`; `compute` shipped with 15 of its 16
|
|
13
|
+
* success envelopes passing `next_steps: []`, so an agent that ran a workload
|
|
14
|
+
* got the data and no route onward.
|
|
15
|
+
*
|
|
16
|
+
* Both are DERIVED from the response the API just returned — the id in a
|
|
17
|
+
* suggested command is the id the API echoed, a hint restates a field it
|
|
18
|
+
* actually sent — so neither can drift from what the platform did. This is the
|
|
19
|
+
* same rule `creditCostHint` follows in output.ts. Where the API returns its own
|
|
20
|
+
* advisory `hint` (`compute logs` on a service with no running task), it is
|
|
21
|
+
* lifted into `hints` instead of being left buried inside `result`.
|
|
22
|
+
*/
|
|
23
|
+
/** The id for a suggested command: the one the API echoed, else what the caller
|
|
24
|
+
* typed, so a next step is copy-pasteable rather than a `<id>` placeholder. */
|
|
25
|
+
function wid(data, typed) {
|
|
26
|
+
const id = data?.id;
|
|
27
|
+
return typeof id === "string" && id ? id : (typed ?? "<id>");
|
|
28
|
+
}
|
|
29
|
+
/** Hints echoed off a workload the API returned — restated, never asserted. */
|
|
30
|
+
function workloadHints(data) {
|
|
31
|
+
const w = (data ?? {});
|
|
32
|
+
const out = [];
|
|
33
|
+
if (typeof w.type === "string")
|
|
34
|
+
out.push(`Type: ${w.type}`);
|
|
35
|
+
if (typeof w.status === "string")
|
|
36
|
+
out.push(`Status: ${w.status}`);
|
|
37
|
+
if (typeof w.desired_count === "number")
|
|
38
|
+
out.push(`Desired replicas: ${w.desired_count}`);
|
|
39
|
+
if (typeof w.public_url === "string" && w.public_url)
|
|
40
|
+
out.push(`Public URL: ${w.public_url}`);
|
|
41
|
+
return out;
|
|
42
|
+
}
|
|
43
|
+
/** The API's own advisory `hint`, lifted out of `result` where it sent one. */
|
|
44
|
+
function apiHint(data) {
|
|
45
|
+
const h = data?.hint;
|
|
46
|
+
return typeof h === "string" && h ? [h] : [];
|
|
47
|
+
}
|
|
48
|
+
/** `service` runs continuously (start/stop/scale); `job`/`schedule` are triggered (run). */
|
|
49
|
+
function isService(data, typed) {
|
|
50
|
+
const t = data?.type;
|
|
51
|
+
return (typeof t === "string" ? t : typed) === "service";
|
|
52
|
+
}
|
|
5
53
|
export const computeCmd = new Command("compute")
|
|
6
54
|
.description("Compute — run Docker containers, background workers & scheduled jobs on managed cloud compute (ECS/Fargate)")
|
|
7
55
|
.addHelpText("after", `
|
|
@@ -43,7 +91,27 @@ computeCmd
|
|
|
43
91
|
.action(async () => {
|
|
44
92
|
const resp = await apiRequest("GET", "/v1/compute");
|
|
45
93
|
handleApiError("compute.list", resp);
|
|
46
|
-
|
|
94
|
+
const workloads = (resp.data?.compute ?? []);
|
|
95
|
+
const first = workloads[0]?.id ?? "<id>";
|
|
96
|
+
agentOutput({
|
|
97
|
+
action: "compute.list",
|
|
98
|
+
result: resp.data,
|
|
99
|
+
next_steps: [
|
|
100
|
+
{ command: `naive compute show ${first}`, description: "Inspect a workload — type, status, replicas, public URL" },
|
|
101
|
+
{ command: `naive compute logs ${first}`, description: "Tail its logs", when: "it is not behaving as expected" },
|
|
102
|
+
{
|
|
103
|
+
command: "naive compute create --name <name> --type service --image <image>",
|
|
104
|
+
description: "Create another workload",
|
|
105
|
+
},
|
|
106
|
+
],
|
|
107
|
+
hints: [
|
|
108
|
+
`${workloads.length} workload${workloads.length === 1 ? "" : "s"}.`,
|
|
109
|
+
...(workloads.length === 0
|
|
110
|
+
? ["Nothing to act on yet — create a service, job or schedule first."]
|
|
111
|
+
: [`Statuses: ${[...new Set(workloads.map((w) => w.status ?? "unknown"))].join(", ")}.`]),
|
|
112
|
+
],
|
|
113
|
+
related_commands: ["naive compute create", "naive compute show", "naive compute logs"],
|
|
114
|
+
});
|
|
47
115
|
});
|
|
48
116
|
computeCmd
|
|
49
117
|
.command("create")
|
|
@@ -86,7 +154,28 @@ computeCmd
|
|
|
86
154
|
if (handlePendingApproval("compute.create", resp))
|
|
87
155
|
return;
|
|
88
156
|
handleApiError("compute.create", resp);
|
|
89
|
-
|
|
157
|
+
const id = wid(resp.data);
|
|
158
|
+
agentOutput({
|
|
159
|
+
action: "compute.create",
|
|
160
|
+
result: resp.data,
|
|
161
|
+
next_steps: [
|
|
162
|
+
{ command: `naive compute show ${id}`, description: "Poll until status leaves provisioning" },
|
|
163
|
+
isService(resp.data, opts.type)
|
|
164
|
+
? { command: `naive compute scale ${id} 1`, description: "Set the running replica count" }
|
|
165
|
+
: { command: `naive compute run ${id}`, description: "Trigger the first run now" },
|
|
166
|
+
{ command: `naive compute logs ${id}`, description: "Tail its logs" },
|
|
167
|
+
{
|
|
168
|
+
command: `naive compute secret set ${id} <KEY> <VALUE>`,
|
|
169
|
+
description: "Set an encrypted env var",
|
|
170
|
+
when: "the container needs a credential",
|
|
171
|
+
},
|
|
172
|
+
],
|
|
173
|
+
hints: [
|
|
174
|
+
...workloadHints(resp.data),
|
|
175
|
+
"Provisioning is asynchronous — `compute show` reports when it is live.",
|
|
176
|
+
],
|
|
177
|
+
related_commands: ["naive compute show", "naive compute logs", "naive compute delete"],
|
|
178
|
+
});
|
|
90
179
|
});
|
|
91
180
|
computeCmd
|
|
92
181
|
.command("show <id>")
|
|
@@ -94,7 +183,26 @@ computeCmd
|
|
|
94
183
|
.action(async (id) => {
|
|
95
184
|
const resp = await apiRequest("GET", `/v1/compute/${id}`);
|
|
96
185
|
handleApiError("compute.show", resp);
|
|
97
|
-
|
|
186
|
+
const wl = wid(resp.data, id);
|
|
187
|
+
agentOutput({
|
|
188
|
+
action: "compute.show",
|
|
189
|
+
result: resp.data,
|
|
190
|
+
next_steps: [
|
|
191
|
+
{ command: `naive compute logs ${wl}`, description: "Tail its logs" },
|
|
192
|
+
...(isService(resp.data)
|
|
193
|
+
? [
|
|
194
|
+
{ command: `naive compute scale ${wl} <count>`, description: "Change the running replica count" },
|
|
195
|
+
{ command: `naive compute stop ${wl}`, description: "Scale to zero", when: "you are done with it" },
|
|
196
|
+
]
|
|
197
|
+
: [
|
|
198
|
+
{ command: `naive compute run ${wl}`, description: "Trigger a run now" },
|
|
199
|
+
{ command: `naive compute runs ${wl}`, description: "List past runs" },
|
|
200
|
+
]),
|
|
201
|
+
{ command: `naive compute delete ${wl}`, description: "Delete the workload", when: "it is no longer needed" },
|
|
202
|
+
],
|
|
203
|
+
hints: [...workloadHints(resp.data), "`compute logs` is the fastest way to see why a status is not what you expect."],
|
|
204
|
+
related_commands: ["naive compute list", "naive compute logs", "naive compute delete"],
|
|
205
|
+
});
|
|
98
206
|
});
|
|
99
207
|
computeCmd
|
|
100
208
|
.command("delete <id>")
|
|
@@ -102,7 +210,23 @@ computeCmd
|
|
|
102
210
|
.action(async (id) => {
|
|
103
211
|
const resp = await apiRequest("DELETE", `/v1/compute/${id}`);
|
|
104
212
|
handleApiError("compute.delete", resp);
|
|
105
|
-
agentOutput({
|
|
213
|
+
agentOutput({
|
|
214
|
+
action: "compute.delete",
|
|
215
|
+
result: resp.data,
|
|
216
|
+
next_steps: [
|
|
217
|
+
{ command: "naive compute list", description: "Confirm what is left" },
|
|
218
|
+
{
|
|
219
|
+
command: "naive compute create --name <name> --type service --image <image>",
|
|
220
|
+
description: "Create a replacement",
|
|
221
|
+
when: "you deleted it to redeploy",
|
|
222
|
+
},
|
|
223
|
+
],
|
|
224
|
+
hints: [
|
|
225
|
+
...workloadHints(resp.data),
|
|
226
|
+
"Deleting stops the workload's in-flight runs; its secrets go with it.",
|
|
227
|
+
],
|
|
228
|
+
related_commands: ["naive compute list", "naive compute create"],
|
|
229
|
+
});
|
|
106
230
|
});
|
|
107
231
|
for (const verb of ["start", "stop"]) {
|
|
108
232
|
computeCmd
|
|
@@ -111,7 +235,24 @@ for (const verb of ["start", "stop"]) {
|
|
|
111
235
|
.action(async (id) => {
|
|
112
236
|
const resp = await apiRequest("POST", `/v1/compute/${id}/${verb}`);
|
|
113
237
|
handleApiError(`compute.${verb}`, resp);
|
|
114
|
-
|
|
238
|
+
const wl = wid(resp.data, id);
|
|
239
|
+
agentOutput({
|
|
240
|
+
action: `compute.${verb}`,
|
|
241
|
+
result: resp.data,
|
|
242
|
+
next_steps: [
|
|
243
|
+
{ command: `naive compute show ${wl}`, description: "Confirm the new status and replica count" },
|
|
244
|
+
verb === "start"
|
|
245
|
+
? { command: `naive compute logs ${wl}`, description: "Watch it come up" }
|
|
246
|
+
: { command: `naive compute start ${wl}`, description: "Wake it again", when: "you need it back" },
|
|
247
|
+
],
|
|
248
|
+
hints: [
|
|
249
|
+
...workloadHints(resp.data),
|
|
250
|
+
verb === "start"
|
|
251
|
+
? "Start sets the desired replica count to 1; use `scale` for any other count."
|
|
252
|
+
: "Stop sets the desired replica count to 0 — the workload is kept, not deleted.",
|
|
253
|
+
],
|
|
254
|
+
related_commands: ["naive compute show", "naive compute scale", "naive compute logs"],
|
|
255
|
+
});
|
|
115
256
|
});
|
|
116
257
|
}
|
|
117
258
|
computeCmd
|
|
@@ -120,7 +261,17 @@ computeCmd
|
|
|
120
261
|
.action(async (id, count) => {
|
|
121
262
|
const resp = await apiRequest("POST", `/v1/compute/${id}/scale`, { count: Number(count) });
|
|
122
263
|
handleApiError("compute.scale", resp);
|
|
123
|
-
|
|
264
|
+
const wl = wid(resp.data, id);
|
|
265
|
+
agentOutput({
|
|
266
|
+
action: "compute.scale",
|
|
267
|
+
result: resp.data,
|
|
268
|
+
next_steps: [
|
|
269
|
+
{ command: `naive compute show ${wl}`, description: "Confirm the running replica count" },
|
|
270
|
+
{ command: `naive compute logs ${wl}`, description: "Watch the new replicas start" },
|
|
271
|
+
],
|
|
272
|
+
hints: [...workloadHints(resp.data), "Scaling to 0 is the same as `compute stop` — the workload is kept."],
|
|
273
|
+
related_commands: ["naive compute show", "naive compute start", "naive compute stop"],
|
|
274
|
+
});
|
|
124
275
|
});
|
|
125
276
|
computeCmd
|
|
126
277
|
.command("run <id>")
|
|
@@ -130,7 +281,20 @@ computeCmd
|
|
|
130
281
|
const body = opts.command ? { command: String(opts.command).split(" ") } : {};
|
|
131
282
|
const resp = await apiRequest("POST", `/v1/compute/${id}/run`, body);
|
|
132
283
|
handleApiError("compute.run", resp);
|
|
133
|
-
|
|
284
|
+
const runId = wid(resp.data);
|
|
285
|
+
agentOutput({
|
|
286
|
+
action: "compute.run",
|
|
287
|
+
result: resp.data,
|
|
288
|
+
next_steps: [
|
|
289
|
+
{ command: `naive compute logs ${id} --run ${runId}`, description: "Tail this run's logs" },
|
|
290
|
+
{ command: `naive compute runs ${id}`, description: "Poll the run's status" },
|
|
291
|
+
],
|
|
292
|
+
hints: [
|
|
293
|
+
...workloadHints(resp.data),
|
|
294
|
+
"The run is asynchronous — this returns the run id, not its result.",
|
|
295
|
+
],
|
|
296
|
+
related_commands: ["naive compute runs", "naive compute logs"],
|
|
297
|
+
});
|
|
134
298
|
});
|
|
135
299
|
computeCmd
|
|
136
300
|
.command("runs <id>")
|
|
@@ -138,7 +302,23 @@ computeCmd
|
|
|
138
302
|
.action(async (id) => {
|
|
139
303
|
const resp = await apiRequest("GET", `/v1/compute/${id}/runs`);
|
|
140
304
|
handleApiError("compute.runs", resp);
|
|
141
|
-
|
|
305
|
+
const runs = (resp.data?.runs ?? []);
|
|
306
|
+
const latest = runs[0]?.id ?? "<runId>";
|
|
307
|
+
agentOutput({
|
|
308
|
+
action: "compute.runs",
|
|
309
|
+
result: resp.data,
|
|
310
|
+
next_steps: [
|
|
311
|
+
{ command: `naive compute logs ${id} --run ${latest}`, description: "Tail a specific run's logs" },
|
|
312
|
+
{ command: `naive compute run ${id}`, description: "Trigger another run" },
|
|
313
|
+
],
|
|
314
|
+
hints: [
|
|
315
|
+
`${runs.length} run${runs.length === 1 ? "" : "s"}.`,
|
|
316
|
+
...(runs.length === 0
|
|
317
|
+
? ["No runs yet — `compute run <id>` triggers the first one."]
|
|
318
|
+
: [`Latest run status: ${runs[0]?.status ?? "unknown"}.`]),
|
|
319
|
+
],
|
|
320
|
+
related_commands: ["naive compute run", "naive compute logs"],
|
|
321
|
+
});
|
|
142
322
|
});
|
|
143
323
|
computeCmd
|
|
144
324
|
.command("logs <id>")
|
|
@@ -151,7 +331,24 @@ computeCmd
|
|
|
151
331
|
: `/v1/compute/${id}/logs?limit=${opts.limit}`;
|
|
152
332
|
const resp = await apiRequest("GET", path);
|
|
153
333
|
handleApiError("compute.logs", resp);
|
|
154
|
-
|
|
334
|
+
const events = (resp.data?.events ?? []);
|
|
335
|
+
agentOutput({
|
|
336
|
+
action: "compute.logs",
|
|
337
|
+
result: resp.data,
|
|
338
|
+
next_steps: [
|
|
339
|
+
{ command: `naive compute show ${id}`, description: "Check the workload's status" },
|
|
340
|
+
{ command: `naive compute logs ${id} --limit 1000`, description: "Widen the window", when: "you need more history" },
|
|
341
|
+
{ command: `naive compute runs ${id}`, description: "Pick a specific run to tail" },
|
|
342
|
+
],
|
|
343
|
+
hints: [
|
|
344
|
+
`${events.length} log event${events.length === 1 ? "" : "s"}.`,
|
|
345
|
+
// The API returns its own advisory when there is no stream to read
|
|
346
|
+
// ("No running tasks…", "No runs yet…"). Surface it rather than leaving
|
|
347
|
+
// an agent to find it inside `result`.
|
|
348
|
+
...apiHint(resp.data),
|
|
349
|
+
],
|
|
350
|
+
related_commands: ["naive compute show", "naive compute runs"],
|
|
351
|
+
});
|
|
155
352
|
});
|
|
156
353
|
computeCmd
|
|
157
354
|
.command("exec <id> <command>")
|
|
@@ -161,7 +358,19 @@ computeCmd
|
|
|
161
358
|
if (handlePendingApproval("compute.exec", resp))
|
|
162
359
|
return;
|
|
163
360
|
handleApiError("compute.exec", resp);
|
|
164
|
-
agentOutput({
|
|
361
|
+
agentOutput({
|
|
362
|
+
action: "compute.exec",
|
|
363
|
+
result: resp.data,
|
|
364
|
+
next_steps: [
|
|
365
|
+
{ command: `naive compute ssh ${id}`, description: "Open an interactive shell instead" },
|
|
366
|
+
{ command: `naive compute logs ${id}`, description: "Read what the command wrote to the log stream" },
|
|
367
|
+
],
|
|
368
|
+
hints: [
|
|
369
|
+
...apiHint(resp.data),
|
|
370
|
+
"exec brokers an SSM session against a RUNNING task — start/scale a service, or run a job, first.",
|
|
371
|
+
],
|
|
372
|
+
related_commands: ["naive compute ssh", "naive compute logs"],
|
|
373
|
+
});
|
|
165
374
|
});
|
|
166
375
|
computeCmd
|
|
167
376
|
.command("ssh <id>")
|
|
@@ -174,7 +383,19 @@ computeCmd
|
|
|
174
383
|
handleApiError("compute.ssh", resp);
|
|
175
384
|
const data = resp.data;
|
|
176
385
|
if (!data.session) {
|
|
177
|
-
agentOutput({
|
|
386
|
+
agentOutput({
|
|
387
|
+
action: "compute.ssh",
|
|
388
|
+
result: resp.data,
|
|
389
|
+
next_steps: [
|
|
390
|
+
{ command: `naive compute show ${id}`, description: "Check the workload has a running task to attach to" },
|
|
391
|
+
{ command: `naive compute logs ${id}`, description: "Read the logs instead" },
|
|
392
|
+
],
|
|
393
|
+
hints: [
|
|
394
|
+
...apiHint(resp.data),
|
|
395
|
+
"No SSM session was returned, so there is nothing to attach to yet.",
|
|
396
|
+
],
|
|
397
|
+
related_commands: ["naive compute show", "naive compute exec"],
|
|
398
|
+
});
|
|
178
399
|
return;
|
|
179
400
|
}
|
|
180
401
|
const region = data.region ?? "us-east-1";
|
|
@@ -191,12 +412,16 @@ computeCmd
|
|
|
191
412
|
agentOutput({
|
|
192
413
|
action: "compute.ssh",
|
|
193
414
|
result: { session: data.session, region },
|
|
194
|
-
next_steps: [
|
|
415
|
+
next_steps: [
|
|
416
|
+
{ command: `naive compute exec ${id} "<command>"`, description: "Run a one-off command without the plugin" },
|
|
417
|
+
{ command: `naive compute logs ${id}`, description: "Read the logs instead" },
|
|
418
|
+
],
|
|
195
419
|
hints: [
|
|
196
420
|
"The AWS session-manager-plugin is required for the interactive shell and was not found on PATH.",
|
|
197
421
|
"Install it: https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html",
|
|
198
422
|
"The returned session (streamUrl + tokenValue) can also be consumed by any SSM data-channel client.",
|
|
199
423
|
],
|
|
424
|
+
related_commands: ["naive compute exec", "naive compute logs"],
|
|
200
425
|
});
|
|
201
426
|
}
|
|
202
427
|
});
|
|
@@ -207,7 +432,23 @@ secret
|
|
|
207
432
|
.action(async (id, key, value) => {
|
|
208
433
|
const resp = await apiRequest("POST", `/v1/compute/${id}/secrets`, { key, value });
|
|
209
434
|
handleApiError("compute.secret.set", resp);
|
|
210
|
-
agentOutput({
|
|
435
|
+
agentOutput({
|
|
436
|
+
action: "compute.secret.set",
|
|
437
|
+
result: resp.data,
|
|
438
|
+
next_steps: [
|
|
439
|
+
{ command: `naive compute secret list ${id}`, description: "Confirm the key is set" },
|
|
440
|
+
{
|
|
441
|
+
command: `naive compute run ${id}`,
|
|
442
|
+
description: "Re-run so the container picks the value up",
|
|
443
|
+
when: "it is a job or a schedule",
|
|
444
|
+
},
|
|
445
|
+
],
|
|
446
|
+
hints: [
|
|
447
|
+
`Key \`${key}\` is stored encrypted; its value is never returned by \`secret list\`.`,
|
|
448
|
+
"A running container keeps its old environment until it is restarted or re-run.",
|
|
449
|
+
],
|
|
450
|
+
related_commands: ["naive compute secret list", "naive compute secret delete"],
|
|
451
|
+
});
|
|
211
452
|
});
|
|
212
453
|
secret
|
|
213
454
|
.command("list <id>")
|
|
@@ -215,7 +456,20 @@ secret
|
|
|
215
456
|
.action(async (id) => {
|
|
216
457
|
const resp = await apiRequest("GET", `/v1/compute/${id}/secrets`);
|
|
217
458
|
handleApiError("compute.secret.list", resp);
|
|
218
|
-
|
|
459
|
+
const secrets = (resp.data?.secrets ?? []);
|
|
460
|
+
agentOutput({
|
|
461
|
+
action: "compute.secret.list",
|
|
462
|
+
result: resp.data,
|
|
463
|
+
next_steps: [
|
|
464
|
+
{ command: `naive compute secret set ${id} <KEY> <VALUE>`, description: "Add or replace a secret" },
|
|
465
|
+
{ command: `naive compute secret delete ${id} <KEY>`, description: "Remove one", when: "it is no longer needed" },
|
|
466
|
+
],
|
|
467
|
+
hints: [
|
|
468
|
+
`${secrets.length} secret${secrets.length === 1 ? "" : "s"}.`,
|
|
469
|
+
"Keys only — values are encrypted at rest and are not returned here.",
|
|
470
|
+
],
|
|
471
|
+
related_commands: ["naive compute secret set", "naive compute secret delete"],
|
|
472
|
+
});
|
|
219
473
|
});
|
|
220
474
|
secret
|
|
221
475
|
.command("delete <id> <key>")
|
|
@@ -223,6 +477,22 @@ secret
|
|
|
223
477
|
.action(async (id, key) => {
|
|
224
478
|
const resp = await apiRequest("DELETE", `/v1/compute/${id}/secrets/${encodeURIComponent(key)}`);
|
|
225
479
|
handleApiError("compute.secret.delete", resp);
|
|
226
|
-
agentOutput({
|
|
480
|
+
agentOutput({
|
|
481
|
+
action: "compute.secret.delete",
|
|
482
|
+
result: resp.data,
|
|
483
|
+
next_steps: [
|
|
484
|
+
{ command: `naive compute secret list ${id}`, description: "Confirm what is left" },
|
|
485
|
+
{
|
|
486
|
+
command: `naive compute run ${id}`,
|
|
487
|
+
description: "Re-run so the container loses the value",
|
|
488
|
+
when: "it is a job or a schedule",
|
|
489
|
+
},
|
|
490
|
+
],
|
|
491
|
+
hints: [
|
|
492
|
+
`Key \`${key}\` is removed from the workload's environment.`,
|
|
493
|
+
"A running container keeps its old environment until it is restarted or re-run.",
|
|
494
|
+
],
|
|
495
|
+
related_commands: ["naive compute secret set", "naive compute secret list"],
|
|
496
|
+
});
|
|
227
497
|
});
|
|
228
498
|
//# sourceMappingURL=compute.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute.js","sourceRoot":"","sources":["../../src/commands/compute.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compute.js","sourceRoot":"","sources":["../../src/commands/compute.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,8 +92,20 @@ connectionsCmd
|
|
|
92
92
|
.description("List the tools a toolkit exposes")
|
|
93
93
|
.argument("<toolkit>")
|
|
94
94
|
.option("--user <id>", "Target a specific tenant user")
|
|
95
|
+
.option("--search <text>", "Only tools whose name or description matches")
|
|
96
|
+
.option("--limit <n>", "Maximum tools to return (default 100, max 200)")
|
|
95
97
|
.action(async (toolkit, opts) => {
|
|
96
|
-
|
|
98
|
+
// --search / --limit are the two query parameters the route has always read
|
|
99
|
+
// and MCP has always accepted. Without them this command could only ask for
|
|
100
|
+
// the whole catalog, which is why the same toolkit counted 63 here and 25 on
|
|
101
|
+
// api/mcp for one credential (NV-068).
|
|
102
|
+
const qs = new URLSearchParams();
|
|
103
|
+
if (opts.search)
|
|
104
|
+
qs.set("search", opts.search);
|
|
105
|
+
if (opts.limit)
|
|
106
|
+
qs.set("limit", opts.limit);
|
|
107
|
+
const q = qs.toString();
|
|
108
|
+
const resp = await apiRequest("GET", `${userPath(opts.user)}/connections/${encodeURIComponent(toolkit)}/tools${q ? `?${q}` : ""}`, undefined, {
|
|
97
109
|
userId: opts.user,
|
|
98
110
|
});
|
|
99
111
|
handleApiError("connections.tools", resp);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/commands/connections.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/commands/connections.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/domains.js
CHANGED
|
@@ -53,9 +53,14 @@ Workflow for editing DNS on a connected domain:
|
|
|
53
53
|
2. naive domains set-record <domain_id> --type CNAME --name www --value shops.myshopify.com
|
|
54
54
|
3. naive domains delete-record <domain_id> <record_id> (use --acknowledge-unowned for non-Naive records)
|
|
55
55
|
|
|
56
|
-
System domains
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
System domains ({slug}.usenaive.ai):
|
|
57
|
+
Auto-provisioned on registration with status=active. Two independent tracks:
|
|
58
|
+
dns_status → Resend EMAIL readiness (pending_verification | provisioned)
|
|
59
|
+
app_connect_status → app HTTP attach (null | pending_dns | connected |
|
|
60
|
+
agent_managed_pending | agent_managed)
|
|
61
|
+
Do NOT treat dns_status=pending_verification as "app domain broken".
|
|
62
|
+
App attach: naive apps domains connect / verify-dns (platform writes zone DNS).
|
|
63
|
+
Email ready: naive domains verify <id> when dns_status is still pending_verification.
|
|
59
64
|
|
|
60
65
|
DNS edit safety (server-enforced):
|
|
61
66
|
- Allowed types only: A, AAAA, CNAME, MX, TXT, CAA
|
|
@@ -86,13 +91,22 @@ domainsCmd
|
|
|
86
91
|
const data = resp.data;
|
|
87
92
|
const count = data.domains?.length ?? 0;
|
|
88
93
|
const active = data.domains?.filter((d) => d.status === "active").length ?? 0;
|
|
89
|
-
const
|
|
94
|
+
const pendingByod = data.domains?.filter((d) => d.status === "pending_dns").length ?? 0;
|
|
95
|
+
const emailPending = data.domains?.filter((d) => d.dns_status === "pending_verification" || d.dns_status === "provisioning").length ?? 0;
|
|
96
|
+
const appPending = data.domains?.filter((d) => d.app_connect_status === "pending_dns").length ?? 0;
|
|
97
|
+
const appConnected = data.domains?.filter((d) => d.app_connect_status === "connected").length ?? 0;
|
|
90
98
|
agentOutput({
|
|
91
99
|
action: "domains.list",
|
|
92
100
|
result: resp.data,
|
|
93
101
|
next_steps: [
|
|
94
|
-
...(
|
|
95
|
-
? [{ command: "naive domains
|
|
102
|
+
...(emailPending > 0
|
|
103
|
+
? [{ command: "naive domains verify <domain_id>", description: "Re-check Resend EMAIL dns_status (not app HTTP)" }]
|
|
104
|
+
: []),
|
|
105
|
+
...(pendingByod > 0
|
|
106
|
+
? [{ command: "naive domains setup-records <domain_id>", description: "View Resend setup records to add for BYOD pending domains" }]
|
|
107
|
+
: []),
|
|
108
|
+
...(appPending > 0
|
|
109
|
+
? [{ command: "naive apps domains verify-dns <appId> <domainId>", description: "Finish app HTTP attach (app_connect_status=pending_dns)" }]
|
|
96
110
|
: []),
|
|
97
111
|
{ command: "naive domains connect --domain <your-domain.com>", description: "Connect a custom domain" },
|
|
98
112
|
...(active > 0
|
|
@@ -103,11 +117,20 @@ domainsCmd
|
|
|
103
117
|
: []),
|
|
104
118
|
],
|
|
105
119
|
hints: [
|
|
106
|
-
`${count} domain${count !== 1 ? "s" : ""} total (${active} active, ${
|
|
107
|
-
|
|
108
|
-
"
|
|
120
|
+
`${count} domain${count !== 1 ? "s" : ""} total (${active} active, ${pendingByod} BYOD pending_dns)`,
|
|
121
|
+
`Tracks: email dns_status pending=${emailPending}; app_connect pending_dns=${appPending}, connected=${appConnected}`,
|
|
122
|
+
"System domains: status=active on register. dns_status=email (Resend); app_connect_status=app HTTP (Vercel). Do not conflate them.",
|
|
123
|
+
"Custom domains require DNS record setup before they can be used for email",
|
|
124
|
+
],
|
|
125
|
+
related_commands: [
|
|
126
|
+
"naive domains connect",
|
|
127
|
+
"naive domains verify",
|
|
128
|
+
"naive domains zone-records",
|
|
129
|
+
"naive apps domains connect",
|
|
130
|
+
"naive apps domains verify-dns",
|
|
131
|
+
"naive email inboxes",
|
|
132
|
+
"naive email create",
|
|
109
133
|
],
|
|
110
|
-
related_commands: ["naive domains connect", "naive domains verify", "naive domains zone-records", "naive email inboxes", "naive email create"],
|
|
111
134
|
});
|
|
112
135
|
});
|
|
113
136
|
domainsCmd
|
|
@@ -281,20 +304,41 @@ Differs from 'dns-records' (which shows only the Resend setup records).
|
|
|
281
304
|
const resp = await apiRequest("GET", `/v1/domains/${domainId}/zone-records`);
|
|
282
305
|
handleApiError("domains.zone-records", resp);
|
|
283
306
|
const data = resp.data;
|
|
307
|
+
// Authoritative — the server decides this, not the hostname shape.
|
|
308
|
+
const isSystem = (data.registrar ?? "").trim().toLowerCase() === "system";
|
|
284
309
|
agentOutput({
|
|
285
310
|
action: "domains.zone-records",
|
|
286
311
|
result: resp.data,
|
|
287
|
-
next_steps:
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
312
|
+
next_steps: isSystem
|
|
313
|
+
? [
|
|
314
|
+
{
|
|
315
|
+
command: "naive apps domains connect <appId> <domainId>",
|
|
316
|
+
description: "Attach this system domain to an app (the platform writes the HTTP DNS)",
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
command: "naive apps domains verify-dns <appId> <domainId>",
|
|
320
|
+
description: "Re-check the app HTTP attach after connect",
|
|
321
|
+
},
|
|
322
|
+
]
|
|
323
|
+
: [
|
|
324
|
+
{ command: `naive domains set-record ${data.domain_id} --type A --name www --value 76.76.21.21`, description: "Create or replace a DNS record" },
|
|
325
|
+
...(data.records.length > 0
|
|
326
|
+
? [{ command: `naive domains delete-record ${data.domain_id} ${data.records[0].id}`, description: "Delete a DNS record by its provider record ID" }]
|
|
327
|
+
: []),
|
|
328
|
+
],
|
|
293
329
|
hints: [
|
|
294
330
|
`${data.records.length} record(s) on ${data.domain}`,
|
|
331
|
+
...(isSystem
|
|
332
|
+
? [
|
|
333
|
+
"System domain: zone-records is inspect-only. set/delete → 403 SYSTEM_DOMAIN.",
|
|
334
|
+
"App HTTP DNS is written by `naive apps domains connect` / `verify-dns`, not by you.",
|
|
335
|
+
]
|
|
336
|
+
: []),
|
|
295
337
|
...(data.mock ? ["mock: true — no real Vercel writes occurred (DOMAIN_MOCK or no VERCEL_REGISTRAR_TOKEN)"] : []),
|
|
296
338
|
],
|
|
297
|
-
related_commands:
|
|
339
|
+
related_commands: isSystem
|
|
340
|
+
? ["naive apps domains connect", "naive apps domains verify-dns", "naive domains"]
|
|
341
|
+
: ["naive domains set-record", "naive domains delete-record", "naive domains"],
|
|
298
342
|
});
|
|
299
343
|
});
|
|
300
344
|
domainsCmd
|
|
@@ -315,7 +359,7 @@ Examples:
|
|
|
315
359
|
$ naive domains set-record <id> --type CAA --name @ --value '0 issue "letsencrypt.org"'
|
|
316
360
|
|
|
317
361
|
Safety rules:
|
|
318
|
-
- System domains (registrar=system) are
|
|
362
|
+
- System domains (registrar=system): zone-records list is allowed; set/delete are forbidden.
|
|
319
363
|
- DMARC/DKIM/inbound MX & TXT records are protected.
|
|
320
364
|
- Wildcard names ('*' or '*.foo') are rejected.
|
|
321
365
|
- CAA values must use an allowed CA.
|