agent-passport-system 1.38.0 → 1.40.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 +81 -155
- package/dist/src/core/commerce.d.ts +9 -0
- package/dist/src/core/commerce.d.ts.map +1 -1
- package/dist/src/core/commerce.js +14 -1
- package/dist/src/core/commerce.js.map +1 -1
- package/dist/src/core/delegation.d.ts +6 -0
- package/dist/src/core/delegation.d.ts.map +1 -1
- package/dist/src/core/delegation.js +12 -3
- package/dist/src/core/delegation.js.map +1 -1
- package/dist/src/core/gateway.d.ts +3 -0
- package/dist/src/core/gateway.d.ts.map +1 -1
- package/dist/src/core/gateway.js +79 -7
- package/dist/src/core/gateway.js.map +1 -1
- package/dist/src/core-exports.d.ts +18 -0
- package/dist/src/core-exports.d.ts.map +1 -0
- package/dist/src/core-exports.js +26 -0
- package/dist/src/core-exports.js.map +1 -0
- package/dist/src/types/passport.d.ts +19 -0
- package/dist/src/types/passport.d.ts.map +1 -1
- package/dist/src/types/passport.js.map +1 -1
- package/dist/src/v2/credential-check-policy/check.d.ts +48 -0
- package/dist/src/v2/credential-check-policy/check.d.ts.map +1 -0
- package/dist/src/v2/credential-check-policy/check.js +139 -0
- package/dist/src/v2/credential-check-policy/check.js.map +1 -0
- package/dist/src/v2/credential-check-policy/index.d.ts +3 -0
- package/dist/src/v2/credential-check-policy/index.d.ts.map +1 -0
- package/dist/src/v2/credential-check-policy/index.js +4 -0
- package/dist/src/v2/credential-check-policy/index.js.map +1 -0
- package/dist/src/v2/credential-check-policy/types.d.ts +50 -0
- package/dist/src/v2/credential-check-policy/types.d.ts.map +1 -0
- package/dist/src/v2/credential-check-policy/types.js +23 -0
- package/dist/src/v2/credential-check-policy/types.js.map +1 -0
- package/dist/src/v2/index.d.ts +6 -0
- package/dist/src/v2/index.d.ts.map +1 -1
- package/dist/src/v2/index.js +7 -0
- package/dist/src/v2/index.js.map +1 -1
- package/dist/src/v2/sub-delegate-advisor.d.ts +77 -0
- package/dist/src/v2/sub-delegate-advisor.d.ts.map +1 -0
- package/dist/src/v2/sub-delegate-advisor.js +122 -0
- package/dist/src/v2/sub-delegate-advisor.js.map +1 -0
- package/dist/src/v2/wallet-binding/bind.d.ts +53 -0
- package/dist/src/v2/wallet-binding/bind.d.ts.map +1 -0
- package/dist/src/v2/wallet-binding/bind.js +188 -0
- package/dist/src/v2/wallet-binding/bind.js.map +1 -0
- package/dist/src/v2/wallet-binding/index.d.ts +3 -0
- package/dist/src/v2/wallet-binding/index.d.ts.map +1 -0
- package/dist/src/v2/wallet-binding/index.js +4 -0
- package/dist/src/v2/wallet-binding/index.js.map +1 -0
- package/dist/src/v2/wallet-binding/types.d.ts +53 -0
- package/dist/src/v2/wallet-binding/types.d.ts.map +1 -0
- package/dist/src/v2/wallet-binding/types.js +13 -0
- package/dist/src/v2/wallet-binding/types.js.map +1 -0
- package/package.json +6 -2
package/README.md
CHANGED
|
@@ -5,211 +5,137 @@
|
|
|
5
5
|
[](https://github.com/aeoess/agent-passport-system)
|
|
6
6
|
[](https://doi.org/10.5281/zenodo.18749779)
|
|
7
7
|
|
|
8
|
-
> **For AI agents:** visit [aeoess.com/llms.txt](https://aeoess.com/llms.txt) for machine-readable docs
|
|
8
|
+
> **For AI agents:** visit [aeoess.com/llms.txt](https://aeoess.com/llms.txt) for machine-readable docs.
|
|
9
9
|
|
|
10
|
-
**
|
|
10
|
+
**Governance infrastructure for AI agents. Gateway evaluation under 2ms.**
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
The gateway is both judge and executor. Authority can only decrease at each transfer point. Cascade revocation propagates through delegation chains. Every action produces a signed receipt. Every constraint is checked in under 2ms.
|
|
15
|
-
|
|
16
|
-
Seven independent projects have cross-tested against these primitives. AgentID: 7/7. MolTrust: 5/5. Kanoniv delegation chains: verified. Three languages, three codebases, identical results.
|
|
12
|
+
Authority can only decrease at each transfer point. The gateway is both judge and executor. Every action produces a signed receipt.
|
|
17
13
|
|
|
18
14
|
```bash
|
|
19
15
|
npm install agent-passport-system
|
|
20
16
|
```
|
|
21
17
|
|
|
22
|
-
##
|
|
18
|
+
## Quick Start
|
|
23
19
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
| [Signet](https://github.com/Prismer-AI/signet) | MCP transport signing | Policy gate, execution attestation |
|
|
30
|
-
| [ArkForge](https://arkforge.tech) | External proof anchoring | Receipts to anchor |
|
|
31
|
-
| [Microsoft AGT](https://github.com/microsoft/agent-governance-toolkit) | Enterprise policy engine | Trust signals, scope verification |
|
|
32
|
-
|
|
33
|
-
See [INTEGRATION.md](INTEGRATION.md) for how to compose your project with APS.
|
|
20
|
+
```typescript
|
|
21
|
+
import {
|
|
22
|
+
createPassport, createDelegation, evaluateIntent, commercePreflight
|
|
23
|
+
} from 'agent-passport-system/core'
|
|
24
|
+
```
|
|
34
25
|
|
|
35
|
-
##
|
|
26
|
+
## Core Protocol
|
|
36
27
|
|
|
37
|
-
|
|
28
|
+
What ships in every deployment.
|
|
38
29
|
|
|
39
|
-
**
|
|
30
|
+
**Identity** -- Ed25519 passports, passport grades 0-3, key rotation, did:aps identifiers.
|
|
40
31
|
|
|
41
|
-
**
|
|
32
|
+
**Delegation** -- Scoped authority with monotonic narrowing. Sub-delegation can only reduce scope. Cascade revocation propagates through the full chain. `subDelegateAdvisor` implements the bounded-escalation delegation pattern used in multi-model agent workflows where a lower-cost executor escalates to a higher-capability advisor at decision points -- the advisor delegation is count-bounded, cannot execute tools, and cascade-revokes with its parent.
|
|
42
33
|
|
|
43
|
-
**
|
|
34
|
+
**Enforcement** -- 3-signature action chain: agent signs intent, policy engine signs evaluation, agent signs execution receipt. The agent cannot skip the check.
|
|
44
35
|
|
|
45
|
-
**
|
|
36
|
+
**Commerce** -- 5-gate preflight: valid passport, scope check, spend limit, merchant allowlist, idempotency. Human approval thresholds for high-value transactions.
|
|
46
37
|
|
|
47
|
-
|
|
38
|
+
**Reputation** -- Bayesian trust scoring across 5 tiers. Authority is earned per-scope, not global. Passport grades compound with behavioral history.
|
|
48
39
|
|
|
49
|
-
|
|
50
|
-
import { createProxyGateway, generateKeyPair, joinSocialContract } from 'agent-passport-system'
|
|
51
|
-
|
|
52
|
-
// 1. Create an enforcement gateway
|
|
53
|
-
const gwKeys = generateKeyPair()
|
|
54
|
-
const gateway = createProxyGateway({
|
|
55
|
-
gatewayId: 'gateway-prod',
|
|
56
|
-
...gwKeys,
|
|
57
|
-
floor: loadFloor('values/floor.yaml'),
|
|
58
|
-
approvalTTLSeconds: 30,
|
|
59
|
-
recheckRevocationOnExecute: true,
|
|
60
|
-
enableReputationGating: true,
|
|
61
|
-
}, toolExecutor)
|
|
62
|
-
|
|
63
|
-
// 2. Agent joins with identity + values attestation
|
|
64
|
-
const agent = joinSocialContract({ name: 'worker', owner: 'alice', floor: floorYaml })
|
|
65
|
-
|
|
66
|
-
// 3. Register agent, add delegation
|
|
67
|
-
gateway.registerAgent(agent.passport, agent.attestation)
|
|
68
|
-
gateway.addDelegation(agent.agentId, delegation)
|
|
69
|
-
|
|
70
|
-
// 4. Agent requests action → gateway enforces ALL constraints
|
|
71
|
-
const result = await gateway.processToolCall({
|
|
72
|
-
requestId: 'req-001',
|
|
73
|
-
agentId: agent.agentId,
|
|
74
|
-
agentPublicKey: agent.publicKey,
|
|
75
|
-
tool: 'database_query',
|
|
76
|
-
params: { query: 'SELECT * FROM users' },
|
|
77
|
-
scopeRequired: 'data_read',
|
|
78
|
-
spend: { amount: 5, currency: 'usd' },
|
|
79
|
-
signature: sign(canonicalize({ requestId: 'req-001', tool: 'database_query', ... }), agent.privateKey)
|
|
80
|
-
})
|
|
40
|
+
## Wallet Binding
|
|
81
41
|
|
|
82
|
-
|
|
83
|
-
// result.proof = { requestSignature, decisionSignature, receiptSignature } ← 3-sig chain
|
|
84
|
-
// result.receipt = signed, tamper-proof, links to delegation chain
|
|
85
|
-
// result.tierCheck = reputation tier was sufficient
|
|
86
|
-
```
|
|
42
|
+
Two layers, designed to compose.
|
|
87
43
|
|
|
88
|
-
**
|
|
44
|
+
**Structural (agent-attested).** The agent's own passport private key signs `{ passport_id, chain, address, bound_at }` and appends the result to the passport's `bound_wallets` field. Verifiable offline with just the passport public key. Chain-agnostic: Nano is the native APS wallet, but the primitive accepts any chain identifier with an address.
|
|
89
45
|
|
|
90
|
-
|
|
46
|
+
```typescript
|
|
47
|
+
import { bindWallet, verifyBoundWallet } from 'agent-passport-system'
|
|
91
48
|
|
|
92
|
-
|
|
49
|
+
const bound = bindWallet({
|
|
50
|
+
passport: signedPassport,
|
|
51
|
+
privateKey: agentPrivateKey,
|
|
52
|
+
chain: 'nano',
|
|
53
|
+
address: 'nano_3jb1...',
|
|
54
|
+
})
|
|
93
55
|
|
|
94
|
-
|
|
95
|
-
// Identity creation is two lines
|
|
96
|
-
const keys = generateKeyPair()
|
|
97
|
-
const agent = joinSocialContract({ name: 'my-agent', owner: 'alice', floor: floorYaml })
|
|
98
|
-
|
|
99
|
-
// The value is what you do WITH identity:
|
|
100
|
-
// → Scoped delegation with spend limits and time bounds
|
|
101
|
-
// → Cascade revocation that propagates through chains
|
|
102
|
-
// → Reputation scoring that gates authority
|
|
103
|
-
// → Values floor enforcement at execution time
|
|
104
|
-
// → Beneficiary attribution via Merkle proofs
|
|
105
|
-
// → Commerce gates that prevent unauthorized purchases
|
|
56
|
+
verifyBoundWallet(bound, 'nano', 'nano_3jb1...') // true
|
|
106
57
|
```
|
|
107
58
|
|
|
108
|
-
|
|
59
|
+
**Behavioral (issuer-attested).** Independent issuers (the [insumer-examples](https://github.com/insumerapi/insumer-examples) ecosystem and friends — skyemeta/skyeprofile and 8 others) sign attestations about wallet behavior, sybil signals, and on-chain history. Their signatures stand alone.
|
|
109
60
|
|
|
110
|
-
|
|
61
|
+
The two layers compose: a verifier accepting both gets cryptographic proof that **this passport holder controls this address** (structural) **and** that **this address has these behavioral properties** (behavioral). Neither layer claims what the other proves. Multi-attestation envelopes carry both.
|
|
111
62
|
|
|
112
|
-
|
|
113
|
-
|-------|-------------|---------------|
|
|
114
|
-
| **Enforcement Gateway** | Sits between agent and tools. Checks every constraint. Executes, generates receipts. | `ProxyGateway` — 6 enforcement properties, replay protection, revocation recheck |
|
|
115
|
-
| **Reputation & Trust** | Bayesian scoring, authority tiers, evidence-weighted. Agents earn trust, don't claim it. | `ScopedReputation`, `AuthorityTier`, configurable decay |
|
|
116
|
-
| **Agentic Commerce** | 4-gate checkout, spend tracking, human approval thresholds, beneficiary attribution. | `commercePreflight`, `CommerceActionReceipt` |
|
|
117
|
-
| **Coordination** | Task briefs, evidence submission, review gates, handoffs, deliverables, metrics. | `TaskUnit` lifecycle with integrity validation |
|
|
118
|
-
| **Intent & Policy** | Roles, tradeoff rules, deliberative consensus, 3-signature policy chain. | `ActionIntent` → `PolicyDecision` → `ActionReceipt` |
|
|
119
|
-
| **Values Floor** | 8 principles (5 enforced, 3 attested). Graduated enforcement: inline/audit/warn. | `FloorAttestation`, compliance verification |
|
|
120
|
-
| **Communication** | Ed25519-signed messages, registry, threading, topic filtering. | `SignedAgoraMessage`, tamper detection |
|
|
121
|
-
| **Identity** | Bring your own: did:key, did:web, SPIFFE, OAuth, native did:aps. Ed25519 keypairs, scoped delegation, cascade revocation. | `toDIDKey`, `importSPIFFESVID`, `importOAuthToken`, `SignedPassport` |
|
|
63
|
+
`commercePreflight()` enforces the structural layer at gate 5: when the action references a `walletRef`, the gate denies with `WALLET_NOT_BOUND` unless the wallet is currently bound to the acting passport. The check is opt-in — actions without a `walletRef` skip it, so existing 5-gate flows are unaffected.
|
|
122
64
|
|
|
123
|
-
|
|
65
|
+
`unbindWallet()` produces a separately signed unbind event so the bind/unbind history can be reconstructed independent of the passport's current `bound_wallets` snapshot.
|
|
124
66
|
|
|
125
|
-
|
|
67
|
+
## Credential Check Policy
|
|
126
68
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
132 tools across all modules. Any MCP client connects agents directly.
|
|
69
|
+
A credential needs to declare WHEN it should be re-verified. Different credential types have different trust decay profiles. APS lets the issuer set this on the delegation itself via `credentialCheckPolicy`.
|
|
130
70
|
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
|
|
71
|
+
```typescript
|
|
72
|
+
import { createDelegation } from 'agent-passport-system'
|
|
73
|
+
|
|
74
|
+
const delegation = createDelegation({
|
|
75
|
+
delegatedTo: agentPublicKey,
|
|
76
|
+
delegatedBy: principalPublicKey,
|
|
77
|
+
scope: ['payments:wire'],
|
|
78
|
+
spendLimit: 1_000_000,
|
|
79
|
+
expiresInHours: 24,
|
|
80
|
+
privateKey: principalPrivateKey,
|
|
81
|
+
credentialCheckPolicy: {
|
|
82
|
+
mode: 'both', // 'on-accept' | 'on-process' | 'both'
|
|
83
|
+
max_acceptance_age: 3600, // optional, seconds
|
|
84
|
+
},
|
|
85
|
+
})
|
|
134
86
|
```
|
|
135
87
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
npm: [agent-passport-system-mcp](https://www.npmjs.com/package/agent-passport-system-mcp) · GitHub: [aeoess/agent-passport-mcp](https://github.com/aeoess/agent-passport-mcp)
|
|
139
|
-
|
|
140
|
-
## Python SDK
|
|
88
|
+
Three modes:
|
|
141
89
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
```bash
|
|
145
|
-
pip install agent-passport-system
|
|
146
|
-
```
|
|
90
|
+
**`on-accept`** -- verify once at credential acceptance time, trust the snapshot afterward. Cheap. Use for long-lived session credentials where the live revocation cost is prohibitive and brief staleness is acceptable. Live revocation between accept and process will not be caught.
|
|
147
91
|
|
|
148
|
-
|
|
92
|
+
**`on-process`** -- verify on every action evaluation. The default. Catches live revocation. This matches the existing APS recheck-on-execute behavior, so delegations without an explicit `credentialCheckPolicy` continue to work unchanged.
|
|
149
93
|
|
|
150
|
-
|
|
94
|
+
**`both`** -- verify at acceptance AND at process time. Use for high-stakes actions (large spend, irreversible operations, cross-org transactions) where you want both the snapshot integrity check AND the live state check.
|
|
151
95
|
|
|
152
|
-
|
|
96
|
+
Denial codes specific to this gate: `CREDENTIAL_NOT_ACCEPTED` (policy is `on-accept`/`both` but no acceptance stamp), `CREDENTIAL_ACCEPT_STALE` (stamp older than `max_acceptance_age`), `PROCESS_TIME_INVALID` (live state failed), `ACCEPT_TIME_INVALID` (acceptance check failed).
|
|
153
97
|
|
|
154
|
-
|
|
155
|
-
npx agent-passport join --name my-agent --owner alice --floor values/floor.yaml
|
|
156
|
-
npx agent-passport work --scope code_execution --result success --summary "Built the feature"
|
|
157
|
-
npx agent-passport audit --floor values/floor.yaml
|
|
158
|
-
```
|
|
98
|
+
Proposed by [@piiiico](https://github.com/piiiico) on the a2aproject/A2A governance metadata thread.
|
|
159
99
|
|
|
160
|
-
##
|
|
100
|
+
## Extended Modules
|
|
161
101
|
|
|
162
|
-
|
|
163
|
-
npm test
|
|
164
|
-
# 2,535 tests, 0 failures
|
|
165
|
-
```
|
|
102
|
+
Pick what you need. `import from 'agent-passport-system'` for the full API.
|
|
166
103
|
|
|
167
|
-
|
|
104
|
+
Coordination (task lifecycle with 9-state machine), EU AI Act compliance (signed evidence packets), framework adapters (CrewAI, LangChain, Google ADK, A2A, MCP), bilateral receipts, execution attestation, DID resolution, data lifecycle (access receipts, derivation tracking, consent revocation).
|
|
168
105
|
|
|
169
|
-
##
|
|
106
|
+
## Research Primitives
|
|
170
107
|
|
|
171
|
-
|
|
172
|
-
|---|---|---|---|---|---|
|
|
173
|
-
| Status | Running code | Paper | Simulated | Advisory | Paper |
|
|
174
|
-
| Enforcement gateway | 6 properties, replay protection | — | — | — | — |
|
|
175
|
-
| Reputation/trust scoring | Bayesian + tiers | — | — | — | Consensus |
|
|
176
|
-
| Identity | Ed25519 | Proposed | External | — | Proposed |
|
|
177
|
-
| Delegation | Scoped + cascade revoke | Proposed | N/A | — | — |
|
|
178
|
-
| Commerce | 4-gate + spend tracking | — | — | — | — |
|
|
179
|
-
| Signed receipts | 3-sig chain | Proposed | Logs | General | — |
|
|
180
|
-
| Values enforcement | 8 principles, graduated | — | Rules | — | — |
|
|
181
|
-
| Coordination | Task lifecycle + MCP | — | — | — | — |
|
|
182
|
-
| Tests | 2,230 (50 adversarial) | None | Limited | None | None |
|
|
108
|
+
Forward-looking governance. Published, tested, available.
|
|
183
109
|
|
|
184
|
-
|
|
110
|
+
32 v2 constitutional modules: approval fatigue detection, epistemic isolation, blind evaluation, separation of powers, affected-party standing, circuit breakers, constitutional amendment, authority laundering audit, emergence detection.
|
|
185
111
|
|
|
186
|
-
|
|
187
|
-
- Integrated into [Microsoft agent-governance-toolkit](https://github.com/microsoft/agent-governance-toolkit) (PR #598)
|
|
188
|
-
- Referenced in [MITRE ATLAS](https://github.com/mitre-atlas/atlas-data/issues/11) agent security techniques
|
|
189
|
-
- Referenced in [MCP SEP-1763](https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1763) interceptor framework
|
|
190
|
-
- NIST NCCoE public comment on AI Agent Identity and Authorization
|
|
191
|
-
- Collaboration with IETF DAAP draft author on delegation spec
|
|
192
|
-
- Endorsed by Garry Tan (CEO, Y Combinator)
|
|
112
|
+
Institutional governance: charters, offices, federation, reserves, multi-party approvals.
|
|
193
113
|
|
|
194
|
-
##
|
|
114
|
+
## MCP Server
|
|
195
115
|
|
|
196
|
-
|
|
116
|
+
```bash
|
|
117
|
+
npx agent-passport-system-mcp
|
|
118
|
+
```
|
|
197
119
|
|
|
198
|
-
|
|
120
|
+
20 essential tools by default. Set `APS_PROFILE=full` for all 132 tools. Profiles: essential, identity, governance, coordination, commerce, data, gateway, comms, minimal, full.
|
|
199
121
|
|
|
200
|
-
##
|
|
122
|
+
## Numbers
|
|
201
123
|
|
|
202
|
-
|
|
124
|
+
2,552 tests. 8 protocol layers. 11 framework adapters. Gateway evaluation under 2ms. Zero heavy dependencies. Apache-2.0.
|
|
203
125
|
|
|
204
|
-
|
|
126
|
+
## Papers
|
|
205
127
|
|
|
206
|
-
|
|
128
|
+
- [The Agent Social Contract](https://doi.org/10.5281/zenodo.18749779)
|
|
129
|
+
- [Faceted Authority Attenuation](https://doi.org/10.5281/zenodo.19260073)
|
|
130
|
+
- [Behavioral Derivation Rights](https://doi.org/10.5281/zenodo.19365841)
|
|
131
|
+
- [Physics-Enforced Delegation](https://doi.org/10.5281/zenodo.19478584)
|
|
132
|
+
- IETF Internet-Draft: draft-pidlisnyi-aps-00
|
|
207
133
|
|
|
208
|
-
|
|
209
|
-
- Full docs: [aeoess.com/llms-full.txt](https://aeoess.com/llms-full.txt)
|
|
210
|
-
- Quick start: [aeoess.com/llms/quickstart.txt](https://aeoess.com/llms/quickstart.txt)
|
|
211
|
-
- API reference: [aeoess.com/llms/api.txt](https://aeoess.com/llms/api.txt)
|
|
134
|
+
## Links
|
|
212
135
|
|
|
213
|
-
|
|
136
|
+
- [aeoess.com](https://aeoess.com) -- Protocol home
|
|
137
|
+
- [llms-full.txt](https://aeoess.com/llms-full.txt) -- Complete reference for AI agents
|
|
138
|
+
- [Dev log](https://aeoess.com/blog.html) -- Day-by-day build record
|
|
139
|
+
- [npm](https://www.npmjs.com/package/agent-passport-system) · [PyPI](https://pypi.org/project/agent-passport-system/) · [MCP](https://www.npmjs.com/package/agent-passport-system-mcp)
|
|
214
140
|
|
|
215
|
-
Apache-2.0
|
|
141
|
+
Copyright 2024-2026 Tymofii Pidlisnyi. Apache-2.0.
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { WalletChain } from '../v2/wallet-binding/types.js';
|
|
1
2
|
import type { SignedPassport } from '../types/passport.js';
|
|
2
3
|
import type { ACPCheckoutSession, ACPLineItem, ACPMoney, ACPAddress, CommerceConfig, CommerceDelegation, CommercePreflightResult, CommerceActionReceipt, HumanApprovalRequest, IdempotencyStore } from '../types/commerce.js';
|
|
3
4
|
export declare function commercePreflight(opts: {
|
|
@@ -6,6 +7,10 @@ export declare function commercePreflight(opts: {
|
|
|
6
7
|
merchantName: string;
|
|
7
8
|
estimatedTotal: ACPMoney;
|
|
8
9
|
config?: CommerceConfig;
|
|
10
|
+
walletRef?: {
|
|
11
|
+
chain: WalletChain;
|
|
12
|
+
address: string;
|
|
13
|
+
};
|
|
9
14
|
idempotencyKey: string;
|
|
10
15
|
idempotencyStore: IdempotencyStore;
|
|
11
16
|
idempotencyWindowSeconds?: number;
|
|
@@ -16,6 +21,10 @@ export declare function commercePreflight(opts: {
|
|
|
16
21
|
merchantName: string;
|
|
17
22
|
estimatedTotal: ACPMoney;
|
|
18
23
|
config?: CommerceConfig;
|
|
24
|
+
walletRef?: {
|
|
25
|
+
chain: WalletChain;
|
|
26
|
+
address: string;
|
|
27
|
+
};
|
|
19
28
|
}): CommercePreflightResult;
|
|
20
29
|
export declare function createCheckout(opts: {
|
|
21
30
|
signedPassport: SignedPassport;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commerce.d.ts","sourceRoot":"","sources":["../../../src/core/commerce.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commerce.d.ts","sourceRoot":"","sources":["../../../src/core/commerce.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ import { sign, verify as ed25519Verify } from '../crypto/keys.js';
|
|
|
18
18
|
import { canonicalize } from './canonical.js';
|
|
19
19
|
import { verifyPassport } from '../verification/verify.js';
|
|
20
20
|
import { scopeAuthorizes } from './delegation.js';
|
|
21
|
+
import { verifyBoundWallet } from '../v2/wallet-binding/bind.js';
|
|
21
22
|
// ── Commerce Scopes ──
|
|
22
23
|
const COMMERCE_SCOPES = [
|
|
23
24
|
'commerce:checkout',
|
|
@@ -77,7 +78,19 @@ export function commercePreflight(opts) {
|
|
|
77
78
|
: `Merchant "${opts.merchantName}" is NOT on approved list: [${opts.delegation.approvedMerchants.join(', ')}]`,
|
|
78
79
|
});
|
|
79
80
|
}
|
|
80
|
-
// Gate 5:
|
|
81
|
+
// Gate 5: Wallet binding (only when the action references a specific wallet)
|
|
82
|
+
// Existing 5-gate flows that don't pass walletRef are unaffected.
|
|
83
|
+
if (opts.walletRef) {
|
|
84
|
+
const isBound = verifyBoundWallet(opts.signedPassport, opts.walletRef.chain, opts.walletRef.address);
|
|
85
|
+
checks.push({
|
|
86
|
+
check: 'wallet_bound',
|
|
87
|
+
passed: isBound,
|
|
88
|
+
detail: isBound
|
|
89
|
+
? `Wallet ${opts.walletRef.chain}:${opts.walletRef.address} is bound to passport ${opts.signedPassport.passport.agentId}`
|
|
90
|
+
: `WALLET_NOT_BOUND: ${opts.walletRef.chain}:${opts.walletRef.address} is not bound to passport ${opts.signedPassport.passport.agentId}`,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
// Gate 6: Idempotency check (async, only if key + store provided)
|
|
81
94
|
if (opts.idempotencyKey && opts.idempotencyStore) {
|
|
82
95
|
const windowSeconds = opts.idempotencyWindowSeconds ?? 300;
|
|
83
96
|
return opts.idempotencyStore.check(opts.idempotencyKey, windowSeconds).then(result => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commerce.js","sourceRoot":"","sources":["../../../src/core/commerce.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commerce.js","sourceRoot":"","sources":["../../../src/core/commerce.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,8 @@ export interface CreateDelegationOptions {
|
|
|
8
8
|
scope: string[];
|
|
9
9
|
scopeInterpretation?: 'exact' | 'glob' | 'hierarchical';
|
|
10
10
|
spendLimit?: number;
|
|
11
|
+
/** Unit for spendLimit. Default 'currency'. 'invocations' for count-based bounds. */
|
|
12
|
+
spendLimitUnit?: 'currency' | 'invocations';
|
|
11
13
|
maxDepth?: number;
|
|
12
14
|
currentDepth?: number;
|
|
13
15
|
expiresInHours?: number;
|
|
@@ -15,6 +17,8 @@ export interface CreateDelegationOptions {
|
|
|
15
17
|
notBefore?: string;
|
|
16
18
|
derivation_rights?: import('../types/passport.js').DerivationRights;
|
|
17
19
|
observation_policy?: import('../types/passport.js').ObservationPolicy;
|
|
20
|
+
/** Verification timing policy (v2/credential-check-policy) */
|
|
21
|
+
credentialCheckPolicy?: import('../v2/credential-check-policy/types.js').CredentialCheckPolicy;
|
|
18
22
|
privateKey: string;
|
|
19
23
|
}
|
|
20
24
|
export declare function createDelegation(opts: CreateDelegationOptions): Delegation;
|
|
@@ -23,6 +27,8 @@ export interface SubDelegateOptions {
|
|
|
23
27
|
delegatedTo: string;
|
|
24
28
|
scope: string[];
|
|
25
29
|
spendLimit?: number;
|
|
30
|
+
/** Unit for spendLimit. Default inherits parent. 'invocations' enables count-based bounds. */
|
|
31
|
+
spendLimitUnit?: 'currency' | 'invocations';
|
|
26
32
|
derivation_rights?: import('../types/passport.js').DerivationRights;
|
|
27
33
|
privateKey: string;
|
|
28
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegation.d.ts","sourceRoot":"","sources":["../../../src/core/delegation.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAC7D,uBAAuB,EAAE,yBAAyB,EAClD,eAAe,EAChB,MAAM,sBAAsB,CAAA;AAqB7B,4CAA4C;AAC5C,wBAAgB,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAEvD;AAKD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,MAAM,IAAI,CAMnF;AAYD,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,mBAAmB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,cAAc,CAAA;IACvD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,OAAO,sBAAsB,EAAE,gBAAgB,CAAA;IACnE,kBAAkB,CAAC,EAAE,OAAO,sBAAsB,EAAE,iBAAiB,CAAA;IACrE,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"delegation.d.ts","sourceRoot":"","sources":["../../../src/core/delegation.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,12 +69,14 @@ export function createDelegation(opts) {
|
|
|
69
69
|
expiresAt: expiry.toISOString(),
|
|
70
70
|
spendLimit: opts.spendLimit,
|
|
71
71
|
spentAmount: 0,
|
|
72
|
+
...(opts.spendLimitUnit && { spendLimitUnit: opts.spendLimitUnit }),
|
|
72
73
|
maxDepth: opts.maxDepth ?? 1,
|
|
73
74
|
currentDepth: opts.currentDepth ?? 0,
|
|
74
75
|
createdAt: now.toISOString(),
|
|
75
76
|
notBefore: opts.notBefore ?? now.toISOString(),
|
|
76
77
|
...(opts.derivation_rights && { derivation_rights: opts.derivation_rights }),
|
|
77
78
|
...(opts.observation_policy && { observation_policy: opts.observation_policy }),
|
|
79
|
+
...(opts.credentialCheckPolicy && { credentialCheckPolicy: opts.credentialCheckPolicy }),
|
|
78
80
|
};
|
|
79
81
|
const canonical = canonicalize(delegation);
|
|
80
82
|
const signature = sign(canonical, opts.privateKey);
|
|
@@ -131,9 +133,15 @@ export function subDelegate(opts) {
|
|
|
131
133
|
if (opts.derivation_rights && !parent.derivation_rights) {
|
|
132
134
|
throw new Error('Derivation rights violation: parent delegation has no derivation_rights — child cannot introduce them');
|
|
133
135
|
}
|
|
134
|
-
// Enforce spend limit (use ?? not || so spendLimit: 0 is a valid no-spend limit)
|
|
136
|
+
// Enforce spend limit (use ?? not || so spendLimit: 0 is a valid no-spend limit).
|
|
137
|
+
// When child declares a unit that differs from parent (e.g. 'invocations' on a
|
|
138
|
+
// currency-based parent), parent-remaining comparison is skipped — the units
|
|
139
|
+
// are incommensurable and the child sets its own independent bound.
|
|
140
|
+
const parentUnit = parent.spendLimitUnit ?? 'currency';
|
|
141
|
+
const childUnit = opts.spendLimitUnit ?? parentUnit;
|
|
142
|
+
const unitsMatch = childUnit === parentUnit;
|
|
135
143
|
const parentRemaining = (parent.spendLimit ?? Infinity) - (parent.spentAmount ?? 0);
|
|
136
|
-
if (opts.spendLimit !== undefined && opts.spendLimit !== null && opts.spendLimit > parentRemaining) {
|
|
144
|
+
if (unitsMatch && opts.spendLimit !== undefined && opts.spendLimit !== null && opts.spendLimit > parentRemaining) {
|
|
137
145
|
throw new Error(`Spend limit ${opts.spendLimit} exceeds parent remaining ${parentRemaining}`);
|
|
138
146
|
}
|
|
139
147
|
// Clamp child expiry to parent expiry (monotonic narrowing of time bounds)
|
|
@@ -147,7 +155,8 @@ export function subDelegate(opts) {
|
|
|
147
155
|
delegatedBy: parent.delegatedTo, // the current delegate becomes delegator
|
|
148
156
|
scope: opts.scope,
|
|
149
157
|
scopeInterpretation: parent.scopeInterpretation, // Module 37: inherit from parent
|
|
150
|
-
spendLimit: opts.spendLimit ?? parentRemaining,
|
|
158
|
+
spendLimit: opts.spendLimit ?? (unitsMatch ? parentRemaining : undefined),
|
|
159
|
+
spendLimitUnit: opts.spendLimitUnit,
|
|
151
160
|
maxDepth: parent.maxDepth,
|
|
152
161
|
currentDepth: parent.currentDepth + 1,
|
|
153
162
|
expiresInHours: childExpiryHours,
|