@usenaive-sdk/cli 0.7.0 → 0.10.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/dist/client.js +1 -1
- package/dist/client.js.map +1 -1
- package/dist/commands/compute.d.ts +2 -0
- package/dist/commands/compute.js +221 -0
- package/dist/commands/compute.js.map +1 -0
- package/dist/commands/phone.js +144 -236
- package/dist/commands/phone.js.map +1 -1
- package/dist/commands/queue.d.ts +2 -0
- package/dist/commands/queue.js +121 -0
- package/dist/commands/queue.js.map +1 -0
- package/dist/commands/trading.js +23 -23
- package/dist/commands/trading.js.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/client.js
CHANGED
|
@@ -18,7 +18,7 @@ export function activeUserId() {
|
|
|
18
18
|
* AccountKit — matching the SDK and dashboard. The legacy routes don't run
|
|
19
19
|
* the subject middleware, so without this the header was silently ignored.
|
|
20
20
|
*/
|
|
21
|
-
const PER_USER_PRIMITIVES = new Set(["cards", "trading", "email", "domains", "verification", "formation", "social"]);
|
|
21
|
+
const PER_USER_PRIMITIVES = new Set(["cards", "phone", "trading", "email", "domains", "verification", "formation", "social", "compute", "queue"]);
|
|
22
22
|
function scopePathToUser(path, subject) {
|
|
23
23
|
if (!subject)
|
|
24
24
|
return path; // solo flow (no active user) keeps legacy behavior
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D,8EAA8E;AAC9E,0EAA0E;AAC1E,IAAI,aAAiC,CAAC;AACtC,MAAM,UAAU,qBAAqB,CAAC,MAAe;IACnD,aAAa,GAAG,MAAM,CAAC;AACzB,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,YAAY;IAC1B,OAAO,aAAa,IAAI,UAAU,EAAE,CAAC,cAAc,CAAC;AACtD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { spawnSync } from "node:child_process";
|
|
3
|
+
import { apiRequest, handleApiError, handlePendingApproval } from "../client.js";
|
|
4
|
+
import { agentOutput } from "../output.js";
|
|
5
|
+
export const computeCmd = new Command("compute")
|
|
6
|
+
.description("Compute — run Docker containers, background workers & scheduled jobs on managed cloud compute (ECS/Fargate)")
|
|
7
|
+
.addHelpText("after", `
|
|
8
|
+
Subcommands:
|
|
9
|
+
naive compute list List your workloads
|
|
10
|
+
naive compute create Create a service / job / schedule
|
|
11
|
+
naive compute show <id> Show workload details
|
|
12
|
+
naive compute delete <id> Delete a workload
|
|
13
|
+
naive compute start <id> Wake a scaled-to-zero service
|
|
14
|
+
naive compute stop <id> Scale a service to zero
|
|
15
|
+
naive compute scale <id> <count> Set replica count
|
|
16
|
+
naive compute run <id> Trigger a job/schedule run now
|
|
17
|
+
naive compute runs <id> List runs
|
|
18
|
+
naive compute logs <id> [--run <runId>] Tail CloudWatch logs
|
|
19
|
+
naive compute exec <id> "<cmd>" One-off command (ECS Exec)
|
|
20
|
+
naive compute ssh <id> Interactive shell (ECS Exec/SSM)
|
|
21
|
+
naive compute secret set <id> <KEY> <VAL> Set an encrypted env var
|
|
22
|
+
naive compute secret list <id> List secret keys
|
|
23
|
+
naive compute secret delete <id> <KEY> Delete a secret
|
|
24
|
+
|
|
25
|
+
Types:
|
|
26
|
+
service long-running container (daemon/bot/API), optional public URL, scale-to-zero
|
|
27
|
+
job run-to-completion batch (ETL/scrape/render)
|
|
28
|
+
schedule a job on a cron/rate expression (e.g. 'cron(0 9 * * ? *)' or 'rate(1 hour)')
|
|
29
|
+
|
|
30
|
+
Governance:
|
|
31
|
+
Creating a workload and opening a shell (exec/ssh) are SENSITIVE and may
|
|
32
|
+
require human approval depending on the Account Kit (status "pending_approval").
|
|
33
|
+
|
|
34
|
+
Examples:
|
|
35
|
+
$ naive compute create --name bot --type service --image ghcr.io/me/bot:latest --port 8080
|
|
36
|
+
$ naive compute create --name nightly --type schedule --image me/etl --schedule "cron(0 9 * * ? *)"
|
|
37
|
+
$ naive compute run <id>
|
|
38
|
+
$ naive compute ssh <id>
|
|
39
|
+
`);
|
|
40
|
+
computeCmd
|
|
41
|
+
.command("list", { isDefault: true })
|
|
42
|
+
.description("List your compute workloads")
|
|
43
|
+
.action(async () => {
|
|
44
|
+
const resp = await apiRequest("GET", "/v1/compute");
|
|
45
|
+
handleApiError("compute.list", resp);
|
|
46
|
+
agentOutput({ action: "compute.list", result: resp.data, next_steps: [] });
|
|
47
|
+
});
|
|
48
|
+
computeCmd
|
|
49
|
+
.command("create")
|
|
50
|
+
.description("Create a compute workload")
|
|
51
|
+
.requiredOption("--name <name>", "Workload name")
|
|
52
|
+
.requiredOption("--type <type>", "service | job | schedule")
|
|
53
|
+
.requiredOption("--image <image>", "OCI/Docker image")
|
|
54
|
+
.option("--command <command>", "Container command (space-separated argv)")
|
|
55
|
+
.option("--cpu <cpu>", "Fargate CPU units (256 = 0.25 vCPU)")
|
|
56
|
+
.option("--memory <mb>", "Memory in MB")
|
|
57
|
+
.option("--port <port>", "Container port to expose via the ALB (services)")
|
|
58
|
+
.option("--env <kv...>", "Env vars KEY=VALUE (repeatable)")
|
|
59
|
+
.option("--schedule <expr>", "cron(...) or rate(...) expression (schedules)")
|
|
60
|
+
.action(async (opts) => {
|
|
61
|
+
const env = {};
|
|
62
|
+
for (const kv of opts.env ?? []) {
|
|
63
|
+
const i = String(kv).indexOf("=");
|
|
64
|
+
if (i > 0)
|
|
65
|
+
env[String(kv).slice(0, i)] = String(kv).slice(i + 1);
|
|
66
|
+
}
|
|
67
|
+
const body = {
|
|
68
|
+
name: opts.name,
|
|
69
|
+
type: opts.type,
|
|
70
|
+
image: opts.image,
|
|
71
|
+
command: opts.command ? String(opts.command).split(" ") : undefined,
|
|
72
|
+
cpu: opts.cpu ? Number(opts.cpu) : undefined,
|
|
73
|
+
memory: opts.memory ? Number(opts.memory) : undefined,
|
|
74
|
+
port: opts.port ? Number(opts.port) : undefined,
|
|
75
|
+
env: Object.keys(env).length ? env : undefined,
|
|
76
|
+
schedule_expr: opts.schedule,
|
|
77
|
+
};
|
|
78
|
+
const resp = await apiRequest("POST", "/v1/compute", body);
|
|
79
|
+
if (handlePendingApproval("compute.create", resp))
|
|
80
|
+
return;
|
|
81
|
+
handleApiError("compute.create", resp);
|
|
82
|
+
agentOutput({ action: "compute.create", result: resp.data, next_steps: [] });
|
|
83
|
+
});
|
|
84
|
+
computeCmd
|
|
85
|
+
.command("show <id>")
|
|
86
|
+
.description("Show workload details")
|
|
87
|
+
.action(async (id) => {
|
|
88
|
+
const resp = await apiRequest("GET", `/v1/compute/${id}`);
|
|
89
|
+
handleApiError("compute.show", resp);
|
|
90
|
+
agentOutput({ action: "compute.show", result: resp.data, next_steps: [] });
|
|
91
|
+
});
|
|
92
|
+
computeCmd
|
|
93
|
+
.command("delete <id>")
|
|
94
|
+
.description("Delete a workload")
|
|
95
|
+
.action(async (id) => {
|
|
96
|
+
const resp = await apiRequest("DELETE", `/v1/compute/${id}`);
|
|
97
|
+
handleApiError("compute.delete", resp);
|
|
98
|
+
agentOutput({ action: "compute.delete", result: resp.data, next_steps: [] });
|
|
99
|
+
});
|
|
100
|
+
for (const verb of ["start", "stop"]) {
|
|
101
|
+
computeCmd
|
|
102
|
+
.command(`${verb} <id>`)
|
|
103
|
+
.description(verb === "start" ? "Wake a scaled-to-zero service" : "Scale a service to zero")
|
|
104
|
+
.action(async (id) => {
|
|
105
|
+
const resp = await apiRequest("POST", `/v1/compute/${id}/${verb}`);
|
|
106
|
+
handleApiError(`compute.${verb}`, resp);
|
|
107
|
+
agentOutput({ action: `compute.${verb}`, result: resp.data, next_steps: [] });
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
computeCmd
|
|
111
|
+
.command("scale <id> <count>")
|
|
112
|
+
.description("Set the running replica count")
|
|
113
|
+
.action(async (id, count) => {
|
|
114
|
+
const resp = await apiRequest("POST", `/v1/compute/${id}/scale`, { count: Number(count) });
|
|
115
|
+
handleApiError("compute.scale", resp);
|
|
116
|
+
agentOutput({ action: "compute.scale", result: resp.data, next_steps: [] });
|
|
117
|
+
});
|
|
118
|
+
computeCmd
|
|
119
|
+
.command("run <id>")
|
|
120
|
+
.description("Trigger a job/schedule run now")
|
|
121
|
+
.option("--command <command>", "Override the container command (space-separated)")
|
|
122
|
+
.action(async (id, opts) => {
|
|
123
|
+
const body = opts.command ? { command: String(opts.command).split(" ") } : {};
|
|
124
|
+
const resp = await apiRequest("POST", `/v1/compute/${id}/run`, body);
|
|
125
|
+
handleApiError("compute.run", resp);
|
|
126
|
+
agentOutput({ action: "compute.run", result: resp.data, next_steps: [] });
|
|
127
|
+
});
|
|
128
|
+
computeCmd
|
|
129
|
+
.command("runs <id>")
|
|
130
|
+
.description("List runs for a workload")
|
|
131
|
+
.action(async (id) => {
|
|
132
|
+
const resp = await apiRequest("GET", `/v1/compute/${id}/runs`);
|
|
133
|
+
handleApiError("compute.runs", resp);
|
|
134
|
+
agentOutput({ action: "compute.runs", result: resp.data, next_steps: [] });
|
|
135
|
+
});
|
|
136
|
+
computeCmd
|
|
137
|
+
.command("logs <id>")
|
|
138
|
+
.description("Tail CloudWatch logs")
|
|
139
|
+
.option("--run <runId>", "Logs for a specific run")
|
|
140
|
+
.option("--limit <n>", "Max events", "200")
|
|
141
|
+
.action(async (id, opts) => {
|
|
142
|
+
const path = opts.run
|
|
143
|
+
? `/v1/compute/${id}/runs/${opts.run}/logs?limit=${opts.limit}`
|
|
144
|
+
: `/v1/compute/${id}/logs?limit=${opts.limit}`;
|
|
145
|
+
const resp = await apiRequest("GET", path);
|
|
146
|
+
handleApiError("compute.logs", resp);
|
|
147
|
+
agentOutput({ action: "compute.logs", result: resp.data, next_steps: [] });
|
|
148
|
+
});
|
|
149
|
+
computeCmd
|
|
150
|
+
.command("exec <id> <command>")
|
|
151
|
+
.description("Run a one-off command in a running task (ECS Exec)")
|
|
152
|
+
.action(async (id, command) => {
|
|
153
|
+
const resp = await apiRequest("POST", `/v1/compute/${id}/exec`, { command });
|
|
154
|
+
if (handlePendingApproval("compute.exec", resp))
|
|
155
|
+
return;
|
|
156
|
+
handleApiError("compute.exec", resp);
|
|
157
|
+
agentOutput({ action: "compute.exec", result: resp.data, next_steps: [] });
|
|
158
|
+
});
|
|
159
|
+
computeCmd
|
|
160
|
+
.command("ssh <id>")
|
|
161
|
+
.description("Open an interactive shell into a running task (ECS Exec / SSM)")
|
|
162
|
+
.option("--command <command>", "Shell to launch", "/bin/sh")
|
|
163
|
+
.action(async (id, opts) => {
|
|
164
|
+
const resp = await apiRequest("POST", `/v1/compute/${id}/shell`, { command: opts.command });
|
|
165
|
+
if (handlePendingApproval("compute.ssh", resp))
|
|
166
|
+
return;
|
|
167
|
+
handleApiError("compute.ssh", resp);
|
|
168
|
+
const data = resp.data;
|
|
169
|
+
if (!data.session) {
|
|
170
|
+
agentOutput({ action: "compute.ssh", result: resp.data, next_steps: [] });
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
const region = data.region ?? "us-east-1";
|
|
174
|
+
const sessionJson = JSON.stringify({
|
|
175
|
+
SessionId: data.session.sessionId,
|
|
176
|
+
StreamUrl: data.session.streamUrl,
|
|
177
|
+
TokenValue: data.session.tokenValue,
|
|
178
|
+
});
|
|
179
|
+
// Hand the brokered SSM session to the AWS session-manager-plugin, which
|
|
180
|
+
// owns the WebSocket + interactive TTY. No AWS creds are needed — the
|
|
181
|
+
// streamUrl + tokenValue ARE the short-lived, task-scoped credential.
|
|
182
|
+
const result = spawnSync("session-manager-plugin", [sessionJson, region, "StartSession", "", JSON.stringify({}), `https://ssm.${region}.amazonaws.com`], { stdio: "inherit" });
|
|
183
|
+
if (result.error) {
|
|
184
|
+
agentOutput({
|
|
185
|
+
action: "compute.ssh",
|
|
186
|
+
result: { session: data.session, region },
|
|
187
|
+
next_steps: [],
|
|
188
|
+
hints: [
|
|
189
|
+
"The AWS session-manager-plugin is required for the interactive shell and was not found on PATH.",
|
|
190
|
+
"Install it: https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html",
|
|
191
|
+
"The returned session (streamUrl + tokenValue) can also be consumed by any SSM data-channel client.",
|
|
192
|
+
],
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
const secret = computeCmd.command("secret").description("Manage encrypted env vars for a workload");
|
|
197
|
+
secret
|
|
198
|
+
.command("set <id> <key> <value>")
|
|
199
|
+
.description("Set an encrypted env var")
|
|
200
|
+
.action(async (id, key, value) => {
|
|
201
|
+
const resp = await apiRequest("POST", `/v1/compute/${id}/secrets`, { key, value });
|
|
202
|
+
handleApiError("compute.secret.set", resp);
|
|
203
|
+
agentOutput({ action: "compute.secret.set", result: resp.data, next_steps: [] });
|
|
204
|
+
});
|
|
205
|
+
secret
|
|
206
|
+
.command("list <id>")
|
|
207
|
+
.description("List secret keys")
|
|
208
|
+
.action(async (id) => {
|
|
209
|
+
const resp = await apiRequest("GET", `/v1/compute/${id}/secrets`);
|
|
210
|
+
handleApiError("compute.secret.list", resp);
|
|
211
|
+
agentOutput({ action: "compute.secret.list", result: resp.data, next_steps: [] });
|
|
212
|
+
});
|
|
213
|
+
secret
|
|
214
|
+
.command("delete <id> <key>")
|
|
215
|
+
.description("Delete a secret")
|
|
216
|
+
.action(async (id, key) => {
|
|
217
|
+
const resp = await apiRequest("DELETE", `/v1/compute/${id}/secrets/${encodeURIComponent(key)}`);
|
|
218
|
+
handleApiError("compute.secret.delete", resp);
|
|
219
|
+
agentOutput({ action: "compute.secret.delete", result: resp.data, next_steps: [] });
|
|
220
|
+
});
|
|
221
|
+
//# sourceMappingURL=compute.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compute.js","sourceRoot":"","sources":["../../src/commands/compute.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/phone.js
CHANGED
|
@@ -1,84 +1,90 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
-
import { apiRequest, handleApiError } from "../client.js";
|
|
2
|
+
import { apiRequest, handleApiError, handlePendingApproval } from "../client.js";
|
|
3
3
|
import { agentOutput } from "../output.js";
|
|
4
4
|
export const phoneCmd = new Command("phone")
|
|
5
|
-
.description("Provision
|
|
5
|
+
.description("Provision phone numbers and send/receive SMS (Surge-backed)")
|
|
6
6
|
.addHelpText("after", `
|
|
7
|
+
Subcommands:
|
|
8
|
+
naive phone provision Buy a US number + register the carrier campaign
|
|
9
|
+
naive phone list List phone numbers for your company
|
|
10
|
+
naive phone status Show the carrier-registration pipeline
|
|
11
|
+
naive phone send Send an outbound SMS from a provisioned number
|
|
12
|
+
naive phone messages <id> List received SMS for a phone (newest first)
|
|
13
|
+
naive phone read <id> Read a received SMS in full
|
|
14
|
+
naive phone assign <id> Connect an agent to a phone number
|
|
15
|
+
naive phone unassign <id> <agent_id> Remove an agent connection
|
|
16
|
+
naive phone release <id> Release a number back to the provider (stops billing)
|
|
17
|
+
|
|
7
18
|
Prerequisites:
|
|
8
|
-
Provisioning
|
|
9
|
-
|
|
19
|
+
Provisioning requires a completed LLC formation (numbers are carrier-registered
|
|
20
|
+
against your business). The full chain is:
|
|
10
21
|
1. naive verification start (KYC for company members)
|
|
11
|
-
2. naive formation submit (LLC formation
|
|
22
|
+
2. naive formation submit (LLC formation)
|
|
12
23
|
3. naive phone provision (this command)
|
|
13
|
-
Run \`naive verification list\` or \`naive formation list\` to check current state.
|
|
14
|
-
|
|
15
|
-
Subcommands:
|
|
16
|
-
naive phone provision Buy a US local phone number (voice live immediately; SMS after TCR approval)
|
|
17
|
-
naive phone list List phone numbers for your company
|
|
18
|
-
naive phone status [id] Show provisioning + Trust Hub status for one or all phones
|
|
19
|
-
naive phone send Send an outbound SMS from a provisioned number
|
|
20
|
-
naive phone messages List received SMS for a phone (newest first)
|
|
21
|
-
naive phone read Read full content of one received SMS by id
|
|
22
24
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
3. SMS auto-activates → No customer action needed; we get notified
|
|
29
|
-
when the campaign is approved and flip the
|
|
30
|
-
capability on automatically.
|
|
25
|
+
How SMS gating works:
|
|
26
|
+
Inbound SMS works immediately on provisioning. Outbound SMS is blocked by the
|
|
27
|
+
carrier (10DLC) campaign until it is approved (~1-2 business days) — this
|
|
28
|
+
happens automatically (no customer action). 'naive phone send' returns
|
|
29
|
+
compliance_pending until then; 'naive phone status' shows campaign progress.
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
Governance:
|
|
32
|
+
Provisioning a number and sending SMS are SENSITIVE. Depending on the user's
|
|
33
|
+
Account Kit they may require human approval — the command then returns
|
|
34
|
+
status "pending_approval" and the action runs after 'naive approvals approve <id>'.
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
Examples:
|
|
37
|
+
$ naive phone provision --area-code 415 --label "support line"
|
|
38
|
+
$ naive phone status
|
|
39
|
+
$ naive phone send --from <phone_id> --to +14155551234 --body "Hello"
|
|
40
|
+
$ naive phone messages <phone_id> --limit 50
|
|
38
41
|
`);
|
|
39
42
|
phoneCmd
|
|
40
43
|
.command("provision")
|
|
41
|
-
.description("Buy a US
|
|
44
|
+
.description("Buy a US number and register the carrier (10DLC) campaign")
|
|
45
|
+
.requiredOption("--ein <ein>", "Company EIN / tax id (9 digits, e.g. 12-3456789) — required for carrier registration")
|
|
42
46
|
.option("--area-code <code>", "Preferred US area code (3 digits, e.g. 415)")
|
|
47
|
+
.option("--type <type>", "Number type: local (default) or toll_free")
|
|
43
48
|
.option("--label <label>", "Friendly label for the number")
|
|
44
|
-
.
|
|
45
|
-
Prerequisites:
|
|
46
|
-
Provisioning a phone number requires a completed LLC formation, which itself
|
|
47
|
-
requires KYC verification. The full chain is:
|
|
48
|
-
1. naive verification start (KYC for company members)
|
|
49
|
-
2. naive formation submit (LLC formation via Doola)
|
|
50
|
-
3. naive phone provision (this command)
|
|
51
|
-
Run \`naive verification list\` or \`naive formation list\` to check current state.
|
|
52
|
-
`)
|
|
49
|
+
.option("--agent-id <agentId>", "Connect an agent to the number on creation")
|
|
53
50
|
.action(async (opts) => {
|
|
54
51
|
const body = {};
|
|
52
|
+
if (opts.ein)
|
|
53
|
+
body.ein = opts.ein;
|
|
55
54
|
if (opts.areaCode)
|
|
56
55
|
body.area_code = opts.areaCode;
|
|
56
|
+
if (opts.type)
|
|
57
|
+
body.type = opts.type;
|
|
57
58
|
if (opts.label)
|
|
58
59
|
body.label = opts.label;
|
|
60
|
+
if (opts.agentId)
|
|
61
|
+
body.agent_id = opts.agentId;
|
|
59
62
|
const resp = await apiRequest("POST", "/v1/phone/provision", body);
|
|
60
63
|
handleApiError("phone.provision", resp);
|
|
64
|
+
if (handlePendingApproval("phone.provision", resp))
|
|
65
|
+
return;
|
|
61
66
|
const data = resp.data;
|
|
62
67
|
agentOutput({
|
|
63
68
|
action: "phone.provision",
|
|
64
69
|
result: resp.data,
|
|
65
70
|
next_steps: [
|
|
66
|
-
{ command:
|
|
71
|
+
{ command: "naive phone status", description: "Check carrier campaign progress" },
|
|
67
72
|
{ command: "naive phone list", description: "List all phone numbers" },
|
|
68
73
|
],
|
|
69
74
|
hints: [
|
|
70
|
-
`Number ${data.phone.e164} is
|
|
71
|
-
`Outbound SMS
|
|
72
|
-
"No customer action required during the pending window.",
|
|
75
|
+
data.phone ? `Number ${data.phone.e164} is live for inbound SMS now.` : "Number provisioned.",
|
|
76
|
+
`Outbound SMS unlocks when the campaign is approved (${data.campaign?.eta ?? "~1-2 business days"}) — automatic, no action needed.`,
|
|
73
77
|
],
|
|
74
|
-
related_commands: ["naive phone list", "naive phone
|
|
78
|
+
related_commands: ["naive phone status", "naive phone list", "naive phone send"],
|
|
75
79
|
});
|
|
76
80
|
});
|
|
77
81
|
phoneCmd
|
|
78
82
|
.command("list", { isDefault: true })
|
|
79
83
|
.description("List phone numbers for your company")
|
|
80
|
-
.
|
|
81
|
-
|
|
84
|
+
.option("--agent-id <agentId>", "Filter to numbers connected to a specific agent")
|
|
85
|
+
.action(async (opts) => {
|
|
86
|
+
const query = opts.agentId ? `?agent=${opts.agentId}` : "";
|
|
87
|
+
const resp = await apiRequest("GET", `/v1/phone${query}`);
|
|
82
88
|
handleApiError("phone.list", resp);
|
|
83
89
|
const data = resp.data;
|
|
84
90
|
const count = data.phones?.length ?? 0;
|
|
@@ -86,156 +92,38 @@ phoneCmd
|
|
|
86
92
|
action: "phone.list",
|
|
87
93
|
result: resp.data,
|
|
88
94
|
next_steps: count > 0
|
|
89
|
-
? [{ command:
|
|
95
|
+
? [{ command: "naive phone status", description: "Check carrier campaign + capabilities" }]
|
|
90
96
|
: [{ command: "naive phone provision", description: "Provision a new phone number" }],
|
|
91
97
|
hints: [`${count} phone number${count !== 1 ? "s" : ""} on file`],
|
|
92
|
-
related_commands: ["naive phone provision", "naive phone status"],
|
|
98
|
+
related_commands: ["naive phone provision", "naive phone status", "naive phone send"],
|
|
93
99
|
});
|
|
94
100
|
});
|
|
95
|
-
function formatPipelineStatus(state) {
|
|
96
|
-
// Stage 1 — Customer Profile (the SCP from Sprint 1).
|
|
97
|
-
const profileStage = {
|
|
98
|
-
name: "Customer Profile",
|
|
99
|
-
status: state.status,
|
|
100
|
-
icon: state.status === "profile_approved" ? "OK" : state.status === "profile_rejected" ? "FAIL" : "PENDING",
|
|
101
|
-
detail: state.approved_at
|
|
102
|
-
? `approved ${new Date(state.approved_at).toDateString()}`
|
|
103
|
-
: `last updated ${new Date(state.updated_at).toDateString()}`,
|
|
104
|
-
};
|
|
105
|
-
// Stage 2 — Brand Registration.
|
|
106
|
-
const brand = state.brand;
|
|
107
|
-
const brandStage = {
|
|
108
|
-
name: "Brand Registration",
|
|
109
|
-
status: brand?.status ?? "not_started",
|
|
110
|
-
icon: !brand
|
|
111
|
-
? "WAIT"
|
|
112
|
-
: brand.status === "brand_approved"
|
|
113
|
-
? "OK"
|
|
114
|
-
: brand.status === "brand_rejected"
|
|
115
|
-
? "FAIL"
|
|
116
|
-
: "PENDING",
|
|
117
|
-
detail: !brand
|
|
118
|
-
? "waiting on Customer Profile approval"
|
|
119
|
-
: brand.approved_at
|
|
120
|
-
? `approved ${new Date(brand.approved_at).toDateString()}, trust_score: ${brand.brand_score ?? "n/a"}`
|
|
121
|
-
: `pending${brand.mock ? " (mock)" : ""}`,
|
|
122
|
-
};
|
|
123
|
-
// Stage 3 — Campaign.
|
|
124
|
-
const campaign = state.campaign;
|
|
125
|
-
const campaignStage = {
|
|
126
|
-
name: "Campaign",
|
|
127
|
-
status: campaign?.status ?? "not_started",
|
|
128
|
-
icon: !campaign
|
|
129
|
-
? "WAIT"
|
|
130
|
-
: campaign.status === "campaign_approved"
|
|
131
|
-
? "OK"
|
|
132
|
-
: campaign.status === "campaign_rejected"
|
|
133
|
-
? "FAIL"
|
|
134
|
-
: "PENDING",
|
|
135
|
-
detail: !campaign
|
|
136
|
-
? "waiting on Brand approval"
|
|
137
|
-
: campaign.approved_at
|
|
138
|
-
? `approved ${new Date(campaign.approved_at).toDateString()}`
|
|
139
|
-
: campaign.status === "campaign_rejected" && campaign.errors?.[0]
|
|
140
|
-
? `rejected: ${String(campaign.errors[0].message ?? campaign.errors[0].error_code ?? "see errors")}`
|
|
141
|
-
: `pending${campaign.mock ? " (mock)" : ""} (~7-14 more days)`,
|
|
142
|
-
};
|
|
143
|
-
const phones = (state.phones ?? []).map((p) => {
|
|
144
|
-
const outbound = Boolean(p.capabilities?.sms_outbound ?? p.capabilities?.sms);
|
|
145
|
-
return {
|
|
146
|
-
id: p.id,
|
|
147
|
-
e164: p.e164,
|
|
148
|
-
voice: p.capabilities?.voice ? "active" : "pending",
|
|
149
|
-
inbound_sms: p.capabilities?.sms_inbound ? "active" : "pending",
|
|
150
|
-
outbound_sms: campaign?.status === "campaign_rejected"
|
|
151
|
-
? "rejected"
|
|
152
|
-
: outbound
|
|
153
|
-
? "active"
|
|
154
|
-
: "pending",
|
|
155
|
-
carrier_propagation_complete: p.carrier_propagation_complete,
|
|
156
|
-
};
|
|
157
|
-
});
|
|
158
|
-
return { stages: [profileStage, brandStage, campaignStage], phones };
|
|
159
|
-
}
|
|
160
101
|
phoneCmd
|
|
161
|
-
.command("status
|
|
162
|
-
.description("Show
|
|
163
|
-
.action(async (
|
|
164
|
-
|
|
165
|
-
const phoneResp = await apiRequest("GET", `/v1/phone/${id}`);
|
|
166
|
-
handleApiError("phone.status", phoneResp);
|
|
167
|
-
const phone = phoneResp.data;
|
|
168
|
-
const trusthubResp = await apiRequest("GET", "/v1/phone/trusthub/current");
|
|
169
|
-
// status may legitimately 404 before Trust Hub starts — surface but don't fail.
|
|
170
|
-
const trusthub = trusthubResp.status === 200 ? trusthubResp.data : null;
|
|
171
|
-
const pipeline = trusthub ? formatPipelineStatus(trusthub) : null;
|
|
172
|
-
agentOutput({
|
|
173
|
-
action: "phone.status",
|
|
174
|
-
result: { phone, trusthub, pipeline },
|
|
175
|
-
next_steps: (phone.capabilities?.sms_outbound ?? phone.capabilities?.sms)
|
|
176
|
-
? [{ command: `naive phone send --from ${phone.id} --to <e164> --body "..."`, description: "Send an SMS" }]
|
|
177
|
-
: [{ command: `naive phone status ${phone.id}`, description: "Refresh status" }],
|
|
178
|
-
hints: [
|
|
179
|
-
`Phone ${phone.e164}: voice=${phone.capabilities?.voice ?? false}, inbound_sms=${phone.capabilities?.sms_inbound ?? false}, outbound_sms=${phone.capabilities?.sms_outbound ?? phone.capabilities?.sms ?? false}`,
|
|
180
|
-
trusthub ? `Trust Hub: ${trusthub.status}` : "Trust Hub flow not yet started",
|
|
181
|
-
],
|
|
182
|
-
related_commands: ["naive phone provision", "naive phone list"],
|
|
183
|
-
});
|
|
184
|
-
return;
|
|
185
|
-
}
|
|
186
|
-
const resp = await apiRequest("GET", "/v1/phone/trusthub/current");
|
|
102
|
+
.command("status")
|
|
103
|
+
.description("Show the carrier-registration pipeline (account -> campaign -> numbers)")
|
|
104
|
+
.action(async () => {
|
|
105
|
+
const resp = await apiRequest("GET", "/v1/phone/status");
|
|
187
106
|
handleApiError("phone.status", resp);
|
|
188
|
-
const
|
|
189
|
-
const
|
|
190
|
-
|
|
191
|
-
const hints = [];
|
|
192
|
-
hints.push("Pipeline Status:");
|
|
193
|
-
for (const stage of stages) {
|
|
194
|
-
hints.push(` [${stage.icon}] ${stage.name}: ${stage.status}${stage.detail ? ` — ${stage.detail}` : ""}`);
|
|
195
|
-
}
|
|
196
|
-
if (phones.length > 0) {
|
|
197
|
-
hints.push("");
|
|
198
|
-
hints.push("Phones:");
|
|
199
|
-
for (const p of phones) {
|
|
200
|
-
hints.push(` ${p.e164} (id: ${p.id})`);
|
|
201
|
-
hints.push(` Voice in/out: ${p.voice === "active" ? "active now" : "pending"}`);
|
|
202
|
-
hints.push(` Inbound SMS: ${p.inbound_sms === "active" ? "active now" : "pending"}`);
|
|
203
|
-
hints.push(` Outbound SMS: ${p.outbound_sms === "active"
|
|
204
|
-
? `active${p.carrier_propagation_complete ? " (carrier propagation complete)" : ""} — try naive phone send --from ${p.id} --to <e164> --body "..."`
|
|
205
|
-
: p.outbound_sms === "rejected"
|
|
206
|
-
? "rejected — file support@usenaive.ai"
|
|
207
|
-
: "unlocks when campaign approves"}`);
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
else {
|
|
211
|
-
hints.push("");
|
|
212
|
-
hints.push("No phone numbers provisioned yet. Run `naive phone provision`.");
|
|
213
|
-
}
|
|
214
|
-
const allUnlocked = phones.length > 0 && phones.every((p) => p.outbound_sms === "active");
|
|
215
|
-
const anyRejected = phones.some((p) => p.outbound_sms === "rejected") ||
|
|
216
|
-
stages.some((s) => s.icon === "FAIL");
|
|
217
|
-
const nextSteps = phones.length === 0
|
|
218
|
-
? [{ command: "naive phone provision", description: "Provision your first phone number" }]
|
|
219
|
-
: anyRejected
|
|
220
|
-
? [{ command: "naive phone status", description: "Refresh after support resolves the issue" }]
|
|
221
|
-
: allUnlocked
|
|
222
|
-
? [{
|
|
223
|
-
command: `naive phone send --from ${phones[0].id} --to <e164> --body "Hi"`,
|
|
224
|
-
description: "Send an SMS",
|
|
225
|
-
}]
|
|
226
|
-
: [{ command: "naive phone status", description: "Refresh — no action required from you" }];
|
|
107
|
+
const data = resp.data;
|
|
108
|
+
const approved = data.campaign?.approved ?? false;
|
|
109
|
+
const phones = data.phones ?? [];
|
|
227
110
|
agentOutput({
|
|
228
111
|
action: "phone.status",
|
|
229
|
-
result:
|
|
230
|
-
next_steps:
|
|
231
|
-
|
|
232
|
-
|
|
112
|
+
result: resp.data,
|
|
113
|
+
next_steps: approved && phones.length > 0
|
|
114
|
+
? [{ command: `naive phone send --from ${phones[0].id} --to <e164> --body "Hi"`, description: "Send an SMS" }]
|
|
115
|
+
: [{ command: "naive phone status", description: "Refresh — outbound unlocks automatically when approved" }],
|
|
116
|
+
hints: [
|
|
117
|
+
`Campaign status: ${data.campaign?.status ?? "not_started"}${approved ? " (outbound SMS unlocked)" : " (outbound SMS pending)"}`,
|
|
118
|
+
`${phones.length} number(s) provisioned`,
|
|
119
|
+
],
|
|
120
|
+
related_commands: ["naive phone provision", "naive phone send", "naive phone list"],
|
|
233
121
|
});
|
|
234
122
|
});
|
|
235
123
|
phoneCmd
|
|
236
124
|
.command("send")
|
|
237
125
|
.description("Send an outbound SMS from one of your provisioned numbers")
|
|
238
|
-
.requiredOption("--from <phoneId>", "
|
|
126
|
+
.requiredOption("--from <phoneId>", "Sending phone number id (UUID — see `naive phone list`)")
|
|
239
127
|
.requiredOption("--to <e164>", "Recipient phone number in E.164 format, e.g. +14155551234")
|
|
240
128
|
.requiredOption("--body <text>", "SMS body text")
|
|
241
129
|
.action(async (opts) => {
|
|
@@ -244,43 +132,20 @@ phoneCmd
|
|
|
244
132
|
body: opts.body,
|
|
245
133
|
});
|
|
246
134
|
handleApiError("phone.send", resp);
|
|
247
|
-
const
|
|
135
|
+
const data = resp.data;
|
|
248
136
|
agentOutput({
|
|
249
137
|
action: "phone.send",
|
|
250
|
-
result,
|
|
251
|
-
next_steps: [
|
|
252
|
-
|
|
253
|
-
],
|
|
254
|
-
hints: [
|
|
255
|
-
`Sent SMS to ${result.to} (twilio_sid=${result.twilio_sid}, status=${result.status}).`,
|
|
256
|
-
],
|
|
257
|
-
related_commands: ["naive phone status", "naive phone list"],
|
|
138
|
+
result: resp.data,
|
|
139
|
+
next_steps: [{ command: `naive phone status`, description: "Check phone + campaign status" }],
|
|
140
|
+
hints: [`Sent SMS to ${data.to ?? opts.to} (status=${data.status ?? "queued"}).`],
|
|
141
|
+
related_commands: ["naive phone status", "naive phone messages"],
|
|
258
142
|
});
|
|
259
143
|
});
|
|
260
144
|
phoneCmd
|
|
261
145
|
.command("messages <phoneId>")
|
|
262
146
|
.description("List received SMS messages for a phone (newest first)")
|
|
263
147
|
.option("--limit <n>", "Maximum number of messages to return (default: 20, max: 100)", "20")
|
|
264
|
-
.option("--cursor <cursor>", "Pagination cursor
|
|
265
|
-
.addHelpText("after", `
|
|
266
|
-
Examples:
|
|
267
|
-
$ naive phone messages 550e8400-e29b-41d4-a716-446655440000
|
|
268
|
-
$ naive phone messages <phoneId> --limit 50
|
|
269
|
-
$ naive phone messages <phoneId> --cursor 2026-05-01T00:00:00.000Z
|
|
270
|
-
|
|
271
|
-
What this does:
|
|
272
|
-
Returns received SMS messages for the given phone, ordered by most recent.
|
|
273
|
-
Each message includes:
|
|
274
|
-
- id: message UUID (use with 'naive phone read')
|
|
275
|
-
- from: sender E.164
|
|
276
|
-
- to: your phone's E.164
|
|
277
|
-
- body_preview: first 80 chars of the body
|
|
278
|
-
- num_media: MMS attachment count (0 for plain SMS)
|
|
279
|
-
- received_at: ISO timestamp
|
|
280
|
-
|
|
281
|
-
Use --cursor with the previous response's next_cursor to page older.
|
|
282
|
-
Inbound SMS works immediately on provisioning — no TCR gate.
|
|
283
|
-
`)
|
|
148
|
+
.option("--cursor <cursor>", "Pagination cursor from a previous call")
|
|
284
149
|
.action(async (phoneId, opts) => {
|
|
285
150
|
const params = new URLSearchParams({ limit: opts.limit });
|
|
286
151
|
if (opts.cursor)
|
|
@@ -299,11 +164,9 @@ Inbound SMS works immediately on provisioning — no TCR gate.
|
|
|
299
164
|
...(data.next_cursor
|
|
300
165
|
? [{ command: `naive phone messages ${phoneId} --cursor ${data.next_cursor}`, description: "Load older messages" }]
|
|
301
166
|
: []),
|
|
302
|
-
{ command: `naive phone send --from ${phoneId} --to <e164> --body <text>`, description: "Reply to a message" },
|
|
303
167
|
],
|
|
304
168
|
hints: [
|
|
305
|
-
`${count} message${count !== 1 ? "s" : ""} found${data.next_cursor ? " (more available — use --cursor
|
|
306
|
-
"Use 'naive phone read <id>' to see the full body and any media URLs",
|
|
169
|
+
`${count} message${count !== 1 ? "s" : ""} found${data.next_cursor ? " (more available — use --cursor)" : ""}`,
|
|
307
170
|
],
|
|
308
171
|
related_commands: ["naive phone read", "naive phone send", "naive phone list"],
|
|
309
172
|
});
|
|
@@ -311,23 +174,6 @@ Inbound SMS works immediately on provisioning — no TCR gate.
|
|
|
311
174
|
phoneCmd
|
|
312
175
|
.command("read <messageId>")
|
|
313
176
|
.description("Read the full content of a received SMS by its id")
|
|
314
|
-
.addHelpText("after", `
|
|
315
|
-
Examples:
|
|
316
|
-
$ naive phone read 550e8400-e29b-41d4-a716-446655440000
|
|
317
|
-
|
|
318
|
-
What this does:
|
|
319
|
-
Returns the full message including:
|
|
320
|
-
- from, to, body
|
|
321
|
-
- num_media + media_urls (for MMS attachments)
|
|
322
|
-
- received_at
|
|
323
|
-
- phone_id (the receiving phone)
|
|
324
|
-
- metadata (raw webhook extras, if any)
|
|
325
|
-
|
|
326
|
-
Use this to:
|
|
327
|
-
- Read a full SMS after seeing it in 'naive phone messages'
|
|
328
|
-
- Extract media URLs for MMS processing
|
|
329
|
-
- Reply with 'naive phone send --from <phone_id> --to <from> --body <text>'
|
|
330
|
-
`)
|
|
331
177
|
.action(async (messageId) => {
|
|
332
178
|
const resp = await apiRequest("GET", `/v1/phone/messages/${messageId}`);
|
|
333
179
|
handleApiError("phone.read", resp);
|
|
@@ -336,14 +182,76 @@ Use this to:
|
|
|
336
182
|
action: "phone.read",
|
|
337
183
|
result: resp.data,
|
|
338
184
|
next_steps: [
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
185
|
+
...(data.phone_id
|
|
186
|
+
? [{ command: `naive phone messages ${data.phone_id}`, description: "Back to the inbox list" }]
|
|
187
|
+
: []),
|
|
188
|
+
...(data.phone_id && data.from
|
|
189
|
+
? [{ command: `naive phone send --from ${data.phone_id} --to ${data.from} --body <text>`, description: "Reply to this message" }]
|
|
190
|
+
: []),
|
|
345
191
|
],
|
|
192
|
+
hints: [],
|
|
346
193
|
related_commands: ["naive phone messages", "naive phone send"],
|
|
347
194
|
});
|
|
348
195
|
});
|
|
196
|
+
phoneCmd
|
|
197
|
+
.command("assign <phoneId>")
|
|
198
|
+
.description("Connect an agent to a phone number")
|
|
199
|
+
.requiredOption("--agent-id <agentId>", "Agent UUID to connect")
|
|
200
|
+
.option("--permissions <list>", "Comma-separated permissions (default: send_sms,receive_sms)")
|
|
201
|
+
.action(async (phoneId, opts) => {
|
|
202
|
+
const body = { agent_id: opts.agentId };
|
|
203
|
+
if (opts.permissions)
|
|
204
|
+
body.permissions = opts.permissions.split(",").map((p) => p.trim());
|
|
205
|
+
const resp = await apiRequest("POST", `/v1/phone/${phoneId}/assign`, body);
|
|
206
|
+
handleApiError("phone.assign", resp);
|
|
207
|
+
agentOutput({
|
|
208
|
+
action: "phone.assign",
|
|
209
|
+
result: resp.data,
|
|
210
|
+
next_steps: [{ command: `naive phone assignments ${phoneId}`, description: "View all connected agents" }],
|
|
211
|
+
hints: ["Agent connected to phone number."],
|
|
212
|
+
related_commands: ["naive phone assignments", "naive phone unassign"],
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
phoneCmd
|
|
216
|
+
.command("assignments <phoneId>")
|
|
217
|
+
.description("List agents connected to a phone number")
|
|
218
|
+
.action(async (phoneId) => {
|
|
219
|
+
const resp = await apiRequest("GET", `/v1/phone/${phoneId}/assignments`);
|
|
220
|
+
handleApiError("phone.assignments", resp);
|
|
221
|
+
agentOutput({
|
|
222
|
+
action: "phone.assignments",
|
|
223
|
+
result: resp.data,
|
|
224
|
+
next_steps: [{ command: `naive phone assign ${phoneId} --agent-id <uuid>`, description: "Connect another agent" }],
|
|
225
|
+
hints: [],
|
|
226
|
+
related_commands: ["naive phone assign", "naive phone unassign"],
|
|
227
|
+
});
|
|
228
|
+
});
|
|
229
|
+
phoneCmd
|
|
230
|
+
.command("unassign <phoneId> <agentId>")
|
|
231
|
+
.description("Remove an agent's connection to a phone number")
|
|
232
|
+
.action(async (phoneId, agentId) => {
|
|
233
|
+
const resp = await apiRequest("DELETE", `/v1/phone/${phoneId}/assign/${agentId}`);
|
|
234
|
+
handleApiError("phone.unassign", resp);
|
|
235
|
+
agentOutput({
|
|
236
|
+
action: "phone.unassign",
|
|
237
|
+
result: resp.data,
|
|
238
|
+
next_steps: [{ command: `naive phone assignments ${phoneId}`, description: "View remaining connections" }],
|
|
239
|
+
hints: ["Agent disconnected from phone number."],
|
|
240
|
+
related_commands: ["naive phone assignments", "naive phone assign"],
|
|
241
|
+
});
|
|
242
|
+
});
|
|
243
|
+
phoneCmd
|
|
244
|
+
.command("release <phoneId>")
|
|
245
|
+
.description("Release a number back to the provider and stop billing it (permanent)")
|
|
246
|
+
.action(async (phoneId) => {
|
|
247
|
+
const resp = await apiRequest("DELETE", `/v1/phone/${phoneId}`);
|
|
248
|
+
handleApiError("phone.release", resp);
|
|
249
|
+
agentOutput({
|
|
250
|
+
action: "phone.release",
|
|
251
|
+
result: resp.data,
|
|
252
|
+
next_steps: [{ command: "naive phone list", description: "View remaining numbers" }],
|
|
253
|
+
hints: ["Number released. Monthly rental billing has stopped."],
|
|
254
|
+
related_commands: ["naive phone list", "naive phone provision"],
|
|
255
|
+
});
|
|
256
|
+
});
|
|
349
257
|
//# sourceMappingURL=phone.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phone.js","sourceRoot":"","sources":["../../src/commands/phone.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"phone.js","sourceRoot":"","sources":["../../src/commands/phone.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/commands/queue.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/trading.js
CHANGED
|
@@ -2,13 +2,13 @@ import { Command } from "commander";
|
|
|
2
2
|
import { apiRequest, handleApiError, handlePendingApproval } from "../client.js";
|
|
3
3
|
import { agentOutput } from "../output.js";
|
|
4
4
|
export const tradingCmd = new Command("trading")
|
|
5
|
-
.description("Trading —
|
|
5
|
+
.description("Trading — link a brokerage account via OAuth and trade stocks, options & crypto")
|
|
6
6
|
.addHelpText("after", `
|
|
7
7
|
Subcommands:
|
|
8
|
-
naive trading connect Start the
|
|
9
|
-
naive trading connections List
|
|
10
|
-
naive trading disconnect <env> Forget a stored
|
|
11
|
-
naive trading account Show the connected
|
|
8
|
+
naive trading connect Start the brokerage OAuth flow (returns an authorize URL)
|
|
9
|
+
naive trading connections List linked brokerage environments (paper/live)
|
|
10
|
+
naive trading disconnect <env> Forget a stored brokerage connection
|
|
11
|
+
naive trading account Show the connected brokerage account
|
|
12
12
|
naive trading assets List tradable assets (--asset-class crypto|us_equity|us_option)
|
|
13
13
|
naive trading positions List open positions
|
|
14
14
|
naive trading position <symbol> Show one open position
|
|
@@ -20,7 +20,7 @@ Subcommands:
|
|
|
20
20
|
naive trading quote Latest quote(s) for symbols
|
|
21
21
|
|
|
22
22
|
How it works:
|
|
23
|
-
Naive
|
|
23
|
+
Naive links your brokerage account over OAuth. 'connect' returns an authorize_url —
|
|
24
24
|
open it, approve access, and Naive stores the bearer token. Then trade with
|
|
25
25
|
the same commands across stocks, options, and crypto (symbol decides the
|
|
26
26
|
market: AAPL, BTC/USD, AAPL241213C00250000).
|
|
@@ -41,8 +41,8 @@ Examples:
|
|
|
41
41
|
`);
|
|
42
42
|
tradingCmd
|
|
43
43
|
.command("connect")
|
|
44
|
-
.description("Start the
|
|
45
|
-
.option("--env <env>", "
|
|
44
|
+
.description("Start the brokerage OAuth flow — returns an authorize URL to open")
|
|
45
|
+
.option("--env <env>", "Brokerage environment: paper (default) or live")
|
|
46
46
|
.option("--scope <scope>", "Space-delimited OAuth scopes (default: 'account:write trading data')")
|
|
47
47
|
.action(async (opts) => {
|
|
48
48
|
const resp = await apiRequest("POST", "/v1/trading/connect", {
|
|
@@ -60,7 +60,7 @@ tradingCmd
|
|
|
60
60
|
],
|
|
61
61
|
hints: [
|
|
62
62
|
...(data.disclosure ? [`Disclosure (show to the user before they authorize): ${data.disclosure}`] : []),
|
|
63
|
-
`Open this URL to authorize
|
|
63
|
+
`Open this URL to authorize your brokerage (${data.env ?? "paper"}): ${data.authorize_url ?? ""}`,
|
|
64
64
|
"After approving, Naive stores the token automatically.",
|
|
65
65
|
],
|
|
66
66
|
related_commands: ["naive trading connections", "naive trading account"],
|
|
@@ -68,7 +68,7 @@ tradingCmd
|
|
|
68
68
|
});
|
|
69
69
|
tradingCmd
|
|
70
70
|
.command("connections")
|
|
71
|
-
.description("List
|
|
71
|
+
.description("List linked brokerage environments")
|
|
72
72
|
.action(async () => {
|
|
73
73
|
const resp = await apiRequest("GET", "/v1/trading/connections");
|
|
74
74
|
handleApiError("trading.connections", resp);
|
|
@@ -79,14 +79,14 @@ tradingCmd
|
|
|
79
79
|
result: resp.data,
|
|
80
80
|
next_steps: active > 0
|
|
81
81
|
? [{ command: "naive trading account", description: "Read the connected account" }]
|
|
82
|
-
: [{ command: "naive trading connect --env paper", description: "Connect
|
|
82
|
+
: [{ command: "naive trading connect --env paper", description: "Connect a brokerage account" }],
|
|
83
83
|
hints: [`${active} active connection(s)`],
|
|
84
84
|
related_commands: ["naive trading connect", "naive trading disconnect"],
|
|
85
85
|
});
|
|
86
86
|
});
|
|
87
87
|
tradingCmd
|
|
88
88
|
.command("disconnect <env>")
|
|
89
|
-
.description("Forget a stored
|
|
89
|
+
.description("Forget a stored brokerage connection (paper|live)")
|
|
90
90
|
.action(async (env) => {
|
|
91
91
|
const resp = await apiRequest("DELETE", `/v1/trading/connections/${env}`);
|
|
92
92
|
handleApiError("trading.disconnect", resp);
|
|
@@ -103,8 +103,8 @@ function envQuery(opts) {
|
|
|
103
103
|
}
|
|
104
104
|
tradingCmd
|
|
105
105
|
.command("account")
|
|
106
|
-
.description("Show the connected
|
|
107
|
-
.option("--env <env>", "
|
|
106
|
+
.description("Show the connected brokerage account")
|
|
107
|
+
.option("--env <env>", "Brokerage environment (paper|live) — required if both are connected")
|
|
108
108
|
.action(async (opts) => {
|
|
109
109
|
const resp = await apiRequest("GET", `/v1/trading/account${envQuery(opts)}`);
|
|
110
110
|
handleApiError("trading.account", resp);
|
|
@@ -122,7 +122,7 @@ tradingCmd
|
|
|
122
122
|
tradingCmd
|
|
123
123
|
.command("assets")
|
|
124
124
|
.description("List tradable assets")
|
|
125
|
-
.option("--env <env>", "
|
|
125
|
+
.option("--env <env>", "Brokerage environment (paper|live)")
|
|
126
126
|
.option("--asset-class <class>", "Filter: crypto | us_equity | us_option")
|
|
127
127
|
.option("--status <status>", "Filter by status (e.g. active)")
|
|
128
128
|
.action(async (opts) => {
|
|
@@ -147,7 +147,7 @@ tradingCmd
|
|
|
147
147
|
tradingCmd
|
|
148
148
|
.command("positions")
|
|
149
149
|
.description("List open positions")
|
|
150
|
-
.option("--env <env>", "
|
|
150
|
+
.option("--env <env>", "Brokerage environment (paper|live)")
|
|
151
151
|
.action(async (opts) => {
|
|
152
152
|
const resp = await apiRequest("GET", `/v1/trading/positions${envQuery(opts)}`);
|
|
153
153
|
handleApiError("trading.positions", resp);
|
|
@@ -162,7 +162,7 @@ tradingCmd
|
|
|
162
162
|
tradingCmd
|
|
163
163
|
.command("position <symbol>")
|
|
164
164
|
.description("Show one open position (crypto position symbols are concatenated, e.g. BTCUSD)")
|
|
165
|
-
.option("--env <env>", "
|
|
165
|
+
.option("--env <env>", "Brokerage environment (paper|live)")
|
|
166
166
|
.action(async (symbol, opts) => {
|
|
167
167
|
const resp = await apiRequest("GET", `/v1/trading/positions/${encodeURIComponent(symbol)}${envQuery(opts)}`);
|
|
168
168
|
handleApiError("trading.position", resp);
|
|
@@ -177,7 +177,7 @@ tradingCmd
|
|
|
177
177
|
tradingCmd
|
|
178
178
|
.command("close <symbol>")
|
|
179
179
|
.description("Close (liquidate) a position — SENSITIVE, may require approval")
|
|
180
|
-
.option("--env <env>", "
|
|
180
|
+
.option("--env <env>", "Brokerage environment (paper|live)")
|
|
181
181
|
.option("--qty <qty>", "Quantity to close (default: entire position)")
|
|
182
182
|
.option("--percentage <pct>", "Percentage of the position to close")
|
|
183
183
|
.action(async (symbol, opts) => {
|
|
@@ -204,7 +204,7 @@ tradingCmd
|
|
|
204
204
|
tradingCmd
|
|
205
205
|
.command("orders")
|
|
206
206
|
.description("List orders")
|
|
207
|
-
.option("--env <env>", "
|
|
207
|
+
.option("--env <env>", "Brokerage environment (paper|live)")
|
|
208
208
|
.option("--status <status>", "open | closed | all")
|
|
209
209
|
.option("--limit <limit>", "Max results")
|
|
210
210
|
.action(async (opts) => {
|
|
@@ -231,7 +231,7 @@ tradingCmd
|
|
|
231
231
|
.description("Place an order (stocks, options, crypto) — SENSITIVE, may require approval")
|
|
232
232
|
.requiredOption("--symbol <symbol>", "Asset symbol, e.g. AAPL or BTC/USD")
|
|
233
233
|
.requiredOption("--side <side>", "buy | sell")
|
|
234
|
-
.option("--env <env>", "
|
|
234
|
+
.option("--env <env>", "Brokerage environment (paper|live)")
|
|
235
235
|
.option("--qty <qty>", "Quantity (shares/coins). Use this OR --notional")
|
|
236
236
|
.option("--notional <amount>", "Notional dollar amount. Use this OR --qty")
|
|
237
237
|
.option("--type <type>", "market | limit | stop | stop_limit | trailing_stop (default market)")
|
|
@@ -278,7 +278,7 @@ tradingCmd
|
|
|
278
278
|
tradingCmd
|
|
279
279
|
.command("get-order <order_id>")
|
|
280
280
|
.description("Show one order")
|
|
281
|
-
.option("--env <env>", "
|
|
281
|
+
.option("--env <env>", "Brokerage environment (paper|live)")
|
|
282
282
|
.action(async (orderId, opts) => {
|
|
283
283
|
const resp = await apiRequest("GET", `/v1/trading/orders/${encodeURIComponent(orderId)}${envQuery(opts)}`);
|
|
284
284
|
handleApiError("trading.get-order", resp);
|
|
@@ -293,7 +293,7 @@ tradingCmd
|
|
|
293
293
|
tradingCmd
|
|
294
294
|
.command("cancel <order_id>")
|
|
295
295
|
.description("Cancel an open order — SENSITIVE, may require approval")
|
|
296
|
-
.option("--env <env>", "
|
|
296
|
+
.option("--env <env>", "Brokerage environment (paper|live)")
|
|
297
297
|
.action(async (orderId, opts) => {
|
|
298
298
|
const resp = await apiRequest("DELETE", `/v1/trading/orders/${encodeURIComponent(orderId)}${envQuery(opts)}`);
|
|
299
299
|
handleApiError("trading.cancel", resp);
|
|
@@ -312,7 +312,7 @@ tradingCmd
|
|
|
312
312
|
.description("Latest quote(s) for one or more symbols")
|
|
313
313
|
.requiredOption("--symbols <symbols>", "Comma-separated symbols, e.g. BTC/USD,ETH/USD or AAPL")
|
|
314
314
|
.option("--class <class>", "crypto (default) | us_equity")
|
|
315
|
-
.option("--env <env>", "
|
|
315
|
+
.option("--env <env>", "Brokerage environment (paper|live)")
|
|
316
316
|
.action(async (opts) => {
|
|
317
317
|
const params = new URLSearchParams();
|
|
318
318
|
params.set("symbols", opts.symbols);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trading.js","sourceRoot":"","sources":["../../src/commands/trading.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"trading.js","sourceRoot":"","sources":["../../src/commands/trading.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -30,6 +30,7 @@ import { seoCmd } from "./commands/seo.js";
|
|
|
30
30
|
import { aeoCmd } from "./commands/aeo.js";
|
|
31
31
|
import { ecommerceCmd } from "./commands/ecommerce.js";
|
|
32
32
|
import { cardsCmd } from "./commands/cards.js";
|
|
33
|
+
import { phoneCmd } from "./commands/phone.js";
|
|
33
34
|
import { tradingCmd } from "./commands/trading.js";
|
|
34
35
|
import { ceoCmd } from "./commands/ceo.js";
|
|
35
36
|
import { tasksCmd } from "./commands/tasks.js";
|
|
@@ -38,6 +39,8 @@ import { employeesCmd } from "./commands/employees.js";
|
|
|
38
39
|
import { cronCmd } from "./commands/cron-jobs.js";
|
|
39
40
|
import { memoryCmd } from "./commands/memory.js";
|
|
40
41
|
import { appsCmd } from "./commands/apps.js";
|
|
42
|
+
import { computeCmd } from "./commands/compute.js";
|
|
43
|
+
import { queueCmd } from "./commands/queue.js";
|
|
41
44
|
import { useCmd } from "./commands/use.js";
|
|
42
45
|
import { usersCmd } from "./commands/users.js";
|
|
43
46
|
import { accountKitsCmd } from "./commands/account-kits.js";
|
|
@@ -108,7 +111,7 @@ Primitives:
|
|
|
108
111
|
video AI video generation (fal.ai)
|
|
109
112
|
social Social media — connect accounts, post, analytics
|
|
110
113
|
cards Virtual cards — Stripe Issuing + Reloadly prepaid
|
|
111
|
-
trading Trading —
|
|
114
|
+
trading Trading — link a brokerage account (OAuth) & trade stocks, options & crypto
|
|
112
115
|
verification Identity verification (KYC) via Footprint
|
|
113
116
|
formation Company formation (LLC incorporation) via Doola
|
|
114
117
|
jobs Monitor async generation/research jobs
|
|
@@ -153,6 +156,7 @@ program.addCommand(videoCmd);
|
|
|
153
156
|
program.addCommand(socialCmd);
|
|
154
157
|
program.addCommand(mediaCmd);
|
|
155
158
|
program.addCommand(cardsCmd);
|
|
159
|
+
program.addCommand(phoneCmd);
|
|
156
160
|
program.addCommand(tradingCmd);
|
|
157
161
|
program.addCommand(verificationCmd);
|
|
158
162
|
program.addCommand(formationCmd);
|
|
@@ -164,6 +168,8 @@ program.addCommand(employeesCmd);
|
|
|
164
168
|
program.addCommand(cronCmd);
|
|
165
169
|
program.addCommand(memoryCmd);
|
|
166
170
|
program.addCommand(appsCmd);
|
|
171
|
+
program.addCommand(computeCmd);
|
|
172
|
+
program.addCommand(queueCmd);
|
|
167
173
|
program.addCommand(browserCmd);
|
|
168
174
|
// Multi-tenant v2
|
|
169
175
|
program.addCommand(useCmd);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|