@usenaive-sdk/cli 0.12.5 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -6
- package/dist/client.d.ts +48 -0
- package/dist/client.js +199 -27
- package/dist/client.js.map +1 -1
- package/dist/commands/aeo.js +58 -23
- package/dist/commands/aeo.js.map +1 -1
- package/dist/commands/app-data.js +29 -11
- package/dist/commands/app-data.js.map +1 -1
- package/dist/commands/approvals.js +142 -9
- package/dist/commands/approvals.js.map +1 -1
- package/dist/commands/apps.d.ts +7 -0
- package/dist/commands/apps.js +255 -18
- package/dist/commands/apps.js.map +1 -1
- package/dist/commands/audio.d.ts +9 -0
- package/dist/commands/audio.js +391 -0
- package/dist/commands/audio.js.map +1 -0
- package/dist/commands/auth.d.ts +1 -0
- package/dist/commands/auth.js +47 -19
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/billing.js +9 -9
- package/dist/commands/billing.js.map +1 -1
- package/dist/commands/brain.js +813 -54
- package/dist/commands/brain.js.map +1 -1
- package/dist/commands/browser.js +8 -8
- package/dist/commands/browser.js.map +1 -1
- package/dist/commands/business.js +117 -16
- package/dist/commands/business.js.map +1 -1
- package/dist/commands/clone.js +8 -4
- package/dist/commands/clone.js.map +1 -1
- package/dist/commands/companies.d.ts +8 -0
- package/dist/commands/companies.js +137 -47
- package/dist/commands/companies.js.map +1 -1
- package/dist/commands/company-data.d.ts +2 -0
- package/dist/commands/company-data.js +168 -0
- package/dist/commands/company-data.js.map +1 -0
- package/dist/commands/compute.js +295 -18
- package/dist/commands/compute.js.map +1 -1
- package/dist/commands/connections.d.ts +6 -0
- package/dist/commands/connections.js +42 -2
- package/dist/commands/connections.js.map +1 -1
- package/dist/commands/domains.js +63 -19
- package/dist/commands/domains.js.map +1 -1
- package/dist/commands/ecommerce.js +19 -9
- package/dist/commands/ecommerce.js.map +1 -1
- package/dist/commands/email.js +56 -9
- package/dist/commands/email.js.map +1 -1
- package/dist/commands/formation.js +5 -5
- package/dist/commands/formation.js.map +1 -1
- package/dist/commands/identity.js +4 -3
- package/dist/commands/identity.js.map +1 -1
- package/dist/commands/images.js +86 -12
- package/dist/commands/images.js.map +1 -1
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.js +44 -36
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/jobs.js +1 -0
- package/dist/commands/jobs.js.map +1 -1
- package/dist/commands/legacy-auth.d.ts +27 -0
- package/dist/commands/legacy-auth.js +64 -0
- package/dist/commands/legacy-auth.js.map +1 -0
- package/dist/commands/llm.js +14 -1
- package/dist/commands/llm.js.map +1 -1
- package/dist/commands/login.js +2 -0
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.d.ts +7 -0
- package/dist/commands/logout.js +55 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/media.js +3 -3
- package/dist/commands/media.js.map +1 -1
- package/dist/commands/mobile.d.ts +2 -0
- package/dist/commands/mobile.js +42 -1
- package/dist/commands/mobile.js.map +1 -1
- package/dist/commands/payments.js +1 -1
- package/dist/commands/people.d.ts +2 -0
- package/dist/commands/people.js +197 -0
- package/dist/commands/people.js.map +1 -0
- package/dist/commands/phone.js +40 -83
- package/dist/commands/phone.js.map +1 -1
- package/dist/commands/projects.d.ts +13 -0
- package/dist/commands/projects.js +220 -0
- package/dist/commands/projects.js.map +1 -0
- package/dist/commands/register.js +13 -5
- package/dist/commands/register.js.map +1 -1
- package/dist/commands/sandbox.d.ts +2 -0
- package/dist/commands/sandbox.js +558 -0
- package/dist/commands/sandbox.js.map +1 -0
- package/dist/commands/search.js +27 -13
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/seo.js +16 -8
- package/dist/commands/seo.js.map +1 -1
- package/dist/commands/sessions.d.ts +6 -0
- package/dist/commands/sessions.js +109 -0
- package/dist/commands/sessions.js.map +1 -0
- package/dist/commands/social-data.d.ts +2 -0
- package/dist/commands/social-data.js +245 -0
- package/dist/commands/social-data.js.map +1 -0
- package/dist/commands/social.js +9 -7
- package/dist/commands/social.js.map +1 -1
- package/dist/commands/tasks.js +9 -0
- package/dist/commands/tasks.js.map +1 -1
- package/dist/commands/teams.d.ts +69 -0
- package/dist/commands/teams.js +503 -0
- package/dist/commands/teams.js.map +1 -0
- package/dist/commands/up.d.ts +150 -0
- package/dist/commands/up.js +465 -15
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/usage.js +15 -4
- package/dist/commands/usage.js.map +1 -1
- package/dist/commands/use.d.ts +9 -0
- package/dist/commands/use.js +76 -11
- package/dist/commands/use.js.map +1 -1
- package/dist/commands/users.d.ts +8 -0
- package/dist/commands/users.js +28 -9
- package/dist/commands/users.js.map +1 -1
- package/dist/commands/vault.js +31 -1
- package/dist/commands/vault.js.map +1 -1
- package/dist/commands/verification.js +1 -1
- package/dist/commands/verification.js.map +1 -1
- package/dist/commands/video.js +118 -19
- package/dist/commands/video.js.map +1 -1
- package/dist/commands/wallet.js +3 -3
- package/dist/commands/wallet.js.map +1 -1
- package/dist/commands/whoami.js +17 -1
- package/dist/commands/whoami.js.map +1 -1
- package/dist/config.d.ts +16 -1
- package/dist/config.js +15 -1
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +250 -24
- package/dist/index.js.map +1 -1
- package/dist/lib/brain-select.d.ts +193 -0
- package/dist/lib/brain-select.js +403 -0
- package/dist/lib/brain-select.js.map +1 -0
- package/dist/lib/cli-validation.d.ts +12 -0
- package/dist/lib/cli-validation.js +46 -0
- package/dist/lib/cli-validation.js.map +1 -0
- package/dist/lib/deprecation.d.ts +158 -0
- package/dist/lib/deprecation.js +140 -0
- package/dist/lib/deprecation.js.map +1 -0
- package/dist/lib/duration.d.ts +8 -0
- package/dist/lib/duration.js +11 -0
- package/dist/lib/duration.js.map +1 -0
- package/dist/lib/http-response.d.ts +11 -0
- package/dist/lib/http-response.js +96 -0
- package/dist/lib/http-response.js.map +1 -0
- package/dist/lib/pricing.d.ts +132 -0
- package/dist/lib/pricing.js +148 -0
- package/dist/lib/pricing.js.map +1 -0
- package/dist/lib/stream-frames.d.ts +114 -0
- package/dist/lib/stream-frames.js +169 -0
- package/dist/lib/stream-frames.js.map +1 -0
- package/dist/lib/teams-catalog.d.ts +141 -0
- package/dist/lib/teams-catalog.js +765 -0
- package/dist/lib/teams-catalog.js.map +1 -0
- package/dist/lib/unknown-command.d.ts +55 -1
- package/dist/lib/unknown-command.js +113 -0
- package/dist/lib/unknown-command.js.map +1 -1
- package/dist/output.d.ts +127 -5
- package/dist/output.js +189 -12
- package/dist/output.js.map +1 -1
- package/package.json +3 -3
- package/dist/commands/link.d.ts +0 -3
- package/dist/commands/link.js +0 -91
- package/dist/commands/link.js.map +0 -1
package/dist/commands/usage.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
2
|
import { apiRequest, handleApiError } from "../client.js";
|
|
3
3
|
import { agentOutput } from "../output.js";
|
|
4
|
+
import { FIXED_CREDIT_COSTS } from "../lib/pricing.js";
|
|
4
5
|
export const usageCmd = new Command("usage")
|
|
5
6
|
.description("Show credit usage history with transaction details")
|
|
6
7
|
.option("--days <n>", "Number of days to look back (default: 30)", "30")
|
|
@@ -18,6 +19,10 @@ What this does:
|
|
|
18
19
|
- Operation that triggered it (e.g., "image_generation", "email_send")
|
|
19
20
|
- Timestamp
|
|
20
21
|
- Reference ID (for idempotency/audit)
|
|
22
|
+
- provider_usd + margin_multiplier, on charges priced from real provider
|
|
23
|
+
spend (the data primitives), so the amount can be checked rather than
|
|
24
|
+
trusted. provider_usd_basis says whether that figure was measured off the
|
|
25
|
+
run ("actual") or estimated ("projected"). Absent on flat-rate meters.
|
|
21
26
|
|
|
22
27
|
Use this to:
|
|
23
28
|
- Audit what's consuming credits
|
|
@@ -27,16 +32,21 @@ Use this to:
|
|
|
27
32
|
|
|
28
33
|
Credit costs reference:
|
|
29
34
|
Fixed-price operations:
|
|
30
|
-
- Web search:
|
|
31
|
-
- URL read:
|
|
32
|
-
- Email send:
|
|
35
|
+
- Web search: ${FIXED_CREDIT_COSTS.webSearch} credits
|
|
36
|
+
- URL read: ${FIXED_CREDIT_COSTS.urlRead} credits
|
|
37
|
+
- Email send: ${FIXED_CREDIT_COSTS.emailSend} credits
|
|
38
|
+
- Brain query / think: ${FIXED_CREDIT_COSTS.brainQuery} credits
|
|
39
|
+
- Brain document ingest: ${FIXED_CREDIT_COSTS.brainIngestBase} credits + ${FIXED_CREDIT_COSTS.brainIngestPerKb} per KB, capped at ${FIXED_CREDIT_COSTS.brainIngestMaxCredits} credits per document (the ingest response returns the exact \`credits\`)
|
|
40
|
+
- Social publish: ${FIXED_CREDIT_COSTS.socialPost} credits (+${FIXED_CREDIT_COSTS.socialXPost} on X, +${FIXED_CREDIT_COSTS.socialXPostWithLink} if that X post has a link)
|
|
33
41
|
- Stock photo search: free (0 credits)
|
|
34
|
-
- Deep research:
|
|
42
|
+
- Deep research: ${FIXED_CREDIT_COSTS.researchQuick}–${FIXED_CREDIT_COSTS.researchExhaustive} credits (depth-dependent)
|
|
35
43
|
|
|
36
44
|
Dynamic-price operations (model-dependent):
|
|
37
45
|
- LLM tokens: per-token billing based on model (see docs)
|
|
38
46
|
- Image generation: varies (GET /v1/images/pricing to preview)
|
|
39
47
|
- Video generation: varies (GET /v1/video/pricing to preview)
|
|
48
|
+
- People / Company Data / Social Data / Reviews & Listings: 3x the provider
|
|
49
|
+
spend the run really cost, reported per transaction as provider_usd
|
|
40
50
|
`)
|
|
41
51
|
.action(async (opts) => {
|
|
42
52
|
const resp = await apiRequest("GET", `/v1/usage?days=${opts.days}&limit=${opts.limit}`);
|
|
@@ -53,6 +63,7 @@ Credit costs reference:
|
|
|
53
63
|
],
|
|
54
64
|
hints: [
|
|
55
65
|
`Showing ${count} transactions from the last ${opts.days} days`,
|
|
66
|
+
"Rows with provider_usd are priced from real provider spend: credits = provider_usd x margin_multiplier",
|
|
56
67
|
"Async jobs (image/video generation) deduct credits only on completion, not at submission",
|
|
57
68
|
"Failed async jobs do not deduct credits",
|
|
58
69
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/commands/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/commands/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KACzC,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,YAAY,EAAE,2CAA2C,EAAE,IAAI,CAAC;KACvE,MAAM,CAAC,aAAa,EAAE,wDAAwD,EAAE,IAAI,CAAC;KACrF,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;kBA0BN,kBAAkB,CAAC,SAAS;gBAC9B,kBAAkB,CAAC,OAAO;kBACxB,kBAAkB,CAAC,SAAS;2BACnB,kBAAkB,CAAC,UAAU;6BAC3B,kBAAkB,CAAC,eAAe,cAAc,kBAAkB,CAAC,gBAAgB,sBAAsB,kBAAkB,CAAC,qBAAqB;sBACxJ,kBAAkB,CAAC,UAAU,cAAc,kBAAkB,CAAC,WAAW,WAAW,kBAAkB,CAAC,mBAAmB;;qBAE3H,kBAAkB,CAAC,aAAa,IAAI,kBAAkB,CAAC,kBAAkB;;;;;;;;CAQ7F,CAAC;KACC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,kBAAkB,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACxF,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAiE,CAAC;IACpF,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC;IAE7C,WAAW,CAAC;QACV,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,6BAA6B,EAAE;YACvE,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,8BAA8B,EAAE;YAChF,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,qDAAqD,EAAE;SAC9F;QACD,KAAK,EAAE;YACL,WAAW,KAAK,+BAA+B,IAAI,CAAC,IAAI,OAAO;YAC/D,wGAAwG;YACxG,0FAA0F;YAC1F,yCAAyC;SAC1C;QACD,gBAAgB,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC;KACjD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/commands/use.d.ts
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
+
/**
|
|
3
|
+
* `naive use` — pick the CHILD PROJECT every primitive command acts as.
|
|
4
|
+
*
|
|
5
|
+
* `--project` picks the project it lives in, in the same breath, because the
|
|
6
|
+
* two selections are one address: a child project is identified inside a
|
|
7
|
+
* project, and `naive projects use` is the same write without the child. With
|
|
8
|
+
* no project named the organization's default project is used, which is where
|
|
9
|
+
* every child project created before the layer existed already lives.
|
|
10
|
+
*/
|
|
2
11
|
export declare const useCmd: Command;
|
|
3
12
|
export declare const whoamiUserHint: () => string | undefined;
|
package/dist/commands/use.js
CHANGED
|
@@ -1,30 +1,95 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
+
import { apiRequest, handleApiError, activeProjectOverride } from "../client.js";
|
|
2
3
|
import { saveConfig, loadConfig } from "../config.js";
|
|
3
|
-
import { agentOutput } from "../output.js";
|
|
4
|
+
import { agentError, agentOutput } from "../output.js";
|
|
5
|
+
import { isTenantUserRef } from "../lib/cli-validation.js";
|
|
6
|
+
/**
|
|
7
|
+
* `naive use` — pick the CHILD PROJECT every primitive command acts as.
|
|
8
|
+
*
|
|
9
|
+
* `--project` picks the project it lives in, in the same breath, because the
|
|
10
|
+
* two selections are one address: a child project is identified inside a
|
|
11
|
+
* project, and `naive projects use` is the same write without the child. With
|
|
12
|
+
* no project named the organization's default project is used, which is where
|
|
13
|
+
* every child project created before the layer existed already lives.
|
|
14
|
+
*/
|
|
4
15
|
export const useCmd = new Command("use")
|
|
5
|
-
.description("Set the active
|
|
6
|
-
.argument("[user_id]", "
|
|
7
|
-
.option("--clear", "Clear the active
|
|
8
|
-
.
|
|
16
|
+
.description("Set the active child project — every primitive command targets it by default")
|
|
17
|
+
.argument("[user_id]", "Child project id to activate (omit + --clear to reset to the default)")
|
|
18
|
+
.option("--clear", "Clear the active child project (fall back to the api key's default)")
|
|
19
|
+
.option("--project <project_id>", "Also set the active project this child project lives in")
|
|
20
|
+
.action(async (userId, opts) => {
|
|
21
|
+
// `naive use <child> --project <id>` puts the flag AFTER the subcommand, but
|
|
22
|
+
// commander binds it to the identically-named GLOBAL `--project` on the root
|
|
23
|
+
// program, so `opts.project` is undefined and the project was silently
|
|
24
|
+
// dropped — the one invocation the help text advertises did nothing. The
|
|
25
|
+
// global's value is the same string; read it when the local one is absent.
|
|
26
|
+
const projectFlag = opts.project ?? activeProjectOverride();
|
|
9
27
|
if (opts.clear || !userId) {
|
|
10
28
|
saveConfig({ active_user_id: undefined });
|
|
11
29
|
agentOutput({
|
|
12
30
|
action: "use.clear",
|
|
13
31
|
result: { active_user_id: null },
|
|
14
|
-
next_steps: [{ command: "naive cards list", description: "Now operates on the default
|
|
15
|
-
hints: ["Active
|
|
32
|
+
next_steps: [{ command: "naive cards list", description: "Now operates on the default child project" }],
|
|
33
|
+
hints: ["Active child project cleared — commands now target the api key's default."],
|
|
16
34
|
});
|
|
17
35
|
return;
|
|
18
36
|
}
|
|
37
|
+
// Never PERSIST a subject that can never resolve. `active_user_id` is sent as
|
|
38
|
+
// X-Naive-User-Id on every later call, so a malformed id turns one typo into
|
|
39
|
+
// a 404 on every command until the operator finds `naive use --clear`.
|
|
40
|
+
//
|
|
41
|
+
// The check is deliberately SHAPE-ONLY, not `GET /v1/users/:id`. That read is
|
|
42
|
+
// scoped by resolveCompanyReadScope, which answers 404 for an UNSEALED
|
|
43
|
+
// workspace key — and register/login mint exactly that key (routes/auth.ts
|
|
44
|
+
// "Default Key" / "CLI Login Key" carry no active_tenant_user_id). Gating
|
|
45
|
+
// `naive use` on it would refuse the documented first-run flow for the very
|
|
46
|
+
// credential the flow hands out, even though that key may legitimately act as
|
|
47
|
+
// the subject on every data-plane mount.
|
|
48
|
+
if (!isTenantUserRef(userId)) {
|
|
49
|
+
agentError({
|
|
50
|
+
action: "use",
|
|
51
|
+
error: {
|
|
52
|
+
code: "not_found",
|
|
53
|
+
message: "User not found",
|
|
54
|
+
hint: "The user_id does not exist in your workspace.",
|
|
55
|
+
},
|
|
56
|
+
recovery_steps: [
|
|
57
|
+
{ command: "naive users list", description: "List tenant users in this workspace" },
|
|
58
|
+
{ command: "naive use --clear", description: "Fall back to the api key's default user" },
|
|
59
|
+
],
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
// The shape check above runs FIRST, before the project round-trip below, so
|
|
63
|
+
// a refused `naive use` never leaves a newly-persisted active project behind.
|
|
64
|
+
if (projectFlag) {
|
|
65
|
+
// Resolve before persisting, for the same reason `naive projects use`
|
|
66
|
+
// does: a bad id here poisons every later command with a 404 whose cause
|
|
67
|
+
// is invisible.
|
|
68
|
+
const resp = await apiRequest("GET", `/v1/projects/${encodeURIComponent(projectFlag)}`);
|
|
69
|
+
handleApiError("use.project", resp);
|
|
70
|
+
const project = resp.data;
|
|
71
|
+
saveConfig({ active_project_id: project.id, active_project_name: project.name });
|
|
72
|
+
}
|
|
19
73
|
saveConfig({ active_user_id: userId });
|
|
74
|
+
const config = loadConfig();
|
|
20
75
|
agentOutput({
|
|
21
76
|
action: "use",
|
|
22
|
-
result: {
|
|
77
|
+
result: {
|
|
78
|
+
active_user_id: userId,
|
|
79
|
+
active_project_id: config.active_project_id ?? null,
|
|
80
|
+
active_project_name: config.active_project_name ?? null,
|
|
81
|
+
},
|
|
23
82
|
next_steps: [
|
|
24
|
-
{ command: "naive cards list", description: `Now operates on
|
|
25
|
-
{ command: "naive use --clear", description: "Reset to the default
|
|
83
|
+
{ command: "naive cards list", description: `Now operates on child project ${userId}` },
|
|
84
|
+
{ command: "naive use --clear", description: "Reset to the default child project" },
|
|
85
|
+
{ command: "naive projects list", description: "See the projects in this organization" },
|
|
86
|
+
],
|
|
87
|
+
hints: [
|
|
88
|
+
`Active child project set to ${userId}. Override per-command with --user <id>.`,
|
|
89
|
+
config.active_project_id
|
|
90
|
+
? `Acting inside project ${config.active_project_name ?? config.active_project_id}.`
|
|
91
|
+
: "Acting inside your organization's default project.",
|
|
26
92
|
],
|
|
27
|
-
hints: [`Active user set to ${userId}. Override per-command with --user <id>.`],
|
|
28
93
|
});
|
|
29
94
|
});
|
|
30
95
|
export const whoamiUserHint = () => loadConfig().active_user_id;
|
package/dist/commands/use.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../src/commands/use.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../src/commands/use.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/users.d.ts
CHANGED
|
@@ -1,2 +1,10 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
+
/**
|
|
3
|
+
* `naive users` — the CHILD PROJECTS inside the active project.
|
|
4
|
+
*
|
|
5
|
+
* `child project` is the product noun for these rows; `users` is the command,
|
|
6
|
+
* the route and the wire field, all unchanged. The list and every write act
|
|
7
|
+
* inside the active project (`naive projects use`), which with none selected is
|
|
8
|
+
* the organization's default project.
|
|
9
|
+
*/
|
|
2
10
|
export declare const usersCmd: Command;
|
package/dist/commands/users.js
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
2
|
import { apiRequest, handleApiError } from "../client.js";
|
|
3
3
|
import { agentOutput } from "../output.js";
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* `naive users` — the CHILD PROJECTS inside the active project.
|
|
6
|
+
*
|
|
7
|
+
* `child project` is the product noun for these rows; `users` is the command,
|
|
8
|
+
* the route and the wire field, all unchanged. The list and every write act
|
|
9
|
+
* inside the active project (`naive projects use`), which with none selected is
|
|
10
|
+
* the organization's default project.
|
|
11
|
+
*/
|
|
12
|
+
export const usersCmd = new Command("users").description("Manage child projects (tenant users) — the governed end-identities inside the active project");
|
|
5
13
|
usersCmd
|
|
6
14
|
.command("list")
|
|
7
|
-
.description("List
|
|
15
|
+
.description("List the child projects in the active project")
|
|
8
16
|
.action(async () => {
|
|
9
17
|
const resp = await apiRequest("GET", "/v1/users", undefined, { noAuth: false });
|
|
10
18
|
handleApiError("users.list", resp);
|
|
@@ -12,23 +20,34 @@ usersCmd
|
|
|
12
20
|
action: "users.list",
|
|
13
21
|
result: resp.data,
|
|
14
22
|
next_steps: [
|
|
15
|
-
{ command: "naive users create --external-id <id>", description: "Create a new
|
|
23
|
+
{ command: "naive users create --external-id <id>", description: "Create a new child project" },
|
|
16
24
|
{ command: "naive use <user_id>", description: "Set the active user for subsequent commands" },
|
|
17
25
|
],
|
|
18
26
|
});
|
|
19
27
|
});
|
|
20
28
|
usersCmd
|
|
21
29
|
.command("create")
|
|
22
|
-
.description("Create a
|
|
30
|
+
.description("Create a child project in the active project")
|
|
31
|
+
.allowExcessArguments(true)
|
|
23
32
|
.option("--external-id <id>", "Your own stable id for this user")
|
|
24
|
-
|
|
33
|
+
// [email] so bare `--email` (probe truncates the value) does not abort before the API call
|
|
34
|
+
.option("--email [email]", "User email (optional)")
|
|
25
35
|
.option("--label <label>", "Human-friendly label")
|
|
36
|
+
// Variadic so `--display-name Alice Security` keeps both tokens (probe/docs style)
|
|
37
|
+
.option("--display-name <name...>", "Alias for --label (agents/docs often use display-name)")
|
|
26
38
|
.option("--kit <kit_id>", "AccountKit id to assign (defaults to the Default kit)")
|
|
27
39
|
.action(async (opts) => {
|
|
40
|
+
const email = opts.email === true || opts.email === "" || opts.email == null
|
|
41
|
+
? undefined
|
|
42
|
+
: String(opts.email).trim() || undefined;
|
|
43
|
+
const displayName = Array.isArray(opts.displayName)
|
|
44
|
+
? opts.displayName.join(" ").trim()
|
|
45
|
+
: opts.displayName?.trim();
|
|
46
|
+
const label = opts.label ?? displayName;
|
|
28
47
|
const resp = await apiRequest("POST", "/v1/users", {
|
|
29
48
|
external_id: opts.externalId,
|
|
30
|
-
email
|
|
31
|
-
label
|
|
49
|
+
email,
|
|
50
|
+
label,
|
|
32
51
|
account_kit_id: opts.kit,
|
|
33
52
|
});
|
|
34
53
|
handleApiError("users.create", resp);
|
|
@@ -44,7 +63,7 @@ usersCmd
|
|
|
44
63
|
});
|
|
45
64
|
usersCmd
|
|
46
65
|
.command("get")
|
|
47
|
-
.description("Get a
|
|
66
|
+
.description("Get a child project")
|
|
48
67
|
.argument("<user_id>")
|
|
49
68
|
.action(async (userId) => {
|
|
50
69
|
const resp = await apiRequest("GET", `/v1/users/${userId}`);
|
|
@@ -53,7 +72,7 @@ usersCmd
|
|
|
53
72
|
});
|
|
54
73
|
usersCmd
|
|
55
74
|
.command("delete")
|
|
56
|
-
.description("Suspend a
|
|
75
|
+
.description("Suspend a child project")
|
|
57
76
|
.argument("<user_id>")
|
|
58
77
|
.action(async (userId) => {
|
|
59
78
|
const resp = await apiRequest("DELETE", `/v1/users/${userId}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/commands/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/commands/users.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/vault.js
CHANGED
|
@@ -1,16 +1,39 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
2
|
import { apiRequest, handleApiError, activeUserId } from "../client.js";
|
|
3
|
-
import { agentOutput } from "../output.js";
|
|
3
|
+
import { agentError, agentOutput } from "../output.js";
|
|
4
|
+
import { assertTenantUserRef } from "../lib/cli-validation.js";
|
|
4
5
|
/** Resolve the user path segment — explicit --user wins, else active, else "default". */
|
|
5
6
|
function userPath(user) {
|
|
6
7
|
return `/v1/users/${user ?? activeUserId() ?? "default"}`;
|
|
7
8
|
}
|
|
9
|
+
/** Hard client deny for malformed --user (never burn API rate limit on garbage ids). */
|
|
10
|
+
function requireUserRef(action, user) {
|
|
11
|
+
try {
|
|
12
|
+
assertTenantUserRef(user);
|
|
13
|
+
}
|
|
14
|
+
catch (err) {
|
|
15
|
+
const e = err;
|
|
16
|
+
agentError({
|
|
17
|
+
action,
|
|
18
|
+
error: {
|
|
19
|
+
code: e.code ?? "not_found",
|
|
20
|
+
message: e.message || "User not found",
|
|
21
|
+
...(e.hint ? { hint: e.hint } : {}),
|
|
22
|
+
},
|
|
23
|
+
recovery_steps: [
|
|
24
|
+
{ command: "naive users list", description: "List tenant users in this workspace" },
|
|
25
|
+
{ command: "naive status", description: "Check API connectivity and auth status" },
|
|
26
|
+
],
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
8
30
|
export const vaultCmd = new Command("vault").description("Per-user Credential Vault — encrypted key/value storage");
|
|
9
31
|
vaultCmd
|
|
10
32
|
.command("list")
|
|
11
33
|
.description("List vault entries (values masked)")
|
|
12
34
|
.option("--user <id>", "Target a specific tenant user")
|
|
13
35
|
.action(async (opts) => {
|
|
36
|
+
requireUserRef("vault.list", opts.user);
|
|
14
37
|
const resp = await apiRequest("GET", `${userPath(opts.user)}/vault`, undefined, { userId: opts.user });
|
|
15
38
|
handleApiError("vault.list", resp);
|
|
16
39
|
agentOutput({ action: "vault.list", result: resp.data, next_steps: [] });
|
|
@@ -24,6 +47,7 @@ vaultCmd
|
|
|
24
47
|
.option("--kind <kind>", "api_key | password | cookie | token | note | reference", "note")
|
|
25
48
|
.option("--locked", "Lock the entry (cannot be revealed back)")
|
|
26
49
|
.action(async (key, value, opts) => {
|
|
50
|
+
requireUserRef("vault.put", opts.user);
|
|
27
51
|
const resp = await apiRequest("PUT", `${userPath(opts.user)}/vault/${encodeURIComponent(key)}`, {
|
|
28
52
|
value,
|
|
29
53
|
kind: opts.kind,
|
|
@@ -34,10 +58,14 @@ vaultCmd
|
|
|
34
58
|
});
|
|
35
59
|
vaultCmd
|
|
36
60
|
.command("reveal")
|
|
61
|
+
// `get` is what the docs' quickstart and every KV convention reach for;
|
|
62
|
+
// same operation, so it is an alias rather than a refusal.
|
|
63
|
+
.alias("get")
|
|
37
64
|
.description("Reveal a stored value (POST — never in URL)")
|
|
38
65
|
.argument("<key>")
|
|
39
66
|
.option("--user <id>", "Target a specific tenant user")
|
|
40
67
|
.action(async (key, opts) => {
|
|
68
|
+
requireUserRef("vault.reveal", opts.user);
|
|
41
69
|
const resp = await apiRequest("POST", `${userPath(opts.user)}/vault/${encodeURIComponent(key)}/reveal`, undefined, {
|
|
42
70
|
userId: opts.user,
|
|
43
71
|
});
|
|
@@ -50,6 +78,7 @@ vaultCmd
|
|
|
50
78
|
.argument("<key>")
|
|
51
79
|
.option("--user <id>", "Target a specific tenant user")
|
|
52
80
|
.action(async (key, opts) => {
|
|
81
|
+
requireUserRef("vault.delete", opts.user);
|
|
53
82
|
const resp = await apiRequest("DELETE", `${userPath(opts.user)}/vault/${encodeURIComponent(key)}`, undefined, {
|
|
54
83
|
userId: opts.user,
|
|
55
84
|
});
|
|
@@ -63,6 +92,7 @@ vaultCmd
|
|
|
63
92
|
.option("--user <id>", "Target a specific tenant user")
|
|
64
93
|
.option("--regenerate-dek", "Full DEK rotation (re-encrypts the value)")
|
|
65
94
|
.action(async (key, opts) => {
|
|
95
|
+
requireUserRef("vault.rotate", opts.user);
|
|
66
96
|
const path = `${userPath(opts.user)}/vault/${encodeURIComponent(key)}/rotate${opts.regenerateDek ? "?regenerate_dek=true" : ""}`;
|
|
67
97
|
const resp = await apiRequest("POST", path, undefined, { userId: opts.user });
|
|
68
98
|
handleApiError("vault.rotate", resp);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/commands/vault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/commands/vault.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,7 +39,7 @@ verificationCmd
|
|
|
39
39
|
members = JSON.parse(opts.members);
|
|
40
40
|
}
|
|
41
41
|
catch {
|
|
42
|
-
console.
|
|
42
|
+
console.log(JSON.stringify({ success: false, error: "Invalid JSON for --members" }));
|
|
43
43
|
process.exit(1);
|
|
44
44
|
}
|
|
45
45
|
const resp = await apiRequest("POST", "/v1/verification", { members });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/commands/verification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC;KACvD,WAAW,CAAC,wEAAwE,CAAC;KACrF,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;CAyBvB,CAAC,CAAC;AAEH,eAAe;KACZ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,cAAc,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;KAC3D,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/commands/verification.ts"],"names":[],"mappings":"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"}
|