@aifinpay/skill 2.8.0 → 2.9.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.
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aifinpay",
|
|
3
3
|
"description": "Payment rail for AI agents: pay for x402 APIs or charge agents for yours.",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.9.0",
|
|
5
5
|
"author": { "name": "AiFinPay Support" },
|
|
6
6
|
"homepage": "https://aifinpay.io",
|
|
7
7
|
"repository": "https://github.com/AiFinPay/skill",
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
## 2.9.0 — reporting cohort source candidate
|
|
2
|
+
|
|
3
|
+
- Align package, lock, plugin and both skill versions with the coordinated
|
|
4
|
+
MCP2.8.0 / Node SDK2.6.0 / Python SDK2.5.1 release target; preserve dated
|
|
5
|
+
published baselines without claiming this cohort is published or active.
|
|
6
|
+
- Describe the explicit merchant reporting v2 target for Node gate0.4.0 and
|
|
7
|
+
Python gate0.1.3: observed challenge/admission/completion, consent and
|
|
8
|
+
memory-only capabilities, bounded queue loss and acknowledged producer health.
|
|
9
|
+
Observations do not establish verified identity, payment or complete coverage.
|
|
10
|
+
- Keep the existing gated MCP tools, signing, receipt/budget/recovery and
|
|
11
|
+
network activation requirements. Canonical payer bytes must be copied into
|
|
12
|
+
the paired MCP build before its exact cohort and registry release gates.
|
|
13
|
+
- Validate matching payer/merchant/README targets, dated payer publication
|
|
14
|
+
baseline and changelog metadata; test drift refusals without dependencies.
|
|
15
|
+
|
|
1
16
|
## 2.8.0 — source candidate
|
|
2
17
|
|
|
3
18
|
- Describe the MCP2.7 / Node and Python2.5 Solana source target with explicit
|
package/README.md
CHANGED
|
@@ -9,8 +9,13 @@ any client that loads `SKILL.md`).
|
|
|
9
9
|
| `aifinpay` | Paying — agent buys x402-gated API access | `agent/skills/aifinpay/SKILL.md` |
|
|
10
10
|
| `aifinpay-merchant` | Earning — merchant charges agents per request | `agent/skills/aifinpay-merchant/SKILL.md` |
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
Version **2.9.0** describes a coordinated reporting release target.
|
|
13
|
+
Release target: MCP **2.8.0**, Node SDK **2.6.0**, Python **2.5.1**.
|
|
14
|
+
Reporting release target: Node gate **0.4.0**, Python gate **0.1.3**.
|
|
15
|
+
The merchant guide describes explicit opt-in observations, consent, queue loss
|
|
16
|
+
and producer health using the SDK's reporting v2 contract. It adds no MCP tools
|
|
17
|
+
or signing authority and does not establish publication or partner rollout.
|
|
18
|
+
The payer guide retains the Solana source adapter. Canonical disabled Solana
|
|
14
19
|
records remain unavailable until accepted and served. Its nine EVM descriptors
|
|
15
20
|
require explicit owner and merchant
|
|
16
21
|
network consent plus backend readiness; installing instructions does not
|
|
@@ -21,6 +26,13 @@ Rule of thumb: if the user wants to **pay** for a paid API, load `aifinpay`.
|
|
|
21
26
|
If they **own** a site/API agents visit, load `aifinpay-merchant` — and mention
|
|
22
27
|
the other side exists.
|
|
23
28
|
|
|
29
|
+
For merchant reporting, follow the merchant guide's optional reporting section
|
|
30
|
+
and the SDK's [Node](https://github.com/AiFinPay/sdk/blob/main/gate/REPORTING-V2.md)
|
|
31
|
+
or [Python](https://github.com/AiFinPay/sdk/blob/main/python-gate/REPORTING-V2.md)
|
|
32
|
+
instructions. Observation events, admission and resource completion are
|
|
33
|
+
distinct; payments require confirmed settlement evidence. Producer health
|
|
34
|
+
and pending/drop coverage describe telemetry completeness, not payment success.
|
|
35
|
+
|
|
24
36
|
## Install
|
|
25
37
|
|
|
26
38
|
Install the skills with the `skills` CLI:
|
|
@@ -6,7 +6,7 @@ description: Pay for x402-gated APIs and sites as an agent (AIFP-1 on an owner-s
|
|
|
6
6
|
wallet, payment history, prepaid quotas and Agent Passport records through
|
|
7
7
|
the AiFinPay MCP server or SDK.
|
|
8
8
|
license: MIT
|
|
9
|
-
version: 2.
|
|
9
|
+
version: 2.9.0
|
|
10
10
|
author: AiFinPay Support
|
|
11
11
|
metadata:
|
|
12
12
|
hermes:
|
|
@@ -61,7 +61,7 @@ your language. There is no "install together" scenario.
|
|
|
61
61
|
|
|
62
62
|
## Version and release status
|
|
63
63
|
|
|
64
|
-
Release target: MCP **2.
|
|
64
|
+
Release target: MCP **2.8.0**, Node SDK **2.6.0**, Python **2.5.1**.
|
|
65
65
|
This skill describes that coordinated package cohort. Check the installed
|
|
66
66
|
versions before using its additional-network instructions; a release target
|
|
67
67
|
does not establish npm/PyPI publication or production network activation.
|
|
@@ -71,8 +71,8 @@ Published packages remain usable within their documented capabilities.
|
|
|
71
71
|
|
|
72
72
|
| Surface | Can it pay? |
|
|
73
73
|
|---|---|
|
|
74
|
-
| MCP `@aifinpay/mcp` 2.
|
|
75
|
-
| Node `@aifinpay/agent` 2.
|
|
74
|
+
| MCP `@aifinpay/mcp` 2.8.x | `payable_fetch`, only with a persistent wallet and every owner limit set. Polygon is the default; other networks require explicit `AIFINPAY_PAY_CHAIN`. The merchant and backend must authorize and serve that network. `scope: "merchant"` buys a site-wide batch. |
|
|
75
|
+
| Node `@aifinpay/agent` 2.6.x | `fetchPaid` with a v14 journal, gas cap and owner budgets. Select another network with `v14.chain`; select a pinned stablecoin with `v14.asset`. Native payments require an independent native/USD rate. |
|
|
76
76
|
| Python `aifinpay-agent` 2.5.x | `agent.fetch_paid(url, allowed_origins=…, max_amount_usd=…, daily_amount_usd=…)`; use explicit `chain` and the chain's native gas cap for another network, or a pinned stablecoin `asset`. `agent.recover_paid(journal_path)` recovers the original transaction. |
|
|
77
77
|
|
|
78
78
|
The client descriptors below are shared by the target cohort. They do not
|
|
@@ -166,7 +166,7 @@ or event log alone does not prove a valid paid request.
|
|
|
166
166
|
|
|
167
167
|
# AiFinPay agent workflow
|
|
168
168
|
|
|
169
|
-
Use the tools actually returned by MCP tools/list. MCP 2.
|
|
169
|
+
Use the tools actually returned by MCP tools/list. MCP 2.8.0 exposes
|
|
170
170
|
agent_address, agent_reload, agent_claim_self, agent_history, agent_quota,
|
|
171
171
|
agent_passport_resolve, settlement_routes, settlement_invoice and
|
|
172
172
|
deployment_info; `payable_fetch` appears when the owner has enabled payments.
|
|
@@ -4,7 +4,7 @@ description: Configure an HTTP 402 gate for agent access to a website or API,
|
|
|
4
4
|
with owner-selected routes, verified payouts and explicitly accepted EVM
|
|
5
5
|
networks. Agents settle from their own wallets; the merchant receives 99%.
|
|
6
6
|
license: MIT
|
|
7
|
-
version: 2.
|
|
7
|
+
version: 2.9.0
|
|
8
8
|
author: AiFinPay Support
|
|
9
9
|
metadata:
|
|
10
10
|
hermes:
|
|
@@ -155,7 +155,9 @@ Gate 0.3.3 source adds `instructions_url` (payer skill),
|
|
|
155
155
|
links to maintained public instructions, not stored wallet or receipt data.
|
|
156
156
|
Existing sites must upgrade/redeploy gate to emit those new fields.
|
|
157
157
|
|
|
158
|
-
|
|
158
|
+
Release target: MCP **2.8.0**, Node SDK **2.6.0**, Python **2.5.1**.
|
|
159
|
+
This coordinated target does not establish publication or reporting rollout.
|
|
160
|
+
Those clients
|
|
159
161
|
reuse the signed v1.4 payment kernel for nine EVM network descriptors; network
|
|
160
162
|
metadata does not activate a deployment or verifier. Production served Polygon
|
|
161
163
|
and Base at the 2026-10-04 baseline check. Additional networks require a ready
|
|
@@ -178,6 +180,62 @@ network until their owner updates them. Read the selected issuer's
|
|
|
178
180
|
payment readiness. Do not change a payout wallet, accepted network set or
|
|
179
181
|
settlement version without the merchant owner's authorization.
|
|
180
182
|
|
|
183
|
+
## Optional observation and reporting
|
|
184
|
+
|
|
185
|
+
Reporting release target: Node gate **0.4.0**, Python gate **0.1.3**.
|
|
186
|
+
Use these instructions only after checking the installed packages and the
|
|
187
|
+
backend's reporting v2 readiness. Installing the skill does not enable reporting
|
|
188
|
+
or verify a partner integration. Opt in when the merchant owner requests it:
|
|
189
|
+
Node uses `createGateReporterV2` with `reporting: { version: 2, reporter,
|
|
190
|
+
context }`; Python uses `GateReporterV2` with `Gate(..., reporting=reporter,
|
|
191
|
+
reporting_context=...)`. Keep the existing receipt verification and shared
|
|
192
|
+
quota store. Use one producer per merchant per worker, created after fork in
|
|
193
|
+
Python; do not also attach the legacy `onEvent`/`on_event` reporter or report
|
|
194
|
+
the same request through both hosted and self-hosted instrumentation.
|
|
195
|
+
|
|
196
|
+
Declare only stages the adapter actually observes: `access_challenged` for an
|
|
197
|
+
emitted 402, `access_admitted` before the paid handler, and
|
|
198
|
+
`resource_response_completed` for its terminal success, redirect, error or
|
|
199
|
+
abort. A challenge is not a browser view; admission is not completion.
|
|
200
|
+
Neither stage counts a verified unique agent or proves payment. Payments and
|
|
201
|
+
revenue require confirmed settlement evidence, never purchased quota or
|
|
202
|
+
invented historical usage. Browser observations need their separate API;
|
|
203
|
+
the gate producer does not infer them from User-Agent or `AIFP-Agent-Id`.
|
|
204
|
+
|
|
205
|
+
Context carries an explicit channel and consent state. Only granted consent
|
|
206
|
+
allows an optional random, site-scoped `client_id`; it remains unverified.
|
|
207
|
+
Do not derive identity from a wallet, IP, fingerprint, headers or request body.
|
|
208
|
+
An optional flow minted by `mintFlow`/`mint_flow` carries a short-lived
|
|
209
|
+
`reporting_token` for observation only. It grants no access, payment authority,
|
|
210
|
+
ownership or integration verification. Keep it in memory, outside URLs,
|
|
211
|
+
logs, browser storage, cookies and payment/recovery files. The payer SDK's
|
|
212
|
+
optional `reportingToken`/`reporting_token` reaches only its fixed first-party
|
|
213
|
+
quote endpoints; never manually forward it to merchant, pay, RPC or JWKS
|
|
214
|
+
requests. Reporting failures preserve the original access/payment result.
|
|
215
|
+
|
|
216
|
+
Keep the merchant secret server-side. Report only registered route patterns,
|
|
217
|
+
never full URLs, queries, bodies, raw headers, IPs, receipt JWTs or wallet IDs.
|
|
218
|
+
Queues are in memory, bounded to 1000 events, with batches of at most 50,
|
|
219
|
+
3-second request deadlines and at most 5 attempts within 15 minutes.
|
|
220
|
+
Retries retain the same event IDs, timestamps and facts; outages, overflow
|
|
221
|
+
and crashes lose observations. Permanent errors and redirects are not retried;
|
|
222
|
+
fix credentials/configuration before replacing a stopped producer.
|
|
223
|
+
|
|
224
|
+
Node health auto-samples every 60 seconds; Python normally samples every 5
|
|
225
|
+
seconds. All health attempts are at least 5 seconds apart, and retries may
|
|
226
|
+
delay samples. A health acknowledgement is exactly `{version: 2, duplicate: boolean}`,
|
|
227
|
+
separate from the event-batch acknowledgement. Until a sample is acknowledged,
|
|
228
|
+
remote pending/drop coverage is unknown; a health gap over 5 minutes remains
|
|
229
|
+
a coverage gap. Local counters and successful HTTP responses do not prove a
|
|
230
|
+
complete report, and superseding lifetime health counters must not be summed.
|
|
231
|
+
Drain HTTP requests before closing the producer in the existing shutdown hook;
|
|
232
|
+
flush/close do not promise delivery.
|
|
233
|
+
|
|
234
|
+
Read the exact wiring and consent/loss rules before implementation:
|
|
235
|
+
[Node reporting v2](https://github.com/AiFinPay/sdk/blob/main/gate/REPORTING-V2.md)
|
|
236
|
+
and [Python reporting v2](https://github.com/AiFinPay/sdk/blob/main/python-gate/REPORTING-V2.md).
|
|
237
|
+
This reporting target adds no MCP tools or signing authority.
|
|
238
|
+
|
|
181
239
|
## Register the site (get your merchant_id)
|
|
182
240
|
|
|
183
241
|
The gate needs a `merchant_id`. Two ways to get one:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aifinpay/skill",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.9.0",
|
|
4
4
|
"description": "AiFinPay agent skills: pay for x402-gated APIs as an agent (aifinpay) and charge agents for your API as a merchant (aifinpay-merchant).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"CHANGELOG.md"
|
|
12
12
|
],
|
|
13
13
|
"scripts": {
|
|
14
|
-
"test": "node scripts/validate.mjs",
|
|
14
|
+
"test": "node scripts/validate.mjs && node --test scripts/validate.test.mjs",
|
|
15
15
|
"prepublishOnly": "npm test"
|
|
16
16
|
},
|
|
17
17
|
"keywords": [
|