@inflowpayai/inflow 0.6.6 → 0.7.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 +6 -5
- package/dist/cli.js +267 -12
- package/package.json +3 -3
package/dist/cli.js
CHANGED
|
@@ -7,6 +7,9 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
7
7
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
8
8
|
var __getProtoOf = Object.getPrototypeOf;
|
|
9
9
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __esm = (fn, res) => function __init() {
|
|
11
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
12
|
+
};
|
|
10
13
|
var __commonJS = (cb, mod) => function __require() {
|
|
11
14
|
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
12
15
|
};
|
|
@@ -27,10 +30,19 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
27
30
|
mod
|
|
28
31
|
));
|
|
29
32
|
|
|
33
|
+
// <define:__SKILL_BODIES__>
|
|
34
|
+
var define_SKILL_BODIES_default;
|
|
35
|
+
var init_define_SKILL_BODIES = __esm({
|
|
36
|
+
"<define:__SKILL_BODIES__>"() {
|
|
37
|
+
define_SKILL_BODIES_default = { "agentic-payments": '# Agentic Payments\n\nPay HTTP 402-protected resources on the user\'s behalf. InFlow speaks two payment protocols - **MPP** and **x402** - but the flow is the same for both: shared setup (install, run, authenticate), then a **router** that picks the protocol from the seller\'s 402 header, then one **Paying a 402 resource** section that covers both. A per-protocol **delta table** at the top of that section lists the handful of real differences (header name, credential name, filters, error codes); read your row, then follow the shared steps.\n\n## Installing\n\nInstall with `npm install -g @inflowpayai/inflow`. Or run directly with `npx -y @inflowpayai/inflow`.\n\n## Running\n\nInFlow runs as a **standalone CLI** or an **MCP server**.\n\n**MCP**: add an `inflow` server to your MCP client config that runs `npx -y @inflowpayai/inflow --mcp`. Keep the `-y` flag - it suppresses npx\'s confirmation prompt, without which the MCP host can stall on first run.\n\n**MCP mode** exposes every CLI command as a tool. Call `tools/list` on the MCP server for the authoritative inventory; arguments mirror the CLI flags one-to-one.\n\n### Common commands / options\n\n**The CLI is the source of truth for exact flags, enums, and output shapes** - run `inflow <command> --schema` for one command, or `inflow --llms-full` for everything. This playbook covers *when and why*, not exhaustive parameter lists; when you need a precise flag name, value set, or response shape, query the CLI rather than guessing.\n\n- `inflow --llms` (or `--llms-full` for parameter detail) - discover all commands. `inflow <command> --schema` for a single command\'s JSON Schema.\n- `inflow --skill` - print this playbook (no frontmatter) to stdout. Use it to paste into the system-prompt field of an MCP host that doesn\'t natively load skills: `inflow --skill | pbcopy`.\n- Default output is `toon`. Override with `--format <fmt>`; for programmatic parsing prefer `json` (single document) or `jsonl` (line-delimited).\n- Multi-step flows return `_next.command` - run it to continue.\n- `--auth <path>` overrides the credentials file location.\n- `--api-key <key>` or `INFLOW_API_KEY=<key>` is an alternative to device-flow auth.\n\n## Authenticate\n\nAuthentication is shared by both protocols - do it once, before either payment flow. **Don\'t start a payment until the user is authenticated.**\n\nCheck the current state first - the user may already be logged in:\n\n```bash\ninflow auth status\n```\n\nA successful `auth status` returns `authenticated: true` plus `auth_method` (`device_token` or `api_key`), a truncated `access_token` preview (never the full token), `credentials_path`, `connection`, and possibly an `update` field. For the user\'s identity (email, handle, account id), call `inflow user get` - `auth status` deliberately omits it. Run the command to see the full shape.\n\nIf the response includes an `update` field, a newer version of `inflow` is published.\n\n**Surface and defer.** Tell the user a newer version is available and how to upgrade - `npm install -g @inflowpayai/inflow@latest` (or `npx -y @inflowpayai/inflow@latest`). Then **proceed with the current version**. Only block on the upgrade if a subsequent command fails with `VERSION_UNSUPPORTED` (or an HTTP 426 from the API), at which point the upgrade is mandatory and you should not retry until it lands.\n\nIf `authenticated` is `false`, start the device flow:\n\n```bash\ninflow auth login --client-name "<your-agent-name>"\n```\n\nReplace `<your-agent-name>` with the name of your agent or application (for example `"Personal Assistant"`, `"Shopping Bot"`). The device-authorization page in the user\'s browser displays this name when they approve the connection. Use a clear, unique, identifiable name.\n\nThe response includes a `verification_url` (present this to the user), a `phrase`, and a `_next.command`. Run that command immediately to poll until authenticated. **Do not wait for the user to respond before starting the poll.**\n\nIf your environment can\'t relay the verification phrase to the user while a separate polling command blocks I/O, use inline polling instead:\n\n```bash\ninflow auth login --client-name "<name>" --interval 5 --timeout 300\n```\n\n**API key alternative:** if the user provides an API key, set `INFLOW_API_KEY=<key>` in the environment (or pass `--api-key <key>` to any command) instead of running `auth login`. The API key takes precedence over a saved device token.\n\n## Which protocol? - start here\n\nBefore paying, decide which protocol the resource uses. **You do not choose it - the seller\'s 402 challenge decides.** Run one read-only, no-auth command and let it detect both:\n\n```bash\ninflow inspect <url>\n```\n\n`inflow inspect` probes the URL **once** and decodes both MPP and x402 challenges from the same 402. Read its `detected` array to pick the pay rail:\n\n| `detected` | Pay with |\n| --- | --- |\n| `["mpp"]` | `inflow mpp pay <url>` |\n| `["x402"]` | `inflow x402 pay <url>` |\n| `["mpp", "x402"]` | `inflow mpp pay <url>` - **MPP wins when both are present** |\n| `[]` (seller still returned 402) | Not InFlow-payable on this account. Stop and tell the user; check `warnings` for why. |\n\nIf `inspect` returns `outcome: "no-payment-required"`, the URL isn\'t paywalled - there\'s nothing to pay.\n\n---\n\n## Paying a 402 resource\n\nOne flow for both protocols. Prerequisite: you are authenticated (see [Authenticate](#authenticate)). First find your protocol\'s row in the **Protocol deltas** table below - it names the 402 header that selected it, the matching model, the filter flags, and the credential and replay header you\'ll use. Everything else in this section applies to both protocols.\n\n**Sequencing.** Run pre-flight before pay - `pay` fails or double-charges if the pre-flight checks didn\'t clear. `inspect` and `decode` are read-only and need no auth, so they may run before you authenticate if useful (e.g. sizing up a paywall first).\n\n### Protocol deltas\n\n| Aspect | MPP | x402 |\n| --- | --- | --- |\n| Selected when the 402 carries | `WWW-Authenticate: Payment` | `PAYMENT-REQUIRED` (and no `WWW-Authenticate: Payment`) |\n| Command prefix | `inflow mpp \u2026` | `inflow x402 \u2026` |\n| Matching model | The seller\'s challenge **pins the rail** - the buyer does not choose scheme/network/asset | Pay where the x402 `accepts` \u2229 `supported.kinds` is non-empty |\n| Filter flags | `--payment-method`, `--intent`, `--currency`, `--rail`, `--instrument-id` | `--scheme`, `--network`, `--asset`, `--asset-name` |\n| Credential field (after approval) | `credential` (from `mpp status` when `state` is `ready`) | `encoded_payload` (from `x402 status` after approval) |\n| Replay header | `Authorization: Payment <credential>` | `PAYMENT-SIGNATURE: <encoded_payload>` |\n| Write-credential-to-disk flag | `--credential-file <path>` | `--payload-file <path>` |\n| Idempotency | - | `--payment-id` (see Step 2) |\n| Cancel uses | `approval_id` | `approval_id` |\n| Protocol-specific error codes | `PAYMENT_FAILED`, `PAYMENT_EXPIRED`, `PAYMENT_NOT_ACCEPTED` | `APPROVAL_TIMEOUT`, `APPROVAL_FAILED`, `APPROVAL_CANCELLED` |\n\nThroughout this section `<mpp|x402>` means "use your protocol\'s prefix." For the exact parameters and output shape of any command below, run `inflow <command> --schema`.\n\n### Step 1: Pre-flight evaluation\n\n```bash\n# 1. Parse what the seller will accept - read-only, no auth (both protocols in one probe)\ninflow inspect <url>\n\n# (Already have the raw 402 header from a prior response? Decode it directly instead of re-probing:)\ninflow <mpp|x402> decode \'<402 header value>\'\n\n# 2. List what the buyer\'s account can pay with (use the protocol from `detected`)\ninflow <mpp|x402> supported\n\n# 3. Check balances for the candidate currency/asset(s)\ninflow balances list\n```\n\n`inflow inspect` returns what the seller accepts under its `mpp` and `x402` keys - the price is each challenge\'s `amount` field (raw atomic units for x402; the asset is the on-chain contract address, not a symbol). `decode` parses a single raw header you already hold (and also accepts a base64url credential / receipt). `supported` returns what the account can pay with; `balances list` returns `available` per currency. Run the commands to see the exact shapes.\n\nDecide whether you can pay (apply your protocol\'s matching model from the delta table):\n\n| Condition | Meaning | Action |\n| --- | --- | --- |\n| No payable match between the seller and the buyer\'s `supported` methods | No payable rail | Stop \u2192 `NO_INFLOW_MATCH`. Tell the user the seller\'s rails aren\'t supported by their account. |\n| A match exists, but `balances.available < amount` for every match | Right rail, not enough funds | Stop \u2192 run `inflow deposit-addresses list`, surface the address(es) in full, ask the user to fund a matching network. |\n| A match exists **and** \u22651 match has `balances.available \u2265 amount` | Payable | Proceed to Step 2. |\n\n**Optional filters** narrow *which* offer to fulfil - optional, AND-combined, applied on `pay`, and an empty result fails with `NO_FILTERED_MATCH` (it does not fall through to a default order). One non-obvious case: MPP\'s `--instrument-id` picks *how* to fund (an instrument-rail / fiat challenge), not which challenge. For the exact filter flags and accepted values per protocol, run `inflow <mpp|x402> pay --schema`.\n\n**Decimal precision.** `balances.available` and the challenge/`amount` value are decimal strings preserving BigDecimal precision. **Never parse them to a JS `Number`** - that drops precision. Compare as strings, or use a `BigInt` / `decimal.js`-style library.\n\n### Step 2: Pay\n\nBefore initiating the call, summarize the intent to the user in chat: amount, currency, resource URL, and the method/rail (MPP) or scheme/network (x402). The user verifies the canonical details on the approval screen; the chat summary is what they read first. Example:\n\n> "I\'m about to pay 0.10 USDC to api.foo.dev for /dataset.csv. Requesting approval next."\n\n**Fast path (recommended).** When the agent can block until the payment finishes, set `--interval N` and let the CLI run the whole flow in one call - probe, decode, prepare, await approval, replay against the seller, return the body:\n\n```bash\ninflow <mpp|x402> pay <url> --interval 5 --max-attempts 180\n```\n\nThe result includes `outcome`, `transaction_id`, `response_status`, `settled`, the seller body inline (or `output_saved_to` if `--output-file` is set), and the now-consumed credential (`credential` for MPP, `encoded_payload` for x402). On the fast path the CLI has already replayed that credential to fetch the body - it appears in the result for reference only; **do not replay it yourself.** To surface `approval_url` *before* the call returns, add `--format jsonl` - frames stream line-by-line. With the default `json` (or `toon`), the agent only sees the final buffered result.\n\n**`outcome` values.** A completed `pay` returns one of three terminal outcomes - branch on it, don\'t assume `paid`:\n\n| `outcome` | Meaning | What to do |\n| --- | --- | --- |\n| `paid` | Settled and the seller returned 2xx | Deliver the body to the user |\n| `no-payment-required` | The resource wasn\'t paywalled, or was already paid | Tell the user nothing was charged; return the body |\n| `replay-rejected` | Payment was approved (funds in transit) but the seller replied non-2xx on the replay | Do NOT report success. Tell the user the seller\'s response failed; because the payment didn\'t complete, the in-transit funds are reverted to their InFlow balance. Offer to retry |\n\n**Two-step path.** Use this when the agent\'s host can\'t block I/O long enough for the user to approve (chat UIs that yield between turns). Drop `--interval`; the first call returns `transaction_id` + `approval_id` + `approval_url` + a `_next` `status` command, and the agent drives the replay itself once a credential arrives.\n\n```bash\ninflow <mpp|x402> pay <url>\n# -> { "transaction_id": "txn_abc", "approval_id": "appr_xyz", "approval_url": "https://app.inflowpay.ai/approvals/appr_xyz", "_next": { "command": "<mpp|x402> status txn_abc --interval 5 --max-attempts 180" } }\n```\n\nMind the two distinct ids: poll, replay, and resume all use `transaction_id`; **cancel uses `approval_id`** (`inflow <mpp|x402> cancel <approval_id>`). Both are returned by `pay`.\n\nFor non-GET requests, pass `--method`, `--data`, `--header` (repeatable):\n\n```bash\ninflow <mpp|x402> pay https://seller.example.com/api/widgets --method POST --data \'{"sku":"widget-1"}\' --header "X-Custom: value" --interval 5 --max-attempts 180\n```\n\n**Idempotency (x402 only).** Set `--payment-id <id>` whenever a retry on transport failure is possible - the server treats two requests with the same id as the same logical payment, so a retry after a network blip won\'t double-charge. Use a stable random opaque value generated once per intent; reuse the same id on transport retry; regenerate only when the user explicitly wants a fresh charge. Don\'t tie the id to wall-clock time - a date-based id silently double-charges on next-day "buy this again" requests. Without `--payment-id`, the server generates one each call - fine for one-shots, unsafe for retries. (Format constraints: `inflow x402 pay --schema`.)\n\n```bash\ninflow x402 pay <url> --payment-id "<stable-opaque-id>"\n```\n\n**Sensitive / binary output.** The one-time bearer credential (`credential` for MPP, `encoded_payload` for x402; returned after approval and echoed in the fast-path result) must not be echoed back in chat. Write it to disk at mode `0o600` with your protocol\'s flag (`--credential-file <path>` for MPP, `--payload-file <path>` for x402); replay then reads from that file. For the seller\'s response body, `--output-file <path>` writes bytes to disk and replaces `body` / `body_base64` with `output_saved_to: <path>` - pair with `--no-show-body` for binary content (PDFs, images, audio, datasets) so bytes never appear inline as base64:\n\n```bash\ninflow <mpp|x402> pay https://api.foo.dev/dataset.csv --interval 5 --max-attempts 180 --output-file /tmp/dataset.csv --no-show-body\n```\n\n**Polling discipline.** Persist `transaction_id` as soon as `pay` returns it. Then:\n\n- Run `_next.command` (or `<mpp|x402> status <transaction_id> --interval N`) immediately. Don\'t wait for the user to confirm before polling starts.\n- If polling is interrupted - network drop, session bounce, user kills the agent - resume with `inflow <mpp|x402> status <transaction_id> --interval 5 --max-attempts 180`. Only create a new transaction if the original expired (`PAYMENT_EXPIRED` for MPP, `APPROVAL_TIMEOUT` for x402), was denied/cancelled, or its credential is already consumed.\n- If `POLLING_TIMEOUT` fires before approval, ask the user whether to keep waiting or cancel - don\'t silently restart the poll.\n- If >12 minutes elapsed without a user response (\u22483 min before the 15-minute approval window closes), surface that explicitly so they can act before the window closes.\n- If the user aborts ("nevermind", "cancel that"), call `inflow <mpp|x402> cancel <approval_id>` before exiting. Otherwise the approval sits pending for 15 minutes and triggers phantom notifications in the user\'s InFlow app.\n\nOnce `status` reports the credential (MPP: `state: ready` with `credential`; x402: `encoded_payload`), replay the original seller request with your protocol\'s replay header from the delta table - `Authorization: Payment <credential>` (MPP) or `PAYMENT-SIGNATURE: <encoded_payload>` (x402); use `$(cat <file>)` if you wrote it to disk with `--credential-file` / `--payload-file`. The seller\'s protected response comes back on the replay.\n\n### Limits\n\n| Limit | Value |\n| --- | --- |\n| Approval window | 15 minutes from `pay` creating the transaction (`--timeout` overrides the polling deadline) |\n| Polling stop condition | Polling ends at whichever fires first: `--max-attempts` (count, default `0` = unlimited) or `--timeout` (seconds, default `900` = the full 15-min window). The examples use `--interval 5 --max-attempts 180` (= 900 s) so a copied command covers the whole window - `--interval 5 --max-attempts 60` (= 300 s) would stop polling at 5 min, well before approval can land |\n| Credential reuse | One-time. The credential (`credential` for MPP, `encoded_payload` for x402) is consumed by the first seller replay - not reusable; a failed seller call requires a new `pay` |\n\n### Worked example (MPP)\n\nA user asks the agent to fetch a paywalled dataset at `https://api.foo.dev/dataset.csv`.\n\nPre-flight: `inflow inspect <url>` reports `detected: ["mpp"]` with the seller\'s challenges; then `inflow mpp supported` (methods the buyer can pay with) and `inflow balances list`. The seller offers the `inflow` method in USDC; the user\'s 100.5 USDC balance covers the 0.10 USDC price. Summarize intent, then pay:\n\n```bash\ninflow mpp pay https://api.foo.dev/dataset.csv --interval 5 --max-attempts 180 --output-file /tmp/dataset.csv --no-show-body\n# Persist transaction_id from the response in case polling is interrupted.\n# Returns outcome "paid" with output_saved_to /tmp/dataset.csv.\n```\n\n> "Approval requested - confirm in the InFlow app: https://app.inflowpay.ai/approvals/appr_xyz\n> I\'ll keep polling. 15-min window."\n\nOnce the result arrives:\n\n> "Paid 0.10 USDC. Transaction txn_abc. Saved the dataset to /tmp/dataset.csv."\n\n**Two-step variant** (host can\'t block): follow Step 2\'s two-step path; once `mpp status` reports `state: ready`, replay with `Authorization: Payment <credential>` (or `$(cat <path>)` via `--credential-file` to keep it out of chat).\n\n### Worked example (x402)\n\nA user asks the agent to fetch a paywalled article at `https://api.foo.dev/article-3`.\n\nPre-flight: `inflow inspect <url>` reports `detected: ["x402"]`; the intersection lands on `exact` \xD7 `solana:mainnet`, and the user\'s 100.5 USDC balance easily covers the 0.10 USDC the seller requires. Proceed.\n\n> "I\'m about to pay 0.10 USDC on Solana mainnet to api.foo.dev for /article-3.\n> Your balance is 100.5 USDC - plenty. Requesting approval next."\n\n```bash\ninflow x402 pay https://api.foo.dev/article-3 --payment-id "<stable-opaque-id>" --interval 5 --max-attempts 180\n# Persist transaction_id from the response in case polling gets interrupted.\n# Returns outcome "paid"; body contains the article JSON.\n```\n\n> "Approval requested - confirm in the InFlow app: https://app.inflowpay.ai/approvals/appr_xyz\n> I\'ll keep polling. 15-min window."\n\nOnce the result arrives:\n\n> "Paid 0.10 USDC. Transaction txn_abc. Server returned: \'How to brew coffee - ...\'"\n\n**Two-step variant** (host can\'t block): follow Step 2\'s two-step path; once `x402 status` returns the `encoded_payload`, replay with `PAYMENT-SIGNATURE: <encoded_payload>` (use `--payload-file` to keep it out of chat).\n\n### MPP errors\n\nAll errors in agent mode are JSON with `code` and `message` fields and exit code 1. MPP-specific codes (shared codes are in [\xA7 Shared errors](#shared-errors)). "What to tell the user" is the prompt to surface - don\'t dump the raw error:\n\n| Error code | Recovery | What to tell the user |\n| --- | --- | --- |\n| `PAYMENT_FAILED` | `inflow mpp status <transaction_id>` for the precise state, then create a new transaction with `inflow mpp pay`. (Terminal `failed` state, or no credential produced.) | "The payment didn\'t go through - it was declined, underfunded, or the transaction failed. Want me to try again, switch funding, or stop?" |\n| `PAYMENT_EXPIRED` | Start a new `inflow mpp pay`. | "The payment window expired before it was ready to settle. Want me to start a new one, or stop here?" |\n| `PAYMENT_NOT_ACCEPTED` | `inflow inspect <url>` to re-check the challenge; adjust and retry. | - |\n\n### x402 errors\n\nAll errors in agent mode are JSON with `code` and `message` fields and exit code 1. x402-specific codes (shared codes are in [\xA7 Shared errors](#shared-errors)). "What to tell the user" is the prompt to surface - don\'t dump the raw error:\n\n| Error code | Recovery | What to tell the user |\n| --- | --- | --- |\n| `APPROVAL_TIMEOUT` | `inflow x402 status <transaction_id>` for the precise reason, then create a new transaction. | "You didn\'t approve within 15 minutes, so the request expired. Want me to start a new payment, or stop here?" |\n| `APPROVAL_FAILED` | Same recovery as `APPROVAL_TIMEOUT` (declined / insufficient funds in the matched asset / generic). | "Approval didn\'t go through (declined or insufficient funds in the matched asset). Want me to try a different funding source, top up, or stop?" |\n| `APPROVAL_CANCELLED` | Same recovery (cancelled via `x402 cancel` or server-side). | "You cancelled the approval. Stopping here unless you want to start a new payment." |\n| `INVALID_PAYMENT_ID` | `--payment-id` violated the format (see `inflow x402 pay --schema`). Adjust or omit the payment id. | - |\n\n---\n\n## Security & data handling\n\nApplies to both protocols.\n\n- Treat OAuth tokens and API keys as secrets - never echo them. The one-time bearer credential (`encoded_payload` for x402, `credential` for MPP) returned after approval should be replayed directly against the seller and discarded, not pasted back to the user.\n- Respect `/agents.txt` and `/llm.txt` on sites you browse.\n- Avoid suspicious 402 endpoints - if the domain doesn\'t match what the user asked to pay, or the price is different from expectation, stop and ask.\n- When displaying deposit addresses to the user, print the full address (don\'t truncate). Truncating breaks copy-paste.\n\n## Shared errors\n\nThese apply to both protocols (in addition to each section\'s protocol-specific codes). All are JSON with `code` and `message` and exit code 1. Where a command is protocol-specific, use your prefix (`<mpp|x402>`). "What to tell the user" is the prompt to surface - don\'t dump the raw error:\n\n| Error code | Recovery | What to tell the user |\n| --- | --- | --- |\n| `NOT_AUTHENTICATED` | No saved device token and no `--api-key` / `INFLOW_API_KEY` configured. Run `inflow auth login` or set the API key env var. | - |\n| `NO_INFLOW_MATCH` | Seller\'s rails aren\'t supported by the account. Fund a matching method/chain, or use a different seller. | "The seller wants `<method/rail or scheme\xD7network>`, but your account can\'t pay on that rail. Either fund a matching method, or pick a different seller." |\n| `NO_FILTERED_MATCH` | A `pay` filter emptied the candidate list. Loosen the filter (flags per the delta table), or re-check the seller\'s unfiltered options with `inflow inspect <url>`. | "Your filter removed every option the seller accepts. Loosen it or re-check the seller\'s options with `inflow inspect`." |\n| `INVALID_402` / `DECODE_FAILED` | Seller returned 402 but the protocol\'s header was missing (`INVALID_402`) or unparseable (`DECODE_FAILED`). Verify the URL is payable; pass the raw header to `inflow <mpp|x402> decode` for the detailed parse error. | - |\n| `POLLING_TIMEOUT` | `--interval` polling reached its max-attempts or timeout. Retryable - resume with `inflow <mpp|x402> status <transaction_id> --interval 5 --max-attempts 180`. | "Still waiting on your approval - want me to keep polling, or cancel the request? (`inflow <mpp|x402> cancel <approval_id>` cancels it.)" |\n| `api_error` | Non-2xx from the InFlow API on the plain data calls (`user`, `balances`, `deposit-addresses`); discriminate on `httpStatus`. `401` - saved auth rejected, re-run `inflow auth login`. `426` (`VERSION_UNSUPPORTED`) - upgrade and retry. `5xx` - server-side; wait and retry. (Note: `pay`/`status` rejections instead surface the server\'s own code, e.g. `INSUFFICIENT_FUNDS`, or the protocol\'s terminal code - not `api_error`.) | - |\n| `VERSION_UNSUPPORTED` / HTTP 426 | Installed `inflow` CLI is below the minimum supported version. `npm install -g @inflowpayai/inflow@latest`, then retry; don\'t retry on the old version. | - |\n| `transport_error` | Network failure - check connectivity; retry. | - |\n\n## Out of scope\n\nThis skill covers programmatic HTTP 402 payments (MPP and x402) only. It does NOT handle:\n\n- **Traditional merchant checkouts** No PANs (credit card forms, hosted checkouts).\n- **Card issuance** or wallet management beyond `balances list` and `deposit-addresses list`.\n- **Refunds, disputes, chargebacks** - handled out of band via support.\n- **Peer-to-peer transfers** between users or wallets.\n- **FX / currency conversion.** Buyer logic matches the seller\'s accepted rails against the account\'s supported assets.\n- **Subscriptions / recurring payments.** Each `pay` is one-shot.\n\nFor any of the above, point the user to https://app.inflowpay.ai or support.\n\n## Further docs\n\n- MPP protocol: https://mpp.dev\n- x402 protocol: https://x402.org\n- InFlow: https://app.inflowpay.ai\n' };
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
|
|
30
41
|
// ../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/code.js
|
|
31
42
|
var require_code = __commonJS({
|
|
32
43
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/code.js"(exports) {
|
|
33
44
|
"use strict";
|
|
45
|
+
init_define_SKILL_BODIES();
|
|
34
46
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
47
|
exports.regexpCode = exports.getEsmExportName = exports.getProperty = exports.safeStringify = exports.stringify = exports.strConcat = exports.addCodeArg = exports.str = exports._ = exports.nil = exports._Code = exports.Name = exports.IDENTIFIER = exports._CodeOrName = void 0;
|
|
36
48
|
var _CodeOrName = class {
|
|
@@ -185,6 +197,7 @@ var require_code = __commonJS({
|
|
|
185
197
|
var require_scope = __commonJS({
|
|
186
198
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/scope.js"(exports) {
|
|
187
199
|
"use strict";
|
|
200
|
+
init_define_SKILL_BODIES();
|
|
188
201
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
189
202
|
exports.ValueScope = exports.ValueScopeName = exports.Scope = exports.varKinds = exports.UsedValueState = void 0;
|
|
190
203
|
var code_1 = require_code();
|
|
@@ -330,6 +343,7 @@ var require_scope = __commonJS({
|
|
|
330
343
|
var require_codegen = __commonJS({
|
|
331
344
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/index.js"(exports) {
|
|
332
345
|
"use strict";
|
|
346
|
+
init_define_SKILL_BODIES();
|
|
333
347
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
334
348
|
exports.or = exports.and = exports.not = exports.CodeGen = exports.operators = exports.varKinds = exports.ValueScopeName = exports.ValueScope = exports.Scope = exports.Name = exports.regexpCode = exports.stringify = exports.getProperty = exports.nil = exports.strConcat = exports.str = exports._ = void 0;
|
|
335
349
|
var code_1 = require_code();
|
|
@@ -1050,6 +1064,7 @@ var require_codegen = __commonJS({
|
|
|
1050
1064
|
var require_util = __commonJS({
|
|
1051
1065
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/util.js"(exports) {
|
|
1052
1066
|
"use strict";
|
|
1067
|
+
init_define_SKILL_BODIES();
|
|
1053
1068
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1054
1069
|
exports.checkStrictMode = exports.getErrorPath = exports.Type = exports.useFunc = exports.setEvaluated = exports.evaluatedPropsToName = exports.mergeEvaluated = exports.eachItem = exports.unescapeJsonPointer = exports.escapeJsonPointer = exports.escapeFragment = exports.unescapeFragment = exports.schemaRefOrVal = exports.schemaHasRulesButRef = exports.schemaHasRules = exports.checkUnknownRules = exports.alwaysValidSchema = exports.toHash = void 0;
|
|
1055
1070
|
var codegen_1 = require_codegen();
|
|
@@ -1217,6 +1232,7 @@ var require_util = __commonJS({
|
|
|
1217
1232
|
var require_names = __commonJS({
|
|
1218
1233
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/names.js"(exports) {
|
|
1219
1234
|
"use strict";
|
|
1235
|
+
init_define_SKILL_BODIES();
|
|
1220
1236
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1221
1237
|
var codegen_1 = require_codegen();
|
|
1222
1238
|
var names = {
|
|
@@ -1256,6 +1272,7 @@ var require_names = __commonJS({
|
|
|
1256
1272
|
var require_errors = __commonJS({
|
|
1257
1273
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/errors.js"(exports) {
|
|
1258
1274
|
"use strict";
|
|
1275
|
+
init_define_SKILL_BODIES();
|
|
1259
1276
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1260
1277
|
exports.extendErrors = exports.resetErrorsCount = exports.reportExtraError = exports.reportError = exports.keyword$DataError = exports.keywordError = void 0;
|
|
1261
1278
|
var codegen_1 = require_codegen();
|
|
@@ -1378,6 +1395,7 @@ var require_errors = __commonJS({
|
|
|
1378
1395
|
var require_boolSchema = __commonJS({
|
|
1379
1396
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/boolSchema.js"(exports) {
|
|
1380
1397
|
"use strict";
|
|
1398
|
+
init_define_SKILL_BODIES();
|
|
1381
1399
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1382
1400
|
exports.boolOrEmptySchema = exports.topBoolOrEmptySchema = void 0;
|
|
1383
1401
|
var errors_1 = require_errors();
|
|
@@ -1429,6 +1447,7 @@ var require_boolSchema = __commonJS({
|
|
|
1429
1447
|
var require_rules = __commonJS({
|
|
1430
1448
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/rules.js"(exports) {
|
|
1431
1449
|
"use strict";
|
|
1450
|
+
init_define_SKILL_BODIES();
|
|
1432
1451
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1433
1452
|
exports.getRules = exports.isJSONType = void 0;
|
|
1434
1453
|
var _jsonTypes = ["string", "number", "integer", "boolean", "null", "object", "array"];
|
|
@@ -1460,6 +1479,7 @@ var require_rules = __commonJS({
|
|
|
1460
1479
|
var require_applicability = __commonJS({
|
|
1461
1480
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/applicability.js"(exports) {
|
|
1462
1481
|
"use strict";
|
|
1482
|
+
init_define_SKILL_BODIES();
|
|
1463
1483
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1464
1484
|
exports.shouldUseRule = exports.shouldUseGroup = exports.schemaHasRulesForType = void 0;
|
|
1465
1485
|
function schemaHasRulesForType({ schema, self }, type) {
|
|
@@ -1483,6 +1503,7 @@ var require_applicability = __commonJS({
|
|
|
1483
1503
|
var require_dataType = __commonJS({
|
|
1484
1504
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/dataType.js"(exports) {
|
|
1485
1505
|
"use strict";
|
|
1506
|
+
init_define_SKILL_BODIES();
|
|
1486
1507
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1487
1508
|
exports.reportTypeError = exports.checkDataTypes = exports.checkDataType = exports.coerceAndCheckDataType = exports.getJSONTypes = exports.getSchemaTypes = exports.DataType = void 0;
|
|
1488
1509
|
var rules_1 = require_rules();
|
|
@@ -1667,6 +1688,7 @@ var require_dataType = __commonJS({
|
|
|
1667
1688
|
var require_defaults = __commonJS({
|
|
1668
1689
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/defaults.js"(exports) {
|
|
1669
1690
|
"use strict";
|
|
1691
|
+
init_define_SKILL_BODIES();
|
|
1670
1692
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1671
1693
|
exports.assignDefaults = void 0;
|
|
1672
1694
|
var codegen_1 = require_codegen();
|
|
@@ -1704,6 +1726,7 @@ var require_defaults = __commonJS({
|
|
|
1704
1726
|
var require_code2 = __commonJS({
|
|
1705
1727
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/code.js"(exports) {
|
|
1706
1728
|
"use strict";
|
|
1729
|
+
init_define_SKILL_BODIES();
|
|
1707
1730
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1708
1731
|
exports.validateUnion = exports.validateArray = exports.usePattern = exports.callValidateCode = exports.schemaProperties = exports.allSchemaProperties = exports.noPropertyInData = exports.propertyInData = exports.isOwnProperty = exports.hasPropFunc = exports.reportMissingProp = exports.checkMissingProp = exports.checkReportMissingProp = void 0;
|
|
1709
1732
|
var codegen_1 = require_codegen();
|
|
@@ -1837,6 +1860,7 @@ var require_code2 = __commonJS({
|
|
|
1837
1860
|
var require_keyword = __commonJS({
|
|
1838
1861
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/keyword.js"(exports) {
|
|
1839
1862
|
"use strict";
|
|
1863
|
+
init_define_SKILL_BODIES();
|
|
1840
1864
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1841
1865
|
exports.validateKeywordUsage = exports.validSchemaType = exports.funcKeywordCode = exports.macroKeywordCode = void 0;
|
|
1842
1866
|
var codegen_1 = require_codegen();
|
|
@@ -1955,6 +1979,7 @@ var require_keyword = __commonJS({
|
|
|
1955
1979
|
var require_subschema = __commonJS({
|
|
1956
1980
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/subschema.js"(exports) {
|
|
1957
1981
|
"use strict";
|
|
1982
|
+
init_define_SKILL_BODIES();
|
|
1958
1983
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1959
1984
|
exports.extendSubschemaMode = exports.extendSubschemaData = exports.getSubschema = void 0;
|
|
1960
1985
|
var codegen_1 = require_codegen();
|
|
@@ -2038,6 +2063,7 @@ var require_subschema = __commonJS({
|
|
|
2038
2063
|
var require_fast_deep_equal = __commonJS({
|
|
2039
2064
|
"../../node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js"(exports, module) {
|
|
2040
2065
|
"use strict";
|
|
2066
|
+
init_define_SKILL_BODIES();
|
|
2041
2067
|
module.exports = function equal(a, b) {
|
|
2042
2068
|
if (a === b) return true;
|
|
2043
2069
|
if (a && b && typeof a == "object" && typeof b == "object") {
|
|
@@ -2073,6 +2099,7 @@ var require_fast_deep_equal = __commonJS({
|
|
|
2073
2099
|
var require_json_schema_traverse = __commonJS({
|
|
2074
2100
|
"../../node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js"(exports, module) {
|
|
2075
2101
|
"use strict";
|
|
2102
|
+
init_define_SKILL_BODIES();
|
|
2076
2103
|
var traverse = module.exports = function(schema, opts, cb) {
|
|
2077
2104
|
if (typeof opts == "function") {
|
|
2078
2105
|
cb = opts;
|
|
@@ -2161,6 +2188,7 @@ var require_json_schema_traverse = __commonJS({
|
|
|
2161
2188
|
var require_resolve = __commonJS({
|
|
2162
2189
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/resolve.js"(exports) {
|
|
2163
2190
|
"use strict";
|
|
2191
|
+
init_define_SKILL_BODIES();
|
|
2164
2192
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2165
2193
|
exports.getSchemaRefs = exports.resolveUrl = exports.normalizeId = exports._getFullPath = exports.getFullPath = exports.inlineRef = void 0;
|
|
2166
2194
|
var util_1 = require_util();
|
|
@@ -2317,6 +2345,7 @@ var require_resolve = __commonJS({
|
|
|
2317
2345
|
var require_validate = __commonJS({
|
|
2318
2346
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/index.js"(exports) {
|
|
2319
2347
|
"use strict";
|
|
2348
|
+
init_define_SKILL_BODIES();
|
|
2320
2349
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2321
2350
|
exports.getData = exports.KeywordCxt = exports.validateFunctionCode = void 0;
|
|
2322
2351
|
var boolSchema_1 = require_boolSchema();
|
|
@@ -2825,6 +2854,7 @@ var require_validate = __commonJS({
|
|
|
2825
2854
|
var require_validation_error = __commonJS({
|
|
2826
2855
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/validation_error.js"(exports) {
|
|
2827
2856
|
"use strict";
|
|
2857
|
+
init_define_SKILL_BODIES();
|
|
2828
2858
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2829
2859
|
var ValidationError = class extends Error {
|
|
2830
2860
|
constructor(errors) {
|
|
@@ -2841,6 +2871,7 @@ var require_validation_error = __commonJS({
|
|
|
2841
2871
|
var require_ref_error = __commonJS({
|
|
2842
2872
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/ref_error.js"(exports) {
|
|
2843
2873
|
"use strict";
|
|
2874
|
+
init_define_SKILL_BODIES();
|
|
2844
2875
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2845
2876
|
var resolve_1 = require_resolve();
|
|
2846
2877
|
var MissingRefError = class extends Error {
|
|
@@ -2858,6 +2889,7 @@ var require_ref_error = __commonJS({
|
|
|
2858
2889
|
var require_compile = __commonJS({
|
|
2859
2890
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/index.js"(exports) {
|
|
2860
2891
|
"use strict";
|
|
2892
|
+
init_define_SKILL_BODIES();
|
|
2861
2893
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2862
2894
|
exports.resolveSchema = exports.getCompilingSchema = exports.resolveRef = exports.compileSchema = exports.SchemaEnv = void 0;
|
|
2863
2895
|
var codegen_1 = require_codegen();
|
|
@@ -3101,6 +3133,7 @@ var require_data = __commonJS({
|
|
|
3101
3133
|
var require_utils = __commonJS({
|
|
3102
3134
|
"../../node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/lib/utils.js"(exports, module) {
|
|
3103
3135
|
"use strict";
|
|
3136
|
+
init_define_SKILL_BODIES();
|
|
3104
3137
|
var isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);
|
|
3105
3138
|
var isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);
|
|
3106
3139
|
var isHexPair = RegExp.prototype.test.bind(/^[\da-f]{2}$/iu);
|
|
@@ -3414,6 +3447,7 @@ var require_utils = __commonJS({
|
|
|
3414
3447
|
var require_schemes = __commonJS({
|
|
3415
3448
|
"../../node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/lib/schemes.js"(exports, module) {
|
|
3416
3449
|
"use strict";
|
|
3450
|
+
init_define_SKILL_BODIES();
|
|
3417
3451
|
var { isUUID } = require_utils();
|
|
3418
3452
|
var URN_REG = /([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;
|
|
3419
3453
|
var supportedSchemeNames = (
|
|
@@ -3624,6 +3658,7 @@ var require_schemes = __commonJS({
|
|
|
3624
3658
|
var require_fast_uri = __commonJS({
|
|
3625
3659
|
"../../node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/index.js"(exports, module) {
|
|
3626
3660
|
"use strict";
|
|
3661
|
+
init_define_SKILL_BODIES();
|
|
3627
3662
|
var { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizePercentEncoding, normalizePathEncoding, escapePreservingEscapes, reescapeHostDelimiters, isIPv4, nonSimpleDomain } = require_utils();
|
|
3628
3663
|
var { SCHEMES, getSchemeHandler } = require_schemes();
|
|
3629
3664
|
function normalize(uri, options) {
|
|
@@ -3910,6 +3945,7 @@ var require_fast_uri = __commonJS({
|
|
|
3910
3945
|
var require_uri = __commonJS({
|
|
3911
3946
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/uri.js"(exports) {
|
|
3912
3947
|
"use strict";
|
|
3948
|
+
init_define_SKILL_BODIES();
|
|
3913
3949
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3914
3950
|
var uri = require_fast_uri();
|
|
3915
3951
|
uri.code = 'require("ajv/dist/runtime/uri").default';
|
|
@@ -3921,6 +3957,7 @@ var require_uri = __commonJS({
|
|
|
3921
3957
|
var require_core = __commonJS({
|
|
3922
3958
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/core.js"(exports) {
|
|
3923
3959
|
"use strict";
|
|
3960
|
+
init_define_SKILL_BODIES();
|
|
3924
3961
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3925
3962
|
exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = void 0;
|
|
3926
3963
|
var validate_1 = require_validate();
|
|
@@ -4532,6 +4569,7 @@ var require_core = __commonJS({
|
|
|
4532
4569
|
var require_id = __commonJS({
|
|
4533
4570
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/id.js"(exports) {
|
|
4534
4571
|
"use strict";
|
|
4572
|
+
init_define_SKILL_BODIES();
|
|
4535
4573
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4536
4574
|
var def = {
|
|
4537
4575
|
keyword: "id",
|
|
@@ -4547,6 +4585,7 @@ var require_id = __commonJS({
|
|
|
4547
4585
|
var require_ref = __commonJS({
|
|
4548
4586
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/ref.js"(exports) {
|
|
4549
4587
|
"use strict";
|
|
4588
|
+
init_define_SKILL_BODIES();
|
|
4550
4589
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4551
4590
|
exports.callRef = exports.getValidate = void 0;
|
|
4552
4591
|
var ref_error_1 = require_ref_error();
|
|
@@ -4669,6 +4708,7 @@ var require_ref = __commonJS({
|
|
|
4669
4708
|
var require_core2 = __commonJS({
|
|
4670
4709
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/index.js"(exports) {
|
|
4671
4710
|
"use strict";
|
|
4711
|
+
init_define_SKILL_BODIES();
|
|
4672
4712
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4673
4713
|
var id_1 = require_id();
|
|
4674
4714
|
var ref_1 = require_ref();
|
|
@@ -4690,6 +4730,7 @@ var require_core2 = __commonJS({
|
|
|
4690
4730
|
var require_limitNumber = __commonJS({
|
|
4691
4731
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js"(exports) {
|
|
4692
4732
|
"use strict";
|
|
4733
|
+
init_define_SKILL_BODIES();
|
|
4693
4734
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4694
4735
|
var codegen_1 = require_codegen();
|
|
4695
4736
|
var ops = codegen_1.operators;
|
|
@@ -4722,6 +4763,7 @@ var require_limitNumber = __commonJS({
|
|
|
4722
4763
|
var require_multipleOf = __commonJS({
|
|
4723
4764
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js"(exports) {
|
|
4724
4765
|
"use strict";
|
|
4766
|
+
init_define_SKILL_BODIES();
|
|
4725
4767
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4726
4768
|
var codegen_1 = require_codegen();
|
|
4727
4769
|
var error = {
|
|
@@ -4750,6 +4792,7 @@ var require_multipleOf = __commonJS({
|
|
|
4750
4792
|
var require_ucs2length = __commonJS({
|
|
4751
4793
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/ucs2length.js"(exports) {
|
|
4752
4794
|
"use strict";
|
|
4795
|
+
init_define_SKILL_BODIES();
|
|
4753
4796
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4754
4797
|
function ucs2length(str) {
|
|
4755
4798
|
const len = str.length;
|
|
@@ -4776,6 +4819,7 @@ var require_ucs2length = __commonJS({
|
|
|
4776
4819
|
var require_limitLength = __commonJS({
|
|
4777
4820
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js"(exports) {
|
|
4778
4821
|
"use strict";
|
|
4822
|
+
init_define_SKILL_BODIES();
|
|
4779
4823
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4780
4824
|
var codegen_1 = require_codegen();
|
|
4781
4825
|
var util_1 = require_util();
|
|
@@ -4808,6 +4852,7 @@ var require_limitLength = __commonJS({
|
|
|
4808
4852
|
var require_pattern = __commonJS({
|
|
4809
4853
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/pattern.js"(exports) {
|
|
4810
4854
|
"use strict";
|
|
4855
|
+
init_define_SKILL_BODIES();
|
|
4811
4856
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4812
4857
|
var code_1 = require_code2();
|
|
4813
4858
|
var util_1 = require_util();
|
|
@@ -4845,6 +4890,7 @@ var require_pattern = __commonJS({
|
|
|
4845
4890
|
var require_limitProperties = __commonJS({
|
|
4846
4891
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js"(exports) {
|
|
4847
4892
|
"use strict";
|
|
4893
|
+
init_define_SKILL_BODIES();
|
|
4848
4894
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4849
4895
|
var codegen_1 = require_codegen();
|
|
4850
4896
|
var error = {
|
|
@@ -4874,6 +4920,7 @@ var require_limitProperties = __commonJS({
|
|
|
4874
4920
|
var require_required = __commonJS({
|
|
4875
4921
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/required.js"(exports) {
|
|
4876
4922
|
"use strict";
|
|
4923
|
+
init_define_SKILL_BODIES();
|
|
4877
4924
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4878
4925
|
var code_1 = require_code2();
|
|
4879
4926
|
var codegen_1 = require_codegen();
|
|
@@ -4956,6 +5003,7 @@ var require_required = __commonJS({
|
|
|
4956
5003
|
var require_limitItems = __commonJS({
|
|
4957
5004
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js"(exports) {
|
|
4958
5005
|
"use strict";
|
|
5006
|
+
init_define_SKILL_BODIES();
|
|
4959
5007
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4960
5008
|
var codegen_1 = require_codegen();
|
|
4961
5009
|
var error = {
|
|
@@ -4985,6 +5033,7 @@ var require_limitItems = __commonJS({
|
|
|
4985
5033
|
var require_equal = __commonJS({
|
|
4986
5034
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/equal.js"(exports) {
|
|
4987
5035
|
"use strict";
|
|
5036
|
+
init_define_SKILL_BODIES();
|
|
4988
5037
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4989
5038
|
var equal = require_fast_deep_equal();
|
|
4990
5039
|
equal.code = 'require("ajv/dist/runtime/equal").default';
|
|
@@ -4996,6 +5045,7 @@ var require_equal = __commonJS({
|
|
|
4996
5045
|
var require_uniqueItems = __commonJS({
|
|
4997
5046
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js"(exports) {
|
|
4998
5047
|
"use strict";
|
|
5048
|
+
init_define_SKILL_BODIES();
|
|
4999
5049
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5000
5050
|
var dataType_1 = require_dataType();
|
|
5001
5051
|
var codegen_1 = require_codegen();
|
|
@@ -5063,6 +5113,7 @@ var require_uniqueItems = __commonJS({
|
|
|
5063
5113
|
var require_const = __commonJS({
|
|
5064
5114
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/const.js"(exports) {
|
|
5065
5115
|
"use strict";
|
|
5116
|
+
init_define_SKILL_BODIES();
|
|
5066
5117
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5067
5118
|
var codegen_1 = require_codegen();
|
|
5068
5119
|
var util_1 = require_util();
|
|
@@ -5092,6 +5143,7 @@ var require_const = __commonJS({
|
|
|
5092
5143
|
var require_enum = __commonJS({
|
|
5093
5144
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/enum.js"(exports) {
|
|
5094
5145
|
"use strict";
|
|
5146
|
+
init_define_SKILL_BODIES();
|
|
5095
5147
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5096
5148
|
var codegen_1 = require_codegen();
|
|
5097
5149
|
var util_1 = require_util();
|
|
@@ -5141,6 +5193,7 @@ var require_enum = __commonJS({
|
|
|
5141
5193
|
var require_validation = __commonJS({
|
|
5142
5194
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/index.js"(exports) {
|
|
5143
5195
|
"use strict";
|
|
5196
|
+
init_define_SKILL_BODIES();
|
|
5144
5197
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5145
5198
|
var limitNumber_1 = require_limitNumber();
|
|
5146
5199
|
var multipleOf_1 = require_multipleOf();
|
|
@@ -5179,6 +5232,7 @@ var require_validation = __commonJS({
|
|
|
5179
5232
|
var require_additionalItems = __commonJS({
|
|
5180
5233
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js"(exports) {
|
|
5181
5234
|
"use strict";
|
|
5235
|
+
init_define_SKILL_BODIES();
|
|
5182
5236
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5183
5237
|
exports.validateAdditionalItems = void 0;
|
|
5184
5238
|
var codegen_1 = require_codegen();
|
|
@@ -5232,6 +5286,7 @@ var require_additionalItems = __commonJS({
|
|
|
5232
5286
|
var require_items = __commonJS({
|
|
5233
5287
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items.js"(exports) {
|
|
5234
5288
|
"use strict";
|
|
5289
|
+
init_define_SKILL_BODIES();
|
|
5235
5290
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5236
5291
|
exports.validateTuple = void 0;
|
|
5237
5292
|
var codegen_1 = require_codegen();
|
|
@@ -5289,6 +5344,7 @@ var require_items = __commonJS({
|
|
|
5289
5344
|
var require_prefixItems = __commonJS({
|
|
5290
5345
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js"(exports) {
|
|
5291
5346
|
"use strict";
|
|
5347
|
+
init_define_SKILL_BODIES();
|
|
5292
5348
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5293
5349
|
var items_1 = require_items();
|
|
5294
5350
|
var def = {
|
|
@@ -5306,6 +5362,7 @@ var require_prefixItems = __commonJS({
|
|
|
5306
5362
|
var require_items2020 = __commonJS({
|
|
5307
5363
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js"(exports) {
|
|
5308
5364
|
"use strict";
|
|
5365
|
+
init_define_SKILL_BODIES();
|
|
5309
5366
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5310
5367
|
var codegen_1 = require_codegen();
|
|
5311
5368
|
var util_1 = require_util();
|
|
@@ -5341,6 +5398,7 @@ var require_items2020 = __commonJS({
|
|
|
5341
5398
|
var require_contains = __commonJS({
|
|
5342
5399
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/contains.js"(exports) {
|
|
5343
5400
|
"use strict";
|
|
5401
|
+
init_define_SKILL_BODIES();
|
|
5344
5402
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5345
5403
|
var codegen_1 = require_codegen();
|
|
5346
5404
|
var util_1 = require_util();
|
|
@@ -5435,6 +5493,7 @@ var require_contains = __commonJS({
|
|
|
5435
5493
|
var require_dependencies = __commonJS({
|
|
5436
5494
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js"(exports) {
|
|
5437
5495
|
"use strict";
|
|
5496
|
+
init_define_SKILL_BODIES();
|
|
5438
5497
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5439
5498
|
exports.validateSchemaDeps = exports.validatePropertyDeps = exports.error = void 0;
|
|
5440
5499
|
var codegen_1 = require_codegen();
|
|
@@ -5529,6 +5588,7 @@ var require_dependencies = __commonJS({
|
|
|
5529
5588
|
var require_propertyNames = __commonJS({
|
|
5530
5589
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js"(exports) {
|
|
5531
5590
|
"use strict";
|
|
5591
|
+
init_define_SKILL_BODIES();
|
|
5532
5592
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5533
5593
|
var codegen_1 = require_codegen();
|
|
5534
5594
|
var util_1 = require_util();
|
|
@@ -5572,6 +5632,7 @@ var require_propertyNames = __commonJS({
|
|
|
5572
5632
|
var require_additionalProperties = __commonJS({
|
|
5573
5633
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js"(exports) {
|
|
5574
5634
|
"use strict";
|
|
5635
|
+
init_define_SKILL_BODIES();
|
|
5575
5636
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5576
5637
|
var code_1 = require_code2();
|
|
5577
5638
|
var codegen_1 = require_codegen();
|
|
@@ -5678,6 +5739,7 @@ var require_additionalProperties = __commonJS({
|
|
|
5678
5739
|
var require_properties = __commonJS({
|
|
5679
5740
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/properties.js"(exports) {
|
|
5680
5741
|
"use strict";
|
|
5742
|
+
init_define_SKILL_BODIES();
|
|
5681
5743
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5682
5744
|
var validate_1 = require_validate();
|
|
5683
5745
|
var code_1 = require_code2();
|
|
@@ -5736,6 +5798,7 @@ var require_properties = __commonJS({
|
|
|
5736
5798
|
var require_patternProperties = __commonJS({
|
|
5737
5799
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js"(exports) {
|
|
5738
5800
|
"use strict";
|
|
5801
|
+
init_define_SKILL_BODIES();
|
|
5739
5802
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5740
5803
|
var code_1 = require_code2();
|
|
5741
5804
|
var codegen_1 = require_codegen();
|
|
@@ -5810,6 +5873,7 @@ var require_patternProperties = __commonJS({
|
|
|
5810
5873
|
var require_not = __commonJS({
|
|
5811
5874
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/not.js"(exports) {
|
|
5812
5875
|
"use strict";
|
|
5876
|
+
init_define_SKILL_BODIES();
|
|
5813
5877
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5814
5878
|
var util_1 = require_util();
|
|
5815
5879
|
var def = {
|
|
@@ -5841,6 +5905,7 @@ var require_not = __commonJS({
|
|
|
5841
5905
|
var require_anyOf = __commonJS({
|
|
5842
5906
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js"(exports) {
|
|
5843
5907
|
"use strict";
|
|
5908
|
+
init_define_SKILL_BODIES();
|
|
5844
5909
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5845
5910
|
var code_1 = require_code2();
|
|
5846
5911
|
var def = {
|
|
@@ -5858,6 +5923,7 @@ var require_anyOf = __commonJS({
|
|
|
5858
5923
|
var require_oneOf = __commonJS({
|
|
5859
5924
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js"(exports) {
|
|
5860
5925
|
"use strict";
|
|
5926
|
+
init_define_SKILL_BODIES();
|
|
5861
5927
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5862
5928
|
var codegen_1 = require_codegen();
|
|
5863
5929
|
var util_1 = require_util();
|
|
@@ -5916,6 +5982,7 @@ var require_oneOf = __commonJS({
|
|
|
5916
5982
|
var require_allOf = __commonJS({
|
|
5917
5983
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js"(exports) {
|
|
5918
5984
|
"use strict";
|
|
5985
|
+
init_define_SKILL_BODIES();
|
|
5919
5986
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5920
5987
|
var util_1 = require_util();
|
|
5921
5988
|
var def = {
|
|
@@ -5943,6 +6010,7 @@ var require_allOf = __commonJS({
|
|
|
5943
6010
|
var require_if = __commonJS({
|
|
5944
6011
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/if.js"(exports) {
|
|
5945
6012
|
"use strict";
|
|
6013
|
+
init_define_SKILL_BODIES();
|
|
5946
6014
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5947
6015
|
var codegen_1 = require_codegen();
|
|
5948
6016
|
var util_1 = require_util();
|
|
@@ -6012,6 +6080,7 @@ var require_if = __commonJS({
|
|
|
6012
6080
|
var require_thenElse = __commonJS({
|
|
6013
6081
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js"(exports) {
|
|
6014
6082
|
"use strict";
|
|
6083
|
+
init_define_SKILL_BODIES();
|
|
6015
6084
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6016
6085
|
var util_1 = require_util();
|
|
6017
6086
|
var def = {
|
|
@@ -6030,6 +6099,7 @@ var require_thenElse = __commonJS({
|
|
|
6030
6099
|
var require_applicator = __commonJS({
|
|
6031
6100
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/index.js"(exports) {
|
|
6032
6101
|
"use strict";
|
|
6102
|
+
init_define_SKILL_BODIES();
|
|
6033
6103
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6034
6104
|
var additionalItems_1 = require_additionalItems();
|
|
6035
6105
|
var prefixItems_1 = require_prefixItems();
|
|
@@ -6078,6 +6148,7 @@ var require_applicator = __commonJS({
|
|
|
6078
6148
|
var require_dynamicAnchor = __commonJS({
|
|
6079
6149
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js"(exports) {
|
|
6080
6150
|
"use strict";
|
|
6151
|
+
init_define_SKILL_BODIES();
|
|
6081
6152
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6082
6153
|
exports.dynamicAnchor = void 0;
|
|
6083
6154
|
var codegen_1 = require_codegen();
|
|
@@ -6113,6 +6184,7 @@ var require_dynamicAnchor = __commonJS({
|
|
|
6113
6184
|
var require_dynamicRef = __commonJS({
|
|
6114
6185
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js"(exports) {
|
|
6115
6186
|
"use strict";
|
|
6187
|
+
init_define_SKILL_BODIES();
|
|
6116
6188
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6117
6189
|
exports.dynamicRef = void 0;
|
|
6118
6190
|
var codegen_1 = require_codegen();
|
|
@@ -6159,6 +6231,7 @@ var require_dynamicRef = __commonJS({
|
|
|
6159
6231
|
var require_recursiveAnchor = __commonJS({
|
|
6160
6232
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js"(exports) {
|
|
6161
6233
|
"use strict";
|
|
6234
|
+
init_define_SKILL_BODIES();
|
|
6162
6235
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6163
6236
|
var dynamicAnchor_1 = require_dynamicAnchor();
|
|
6164
6237
|
var util_1 = require_util();
|
|
@@ -6180,6 +6253,7 @@ var require_recursiveAnchor = __commonJS({
|
|
|
6180
6253
|
var require_recursiveRef = __commonJS({
|
|
6181
6254
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js"(exports) {
|
|
6182
6255
|
"use strict";
|
|
6256
|
+
init_define_SKILL_BODIES();
|
|
6183
6257
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6184
6258
|
var dynamicRef_1 = require_dynamicRef();
|
|
6185
6259
|
var def = {
|
|
@@ -6195,6 +6269,7 @@ var require_recursiveRef = __commonJS({
|
|
|
6195
6269
|
var require_dynamic = __commonJS({
|
|
6196
6270
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/index.js"(exports) {
|
|
6197
6271
|
"use strict";
|
|
6272
|
+
init_define_SKILL_BODIES();
|
|
6198
6273
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6199
6274
|
var dynamicAnchor_1 = require_dynamicAnchor();
|
|
6200
6275
|
var dynamicRef_1 = require_dynamicRef();
|
|
@@ -6209,6 +6284,7 @@ var require_dynamic = __commonJS({
|
|
|
6209
6284
|
var require_dependentRequired = __commonJS({
|
|
6210
6285
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js"(exports) {
|
|
6211
6286
|
"use strict";
|
|
6287
|
+
init_define_SKILL_BODIES();
|
|
6212
6288
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6213
6289
|
var dependencies_1 = require_dependencies();
|
|
6214
6290
|
var def = {
|
|
@@ -6226,6 +6302,7 @@ var require_dependentRequired = __commonJS({
|
|
|
6226
6302
|
var require_dependentSchemas = __commonJS({
|
|
6227
6303
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js"(exports) {
|
|
6228
6304
|
"use strict";
|
|
6305
|
+
init_define_SKILL_BODIES();
|
|
6229
6306
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6230
6307
|
var dependencies_1 = require_dependencies();
|
|
6231
6308
|
var def = {
|
|
@@ -6242,6 +6319,7 @@ var require_dependentSchemas = __commonJS({
|
|
|
6242
6319
|
var require_limitContains = __commonJS({
|
|
6243
6320
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitContains.js"(exports) {
|
|
6244
6321
|
"use strict";
|
|
6322
|
+
init_define_SKILL_BODIES();
|
|
6245
6323
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6246
6324
|
var util_1 = require_util();
|
|
6247
6325
|
var def = {
|
|
@@ -6262,6 +6340,7 @@ var require_limitContains = __commonJS({
|
|
|
6262
6340
|
var require_next = __commonJS({
|
|
6263
6341
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/next.js"(exports) {
|
|
6264
6342
|
"use strict";
|
|
6343
|
+
init_define_SKILL_BODIES();
|
|
6265
6344
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6266
6345
|
var dependentRequired_1 = require_dependentRequired();
|
|
6267
6346
|
var dependentSchemas_1 = require_dependentSchemas();
|
|
@@ -6275,6 +6354,7 @@ var require_next = __commonJS({
|
|
|
6275
6354
|
var require_unevaluatedProperties = __commonJS({
|
|
6276
6355
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js"(exports) {
|
|
6277
6356
|
"use strict";
|
|
6357
|
+
init_define_SKILL_BODIES();
|
|
6278
6358
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6279
6359
|
var codegen_1 = require_codegen();
|
|
6280
6360
|
var util_1 = require_util();
|
|
@@ -6341,6 +6421,7 @@ var require_unevaluatedProperties = __commonJS({
|
|
|
6341
6421
|
var require_unevaluatedItems = __commonJS({
|
|
6342
6422
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js"(exports) {
|
|
6343
6423
|
"use strict";
|
|
6424
|
+
init_define_SKILL_BODIES();
|
|
6344
6425
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6345
6426
|
var codegen_1 = require_codegen();
|
|
6346
6427
|
var util_1 = require_util();
|
|
@@ -6385,6 +6466,7 @@ var require_unevaluatedItems = __commonJS({
|
|
|
6385
6466
|
var require_unevaluated = __commonJS({
|
|
6386
6467
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/unevaluated/index.js"(exports) {
|
|
6387
6468
|
"use strict";
|
|
6469
|
+
init_define_SKILL_BODIES();
|
|
6388
6470
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6389
6471
|
var unevaluatedProperties_1 = require_unevaluatedProperties();
|
|
6390
6472
|
var unevaluatedItems_1 = require_unevaluatedItems();
|
|
@@ -6397,6 +6479,7 @@ var require_unevaluated = __commonJS({
|
|
|
6397
6479
|
var require_format = __commonJS({
|
|
6398
6480
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/format.js"(exports) {
|
|
6399
6481
|
"use strict";
|
|
6482
|
+
init_define_SKILL_BODIES();
|
|
6400
6483
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6401
6484
|
var codegen_1 = require_codegen();
|
|
6402
6485
|
var error = {
|
|
@@ -6487,6 +6570,7 @@ var require_format = __commonJS({
|
|
|
6487
6570
|
var require_format2 = __commonJS({
|
|
6488
6571
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/index.js"(exports) {
|
|
6489
6572
|
"use strict";
|
|
6573
|
+
init_define_SKILL_BODIES();
|
|
6490
6574
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6491
6575
|
var format_1 = require_format();
|
|
6492
6576
|
var format = [format_1.default];
|
|
@@ -6498,6 +6582,7 @@ var require_format2 = __commonJS({
|
|
|
6498
6582
|
var require_metadata = __commonJS({
|
|
6499
6583
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/metadata.js"(exports) {
|
|
6500
6584
|
"use strict";
|
|
6585
|
+
init_define_SKILL_BODIES();
|
|
6501
6586
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6502
6587
|
exports.contentVocabulary = exports.metadataVocabulary = void 0;
|
|
6503
6588
|
exports.metadataVocabulary = [
|
|
@@ -6521,6 +6606,7 @@ var require_metadata = __commonJS({
|
|
|
6521
6606
|
var require_draft2020 = __commonJS({
|
|
6522
6607
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/draft2020.js"(exports) {
|
|
6523
6608
|
"use strict";
|
|
6609
|
+
init_define_SKILL_BODIES();
|
|
6524
6610
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6525
6611
|
var core_1 = require_core2();
|
|
6526
6612
|
var validation_1 = require_validation();
|
|
@@ -6549,6 +6635,7 @@ var require_draft2020 = __commonJS({
|
|
|
6549
6635
|
var require_types = __commonJS({
|
|
6550
6636
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/types.js"(exports) {
|
|
6551
6637
|
"use strict";
|
|
6638
|
+
init_define_SKILL_BODIES();
|
|
6552
6639
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6553
6640
|
exports.DiscrError = void 0;
|
|
6554
6641
|
var DiscrError;
|
|
@@ -6563,6 +6650,7 @@ var require_types = __commonJS({
|
|
|
6563
6650
|
var require_discriminator = __commonJS({
|
|
6564
6651
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/index.js"(exports) {
|
|
6565
6652
|
"use strict";
|
|
6653
|
+
init_define_SKILL_BODIES();
|
|
6566
6654
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6567
6655
|
var codegen_1 = require_codegen();
|
|
6568
6656
|
var types_1 = require_types();
|
|
@@ -7033,6 +7121,7 @@ var require_validation2 = __commonJS({
|
|
|
7033
7121
|
var require_json_schema_2020_12 = __commonJS({
|
|
7034
7122
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/index.js"(exports) {
|
|
7035
7123
|
"use strict";
|
|
7124
|
+
init_define_SKILL_BODIES();
|
|
7036
7125
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7037
7126
|
var metaSchema = require_schema();
|
|
7038
7127
|
var applicator = require_applicator2();
|
|
@@ -7068,6 +7157,7 @@ var require_json_schema_2020_12 = __commonJS({
|
|
|
7068
7157
|
var require__ = __commonJS({
|
|
7069
7158
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/2020.js"(exports, module) {
|
|
7070
7159
|
"use strict";
|
|
7160
|
+
init_define_SKILL_BODIES();
|
|
7071
7161
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7072
7162
|
exports.MissingRefError = exports.ValidationError = exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = exports.Ajv2020 = void 0;
|
|
7073
7163
|
var core_1 = require_core();
|
|
@@ -7145,6 +7235,7 @@ var require__ = __commonJS({
|
|
|
7145
7235
|
var require_formats = __commonJS({
|
|
7146
7236
|
"../../node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.20.0/node_modules/ajv-formats/dist/formats.js"(exports) {
|
|
7147
7237
|
"use strict";
|
|
7238
|
+
init_define_SKILL_BODIES();
|
|
7148
7239
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7149
7240
|
exports.formatNames = exports.fastFormats = exports.fullFormats = void 0;
|
|
7150
7241
|
function fmtDef(validate, compare) {
|
|
@@ -7348,6 +7439,7 @@ var require_formats = __commonJS({
|
|
|
7348
7439
|
var require_draft7 = __commonJS({
|
|
7349
7440
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/draft7.js"(exports) {
|
|
7350
7441
|
"use strict";
|
|
7442
|
+
init_define_SKILL_BODIES();
|
|
7351
7443
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7352
7444
|
var core_1 = require_core2();
|
|
7353
7445
|
var validation_1 = require_validation();
|
|
@@ -7527,6 +7619,7 @@ var require_json_schema_draft_07 = __commonJS({
|
|
|
7527
7619
|
var require_ajv = __commonJS({
|
|
7528
7620
|
"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/ajv.js"(exports, module) {
|
|
7529
7621
|
"use strict";
|
|
7622
|
+
init_define_SKILL_BODIES();
|
|
7530
7623
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7531
7624
|
exports.MissingRefError = exports.ValidationError = exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = exports.Ajv = void 0;
|
|
7532
7625
|
var core_1 = require_core();
|
|
@@ -7597,6 +7690,7 @@ var require_ajv = __commonJS({
|
|
|
7597
7690
|
var require_limit = __commonJS({
|
|
7598
7691
|
"../../node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.20.0/node_modules/ajv-formats/dist/limit.js"(exports) {
|
|
7599
7692
|
"use strict";
|
|
7693
|
+
init_define_SKILL_BODIES();
|
|
7600
7694
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7601
7695
|
exports.formatLimitDefinition = void 0;
|
|
7602
7696
|
var ajv_1 = require_ajv();
|
|
@@ -7669,6 +7763,7 @@ var require_limit = __commonJS({
|
|
|
7669
7763
|
var require_dist = __commonJS({
|
|
7670
7764
|
"../../node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.20.0/node_modules/ajv-formats/dist/index.js"(exports, module) {
|
|
7671
7765
|
"use strict";
|
|
7766
|
+
init_define_SKILL_BODIES();
|
|
7672
7767
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7673
7768
|
var formats_1 = require_formats();
|
|
7674
7769
|
var limit_1 = require_limit();
|
|
@@ -7711,6 +7806,7 @@ var require_dist = __commonJS({
|
|
|
7711
7806
|
var require_constants = __commonJS({
|
|
7712
7807
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/internal/constants.js"(exports, module) {
|
|
7713
7808
|
"use strict";
|
|
7809
|
+
init_define_SKILL_BODIES();
|
|
7714
7810
|
var SEMVER_SPEC_VERSION = "2.0.0";
|
|
7715
7811
|
var MAX_LENGTH = 256;
|
|
7716
7812
|
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
|
|
@@ -7743,6 +7839,7 @@ var require_constants = __commonJS({
|
|
|
7743
7839
|
var require_debug = __commonJS({
|
|
7744
7840
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/internal/debug.js"(exports, module) {
|
|
7745
7841
|
"use strict";
|
|
7842
|
+
init_define_SKILL_BODIES();
|
|
7746
7843
|
var debug = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
|
|
7747
7844
|
};
|
|
7748
7845
|
module.exports = debug;
|
|
@@ -7753,6 +7850,7 @@ var require_debug = __commonJS({
|
|
|
7753
7850
|
var require_re = __commonJS({
|
|
7754
7851
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/internal/re.js"(exports, module) {
|
|
7755
7852
|
"use strict";
|
|
7853
|
+
init_define_SKILL_BODIES();
|
|
7756
7854
|
var {
|
|
7757
7855
|
MAX_SAFE_COMPONENT_LENGTH,
|
|
7758
7856
|
MAX_SAFE_BUILD_LENGTH,
|
|
@@ -7841,6 +7939,7 @@ var require_re = __commonJS({
|
|
|
7841
7939
|
var require_parse_options = __commonJS({
|
|
7842
7940
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/internal/parse-options.js"(exports, module) {
|
|
7843
7941
|
"use strict";
|
|
7942
|
+
init_define_SKILL_BODIES();
|
|
7844
7943
|
var looseOption = Object.freeze({ loose: true });
|
|
7845
7944
|
var emptyOpts = Object.freeze({});
|
|
7846
7945
|
var parseOptions = (options) => {
|
|
@@ -7860,6 +7959,7 @@ var require_parse_options = __commonJS({
|
|
|
7860
7959
|
var require_identifiers = __commonJS({
|
|
7861
7960
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/internal/identifiers.js"(exports, module) {
|
|
7862
7961
|
"use strict";
|
|
7962
|
+
init_define_SKILL_BODIES();
|
|
7863
7963
|
var numeric = /^[0-9]+$/;
|
|
7864
7964
|
var compareIdentifiers = (a, b) => {
|
|
7865
7965
|
if (typeof a === "number" && typeof b === "number") {
|
|
@@ -7885,6 +7985,7 @@ var require_identifiers = __commonJS({
|
|
|
7885
7985
|
var require_semver = __commonJS({
|
|
7886
7986
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/classes/semver.js"(exports, module) {
|
|
7887
7987
|
"use strict";
|
|
7988
|
+
init_define_SKILL_BODIES();
|
|
7888
7989
|
var debug = require_debug();
|
|
7889
7990
|
var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
|
|
7890
7991
|
var { safeRe: re, t } = require_re();
|
|
@@ -8164,6 +8265,7 @@ var require_semver = __commonJS({
|
|
|
8164
8265
|
var require_parse = __commonJS({
|
|
8165
8266
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/parse.js"(exports, module) {
|
|
8166
8267
|
"use strict";
|
|
8268
|
+
init_define_SKILL_BODIES();
|
|
8167
8269
|
var SemVer = require_semver();
|
|
8168
8270
|
var parse = (version, options, throwErrors = false) => {
|
|
8169
8271
|
if (version instanceof SemVer) {
|
|
@@ -8186,6 +8288,7 @@ var require_parse = __commonJS({
|
|
|
8186
8288
|
var require_valid = __commonJS({
|
|
8187
8289
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/valid.js"(exports, module) {
|
|
8188
8290
|
"use strict";
|
|
8291
|
+
init_define_SKILL_BODIES();
|
|
8189
8292
|
var parse = require_parse();
|
|
8190
8293
|
var valid = (version, options) => {
|
|
8191
8294
|
const v = parse(version, options);
|
|
@@ -8199,6 +8302,7 @@ var require_valid = __commonJS({
|
|
|
8199
8302
|
var require_clean = __commonJS({
|
|
8200
8303
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/clean.js"(exports, module) {
|
|
8201
8304
|
"use strict";
|
|
8305
|
+
init_define_SKILL_BODIES();
|
|
8202
8306
|
var parse = require_parse();
|
|
8203
8307
|
var clean = (version, options) => {
|
|
8204
8308
|
const s = parse(version.trim().replace(/^[=v]+/, ""), options);
|
|
@@ -8212,6 +8316,7 @@ var require_clean = __commonJS({
|
|
|
8212
8316
|
var require_inc = __commonJS({
|
|
8213
8317
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/inc.js"(exports, module) {
|
|
8214
8318
|
"use strict";
|
|
8319
|
+
init_define_SKILL_BODIES();
|
|
8215
8320
|
var SemVer = require_semver();
|
|
8216
8321
|
var inc = (version, release, options, identifier, identifierBase) => {
|
|
8217
8322
|
if (typeof options === "string") {
|
|
@@ -8236,6 +8341,7 @@ var require_inc = __commonJS({
|
|
|
8236
8341
|
var require_diff = __commonJS({
|
|
8237
8342
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/diff.js"(exports, module) {
|
|
8238
8343
|
"use strict";
|
|
8344
|
+
init_define_SKILL_BODIES();
|
|
8239
8345
|
var parse = require_parse();
|
|
8240
8346
|
var diff = (version1, version2) => {
|
|
8241
8347
|
const v1 = parse(version1, null, true);
|
|
@@ -8280,6 +8386,7 @@ var require_diff = __commonJS({
|
|
|
8280
8386
|
var require_major = __commonJS({
|
|
8281
8387
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/major.js"(exports, module) {
|
|
8282
8388
|
"use strict";
|
|
8389
|
+
init_define_SKILL_BODIES();
|
|
8283
8390
|
var SemVer = require_semver();
|
|
8284
8391
|
var major = (a, loose) => new SemVer(a, loose).major;
|
|
8285
8392
|
module.exports = major;
|
|
@@ -8290,6 +8397,7 @@ var require_major = __commonJS({
|
|
|
8290
8397
|
var require_minor = __commonJS({
|
|
8291
8398
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/minor.js"(exports, module) {
|
|
8292
8399
|
"use strict";
|
|
8400
|
+
init_define_SKILL_BODIES();
|
|
8293
8401
|
var SemVer = require_semver();
|
|
8294
8402
|
var minor = (a, loose) => new SemVer(a, loose).minor;
|
|
8295
8403
|
module.exports = minor;
|
|
@@ -8300,6 +8408,7 @@ var require_minor = __commonJS({
|
|
|
8300
8408
|
var require_patch = __commonJS({
|
|
8301
8409
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/patch.js"(exports, module) {
|
|
8302
8410
|
"use strict";
|
|
8411
|
+
init_define_SKILL_BODIES();
|
|
8303
8412
|
var SemVer = require_semver();
|
|
8304
8413
|
var patch = (a, loose) => new SemVer(a, loose).patch;
|
|
8305
8414
|
module.exports = patch;
|
|
@@ -8310,6 +8419,7 @@ var require_patch = __commonJS({
|
|
|
8310
8419
|
var require_prerelease = __commonJS({
|
|
8311
8420
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/prerelease.js"(exports, module) {
|
|
8312
8421
|
"use strict";
|
|
8422
|
+
init_define_SKILL_BODIES();
|
|
8313
8423
|
var parse = require_parse();
|
|
8314
8424
|
var prerelease = (version, options) => {
|
|
8315
8425
|
const parsed = parse(version, options);
|
|
@@ -8323,6 +8433,7 @@ var require_prerelease = __commonJS({
|
|
|
8323
8433
|
var require_compare = __commonJS({
|
|
8324
8434
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/compare.js"(exports, module) {
|
|
8325
8435
|
"use strict";
|
|
8436
|
+
init_define_SKILL_BODIES();
|
|
8326
8437
|
var SemVer = require_semver();
|
|
8327
8438
|
var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
|
|
8328
8439
|
module.exports = compare;
|
|
@@ -8333,6 +8444,7 @@ var require_compare = __commonJS({
|
|
|
8333
8444
|
var require_rcompare = __commonJS({
|
|
8334
8445
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/rcompare.js"(exports, module) {
|
|
8335
8446
|
"use strict";
|
|
8447
|
+
init_define_SKILL_BODIES();
|
|
8336
8448
|
var compare = require_compare();
|
|
8337
8449
|
var rcompare = (a, b, loose) => compare(b, a, loose);
|
|
8338
8450
|
module.exports = rcompare;
|
|
@@ -8343,6 +8455,7 @@ var require_rcompare = __commonJS({
|
|
|
8343
8455
|
var require_compare_loose = __commonJS({
|
|
8344
8456
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/compare-loose.js"(exports, module) {
|
|
8345
8457
|
"use strict";
|
|
8458
|
+
init_define_SKILL_BODIES();
|
|
8346
8459
|
var compare = require_compare();
|
|
8347
8460
|
var compareLoose = (a, b) => compare(a, b, true);
|
|
8348
8461
|
module.exports = compareLoose;
|
|
@@ -8353,6 +8466,7 @@ var require_compare_loose = __commonJS({
|
|
|
8353
8466
|
var require_compare_build = __commonJS({
|
|
8354
8467
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/compare-build.js"(exports, module) {
|
|
8355
8468
|
"use strict";
|
|
8469
|
+
init_define_SKILL_BODIES();
|
|
8356
8470
|
var SemVer = require_semver();
|
|
8357
8471
|
var compareBuild = (a, b, loose) => {
|
|
8358
8472
|
const versionA = new SemVer(a, loose);
|
|
@@ -8367,6 +8481,7 @@ var require_compare_build = __commonJS({
|
|
|
8367
8481
|
var require_sort = __commonJS({
|
|
8368
8482
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/sort.js"(exports, module) {
|
|
8369
8483
|
"use strict";
|
|
8484
|
+
init_define_SKILL_BODIES();
|
|
8370
8485
|
var compareBuild = require_compare_build();
|
|
8371
8486
|
var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
|
|
8372
8487
|
module.exports = sort;
|
|
@@ -8377,6 +8492,7 @@ var require_sort = __commonJS({
|
|
|
8377
8492
|
var require_rsort = __commonJS({
|
|
8378
8493
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/rsort.js"(exports, module) {
|
|
8379
8494
|
"use strict";
|
|
8495
|
+
init_define_SKILL_BODIES();
|
|
8380
8496
|
var compareBuild = require_compare_build();
|
|
8381
8497
|
var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
|
|
8382
8498
|
module.exports = rsort;
|
|
@@ -8387,6 +8503,7 @@ var require_rsort = __commonJS({
|
|
|
8387
8503
|
var require_gt = __commonJS({
|
|
8388
8504
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/gt.js"(exports, module) {
|
|
8389
8505
|
"use strict";
|
|
8506
|
+
init_define_SKILL_BODIES();
|
|
8390
8507
|
var compare = require_compare();
|
|
8391
8508
|
var gt = (a, b, loose) => compare(a, b, loose) > 0;
|
|
8392
8509
|
module.exports = gt;
|
|
@@ -8397,6 +8514,7 @@ var require_gt = __commonJS({
|
|
|
8397
8514
|
var require_lt = __commonJS({
|
|
8398
8515
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/lt.js"(exports, module) {
|
|
8399
8516
|
"use strict";
|
|
8517
|
+
init_define_SKILL_BODIES();
|
|
8400
8518
|
var compare = require_compare();
|
|
8401
8519
|
var lt = (a, b, loose) => compare(a, b, loose) < 0;
|
|
8402
8520
|
module.exports = lt;
|
|
@@ -8407,6 +8525,7 @@ var require_lt = __commonJS({
|
|
|
8407
8525
|
var require_eq = __commonJS({
|
|
8408
8526
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/eq.js"(exports, module) {
|
|
8409
8527
|
"use strict";
|
|
8528
|
+
init_define_SKILL_BODIES();
|
|
8410
8529
|
var compare = require_compare();
|
|
8411
8530
|
var eq = (a, b, loose) => compare(a, b, loose) === 0;
|
|
8412
8531
|
module.exports = eq;
|
|
@@ -8417,6 +8536,7 @@ var require_eq = __commonJS({
|
|
|
8417
8536
|
var require_neq = __commonJS({
|
|
8418
8537
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/neq.js"(exports, module) {
|
|
8419
8538
|
"use strict";
|
|
8539
|
+
init_define_SKILL_BODIES();
|
|
8420
8540
|
var compare = require_compare();
|
|
8421
8541
|
var neq = (a, b, loose) => compare(a, b, loose) !== 0;
|
|
8422
8542
|
module.exports = neq;
|
|
@@ -8427,6 +8547,7 @@ var require_neq = __commonJS({
|
|
|
8427
8547
|
var require_gte = __commonJS({
|
|
8428
8548
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/gte.js"(exports, module) {
|
|
8429
8549
|
"use strict";
|
|
8550
|
+
init_define_SKILL_BODIES();
|
|
8430
8551
|
var compare = require_compare();
|
|
8431
8552
|
var gte = (a, b, loose) => compare(a, b, loose) >= 0;
|
|
8432
8553
|
module.exports = gte;
|
|
@@ -8437,6 +8558,7 @@ var require_gte = __commonJS({
|
|
|
8437
8558
|
var require_lte = __commonJS({
|
|
8438
8559
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/lte.js"(exports, module) {
|
|
8439
8560
|
"use strict";
|
|
8561
|
+
init_define_SKILL_BODIES();
|
|
8440
8562
|
var compare = require_compare();
|
|
8441
8563
|
var lte = (a, b, loose) => compare(a, b, loose) <= 0;
|
|
8442
8564
|
module.exports = lte;
|
|
@@ -8447,6 +8569,7 @@ var require_lte = __commonJS({
|
|
|
8447
8569
|
var require_cmp = __commonJS({
|
|
8448
8570
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/cmp.js"(exports, module) {
|
|
8449
8571
|
"use strict";
|
|
8572
|
+
init_define_SKILL_BODIES();
|
|
8450
8573
|
var eq = require_eq();
|
|
8451
8574
|
var neq = require_neq();
|
|
8452
8575
|
var gt = require_gt();
|
|
@@ -8497,6 +8620,7 @@ var require_cmp = __commonJS({
|
|
|
8497
8620
|
var require_coerce = __commonJS({
|
|
8498
8621
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/coerce.js"(exports, module) {
|
|
8499
8622
|
"use strict";
|
|
8623
|
+
init_define_SKILL_BODIES();
|
|
8500
8624
|
var SemVer = require_semver();
|
|
8501
8625
|
var parse = require_parse();
|
|
8502
8626
|
var { safeRe: re, t } = require_re();
|
|
@@ -8543,6 +8667,7 @@ var require_coerce = __commonJS({
|
|
|
8543
8667
|
var require_truncate = __commonJS({
|
|
8544
8668
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/truncate.js"(exports, module) {
|
|
8545
8669
|
"use strict";
|
|
8670
|
+
init_define_SKILL_BODIES();
|
|
8546
8671
|
var parse = require_parse();
|
|
8547
8672
|
var constants = require_constants();
|
|
8548
8673
|
var SemVer = require_semver();
|
|
@@ -8584,6 +8709,7 @@ var require_truncate = __commonJS({
|
|
|
8584
8709
|
var require_lrucache = __commonJS({
|
|
8585
8710
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/internal/lrucache.js"(exports, module) {
|
|
8586
8711
|
"use strict";
|
|
8712
|
+
init_define_SKILL_BODIES();
|
|
8587
8713
|
var LRUCache = class {
|
|
8588
8714
|
constructor() {
|
|
8589
8715
|
this.max = 1e3;
|
|
@@ -8622,6 +8748,7 @@ var require_lrucache = __commonJS({
|
|
|
8622
8748
|
var require_range = __commonJS({
|
|
8623
8749
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/classes/range.js"(exports, module) {
|
|
8624
8750
|
"use strict";
|
|
8751
|
+
init_define_SKILL_BODIES();
|
|
8625
8752
|
var SPACE_CHARACTERS = /\s+/g;
|
|
8626
8753
|
var Range = class _Range {
|
|
8627
8754
|
constructor(range, options) {
|
|
@@ -9002,6 +9129,7 @@ var require_range = __commonJS({
|
|
|
9002
9129
|
var require_comparator = __commonJS({
|
|
9003
9130
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/classes/comparator.js"(exports, module) {
|
|
9004
9131
|
"use strict";
|
|
9132
|
+
init_define_SKILL_BODIES();
|
|
9005
9133
|
var ANY = /* @__PURE__ */ Symbol("SemVer ANY");
|
|
9006
9134
|
var Comparator = class _Comparator {
|
|
9007
9135
|
static get ANY() {
|
|
@@ -9115,6 +9243,7 @@ var require_comparator = __commonJS({
|
|
|
9115
9243
|
var require_satisfies = __commonJS({
|
|
9116
9244
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/satisfies.js"(exports, module) {
|
|
9117
9245
|
"use strict";
|
|
9246
|
+
init_define_SKILL_BODIES();
|
|
9118
9247
|
var Range = require_range();
|
|
9119
9248
|
var satisfies = (version, range, options) => {
|
|
9120
9249
|
try {
|
|
@@ -9132,6 +9261,7 @@ var require_satisfies = __commonJS({
|
|
|
9132
9261
|
var require_to_comparators = __commonJS({
|
|
9133
9262
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/to-comparators.js"(exports, module) {
|
|
9134
9263
|
"use strict";
|
|
9264
|
+
init_define_SKILL_BODIES();
|
|
9135
9265
|
var Range = require_range();
|
|
9136
9266
|
var toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
|
|
9137
9267
|
module.exports = toComparators;
|
|
@@ -9142,6 +9272,7 @@ var require_to_comparators = __commonJS({
|
|
|
9142
9272
|
var require_max_satisfying = __commonJS({
|
|
9143
9273
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/max-satisfying.js"(exports, module) {
|
|
9144
9274
|
"use strict";
|
|
9275
|
+
init_define_SKILL_BODIES();
|
|
9145
9276
|
var SemVer = require_semver();
|
|
9146
9277
|
var Range = require_range();
|
|
9147
9278
|
var maxSatisfying = (versions, range, options) => {
|
|
@@ -9171,6 +9302,7 @@ var require_max_satisfying = __commonJS({
|
|
|
9171
9302
|
var require_min_satisfying = __commonJS({
|
|
9172
9303
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/min-satisfying.js"(exports, module) {
|
|
9173
9304
|
"use strict";
|
|
9305
|
+
init_define_SKILL_BODIES();
|
|
9174
9306
|
var SemVer = require_semver();
|
|
9175
9307
|
var Range = require_range();
|
|
9176
9308
|
var minSatisfying = (versions, range, options) => {
|
|
@@ -9200,6 +9332,7 @@ var require_min_satisfying = __commonJS({
|
|
|
9200
9332
|
var require_min_version = __commonJS({
|
|
9201
9333
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/min-version.js"(exports, module) {
|
|
9202
9334
|
"use strict";
|
|
9335
|
+
init_define_SKILL_BODIES();
|
|
9203
9336
|
var SemVer = require_semver();
|
|
9204
9337
|
var Range = require_range();
|
|
9205
9338
|
var gt = require_gt();
|
|
@@ -9259,6 +9392,7 @@ var require_min_version = __commonJS({
|
|
|
9259
9392
|
var require_valid2 = __commonJS({
|
|
9260
9393
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/valid.js"(exports, module) {
|
|
9261
9394
|
"use strict";
|
|
9395
|
+
init_define_SKILL_BODIES();
|
|
9262
9396
|
var Range = require_range();
|
|
9263
9397
|
var validRange = (range, options) => {
|
|
9264
9398
|
try {
|
|
@@ -9275,6 +9409,7 @@ var require_valid2 = __commonJS({
|
|
|
9275
9409
|
var require_outside = __commonJS({
|
|
9276
9410
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/outside.js"(exports, module) {
|
|
9277
9411
|
"use strict";
|
|
9412
|
+
init_define_SKILL_BODIES();
|
|
9278
9413
|
var SemVer = require_semver();
|
|
9279
9414
|
var Comparator = require_comparator();
|
|
9280
9415
|
var { ANY } = Comparator;
|
|
@@ -9344,6 +9479,7 @@ var require_outside = __commonJS({
|
|
|
9344
9479
|
var require_gtr = __commonJS({
|
|
9345
9480
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/gtr.js"(exports, module) {
|
|
9346
9481
|
"use strict";
|
|
9482
|
+
init_define_SKILL_BODIES();
|
|
9347
9483
|
var outside = require_outside();
|
|
9348
9484
|
var gtr = (version, range, options) => outside(version, range, ">", options);
|
|
9349
9485
|
module.exports = gtr;
|
|
@@ -9354,6 +9490,7 @@ var require_gtr = __commonJS({
|
|
|
9354
9490
|
var require_ltr = __commonJS({
|
|
9355
9491
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/ltr.js"(exports, module) {
|
|
9356
9492
|
"use strict";
|
|
9493
|
+
init_define_SKILL_BODIES();
|
|
9357
9494
|
var outside = require_outside();
|
|
9358
9495
|
var ltr = (version, range, options) => outside(version, range, "<", options);
|
|
9359
9496
|
module.exports = ltr;
|
|
@@ -9364,6 +9501,7 @@ var require_ltr = __commonJS({
|
|
|
9364
9501
|
var require_intersects = __commonJS({
|
|
9365
9502
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/intersects.js"(exports, module) {
|
|
9366
9503
|
"use strict";
|
|
9504
|
+
init_define_SKILL_BODIES();
|
|
9367
9505
|
var Range = require_range();
|
|
9368
9506
|
var intersects = (r1, r2, options) => {
|
|
9369
9507
|
r1 = new Range(r1, options);
|
|
@@ -9378,6 +9516,7 @@ var require_intersects = __commonJS({
|
|
|
9378
9516
|
var require_simplify = __commonJS({
|
|
9379
9517
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/simplify.js"(exports, module) {
|
|
9380
9518
|
"use strict";
|
|
9519
|
+
init_define_SKILL_BODIES();
|
|
9381
9520
|
var satisfies = require_satisfies();
|
|
9382
9521
|
var compare = require_compare();
|
|
9383
9522
|
module.exports = (versions, range, options) => {
|
|
@@ -9428,6 +9567,7 @@ var require_simplify = __commonJS({
|
|
|
9428
9567
|
var require_subset = __commonJS({
|
|
9429
9568
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/subset.js"(exports, module) {
|
|
9430
9569
|
"use strict";
|
|
9570
|
+
init_define_SKILL_BODIES();
|
|
9431
9571
|
var Range = require_range();
|
|
9432
9572
|
var Comparator = require_comparator();
|
|
9433
9573
|
var { ANY } = Comparator;
|
|
@@ -9590,6 +9730,7 @@ var require_subset = __commonJS({
|
|
|
9590
9730
|
var require_semver2 = __commonJS({
|
|
9591
9731
|
"../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/index.js"(exports, module) {
|
|
9592
9732
|
"use strict";
|
|
9733
|
+
init_define_SKILL_BODIES();
|
|
9593
9734
|
var internalRe = require_re();
|
|
9594
9735
|
var constants = require_constants();
|
|
9595
9736
|
var SemVer = require_semver();
|
|
@@ -9684,9 +9825,11 @@ var require_semver2 = __commonJS({
|
|
|
9684
9825
|
});
|
|
9685
9826
|
|
|
9686
9827
|
// src/cli.tsx
|
|
9828
|
+
init_define_SKILL_BODIES();
|
|
9687
9829
|
import process9 from "process";
|
|
9688
9830
|
|
|
9689
9831
|
// ../core/dist/index.js
|
|
9832
|
+
init_define_SKILL_BODIES();
|
|
9690
9833
|
import {
|
|
9691
9834
|
MppClient
|
|
9692
9835
|
} from "@inflowpayai/mpp";
|
|
@@ -9696,6 +9839,7 @@ import { unlink } from "fs/promises";
|
|
|
9696
9839
|
import path5 from "path";
|
|
9697
9840
|
|
|
9698
9841
|
// ../../node_modules/.pnpm/conf@13.1.0/node_modules/conf/dist/source/index.js
|
|
9842
|
+
init_define_SKILL_BODIES();
|
|
9699
9843
|
import { isDeepStrictEqual } from "util";
|
|
9700
9844
|
import process7 from "process";
|
|
9701
9845
|
import fs2 from "fs";
|
|
@@ -9704,6 +9848,7 @@ import crypto from "crypto";
|
|
|
9704
9848
|
import assert from "assert";
|
|
9705
9849
|
|
|
9706
9850
|
// ../../node_modules/.pnpm/dot-prop@9.0.0/node_modules/dot-prop/index.js
|
|
9851
|
+
init_define_SKILL_BODIES();
|
|
9707
9852
|
var isObject = (value) => {
|
|
9708
9853
|
const type = typeof value;
|
|
9709
9854
|
return value !== null && (type === "object" || type === "function");
|
|
@@ -9919,6 +10064,7 @@ function hasProperty(object, path6) {
|
|
|
9919
10064
|
}
|
|
9920
10065
|
|
|
9921
10066
|
// ../../node_modules/.pnpm/env-paths@3.0.0/node_modules/env-paths/index.js
|
|
10067
|
+
init_define_SKILL_BODIES();
|
|
9922
10068
|
import path from "path";
|
|
9923
10069
|
import os from "os";
|
|
9924
10070
|
import process2 from "process";
|
|
@@ -9975,16 +10121,22 @@ function envPaths(name, { suffix = "nodejs" } = {}) {
|
|
|
9975
10121
|
}
|
|
9976
10122
|
|
|
9977
10123
|
// ../../node_modules/.pnpm/atomically@2.1.1/node_modules/atomically/dist/index.js
|
|
10124
|
+
init_define_SKILL_BODIES();
|
|
9978
10125
|
import { once } from "events";
|
|
9979
10126
|
import { createWriteStream } from "fs";
|
|
9980
10127
|
import path3 from "path";
|
|
9981
10128
|
import { Readable } from "stream";
|
|
9982
10129
|
|
|
9983
10130
|
// ../../node_modules/.pnpm/stubborn-fs@2.0.0/node_modules/stubborn-fs/dist/index.js
|
|
10131
|
+
init_define_SKILL_BODIES();
|
|
9984
10132
|
import fs from "fs";
|
|
9985
10133
|
import { promisify } from "util";
|
|
9986
10134
|
|
|
10135
|
+
// ../../node_modules/.pnpm/stubborn-utils@1.0.2/node_modules/stubborn-utils/dist/index.js
|
|
10136
|
+
init_define_SKILL_BODIES();
|
|
10137
|
+
|
|
9987
10138
|
// ../../node_modules/.pnpm/stubborn-utils@1.0.2/node_modules/stubborn-utils/dist/attemptify_async.js
|
|
10139
|
+
init_define_SKILL_BODIES();
|
|
9988
10140
|
var attemptifyAsync = (fn, options) => {
|
|
9989
10141
|
const { onError } = options;
|
|
9990
10142
|
return function attemptified(...args) {
|
|
@@ -9994,6 +10146,7 @@ var attemptifyAsync = (fn, options) => {
|
|
|
9994
10146
|
var attemptify_async_default = attemptifyAsync;
|
|
9995
10147
|
|
|
9996
10148
|
// ../../node_modules/.pnpm/stubborn-utils@1.0.2/node_modules/stubborn-utils/dist/attemptify_sync.js
|
|
10149
|
+
init_define_SKILL_BODIES();
|
|
9997
10150
|
var attemptifySync = (fn, options) => {
|
|
9998
10151
|
const { onError } = options;
|
|
9999
10152
|
return function attemptified(...args) {
|
|
@@ -10006,7 +10159,11 @@ var attemptifySync = (fn, options) => {
|
|
|
10006
10159
|
};
|
|
10007
10160
|
var attemptify_sync_default = attemptifySync;
|
|
10008
10161
|
|
|
10162
|
+
// ../../node_modules/.pnpm/stubborn-utils@1.0.2/node_modules/stubborn-utils/dist/retryify_async.js
|
|
10163
|
+
init_define_SKILL_BODIES();
|
|
10164
|
+
|
|
10009
10165
|
// ../../node_modules/.pnpm/stubborn-utils@1.0.2/node_modules/stubborn-utils/dist/constants.js
|
|
10166
|
+
init_define_SKILL_BODIES();
|
|
10010
10167
|
var RETRY_INTERVAL = 250;
|
|
10011
10168
|
|
|
10012
10169
|
// ../../node_modules/.pnpm/stubborn-utils@1.0.2/node_modules/stubborn-utils/dist/retryify_async.js
|
|
@@ -10036,6 +10193,7 @@ var retryifyAsync = (fn, options) => {
|
|
|
10036
10193
|
var retryify_async_default = retryifyAsync;
|
|
10037
10194
|
|
|
10038
10195
|
// ../../node_modules/.pnpm/stubborn-utils@1.0.2/node_modules/stubborn-utils/dist/retryify_sync.js
|
|
10196
|
+
init_define_SKILL_BODIES();
|
|
10039
10197
|
var retryifySync = (fn, options) => {
|
|
10040
10198
|
const { isRetriable } = options;
|
|
10041
10199
|
return function retryified(options2) {
|
|
@@ -10059,9 +10217,11 @@ var retryifySync = (fn, options) => {
|
|
|
10059
10217
|
var retryify_sync_default = retryifySync;
|
|
10060
10218
|
|
|
10061
10219
|
// ../../node_modules/.pnpm/stubborn-fs@2.0.0/node_modules/stubborn-fs/dist/constants.js
|
|
10220
|
+
init_define_SKILL_BODIES();
|
|
10062
10221
|
import process3 from "process";
|
|
10063
10222
|
|
|
10064
10223
|
// ../../node_modules/.pnpm/stubborn-fs@2.0.0/node_modules/stubborn-fs/dist/handlers.js
|
|
10224
|
+
init_define_SKILL_BODIES();
|
|
10065
10225
|
var Handlers = {
|
|
10066
10226
|
/* API */
|
|
10067
10227
|
isChangeErrorOk: (error) => {
|
|
@@ -10154,6 +10314,7 @@ var FS = {
|
|
|
10154
10314
|
var dist_default = FS;
|
|
10155
10315
|
|
|
10156
10316
|
// ../../node_modules/.pnpm/atomically@2.1.1/node_modules/atomically/dist/constants.js
|
|
10317
|
+
init_define_SKILL_BODIES();
|
|
10157
10318
|
import process4 from "process";
|
|
10158
10319
|
var DEFAULT_ENCODING = "utf8";
|
|
10159
10320
|
var DEFAULT_FILE_MODE = 438;
|
|
@@ -10167,6 +10328,7 @@ var IS_USER_ROOT2 = process4.getuid ? !process4.getuid() : false;
|
|
|
10167
10328
|
var LIMIT_BASENAME_LENGTH = 128;
|
|
10168
10329
|
|
|
10169
10330
|
// ../../node_modules/.pnpm/atomically@2.1.1/node_modules/atomically/dist/utils/lang.js
|
|
10331
|
+
init_define_SKILL_BODIES();
|
|
10170
10332
|
var isException = (value) => {
|
|
10171
10333
|
return value instanceof Error && "code" in value;
|
|
10172
10334
|
};
|
|
@@ -10177,18 +10339,28 @@ var isUndefined = (value) => {
|
|
|
10177
10339
|
return value === void 0;
|
|
10178
10340
|
};
|
|
10179
10341
|
|
|
10342
|
+
// ../../node_modules/.pnpm/atomically@2.1.1/node_modules/atomically/dist/utils/scheduler.js
|
|
10343
|
+
init_define_SKILL_BODIES();
|
|
10344
|
+
|
|
10180
10345
|
// ../../node_modules/.pnpm/atomically@2.1.1/node_modules/atomically/dist/utils/temp.js
|
|
10346
|
+
init_define_SKILL_BODIES();
|
|
10181
10347
|
import path2 from "path";
|
|
10182
10348
|
|
|
10349
|
+
// ../../node_modules/.pnpm/when-exit@2.1.5/node_modules/when-exit/dist/node/index.js
|
|
10350
|
+
init_define_SKILL_BODIES();
|
|
10351
|
+
|
|
10183
10352
|
// ../../node_modules/.pnpm/when-exit@2.1.5/node_modules/when-exit/dist/node/interceptor.js
|
|
10353
|
+
init_define_SKILL_BODIES();
|
|
10184
10354
|
import process6 from "process";
|
|
10185
10355
|
|
|
10186
10356
|
// ../../node_modules/.pnpm/when-exit@2.1.5/node_modules/when-exit/dist/node/constants.js
|
|
10357
|
+
init_define_SKILL_BODIES();
|
|
10187
10358
|
import process5 from "process";
|
|
10188
10359
|
var IS_LINUX = process5.platform === "linux";
|
|
10189
10360
|
var IS_WINDOWS = process5.platform === "win32";
|
|
10190
10361
|
|
|
10191
10362
|
// ../../node_modules/.pnpm/when-exit@2.1.5/node_modules/when-exit/dist/node/signals.js
|
|
10363
|
+
init_define_SKILL_BODIES();
|
|
10192
10364
|
var Signals = ["SIGHUP", "SIGINT", "SIGTERM"];
|
|
10193
10365
|
if (!IS_WINDOWS) {
|
|
10194
10366
|
Signals.push("SIGALRM", "SIGABRT", "SIGVTALRM", "SIGXCPU", "SIGXFSZ", "SIGUSR2", "SIGTRAP", "SIGSYS", "SIGQUIT", "SIGIOT");
|
|
@@ -10378,7 +10550,11 @@ function writeFileSync(filePath, data, options = DEFAULT_WRITE_OPTIONS) {
|
|
|
10378
10550
|
var import__ = __toESM(require__(), 1);
|
|
10379
10551
|
var import_ajv_formats = __toESM(require_dist(), 1);
|
|
10380
10552
|
|
|
10553
|
+
// ../../node_modules/.pnpm/debounce-fn@6.0.0/node_modules/debounce-fn/index.js
|
|
10554
|
+
init_define_SKILL_BODIES();
|
|
10555
|
+
|
|
10381
10556
|
// ../../node_modules/.pnpm/mimic-function@5.0.1/node_modules/mimic-function/index.js
|
|
10557
|
+
init_define_SKILL_BODIES();
|
|
10382
10558
|
var copyProperty = (to, from, property, ignoreNonConfigurable) => {
|
|
10383
10559
|
if (property === "length" || property === "prototype") {
|
|
10384
10560
|
return;
|
|
@@ -10496,6 +10672,7 @@ var debounce_fn_default = debounceFunction;
|
|
|
10496
10672
|
var import_semver = __toESM(require_semver2(), 1);
|
|
10497
10673
|
|
|
10498
10674
|
// ../../node_modules/.pnpm/uint8array-extras@1.5.0/node_modules/uint8array-extras/index.js
|
|
10675
|
+
init_define_SKILL_BODIES();
|
|
10499
10676
|
var objectToString = Object.prototype.toString;
|
|
10500
10677
|
var uint8ArrayStringified = "[object Uint8Array]";
|
|
10501
10678
|
var arrayBufferStringified = "[object ArrayBuffer]";
|
|
@@ -11001,7 +11178,11 @@ import {
|
|
|
11001
11178
|
import { sellerProbe as sellerProbe4 } from "@inflowpayai/x402-buyer/probe";
|
|
11002
11179
|
import { hostname } from "os";
|
|
11003
11180
|
|
|
11181
|
+
// ../../node_modules/.pnpm/strip-ansi@7.2.0/node_modules/strip-ansi/index.js
|
|
11182
|
+
init_define_SKILL_BODIES();
|
|
11183
|
+
|
|
11004
11184
|
// ../../node_modules/.pnpm/ansi-regex@6.2.2/node_modules/ansi-regex/index.js
|
|
11185
|
+
init_define_SKILL_BODIES();
|
|
11005
11186
|
function ansiRegex({ onlyFirst = false } = {}) {
|
|
11006
11187
|
const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
|
|
11007
11188
|
const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
|
|
@@ -13595,18 +13776,21 @@ async function runDepositAddressesList(input) {
|
|
|
13595
13776
|
}
|
|
13596
13777
|
|
|
13597
13778
|
// src/cli.tsx
|
|
13598
|
-
import { Cli as Cli7 } from "incur";
|
|
13779
|
+
import { Cli as Cli7, Help } from "incur";
|
|
13599
13780
|
|
|
13600
13781
|
// src/commands/auth/index.tsx
|
|
13782
|
+
init_define_SKILL_BODIES();
|
|
13601
13783
|
import { Cli } from "incur";
|
|
13602
13784
|
import { Text as Text6 } from "ink";
|
|
13603
13785
|
import { useEffect as useEffect5, useState as useState2 } from "react";
|
|
13604
13786
|
|
|
13605
13787
|
// src/hooks/use-flow-exit.ts
|
|
13788
|
+
init_define_SKILL_BODIES();
|
|
13606
13789
|
import { useApp } from "ink";
|
|
13607
13790
|
import { useCallback, useRef } from "react";
|
|
13608
13791
|
|
|
13609
13792
|
// src/utils/best-effort-cancel.ts
|
|
13793
|
+
init_define_SKILL_BODIES();
|
|
13610
13794
|
var CANCEL_GRACE_MS = 1500;
|
|
13611
13795
|
function runBestEffortCancel(cancel, done, graceMs = CANCEL_GRACE_MS) {
|
|
13612
13796
|
let finished = false;
|
|
@@ -13650,6 +13834,7 @@ function useFlowExit(onComplete) {
|
|
|
13650
13834
|
}
|
|
13651
13835
|
|
|
13652
13836
|
// src/utils/render-ink-until-exit.tsx
|
|
13837
|
+
init_define_SKILL_BODIES();
|
|
13653
13838
|
import { render } from "ink";
|
|
13654
13839
|
async function renderInkUntilExit(element, resolveResult) {
|
|
13655
13840
|
const instance = render(element);
|
|
@@ -13658,14 +13843,17 @@ async function renderInkUntilExit(element, resolveResult) {
|
|
|
13658
13843
|
}
|
|
13659
13844
|
|
|
13660
13845
|
// src/utils/user-display.ts
|
|
13846
|
+
init_define_SKILL_BODIES();
|
|
13661
13847
|
var NPM_INSTALL_COMMAND = "npm install -g @inflowpayai/inflow";
|
|
13662
13848
|
|
|
13663
13849
|
// src/commands/auth/login.tsx
|
|
13850
|
+
init_define_SKILL_BODIES();
|
|
13664
13851
|
import { Box, Text, useInput } from "ink";
|
|
13665
13852
|
import Spinner from "ink-spinner";
|
|
13666
13853
|
import { useEffect, useReducer } from "react";
|
|
13667
13854
|
|
|
13668
13855
|
// src/utils/open-url.ts
|
|
13856
|
+
init_define_SKILL_BODIES();
|
|
13669
13857
|
import { spawn } from "child_process";
|
|
13670
13858
|
import { platform } from "os";
|
|
13671
13859
|
var ALLOWED_SCHEMES = /* @__PURE__ */ new Set(["http:", "https:"]);
|
|
@@ -13785,6 +13973,7 @@ var Login = ({ auth, clientName, connection, priorRefreshToken, onComplete }) =>
|
|
|
13785
13973
|
};
|
|
13786
13974
|
|
|
13787
13975
|
// src/commands/auth/login-api-key.tsx
|
|
13976
|
+
init_define_SKILL_BODIES();
|
|
13788
13977
|
import { Box as Box2, Text as Text2 } from "ink";
|
|
13789
13978
|
import Spinner2 from "ink-spinner";
|
|
13790
13979
|
import { useEffect as useEffect2, useReducer as useReducer2 } from "react";
|
|
@@ -13832,6 +14021,7 @@ var LoginApiKey = ({ apiKey: apiKey2, auth, connection, onComplete }) => {
|
|
|
13832
14021
|
};
|
|
13833
14022
|
|
|
13834
14023
|
// src/commands/auth/login-prompt.tsx
|
|
14024
|
+
init_define_SKILL_BODIES();
|
|
13835
14025
|
import { Box as Box3, Text as Text3, useInput as useInput2 } from "ink";
|
|
13836
14026
|
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
13837
14027
|
var LoginPrompt = ({ userDisplay, onAccept, onReject }) => {
|
|
@@ -13851,11 +14041,13 @@ var LoginPrompt = ({ userDisplay, onAccept, onReject }) => {
|
|
|
13851
14041
|
};
|
|
13852
14042
|
|
|
13853
14043
|
// src/commands/auth/logout.tsx
|
|
14044
|
+
init_define_SKILL_BODIES();
|
|
13854
14045
|
import { Box as Box4, Text as Text4 } from "ink";
|
|
13855
14046
|
import Spinner3 from "ink-spinner";
|
|
13856
14047
|
import { useCallback as useCallback2 } from "react";
|
|
13857
14048
|
|
|
13858
14049
|
// src/hooks/use-flow-state.ts
|
|
14050
|
+
init_define_SKILL_BODIES();
|
|
13859
14051
|
import { useEffect as useEffect3, useRef as useRef2, useState } from "react";
|
|
13860
14052
|
function useFlowState(action, onComplete) {
|
|
13861
14053
|
const [status, setStatus] = useState("loading");
|
|
@@ -13912,6 +14104,7 @@ var Logout = ({ auth, onComplete }) => {
|
|
|
13912
14104
|
};
|
|
13913
14105
|
|
|
13914
14106
|
// src/commands/auth/schema.ts
|
|
14107
|
+
init_define_SKILL_BODIES();
|
|
13915
14108
|
import { z } from "incur";
|
|
13916
14109
|
var loginOptions = z.object({
|
|
13917
14110
|
clientName: z.string().default("InFlow").describe("Agent or app name shown to the user during device authorization."),
|
|
@@ -13931,6 +14124,7 @@ var statusOptions = z.object({
|
|
|
13931
14124
|
});
|
|
13932
14125
|
|
|
13933
14126
|
// src/commands/auth/status.tsx
|
|
14127
|
+
init_define_SKILL_BODIES();
|
|
13934
14128
|
import { Box as Box5, Text as Text5 } from "ink";
|
|
13935
14129
|
import Spinner4 from "ink-spinner";
|
|
13936
14130
|
import { useEffect as useEffect4, useReducer as useReducer3 } from "react";
|
|
@@ -14094,7 +14288,7 @@ function displayConnection(stored, ctx) {
|
|
|
14094
14288
|
if (auth !== void 0) out.authBaseUrl = auth;
|
|
14095
14289
|
return out;
|
|
14096
14290
|
}
|
|
14097
|
-
var INSTRUCTION_NO_INTERVAL = "Present the verification_url to the user and ask them to authorize. Then call `auth status --interval 5 --max-attempts 60` to poll until authenticated. Do not wait for the user to reply
|
|
14291
|
+
var INSTRUCTION_NO_INTERVAL = "Present the verification_url to the user and ask them to authorize. Then call `auth status --interval 5 --max-attempts 60` to poll until authenticated. Do not wait for the user to reply - start polling immediately.";
|
|
14098
14292
|
var INSTRUCTION_WITH_INTERVAL = "Present the verification_url to the user and ask them to authorize in their browser. Polling has started automatically \u2014 no further action needed.";
|
|
14099
14293
|
var POST_LOGIN_TIP = "Signed in. Try: inflow balances list or inflow x402 pay <url>.";
|
|
14100
14294
|
var PROBE_TIMEOUT_MS = 3e4;
|
|
@@ -14428,10 +14622,12 @@ function createAuthCli(authResource, userResource, updateProbe2, authStorage2, c
|
|
|
14428
14622
|
}
|
|
14429
14623
|
|
|
14430
14624
|
// src/commands/balances/index.tsx
|
|
14625
|
+
init_define_SKILL_BODIES();
|
|
14431
14626
|
import { Cli as Cli2 } from "incur";
|
|
14432
14627
|
import "react";
|
|
14433
14628
|
|
|
14434
14629
|
// src/utils/assert-session.ts
|
|
14630
|
+
init_define_SKILL_BODIES();
|
|
14435
14631
|
import { Errors } from "incur";
|
|
14436
14632
|
var MISSING_SESSION_ERROR = {
|
|
14437
14633
|
code: "NOT_AUTHENTICATED",
|
|
@@ -14450,11 +14646,13 @@ function assertSessionGuard(c, storage2, inflow2) {
|
|
|
14450
14646
|
}
|
|
14451
14647
|
|
|
14452
14648
|
// src/commands/balances/list.tsx
|
|
14649
|
+
init_define_SKILL_BODIES();
|
|
14453
14650
|
import { Box as Box7, Text as Text8 } from "ink";
|
|
14454
14651
|
import Spinner5 from "ink-spinner";
|
|
14455
14652
|
import { useCallback as useCallback3 } from "react";
|
|
14456
14653
|
|
|
14457
14654
|
// src/utils/table.tsx
|
|
14655
|
+
init_define_SKILL_BODIES();
|
|
14458
14656
|
import { Box as Box6, Text as Text7 } from "ink";
|
|
14459
14657
|
import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
14460
14658
|
var CELL_COLOR_PALETTE = [
|
|
@@ -14546,6 +14744,7 @@ var BalancesList = ({ balanceResource, onComplete }) => {
|
|
|
14546
14744
|
};
|
|
14547
14745
|
|
|
14548
14746
|
// src/commands/balances/schema.ts
|
|
14747
|
+
init_define_SKILL_BODIES();
|
|
14549
14748
|
import { z as z2 } from "incur";
|
|
14550
14749
|
var listOptions = z2.object({});
|
|
14551
14750
|
|
|
@@ -14585,10 +14784,12 @@ function createBalancesCli(balanceResource, authStorage2, inflow2) {
|
|
|
14585
14784
|
}
|
|
14586
14785
|
|
|
14587
14786
|
// src/commands/deposit-addresses/index.tsx
|
|
14787
|
+
init_define_SKILL_BODIES();
|
|
14588
14788
|
import { Cli as Cli3 } from "incur";
|
|
14589
14789
|
import "react";
|
|
14590
14790
|
|
|
14591
14791
|
// src/commands/deposit-addresses/list.tsx
|
|
14792
|
+
init_define_SKILL_BODIES();
|
|
14592
14793
|
import { Box as Box8, Text as Text9 } from "ink";
|
|
14593
14794
|
import Spinner6 from "ink-spinner";
|
|
14594
14795
|
import { useCallback as useCallback4 } from "react";
|
|
@@ -14622,6 +14823,7 @@ var DepositAddressesList = ({ depositAddressResource, onComplete }) => {
|
|
|
14622
14823
|
};
|
|
14623
14824
|
|
|
14624
14825
|
// src/commands/deposit-addresses/schema.ts
|
|
14826
|
+
init_define_SKILL_BODIES();
|
|
14625
14827
|
import { z as z3 } from "incur";
|
|
14626
14828
|
var listOptions2 = z3.object({});
|
|
14627
14829
|
|
|
@@ -14666,7 +14868,11 @@ function createDepositAddressesCli(depositAddressResource, authStorage2, inflow2
|
|
|
14666
14868
|
return cli2;
|
|
14667
14869
|
}
|
|
14668
14870
|
|
|
14871
|
+
// src/commands/inspect/index.tsx
|
|
14872
|
+
init_define_SKILL_BODIES();
|
|
14873
|
+
|
|
14669
14874
|
// src/commands/mpp/inspect.tsx
|
|
14875
|
+
init_define_SKILL_BODIES();
|
|
14670
14876
|
import { Box as Box9, Text as Text10 } from "ink";
|
|
14671
14877
|
import Spinner7 from "ink-spinner";
|
|
14672
14878
|
import { useEffect as useEffect6, useReducer as useReducer4 } from "react";
|
|
@@ -14784,6 +14990,7 @@ function buildNoPaymentFrame(result) {
|
|
|
14784
14990
|
}
|
|
14785
14991
|
|
|
14786
14992
|
// src/commands/x402/inspect.tsx
|
|
14993
|
+
init_define_SKILL_BODIES();
|
|
14787
14994
|
import { Box as Box10, Text as Text11 } from "ink";
|
|
14788
14995
|
import Spinner8 from "ink-spinner";
|
|
14789
14996
|
import { useEffect as useEffect7, useReducer as useReducer5 } from "react";
|
|
@@ -14907,6 +15114,7 @@ function buildNoPaymentFrame2(result) {
|
|
|
14907
15114
|
}
|
|
14908
15115
|
|
|
14909
15116
|
// src/commands/inspect/combined-inspect-view.tsx
|
|
15117
|
+
init_define_SKILL_BODIES();
|
|
14910
15118
|
import { Box as Box11, Text as Text12 } from "ink";
|
|
14911
15119
|
import Spinner9 from "ink-spinner";
|
|
14912
15120
|
import { useEffect as useEffect8, useReducer as useReducer6 } from "react";
|
|
@@ -15063,6 +15271,7 @@ var CombinedInspectView = ({ url, method, deps, onComplete }) => {
|
|
|
15063
15271
|
};
|
|
15064
15272
|
|
|
15065
15273
|
// src/commands/inspect/schema.ts
|
|
15274
|
+
init_define_SKILL_BODIES();
|
|
15066
15275
|
import { z as z4 } from "incur";
|
|
15067
15276
|
var inspectArgs = z4.object({
|
|
15068
15277
|
url: z4.string().describe("The resource URL to probe for MPP and/or x402 payment challenges. No payment is made.")
|
|
@@ -15196,7 +15405,7 @@ async function runCombinedInspectCommand(c) {
|
|
|
15196
15405
|
}
|
|
15197
15406
|
function createInspectCommand() {
|
|
15198
15407
|
return {
|
|
15199
|
-
description: "Detect a URL's payment protocol(s) and show MPP and x402 challenges together. Read-only probe
|
|
15408
|
+
description: "Detect a URL's payment protocol(s) and show MPP and x402 challenges together. Read-only probe - no auth, no payment. Read `detected` to choose a pay rail (MPP wins when both are present).",
|
|
15200
15409
|
args: inspectArgs,
|
|
15201
15410
|
options: inspectOptions,
|
|
15202
15411
|
outputPolicy: "agent-only",
|
|
@@ -15218,11 +15427,13 @@ function createInspectCommand() {
|
|
|
15218
15427
|
}
|
|
15219
15428
|
|
|
15220
15429
|
// src/commands/mpp/index.tsx
|
|
15430
|
+
init_define_SKILL_BODIES();
|
|
15221
15431
|
import { chmodSync, writeFileSync as writeFileSync2 } from "fs";
|
|
15222
15432
|
import { resolve as resolvePath2 } from "path";
|
|
15223
15433
|
import { Cli as Cli4 } from "incur";
|
|
15224
15434
|
|
|
15225
15435
|
// src/commands/mpp/cancel.tsx
|
|
15436
|
+
init_define_SKILL_BODIES();
|
|
15226
15437
|
import { Box as Box12, Text as Text13 } from "ink";
|
|
15227
15438
|
import Spinner10 from "ink-spinner";
|
|
15228
15439
|
import { useCallback as useCallback5 } from "react";
|
|
@@ -15247,6 +15458,7 @@ var CancelView = ({ approvalId, cancel, onComplete }) => {
|
|
|
15247
15458
|
};
|
|
15248
15459
|
|
|
15249
15460
|
// src/commands/mpp/decode.tsx
|
|
15461
|
+
init_define_SKILL_BODIES();
|
|
15250
15462
|
import { Box as Box13, Text as Text14 } from "ink";
|
|
15251
15463
|
import { jsx as jsx17, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
15252
15464
|
function ChallengeBody({ challenge }) {
|
|
@@ -15301,6 +15513,7 @@ var DecodeView = ({ result }) => {
|
|
|
15301
15513
|
};
|
|
15302
15514
|
|
|
15303
15515
|
// src/commands/mpp/pay.tsx
|
|
15516
|
+
init_define_SKILL_BODIES();
|
|
15304
15517
|
import { Box as Box14, Text as Text15, useInput as useInput3 } from "ink";
|
|
15305
15518
|
import Spinner11 from "ink-spinner";
|
|
15306
15519
|
import { useEffect as useEffect9, useReducer as useReducer7, useState as useState3 } from "react";
|
|
@@ -15479,6 +15692,7 @@ var PayView = ({ url, method, deps, onComplete, onCancel }) => {
|
|
|
15479
15692
|
};
|
|
15480
15693
|
|
|
15481
15694
|
// src/commands/mpp/schema.ts
|
|
15695
|
+
init_define_SKILL_BODIES();
|
|
15482
15696
|
import { z as z5 } from "incur";
|
|
15483
15697
|
var payArgs = z5.object({
|
|
15484
15698
|
url: z5.string().describe("The MPP-protected resource URL to pay for.")
|
|
@@ -15499,7 +15713,7 @@ var payOptions = z5.object({
|
|
|
15499
15713
|
maxAttempts: z5.coerce.number().default(0).describe("Hard cap on poll attempts when --interval > 0. 0 means unlimited."),
|
|
15500
15714
|
timeout: z5.coerce.number().default(900).describe("Polling deadline in seconds. Default 900s (matches the server-side approval expiry)."),
|
|
15501
15715
|
instrumentId: z5.string().optional().describe(
|
|
15502
|
-
"Funding instrument id (UUID) for an instrument-rail challenge. The buyer does not choose the rail
|
|
15716
|
+
"Funding instrument id (UUID) for an instrument-rail challenge. The buyer does not choose the rail - it is derived from the seller challenge; this is the only buyer-supplied payment option."
|
|
15503
15717
|
),
|
|
15504
15718
|
showBody: z5.boolean().default(true).describe(
|
|
15505
15719
|
"Include the seller response body in the result. Default true so AI assistants paying for content receive the deliverable. Pass --no-show-body to suppress (e.g. for binary downloads paired with --output-file)."
|
|
@@ -15548,6 +15762,7 @@ var inspectOptions2 = z5.object({
|
|
|
15548
15762
|
});
|
|
15549
15763
|
|
|
15550
15764
|
// src/commands/mpp/status.tsx
|
|
15765
|
+
init_define_SKILL_BODIES();
|
|
15551
15766
|
import { Box as Box15, Text as Text16 } from "ink";
|
|
15552
15767
|
import Spinner12 from "ink-spinner";
|
|
15553
15768
|
import { useEffect as useEffect10, useReducer as useReducer8 } from "react";
|
|
@@ -15623,6 +15838,7 @@ var MppStatusView = ({
|
|
|
15623
15838
|
};
|
|
15624
15839
|
|
|
15625
15840
|
// src/commands/mpp/supported.tsx
|
|
15841
|
+
init_define_SKILL_BODIES();
|
|
15626
15842
|
import { Box as Box16, Text as Text17 } from "ink";
|
|
15627
15843
|
import Spinner13 from "ink-spinner";
|
|
15628
15844
|
import { useCallback as useCallback6 } from "react";
|
|
@@ -16084,14 +16300,14 @@ function createMppCli(inflow2, authStorage2, apiBaseUrl2) {
|
|
|
16084
16300
|
}
|
|
16085
16301
|
});
|
|
16086
16302
|
cli2.command("supported", {
|
|
16087
|
-
description: "List the methods the buyer can pay with
|
|
16303
|
+
description: "List the methods the buyer can pay with - by intent, settlement rail, and currency.",
|
|
16088
16304
|
outputPolicy: "agent-only",
|
|
16089
16305
|
async run(c) {
|
|
16090
16306
|
return runSupportedCommand(c, inflow2, authStorage2);
|
|
16091
16307
|
}
|
|
16092
16308
|
});
|
|
16093
16309
|
cli2.command("inspect", {
|
|
16094
|
-
description: "Show the seller's MPP challenge(s) for a URL. Read-only probe
|
|
16310
|
+
description: "Show the seller's MPP challenge(s) for a URL. Read-only probe - no auth, no payment.",
|
|
16095
16311
|
args: inspectArgs2,
|
|
16096
16312
|
options: inspectOptions2,
|
|
16097
16313
|
outputPolicy: "agent-only",
|
|
@@ -16103,10 +16319,12 @@ function createMppCli(inflow2, authStorage2, apiBaseUrl2) {
|
|
|
16103
16319
|
}
|
|
16104
16320
|
|
|
16105
16321
|
// src/commands/user/index.tsx
|
|
16322
|
+
init_define_SKILL_BODIES();
|
|
16106
16323
|
import { Cli as Cli5, Errors as Errors2 } from "incur";
|
|
16107
16324
|
import "react";
|
|
16108
16325
|
|
|
16109
16326
|
// src/commands/user/get.tsx
|
|
16327
|
+
init_define_SKILL_BODIES();
|
|
16110
16328
|
import { Box as Box17, Text as Text18 } from "ink";
|
|
16111
16329
|
import Spinner14 from "ink-spinner";
|
|
16112
16330
|
import { useCallback as useCallback7, useRef as useRef3 } from "react";
|
|
@@ -16151,6 +16369,7 @@ var UserGet = ({ userResource, onComplete }) => {
|
|
|
16151
16369
|
};
|
|
16152
16370
|
|
|
16153
16371
|
// src/commands/user/schema.ts
|
|
16372
|
+
init_define_SKILL_BODIES();
|
|
16154
16373
|
import { z as z6 } from "incur";
|
|
16155
16374
|
var getOptions = z6.object({});
|
|
16156
16375
|
|
|
@@ -16203,11 +16422,13 @@ function createUserCli(user, authStorage2, inflow2) {
|
|
|
16203
16422
|
}
|
|
16204
16423
|
|
|
16205
16424
|
// src/commands/x402/index.tsx
|
|
16425
|
+
init_define_SKILL_BODIES();
|
|
16206
16426
|
import { chmodSync as chmodSync2, writeFileSync as writeFileSync3 } from "fs";
|
|
16207
16427
|
import { resolve as resolvePath3 } from "path";
|
|
16208
16428
|
import { Cli as Cli6 } from "incur";
|
|
16209
16429
|
|
|
16210
16430
|
// src/commands/x402/cancel.tsx
|
|
16431
|
+
init_define_SKILL_BODIES();
|
|
16211
16432
|
import { Box as Box18, Text as Text19 } from "ink";
|
|
16212
16433
|
import Spinner15 from "ink-spinner";
|
|
16213
16434
|
import { useCallback as useCallback8 } from "react";
|
|
@@ -16232,6 +16453,7 @@ var CancelView2 = ({ approvalId, cancel, onComplete }) => {
|
|
|
16232
16453
|
};
|
|
16233
16454
|
|
|
16234
16455
|
// src/commands/x402/decode.tsx
|
|
16456
|
+
init_define_SKILL_BODIES();
|
|
16235
16457
|
import { fromFoundationRequirements as fromFoundationRequirements3 } from "@inflowpayai/x402-buyer";
|
|
16236
16458
|
import { Box as Box19, Text as Text20 } from "ink";
|
|
16237
16459
|
import { jsx as jsx25, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
@@ -16263,6 +16485,7 @@ var DecodeView2 = ({ decoded }) => {
|
|
|
16263
16485
|
};
|
|
16264
16486
|
|
|
16265
16487
|
// src/commands/x402/pay.tsx
|
|
16488
|
+
init_define_SKILL_BODIES();
|
|
16266
16489
|
import { Box as Box20, Text as Text21, useInput as useInput4 } from "ink";
|
|
16267
16490
|
import Spinner16 from "ink-spinner";
|
|
16268
16491
|
import { useEffect as useEffect11, useReducer as useReducer9, useState as useState4 } from "react";
|
|
@@ -16441,6 +16664,7 @@ var PayView2 = ({ url, method, deps, onComplete, onCancel }) => {
|
|
|
16441
16664
|
};
|
|
16442
16665
|
|
|
16443
16666
|
// src/commands/x402/schema.ts
|
|
16667
|
+
init_define_SKILL_BODIES();
|
|
16444
16668
|
import { z as z7 } from "incur";
|
|
16445
16669
|
var payArgs2 = z7.object({
|
|
16446
16670
|
url: z7.string().describe("The x402-protected resource URL to pay for.")
|
|
@@ -16508,6 +16732,7 @@ var inspectOptions3 = z7.object({
|
|
|
16508
16732
|
});
|
|
16509
16733
|
|
|
16510
16734
|
// src/commands/x402/status.tsx
|
|
16735
|
+
init_define_SKILL_BODIES();
|
|
16511
16736
|
import { Box as Box21, Text as Text22 } from "ink";
|
|
16512
16737
|
import Spinner17 from "ink-spinner";
|
|
16513
16738
|
import { useEffect as useEffect12, useReducer as useReducer10 } from "react";
|
|
@@ -16580,6 +16805,7 @@ var X402StatusView = ({
|
|
|
16580
16805
|
};
|
|
16581
16806
|
|
|
16582
16807
|
// src/commands/x402/supported.tsx
|
|
16808
|
+
init_define_SKILL_BODIES();
|
|
16583
16809
|
import { Box as Box22, Text as Text23 } from "ink";
|
|
16584
16810
|
import Spinner18 from "ink-spinner";
|
|
16585
16811
|
import { useCallback as useCallback9 } from "react";
|
|
@@ -17024,7 +17250,7 @@ function createX402Cli(inflow2, authStorage2, apiBaseUrl2) {
|
|
|
17024
17250
|
}
|
|
17025
17251
|
});
|
|
17026
17252
|
cli2.command("inspect", {
|
|
17027
|
-
description: "Show the seller's PAYMENT-REQUIRED accepts for a URL. Read-only probe
|
|
17253
|
+
description: "Show the seller's PAYMENT-REQUIRED accepts for a URL. Read-only probe - no auth, no payment.",
|
|
17028
17254
|
args: inspectArgs3,
|
|
17029
17255
|
options: inspectOptions3,
|
|
17030
17256
|
outputPolicy: "agent-only",
|
|
@@ -17036,6 +17262,7 @@ function createX402Cli(inflow2, authStorage2, apiBaseUrl2) {
|
|
|
17036
17262
|
}
|
|
17037
17263
|
|
|
17038
17264
|
// src/utils/update-probe.ts
|
|
17265
|
+
init_define_SKILL_BODIES();
|
|
17039
17266
|
import process8 from "process";
|
|
17040
17267
|
import updateNotifier from "update-notifier";
|
|
17041
17268
|
var FRESH_TTL_MS = 60 * 60 * 1e3;
|
|
@@ -17103,14 +17330,42 @@ function formatUpdateNotice(info) {
|
|
|
17103
17330
|
}
|
|
17104
17331
|
|
|
17105
17332
|
// src/cli.tsx
|
|
17106
|
-
var cliVersion = "0.
|
|
17333
|
+
var cliVersion = "0.7.0";
|
|
17107
17334
|
var cliName = "@inflowpayai/inflow";
|
|
17108
|
-
var skillBody = '# Agentic Payments\n\nPay HTTP 402-protected resources on the user\'s behalf. InFlow speaks two payment protocols \u2014 **MPP** and **x402** \u2014 but the flow is the same for both: shared setup (install, run, authenticate), then a **router** that picks the protocol from the seller\'s 402 header, then one **Paying a 402 resource** section that covers both. A per-protocol **delta table** at the top of that section lists the handful of real differences (header name, credential name, filters, error codes); read your row, then follow the shared steps.\n\n## Installing\n\nInstall with `npm install -g @inflowpayai/inflow`. Or run directly with `npx @inflowpayai/inflow`.\n\n## Running\n\nInFlow runs as a **standalone CLI** or an **MCP server**.\n\n**MCP**: add an `inflow` server to your MCP client config that runs `npx -y @inflowpayai/inflow --mcp`. Keep the `-y` flag \u2014 it suppresses npx\'s confirmation prompt, without which the MCP host can stall on first run.\n\n**MCP mode** exposes every CLI command as a tool. Call `tools/list` on the MCP server for the authoritative inventory; arguments mirror the CLI flags one-to-one.\n\n### Common commands / options\n\n**The CLI is the source of truth for exact flags, enums, and output shapes** \u2014 run `inflow <command> --schema` for one command, or `inflow --llms-full` for everything. This playbook covers *when and why*, not exhaustive parameter lists; when you need a precise flag name, value set, or response shape, query the CLI rather than guessing.\n\n- `inflow --llms` (or `--llms-full` for parameter detail) \u2014 discover all commands. `inflow <command> --schema` for a single command\'s JSON Schema.\n- `inflow --skill` \u2014 print this playbook (no frontmatter) to stdout. Use it to paste into the system-prompt field of an MCP host that doesn\'t natively load skills: `inflow --skill | pbcopy`.\n- Default output is `toon`. Override with `--format <fmt>`; for programmatic parsing prefer `json` (single document) or `jsonl` (line-delimited).\n- Multi-step flows return `_next.command` \u2014 run it to continue.\n- `--auth <path>` overrides the credentials file location.\n- `--api-key <key>` or `INFLOW_API_KEY=<key>` is an alternative to device-flow auth.\n\n## Authenticate\n\nAuthentication is shared by both protocols \u2014 do it once, before either payment flow. **Don\'t start a payment until the user is authenticated.**\n\nCheck the current state first \u2014 the user may already be logged in:\n\n```bash\ninflow auth status\n```\n\nA successful `auth status` returns `authenticated: true` plus `auth_method` (`device_token` or `api_key`), a truncated `access_token` preview (never the full token), `credentials_path`, `connection`, and possibly an `update` field. For the user\'s identity (email, handle, account id), call `inflow user get` \u2014 `auth status` deliberately omits it. Run the command to see the full shape.\n\nIf the response includes an `update` field, a newer version of `inflow` is published.\n\n**Surface and defer.** Tell the user a newer version is available and how to upgrade \u2014 `npm install -g @inflowpayai/inflow@latest` (or `npx @inflowpayai/inflow@latest`). Then **proceed with the current version**. Only block on the upgrade if a subsequent command fails with `VERSION_UNSUPPORTED` (or an HTTP 426 from the API), at which point the upgrade is mandatory and you should not retry until it lands.\n\nIf `authenticated` is `false`, start the device flow:\n\n```bash\ninflow auth login --client-name "<your-agent-name>"\n```\n\nReplace `<your-agent-name>` with the name of your agent or application (for example `"Personal Assistant"`, `"Shopping Bot"`). The device-authorization page in the user\'s browser displays this name when they approve the connection. Use a clear, unique, identifiable name.\n\nThe response includes a `verification_url` (present this to the user), a `phrase`, and a `_next.command`. Run that command immediately to poll until authenticated. **Do not wait for the user to respond before starting the poll.**\n\nIf your environment can\'t relay the verification phrase to the user while a separate polling command blocks I/O, use inline polling instead:\n\n```bash\ninflow auth login --client-name "<name>" --interval 5 --timeout 300\n```\n\n**API key alternative:** if the user provides an API key, set `INFLOW_API_KEY=<key>` in the environment (or pass `--api-key <key>` to any command) instead of running `auth login`. The API key takes precedence over a saved device token.\n\n## Which protocol? \u2014 start here\n\nBefore paying, decide which protocol the resource uses. **You do not choose it \u2014 the seller\'s 402 challenge decides.** Run one read-only, no-auth command and let it detect both:\n\n```bash\ninflow inspect <url>\n```\n\n`inflow inspect` probes the URL **once** and decodes both MPP and x402 challenges from the same 402. Read its `detected` array to pick the pay rail:\n\n| `detected` | Pay with |\n| --- | --- |\n| `["mpp"]` | `inflow mpp pay <url>` |\n| `["x402"]` | `inflow x402 pay <url>` |\n| `["mpp", "x402"]` | `inflow mpp pay <url>` \u2014 **MPP wins when both are present** |\n| `[]` (seller still returned 402) | Not InFlow-payable on this account. Stop and tell the user; check `warnings` for why. |\n\nIf `inspect` returns `outcome: "no-payment-required"`, the URL isn\'t paywalled \u2014 there\'s nothing to pay.\n\n---\n\n## Paying a 402 resource\n\nOne flow for both protocols. Prerequisite: you are authenticated (see [Authenticate](#authenticate)). First find your protocol\'s row in the **Protocol deltas** table below \u2014 it names the 402 header that selected it, the matching model, the filter flags, and the credential and replay header you\'ll use. Everything else in this section applies to both protocols.\n\n**Sequencing.** Run pre-flight before pay \u2014 `pay` fails or double-charges if the pre-flight checks didn\'t clear. `inspect` and `decode` are read-only and need no auth, so they may run before you authenticate if useful (e.g. sizing up a paywall first).\n\n### Protocol deltas\n\n| Aspect | MPP | x402 |\n| --- | --- | --- |\n| Selected when the 402 carries | `WWW-Authenticate: Payment` | `PAYMENT-REQUIRED` (and no `WWW-Authenticate: Payment`) |\n| Command prefix | `inflow mpp \u2026` | `inflow x402 \u2026` |\n| Matching model | The seller\'s challenge **pins the rail** \u2014 the buyer does not choose scheme/network/asset | Pay where the x402 `accepts` \u2229 `supported.kinds` is non-empty |\n| Filter flags | `--payment-method`, `--intent`, `--currency`, `--rail`, `--instrument-id` | `--scheme`, `--network`, `--asset`, `--asset-name` |\n| Credential field (after approval) | `credential` (from `mpp status` when `state` is `ready`) | `encoded_payload` (from `x402 status` after approval) |\n| Replay header | `Authorization: Payment <credential>` | `PAYMENT-SIGNATURE: <encoded_payload>` |\n| Write-credential-to-disk flag | `--credential-file <path>` | `--payload-file <path>` |\n| Idempotency | \u2014 | `--payment-id` (see Step 2) |\n| Cancel uses | `approval_id` | `approval_id` |\n| Protocol-specific error codes | `PAYMENT_FAILED`, `PAYMENT_EXPIRED`, `PAYMENT_NOT_ACCEPTED` | `APPROVAL_TIMEOUT`, `APPROVAL_FAILED`, `APPROVAL_CANCELLED` |\n\nThroughout this section `<mpp|x402>` means "use your protocol\'s prefix." For the exact parameters and output shape of any command below, run `inflow <command> --schema`.\n\n### Step 1: Pre-flight evaluation\n\n```bash\n# 1. Parse what the seller will accept \u2014 read-only, no auth (both protocols in one probe)\ninflow inspect <url>\n\n# (Already have the raw 402 header from a prior response? Decode it directly instead of re-probing:)\ninflow <mpp|x402> decode \'<402 header value>\'\n\n# 2. List what the buyer\'s account can pay with (use the protocol from `detected`)\ninflow <mpp|x402> supported\n\n# 3. Check balances for the candidate currency/asset(s)\ninflow balances list\n```\n\n`inflow inspect` returns what the seller accepts under its `mpp` and `x402` keys \u2014 the price is each challenge\'s `amount` field (raw atomic units for x402; the asset is the on-chain contract address, not a symbol). `decode` parses a single raw header you already hold (and also accepts a base64url credential / receipt). `supported` returns what the account can pay with; `balances list` returns `available` per currency. Run the commands to see the exact shapes.\n\nDecide whether you can pay (apply your protocol\'s matching model from the delta table):\n\n| Condition | Meaning | Action |\n| --- | --- | --- |\n| No payable match between the seller and the buyer\'s `supported` methods | No payable rail | Stop \u2192 `NO_INFLOW_MATCH`. Tell the user the seller\'s rails aren\'t supported by their account. |\n| A match exists, but `balances.available < amount` for every match | Right rail, not enough funds | Stop \u2192 run `inflow deposit-addresses list`, surface the address(es) in full, ask the user to fund a matching network. |\n| A match exists **and** \u22651 match has `balances.available \u2265 amount` | Payable | Proceed to Step 2. |\n\n**Optional filters** narrow *which* offer to fulfil \u2014 optional, AND-combined, applied on `pay`, and an empty result fails with `NO_FILTERED_MATCH` (it does not fall through to a default order). One non-obvious case: MPP\'s `--instrument-id` picks *how* to fund (an instrument-rail / fiat challenge), not which challenge. For the exact filter flags and accepted values per protocol, run `inflow <mpp|x402> pay --schema`.\n\n**Decimal precision.** `balances.available` and the challenge/`amount` value are decimal strings preserving BigDecimal precision. **Never parse them to a JS `Number`** \u2014 that drops precision. Compare as strings, or use a `BigInt` / `decimal.js`-style library.\n\n### Step 2: Pay\n\nBefore initiating the call, summarize the intent to the user in chat: amount, currency, resource URL, and the method/rail (MPP) or scheme/network (x402). The user verifies the canonical details on the approval screen; the chat summary is what they read first. Example:\n\n> "I\'m about to pay 0.10 USDC to api.foo.dev for /dataset.csv. Requesting approval next."\n\n**Fast path (recommended).** When the agent can block until the payment finishes, set `--interval N` and let the CLI run the whole flow in one call \u2014 probe, decode, prepare, await approval, replay against the seller, return the body:\n\n```bash\ninflow <mpp|x402> pay <url> --interval 5 --max-attempts 180\n```\n\nThe result includes `outcome`, `transaction_id`, `response_status`, `settled`, the seller body inline (or `output_saved_to` if `--output-file` is set), and the now-consumed credential (`credential` for MPP, `encoded_payload` for x402). On the fast path the CLI has already replayed that credential to fetch the body \u2014 it appears in the result for reference only; **do not replay it yourself.** To surface `approval_url` *before* the call returns, add `--format jsonl` \u2014 frames stream line-by-line. With the default `json` (or `toon`), the agent only sees the final buffered result.\n\n**`outcome` values.** A completed `pay` returns one of three terminal outcomes \u2014 branch on it, don\'t assume `paid`:\n\n| `outcome` | Meaning | What to do |\n| --- | --- | --- |\n| `paid` | Settled and the seller returned 2xx | Deliver the body to the user |\n| `no-payment-required` | The resource wasn\'t paywalled, or was already paid | Tell the user nothing was charged; return the body |\n| `replay-rejected` | Payment was approved (funds in transit) but the seller replied non-2xx on the replay | Do NOT report success. Tell the user the seller\'s response failed; because the payment didn\'t complete, the in-transit funds are reverted to their InFlow balance. Offer to retry |\n\n**Two-step path.** Use this when the agent\'s host can\'t block I/O long enough for the user to approve (chat UIs that yield between turns). Drop `--interval`; the first call returns `transaction_id` + `approval_id` + `approval_url` + a `_next` `status` command, and the agent drives the replay itself once a credential arrives.\n\n```bash\ninflow <mpp|x402> pay <url>\n# -> { "transaction_id": "txn_abc", "approval_id": "appr_xyz", "approval_url": "https://app.inflowpay.ai/approvals/appr_xyz", "_next": { "command": "<mpp|x402> status txn_abc --interval 5 --max-attempts 180" } }\n```\n\nMind the two distinct ids: poll, replay, and resume all use `transaction_id`; **cancel uses `approval_id`** (`inflow <mpp|x402> cancel <approval_id>`). Both are returned by `pay`.\n\nFor non-GET requests, pass `--method`, `--data`, `--header` (repeatable):\n\n```bash\ninflow <mpp|x402> pay https://seller.example.com/api/widgets --method POST --data \'{"sku":"widget-1"}\' --header "X-Custom: value" --interval 5 --max-attempts 180\n```\n\n**Idempotency (x402 only).** Set `--payment-id <id>` whenever a retry on transport failure is possible \u2014 the server treats two requests with the same id as the same logical payment, so a retry after a network blip won\'t double-charge. Use a stable random opaque value generated once per intent; reuse the same id on transport retry; regenerate only when the user explicitly wants a fresh charge. Don\'t tie the id to wall-clock time \u2014 a date-based id silently double-charges on next-day "buy this again" requests. Without `--payment-id`, the server generates one each call \u2014 fine for one-shots, unsafe for retries. (Format constraints: `inflow x402 pay --schema`.)\n\n```bash\ninflow x402 pay <url> --payment-id "<stable-opaque-id>"\n```\n\n**Sensitive / binary output.** The one-time bearer credential (`credential` for MPP, `encoded_payload` for x402; returned after approval and echoed in the fast-path result) must not be echoed back in chat. Write it to disk at mode `0o600` with your protocol\'s flag (`--credential-file <path>` for MPP, `--payload-file <path>` for x402); replay then reads from that file. For the seller\'s response body, `--output-file <path>` writes bytes to disk and replaces `body` / `body_base64` with `output_saved_to: <path>` \u2014 pair with `--no-show-body` for binary content (PDFs, images, audio, datasets) so bytes never appear inline as base64:\n\n```bash\ninflow <mpp|x402> pay https://api.foo.dev/dataset.csv --interval 5 --max-attempts 180 --output-file /tmp/dataset.csv --no-show-body\n```\n\n**Polling discipline.** Persist `transaction_id` as soon as `pay` returns it. Then:\n\n- Run `_next.command` (or `<mpp|x402> status <transaction_id> --interval N`) immediately. Don\'t wait for the user to confirm before polling starts.\n- If polling is interrupted \u2014 network drop, session bounce, user kills the agent \u2014 resume with `inflow <mpp|x402> status <transaction_id> --interval 5 --max-attempts 180`. Only create a new transaction if the original expired (`PAYMENT_EXPIRED` for MPP, `APPROVAL_TIMEOUT` for x402), was denied/cancelled, or its credential is already consumed.\n- If `POLLING_TIMEOUT` fires before approval, ask the user whether to keep waiting or cancel \u2014 don\'t silently restart the poll.\n- If >12 minutes elapsed without a user response (\u22483 min before the 15-minute approval window closes), surface that explicitly so they can act before the window closes.\n- If the user aborts ("nevermind", "cancel that"), call `inflow <mpp|x402> cancel <approval_id>` before exiting. Otherwise the approval sits pending for 15 minutes and triggers phantom notifications in the user\'s InFlow app.\n\nOnce `status` reports the credential (MPP: `state: ready` with `credential`; x402: `encoded_payload`), replay the original seller request with your protocol\'s replay header from the delta table \u2014 `Authorization: Payment <credential>` (MPP) or `PAYMENT-SIGNATURE: <encoded_payload>` (x402); use `$(cat <file>)` if you wrote it to disk with `--credential-file` / `--payload-file`. The seller\'s protected response comes back on the replay.\n\n### Limits\n\n| Limit | Value |\n| --- | --- |\n| Approval window | 15 minutes from `pay` creating the transaction (`--timeout` overrides the polling deadline) |\n| Polling stop condition | Polling ends at whichever fires first: `--max-attempts` (count, default `0` = unlimited) or `--timeout` (seconds, default `900` = the full 15-min window). The examples use `--interval 5 --max-attempts 180` (= 900 s) so a copied command covers the whole window \u2014 `--interval 5 --max-attempts 60` (= 300 s) would stop polling at 5 min, well before approval can land |\n| Credential reuse | One-time. The credential (`credential` for MPP, `encoded_payload` for x402) is consumed by the first seller replay \u2014 not reusable; a failed seller call requires a new `pay` |\n\n### Worked example (MPP)\n\nA user asks the agent to fetch a paywalled dataset at `https://api.foo.dev/dataset.csv`.\n\nPre-flight: `inflow inspect <url>` reports `detected: ["mpp"]` with the seller\'s challenges; then `inflow mpp supported` (methods the buyer can pay with) and `inflow balances list`. The seller offers the `inflow` method in USDC; the user\'s 100.5 USDC balance covers the 0.10 USDC price. Summarize intent, then pay:\n\n```bash\ninflow mpp pay https://api.foo.dev/dataset.csv --interval 5 --max-attempts 180 --output-file /tmp/dataset.csv --no-show-body\n# Persist transaction_id from the response in case polling is interrupted.\n# Returns outcome "paid" with output_saved_to /tmp/dataset.csv.\n```\n\n> "Approval requested \u2014 confirm in the InFlow app: https://app.inflowpay.ai/approvals/appr_xyz\n> I\'ll keep polling. 15-min window."\n\nOnce the result arrives:\n\n> "Paid 0.10 USDC. Transaction txn_abc. Saved the dataset to /tmp/dataset.csv."\n\n**Two-step variant** (host can\'t block): follow Step 2\'s two-step path; once `mpp status` reports `state: ready`, replay with `Authorization: Payment <credential>` (or `$(cat <path>)` via `--credential-file` to keep it out of chat).\n\n### Worked example (x402)\n\nA user asks the agent to fetch a paywalled article at `https://api.foo.dev/article-3`.\n\nPre-flight: `inflow inspect <url>` reports `detected: ["x402"]`; the intersection lands on `exact` \xD7 `solana:mainnet`, and the user\'s 100.5 USDC balance easily covers the 0.10 USDC the seller requires. Proceed.\n\n> "I\'m about to pay 0.10 USDC on Solana mainnet to api.foo.dev for /article-3.\n> Your balance is 100.5 USDC \u2014 plenty. Requesting approval next."\n\n```bash\ninflow x402 pay https://api.foo.dev/article-3 --payment-id "<stable-opaque-id>" --interval 5 --max-attempts 180\n# Persist transaction_id from the response in case polling gets interrupted.\n# Returns outcome "paid"; body contains the article JSON.\n```\n\n> "Approval requested \u2014 confirm in the InFlow app: https://app.inflowpay.ai/approvals/appr_xyz\n> I\'ll keep polling. 15-min window."\n\nOnce the result arrives:\n\n> "Paid 0.10 USDC. Transaction txn_abc. Server returned: \'How to brew coffee \u2014 ...\'"\n\n**Two-step variant** (host can\'t block): follow Step 2\'s two-step path; once `x402 status` returns the `encoded_payload`, replay with `PAYMENT-SIGNATURE: <encoded_payload>` (use `--payload-file` to keep it out of chat).\n\n### MPP errors\n\nAll errors in agent mode are JSON with `code` and `message` fields and exit code 1. MPP-specific codes (shared codes are in [\xA7 Shared errors](#shared-errors)). "What to tell the user" is the prompt to surface \u2014 don\'t dump the raw error:\n\n| Error code | Recovery | What to tell the user |\n| --- | --- | --- |\n| `PAYMENT_FAILED` | `inflow mpp status <transaction_id>` for the precise state, then create a new transaction with `inflow mpp pay`. (Terminal `failed` state, or no credential produced.) | "The payment didn\'t go through \u2014 it was declined, underfunded, or the transaction failed. Want me to try again, switch funding, or stop?" |\n| `PAYMENT_EXPIRED` | Start a new `inflow mpp pay`. | "The payment window expired before it was ready to settle. Want me to start a new one, or stop here?" |\n| `PAYMENT_NOT_ACCEPTED` | `inflow inspect <url>` to re-check the challenge; adjust and retry. | \u2014 |\n\n### x402 errors\n\nAll errors in agent mode are JSON with `code` and `message` fields and exit code 1. x402-specific codes (shared codes are in [\xA7 Shared errors](#shared-errors)). "What to tell the user" is the prompt to surface \u2014 don\'t dump the raw error:\n\n| Error code | Recovery | What to tell the user |\n| --- | --- | --- |\n| `APPROVAL_TIMEOUT` | `inflow x402 status <transaction_id>` for the precise reason, then create a new transaction. | "You didn\'t approve within 15 minutes, so the request expired. Want me to start a new payment, or stop here?" |\n| `APPROVAL_FAILED` | Same recovery as `APPROVAL_TIMEOUT` (declined / insufficient funds in the matched asset / generic). | "Approval didn\'t go through (declined or insufficient funds in the matched asset). Want me to try a different funding source, top up, or stop?" |\n| `APPROVAL_CANCELLED` | Same recovery (cancelled via `x402 cancel` or server-side). | "You cancelled the approval. Stopping here unless you want to start a new payment." |\n| `INVALID_PAYMENT_ID` | `--payment-id` violated the format (see `inflow x402 pay --schema`). Adjust or omit the payment id. | \u2014 |\n\n---\n\n## Security & data handling\n\nApplies to both protocols.\n\n- Treat OAuth tokens and API keys as secrets \u2014 never echo them. The one-time bearer credential (`encoded_payload` for x402, `credential` for MPP) returned after approval should be replayed directly against the seller and discarded, not pasted back to the user.\n- Respect `/agents.txt` and `/llm.txt` on sites you browse.\n- Avoid suspicious 402 endpoints \u2014 if the domain doesn\'t match what the user asked to pay, or the price is different from expectation, stop and ask.\n- When displaying deposit addresses to the user, print the full address (don\'t truncate). Truncating breaks copy-paste.\n\n## Shared errors\n\nThese apply to both protocols (in addition to each section\'s protocol-specific codes). All are JSON with `code` and `message` and exit code 1. Where a command is protocol-specific, use your prefix (`<mpp|x402>`). "What to tell the user" is the prompt to surface \u2014 don\'t dump the raw error:\n\n| Error code | Recovery | What to tell the user |\n| --- | --- | --- |\n| `NOT_AUTHENTICATED` | No saved device token and no `--api-key` / `INFLOW_API_KEY` configured. Run `inflow auth login` or set the API key env var. | \u2014 |\n| `NO_INFLOW_MATCH` | Seller\'s rails aren\'t supported by the account. Fund a matching method/chain, or use a different seller. | "The seller wants `<method/rail or scheme\xD7network>`, but your account can\'t pay on that rail. Either fund a matching method, or pick a different seller." |\n| `NO_FILTERED_MATCH` | A `pay` filter emptied the candidate list. Loosen the filter (flags per the delta table), or re-check the seller\'s unfiltered options with `inflow inspect <url>`. | "Your filter removed every option the seller accepts. Loosen it or re-check the seller\'s options with `inflow inspect`." |\n| `INVALID_402` / `DECODE_FAILED` | Seller returned 402 but the protocol\'s header was missing (`INVALID_402`) or unparseable (`DECODE_FAILED`). Verify the URL is payable; pass the raw header to `inflow <mpp|x402> decode` for the detailed parse error. | \u2014 |\n| `POLLING_TIMEOUT` | `--interval` polling reached its max-attempts or timeout. Retryable \u2014 resume with `inflow <mpp|x402> status <transaction_id> --interval 5 --max-attempts 180`. | "Still waiting on your approval \u2014 want me to keep polling, or cancel the request? (`inflow <mpp|x402> cancel <approval_id>` cancels it.)" |\n| `api_error` | Non-2xx from the InFlow API on the plain data calls (`user`, `balances`, `deposit-addresses`); discriminate on `httpStatus`. `401` \u2014 saved auth rejected, re-run `inflow auth login`. `426` (`VERSION_UNSUPPORTED`) \u2014 upgrade and retry. `5xx` \u2014 server-side; wait and retry. (Note: `pay`/`status` rejections instead surface the server\'s own code, e.g. `INSUFFICIENT_FUNDS`, or the protocol\'s terminal code \u2014 not `api_error`.) | \u2014 |\n| `VERSION_UNSUPPORTED` / HTTP 426 | Installed `inflow` CLI is below the minimum supported version. `npm install -g @inflowpayai/inflow@latest`, then retry; don\'t retry on the old version. | \u2014 |\n| `transport_error` | Network failure \u2014 check connectivity; retry. | \u2014 |\n\n## Out of scope\n\nThis skill covers programmatic HTTP 402 payments (MPP and x402) only. It does NOT handle:\n\n- **Traditional merchant checkouts** No PANs (credit card forms, hosted checkouts).\n- **Card issuance** or wallet management beyond `balances list` and `deposit-addresses list`.\n- **Refunds, disputes, chargebacks** \u2014 handled out of band via support.\n- **Peer-to-peer transfers** between users or wallets.\n- **FX / currency conversion.** Buyer logic matches the seller\'s accepted rails against the account\'s supported assets.\n- **Subscriptions / recurring payments.** Each `pay` is one-shot.\n\nFor any of the above, point the user to https://app.inflowpay.ai or support.\n\n## Further docs\n\n- MPP protocol: https://mpp.dev\n- x402 protocol: https://x402.org\n- InFlow: https://app.inflowpay.ai\n';
|
|
17109
|
-
|
|
17110
|
-
|
|
17335
|
+
var bootstrapBody = '# InFlow - Agent Setup\n\n> Served at https://inflowcli.ai/skill.md - the onboarding entry point for AI agents. InFlow gives your agent a wallet\n> to register, access, and pay for services autonomously across fiat and stablecoins, over MPP and x402.\n\nYou are an AI agent whose user asked to get set up with InFlow. Follow these steps.\n\n## 1. Install\n\nRequires Node.js >= 22.\n\nmacOS / Linux:\n\n```bash\ncurl -fsSL https://inflowcli.ai/cli | bash\n```\n\nWindows:\n\n```powershell\niwr -useb https://inflowcli.ai/install.ps1 | iex\n```\n\nOr install with npm directly: `npm install -g @inflowpayai/inflow`. Or skip installing and run every command through\n`npx -y @inflowpayai/inflow`.\n\nRunning as an MCP server? Add an `inflow` server to your MCP client config that runs `npx -y @inflowpayai/inflow --mcp`\n(keep `-y`; without it the host can stall on first run).\n\n## 2. Authenticate\n\nCheck the current state first - the user may already be logged in:\n\n```bash\ninflow auth status\n```\n\nIf the response includes an `update` field, tell the user a newer version is available and how to upgrade\n(`npm install -g @inflowpayai/inflow@latest`), then proceed with the current version.\n\nIf `authenticated` is `false`, start the OAuth device flow:\n\n```bash\ninflow auth login --client-name "<your-agent-name>"\n```\n\nReplace `<your-agent-name>` with a clear, unique, identifiable name for your agent - the user sees it on the approval\npage in their browser. The response includes a `verification_url` (present it to the user), a `phrase`, and a\n`_next.command` - run that command immediately to poll until authenticated; do not wait for the user to respond before\nstarting the poll. If your environment can\'t relay the phrase while a polling command blocks I/O, use inline polling\ninstead:\n\n```bash\ninflow auth login --client-name "<name>" --interval 5 --timeout 300\n```\n\nConfirm with `inflow auth status` before proceeding.\n\n## 3. Load the playbook for your task\n\nSetup alone is not enough. Before performing a task with InFlow, load and follow its playbook:\n\n| Task | Playbook |\n| --------------------------------------------- | ------------------------------------------------------------------------------ |\n| Pay HTTP 402-protected resources (MPP / x402) | run `inflow --skill`, or fetch https://inflowcli.ai/skills/agentic-payments.md |\n\nPrefer `inflow --skill` - it always matches the version you are running. The web copy reflects the latest release;\ncompare its `version:` header against `inflow --version`.\n\nThe CLI is self-describing - prefer querying it over static docs: `inflow --llms` (command index), `inflow --llms-full`\n(parameter detail), `inflow <command> --schema` (JSON Schema for one command).\n\n## Links\n\n- Command index: https://inflowcli.ai/llms.txt (full reference: https://inflowcli.ai/llms-full.txt)\n- Source: https://github.com/inflowpayai/inflow-cli\n- Web app: https://app.inflowpay.ai\n- MPP protocol: https://mpp.dev\n- x402 protocol: https://x402.org\n- Contact: info@inflowpay.ai\n';
|
|
17336
|
+
var skillBodies = define_SKILL_BODIES_default;
|
|
17337
|
+
var DEFAULT_SKILL = "agentic-payments";
|
|
17338
|
+
Help.registerGlobalFlags([
|
|
17339
|
+
{ flag: "--bootstrap", desc: "Print the agent setup guide (install, authenticate, load a playbook)" },
|
|
17340
|
+
{ flag: "--skill [name]", desc: `Print a skill playbook (default: ${DEFAULT_SKILL})` }
|
|
17341
|
+
]);
|
|
17342
|
+
function printBody(body) {
|
|
17343
|
+
process9.stdout.write(body.endsWith("\n") ? body : `${body}
|
|
17111
17344
|
`);
|
|
17112
17345
|
process9.exit(0);
|
|
17113
17346
|
}
|
|
17347
|
+
if (process9.argv.includes("--bootstrap")) {
|
|
17348
|
+
printBody(bootstrapBody);
|
|
17349
|
+
}
|
|
17350
|
+
var skillFlagIndex = process9.argv.findIndex((arg) => arg === "--skill" || arg.startsWith("--skill="));
|
|
17351
|
+
if (skillFlagIndex !== -1) {
|
|
17352
|
+
const flagArg = process9.argv[skillFlagIndex];
|
|
17353
|
+
let name;
|
|
17354
|
+
if (flagArg.startsWith("--skill=")) {
|
|
17355
|
+
const value = flagArg.slice("--skill=".length);
|
|
17356
|
+
name = value.length > 0 ? value : DEFAULT_SKILL;
|
|
17357
|
+
} else {
|
|
17358
|
+
const next = process9.argv[skillFlagIndex + 1];
|
|
17359
|
+
name = next !== void 0 && !next.startsWith("-") ? next : DEFAULT_SKILL;
|
|
17360
|
+
}
|
|
17361
|
+
const body = skillBodies[name];
|
|
17362
|
+
if (body === void 0) {
|
|
17363
|
+
process9.stderr.write(`Unknown skill '${name}'. Available: ${Object.keys(skillBodies).sort().join(", ")}
|
|
17364
|
+
`);
|
|
17365
|
+
process9.exit(1);
|
|
17366
|
+
}
|
|
17367
|
+
printBody(body);
|
|
17368
|
+
}
|
|
17114
17369
|
var CLI_CLIENT_IDS = {
|
|
17115
17370
|
production: "1f4ccbcbddce500e19b37fa0877ba032",
|
|
17116
17371
|
sandbox: "19ba1cd46402cf2695c3056da0ac03ab"
|
|
@@ -17214,7 +17469,7 @@ Received ${signal}; exiting.
|
|
|
17214
17469
|
process9.on("SIGTERM", onSignal);
|
|
17215
17470
|
}
|
|
17216
17471
|
var cli = Cli7.create("inflow", {
|
|
17217
|
-
description: "InFlow
|
|
17472
|
+
description: "InFlow - agentic MPP / x402 payments from your machine.",
|
|
17218
17473
|
version: cliVersion
|
|
17219
17474
|
});
|
|
17220
17475
|
var backgroundUpdateProbe = makeBackgroundUpdateProbe(cliName, cliVersion);
|