@usenaive-sdk/cli 0.14.0 → 0.15.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 +51 -3
- package/dist/client.js +6 -1
- package/dist/client.js.map +1 -1
- package/dist/commands/agents.d.ts +2 -0
- package/dist/commands/agents.js +916 -0
- package/dist/commands/agents.js.map +1 -0
- package/dist/commands/billing.js +58 -12
- package/dist/commands/billing.js.map +1 -1
- package/dist/commands/llm.js +22 -3
- package/dist/commands/llm.js.map +1 -1
- package/dist/commands/register.js +17 -5
- package/dist/commands/register.js.map +1 -1
- package/dist/commands/sandbox.js +15 -15
- package/dist/commands/sandbox.js.map +1 -1
- package/dist/commands/status.js +34 -2
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/teams.d.ts +1 -1
- package/dist/commands/teams.js +2 -2
- package/dist/commands/up.d.ts +398 -0
- package/dist/commands/up.js +393 -12
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/verify-email.d.ts +19 -0
- package/dist/commands/verify-email.js +130 -0
- package/dist/commands/verify-email.js.map +1 -0
- package/dist/commands/webhooks.d.ts +13 -0
- package/dist/commands/webhooks.js +119 -0
- package/dist/commands/webhooks.js.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/llm-paywall.d.ts +82 -0
- package/dist/lib/llm-paywall.js +231 -0
- package/dist/lib/llm-paywall.js.map +1 -0
- package/dist/output.d.ts +72 -0
- package/dist/output.js +127 -5
- package/dist/output.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE LLM ROUTER REFUSES TRIAL CREDIT — how the CLI says so.
|
|
3
|
+
*
|
|
4
|
+
* ── WHAT CHANGED UPSTREAM ───────────────────────────────────────────────────
|
|
5
|
+
*
|
|
6
|
+
* The signup grant (20 credits, $1.00) is spendable on every primitive this
|
|
7
|
+
* platform has except one: raw model routing. A company earns the router by
|
|
8
|
+
* having paid for something — a subscription, or a credit pack — and never by
|
|
9
|
+
* having been given credit. The API answers an unentitled router call with 402
|
|
10
|
+
* `llm_routing_requires_payment`, the same string again in
|
|
11
|
+
* `details.block_reason`.
|
|
12
|
+
*
|
|
13
|
+
* That is a NEW KIND of refusal for this CLI and it must not be rendered like
|
|
14
|
+
* the old ones:
|
|
15
|
+
*
|
|
16
|
+
* - It is not `insufficient_credits`. The balance may be 20, or 20,000 of
|
|
17
|
+
* comped credit; buying nothing and waiting changes nothing. Telling the
|
|
18
|
+
* caller "you are low on credits" would be false and would send them to
|
|
19
|
+
* `naive usage` to look at a number that is fine.
|
|
20
|
+
* - It is not transient. Every existing 1-exit invites a retry, and an agent
|
|
21
|
+
* with a retry budget will spend all of it here.
|
|
22
|
+
* - It is not the CLI's to resolve. There are exactly two ways out, both of
|
|
23
|
+
* them spend the operator's money, and they differ (recurring vs one-off).
|
|
24
|
+
*
|
|
25
|
+
* ── SO IT IS A DECISION, NOT AN ERROR ───────────────────────────────────────
|
|
26
|
+
*
|
|
27
|
+
* This module turns the 402 into a {@link DecisionRequired}: the question in the
|
|
28
|
+
* human's words, the reason the CLI will not answer it, and the ways out as
|
|
29
|
+
* stable ids plus the exact command that takes each. It exits
|
|
30
|
+
* {@link EXIT_DECISION_REQUIRED} (4), not 1, so a harness can route the run to
|
|
31
|
+
* its operator on the exit code alone.
|
|
32
|
+
*
|
|
33
|
+
* At a real interactive terminal it asks. Everywhere else — which is every
|
|
34
|
+
* agent, because this CLI's output mode is opt-in human and machine mode is the
|
|
35
|
+
* default (see the header of output.ts) — it prints the choice and stops. It
|
|
36
|
+
* never picks. An agent that guesses here buys a subscription nobody asked for.
|
|
37
|
+
*
|
|
38
|
+
* ── WHY THE COMMANDS ARE ONLY PRINTED, NEVER RUN ────────────────────────────
|
|
39
|
+
*
|
|
40
|
+
* A chosen option is echoed, not executed, even after a human picked it at the
|
|
41
|
+
* prompt. `naive billing subscribe` and `naive billing topup` open a Stripe
|
|
42
|
+
* checkout; a "y" typed into a prompt that appeared unbidden in the middle of an
|
|
43
|
+
* unrelated `naive llm chat` is not consent to start a payment flow. The human
|
|
44
|
+
* chooses the ROUTE here and takes it themselves, on purpose, in one more
|
|
45
|
+
* keystroke.
|
|
46
|
+
*/
|
|
47
|
+
import { select } from "../prompt.js";
|
|
48
|
+
import { agentDecisionRequired, isInteractive, serverRecoverySteps, } from "../output.js";
|
|
49
|
+
/**
|
|
50
|
+
* The wire token for this refusal. It is BOTH `error.code` and
|
|
51
|
+
* `error.details.block_reason` — the API emits the same string in both places
|
|
52
|
+
* on purpose (platform/billing/src/llm-access.ts), so a consumer that switches
|
|
53
|
+
* on the reason needs no mapping from the code.
|
|
54
|
+
*
|
|
55
|
+
* Matching on either and never on the MESSAGE: prose is the thing most likely
|
|
56
|
+
* to be reworded, and a CLI that string-matches it goes silently generic the
|
|
57
|
+
* first time someone improves the sentence.
|
|
58
|
+
*
|
|
59
|
+
* The code is dedicated rather than a `billing_blocked` variant, and that
|
|
60
|
+
* distinction is the whole point: `billing_blocked` and `insufficient_credits`
|
|
61
|
+
* both mean "get more credit", which here is the one action that provably
|
|
62
|
+
* cannot work. Sharing a code would have made the two indistinguishable to
|
|
63
|
+
* exactly the population that has to distinguish them.
|
|
64
|
+
*/
|
|
65
|
+
export const LLM_ROUTING_ERROR_CODE = "llm_routing_requires_payment";
|
|
66
|
+
/** Alias kept because the same string is also the `details.block_reason` value. */
|
|
67
|
+
export const LLM_ROUTING_BLOCK_REASON = LLM_ROUTING_ERROR_CODE;
|
|
68
|
+
/**
|
|
69
|
+
* Is this response the router's paid-account refusal? Returns the parts worth
|
|
70
|
+
* rendering, or null for every other body.
|
|
71
|
+
*
|
|
72
|
+
* `code` OR `block_reason` satisfies it, and `block_reason` is read from BOTH
|
|
73
|
+
* positions, because `NaiveError.toJSON()` emits `details` nested AND spread
|
|
74
|
+
* (platform/kernel/src/errors.ts) — a reader that picks one position is betting
|
|
75
|
+
* on which half gets retired first, and a reader that requires both is broken
|
|
76
|
+
* by whichever goes.
|
|
77
|
+
*/
|
|
78
|
+
export function llmRoutingRefusal(data) {
|
|
79
|
+
if (typeof data !== "object" || data === null)
|
|
80
|
+
return null;
|
|
81
|
+
const err = data.error;
|
|
82
|
+
if (typeof err !== "object" || err === null)
|
|
83
|
+
return null;
|
|
84
|
+
const e = err;
|
|
85
|
+
const details = (typeof e.details === "object" && e.details !== null ? e.details : {});
|
|
86
|
+
const matches = e.code === LLM_ROUTING_ERROR_CODE ||
|
|
87
|
+
e.block_reason === LLM_ROUTING_BLOCK_REASON ||
|
|
88
|
+
details.block_reason === LLM_ROUTING_BLOCK_REASON;
|
|
89
|
+
if (!matches)
|
|
90
|
+
return null;
|
|
91
|
+
const str = (k) => {
|
|
92
|
+
const v = e[k] ?? details[k];
|
|
93
|
+
return typeof v === "string" && v ? v : undefined;
|
|
94
|
+
};
|
|
95
|
+
const rawBalance = typeof e.balance === "number" ? e.balance : details.balance;
|
|
96
|
+
return {
|
|
97
|
+
...(str("code") && { code: str("code") }),
|
|
98
|
+
...(str("message") && { message: str("message") }),
|
|
99
|
+
...(str("hint") && { hint: str("hint") }),
|
|
100
|
+
...(str("docs") && { docs: str("docs") }),
|
|
101
|
+
...(str("balance_note") && { balance_note: str("balance_note") }),
|
|
102
|
+
...(str("credit_kind") && { credit_kind: str("credit_kind") }),
|
|
103
|
+
...(typeof rawBalance === "number" && Number.isFinite(rawBalance) && { balance: rawBalance }),
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* The fallback sentence, used when the server sent no message of its own.
|
|
108
|
+
*
|
|
109
|
+
* It names what trial credit DOES buy. A refusal that only says "no" reads as a
|
|
110
|
+
* paywall on the product; this one is a control on one primitive, and a new
|
|
111
|
+
* account that has just been handed 20 credits deserves to hear that the other
|
|
112
|
+
* twenty-odd primitives still take them.
|
|
113
|
+
*/
|
|
114
|
+
export const LLM_PAYWALL_MESSAGE = "The LLM router requires paid credit. Free signup credits spend on every other primitive — " +
|
|
115
|
+
"email, search, images, brain, runtime — but not on raw model routing.";
|
|
116
|
+
export const LLM_PAYWALL_QUESTION = "The LLM router needs paid credit on this account. Add a subscription, buy credits, or stop here?";
|
|
117
|
+
const LLM_PAYWALL_BECAUSE = "Both ways out spend real money, and they are not the same deal — one is recurring, one is not. " +
|
|
118
|
+
"The CLI will not choose that for you.";
|
|
119
|
+
/** The ways out, in the order a first-time caller should weigh them. */
|
|
120
|
+
export function llmPaywallOptions() {
|
|
121
|
+
return [
|
|
122
|
+
{
|
|
123
|
+
id: "topup",
|
|
124
|
+
label: "Buy credits once — 500 credits for $23",
|
|
125
|
+
command: "naive billing topup --pack medium",
|
|
126
|
+
description: "One-time purchase, no subscription. Unlocks the router permanently.",
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
id: "subscribe",
|
|
130
|
+
label: "Subscribe to Pro — $20/mo, 400 credits every month",
|
|
131
|
+
command: "naive billing subscribe --plan pro",
|
|
132
|
+
description: "Recurring. Unlocks the router and refills the balance monthly.",
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
id: "not_now",
|
|
136
|
+
label: "Neither — do not route this call",
|
|
137
|
+
command: "# nothing to run; the model call did not happen and nothing was charged",
|
|
138
|
+
description: "Every other primitive still works on the credits already on the account.",
|
|
139
|
+
},
|
|
140
|
+
];
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* The `recovery_steps` array. It stays a LIST OF READS, not of purchases: the
|
|
144
|
+
* purchases live in `decision_required.options`, where the envelope is explicit
|
|
145
|
+
* that a human has to choose one. Putting `topup` in both places would let an
|
|
146
|
+
* agent that only reads `recovery_steps` — the habit every other error on this
|
|
147
|
+
* surface teaches — treat "buy something" as a step it is cleared to take.
|
|
148
|
+
*/
|
|
149
|
+
export function llmPaywallRecoverySteps() {
|
|
150
|
+
return [
|
|
151
|
+
{
|
|
152
|
+
command: "# ask the operator: subscribe, buy credits, or drop the LLM call?",
|
|
153
|
+
description: "This refusal needs a human decision — see decision_required.options",
|
|
154
|
+
},
|
|
155
|
+
{ command: "naive billing packs", description: "Show the credit packs and their prices" },
|
|
156
|
+
{ command: "naive billing plans", description: "Show the subscription plans and the current one" },
|
|
157
|
+
{ command: "naive billing status", description: "Show the balance and the plan currently on this account" },
|
|
158
|
+
];
|
|
159
|
+
}
|
|
160
|
+
function decision(chosen) {
|
|
161
|
+
return {
|
|
162
|
+
question: LLM_PAYWALL_QUESTION,
|
|
163
|
+
because: LLM_PAYWALL_BECAUSE,
|
|
164
|
+
options: llmPaywallOptions(),
|
|
165
|
+
chosen,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* The `error` half of the envelope. The server's own code, sentence, hint and
|
|
170
|
+
* docs are ECHOED, not replaced — it is the decision point, and a CLI that
|
|
171
|
+
* substitutes its own copy makes the terminal and the API disagree about why a
|
|
172
|
+
* call was refused. The fallbacks below only fire against an API build that
|
|
173
|
+
* sent nothing.
|
|
174
|
+
*/
|
|
175
|
+
function errorDetails(refusal) {
|
|
176
|
+
return {
|
|
177
|
+
code: refusal.code ?? LLM_ROUTING_ERROR_CODE,
|
|
178
|
+
// Kept alongside the code even though they carry the same string: consumers
|
|
179
|
+
// that switch on the reason (and older ones that only know `billing_blocked`)
|
|
180
|
+
// read this field, and dropping it would break them for no gain.
|
|
181
|
+
block_reason: LLM_ROUTING_BLOCK_REASON,
|
|
182
|
+
message: refusal.message ?? LLM_PAYWALL_MESSAGE,
|
|
183
|
+
...(refusal.hint && { hint: refusal.hint }),
|
|
184
|
+
...(refusal.docs && { docs: refusal.docs }),
|
|
185
|
+
...(refusal.credit_kind && { credit_kind: refusal.credit_kind }),
|
|
186
|
+
...(refusal.balance !== undefined && {
|
|
187
|
+
balance: refusal.balance,
|
|
188
|
+
// Said explicitly because the number alone reads as a contradiction: the
|
|
189
|
+
// account has credit and the call was still refused. The API sends this
|
|
190
|
+
// sentence itself; the fallback is for a build that does not.
|
|
191
|
+
balance_note: refusal.balance_note ??
|
|
192
|
+
`The balance of ${refusal.balance} credit${refusal.balance === 1 ? "" : "s"} is not the problem — ` +
|
|
193
|
+
"free and comped credit cannot pay for model routing, however much of it there is.",
|
|
194
|
+
}),
|
|
195
|
+
// 🔴 The field that stops the loop. Every other failure this CLI emits is
|
|
196
|
+
// worth one more attempt; this one is worth none, ever, until a human buys
|
|
197
|
+
// something.
|
|
198
|
+
retryable: false,
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Intercept the router's paid-account refusal. Returns true when it handled the
|
|
203
|
+
* response, in which case the caller MUST return without calling
|
|
204
|
+
* `handleApiError` — that would emit a second envelope and exit 1 over the top
|
|
205
|
+
* of this one.
|
|
206
|
+
*
|
|
207
|
+
* Returns false for every other response, including a healthy one, so a call
|
|
208
|
+
* site reads as one line ahead of its normal error handling.
|
|
209
|
+
*/
|
|
210
|
+
export async function handleLlmRoutingRefusal(action, resp) {
|
|
211
|
+
const refusal = llmRoutingRefusal(resp.data);
|
|
212
|
+
if (!refusal)
|
|
213
|
+
return false;
|
|
214
|
+
// A real person, at a real terminal: ask. `isInteractive()` is human mode AND
|
|
215
|
+
// a TTY stdin — a pty-wrapped agent harness reports isTTY true, which is
|
|
216
|
+
// exactly why output mode is opt-in and why this predicate and not
|
|
217
|
+
// `process.stdin.isTTY` is the gate.
|
|
218
|
+
const chosen = isInteractive()
|
|
219
|
+
? await select(`\n${LLM_PAYWALL_QUESTION}\n`, llmPaywallOptions().map((o) => ({ value: o.id, label: `${o.label}\n ${o.command}` })))
|
|
220
|
+
: null;
|
|
221
|
+
agentDecisionRequired({
|
|
222
|
+
action,
|
|
223
|
+
error: errorDetails(refusal),
|
|
224
|
+
// The server is the decision point and may know a recovery this table does
|
|
225
|
+
// not (06 §1.8); its steps win when it supplied them under a verdict.
|
|
226
|
+
decision: decision(chosen),
|
|
227
|
+
recovery_steps: serverRecoverySteps(resp.data) ?? llmPaywallRecoverySteps(),
|
|
228
|
+
});
|
|
229
|
+
return true;
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=llm-paywall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-paywall.js","sourceRoot":"","sources":["../../src/lib/llm-paywall.ts"],"names":[],"mappings":"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"}
|
package/dist/output.d.ts
CHANGED
|
@@ -80,6 +80,49 @@ export interface AgentOutput {
|
|
|
80
80
|
update?: UpdateInfo;
|
|
81
81
|
deprecation?: DeprecationNotice;
|
|
82
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* EXIT 4 — "a human has to decide this, and nothing was done."
|
|
85
|
+
*
|
|
86
|
+
* The ladder so far is 0 success · 1 error · 2 success-with-a-diff · 3
|
|
87
|
+
* success-where-the-terminal-state-is-not-success (README, `naive teams`). All
|
|
88
|
+
* four answer the question "did the work happen". None of them answers "the
|
|
89
|
+
* work is BLOCKED on a choice only a person can make", and collapsing that into
|
|
90
|
+
* 1 is what makes an agent retry: a generic failure looks transient, so it runs
|
|
91
|
+
* the same command again, gets the same 402, and loops.
|
|
92
|
+
*
|
|
93
|
+
* 4 says the opposite — re-running changes nothing, and the next move belongs
|
|
94
|
+
* to a human. A harness can branch on the code alone, without parsing the body,
|
|
95
|
+
* and route the run to its operator instead of to its retry budget.
|
|
96
|
+
*/
|
|
97
|
+
export declare const EXIT_DECISION_REQUIRED = 4;
|
|
98
|
+
/** One way out of a {@link DecisionRequired}, as the exact command that takes it. */
|
|
99
|
+
export interface DecisionOption {
|
|
100
|
+
/** Stable machine id — an agent reports this back to its human, not the prose label. */
|
|
101
|
+
id: string;
|
|
102
|
+
/** The choice in the human's terms ("Subscribe to Pro — $20/mo"). */
|
|
103
|
+
label: string;
|
|
104
|
+
/** The exact command that takes this option. `#`-prefixed when it is a no-op. */
|
|
105
|
+
command: string;
|
|
106
|
+
description: string;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* A refusal that is NOT the CLI's to resolve: the way forward is known, there is
|
|
110
|
+
* more than one of them, and each spends the operator's money or changes their
|
|
111
|
+
* plan. Emitting the options and refusing to pick is the whole point — an agent
|
|
112
|
+
* that guesses here buys a subscription nobody asked for.
|
|
113
|
+
*
|
|
114
|
+
* `chosen` is `null` on every non-interactive emission and stays null in the
|
|
115
|
+
* JSON envelope: it is the field an agent reads to know that nothing was
|
|
116
|
+
* decided. It is set only when a real human picked at a real prompt.
|
|
117
|
+
*/
|
|
118
|
+
export interface DecisionRequired {
|
|
119
|
+
/** Asked of the HUMAN, verbatim — an agent can relay this string unchanged. */
|
|
120
|
+
question: string;
|
|
121
|
+
/** Why the CLI will not answer it itself. */
|
|
122
|
+
because: string;
|
|
123
|
+
options: DecisionOption[];
|
|
124
|
+
chosen: string | null;
|
|
125
|
+
}
|
|
83
126
|
export interface AgentErrorDetails {
|
|
84
127
|
code?: string;
|
|
85
128
|
message?: string;
|
|
@@ -155,6 +198,32 @@ export declare function agentError(opts: {
|
|
|
155
198
|
error: AgentErrorDetails;
|
|
156
199
|
recovery_steps: NextStep[];
|
|
157
200
|
}): void;
|
|
201
|
+
/**
|
|
202
|
+
* THE REFUSAL THAT NEEDS A PERSON — `success:false`, exit {@link EXIT_DECISION_REQUIRED}.
|
|
203
|
+
*
|
|
204
|
+
* Shaped like `agentError` (same stdout channel, same `error` + `recovery_steps`
|
|
205
|
+
* keys, so nothing downstream needs a new parser) with two deliberate
|
|
206
|
+
* differences:
|
|
207
|
+
*
|
|
208
|
+
* 1. It carries `decision_required`, which names the question in the human's
|
|
209
|
+
* own words and lists the ways out as ids + exact commands. An agent
|
|
210
|
+
* relays that object to its operator; it does not pick from it.
|
|
211
|
+
* 2. It sets `process.exitCode` instead of calling `process.exit()`. The same
|
|
212
|
+
* reason as `agentOutputExit`: the payload may still be buffered when
|
|
213
|
+
* stdout is a pipe, and a hard exit truncates the very JSON the caller
|
|
214
|
+
* needs. Callers `return` after this; they must not keep working.
|
|
215
|
+
*
|
|
216
|
+
* HUMAN mode gets the same content as a readable block on stderr, including the
|
|
217
|
+
* numbered options — a person who is not at an interactive terminal (output
|
|
218
|
+
* piped to `tee`, a `--human` run in CI) still needs to see the choice rather
|
|
219
|
+
* than a bare red line.
|
|
220
|
+
*/
|
|
221
|
+
export declare function agentDecisionRequired(opts: {
|
|
222
|
+
action: string;
|
|
223
|
+
error: AgentErrorDetails;
|
|
224
|
+
decision: DecisionRequired;
|
|
225
|
+
recovery_steps: NextStep[];
|
|
226
|
+
}): void;
|
|
158
227
|
/**
|
|
159
228
|
* 06 §1.8 — when a response body carries a governance `verdict`, the DECISION
|
|
160
229
|
* POINT knows the recovery and the CLI's local `switch (code)` does not. The
|
|
@@ -172,3 +241,6 @@ export declare function agentError(opts: {
|
|
|
172
241
|
*/
|
|
173
242
|
export declare function serverRecoverySteps(data: unknown): NextStep[] | undefined;
|
|
174
243
|
export declare function formatApiError(action: string, data: unknown): void;
|
|
244
|
+
/** Exported for the parity test that holds the `llm_routing_requires_payment`
|
|
245
|
+
* case equal to `llmPaywallRecoverySteps()` in lib/llm-paywall.ts. */
|
|
246
|
+
export declare function getRecoverySteps(code?: string): NextStep[];
|
package/dist/output.js
CHANGED
|
@@ -150,6 +150,21 @@ export function creditEstimateHint(result) {
|
|
|
150
150
|
const credits = Math.round(raw * 10000) / 10000;
|
|
151
151
|
return `Estimated cost: ${credits} ${credits === 1 ? "credit" : "credits"} (charged only on successful completion)`;
|
|
152
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* EXIT 4 — "a human has to decide this, and nothing was done."
|
|
155
|
+
*
|
|
156
|
+
* The ladder so far is 0 success · 1 error · 2 success-with-a-diff · 3
|
|
157
|
+
* success-where-the-terminal-state-is-not-success (README, `naive teams`). All
|
|
158
|
+
* four answer the question "did the work happen". None of them answers "the
|
|
159
|
+
* work is BLOCKED on a choice only a person can make", and collapsing that into
|
|
160
|
+
* 1 is what makes an agent retry: a generic failure looks transient, so it runs
|
|
161
|
+
* the same command again, gets the same 402, and loops.
|
|
162
|
+
*
|
|
163
|
+
* 4 says the opposite — re-running changes nothing, and the next move belongs
|
|
164
|
+
* to a human. A harness can branch on the code alone, without parsing the body,
|
|
165
|
+
* and route the run to its operator instead of to its retry budget.
|
|
166
|
+
*/
|
|
167
|
+
export const EXIT_DECISION_REQUIRED = 4;
|
|
153
168
|
// A pending, non-fatal update notice discovered by the client layer (from the
|
|
154
169
|
// server version handshake). It rides along on the next successful agentOutput
|
|
155
170
|
// and is cleared once emitted, so it surfaces exactly once per command.
|
|
@@ -253,6 +268,61 @@ export function agentError(opts) {
|
|
|
253
268
|
console.log(JSON.stringify(output, null, 2));
|
|
254
269
|
process.exit(1);
|
|
255
270
|
}
|
|
271
|
+
/**
|
|
272
|
+
* THE REFUSAL THAT NEEDS A PERSON — `success:false`, exit {@link EXIT_DECISION_REQUIRED}.
|
|
273
|
+
*
|
|
274
|
+
* Shaped like `agentError` (same stdout channel, same `error` + `recovery_steps`
|
|
275
|
+
* keys, so nothing downstream needs a new parser) with two deliberate
|
|
276
|
+
* differences:
|
|
277
|
+
*
|
|
278
|
+
* 1. It carries `decision_required`, which names the question in the human's
|
|
279
|
+
* own words and lists the ways out as ids + exact commands. An agent
|
|
280
|
+
* relays that object to its operator; it does not pick from it.
|
|
281
|
+
* 2. It sets `process.exitCode` instead of calling `process.exit()`. The same
|
|
282
|
+
* reason as `agentOutputExit`: the payload may still be buffered when
|
|
283
|
+
* stdout is a pipe, and a hard exit truncates the very JSON the caller
|
|
284
|
+
* needs. Callers `return` after this; they must not keep working.
|
|
285
|
+
*
|
|
286
|
+
* HUMAN mode gets the same content as a readable block on stderr, including the
|
|
287
|
+
* numbered options — a person who is not at an interactive terminal (output
|
|
288
|
+
* piped to `tee`, a `--human` run in CI) still needs to see the choice rather
|
|
289
|
+
* than a bare red line.
|
|
290
|
+
*/
|
|
291
|
+
export function agentDecisionRequired(opts) {
|
|
292
|
+
process.exitCode = EXIT_DECISION_REQUIRED;
|
|
293
|
+
if (humanMode()) {
|
|
294
|
+
const w = (s) => process.stderr.write(s);
|
|
295
|
+
w(chalk.yellow.bold(`✗ ${opts.action} — a decision is needed`) + "\n");
|
|
296
|
+
if (opts.error.message)
|
|
297
|
+
w(" " + opts.error.message + "\n");
|
|
298
|
+
if (opts.error.hint)
|
|
299
|
+
w(chalk.dim(" hint: " + opts.error.hint) + "\n");
|
|
300
|
+
// Already chosen at a prompt: the person has just read the menu, so echo the
|
|
301
|
+
// one route they picked instead of reprinting the list under it.
|
|
302
|
+
const picked = opts.decision.options.find((o) => o.id === opts.decision.chosen);
|
|
303
|
+
if (picked) {
|
|
304
|
+
w("\n " + chalk.bold(picked.label) + "\n");
|
|
305
|
+
w(picked.command.startsWith("#")
|
|
306
|
+
? chalk.dim(` ${picked.description}`) + "\n"
|
|
307
|
+
: " Run: " + chalk.cyan(picked.command) + "\n");
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
w("\n " + chalk.bold(opts.decision.question) + "\n");
|
|
311
|
+
w(chalk.dim(" " + opts.decision.because) + "\n\n");
|
|
312
|
+
opts.decision.options.forEach((o, i) => {
|
|
313
|
+
w(` ${i + 1}) ${o.label}\n`);
|
|
314
|
+
w(" " + chalk.cyan(o.command) + chalk.dim(` — ${o.description}`) + "\n");
|
|
315
|
+
});
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
console.log(JSON.stringify({
|
|
319
|
+
success: false,
|
|
320
|
+
action: opts.action,
|
|
321
|
+
error: opts.error,
|
|
322
|
+
decision_required: opts.decision,
|
|
323
|
+
recovery_steps: opts.recovery_steps,
|
|
324
|
+
}, null, 2));
|
|
325
|
+
}
|
|
256
326
|
/**
|
|
257
327
|
* 06 §1.8 — when a response body carries a governance `verdict`, the DECISION
|
|
258
328
|
* POINT knows the recovery and the CLI's local `switch (code)` does not. The
|
|
@@ -327,7 +397,9 @@ export function formatApiError(action, data) {
|
|
|
327
397
|
recovery_steps: getRecoverySteps("unknown"),
|
|
328
398
|
});
|
|
329
399
|
}
|
|
330
|
-
|
|
400
|
+
/** Exported for the parity test that holds the `llm_routing_requires_payment`
|
|
401
|
+
* case equal to `llmPaywallRecoverySteps()` in lib/llm-paywall.ts. */
|
|
402
|
+
export function getRecoverySteps(code) {
|
|
331
403
|
switch (code) {
|
|
332
404
|
case "unauthorized":
|
|
333
405
|
return [
|
|
@@ -335,17 +407,67 @@ function getRecoverySteps(code) {
|
|
|
335
407
|
{ command: "naive login --email <email> --password <pw>", description: "Log in to existing account" },
|
|
336
408
|
];
|
|
337
409
|
case "insufficient_credits":
|
|
410
|
+
// 🔴 NO `upgrade --plan pro` HERE. This table is keyed on the error code and
|
|
411
|
+
// nothing else — it cannot see who is reading it — so the line it used to
|
|
412
|
+
// carry ("Upgrade to Pro (400 credits/mo, $20/mo)") was handed to every
|
|
413
|
+
// subscriber, including the grandfathered $149/2000 and $49/500 ones, for
|
|
414
|
+
// whom it is a DOWNGRADE labelled an upgrade, one click from a real plan
|
|
415
|
+
// switch: `/v1/billing/upgrade` sends an active subscriber straight to the
|
|
416
|
+
// Stripe portal. `isUpgradeFrom()` exists to stop exactly that on the API
|
|
417
|
+
// and dashboard surfaces, and it needs the caller's own allowance, which a
|
|
418
|
+
// static table does not have.
|
|
419
|
+
//
|
|
420
|
+
// An empty wallet is a BALANCE problem anyway, not a subscription one: the
|
|
421
|
+
// remedy is credits. `naive billing plans` is the plan-aware surface — GET
|
|
422
|
+
// /v1/billing/plans answers with the reader's own terms and a hint that
|
|
423
|
+
// knows whether anything on sale is more than they already have.
|
|
338
424
|
return [
|
|
339
425
|
{ command: "naive billing topup --pack medium", description: "Buy 500 credits for $23 (Popular)" },
|
|
340
426
|
{ command: "naive billing topup --pack large", description: "Buy 1000 credits for $44 (Best Value)" },
|
|
341
|
-
{ command: "naive billing upgrade --plan pro", description: "Upgrade to Pro (2000 credits/mo, $149/mo)" },
|
|
342
427
|
{ command: "naive billing packs", description: "See all available credit packs" },
|
|
428
|
+
{ command: "naive billing plans", description: "See your plan's monthly credits and whether anything on sale includes more" },
|
|
343
429
|
];
|
|
344
430
|
case "billing_blocked":
|
|
431
|
+
// ONE plan. The Starter line is gone because Starter is retired: nothing new
|
|
432
|
+
// may buy it, so `--plan starter` here would have handed a blocked customer a
|
|
433
|
+
// recovery step that returns 400. Existing Starter subscriptions are
|
|
434
|
+
// untouched — they recover through `naive billing portal`, which the
|
|
435
|
+
// subscription_past_due path already offers, not by re-subscribing.
|
|
436
|
+
//
|
|
437
|
+
// TOPUP IS FIRST. `billing_blocked` used to mean only "your subscription is
|
|
438
|
+
// in a bad state", for which subscribing is the whole answer. It now also
|
|
439
|
+
// carries the LLM-router refusal (block_reason
|
|
440
|
+
// `llm_routing_requires_payment`), whose cheapest door is a one-time credit
|
|
441
|
+
// pack — a caller told only to subscribe would be pushed onto a $20/mo
|
|
442
|
+
// recurring plan to make a $1 call. Both doors are listed for both cases
|
|
443
|
+
// because this table is keyed on the code and cannot see which one it is;
|
|
444
|
+
// the router refusal takes the `decision_required` path in
|
|
445
|
+
// lib/llm-paywall.ts, which does know, and does not consult this table.
|
|
446
|
+
return [
|
|
447
|
+
{ command: "naive billing topup --pack medium", description: "Buy 500 credits for $23 — one-time, no subscription" },
|
|
448
|
+
{ command: "naive billing subscribe --plan pro", description: "Subscribe to Pro ($20/mo, 400 credits)" },
|
|
449
|
+
{ command: "naive billing plans", description: "See the current plan and your own" },
|
|
450
|
+
];
|
|
451
|
+
// The LLM router refusing free/comped credit. `naive llm chat` never reaches
|
|
452
|
+
// this table — it intercepts the response first and emits the far richer
|
|
453
|
+
// `decision_required` envelope with exit 4 (lib/llm-paywall.ts). This case
|
|
454
|
+
// is the net for anything else that ever reaches the router, and the two
|
|
455
|
+
// lists are held identical by llm-paywall.test.ts.
|
|
456
|
+
//
|
|
457
|
+
// 🔴 NO PURCHASE COMMAND HERE, deliberately, and unlike every other case in
|
|
458
|
+
// this switch. `recovery_steps` is the array an agent is taught to just run;
|
|
459
|
+
// `naive billing subscribe` sitting in it is an instruction to start a
|
|
460
|
+
// payment nobody authorised. The purchases live in decision_required.options,
|
|
461
|
+
// where the envelope is explicit that a human picks one.
|
|
462
|
+
case "llm_routing_requires_payment":
|
|
345
463
|
return [
|
|
346
|
-
{
|
|
347
|
-
|
|
348
|
-
|
|
464
|
+
{
|
|
465
|
+
command: "# ask the operator: subscribe, buy credits, or drop the LLM call?",
|
|
466
|
+
description: "This refusal needs a human decision — see decision_required.options",
|
|
467
|
+
},
|
|
468
|
+
{ command: "naive billing packs", description: "Show the credit packs and their prices" },
|
|
469
|
+
{ command: "naive billing plans", description: "Show the subscription plans and the current one" },
|
|
470
|
+
{ command: "naive billing status", description: "Show the balance and the plan currently on this account" },
|
|
349
471
|
];
|
|
350
472
|
case "rate_limited":
|
|
351
473
|
return [
|
package/dist/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED