@usenaive-sdk/cli 0.4.3 → 0.5.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.d.ts CHANGED
@@ -4,6 +4,7 @@ export declare function activeUserId(): string | undefined;
4
4
  export declare function apiRequest(method: string, rawPath: string, body?: Record<string, unknown>, opts?: {
5
5
  noAuth?: boolean;
6
6
  userId?: string;
7
+ headers?: Record<string, string>;
7
8
  }): Promise<{
8
9
  status: number;
9
10
  data: unknown;
package/dist/client.js CHANGED
@@ -35,6 +35,7 @@ export async function apiRequest(method, rawPath, body, opts) {
35
35
  const config = loadConfig();
36
36
  const headers = {
37
37
  "Content-Type": "application/json",
38
+ ...(opts?.headers ?? {}),
38
39
  };
39
40
  let path = rawPath;
40
41
  if (!opts?.noAuth) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
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,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE1G,SAAS,eAAe,CAAC,IAAY,EAAE,OAA2B;IAChE,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC,CAAC,mDAAmD;IAC9E,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,sBAAsB;IACtE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC7C,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IACjD,OAAO,aAAa,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAc,EACd,OAAe,EACf,IAA8B,EAC9B,IAA8E;IAE9E,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;KACzB,CAAC;IAEF,IAAI,IAAI,GAAG,OAAO,CAAC;IACnB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,SAAS,EAAE,EAAE,CAAC;QACnD,wEAAwE;QACxE,sDAAsD;QACtD,MAAM,OAAO,GAAG,IAAI,EAAE,MAAM,IAAI,YAAY,EAAE,CAAC;QAC/C,IAAI,OAAO;YAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC;QAClD,4EAA4E;QAC5E,iEAAiE;QACjE,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC;IAExC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC5B,MAAM;QACN,OAAO;QACP,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;KAC5C,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,IAAuC;IACpF,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACvB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAc,EACd,IAAuC;IAEvC,MAAM,CAAC,GAAG,IAAI,CAAC,IAMd,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,MAAM,KAAK,kBAAkB,EAAE,CAAC;QAC5D,WAAW,CAAC;YACV,MAAM;YACN,MAAM,EAAE,IAAI,CAAC,IAAI;YACjB,UAAU,EAAE;gBACV;oBACE,OAAO,EAAE,2BAA2B,CAAC,CAAC,WAAW,IAAI,eAAe,EAAE;oBACtE,WAAW,EAAE,gDAAgD;iBAC9D;gBACD;oBACE,OAAO,EAAE,uBAAuB,CAAC,CAAC,WAAW,IAAI,eAAe,EAAE;oBAClE,WAAW,EAAE,sCAAsC;iBACpD;aACF;YACD,KAAK,EAAE;gBACL,CAAC,CAAC,OAAO,IAAI,yDAAyD;gBACtE,qDAAqD;aACtD;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const browserCmd: Command;
@@ -0,0 +1,351 @@
1
+ import { Command } from "commander";
2
+ import { createHash } from "node:crypto";
3
+ import { apiRequest, handleApiError, handlePendingApproval, activeUserId } from "../client.js";
4
+ import { agentOutput } from "../output.js";
5
+ /**
6
+ * Browser is a per-tenant-user primitive: routes live under /v1/users/:id/browser. Use the
7
+ * active subject user (from `naive use` / --user) or the "default" sentinel, which the API
8
+ * resolves to the company's default tenant_user.
9
+ */
10
+ function browserBase() {
11
+ return `/v1/users/${activeUserId() ?? "default"}/browser`;
12
+ }
13
+ /**
14
+ * Browser primitive CLI (Phase 2A, Tier A). Mirrors `commands/video.ts` + the
15
+ * AgentOutput shape: every action prints { success, action, result, next_steps, hints }.
16
+ *
17
+ * act/navigate carry a STABLE Idempotency-Key (a hash of session_id+action+instruction,
18
+ * NOT Date.now()) so a retried logical step dedupes against the per-process API cache
19
+ * rather than double-submitting a form / double-billing.
20
+ */
21
+ /** Deterministic per-logical-action idempotency key. */
22
+ function stableKey(parts) {
23
+ return `br_${createHash("sha256").update(parts.join("\0")).digest("hex").slice(0, 32)}`;
24
+ }
25
+ export const browserCmd = new Command("browser")
26
+ .description("Drive a live cloud browser session step-by-step (navigate, act, extract)")
27
+ .addHelpText("after", `
28
+ Subcommands:
29
+ naive browser session create Open a live browser session (returns session_id)
30
+ naive browser session status <id> Check a session's status (safe view)
31
+ naive browser session close <id> Close a session and release the browser
32
+ naive browser navigate <id> <url> Navigate the session to a URL
33
+ naive browser act <id> <instruction> Perform a natural-language action (click/fill/etc)
34
+ naive browser extract <id> <instruction> Extract structured data from the current page
35
+ naive browser observe <id> <instruction> List candidate actions/elements on the page
36
+ naive browser screenshot <id> Capture the page (short-lived signed URL)
37
+ naive browser signup <service> <url> Autonomously sign up (generates + vaults a password)
38
+ naive browser login <service> <url> Autonomously log in using the vaulted credential
39
+ naive browser context save <id> Persist a completed human login as a saved context
40
+
41
+ Examples:
42
+ $ naive browser session create --allowed-domains example.com --timeout 15
43
+ $ naive browser navigate <session_id> https://example.com
44
+ $ naive browser act <session_id> "click the search button"
45
+ $ naive browser extract <session_id> "the list of product names and prices"
46
+ $ naive browser session close <session_id>
47
+ $ naive browser signup figma.com https://www.figma.com/signup
48
+ $ naive browser login figma.com https://www.figma.com/login
49
+
50
+ Cost:
51
+ - Open session: 0 credits (a time floor is charged at close)
52
+ - navigate: 2 · act: 5 · extract: 3 · observe: 1 · screenshot: 1 · signup: 15 · login: 10 credits
53
+ - Always close sessions when done — idle sessions still bill a time floor.
54
+
55
+ Safety:
56
+ - Sessions MUST be domain-scoped: pass --allowed-domains (default-deny) or --allowed-domains '*'
57
+ to browse unrestricted (not recommended). SSRF-guarded either way.
58
+ - Write/destructive act() instructions are rejected unless --allow-writes was set at create.
59
+ - Never put passwords or secrets in an act/extract instruction.
60
+ `);
61
+ // ── session create | status | close ─────────────────────────────────────
62
+ const sessionCmd = new Command("session").description("Manage browser sessions");
63
+ sessionCmd
64
+ .command("create")
65
+ .description("Open a live browser session (charges 0 credits)")
66
+ .option("--timeout <minutes>", "Hard session TTL in minutes (default 15, max 30)")
67
+ .option("--allowed-domains <list>", "REQUIRED. Comma-separated domain allowlist (default-deny). Use '*' to browse unrestricted (not recommended)")
68
+ .option("--allow-writes", "Permit write/destructive act() instructions (default off)")
69
+ .option("--context-name <name>", "Reopen a SAVED LOGIN by name (opens already logged-in; requires a grant)")
70
+ .option("--human-login", "Open a human first-login session (agents are locked out until save-login)")
71
+ .option("--allow-extract", "On a saved-login session, permit extract/observe/screenshot (default off)")
72
+ .option("--proxy", "Route egress through a residential proxy (requires --allowed-domains; not allowed with context/login)")
73
+ .action(async (opts) => {
74
+ const body = {};
75
+ if (opts.timeout)
76
+ body.timeout_minutes = parseInt(opts.timeout, 10);
77
+ if (opts.allowedDomains) {
78
+ body.allowed_domains = String(opts.allowedDomains)
79
+ .split(",")
80
+ .map((d) => d.trim())
81
+ .filter(Boolean);
82
+ }
83
+ if (opts.allowWrites)
84
+ body.allow_writes = true;
85
+ if (opts.contextName)
86
+ body.context_name = opts.contextName;
87
+ if (opts.humanLogin)
88
+ body.human_login = true;
89
+ if (opts.allowExtract)
90
+ body.allow_extract = true;
91
+ if (opts.proxy)
92
+ body.proxy = true;
93
+ const resp = await apiRequest("POST", `${browserBase()}/sessions`, body);
94
+ handleApiError("browser.session.create", resp);
95
+ const data = resp.data;
96
+ agentOutput({
97
+ action: "browser.session.create",
98
+ result: resp.data,
99
+ next_steps: [
100
+ { command: `naive browser navigate ${data.session_id} https://example.com`, description: "Navigate the session to a URL" },
101
+ { command: `naive browser act ${data.session_id} "click the login button"`, description: "Perform an action" },
102
+ { command: `naive browser session close ${data.session_id}`, description: "Close the session when done" },
103
+ ],
104
+ hints: [
105
+ "Opening a session costs 0 credits; a time floor is charged at close.",
106
+ "Always close sessions when finished — idle sessions still bill the vendor browser-hour.",
107
+ ],
108
+ related_commands: ["naive browser navigate", "naive browser act", "naive browser session status"],
109
+ });
110
+ });
111
+ sessionCmd
112
+ .command("status <session_id>")
113
+ .description("Check a browser session's status (safe view — no internal URLs)")
114
+ .action(async (sessionId) => {
115
+ const resp = await apiRequest("GET", `${browserBase()}/sessions/${sessionId}`);
116
+ handleApiError("browser.session.status", resp);
117
+ const data = resp.data;
118
+ agentOutput({
119
+ action: "browser.session.status",
120
+ result: resp.data,
121
+ next_steps: [
122
+ ...(data.status === "active"
123
+ ? [{ command: `naive browser act ${sessionId} "your instruction"`, description: "Drive the session" }]
124
+ : []),
125
+ { command: `naive browser session close ${sessionId}`, description: "Close the session" },
126
+ ],
127
+ hints: [`Session status: ${data.status}`],
128
+ related_commands: ["naive browser navigate", "naive browser act", "naive browser extract"],
129
+ });
130
+ });
131
+ sessionCmd
132
+ .command("close <session_id>")
133
+ .description("Close a browser session and release the browser (idempotent)")
134
+ .action(async (sessionId) => {
135
+ const resp = await apiRequest("DELETE", `${browserBase()}/sessions/${sessionId}`);
136
+ handleApiError("browser.session.close", resp);
137
+ agentOutput({
138
+ action: "browser.session.close",
139
+ result: resp.data,
140
+ next_steps: [
141
+ { command: "naive browser session create", description: "Open a new session" },
142
+ ],
143
+ hints: [
144
+ "Session closed. A time-floor top-up may have been charged if usage was below the minimum.",
145
+ "Close is idempotent — calling it again on a closed session is safe.",
146
+ ],
147
+ related_commands: ["naive browser session create"],
148
+ });
149
+ });
150
+ browserCmd.addCommand(sessionCmd);
151
+ // ── navigate ─────────────────────────────────────────────────────────────
152
+ browserCmd
153
+ .command("navigate <session_id> <url>")
154
+ .description("Navigate the session to a URL (2 credits)")
155
+ .action(async (sessionId, url) => {
156
+ const resp = await apiRequest("POST", `${browserBase()}/sessions/${sessionId}/navigate`, { url }, {
157
+ headers: { "Idempotency-Key": stableKey([sessionId, "navigate", url]) },
158
+ });
159
+ handleApiError("browser.navigate", resp);
160
+ agentOutput({
161
+ action: "browser.navigate",
162
+ result: resp.data,
163
+ next_steps: [
164
+ { command: `naive browser extract ${sessionId} "the main content"`, description: "Extract data from the page" },
165
+ { command: `naive browser act ${sessionId} "click the first result"`, description: "Act on the page" },
166
+ ],
167
+ hints: ["Navigation enforces the session's domain allowlist and an SSRF denylist."],
168
+ related_commands: ["naive browser act", "naive browser extract"],
169
+ });
170
+ });
171
+ // ── act ──────────────────────────────────────────────────────────────────
172
+ browserCmd
173
+ .command("act <session_id> <instruction>")
174
+ .description("Perform a natural-language action in the session (5 credits)")
175
+ .action(async (sessionId, instruction) => {
176
+ const resp = await apiRequest("POST", `${browserBase()}/sessions/${sessionId}/act`, { instruction }, {
177
+ headers: { "Idempotency-Key": stableKey([sessionId, "act", instruction]) },
178
+ });
179
+ handleApiError("browser.act", resp);
180
+ agentOutput({
181
+ action: "browser.act",
182
+ result: resp.data,
183
+ next_steps: [
184
+ { command: `naive browser extract ${sessionId} "the result"`, description: "Read the outcome" },
185
+ { command: `naive browser session close ${sessionId}`, description: "Close when done" },
186
+ ],
187
+ hints: [
188
+ "Write/destructive actions are rejected unless the session was created with --allow-writes.",
189
+ "Never include passwords or secrets in an instruction.",
190
+ ],
191
+ related_commands: ["naive browser navigate", "naive browser extract"],
192
+ });
193
+ });
194
+ // ── extract ────────────────────────────────────────────────────────────────
195
+ browserCmd
196
+ .command("extract <session_id> <instruction>")
197
+ .description("Extract structured data from the current page (3 credits, read-only)")
198
+ .action(async (sessionId, instruction) => {
199
+ const resp = await apiRequest("POST", `${browserBase()}/sessions/${sessionId}/extract`, { instruction });
200
+ handleApiError("browser.extract", resp);
201
+ agentOutput({
202
+ action: "browser.extract",
203
+ result: resp.data,
204
+ next_steps: [
205
+ { command: `naive browser act ${sessionId} "next action"`, description: "Continue driving the session" },
206
+ { command: `naive browser session close ${sessionId}`, description: "Close when done" },
207
+ ],
208
+ hints: ["extract is read-only — it returns structured data from the current page."],
209
+ related_commands: ["naive browser navigate", "naive browser act"],
210
+ });
211
+ });
212
+ // ── observe ──────────────────────────────────────────────────────────────────
213
+ browserCmd
214
+ .command("observe <session_id> <instruction>")
215
+ .description("List candidate actions/elements on the current page (1 credit, read-only)")
216
+ .action(async (sessionId, instruction) => {
217
+ const resp = await apiRequest("POST", `${browserBase()}/sessions/${sessionId}/observe`, { instruction });
218
+ handleApiError("browser.observe", resp);
219
+ agentOutput({
220
+ action: "browser.observe",
221
+ result: resp.data,
222
+ next_steps: [
223
+ { command: `naive browser act ${sessionId} "click the first result"`, description: "Act on a candidate" },
224
+ ],
225
+ hints: [
226
+ "observe is read-only; on a saved-login session it is disabled unless opened with --allow-extract.",
227
+ ],
228
+ related_commands: ["naive browser act", "naive browser extract"],
229
+ });
230
+ });
231
+ // ── screenshot ─────────────────────────────────────────────────────────────
232
+ browserCmd
233
+ .command("screenshot <session_id>")
234
+ .description("Capture a screenshot; returns a short-lived (5-minute) URL (1 credit)")
235
+ .action(async (sessionId) => {
236
+ const resp = await apiRequest("POST", `${browserBase()}/sessions/${sessionId}/screenshot`, {});
237
+ handleApiError("browser.screenshot", resp);
238
+ agentOutput({
239
+ action: "browser.screenshot",
240
+ result: resp.data,
241
+ next_steps: [
242
+ { command: `naive browser session close ${sessionId}`, description: "Close when done" },
243
+ ],
244
+ hints: [
245
+ "The URL expires in 5 minutes — fetch it promptly. On a saved-login session this requires --allow-extract.",
246
+ ],
247
+ related_commands: ["naive browser extract", "naive browser observe"],
248
+ });
249
+ });
250
+ // ── autonomous signup / login ────────────────────────────────────────────────
251
+ browserCmd
252
+ .command("signup <service> <url>")
253
+ .description("Autonomously sign up for a service (generates + vaults a password). May require approval.")
254
+ .option("--allowed-domains <list>", "Override session allowlist (comma-separated; defaults to the url host)")
255
+ .option("--timeout <minutes>", "Hard session TTL in minutes (default 15, max 30)")
256
+ .action(async (service, url, opts) => {
257
+ const body = { service, url };
258
+ if (opts.allowedDomains) {
259
+ body.allowed_domains = String(opts.allowedDomains).split(",").map((d) => d.trim()).filter(Boolean);
260
+ }
261
+ if (opts.timeout)
262
+ body.timeout_minutes = parseInt(opts.timeout, 10);
263
+ const resp = await apiRequest("POST", `${browserBase()}/signup`, body);
264
+ if (handlePendingApproval("browser.signup", resp))
265
+ return;
266
+ handleApiError("browser.signup", resp);
267
+ agentOutput({
268
+ action: "browser.signup",
269
+ result: resp.data,
270
+ next_steps: [
271
+ { command: `naive browser login ${service} ${url}`, description: "Log back in later using the saved credential" },
272
+ { command: `naive vault list`, description: "See the saved credential entry (value masked)" },
273
+ ],
274
+ hints: [
275
+ "A strong password was generated and saved to the user's vault (you never see it).",
276
+ "Re-login anytime with `naive browser login` — it pulls the credential from the vault.",
277
+ ],
278
+ related_commands: ["naive browser login", "naive vault list"],
279
+ });
280
+ });
281
+ browserCmd
282
+ .command("login <service> <url>")
283
+ .description("Autonomously log in to a service using the vault-stored credential")
284
+ .option("--allowed-domains <list>", "Override session allowlist (comma-separated; defaults to the url host)")
285
+ .option("--timeout <minutes>", "Hard session TTL in minutes (default 15, max 30)")
286
+ .action(async (service, url, opts) => {
287
+ const body = { service, url };
288
+ if (opts.allowedDomains) {
289
+ body.allowed_domains = String(opts.allowedDomains).split(",").map((d) => d.trim()).filter(Boolean);
290
+ }
291
+ if (opts.timeout)
292
+ body.timeout_minutes = parseInt(opts.timeout, 10);
293
+ const resp = await apiRequest("POST", `${browserBase()}/login`, body);
294
+ handleApiError("browser.login", resp);
295
+ agentOutput({
296
+ action: "browser.login",
297
+ result: resp.data,
298
+ next_steps: [],
299
+ hints: [
300
+ "Logged in using the credential stored at signup (pulled from the vault server-side).",
301
+ "If this errors with not_found, run `naive browser signup` first.",
302
+ ],
303
+ related_commands: ["naive browser signup"],
304
+ });
305
+ });
306
+ // ── save-login / context ─────────────────────────────────────────────────────
307
+ const contextCmd = new Command("context").description("Manage reusable saved logins");
308
+ contextCmd
309
+ .command("save <session_id>")
310
+ .description("Persist a completed human login into a reusable saved login")
311
+ .action(async (sessionId) => {
312
+ const resp = await apiRequest("POST", `${browserBase()}/sessions/${sessionId}/context`, {});
313
+ handleApiError("browser.context.save", resp);
314
+ agentOutput({
315
+ action: "browser.context.save",
316
+ result: resp.data,
317
+ next_steps: [
318
+ { command: `naive browser session close ${sessionId}`, description: "Close to flush the login into the encrypted context" },
319
+ ],
320
+ hints: [
321
+ "Saving releases the human lock. Close the session to persist the cookies.",
322
+ "Reopen later: naive browser session create --context-name <name>",
323
+ ],
324
+ related_commands: ["naive browser session create"],
325
+ });
326
+ });
327
+ // NOTE: there is intentionally NO agent-facing `context revoke` command. Revoke is an
328
+ // irreversible destroy that affects every grantee of a shared login, so it is a HUMAN-only
329
+ // action on the session-auth surface (use ≠ destroy) — exposed via the dashboard/Studio,
330
+ // not the agent CLI (which authenticates with an agent API key, not a human session).
331
+ contextCmd
332
+ .command("grant <name>")
333
+ .description("HUMAN-ONLY: grant an agent or role access to a saved login (requires a logged-in session)")
334
+ .requiredOption("--type <type>", "Grantee type: 'agent' or 'role'")
335
+ .requiredOption("--id <id>", "Agent UUID (type=agent) or role name (type=role)")
336
+ .action(async (name, opts) => {
337
+ const resp = await apiRequest("POST", `${browserBase()}/contexts/${encodeURIComponent(name)}/grants`, { grantee_type: opts.type, grantee_id: opts.id });
338
+ handleApiError("browser.context.grant", resp);
339
+ agentOutput({
340
+ action: "browser.context.grant",
341
+ result: resp.data,
342
+ next_steps: [],
343
+ hints: [
344
+ "Grant creation is human-only (session auth). An agent API key cannot create grants.",
345
+ "Prefer granting a ROLE (e.g. 'ops') — it survives agent rotation.",
346
+ ],
347
+ related_commands: ["naive browser session create"],
348
+ });
349
+ });
350
+ browserCmd.addCommand(contextCmd);
351
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/commands/browser.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ function userPath(user) {
6
6
  }
7
7
  export const connectionsCmd = new Command("connections")
8
8
  .alias("integrations") // back-compat alias
9
- .description("3rd-party connections (Composio) — connect Gmail, Slack, GitHub, and 1,000+ apps per user");
9
+ .description("3rd-party connections — connect Gmail, Slack, GitHub, and 1,000+ apps per user");
10
10
  connectionsCmd
11
11
  .command("list")
12
12
  .description("List available toolkits + connection status (filtered by the user's AccountKit)")
@@ -1 +1 @@
1
- {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/commands/connections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/commands/connections.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -43,6 +43,7 @@ import { vaultCmd } from "./commands/vault.js";
43
43
  import { logsCmd } from "./commands/logs.js";
44
44
  import { connectionsCmd } from "./commands/connections.js";
45
45
  import { approvalsCmd } from "./commands/approvals.js";
46
+ import { browserCmd } from "./commands/browser.js";
46
47
  function readVersion() {
47
48
  try {
48
49
  const here = dirname(fileURLToPath(import.meta.url));
@@ -94,6 +95,7 @@ Orchestration:
94
95
  Primitives:
95
96
  email Send/receive email via provisioned inboxes
96
97
  search Web search, URL extraction, deep research
98
+ browser Live cloud browser sessions — navigate, act, extract
97
99
  seo SEO tools — keywords, backlinks, competitive intelligence
98
100
  app-data Mobile app data — Google Play, Apple App Store
99
101
  business Business data — Google, Trustpilot, TripAdvisor, Social
@@ -156,6 +158,7 @@ program.addCommand(employeesCmd);
156
158
  program.addCommand(cronCmd);
157
159
  program.addCommand(memoryCmd);
158
160
  program.addCommand(appsCmd);
161
+ program.addCommand(browserCmd);
159
162
  // Multi-tenant v2
160
163
  program.addCommand(useCmd);
161
164
  program.addCommand(usersCmd);
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":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC;IAC/F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC;;;8DAG+C,CAAC;KAC5D,OAAO,CAAC,WAAW,EAAE,CAAC;KACtB,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DvB,CAAC,CAAC;AAEH,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC7B,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC5B,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC9B,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC9B,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC5B,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC9B,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC7B,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC/B,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC/B,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC7B,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC9B,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3B,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC/B,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3B,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC9B,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC7B,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC9B,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC7B,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC7B,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACpC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC5B,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3B,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC7B,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC5B,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC9B,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC5B,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAE/B,kBAAkB;AAClB,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3B,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC7B,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC7B,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC5B,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AAEjC,OAAO,CAAC,KAAK,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@usenaive-sdk/cli",
3
- "version": "0.4.3",
3
+ "version": "0.5.0",
4
4
  "type": "module",
5
5
  "description": "CLI for Naive AI Business Primitives API",
6
6
  "license": "MIT",