@paybox-sh/sdk 2.1.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +72 -11
- package/SKILL.md +97 -58
- package/dist/{chunk-OZ7KVOBT.js → chunk-YTHYNUMM.js} +338 -49
- package/dist/chunk-YTHYNUMM.js.map +1 -0
- package/dist/cli.js +10 -274
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +42 -16
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-OZ7KVOBT.js.map +0 -1
package/README.md
CHANGED
|
@@ -30,11 +30,11 @@ computer with no connector screen — not the grok.com MCP connector path.
|
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
32
|
# Setup is two commands. `login` authenticates; `connect` pairs a signing key.
|
|
33
|
-
# Pairing prints
|
|
34
|
-
#
|
|
35
|
-
# so there is nothing to copy. Neither command needs a browser on the
|
|
36
|
-
# running the CLI — approve both from a phone if you like. Add --no-open
|
|
37
|
-
# either command to print the link without launching a browser.
|
|
33
|
+
# Pairing prints a two-digit number and a link; you open the link and pick that
|
|
34
|
+
# same number in PayBox. The key is generated locally and never leaves this
|
|
35
|
+
# machine, so there is nothing to copy. Neither command needs a browser on the
|
|
36
|
+
# machine running the CLI — approve both from a phone if you like. Add --no-open
|
|
37
|
+
# to either command to print the link without launching a browser.
|
|
38
38
|
paybox login # device-code OAuth (browser + passkey)
|
|
39
39
|
paybox login --key pbx_live_… # personal API key instead (no OAuth)
|
|
40
40
|
paybox connect # pair a signing key
|
|
@@ -146,6 +146,64 @@ const result = await paybox.usePlugin({
|
|
|
146
146
|
});
|
|
147
147
|
```
|
|
148
148
|
|
|
149
|
+
## Run and resume a plugin request
|
|
150
|
+
|
|
151
|
+
`runPlugin` invokes a plugin once and drives its stored request. `resumeRequest`
|
|
152
|
+
reads an existing request and does not invoke the plugin again. Signing follows
|
|
153
|
+
validated Solana/EVM transaction capabilities and server-owned `refresh_before_sign`,
|
|
154
|
+
not plugin names. `resumeRequest` also consumes stored `wallet_sign` transaction
|
|
155
|
+
intents through the existing signer. Unknown formats, versioned plans and gasless
|
|
156
|
+
prepared plans stop with `outcome: "unsupported"`. Public plugins also use
|
|
157
|
+
`use_plugin`, with their installation ID as `plugin_id`; request completion does
|
|
158
|
+
not by itself prove a purchase or broadcast. Use the plugin contract to select an
|
|
159
|
+
enabled tool and construct its input.
|
|
160
|
+
|
|
161
|
+
```ts
|
|
162
|
+
import type { UsePluginArgs } from "@paybox-sh/sdk";
|
|
163
|
+
|
|
164
|
+
async function runApprovedOperation(operation: UsePluginArgs) {
|
|
165
|
+
const execution = await paybox.runPlugin(operation, { timeoutMs: 60_000 });
|
|
166
|
+
if (execution.requestId) {
|
|
167
|
+
await saveRequestId(execution.requestId);
|
|
168
|
+
}
|
|
169
|
+
return execution;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
const execution = await paybox.resumeRequest(savedRequestId, {
|
|
173
|
+
waitForApproval: true,
|
|
174
|
+
timeoutMs: 60_000,
|
|
175
|
+
});
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
The example assumes application-owned storage through `saveRequestId` and
|
|
179
|
+
`savedRequestId`. Keep the request ID so another process can resume after a pause.
|
|
180
|
+
A paired signing key enables automatic signing. Set `autoSign: false` to stop
|
|
181
|
+
before signing. The server still enforces wallet grants and approval requirements.
|
|
182
|
+
|
|
183
|
+
| Outcome | Meaning |
|
|
184
|
+
| --- | --- |
|
|
185
|
+
| `terminal` | Check `response.status`: `success`, `denied`, or `error`. A signature alone is not success. |
|
|
186
|
+
| `approval_required` | The user must approve through Paybox. Approval waiting is disabled by default. |
|
|
187
|
+
| `signing_required` | Automatic signing is disabled or a signing key is unavailable. |
|
|
188
|
+
| `unsupported` | The result or signing plan is outside the supported contract. |
|
|
189
|
+
| `reconcile_required` | The client cannot confirm completion. Query the same request before further action. |
|
|
190
|
+
| `deadline_exceeded` / `cancelled` | The client stopped. The server operation can still finish. |
|
|
191
|
+
|
|
192
|
+
The default deadline is 300 seconds and includes network calls. Polling starts at
|
|
193
|
+
2 seconds, doubles when the status is unchanged, and stops increasing at 30 seconds.
|
|
194
|
+
A status change resets the interval. `intervalMs` sets the starting interval from
|
|
195
|
+
1 to 30,000 milliseconds. `signal` accepts an `AbortSignal` for cancellation.
|
|
196
|
+
|
|
197
|
+
Do not start concurrent drivers for the same request. After an uncertain result,
|
|
198
|
+
use `getRequest` before an explicit resume. The driver does not automatically retry
|
|
199
|
+
a signature submission or create a replacement request. If invocation stops before
|
|
200
|
+
a request ID arrives, reconcile outside this driver before invoking the plugin again.
|
|
201
|
+
|
|
202
|
+
`usePlugin` still returns the raw MCP result, including metadata. Use it for data
|
|
203
|
+
tools and unsupported flows. The new methods do not change existing CLI commands.
|
|
204
|
+
Funding requests stop with `outcome: "unsupported"`, `reason: "funding_required"`,
|
|
205
|
+
and a non-signing `pending_funding` response. They never reopen or submit a plan.
|
|
206
|
+
|
|
149
207
|
## Configuration
|
|
150
208
|
|
|
151
209
|
Resolution order: explicit constructor options → environment → stored config.
|
|
@@ -172,7 +230,7 @@ once ahead of time **as the identity CI will use**, then carry both secrets:
|
|
|
172
230
|
# On a laptop. The pbx_live_ key comes from the PayBox app (Agents → create an
|
|
173
231
|
# agent, pick its wallets); it is shown once.
|
|
174
232
|
paybox login --key pbx_live_… # authenticate as the client CI will use
|
|
175
|
-
paybox connect # pick the
|
|
233
|
+
paybox connect # pick the number; approve on any device
|
|
176
234
|
grep signingKey ~/.config/paybox/config.json
|
|
177
235
|
```
|
|
178
236
|
|
|
@@ -205,10 +263,13 @@ pnpm install
|
|
|
205
263
|
pnpm typecheck
|
|
206
264
|
pnpm build # tsup → dist/ (ESM + types + paybox bin)
|
|
207
265
|
|
|
208
|
-
# Refresh the generated tool types from
|
|
209
|
-
|
|
266
|
+
# Refresh the generated tool types from the MCP tool contract:
|
|
267
|
+
pnpm gen
|
|
210
268
|
```
|
|
211
269
|
|
|
212
|
-
The argument
|
|
213
|
-
|
|
214
|
-
|
|
270
|
+
The argument types in `src/types.generated.ts` come from
|
|
271
|
+
`artifacts/contracts/mcp-tools-v1.json`, the committed list of core MCP tools and
|
|
272
|
+
their input schemas. CI fails when the tools change and the file does not, or
|
|
273
|
+
when this file is not regenerated from it. Refresh it with
|
|
274
|
+
`PAYBOX_UPDATE_CONTRACTS=1 cargo test --lib mcp_tool_contract_matches_core_tools`
|
|
275
|
+
in `server/`. Response types in `src/types.ts` track `server/src/models.rs`.
|
package/SKILL.md
CHANGED
|
@@ -10,9 +10,8 @@ description: >-
|
|
|
10
10
|
|
|
11
11
|
# PayBox CLI setup
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
(grok.com), Grok Bots, and Muse are different hosts; do not treat one as another.
|
|
13
|
+
This skill covers PayBox through the CLI. Grok (grok.com), Grok Bots, and Muse
|
|
14
|
+
are different hosts; do not treat one as another.
|
|
16
15
|
|
|
17
16
|
## Start with the requested task
|
|
18
17
|
|
|
@@ -21,8 +20,8 @@ Keep the requested action, amount, asset, network, and recipient.
|
|
|
21
20
|
Ask for missing details before a money operation.
|
|
22
21
|
Selecting PayBox does not authorize spending, signing, funding, or changing grants.
|
|
23
22
|
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
Follow **Which host** below first. For CLI tasks, check the installed CLI and
|
|
24
|
+
run `paybox --json whoami`.
|
|
26
25
|
This command reports local configuration. It does not verify remote access.
|
|
27
26
|
The setup sections below apply only to the missing steps identified here.
|
|
28
27
|
|
|
@@ -48,22 +47,23 @@ incomplete and stop.
|
|
|
48
47
|
## Which host
|
|
49
48
|
|
|
50
49
|
- **Muse, Grok Bot, Grok Computer, or any agent on a computer or VM with no connector
|
|
51
|
-
screen:** use the CLI on that machine. Check existing access before
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
screen:** use only the CLI on that machine. Check existing access before
|
|
51
|
+
setup. Never use the MCP URL, a custom connector, a Client ID, or a host
|
|
52
|
+
secrets store, and never say PayBox is unavailable on this host.
|
|
54
53
|
- **Grok at grok.com (chat in the browser):** the user adds the MCP connector at
|
|
55
54
|
grok.com/connectors. Do not run this CLI install flow unless they explicitly
|
|
56
|
-
want the CLI on a separate machine.
|
|
55
|
+
want the CLI on a separate machine. Use an existing PayBox connector there
|
|
56
|
+
when available.
|
|
57
57
|
|
|
58
58
|
When the user says "install PayBox" and you are Muse, Grok Bot, or running on a
|
|
59
59
|
computer, start here immediately.
|
|
60
60
|
|
|
61
61
|
The user asks to install PayBox. Two things need them: they approve wallet
|
|
62
|
-
access on the PayBox page, and they confirm one
|
|
63
|
-
yours.
|
|
62
|
+
access on the PayBox page, and they confirm one two-digit number. Everything
|
|
63
|
+
else is yours.
|
|
64
64
|
|
|
65
65
|
No secret ever passes through chat. The signing key is generated on the machine
|
|
66
|
-
running the CLI and stays there; what you show the user is
|
|
66
|
+
running the CLI and stays there; what you show the user is a two-digit number
|
|
67
67
|
derived from its public half, which is safe to put in a transcript.
|
|
68
68
|
|
|
69
69
|
## Host capabilities
|
|
@@ -72,11 +72,11 @@ One setup flow applies on every host. A host changes only the capability values
|
|
|
72
72
|
below. The flow never branches on a host name. Prod is `https://api.paybox.sh` /
|
|
73
73
|
`https://app.paybox.sh`.
|
|
74
74
|
|
|
75
|
-
| Host | `link_surface` | `renders_buttons` | `keeps_process` | `cli_allowed` |
|
|
76
|
-
|
|
77
|
-
| Muse | `phone_browser` | no | no | yes |
|
|
78
|
-
| Grok Bot | `app` | yes | yes | yes |
|
|
79
|
-
| Unknown host | `phone_browser` | no | no | yes until it refuses |
|
|
75
|
+
| Host | `link_surface` | `renders_buttons` | `keeps_process` | `cli_allowed` | `group_login` |
|
|
76
|
+
|---|---|---|---|---|---|
|
|
77
|
+
| Muse | `phone_browser` | no | no | yes | yes until it refuses |
|
|
78
|
+
| Grok Bot | `app` | yes | yes | yes | no |
|
|
79
|
+
| Unknown host | `phone_browser` | no | no | yes until it refuses | yes until it refuses |
|
|
80
80
|
|
|
81
81
|
For a host not listed, use the unknown-host row and correct a value only from
|
|
82
82
|
observed behavior. A new host is one new row.
|
|
@@ -95,6 +95,9 @@ observed behavior. A new host is one new row.
|
|
|
95
95
|
- `cli_allowed`: when the host refuses the CLI install, pairing, or signing,
|
|
96
96
|
stop visibly. Say setup is not supported on this host. Do not retry, work
|
|
97
97
|
around the host, or send the user to another path as a substitute.
|
|
98
|
+
- `group_login`: when no and the request comes from a group chat, say in one
|
|
99
|
+
line to send "install PayBox" in the private chat with the bot. Do not start
|
|
100
|
+
login in the group.
|
|
98
101
|
|
|
99
102
|
Every host: English unless the user writes otherwise. Few words. Never show a
|
|
100
103
|
secret. Never wipe `~/.config/paybox`. Do not send the user to Settings →
|
|
@@ -169,23 +172,23 @@ If access works, skip login and complete only the missing setup step.
|
|
|
169
172
|
The command drives the whole flow itself. Do not reimplement any of it: it
|
|
170
173
|
registers a client, starts device authorization, prints a verification URL and a
|
|
171
174
|
short user code to stderr as plain prose (not JSON), and polls until the user
|
|
172
|
-
approves. Read the
|
|
173
|
-
`user_code` field to wait for. After
|
|
174
|
-
an `/agent-key?client_id=` URL. Do
|
|
175
|
-
`oauth`.
|
|
175
|
+
approves. Read the URL from that stderr. The link already carries the code, so
|
|
176
|
+
do not send the `Code:` line. There is no `user_code` field to wait for. After
|
|
177
|
+
the poll writes `oauth`, the CLI may print an `/agent-key?client_id=` URL. Do
|
|
178
|
+
not wait for it if this run already saved `oauth`.
|
|
176
179
|
|
|
177
180
|
### Step 1: Authorize wallets
|
|
178
181
|
|
|
179
|
-
The moment login prints the verification URL
|
|
182
|
+
The moment login prints the verification URL, send **one** message:
|
|
180
183
|
|
|
181
184
|
> **Welcome to PayBox.** Two quick steps:
|
|
182
|
-
> 1. Tap [Connect CLI to PayBox](verification URL), choose
|
|
183
|
-
>
|
|
184
|
-
> 2. Next I will send a
|
|
185
|
+
> 1. Tap [Connect CLI to PayBox](verification URL), choose your wallets, and
|
|
186
|
+
> tap **Connect with PayBox CLI**.
|
|
187
|
+
> 2. Next I will send a link to connect your signing key.
|
|
185
188
|
|
|
186
189
|
Use only the steps that are still missing. Say what the page asks the user to
|
|
187
|
-
do: pick the wallets and
|
|
188
|
-
code-entry step the page does not show. Apply `link_surface` from **Host
|
|
190
|
+
do: pick the wallets and tap **Connect with PayBox CLI**. Do not describe a
|
|
191
|
+
passkey or code-entry step the page does not show. Apply `link_surface` from **Host
|
|
189
192
|
capabilities**. Then keep polling as `keeps_process` allows. Do not open the URL yourself.
|
|
190
193
|
|
|
191
194
|
If the code expires before approval, run `paybox login --no-open` again for a
|
|
@@ -197,26 +200,27 @@ previous client. Ignore it.
|
|
|
197
200
|
|
|
198
201
|
Skip this step for read-only tasks. For setup-only requests or tasks that need
|
|
199
202
|
local signing, run `paybox connect --no-open` when `canSign` is false.
|
|
200
|
-
Login does not pair for you. The CLI prints
|
|
203
|
+
Login does not pair for you. The CLI prints a two-digit number and a link to
|
|
204
|
+
stderr:
|
|
201
205
|
|
|
202
206
|
```
|
|
203
|
-
|
|
204
|
-
Open this on any device and pick that
|
|
207
|
+
47
|
|
208
|
+
Open this on any device and pick that number to connect this machine:
|
|
205
209
|
https://app.paybox.sh/agent-key?client_id=…&pairing_id=…
|
|
206
210
|
```
|
|
207
211
|
|
|
208
212
|
Send **one** message seconds after Step 1 completes, titled **Connect your
|
|
209
|
-
signing key**: the
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
+
signing key**: the number exactly as printed and the printed link in the same
|
|
214
|
+
message. Never reuse the sample number above. PayBox shows three numbers and the
|
|
215
|
+
user picks yours. Use the printed URL verbatim, since it carries the
|
|
216
|
+
`pairing_id` and the `client_id` comes from the server.
|
|
213
217
|
|
|
214
218
|
Do not `Start-Process`, `open`, `rundll32`, or `xdg-open` any of these URLs
|
|
215
219
|
yourself. `connect` polls and returns on its own. Do not send the link twice and
|
|
216
220
|
do not re-run `connect` while one is polling: a second pairing invalidates the
|
|
217
|
-
|
|
221
|
+
number on screen.
|
|
218
222
|
|
|
219
|
-
Never ask for the key itself and never accept one. The
|
|
223
|
+
Never ask for the key itself and never accept one. The number is safe to
|
|
220
224
|
send; a `pbxk1.` value is not. The key is generated on the machine running the
|
|
221
225
|
CLI and PayBox never holds it. `PAYBOX_SIGNING_KEY` is only for headless runs
|
|
222
226
|
that reuse a key paired elsewhere, and no flag takes a key, because an argument
|
|
@@ -243,11 +247,11 @@ host without evidence.
|
|
|
243
247
|
|
|
244
248
|
When setup finishes:
|
|
245
249
|
|
|
246
|
-
> **PayBox is connected.**
|
|
250
|
+
> **PayBox is connected.** **$TOTAL** across N wallets.
|
|
247
251
|
|
|
248
|
-
then
|
|
249
|
-
|
|
250
|
-
|
|
252
|
+
then the wallet table (see **Once setup is done**), then the choices **Swap 20
|
|
253
|
+
USDC to SOL** and **Pay a Solana briefing**, as `renders_buttons` allows, plus
|
|
254
|
+
a short "You can try" list.
|
|
251
255
|
|
|
252
256
|
Secondary suggestions: Get a Solana briefing, Show my portfolio, See my enabled
|
|
253
257
|
plugins. Check the granted wallets, funds, and enabled plugins before offering
|
|
@@ -258,13 +262,27 @@ fees, and keep the platform approval.
|
|
|
258
262
|
## Once setup is done
|
|
259
263
|
|
|
260
264
|
For a setup-only request, show the granted wallets with `paybox --json credentials`.
|
|
261
|
-
Then
|
|
262
|
-
`--credential` takes the `credential.id` from that list; a wallet's name is
|
|
263
|
-
an id and the command will refuse it.
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
265
|
+
Then run `paybox --json portfolio --address <wallet>` for every granted wallet.
|
|
266
|
+
Every `--credential` takes the `credential.id` from that list; a wallet's name is
|
|
267
|
+
not an id and the command will refuse it. Show one Wallet / Holdings / USD table
|
|
268
|
+
with one row per wallet:
|
|
269
|
+
|
|
270
|
+
| Wallet | Holdings | USD |
|
|
271
|
+
|---|---|---|
|
|
272
|
+
| main-solana | 1.30 SOL · 34.48 USDC | $175.53 |
|
|
273
|
+
| main-evm (Base) | 28.47 USDC · 0.0008 ETH | $30.59 |
|
|
274
|
+
|
|
275
|
+
- Sort by USD, highest first. `$TOTAL` is the sum of each `total_usd`.
|
|
276
|
+
- Holdings: the top two tokens by USD, two decimals (four for SOL or ETH under 1).
|
|
277
|
+
- Skip tokens with `dust: true` or no price. Never show addresses or invented
|
|
278
|
+
balances.
|
|
279
|
+
- Merge wallets under $1 into one last row: "N small wallets".
|
|
280
|
+
- If a portfolio call fails or `total_usd` is null, show "unavailable" in that
|
|
281
|
+
row.
|
|
282
|
+
|
|
283
|
+
The CLI cannot create wallets; it uses what the user granted during
|
|
284
|
+
authorization. If a portfolio call fails after connection, report setup as
|
|
285
|
+
complete and name that failure. Do not restart setup.
|
|
268
286
|
|
|
269
287
|
Spawn work only for tasks they named. Do not start `paybox buy-link` or a
|
|
270
288
|
buy-dollars / card-checkout specialist unless they asked to buy dollars or
|
|
@@ -315,14 +333,32 @@ not treat Welcome as a catalog index.
|
|
|
315
333
|
granted Solana wallet, then **Pay a Solana briefing**. Do not offer 0.001 SOL to USDC. If nothing is
|
|
316
334
|
enabled, skip the extra plugin list and stay on the Plugins link.
|
|
317
335
|
|
|
318
|
-
When they name a
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
336
|
+
When they name a provider or a job that needs one (a Solana limit order,
|
|
337
|
+
a liquidity-pool investment, or concert tickets), search both catalogs with
|
|
338
|
+
`paybox --json plugins list <query>` and `paybox --json discover <query>`, even
|
|
339
|
+
when the first catalog matches. Use concise task keywords; for "use Kamino",
|
|
340
|
+
search both for Kamino. Keep only routes supporting the requested action and
|
|
341
|
+
chain. Keep default source and status filters unless the user restricted them,
|
|
342
|
+
so disabled official plugins remain visible. Follow available pagination before
|
|
343
|
+
claiming a sole match; plugin pages use `--cursor <next_cursor>`.
|
|
344
|
+
|
|
345
|
+
If multiple relevant routes remain, show provider names, plugin or service
|
|
346
|
+
labels, supported actions, and enablement requirements, then ask which to use.
|
|
347
|
+
If exactly one relevant route remains across both catalogs, state it and
|
|
348
|
+
continue without another route-choice question: one matching Kamino plugin and
|
|
349
|
+
no Kamino service means use the plugin. If neither matches, explain that and
|
|
350
|
+
offer a useful next step. For a selected disabled plugin, share its `enable_url`,
|
|
351
|
+
wait for enablement, and discover it again before invocation.
|
|
352
|
+
|
|
353
|
+
For an official plugin, run `paybox --json plugins contract <contract_uri>` with
|
|
354
|
+
the URI unchanged, then `paybox --json plugins use <plugin_id> <tool_id> --input
|
|
355
|
+
<json>` with input matching that contract. Unofficial discovery results already
|
|
356
|
+
contain their tool schemas; reuse `--invocation-id` only to retrieve the exact
|
|
357
|
+
same ambiguous call. For a service, follow its exact discovered contract through
|
|
358
|
+
the supported service/payment flow. Continue the original task after selection;
|
|
359
|
+
do not stop at a discovery summary. Ask for missing task details and keep all
|
|
360
|
+
required approvals. Route selection does not authorize spending or signing.
|
|
361
|
+
Plugin money always pauses for passkey.
|
|
326
362
|
|
|
327
363
|
There are no per-plugin commands. `paybox world …` and `paybox hyperliquid …`
|
|
328
364
|
were removed in 1.0.0; reach World and Hyperliquid through `paybox plugins`
|
|
@@ -337,9 +373,9 @@ Do not switch to staging. Do not report the dollar as sent.
|
|
|
337
373
|
- The user had to prompt you after approving wallet access, and you did not
|
|
338
374
|
resume the same attempt.
|
|
339
375
|
- A browser opened before the user had the link.
|
|
340
|
-
- The pairing
|
|
376
|
+
- The pairing number waited minutes after they finished Authorize wallets.
|
|
341
377
|
- You rebuilt the pairing URL instead of relaying the one `connect` printed.
|
|
342
|
-
- You sent a
|
|
378
|
+
- You sent a number from an earlier `connect` run, or the sample number.
|
|
343
379
|
- You asked the user for the signing key, or accepted one they offered.
|
|
344
380
|
- You sent a link twice, or re-ran `login` or `connect` while one was running.
|
|
345
381
|
- You launched authorize, connect, or agent-key with a local open command.
|
|
@@ -349,6 +385,9 @@ Do not switch to staging. Do not report the dollar as sent.
|
|
|
349
385
|
- You nudged a specialist after its last command was blocked.
|
|
350
386
|
- You spawned more specialists than named jobs.
|
|
351
387
|
- A token, API key, or `pbxk1.` value reached the transcript.
|
|
352
|
-
- You
|
|
388
|
+
- You offered a custom connector, a Client ID, a host secrets store, Settings →
|
|
389
|
+
Connectors → Add custom, or Manage Connectors.
|
|
390
|
+
- You told the user PayBox is unavailable on this host.
|
|
391
|
+
- You started login in a group chat where `group_login` is no.
|
|
353
392
|
- You claimed signing readiness before `canSign` was true.
|
|
354
393
|
- A setup-only Welcome replaced or interrupted a task the user already asked for.
|