@usenaive-sdk/cli 0.15.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -402
- package/dist/index.js +51775 -502
- package/package.json +22 -18
- package/dist/client.d.ts +0 -108
- package/dist/client.js +0 -458
- package/dist/client.js.map +0 -1
- package/dist/commands/account-kits.d.ts +0 -2
- package/dist/commands/account-kits.js +0 -71
- package/dist/commands/account-kits.js.map +0 -1
- package/dist/commands/aeo.d.ts +0 -2
- package/dist/commands/aeo.js +0 -451
- package/dist/commands/aeo.js.map +0 -1
- package/dist/commands/agent-profiles.d.ts +0 -11
- package/dist/commands/agent-profiles.js +0 -120
- package/dist/commands/agent-profiles.js.map +0 -1
- package/dist/commands/agents.d.ts +0 -2
- package/dist/commands/agents.js +0 -916
- package/dist/commands/agents.js.map +0 -1
- package/dist/commands/app-data.d.ts +0 -2
- package/dist/commands/app-data.js +0 -445
- package/dist/commands/app-data.js.map +0 -1
- package/dist/commands/approvals.d.ts +0 -2
- package/dist/commands/approvals.js +0 -242
- package/dist/commands/approvals.js.map +0 -1
- package/dist/commands/apps.d.ts +0 -9
- package/dist/commands/apps.js +0 -844
- package/dist/commands/apps.js.map +0 -1
- package/dist/commands/audio.d.ts +0 -9
- package/dist/commands/audio.js +0 -391
- package/dist/commands/audio.js.map +0 -1
- package/dist/commands/auth.d.ts +0 -31
- package/dist/commands/auth.js +0 -428
- package/dist/commands/auth.js.map +0 -1
- package/dist/commands/billing.d.ts +0 -2
- package/dist/commands/billing.js +0 -250
- package/dist/commands/billing.js.map +0 -1
- package/dist/commands/brain.d.ts +0 -2
- package/dist/commands/brain.js +0 -1300
- package/dist/commands/brain.js.map +0 -1
- package/dist/commands/browser.d.ts +0 -2
- package/dist/commands/browser.js +0 -378
- package/dist/commands/browser.js.map +0 -1
- package/dist/commands/business.d.ts +0 -2
- package/dist/commands/business.js +0 -566
- package/dist/commands/business.js.map +0 -1
- package/dist/commands/cards.d.ts +0 -2
- package/dist/commands/cards.js +0 -419
- package/dist/commands/cards.js.map +0 -1
- package/dist/commands/ceo.d.ts +0 -2
- package/dist/commands/ceo.js +0 -369
- package/dist/commands/ceo.js.map +0 -1
- package/dist/commands/clone.d.ts +0 -2
- package/dist/commands/clone.js +0 -203
- package/dist/commands/clone.js.map +0 -1
- package/dist/commands/companies.d.ts +0 -10
- package/dist/commands/companies.js +0 -283
- package/dist/commands/companies.js.map +0 -1
- package/dist/commands/company-data.d.ts +0 -2
- package/dist/commands/company-data.js +0 -168
- package/dist/commands/company-data.js.map +0 -1
- package/dist/commands/compute.d.ts +0 -2
- package/dist/commands/compute.js +0 -498
- package/dist/commands/compute.js.map +0 -1
- package/dist/commands/config.d.ts +0 -2
- package/dist/commands/config.js +0 -36
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/connections.d.ts +0 -8
- package/dist/commands/connections.js +0 -137
- package/dist/commands/connections.js.map +0 -1
- package/dist/commands/cron-jobs.d.ts +0 -2
- package/dist/commands/cron-jobs.js +0 -245
- package/dist/commands/cron-jobs.js.map +0 -1
- package/dist/commands/domains.d.ts +0 -2
- package/dist/commands/domains.js +0 -474
- package/dist/commands/domains.js.map +0 -1
- package/dist/commands/ecommerce.d.ts +0 -2
- package/dist/commands/ecommerce.js +0 -277
- package/dist/commands/ecommerce.js.map +0 -1
- package/dist/commands/email.d.ts +0 -2
- package/dist/commands/email.js +0 -336
- package/dist/commands/email.js.map +0 -1
- package/dist/commands/employees.d.ts +0 -2
- package/dist/commands/employees.js +0 -190
- package/dist/commands/employees.js.map +0 -1
- package/dist/commands/env.d.ts +0 -7
- package/dist/commands/env.js +0 -112
- package/dist/commands/env.js.map +0 -1
- package/dist/commands/formation.d.ts +0 -2
- package/dist/commands/formation.js +0 -273
- package/dist/commands/formation.js.map +0 -1
- package/dist/commands/identity.d.ts +0 -2
- package/dist/commands/identity.js +0 -110
- package/dist/commands/identity.js.map +0 -1
- package/dist/commands/images.d.ts +0 -2
- package/dist/commands/images.js +0 -371
- package/dist/commands/images.js.map +0 -1
- package/dist/commands/init.d.ts +0 -5
- package/dist/commands/init.js +0 -43
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/jobs.d.ts +0 -2
- package/dist/commands/jobs.js +0 -144
- package/dist/commands/jobs.js.map +0 -1
- package/dist/commands/keys.d.ts +0 -2
- package/dist/commands/keys.js +0 -156
- package/dist/commands/keys.js.map +0 -1
- package/dist/commands/legacy-auth.d.ts +0 -27
- package/dist/commands/legacy-auth.js +0 -64
- package/dist/commands/legacy-auth.js.map +0 -1
- package/dist/commands/llm.d.ts +0 -2
- package/dist/commands/llm.js +0 -125
- package/dist/commands/llm.js.map +0 -1
- package/dist/commands/login.d.ts +0 -2
- package/dist/commands/login.js +0 -65
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/logout.d.ts +0 -7
- package/dist/commands/logout.js +0 -55
- package/dist/commands/logout.js.map +0 -1
- package/dist/commands/logs.d.ts +0 -2
- package/dist/commands/logs.js +0 -42
- package/dist/commands/logs.js.map +0 -1
- package/dist/commands/loops.d.ts +0 -2
- package/dist/commands/loops.js +0 -260
- package/dist/commands/loops.js.map +0 -1
- package/dist/commands/media.d.ts +0 -2
- package/dist/commands/media.js +0 -183
- package/dist/commands/media.js.map +0 -1
- package/dist/commands/memory.d.ts +0 -2
- package/dist/commands/memory.js +0 -151
- package/dist/commands/memory.js.map +0 -1
- package/dist/commands/mobile.d.ts +0 -4
- package/dist/commands/mobile.js +0 -382
- package/dist/commands/mobile.js.map +0 -1
- package/dist/commands/module.d.ts +0 -8
- package/dist/commands/module.js +0 -48
- package/dist/commands/module.js.map +0 -1
- package/dist/commands/objectives.d.ts +0 -2
- package/dist/commands/objectives.js +0 -243
- package/dist/commands/objectives.js.map +0 -1
- package/dist/commands/payments.d.ts +0 -2
- package/dist/commands/payments.js +0 -131
- package/dist/commands/payments.js.map +0 -1
- package/dist/commands/people.d.ts +0 -2
- package/dist/commands/people.js +0 -197
- package/dist/commands/people.js.map +0 -1
- package/dist/commands/phone.d.ts +0 -2
- package/dist/commands/phone.js +0 -289
- package/dist/commands/phone.js.map +0 -1
- package/dist/commands/projects.d.ts +0 -13
- package/dist/commands/projects.js +0 -220
- package/dist/commands/projects.js.map +0 -1
- package/dist/commands/queue.d.ts +0 -2
- package/dist/commands/queue.js +0 -121
- package/dist/commands/queue.js.map +0 -1
- package/dist/commands/register.d.ts +0 -2
- package/dist/commands/register.js +0 -88
- package/dist/commands/register.js.map +0 -1
- package/dist/commands/report.d.ts +0 -17
- package/dist/commands/report.js +0 -109
- package/dist/commands/report.js.map +0 -1
- package/dist/commands/sandbox.d.ts +0 -2
- package/dist/commands/sandbox.js +0 -558
- package/dist/commands/sandbox.js.map +0 -1
- package/dist/commands/search.d.ts +0 -2
- package/dist/commands/search.js +0 -223
- package/dist/commands/search.js.map +0 -1
- package/dist/commands/seo.d.ts +0 -2
- package/dist/commands/seo.js +0 -528
- package/dist/commands/seo.js.map +0 -1
- package/dist/commands/sessions.d.ts +0 -6
- package/dist/commands/sessions.js +0 -109
- package/dist/commands/sessions.js.map +0 -1
- package/dist/commands/social-data.d.ts +0 -2
- package/dist/commands/social-data.js +0 -245
- package/dist/commands/social-data.js.map +0 -1
- package/dist/commands/social.d.ts +0 -2
- package/dist/commands/social.js +0 -407
- package/dist/commands/social.js.map +0 -1
- package/dist/commands/status.d.ts +0 -2
- package/dist/commands/status.js +0 -79
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/support.d.ts +0 -2
- package/dist/commands/support.js +0 -134
- package/dist/commands/support.js.map +0 -1
- package/dist/commands/tasks.d.ts +0 -2
- package/dist/commands/tasks.js +0 -409
- package/dist/commands/tasks.js.map +0 -1
- package/dist/commands/teams.d.ts +0 -69
- package/dist/commands/teams.js +0 -503
- package/dist/commands/teams.js.map +0 -1
- package/dist/commands/trading.d.ts +0 -2
- package/dist/commands/trading.js +0 -333
- package/dist/commands/trading.js.map +0 -1
- package/dist/commands/up.d.ts +0 -551
- package/dist/commands/up.js +0 -1149
- package/dist/commands/up.js.map +0 -1
- package/dist/commands/usage.d.ts +0 -2
- package/dist/commands/usage.js +0 -73
- package/dist/commands/usage.js.map +0 -1
- package/dist/commands/use.d.ts +0 -12
- package/dist/commands/use.js +0 -96
- package/dist/commands/use.js.map +0 -1
- package/dist/commands/users.d.ts +0 -10
- package/dist/commands/users.js +0 -82
- package/dist/commands/users.js.map +0 -1
- package/dist/commands/vault.d.ts +0 -2
- package/dist/commands/vault.js +0 -101
- package/dist/commands/vault.js.map +0 -1
- package/dist/commands/verification.d.ts +0 -2
- package/dist/commands/verification.js +0 -152
- package/dist/commands/verification.js.map +0 -1
- package/dist/commands/verify-email.d.ts +0 -19
- package/dist/commands/verify-email.js +0 -130
- package/dist/commands/verify-email.js.map +0 -1
- package/dist/commands/video.d.ts +0 -2
- package/dist/commands/video.js +0 -417
- package/dist/commands/video.js.map +0 -1
- package/dist/commands/voice.d.ts +0 -2
- package/dist/commands/voice.js +0 -516
- package/dist/commands/voice.js.map +0 -1
- package/dist/commands/wallet.d.ts +0 -2
- package/dist/commands/wallet.js +0 -244
- package/dist/commands/wallet.js.map +0 -1
- package/dist/commands/webhooks.d.ts +0 -13
- package/dist/commands/webhooks.js +0 -119
- package/dist/commands/webhooks.js.map +0 -1
- package/dist/commands/whoami.d.ts +0 -2
- package/dist/commands/whoami.js +0 -53
- package/dist/commands/whoami.js.map +0 -1
- package/dist/config.d.ts +0 -42
- package/dist/config.js +0 -83
- package/dist/config.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.js.map +0 -1
- package/dist/lib/brain-select.d.ts +0 -193
- package/dist/lib/brain-select.js +0 -403
- package/dist/lib/brain-select.js.map +0 -1
- package/dist/lib/cli-validation.d.ts +0 -12
- package/dist/lib/cli-validation.js +0 -46
- package/dist/lib/cli-validation.js.map +0 -1
- package/dist/lib/config-errors.d.ts +0 -4
- package/dist/lib/config-errors.js +0 -13
- package/dist/lib/config-errors.js.map +0 -1
- package/dist/lib/deprecation.d.ts +0 -158
- package/dist/lib/deprecation.js +0 -140
- package/dist/lib/deprecation.js.map +0 -1
- package/dist/lib/duration.d.ts +0 -8
- package/dist/lib/duration.js +0 -11
- package/dist/lib/duration.js.map +0 -1
- package/dist/lib/http-response.d.ts +0 -11
- package/dist/lib/http-response.js +0 -96
- package/dist/lib/http-response.js.map +0 -1
- package/dist/lib/llm-paywall.d.ts +0 -82
- package/dist/lib/llm-paywall.js +0 -231
- package/dist/lib/llm-paywall.js.map +0 -1
- package/dist/lib/pricing.d.ts +0 -132
- package/dist/lib/pricing.js +0 -148
- package/dist/lib/pricing.js.map +0 -1
- package/dist/lib/starter-config.d.ts +0 -13
- package/dist/lib/starter-config.js +0 -71
- package/dist/lib/starter-config.js.map +0 -1
- package/dist/lib/stream-frames.d.ts +0 -114
- package/dist/lib/stream-frames.js +0 -169
- package/dist/lib/stream-frames.js.map +0 -1
- package/dist/lib/teams-catalog.d.ts +0 -141
- package/dist/lib/teams-catalog.js +0 -841
- package/dist/lib/teams-catalog.js.map +0 -1
- package/dist/lib/unknown-command.d.ts +0 -71
- package/dist/lib/unknown-command.js +0 -132
- package/dist/lib/unknown-command.js.map +0 -1
- package/dist/lib/version-check.d.ts +0 -26
- package/dist/lib/version-check.js +0 -21
- package/dist/lib/version-check.js.map +0 -1
- package/dist/output.d.ts +0 -246
- package/dist/output.js +0 -539
- package/dist/output.js.map +0 -1
- package/dist/prompt.d.ts +0 -17
- package/dist/prompt.js +0 -70
- package/dist/prompt.js.map +0 -1
- package/dist/version.d.ts +0 -2
- package/dist/version.js +0 -14
- package/dist/version.js.map +0 -1
package/dist/commands/queue.js
DELETED
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { Command } from "commander";
|
|
2
|
-
import { apiRequest, handleApiError } from "../client.js";
|
|
3
|
-
import { agentOutput } from "../output.js";
|
|
4
|
-
export const queueCmd = new Command("queue")
|
|
5
|
-
.description("Queue — durable message queues (SQS) for agent work pipelines")
|
|
6
|
-
.addHelpText("after", `
|
|
7
|
-
Subcommands:
|
|
8
|
-
naive queue list List your queues
|
|
9
|
-
naive queue create --name <n> [--fifo] Create a queue (optional --dlq)
|
|
10
|
-
naive queue show <id> Show queue + depth
|
|
11
|
-
naive queue delete <id> Delete a queue
|
|
12
|
-
naive queue send <id> <body> Enqueue a message
|
|
13
|
-
naive queue receive <id> [--wait 20] Long-poll for messages
|
|
14
|
-
naive queue ack <id> <receiptHandle> Delete a processed message
|
|
15
|
-
naive queue purge <id> Delete all messages
|
|
16
|
-
naive queue attributes <id> Approximate depth / in-flight
|
|
17
|
-
|
|
18
|
-
Worker pattern:
|
|
19
|
-
Pair a queue with a compute service that long-polls (naive queue receive),
|
|
20
|
-
processes, then acks (naive queue ack). See 'naive compute --help'.
|
|
21
|
-
|
|
22
|
-
Examples:
|
|
23
|
-
$ naive queue create --name jobs
|
|
24
|
-
$ naive queue send <id> '{"task":"resize","url":"..."}'
|
|
25
|
-
$ naive queue receive <id> --wait 20
|
|
26
|
-
$ naive queue ack <id> <receiptHandle>
|
|
27
|
-
`);
|
|
28
|
-
queueCmd
|
|
29
|
-
.command("list", { isDefault: true })
|
|
30
|
-
.description("List your queues")
|
|
31
|
-
.action(async () => {
|
|
32
|
-
const resp = await apiRequest("GET", "/v1/queue");
|
|
33
|
-
handleApiError("queue.list", resp);
|
|
34
|
-
agentOutput({ action: "queue.list", result: resp.data, next_steps: [] });
|
|
35
|
-
});
|
|
36
|
-
queueCmd
|
|
37
|
-
.command("create")
|
|
38
|
-
.description("Create a queue")
|
|
39
|
-
.requiredOption("--name <name>", "Queue name")
|
|
40
|
-
.option("--fifo", "Create a FIFO (ordered, exactly-once) queue")
|
|
41
|
-
.option("--dlq", "Attach a dead-letter queue")
|
|
42
|
-
.action(async (opts) => {
|
|
43
|
-
const resp = await apiRequest("POST", "/v1/queue", {
|
|
44
|
-
name: opts.name,
|
|
45
|
-
type: opts.fifo ? "fifo" : "standard",
|
|
46
|
-
dlq: !!opts.dlq,
|
|
47
|
-
});
|
|
48
|
-
handleApiError("queue.create", resp);
|
|
49
|
-
agentOutput({ action: "queue.create", result: resp.data, next_steps: [] });
|
|
50
|
-
});
|
|
51
|
-
queueCmd
|
|
52
|
-
.command("show <id>")
|
|
53
|
-
.description("Show queue details + depth")
|
|
54
|
-
.action(async (id) => {
|
|
55
|
-
const resp = await apiRequest("GET", `/v1/queue/${id}`);
|
|
56
|
-
handleApiError("queue.show", resp);
|
|
57
|
-
agentOutput({ action: "queue.show", result: resp.data, next_steps: [] });
|
|
58
|
-
});
|
|
59
|
-
queueCmd
|
|
60
|
-
.command("delete <id>")
|
|
61
|
-
.description("Delete a queue")
|
|
62
|
-
.action(async (id) => {
|
|
63
|
-
const resp = await apiRequest("DELETE", `/v1/queue/${id}`);
|
|
64
|
-
handleApiError("queue.delete", resp);
|
|
65
|
-
agentOutput({ action: "queue.delete", result: resp.data, next_steps: [] });
|
|
66
|
-
});
|
|
67
|
-
queueCmd
|
|
68
|
-
.command("attributes <id>")
|
|
69
|
-
.description("Approximate depth / in-flight / delayed counts")
|
|
70
|
-
.action(async (id) => {
|
|
71
|
-
const resp = await apiRequest("GET", `/v1/queue/${id}/attributes`);
|
|
72
|
-
handleApiError("queue.attributes", resp);
|
|
73
|
-
agentOutput({ action: "queue.attributes", result: resp.data, next_steps: [] });
|
|
74
|
-
});
|
|
75
|
-
queueCmd
|
|
76
|
-
.command("send <id> <body>")
|
|
77
|
-
.description("Enqueue a message")
|
|
78
|
-
.option("--group <groupId>", "FIFO message group id")
|
|
79
|
-
.option("--dedup <dedupId>", "FIFO deduplication id")
|
|
80
|
-
.option("--delay <seconds>", "Delay delivery (0-900s)")
|
|
81
|
-
.action(async (id, body, opts) => {
|
|
82
|
-
const resp = await apiRequest("POST", `/v1/queue/${id}/messages`, {
|
|
83
|
-
body,
|
|
84
|
-
group_id: opts.group,
|
|
85
|
-
dedup_id: opts.dedup,
|
|
86
|
-
delay_seconds: opts.delay ? Number(opts.delay) : undefined,
|
|
87
|
-
});
|
|
88
|
-
handleApiError("queue.send", resp);
|
|
89
|
-
agentOutput({ action: "queue.send", result: resp.data, next_steps: [] });
|
|
90
|
-
});
|
|
91
|
-
queueCmd
|
|
92
|
-
.command("receive <id>")
|
|
93
|
-
.description("Long-poll for messages")
|
|
94
|
-
.option("--max <n>", "Max messages (1-10)", "1")
|
|
95
|
-
.option("--wait <seconds>", "Long-poll wait (0-20s)", "0")
|
|
96
|
-
.option("--visibility <seconds>", "Visibility timeout after receipt")
|
|
97
|
-
.action(async (id, opts) => {
|
|
98
|
-
const params = new URLSearchParams({ max: opts.max, wait: opts.wait });
|
|
99
|
-
if (opts.visibility)
|
|
100
|
-
params.set("visibility", opts.visibility);
|
|
101
|
-
const resp = await apiRequest("GET", `/v1/queue/${id}/messages?${params.toString()}`);
|
|
102
|
-
handleApiError("queue.receive", resp);
|
|
103
|
-
agentOutput({ action: "queue.receive", result: resp.data, next_steps: [] });
|
|
104
|
-
});
|
|
105
|
-
queueCmd
|
|
106
|
-
.command("ack <id> <receiptHandle>")
|
|
107
|
-
.description("Delete (acknowledge) a processed message")
|
|
108
|
-
.action(async (id, receiptHandle) => {
|
|
109
|
-
const resp = await apiRequest("DELETE", `/v1/queue/${id}/messages?receipt_handle=${encodeURIComponent(receiptHandle)}`);
|
|
110
|
-
handleApiError("queue.ack", resp);
|
|
111
|
-
agentOutput({ action: "queue.ack", result: resp.data, next_steps: [] });
|
|
112
|
-
});
|
|
113
|
-
queueCmd
|
|
114
|
-
.command("purge <id>")
|
|
115
|
-
.description("Delete all messages in a queue")
|
|
116
|
-
.action(async (id) => {
|
|
117
|
-
const resp = await apiRequest("POST", `/v1/queue/${id}/purge`);
|
|
118
|
-
handleApiError("queue.purge", resp);
|
|
119
|
-
agentOutput({ action: "queue.purge", result: resp.data, next_steps: [] });
|
|
120
|
-
});
|
|
121
|
-
//# sourceMappingURL=queue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/commands/queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { Command } from "commander";
|
|
2
|
-
import { apiRequest, handleApiError } from "../client.js";
|
|
3
|
-
import { saveConfig } from "../config.js";
|
|
4
|
-
import { agentOutput } from "../output.js";
|
|
5
|
-
import { FIXED_CREDIT_COSTS } from "../lib/pricing.js";
|
|
6
|
-
export const registerCmd = new Command("register")
|
|
7
|
-
.description("Create a new Naive account with email and password")
|
|
8
|
-
.option("--name <name>", "Your name or agent identity name (defaults to the email local-part)")
|
|
9
|
-
.requiredOption("--email <email>", "Email address for the account (must be unique)")
|
|
10
|
-
.requiredOption("--password <password>", "Account password (minimum 8 characters)")
|
|
11
|
-
.option("--company <name>", "Company name (defaults to \"<name>'s Company\")")
|
|
12
|
-
.addHelpText("after", `
|
|
13
|
-
Examples:
|
|
14
|
-
$ naive register --name "Alex" --email alex@company.com --password mypassword123
|
|
15
|
-
$ naive register --email agent@acme.co --password s3cur3pw
|
|
16
|
-
$ naive register --name "Build Agent" --email agent@acme.co --password s3cur3pw --company "Acme Corp"
|
|
17
|
-
|
|
18
|
-
What this does:
|
|
19
|
-
1. Creates a user account (email + password)
|
|
20
|
-
2. Creates a company workspace
|
|
21
|
-
3. Provisions an API agent (0 credits until the email is verified)
|
|
22
|
-
4. Sends a verification email — clicking the link grants 20 free credits
|
|
23
|
-
5. Returns an API key saved to ~/.naive/config.json
|
|
24
|
-
|
|
25
|
-
What the 20 free credits do NOT buy:
|
|
26
|
-
The LLM router. 'naive llm chat', /v1/llm/* and the provider proxies require a
|
|
27
|
-
PAID account — a credit pack ('naive billing topup') or a subscription
|
|
28
|
-
('naive billing subscribe --plan pro'). Free and comped credit will not route a
|
|
29
|
-
model call however much of it is on the balance. Every other primitive — email,
|
|
30
|
-
search, images, brain, runtime — spends the free credits normally.
|
|
31
|
-
|
|
32
|
-
After registration:
|
|
33
|
-
- Run 'naive verify-email --resend', then 'naive verify-email <token>' to receive 20 free credits (or click the link in the email)
|
|
34
|
-
- Use 'naive status' to verify connectivity
|
|
35
|
-
- Use 'naive identity' to see provisioned resources
|
|
36
|
-
- Use 'naive email inboxes' to check available email addresses
|
|
37
|
-
- All subsequent commands authenticate automatically via the saved key
|
|
38
|
-
`)
|
|
39
|
-
.action(async (opts) => {
|
|
40
|
-
const email = String(opts.email ?? "").trim();
|
|
41
|
-
const name = (typeof opts.name === "string" && opts.name.trim()) ||
|
|
42
|
-
(email.includes("@") ? email.split("@")[0] : email) ||
|
|
43
|
-
"Agent";
|
|
44
|
-
const resp = await apiRequest("POST", "/v1/auth/register", {
|
|
45
|
-
name,
|
|
46
|
-
email,
|
|
47
|
-
password: opts.password,
|
|
48
|
-
company_name: opts.company,
|
|
49
|
-
}, { noAuth: true });
|
|
50
|
-
handleApiError("register", resp);
|
|
51
|
-
const data = resp.data;
|
|
52
|
-
saveConfig({
|
|
53
|
-
api_key: data.api_key,
|
|
54
|
-
agent_id: data.agent_id,
|
|
55
|
-
company_id: data.company_id,
|
|
56
|
-
company_name: data.company_name,
|
|
57
|
-
// Fresh workspace — never inherit a prior `naive use` subject.
|
|
58
|
-
active_user_id: undefined,
|
|
59
|
-
});
|
|
60
|
-
agentOutput({
|
|
61
|
-
action: "register",
|
|
62
|
-
result: {
|
|
63
|
-
agent_id: data.agent_id,
|
|
64
|
-
company_id: data.company_id,
|
|
65
|
-
company_name: data.company_name,
|
|
66
|
-
credentials_saved: "~/.naive/config.json",
|
|
67
|
-
initial_credits: 0,
|
|
68
|
-
pending_email_verification: true,
|
|
69
|
-
},
|
|
70
|
-
next_steps: [
|
|
71
|
-
{ command: "naive verify-email <token>", description: "Verify the email from the link and release the 20 free credits" },
|
|
72
|
-
{ command: "naive status", description: "Verify account status and available credits" },
|
|
73
|
-
{ command: "naive identity", description: "View provisioned resources (email inboxes, etc.)" },
|
|
74
|
-
{ command: "naive email inboxes", description: "List email addresses available for sending" },
|
|
75
|
-
{ command: "naive images generate \"a sunset over mountains\"", description: "Try generating an image" },
|
|
76
|
-
{ command: "naive search \"latest AI news\"", description: "Try a web search" },
|
|
77
|
-
],
|
|
78
|
-
hints: [
|
|
79
|
-
"Your API key is saved locally — all future commands authenticate automatically",
|
|
80
|
-
"You start at 0 credits. Verify your email (check the inbox for a verification link) to receive your 20 free credits, then buy more with 'naive billing topup'. Use 'naive usage' to track spending.",
|
|
81
|
-
"The LLM router is the one primitive free credits do not buy: 'naive llm chat' needs a paid account (a credit pack or a subscription). Everything else spends the free credits.",
|
|
82
|
-
"If you already have a Naive account from the dashboard, use 'naive login' instead",
|
|
83
|
-
],
|
|
84
|
-
related_commands: ["naive login", "naive auth email", "naive whoami", "naive status"],
|
|
85
|
-
help_markdown: `### Account Created\n\nYour agent is ready. The API key has been saved to \`~/.naive/config.json\` and will be used automatically for all subsequent commands.\n\n**Email verification required**: your 20 free credits are granted after you click the verification link sent to your email. Until then the balance is 0.\n\n**Credit System**: You start with 20 free credits once verified, then buy more with \`naive billing topup\`. Operations cost:\n- Web search: ${FIXED_CREDIT_COSTS.webSearch} credits\n- Email send: ${FIXED_CREDIT_COSTS.emailSend} credits\n- Image generation: varies (depends on model)\n- Video generation: varies (depends on model/duration)\n- Deep research: ${FIXED_CREDIT_COSTS.researchQuick}–${FIXED_CREDIT_COSTS.researchExhaustive} credits (depth-dependent)\n\n**LLM routing is not on that list, and not by omission.** \`naive llm chat\`, \`/v1/llm/*\` and the provider proxies require a **paid** account — a credit pack (\`naive billing topup\`) or a subscription (\`naive billing subscribe --plan pro\`). Free and comped credit cannot buy model routing. An unpaid call is refused with 402 \`llm_routing_requires_payment\` and the CLI exits 4, meaning "a human has to decide this".\n\nUse \`naive usage\` to monitor spending.`,
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
//# sourceMappingURL=register.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Command } from "commander";
|
|
2
|
-
interface ReportInput {
|
|
3
|
-
message: string;
|
|
4
|
-
kind?: "error" | "feedback";
|
|
5
|
-
command?: string;
|
|
6
|
-
sessionId?: string;
|
|
7
|
-
stack?: string;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Programmatic, best-effort report. Used by the auto-report path (a Claude
|
|
11
|
-
* subagent, or a future top-level error boundary behind NAIVE_AUTO_REPORT).
|
|
12
|
-
* NEVER throws and never exits — a failed report must not mask the original
|
|
13
|
-
* error. Stays silent if there's no API key (can't report unauthenticated).
|
|
14
|
-
*/
|
|
15
|
-
export declare function reportError(input: ReportInput): Promise<void>;
|
|
16
|
-
export declare const reportCmd: Command;
|
|
17
|
-
export {};
|
package/dist/commands/report.js
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { Command, Option } from "commander";
|
|
2
|
-
import { homedir } from "node:os";
|
|
3
|
-
import { apiRequest, handleApiError } from "../client.js";
|
|
4
|
-
import { loadConfig } from "../config.js";
|
|
5
|
-
import { agentOutput } from "../output.js";
|
|
6
|
-
import { readVersion } from "../version.js";
|
|
7
|
-
// Mirrors the API's MAX_MESSAGE/MAX_STACK (packages/api/src/routes/reports.ts) —
|
|
8
|
-
// the API zod schema is the authoritative cap; this just trims before sending.
|
|
9
|
-
const MAX_FIELD = 8 * 1024;
|
|
10
|
-
const HOME = homedir();
|
|
11
|
-
/**
|
|
12
|
-
* Best-effort client-side scrub — a FIRST pass before anything leaves the machine.
|
|
13
|
-
* The internal-agent re-redacts at ingest and is the authoritative layer; this is
|
|
14
|
-
* NOT a guarantee (the command help says so). Covers common key shapes plus
|
|
15
|
-
* key=value and "key":"value" forms, and collapses the home dir out of paths.
|
|
16
|
-
*/
|
|
17
|
-
const SCRUB = [
|
|
18
|
-
[/\bnv_(?:sk|sess)_[A-Za-z0-9_-]{6,}\b/g, "[redacted-key]"],
|
|
19
|
-
[/\bsk-(?:ant-)?[A-Za-z0-9_-]{20,}\b/g, "[redacted-key]"],
|
|
20
|
-
[/\b(?:sk|pk|rk)_(?:live|test)_[A-Za-z0-9]{16,}\b/g, "[redacted-key]"],
|
|
21
|
-
[/\b(?:AKIA|ASIA)[A-Z0-9]{16}\b/g, "[redacted-key]"],
|
|
22
|
-
[/\bgh[pousr]_[A-Za-z0-9]{20,}\b/g, "[redacted-key]"],
|
|
23
|
-
[/Bearer\s+[A-Za-z0-9._-]+/gi, "Bearer [redacted]"],
|
|
24
|
-
// key=value and "key":"value" — tolerate a word-char prefix (OPENAI_API_KEY) and quotes.
|
|
25
|
-
[/([A-Za-z_]*(?:api[_-]?key|token|secret|password|authorization))(["']?\s*[=:]\s*["']?)[^\s"',;}]+/gi, "$1$2[redacted]"],
|
|
26
|
-
];
|
|
27
|
-
function scrub(text) {
|
|
28
|
-
let out = text;
|
|
29
|
-
for (const [re, repl] of SCRUB)
|
|
30
|
-
out = out.replace(re, repl);
|
|
31
|
-
if (HOME)
|
|
32
|
-
out = out.split(HOME).join("~"); // guard: empty HOME would garble via split("")
|
|
33
|
-
return out;
|
|
34
|
-
}
|
|
35
|
-
function truncate(text, max = MAX_FIELD) {
|
|
36
|
-
return text.length > max ? text.slice(0, max) + "\n…[truncated]" : text;
|
|
37
|
-
}
|
|
38
|
-
function buildBody(input) {
|
|
39
|
-
const context = {
|
|
40
|
-
os: `${process.platform} ${process.arch}`,
|
|
41
|
-
cliVersion: readVersion(),
|
|
42
|
-
};
|
|
43
|
-
if (input.command)
|
|
44
|
-
context.command = input.command;
|
|
45
|
-
if (input.sessionId)
|
|
46
|
-
context.sessionId = input.sessionId;
|
|
47
|
-
if (input.stack)
|
|
48
|
-
context.stack = truncate(scrub(input.stack));
|
|
49
|
-
return {
|
|
50
|
-
kind: input.kind ?? "error",
|
|
51
|
-
message: truncate(scrub(input.message)),
|
|
52
|
-
context,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Programmatic, best-effort report. Used by the auto-report path (a Claude
|
|
57
|
-
* subagent, or a future top-level error boundary behind NAIVE_AUTO_REPORT).
|
|
58
|
-
* NEVER throws and never exits — a failed report must not mask the original
|
|
59
|
-
* error. Stays silent if there's no API key (can't report unauthenticated).
|
|
60
|
-
*/
|
|
61
|
-
export async function reportError(input) {
|
|
62
|
-
try {
|
|
63
|
-
const hasKey = !!(process.env.NAIVE_API_KEY || loadConfig().api_key);
|
|
64
|
-
if (!hasKey)
|
|
65
|
-
return;
|
|
66
|
-
await apiRequest("POST", "/v1/reports", buildBody(input));
|
|
67
|
-
}
|
|
68
|
-
catch {
|
|
69
|
-
/* best-effort: swallow */
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
export const reportCmd = new Command("report")
|
|
73
|
-
.description("Report a bug or send feedback to the naive team (files a tracked issue)")
|
|
74
|
-
.argument("<message>", "the error or feedback to report")
|
|
75
|
-
.addOption(new Option("--kind <kind>", "report kind").choices(["error", "feedback"]).default("error"))
|
|
76
|
-
.option("--command <command>", "the naive command that triggered this (e.g. 'naive video create')")
|
|
77
|
-
.option("--session <id>", "session id, for context")
|
|
78
|
-
.option("--stack <text>", "a stack trace or log excerpt to attach")
|
|
79
|
-
.addHelpText("after", `
|
|
80
|
-
Examples:
|
|
81
|
-
$ naive report "video create failed with a 500" --command "naive video create" --kind error
|
|
82
|
-
$ naive report "wish I could pass a seed to image gen" --kind feedback
|
|
83
|
-
|
|
84
|
-
What this does:
|
|
85
|
-
Files a tracked bug/feedback report with the naive team. Common secret shapes are
|
|
86
|
-
scrubbed client-side (best-effort — don't paste secrets you wouldn't want seen).
|
|
87
|
-
You get a tracking id back — receipt confirmation, not that the issue is filed yet.`)
|
|
88
|
-
.action(async (message, opts) => {
|
|
89
|
-
const resp = await apiRequest("POST", "/v1/reports", buildBody({
|
|
90
|
-
message,
|
|
91
|
-
kind: opts.kind,
|
|
92
|
-
command: opts.command,
|
|
93
|
-
sessionId: opts.session,
|
|
94
|
-
stack: opts.stack,
|
|
95
|
-
}));
|
|
96
|
-
handleApiError("report", resp);
|
|
97
|
-
const data = resp.data;
|
|
98
|
-
agentOutput({
|
|
99
|
-
action: "report",
|
|
100
|
-
result: resp.data,
|
|
101
|
-
next_steps: [],
|
|
102
|
-
hints: [
|
|
103
|
-
`Report received (tracking id: ${data.reportId ?? "?"}).`,
|
|
104
|
-
"This confirms receipt — reports are batched, so the tracked issue is filed shortly after.",
|
|
105
|
-
],
|
|
106
|
-
related_commands: ["naive status"],
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
//# sourceMappingURL=report.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/commands/report.ts"],"names":[],"mappings":"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"}
|