@usenaive-sdk/cli 0.15.0 → 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 -354
- 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 -245
- 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 -106
- 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 -80
- 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 -73
- 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 -112
- 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/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 -174
- package/dist/output.js +0 -435
- 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
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
import { Command } from "commander";
|
|
2
|
-
import { apiRequest, handleApiError, handlePendingApproval } from "../client.js";
|
|
3
|
-
import { agentOutput } from "../output.js";
|
|
4
|
-
export const verificationCmd = new Command("verification")
|
|
5
|
-
.description("Identity verification (KYC) for company founders/members via Footprint")
|
|
6
|
-
.addHelpText("after", `
|
|
7
|
-
Subcommands:
|
|
8
|
-
naive verification start --members <json> Start KYC for a set of members
|
|
9
|
-
naive verification list List all verification requests
|
|
10
|
-
naive verification status <id> Get verification + member statuses
|
|
11
|
-
naive verification complete <memberId> --token <token> Submit validation token
|
|
12
|
-
naive verification resend <memberId> Resend a member's KYC link
|
|
13
|
-
|
|
14
|
-
Members JSON format:
|
|
15
|
-
[{"first_name":"Alice","last_name":"Smith","email":"alice@example.com",
|
|
16
|
-
"ownership_percentage":60,"role":"primary","is_responsible_party":true},
|
|
17
|
-
{"first_name":"Bob","last_name":"Jones","email":"bob@example.com",
|
|
18
|
-
"ownership_percentage":40,"role":"secondary","is_responsible_party":false}]
|
|
19
|
-
|
|
20
|
-
Rules:
|
|
21
|
-
- Exactly one member must have role "primary"
|
|
22
|
-
- Exactly one member must have is_responsible_party = true
|
|
23
|
-
- Ownership percentages must sum to 100
|
|
24
|
-
- Primary member receives their KYC link immediately
|
|
25
|
-
- Secondary members are emailed their KYC links
|
|
26
|
-
|
|
27
|
-
Governance:
|
|
28
|
-
Starting KYC is SENSITIVE (handles PII) and may require human approval. If so,
|
|
29
|
-
'verification start' returns status "pending_approval" and KYC begins only
|
|
30
|
-
after 'naive approvals approve <id>'.
|
|
31
|
-
`);
|
|
32
|
-
verificationCmd
|
|
33
|
-
.command("start")
|
|
34
|
-
.description("Start identity verification for a set of members")
|
|
35
|
-
.requiredOption("--members <json>", "JSON array of members")
|
|
36
|
-
.action(async (opts) => {
|
|
37
|
-
let members;
|
|
38
|
-
try {
|
|
39
|
-
members = JSON.parse(opts.members);
|
|
40
|
-
}
|
|
41
|
-
catch {
|
|
42
|
-
console.log(JSON.stringify({ success: false, error: "Invalid JSON for --members" }));
|
|
43
|
-
process.exit(1);
|
|
44
|
-
}
|
|
45
|
-
const resp = await apiRequest("POST", "/v1/verification", { members });
|
|
46
|
-
handleApiError("verification.start", resp);
|
|
47
|
-
if (handlePendingApproval("verification.start", resp))
|
|
48
|
-
return;
|
|
49
|
-
const data = resp.data;
|
|
50
|
-
agentOutput({
|
|
51
|
-
action: "verification.start",
|
|
52
|
-
result: resp.data,
|
|
53
|
-
next_steps: [
|
|
54
|
-
...(data.primary_link
|
|
55
|
-
? [{ command: `Open ${data.primary_link}`, description: "Primary member: complete KYC in browser" }]
|
|
56
|
-
: []),
|
|
57
|
-
{ command: `naive verification status ${data.id}`, description: "Check verification progress" },
|
|
58
|
-
],
|
|
59
|
-
hints: [
|
|
60
|
-
`Verification ${data.id} created with ${data.members.length} member(s)`,
|
|
61
|
-
"Secondary members have been emailed their verification links",
|
|
62
|
-
"Use 'naive verification status' to monitor progress",
|
|
63
|
-
],
|
|
64
|
-
related_commands: ["naive verification list", "naive verification status", "naive verification resend"],
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
verificationCmd
|
|
68
|
-
.command("list")
|
|
69
|
-
.description("List all identity verification requests")
|
|
70
|
-
.action(async () => {
|
|
71
|
-
const resp = await apiRequest("GET", "/v1/verification");
|
|
72
|
-
handleApiError("verification.list", resp);
|
|
73
|
-
const data = resp.data;
|
|
74
|
-
agentOutput({
|
|
75
|
-
action: "verification.list",
|
|
76
|
-
result: resp.data,
|
|
77
|
-
next_steps: data.verifications.length > 0
|
|
78
|
-
? [{ command: `naive verification status ${data.verifications[0].id}`, description: "View details of the latest verification" }]
|
|
79
|
-
: [{ command: "naive verification start --members '<json>'", description: "Start a new verification" }],
|
|
80
|
-
hints: [`Found ${data.verifications.length} verification(s)`],
|
|
81
|
-
related_commands: ["naive verification start", "naive verification status"],
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
verificationCmd
|
|
85
|
-
.command("status <id>")
|
|
86
|
-
.description("Get verification status with all member details")
|
|
87
|
-
.action(async (id) => {
|
|
88
|
-
const resp = await apiRequest("GET", `/v1/verification/${id}`);
|
|
89
|
-
handleApiError("verification.status", resp);
|
|
90
|
-
const data = resp.data;
|
|
91
|
-
const pending = data.members.filter((m) => m.status !== "pass");
|
|
92
|
-
agentOutput({
|
|
93
|
-
action: "verification.status",
|
|
94
|
-
result: resp.data,
|
|
95
|
-
next_steps: [
|
|
96
|
-
...pending.map((m) => ({
|
|
97
|
-
command: `naive verification resend ${m.id}`,
|
|
98
|
-
description: `Resend link to ${m.email} (status: ${m.status})`,
|
|
99
|
-
when: "member hasn't completed verification",
|
|
100
|
-
})),
|
|
101
|
-
],
|
|
102
|
-
hints: [
|
|
103
|
-
`Status: ${data.status}`,
|
|
104
|
-
`Ready for formation: ${data.ready_for_formation}`,
|
|
105
|
-
`${data.members.filter((m) => m.status === "pass").length}/${data.members.length} members verified`,
|
|
106
|
-
],
|
|
107
|
-
related_commands: ["naive verification list", "naive verification resend"],
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
verificationCmd
|
|
111
|
-
.command("complete <memberId>")
|
|
112
|
-
.description("Submit a Footprint validation token for a member")
|
|
113
|
-
.requiredOption("--token <token>", "Footprint validation token from onComplete callback")
|
|
114
|
-
.action(async (memberId, opts) => {
|
|
115
|
-
const resp = await apiRequest("POST", `/v1/verification/members/${memberId}/complete`, {
|
|
116
|
-
validation_token: opts.token,
|
|
117
|
-
});
|
|
118
|
-
handleApiError("verification.complete", resp);
|
|
119
|
-
const data = resp.data;
|
|
120
|
-
agentOutput({
|
|
121
|
-
action: "verification.complete",
|
|
122
|
-
result: resp.data,
|
|
123
|
-
next_steps: [
|
|
124
|
-
{ command: "naive verification list", description: "Check overall verification progress" },
|
|
125
|
-
],
|
|
126
|
-
hints: [`Member ${data.email ?? memberId} status: ${data.status}`],
|
|
127
|
-
related_commands: ["naive verification status", "naive verification list"],
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
verificationCmd
|
|
131
|
-
.command("resend <memberId>")
|
|
132
|
-
.description("Resend/regenerate a KYC link for a member")
|
|
133
|
-
.action(async (memberId) => {
|
|
134
|
-
const resp = await apiRequest("POST", `/v1/verification/members/${memberId}/resend`);
|
|
135
|
-
handleApiError("verification.resend", resp);
|
|
136
|
-
const data = resp.data;
|
|
137
|
-
agentOutput({
|
|
138
|
-
action: "verification.resend",
|
|
139
|
-
result: resp.data,
|
|
140
|
-
next_steps: [
|
|
141
|
-
...(data.link
|
|
142
|
-
? [{ command: `Open ${data.link}`, description: "Member can complete KYC at this link" }]
|
|
143
|
-
: []),
|
|
144
|
-
{ command: "naive verification list", description: "Check verification progress" },
|
|
145
|
-
],
|
|
146
|
-
hints: [
|
|
147
|
-
"New verification link generated and emailed to the member",
|
|
148
|
-
],
|
|
149
|
-
related_commands: ["naive verification status", "naive verification list"],
|
|
150
|
-
});
|
|
151
|
-
});
|
|
152
|
-
//# sourceMappingURL=verification.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/commands/verification.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Command } from "commander";
|
|
2
|
-
/**
|
|
3
|
-
* EMAIL VERIFICATION, FROM THE SURFACE THE ACCOUNT WAS CREATED ON.
|
|
4
|
-
*
|
|
5
|
-
* `naive register` creates an account with a ZERO balance; the 20 free credits
|
|
6
|
-
* are released when the email is verified. Until this command existed the only
|
|
7
|
-
* way to finish that was to leave the terminal, open a mail client, and click a
|
|
8
|
-
* link into the web app — from a tool whose whole premise is that an agent can
|
|
9
|
-
* run it unattended. An agent could create an account it could never fund.
|
|
10
|
-
*
|
|
11
|
-
* `naive verification` is a different thing entirely (Footprint KYC for company
|
|
12
|
-
* founders) and the collision is why this is `verify`, not a subcommand there.
|
|
13
|
-
*
|
|
14
|
-
* The token is the one in the emailed link. `POST /v1/auth/session/verify` takes
|
|
15
|
-
* it unauthenticated and by design — possession of a 32-byte token mailed to the
|
|
16
|
-
* address IS the proof, and requiring a session on top would put the browser
|
|
17
|
-
* back in the loop this command exists to remove.
|
|
18
|
-
*/
|
|
19
|
-
export declare const verifyEmailCmd: Command;
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { Command } from "commander";
|
|
2
|
-
import { apiRequest, handleApiError } from "../client.js";
|
|
3
|
-
import { agentOutput } from "../output.js";
|
|
4
|
-
/**
|
|
5
|
-
* EMAIL VERIFICATION, FROM THE SURFACE THE ACCOUNT WAS CREATED ON.
|
|
6
|
-
*
|
|
7
|
-
* `naive register` creates an account with a ZERO balance; the 20 free credits
|
|
8
|
-
* are released when the email is verified. Until this command existed the only
|
|
9
|
-
* way to finish that was to leave the terminal, open a mail client, and click a
|
|
10
|
-
* link into the web app — from a tool whose whole premise is that an agent can
|
|
11
|
-
* run it unattended. An agent could create an account it could never fund.
|
|
12
|
-
*
|
|
13
|
-
* `naive verification` is a different thing entirely (Footprint KYC for company
|
|
14
|
-
* founders) and the collision is why this is `verify`, not a subcommand there.
|
|
15
|
-
*
|
|
16
|
-
* The token is the one in the emailed link. `POST /v1/auth/session/verify` takes
|
|
17
|
-
* it unauthenticated and by design — possession of a 32-byte token mailed to the
|
|
18
|
-
* address IS the proof, and requiring a session on top would put the browser
|
|
19
|
-
* back in the loop this command exists to remove.
|
|
20
|
-
*/
|
|
21
|
-
export const verifyEmailCmd = new Command("verify-email")
|
|
22
|
-
.description("Verify the account's email and release the 20 free signup credits")
|
|
23
|
-
.argument("[token]", "The token from the verification email (the ?token=... in the link)")
|
|
24
|
-
.option("--resend", "Send the verification email again to the account's own address")
|
|
25
|
-
.addHelpText("after", `
|
|
26
|
-
Examples:
|
|
27
|
-
$ naive verify-email --resend Re-send the email, then read the token out of it
|
|
28
|
-
$ naive verify-email uZMX0So46cVO... Verify and receive the 20 free credits
|
|
29
|
-
|
|
30
|
-
Where the token comes from:
|
|
31
|
-
The verification email contains a link ending in ?token=<token>. Pass that
|
|
32
|
-
value. The whole link also works — the token is extracted from it.
|
|
33
|
-
|
|
34
|
-
Why this matters:
|
|
35
|
-
A new account starts at 0 credits and every billable call is refused with
|
|
36
|
-
insufficient_credits until the email is verified. This is the step that
|
|
37
|
-
turns a registered account into a usable one.
|
|
38
|
-
|
|
39
|
-
Notes:
|
|
40
|
-
- The token is single-use and expires 24 hours after it is sent.
|
|
41
|
-
- --resend replaces any previous token, so use the newest email.
|
|
42
|
-
- --resend always goes to the account owner's own address; it cannot be
|
|
43
|
-
pointed at a different inbox.
|
|
44
|
-
`)
|
|
45
|
-
.action(async (token, opts) => {
|
|
46
|
-
if (opts.resend) {
|
|
47
|
-
const resp = await apiRequest("POST", "/v1/auth/resend-verification", {});
|
|
48
|
-
handleApiError("verify-email --resend", resp);
|
|
49
|
-
const data = resp.data;
|
|
50
|
-
agentOutput({
|
|
51
|
-
action: "verify-email --resend",
|
|
52
|
-
result: data,
|
|
53
|
-
next_steps: data.already_verified
|
|
54
|
-
? [{ command: "naive status", description: "Confirm the credit balance" }]
|
|
55
|
-
: [
|
|
56
|
-
{
|
|
57
|
-
command: "naive verify-email <token>",
|
|
58
|
-
description: `Open the email at ${data.email ?? "the account address"} and pass the token from the link`,
|
|
59
|
-
},
|
|
60
|
-
],
|
|
61
|
-
hints: [
|
|
62
|
-
data.already_verified
|
|
63
|
-
? "This account is already verified; the signup credits have been granted."
|
|
64
|
-
: "Check the inbox for a link ending in ?token=<token> and pass that token to 'naive verify-email'.",
|
|
65
|
-
],
|
|
66
|
-
});
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
if (!token) {
|
|
70
|
-
// A bare `naive verify` is the most likely way someone arrives here, so it
|
|
71
|
-
// answers with the route forward rather than a usage error.
|
|
72
|
-
agentOutput({
|
|
73
|
-
action: "verify-email",
|
|
74
|
-
result: { error: "missing_token", detail: "A verification token is required." },
|
|
75
|
-
next_steps: [
|
|
76
|
-
{ command: "naive verify-email --resend", description: "Send the verification email again" },
|
|
77
|
-
{ command: "naive verify-email <token>", description: "Verify with the token from the email link" },
|
|
78
|
-
],
|
|
79
|
-
hints: [
|
|
80
|
-
"The token is the ?token=... value in the verification email. If the email never arrived, run 'naive verify-email --resend' first.",
|
|
81
|
-
],
|
|
82
|
-
});
|
|
83
|
-
process.exitCode = 1;
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
// Accept a pasted URL as well as a bare token. People copy the link, not the
|
|
87
|
-
// query parameter, and failing them for it would be a refusal over
|
|
88
|
-
// formatting.
|
|
89
|
-
const extracted = token.includes("token=")
|
|
90
|
-
? (token.split("token=")[1] ?? "").split("&")[0] ?? token
|
|
91
|
-
: token;
|
|
92
|
-
const resp = await apiRequest("POST", "/v1/auth/session/verify", { token: extracted.trim() });
|
|
93
|
-
handleApiError("verify-email", resp);
|
|
94
|
-
const data = resp.data;
|
|
95
|
-
agentOutput({
|
|
96
|
-
action: "verify-email",
|
|
97
|
-
result: {
|
|
98
|
-
verified: data.ok === true,
|
|
99
|
-
credits_granted: data.credits_granted ?? 0,
|
|
100
|
-
message: data.message,
|
|
101
|
-
},
|
|
102
|
-
next_steps: [
|
|
103
|
-
{ command: "naive status", description: "Confirm the balance and account state" },
|
|
104
|
-
{ command: "naive billing topup", description: "Buy more credits once the free ones are spent" },
|
|
105
|
-
],
|
|
106
|
-
hints: [
|
|
107
|
-
`Email verified. ${data.credits_granted ?? 20} free credits are now on the account and billable calls will succeed.`,
|
|
108
|
-
],
|
|
109
|
-
help_markdown: `### Email Verified\n\n**${data.credits_granted ?? 20} free credits** have been granted.\n\nBefore this, every billable call was refused with \`insufficient_credits\` — a new account starts at 0 on purpose. Run \`naive status\` to see the balance.`,
|
|
110
|
-
});
|
|
111
|
-
});
|
|
112
|
-
//# sourceMappingURL=verify-email.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verify-email.js","sourceRoot":"","sources":["../../src/commands/verify-email.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/video.d.ts
DELETED