tenzro-sdk 0.1.0 → 0.2.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/LICENSE +4 -15
- package/README.md +196 -3
- package/dist/adaptive-burn.d.ts +40 -0
- package/dist/adaptive-burn.d.ts.map +1 -0
- package/dist/adaptive-burn.js +53 -0
- package/dist/adaptive-burn.js.map +1 -0
- package/dist/agent.d.ts +8 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +14 -2
- package/dist/agent.js.map +1 -1
- package/dist/ap2.d.ts +96 -0
- package/dist/ap2.d.ts.map +1 -1
- package/dist/ap2.js +65 -0
- package/dist/ap2.js.map +1 -1
- package/dist/app.js +4 -4
- package/dist/app.js.map +1 -1
- package/dist/auth.d.ts +357 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +226 -0
- package/dist/auth.js.map +1 -0
- package/dist/bond.d.ts +70 -0
- package/dist/bond.d.ts.map +1 -0
- package/dist/bond.js +172 -0
- package/dist/bond.js.map +1 -0
- package/dist/cct.d.ts +53 -0
- package/dist/cct.d.ts.map +1 -0
- package/dist/cct.js +30 -0
- package/dist/cct.js.map +1 -0
- package/dist/client.d.ts +134 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +196 -12
- package/dist/client.js.map +1 -1
- package/dist/cortex.d.ts +227 -0
- package/dist/cortex.d.ts.map +1 -0
- package/dist/cortex.js +137 -0
- package/dist/cortex.js.map +1 -0
- package/dist/custody.d.ts +251 -0
- package/dist/custody.d.ts.map +1 -1
- package/dist/custody.js +216 -0
- package/dist/custody.js.map +1 -1
- package/dist/eip6963.d.ts +63 -0
- package/dist/eip6963.d.ts.map +1 -0
- package/dist/eip6963.js +67 -0
- package/dist/eip6963.js.map +1 -0
- package/dist/erc8004.d.ts +97 -0
- package/dist/erc8004.d.ts.map +1 -0
- package/dist/erc8004.js +182 -0
- package/dist/erc8004.js.map +1 -0
- package/dist/identity.d.ts +15 -1
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +18 -0
- package/dist/identity.js.map +1 -1
- package/dist/index.d.ts +28 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +49 -1
- package/dist/index.js.map +1 -1
- package/dist/insurance.d.ts +38 -0
- package/dist/insurance.d.ts.map +1 -0
- package/dist/insurance.js +51 -0
- package/dist/insurance.js.map +1 -0
- package/dist/lifecycle.d.ts +41 -0
- package/dist/lifecycle.d.ts.map +1 -0
- package/dist/lifecycle.js +56 -0
- package/dist/lifecycle.js.map +1 -0
- package/dist/marketplace.d.ts +30 -2
- package/dist/marketplace.d.ts.map +1 -1
- package/dist/marketplace.js +36 -2
- package/dist/marketplace.js.map +1 -1
- package/dist/payment.d.ts +14 -1
- package/dist/payment.d.ts.map +1 -1
- package/dist/payment.js +15 -0
- package/dist/payment.js.map +1 -1
- package/dist/principal-chain.d.ts +41 -0
- package/dist/principal-chain.d.ts.map +1 -0
- package/dist/principal-chain.js +56 -0
- package/dist/principal-chain.js.map +1 -0
- package/dist/provider.d.ts +2 -2
- package/dist/provider.js +1 -1
- package/dist/quota.d.ts +54 -0
- package/dist/quota.d.ts.map +1 -0
- package/dist/quota.js +71 -0
- package/dist/quota.js.map +1 -0
- package/dist/rpc.d.ts +43 -4
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +110 -3
- package/dist/rpc.js.map +1 -1
- package/dist/seed-agent.d.ts +52 -0
- package/dist/seed-agent.d.ts.map +1 -0
- package/dist/seed-agent.js +69 -0
- package/dist/seed-agent.js.map +1 -0
- package/dist/settlement.d.ts +52 -10
- package/dist/settlement.d.ts.map +1 -1
- package/dist/settlement.js +197 -16
- package/dist/settlement.js.map +1 -1
- package/dist/streaming.js.map +1 -1
- package/dist/svm-cross-vm.d.ts +109 -0
- package/dist/svm-cross-vm.d.ts.map +1 -0
- package/dist/svm-cross-vm.js +215 -0
- package/dist/svm-cross-vm.js.map +1 -0
- package/dist/types.d.ts +175 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/wallet.d.ts +26 -9
- package/dist/wallet.d.ts.map +1 -1
- package/dist/wallet.js +34 -19
- package/dist/wallet.js.map +1 -1
- package/dist/wormhole.d.ts +76 -0
- package/dist/wormhole.d.ts.map +1 -0
- package/dist/wormhole.js +56 -0
- package/dist/wormhole.js.map +1 -0
- package/package.json +2 -2
package/LICENSE
CHANGED
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"Contribution" shall mean any work of authorship, including
|
|
49
49
|
the original version of the Work and any modifications or additions
|
|
50
50
|
to that Work or Derivative Works thereof, that is intentionally
|
|
51
|
-
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
51
|
+
submitted to the Licensor for inclusion in the Work by the copyright owner
|
|
52
52
|
or by an individual or Legal Entity authorized to submit on behalf of
|
|
53
53
|
the copyright owner. For the purposes of this definition, "submitted"
|
|
54
54
|
means any form of electronic, verbal, or written communication sent
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
designated in writing by the copyright owner as "Not a Contribution."
|
|
61
61
|
|
|
62
62
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
63
|
-
on behalf of whom a Contribution has been received by Licensor and
|
|
63
|
+
on behalf of whom a Contribution has been received by the Licensor and
|
|
64
64
|
subsequently incorporated within the Work.
|
|
65
65
|
|
|
66
66
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
(d) If the Work includes a "NOTICE" text file as part of its
|
|
107
107
|
distribution, then any Derivative Works that You distribute must
|
|
108
108
|
include a readable copy of the attribution notices contained
|
|
109
|
-
within such NOTICE file, excluding
|
|
109
|
+
within such NOTICE file, excluding any notices that do not
|
|
110
110
|
pertain to any part of the Derivative Works, in at least one
|
|
111
111
|
of the following places: within a NOTICE text file distributed
|
|
112
112
|
as part of the Derivative Works; within the Source form or
|
|
@@ -175,18 +175,7 @@
|
|
|
175
175
|
|
|
176
176
|
END OF TERMS AND CONDITIONS
|
|
177
177
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
To apply the Apache License to your work, attach the following
|
|
181
|
-
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
182
|
-
replaced with your own identifying information. (Don't include
|
|
183
|
-
the brackets!) The text should be enclosed in the appropriate
|
|
184
|
-
comment syntax for the file format. We also recommend that a
|
|
185
|
-
file or class name and description of purpose be included on the
|
|
186
|
-
same "printed page" as the copyright notice for easier
|
|
187
|
-
identification within third-party archives.
|
|
188
|
-
|
|
189
|
-
Copyright [yyyy] [name of copyright owner]
|
|
178
|
+
Copyright 2026 Tenzro Network Contributors
|
|
190
179
|
|
|
191
180
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
181
|
you may not use this file except in compliance with the License.
|
package/README.md
CHANGED
|
@@ -36,6 +36,126 @@ const result = await client.inference.request('gemma3-270m', 'Hello!', 100);
|
|
|
36
36
|
console.log(result.output);
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
+
## Browser-extension provider
|
|
40
|
+
|
|
41
|
+
Browser dApps can route SDK calls through `window.tenzro` (any
|
|
42
|
+
EIP-6963-announcing Tenzro extension) instead of opening a direct
|
|
43
|
+
fetch to the node. The extension owns auth (DPoP-bound JWT), session
|
|
44
|
+
management (CAIP-25), and user confirmation:
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
import { TenzroClient, TenzroNotInstalledError } from 'tenzro-sdk';
|
|
48
|
+
|
|
49
|
+
try {
|
|
50
|
+
const client = await TenzroClient.fromInjected();
|
|
51
|
+
const block = await client.getLatestBlock();
|
|
52
|
+
} catch (err) {
|
|
53
|
+
if (err instanceof TenzroNotInstalledError) {
|
|
54
|
+
showInstallCta();
|
|
55
|
+
} else {
|
|
56
|
+
throw err;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
`fromInjected()` discovers the Tenzro provider via EIP-6963
|
|
62
|
+
(default `rdns: network.tenzro.wallet`, override with the `rdns`
|
|
63
|
+
option), wraps it in an `Eip1193Transport`, and returns a
|
|
64
|
+
`TenzroClient` whose `rpc.call(...)` becomes `provider.request(...)`.
|
|
65
|
+
No extra dependency to install — the EIP-6963 listener is bundled in
|
|
66
|
+
the SDK. Node consumers can ignore this entrypoint entirely.
|
|
67
|
+
|
|
68
|
+
## Catch-up sync
|
|
69
|
+
|
|
70
|
+
A node lagging behind the network can pull batches of historical blocks via
|
|
71
|
+
`getBlockRange`. The call returns up to 256 blocks per request along with a
|
|
72
|
+
`nextHeight` + `moreAvailable` cursor so a sync loop steps over pruning gaps:
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
let cur = 0;
|
|
76
|
+
while (true) {
|
|
77
|
+
const r = await client.getBlockRange(cur, cur + 255, 256);
|
|
78
|
+
for (const b of r.blocks) { /* import block */ }
|
|
79
|
+
if (!r.moreAvailable) break;
|
|
80
|
+
cur = r.nextHeight;
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
`isSyncing()` reports the live gap by comparing the local tip against
|
|
85
|
+
peer-reported network tips (gossiped on `tenzro/status`); pair it with
|
|
86
|
+
`getBlockRange` to drive a catch-up loop only when needed.
|
|
87
|
+
|
|
88
|
+
## Transaction signing
|
|
89
|
+
|
|
90
|
+
Every Tenzro transaction is hybrid post-quantum signed: a classical Ed25519
|
|
91
|
+
signature **and** an ML-DSA-65 (FIPS 204) signature, both verified
|
|
92
|
+
synchronously by the node against the canonical `Transaction::hash()`
|
|
93
|
+
preimage (which commits to the PQ public key). An invalid or missing
|
|
94
|
+
signature on either leg returns JSON-RPC error `-32003`.
|
|
95
|
+
|
|
96
|
+
Two supported flows:
|
|
97
|
+
|
|
98
|
+
1. **Atomic server-side sign + send (recommended).** The SDK dispatches
|
|
99
|
+
the request via `tenzro_signAndSendTransaction`. The node identifies
|
|
100
|
+
the signing wallet from the ambient DPoP-bound bearer JWT, looks up
|
|
101
|
+
the live nonce and gas price, constructs the hash preimage, signs
|
|
102
|
+
both legs, verifies them, and submits to the mempool — all in one
|
|
103
|
+
call. Private keys never travel over the wire. `nonce`, `chainId`,
|
|
104
|
+
and `gasPrice` are optional; `value` accepts the alias `amount` for
|
|
105
|
+
parity with the desktop and CLI clients. Self-sends (`from === to`)
|
|
106
|
+
return a `cannot transfer to self` validation error.
|
|
107
|
+
|
|
108
|
+
```typescript
|
|
109
|
+
const txHash = await client.wallet.signAndSend({
|
|
110
|
+
from: '0x...',
|
|
111
|
+
to: '0x...',
|
|
112
|
+
value: 1_000_000_000_000_000_000n,
|
|
113
|
+
// nonce, chainId, gasPrice all optional — looked up live
|
|
114
|
+
});
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
`client.sendTransaction(...)` and `client.wallet.signAndSend(...)`
|
|
118
|
+
are both thin wrappers over this RPC.
|
|
119
|
+
|
|
120
|
+
2. **Offline sign, then submit.** Call `tenzro_signTransaction` to obtain
|
|
121
|
+
`{signature, public_key, pq_signature, pq_public_key, timestamp,
|
|
122
|
+
tx_hash}`, then resubmit later via `eth_sendRawTransaction` with all
|
|
123
|
+
six fields intact. Use this for batched or air-gapped submission.
|
|
124
|
+
|
|
125
|
+
## Wallet model
|
|
126
|
+
|
|
127
|
+
`client.wallet.create()` provisions a chain-agnostic 2-of-3 Ed25519 MPC
|
|
128
|
+
wallet. Tenzro wallets are not per-chain — a single wallet projects into
|
|
129
|
+
EVM, SVM, and Canton via the pointer-token model, so there is no `chain`
|
|
130
|
+
parameter. VM-specific operations are exposed through `client.token`
|
|
131
|
+
(`crossVmTransfer`, `wrapTnzo`); transfers to external chains use
|
|
132
|
+
`client.bridge` (LayerZero V2, Chainlink CCIP), `client.debridge`,
|
|
133
|
+
`client.wormhole`, or `client.lifi`.
|
|
134
|
+
|
|
135
|
+
`client.getTransaction(hash)` resolves from finalized storage first, then
|
|
136
|
+
falls back to the consensus mempool — `status` is `"pending"` while the
|
|
137
|
+
transaction is in-mempool and `"finalized"` once block-included, so callers
|
|
138
|
+
polling immediately after broadcast can distinguish "not yet finalized" from
|
|
139
|
+
"unknown hash" (the call returns `null` only when the hash is unknown to
|
|
140
|
+
both storage and mempool).
|
|
141
|
+
|
|
142
|
+
## Durable state
|
|
143
|
+
|
|
144
|
+
The node persists AI infrastructure to RocksDB and restores it on restart —
|
|
145
|
+
SDK consumers see consistent state across node upgrades and reboots:
|
|
146
|
+
|
|
147
|
+
- **Model catalog** — `ModelRegistry` writes `ModelInfo` records under
|
|
148
|
+
`info:<model_id>` in `CF_MODELS`; models survive restart without
|
|
149
|
+
re-registration.
|
|
150
|
+
- **Agent runtime** — `AgentRuntime` persists `RegisteredAgent`,
|
|
151
|
+
`AgentLifecycleInfo`, and parent→children spawn trees under
|
|
152
|
+
`agent:`/`lifecycle:`/`children:` prefixes in `CF_AGENTS`. Terminated
|
|
153
|
+
agents are retained for audit of `state_history`, `registration_fee`,
|
|
154
|
+
and `tenzro_did`.
|
|
155
|
+
- **Swarms** — `SwarmManager` persists `SwarmState` under `swarm:<swarm_id>`
|
|
156
|
+
in `CF_AGENTS` with write-through on create, status transitions, and
|
|
157
|
+
termination.
|
|
158
|
+
|
|
39
159
|
## AppClient (Developer Pattern)
|
|
40
160
|
|
|
41
161
|
```typescript
|
|
@@ -55,15 +175,33 @@ const result = await app.sponsorInference(user.address, 'gemma3-270m', 'Hello');
|
|
|
55
175
|
|
|
56
176
|
| Module | Key Methods |
|
|
57
177
|
|--------|------------|
|
|
178
|
+
| `auth` | `onboardHuman()`, `onboardDelegatedAgent()`, `onboardAutonomousAgent()`, `revokeJwt()`, `revokeDid()`, `listPendingApprovals()`, `decideApproval()` |
|
|
58
179
|
| `wallet` | `createWallet()`, `getBalance()`, `sendTransaction()` |
|
|
59
180
|
| `identity` | `registerHuman()`, `resolveDid()`, `setUsername()` |
|
|
60
181
|
| `agent` | `register()`, `spawnAgent()`, `createSwarm()`, `delegateTask()` |
|
|
61
|
-
| `inference` | `listModels()`, `request()`, `estimateCost()` |
|
|
182
|
+
| `inference` | `listModels()`, `request()`, `estimateCost()`, plus multi-modal helpers for forecast, vision embed/similarity, text embedding, segmentation, detection, audio ASR, video embed (modality-aware routing via `tenzro_forecast`, `tenzro_visionEmbed`, `tenzro_textEmbed`, `tenzro_segment`, `tenzro_detect`, `tenzro_transcribe`, `tenzro_videoEmbed`) |
|
|
62
183
|
| `token` | `createToken()`, `listTokens()`, `crossVmTransfer()` |
|
|
63
184
|
| `nft` | `createCollection()`, `mintNft()`, `transferNft()` |
|
|
64
185
|
| `bridge` | `bridgeTokens()`, `getRoutes()`, `getBridgeStatus()` |
|
|
65
|
-
| `
|
|
66
|
-
| `
|
|
186
|
+
| `wormhole` | `wormholeBridge()`, `getVaa()`, `redeemVaa()` |
|
|
187
|
+
| `cct` | `cctListPools()`, `cctGetPool()` (Chainlink CCT v1.6+ pool registry) |
|
|
188
|
+
| `erc8004` | `register8004Agent()`, `submit8004Feedback()`, `request8004Validation()`, `submit8004Validation()` (Trustless Agents Registry) |
|
|
189
|
+
| `ap2` | `createAp2Mandate()`, `validateMandatePair()` (Agent Payments Protocol intent/cart/payment VDCs) |
|
|
190
|
+
| `agentPayments` | Per-agent runtime spending policies (max-per-tx, daily-cap, enforce_operation pre-check) |
|
|
191
|
+
| `bond` | AgentBond stake operations (Spec 9): `getAgentBond()`, `listAgentBonds()`, `postAgentBond()`, `increaseAgentBond()`, `withdrawAgentBond()` |
|
|
192
|
+
| `insurance` | AgentBond insurance claims (Spec 9): `fileInsuranceClaim()`, `listInsuranceClaims()`, `getInsurancePool()` |
|
|
193
|
+
| `lifecycle` | Agent lifecycle + kill-switch audit trail: `getAgentLifecycle()`, `listKillSwitchReceiptsByTarget()` |
|
|
194
|
+
| `principalChain` | Receipt principal-chain queries (Spec 5): walk every receipt back to its human/organisational controller |
|
|
195
|
+
| `cortex` | Reasoning-tier inference with TEE / TEE+ZK attestation; `DEFAULT_CORTEX_PRICING`, `computeCortexCost()` |
|
|
196
|
+
| `adaptiveBurn` | Adaptive-burn governance dial — `getBurnRateConfig()`, `getSupplyMetrics()`, `getBurnRateRecommendation()` |
|
|
197
|
+
| `seedAgent` | SeedAgent treasury earmark + protocol-owned bootstrap agent registry (Spec 10) |
|
|
198
|
+
| `quota` | Dual-rail burn quota (Spec 3), prioritised mempool lanes, hot-state contention, DA backend registry |
|
|
199
|
+
| `nanopayment` | Per-token streaming micropayment channels |
|
|
200
|
+
| `circuitBreaker` | Provider health management for inference routing |
|
|
201
|
+
| `erc7802` | Cross-chain token mint/burn primitive |
|
|
202
|
+
| `provider` | Hardware detection, model serving, scheduling |
|
|
203
|
+
| `settlement` | `createEscrow()`, `releaseEscrow()`, `refundEscrow()`, `getEscrow()`, `openPaymentChannel()` |
|
|
204
|
+
| `payment` | `createChallenge()`, `payMpp()`, `payX402()`, `listX402Schemes()` (pluggable scheme adapters: `exact`, `permit2`) |
|
|
67
205
|
| `compliance` | `registerCompliance()`, `checkCompliance()`, `freezeAddress()` |
|
|
68
206
|
| `crypto` | `signMessage()`, `encrypt()`, `decrypt()`, `hashSha256()` |
|
|
69
207
|
| `tee` | `detectTee()`, `getAttestation()`, `sealData()` |
|
|
@@ -81,12 +219,67 @@ const result = await app.sponsorInference(user.address, 'gemma3-270m', 'Hello');
|
|
|
81
219
|
| `canton` | `listDomains()`, `submitCommand()` |
|
|
82
220
|
| `skill` | `listSkills()`, `registerSkill()` |
|
|
83
221
|
| `tool` | `listTools()`, `registerTool()` |
|
|
222
|
+
| `svm-cross-vm` | Tenzro Cross-VM SVM-native program: `TENZRO_CROSS_VM_PROGRAM_ID_BASE58`, `encodeBridgeToEvm()`, `encodeBridgeFromEvm()`, `encodeRegisterTokenPointer()`, `encodeTransferCrossVm()`, `decodeCrossVmInstruction()` |
|
|
223
|
+
|
|
224
|
+
## Auth (OAuth 2.1 + DPoP Onboarding)
|
|
225
|
+
|
|
226
|
+
Onboarding uses OAuth 2.1 (RFC 6749 successor) + DPoP-bound JWTs (RFC 9449) +
|
|
227
|
+
Rich Authorization Requests (RFC 9396). Participants — humans, delegated agents
|
|
228
|
+
under a human controller, and fully autonomous agents — onboard via three RPCs
|
|
229
|
+
that each provision a TDIP identity + MPC wallet and return a JWT bound to a
|
|
230
|
+
holder-supplied DPoP `jkt` (RFC 7638 thumbprint).
|
|
231
|
+
|
|
232
|
+
```typescript
|
|
233
|
+
import { TenzroClient, TESTNET_CONFIG } from 'tenzro-sdk';
|
|
234
|
+
|
|
235
|
+
const client = new TenzroClient(TESTNET_CONFIG);
|
|
236
|
+
|
|
237
|
+
// Onboard a new human — returns identity, MPC wallet, and access token
|
|
238
|
+
const session = await client.auth.onboardHuman('Alice', /* dpopJkt */ undefined);
|
|
239
|
+
console.log('DID: ', (session.identity as any).did);
|
|
240
|
+
console.log('Wallet: ', (session.wallet as any).address);
|
|
241
|
+
console.log('Token: ', session.access_token.slice(0, 32), '…');
|
|
242
|
+
|
|
243
|
+
// Subsequent privileged calls (sign + send tx, escrow, etc.) authenticate
|
|
244
|
+
// ambiently via these env vars — the SDK forwards them as
|
|
245
|
+
// `Authorization: DPoP <jwt>` and `DPoP: <proof>` on every JSON-RPC call:
|
|
246
|
+
process.env.TENZRO_BEARER_JWT = session.access_token;
|
|
247
|
+
process.env.TENZRO_DPOP_PROOF = '<freshly minted DPoP proof>';
|
|
248
|
+
|
|
249
|
+
// Onboard a delegated agent under Alice's act-chain
|
|
250
|
+
const agent = await client.auth.onboardDelegatedAgent(
|
|
251
|
+
(session.identity as any).did,
|
|
252
|
+
['inference', 'settlement'],
|
|
253
|
+
{ max_transaction_value: '1000000000000000000', allowed_chains: ['tenzro'] },
|
|
254
|
+
);
|
|
255
|
+
|
|
256
|
+
// Revoke (cascades through act-chain by DID)
|
|
257
|
+
await client.auth.revokeDid((session.identity as any).did, 'lost device');
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
Holder-side DPoP proof generation is left to the caller — sign a per-request
|
|
261
|
+
JWT with your Ed25519 holder key and the JWS-compact form lands in
|
|
262
|
+
`TENZRO_DPOP_PROOF`. See RFC 9449 §4.
|
|
263
|
+
|
|
264
|
+
## Examples
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
npx ts-node examples/quickstart.ts
|
|
268
|
+
npx ts-node examples/advanced.ts
|
|
269
|
+
npx ts-node examples/marketplace.ts # 14 sections covering tasks, agents, skills, tools, NFTs, governance, payments, bridges
|
|
270
|
+
npx ts-node examples/app_developer.ts
|
|
271
|
+
npx ts-node examples/auth-session.ts
|
|
272
|
+
npx ts-node examples/cortex.ts
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
See the [examples/](examples/) directory and [Tenzro Cookbook](https://github.com/tenzro/tenzro-cookbook).
|
|
84
276
|
|
|
85
277
|
## Live Testnet
|
|
86
278
|
|
|
87
279
|
| Endpoint | URL |
|
|
88
280
|
|----------|-----|
|
|
89
281
|
| JSON-RPC | `https://rpc.tenzro.network` |
|
|
282
|
+
| Web API | `https://api.tenzro.network` |
|
|
90
283
|
| MCP Server | `https://mcp.tenzro.network/mcp` |
|
|
91
284
|
| A2A Server | `https://a2a.tenzro.network` |
|
|
92
285
|
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { RpcClient } from "./rpc";
|
|
2
|
+
/**
|
|
3
|
+
* Client for the adaptive-burn governance dial (TNZO supply control).
|
|
4
|
+
*
|
|
5
|
+
* Surfaces the current `BurnRateConfig`, rolling `SupplyMetricsSnapshot`,
|
|
6
|
+
* the recommended action computed from the targets and metrics, and the
|
|
7
|
+
* list of in-flight adaptive-burn governance proposals.
|
|
8
|
+
*
|
|
9
|
+
* All endpoints are read-only — the auto-proposal generator and the
|
|
10
|
+
* EIP-1559 fee-market consumer ship alongside the governance executor
|
|
11
|
+
* wiring in a later wave.
|
|
12
|
+
*/
|
|
13
|
+
export declare class AdaptiveBurnClient {
|
|
14
|
+
private rpc;
|
|
15
|
+
constructor(rpc: RpcClient);
|
|
16
|
+
/**
|
|
17
|
+
* Returns the current `BurnRateConfig` (base/local/paymaster burn bps).
|
|
18
|
+
* @returns Active burn-rate configuration
|
|
19
|
+
*/
|
|
20
|
+
getBurnRateConfig(): Promise<any>;
|
|
21
|
+
/**
|
|
22
|
+
* Returns the latest rolling supply metrics snapshot — circulating
|
|
23
|
+
* supply, epoch delta, burn breakdown, emission breakdown.
|
|
24
|
+
* @returns Latest `SupplyMetricsSnapshot`
|
|
25
|
+
*/
|
|
26
|
+
getSupplyMetrics(): Promise<any>;
|
|
27
|
+
/**
|
|
28
|
+
* Computes the recommended adaptive-burn action from the current
|
|
29
|
+
* metrics and configured supply targets. May return `NoChange`,
|
|
30
|
+
* `IncreaseBurnPct`, `DecreaseBurnPct`, or alarm variants.
|
|
31
|
+
* @returns `BurnRateRecommendation`
|
|
32
|
+
*/
|
|
33
|
+
getBurnRateRecommendation(): Promise<any>;
|
|
34
|
+
/**
|
|
35
|
+
* List in-flight adaptive-burn governance proposals.
|
|
36
|
+
* @returns Array of proposal records
|
|
37
|
+
*/
|
|
38
|
+
listAdaptiveBurnProposals(): Promise<any[]>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=adaptive-burn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adaptive-burn.d.ts","sourceRoot":"","sources":["../src/adaptive-burn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;;;;;;;;;GAUG;AACH,qBAAa,kBAAkB;IACjB,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAElC;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC;IAIvC;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC;IAItC;;;;;OAKG;IACG,yBAAyB,IAAI,OAAO,CAAC,GAAG,CAAC;IAI/C;;;OAGG;IACG,yBAAyB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;CAGlD"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AdaptiveBurnClient = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Client for the adaptive-burn governance dial (TNZO supply control).
|
|
6
|
+
*
|
|
7
|
+
* Surfaces the current `BurnRateConfig`, rolling `SupplyMetricsSnapshot`,
|
|
8
|
+
* the recommended action computed from the targets and metrics, and the
|
|
9
|
+
* list of in-flight adaptive-burn governance proposals.
|
|
10
|
+
*
|
|
11
|
+
* All endpoints are read-only — the auto-proposal generator and the
|
|
12
|
+
* EIP-1559 fee-market consumer ship alongside the governance executor
|
|
13
|
+
* wiring in a later wave.
|
|
14
|
+
*/
|
|
15
|
+
class AdaptiveBurnClient {
|
|
16
|
+
rpc;
|
|
17
|
+
constructor(rpc) {
|
|
18
|
+
this.rpc = rpc;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Returns the current `BurnRateConfig` (base/local/paymaster burn bps).
|
|
22
|
+
* @returns Active burn-rate configuration
|
|
23
|
+
*/
|
|
24
|
+
async getBurnRateConfig() {
|
|
25
|
+
return this.rpc.call("tenzro_getBurnRateConfig", []);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Returns the latest rolling supply metrics snapshot — circulating
|
|
29
|
+
* supply, epoch delta, burn breakdown, emission breakdown.
|
|
30
|
+
* @returns Latest `SupplyMetricsSnapshot`
|
|
31
|
+
*/
|
|
32
|
+
async getSupplyMetrics() {
|
|
33
|
+
return this.rpc.call("tenzro_getSupplyMetrics", []);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Computes the recommended adaptive-burn action from the current
|
|
37
|
+
* metrics and configured supply targets. May return `NoChange`,
|
|
38
|
+
* `IncreaseBurnPct`, `DecreaseBurnPct`, or alarm variants.
|
|
39
|
+
* @returns `BurnRateRecommendation`
|
|
40
|
+
*/
|
|
41
|
+
async getBurnRateRecommendation() {
|
|
42
|
+
return this.rpc.call("tenzro_getBurnRateRecommendation", []);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* List in-flight adaptive-burn governance proposals.
|
|
46
|
+
* @returns Array of proposal records
|
|
47
|
+
*/
|
|
48
|
+
async listAdaptiveBurnProposals() {
|
|
49
|
+
return this.rpc.call("tenzro_listAdaptiveBurnProposals", []);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.AdaptiveBurnClient = AdaptiveBurnClient;
|
|
53
|
+
//# sourceMappingURL=adaptive-burn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adaptive-burn.js","sourceRoot":"","sources":["../src/adaptive-burn.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;GAUG;AACH,MAAa,kBAAkB;IACT;IAApB,YAAoB,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAEtC;;;OAGG;IACH,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,yBAAyB;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,yBAAyB;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAQ,kCAAkC,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;CACF;AArCD,gDAqCC"}
|
package/dist/agent.d.ts
CHANGED
|
@@ -81,12 +81,19 @@ export declare class AgentClient {
|
|
|
81
81
|
terminateSwarm(swarmId: string): Promise<TerminateSwarmResponse>;
|
|
82
82
|
/**
|
|
83
83
|
* Spawn a new agent from a registered template.
|
|
84
|
+
*
|
|
85
|
+
* When `parentMachineDid` is supplied, the spawned agent's effective
|
|
86
|
+
* delegation scope is the strict intersection of the parent's scope and
|
|
87
|
+
* the template's spec — the child can never be broader than its parent
|
|
88
|
+
* on any axis (numeric ceilings, allow-lists, time bound).
|
|
89
|
+
*
|
|
84
90
|
* @param templateId - The template to instantiate
|
|
85
91
|
* @param displayName - Optional human-readable name for the spawned agent
|
|
86
92
|
* @param context - Optional key-value context passed to the agent at boot
|
|
93
|
+
* @param parentMachineDid - Optional parent machine DID to attenuate against
|
|
87
94
|
* @returns Spawned agent info with agent_id, template_id, name, and status
|
|
88
95
|
*/
|
|
89
|
-
spawnAgentTemplate(templateId: string, displayName?: string, context?: Record<string, string
|
|
96
|
+
spawnAgentTemplate(templateId: string, displayName?: string, context?: Record<string, string>, parentMachineDid?: string): Promise<SpawnAgentTemplateResponse>;
|
|
90
97
|
/**
|
|
91
98
|
* Run an already-spawned template agent through its task loop.
|
|
92
99
|
* @param agentId - The agent to run
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EACL,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,sBAAsB,EACtB,yBAAyB,EACzB,SAAS,EACV,MAAM,SAAS,CAAC;AAWjB;;;GAGG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAElC;;;;;;OAMG;IACG,QAAQ,CACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,qBAAqB,CAAC;IAUjC;;;;;OAKG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,oBAAoB,CAAC;IAShC;;;;;OAKG;IACG,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,oBAAoB,CAAC;IAehC;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAI5C;;;;;;OAMG;IACG,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,kBAAkB,CAAC;IAM9B;;;;;;;;OAQG;IACG,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,oBAAoB,CAAC;IAMhC;;;;;;OAMG;IACG,WAAW,CACf,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,EACxD,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GACjF,OAAO,CAAC,mBAAmB,CAAC;IAM/B;;;;OAIG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAM3D;;;;OAIG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAQtE
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/agent.js
CHANGED
|
@@ -136,14 +136,26 @@ class AgentClient {
|
|
|
136
136
|
// ─── AgentKit: Template-based agent lifecycle ─────────────────────────────
|
|
137
137
|
/**
|
|
138
138
|
* Spawn a new agent from a registered template.
|
|
139
|
+
*
|
|
140
|
+
* When `parentMachineDid` is supplied, the spawned agent's effective
|
|
141
|
+
* delegation scope is the strict intersection of the parent's scope and
|
|
142
|
+
* the template's spec — the child can never be broader than its parent
|
|
143
|
+
* on any axis (numeric ceilings, allow-lists, time bound).
|
|
144
|
+
*
|
|
139
145
|
* @param templateId - The template to instantiate
|
|
140
146
|
* @param displayName - Optional human-readable name for the spawned agent
|
|
141
147
|
* @param context - Optional key-value context passed to the agent at boot
|
|
148
|
+
* @param parentMachineDid - Optional parent machine DID to attenuate against
|
|
142
149
|
* @returns Spawned agent info with agent_id, template_id, name, and status
|
|
143
150
|
*/
|
|
144
|
-
async spawnAgentTemplate(templateId, displayName, context) {
|
|
151
|
+
async spawnAgentTemplate(templateId, displayName, context, parentMachineDid) {
|
|
145
152
|
return this.rpc.call("tenzro_spawnAgentTemplate", [
|
|
146
|
-
{
|
|
153
|
+
{
|
|
154
|
+
template_id: templateId,
|
|
155
|
+
display_name: displayName,
|
|
156
|
+
context,
|
|
157
|
+
parent_machine_did: parentMachineDid,
|
|
158
|
+
},
|
|
147
159
|
]);
|
|
148
160
|
}
|
|
149
161
|
/**
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/ap2.d.ts
CHANGED
|
@@ -1,5 +1,57 @@
|
|
|
1
1
|
import type { RpcClient } from './rpc';
|
|
2
2
|
import type { Ap2Session, Ap2Authorization, PaymentReceipt, CancelResult } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Result of verifying a single AP2 mandate (Intent / Cart / Payment VDC).
|
|
5
|
+
*/
|
|
6
|
+
export interface Ap2MandateVerification {
|
|
7
|
+
/** Whether the VDC proof is valid. */
|
|
8
|
+
valid: boolean;
|
|
9
|
+
/** Mandate type: "Intent" | "Cart" | "Payment". */
|
|
10
|
+
mandate_type: string;
|
|
11
|
+
/** Issuer DID. */
|
|
12
|
+
issuer: string;
|
|
13
|
+
/** Subject DID (agent/merchant). */
|
|
14
|
+
subject: string;
|
|
15
|
+
/** Expiration timestamp (Unix seconds). */
|
|
16
|
+
expires_at: number;
|
|
17
|
+
/** Reason for failure if `valid` is false. */
|
|
18
|
+
error?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Result of validating an Intent+Cart mandate pair.
|
|
22
|
+
*/
|
|
23
|
+
export interface Ap2MandatePairValidation {
|
|
24
|
+
/** Whether the pair is mutually consistent and both VDCs verify. */
|
|
25
|
+
valid: boolean;
|
|
26
|
+
/** Mandate id of the intent VDC (set on success). */
|
|
27
|
+
intent_mandate_id?: string;
|
|
28
|
+
/** Mandate id of the cart VDC (set on success). */
|
|
29
|
+
cart_mandate_id?: string;
|
|
30
|
+
/** Principal DID — intent signer (set on success). */
|
|
31
|
+
principal_did?: string;
|
|
32
|
+
/** Agent DID — cart signer (set on success). */
|
|
33
|
+
agent_did?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Whether the TDIP delegation gate ran in addition to AP2 validation.
|
|
36
|
+
* Mirrors the `enforce_delegation` request flag.
|
|
37
|
+
*/
|
|
38
|
+
delegation_enforced: boolean;
|
|
39
|
+
/** Reason for failure if `valid` is false. */
|
|
40
|
+
error?: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* AP2 protocol metadata.
|
|
44
|
+
*/
|
|
45
|
+
export interface Ap2ProtocolInfo {
|
|
46
|
+
/** AP2 protocol version. */
|
|
47
|
+
version: string;
|
|
48
|
+
/** Supported mandate types (e.g. ["Intent", "Cart", "Payment"]). */
|
|
49
|
+
supported_mandate_types: string[];
|
|
50
|
+
/** Supported VC formats (e.g. ["jwt_vc", "ldp_vc"]). */
|
|
51
|
+
supported_vc_formats: string[];
|
|
52
|
+
/** Recognized issuer DID methods (e.g. ["did:tenzro", "did:web"]). */
|
|
53
|
+
supported_did_methods: string[];
|
|
54
|
+
}
|
|
3
55
|
/**
|
|
4
56
|
* Client for the AP2 (Agentic Payment Protocol).
|
|
5
57
|
* Enables agents to establish payment sessions with providers,
|
|
@@ -50,5 +102,49 @@ export declare class Ap2Client {
|
|
|
50
102
|
* @returns Array of AP2 sessions
|
|
51
103
|
*/
|
|
52
104
|
listAgentSessions(agentDid: string): Promise<Ap2Session[]>;
|
|
105
|
+
/**
|
|
106
|
+
* Sign an AP2 Intent or Cart mandate via the auth-bound wallet's Ed25519
|
|
107
|
+
* key. The node builds the canonical AP2 v0.2 preimage internally and
|
|
108
|
+
* signs with `WalletService` — the caller never sees raw key material.
|
|
109
|
+
* The returned Vdc self-verifies before being returned.
|
|
110
|
+
*
|
|
111
|
+
* Auth: DPoP+JWT mandatory. The wallet must be Ed25519. `signerDid` MUST
|
|
112
|
+
* match the controller of the auth-bound wallet (principal for intent,
|
|
113
|
+
* agent for cart).
|
|
114
|
+
*
|
|
115
|
+
* @param mandateKind - `"intent"` or `"cart"`.
|
|
116
|
+
* @param mandate - The full IntentMandate or CartMandate JSON.
|
|
117
|
+
* @param signerDid - Signer DID (principal for intent, agent for cart).
|
|
118
|
+
*/
|
|
119
|
+
signMandate(mandateKind: 'intent' | 'cart', mandate: unknown, signerDid: string): Promise<unknown>;
|
|
120
|
+
/**
|
|
121
|
+
* Verify a single AP2 mandate (Verifiable Digital Credential).
|
|
122
|
+
*
|
|
123
|
+
* Checks the VDC proof, issuer, and schema for Intent, Cart, or Payment
|
|
124
|
+
* mandates per Google's AP2 specification.
|
|
125
|
+
*
|
|
126
|
+
* @param vdc - The full JSON-LD VC envelope with proof.
|
|
127
|
+
*/
|
|
128
|
+
verifyMandate(vdc: unknown): Promise<Ap2MandateVerification>;
|
|
129
|
+
/**
|
|
130
|
+
* Validate an AP2 Intent+Cart mandate pair for consistency.
|
|
131
|
+
*
|
|
132
|
+
* Ensures the cart references the intent, amounts/items match the intent's
|
|
133
|
+
* constraints, and both VDCs verify. When `enforceDelegation` is true,
|
|
134
|
+
* additionally cross-checks the agent's TDIP `DelegationScope` against
|
|
135
|
+
* the cart total via `IdentityRegistry::enforce_operation(agent_did,
|
|
136
|
+
* "payment", total)`. Both layers must admit the cart.
|
|
137
|
+
*
|
|
138
|
+
* @param intentVdc - The principal-signed IntentMandate VDC.
|
|
139
|
+
* @param cartVdc - The agent-signed CartMandate VDC.
|
|
140
|
+
* @param enforceDelegation - If true, run the TDIP delegation gate after
|
|
141
|
+
* AP2 validation succeeds. Defaults to false (AP2-only).
|
|
142
|
+
*/
|
|
143
|
+
validateMandatePair(intentVdc: unknown, cartVdc: unknown, enforceDelegation?: boolean): Promise<Ap2MandatePairValidation>;
|
|
144
|
+
/**
|
|
145
|
+
* Return AP2 protocol metadata (version, supported mandate types,
|
|
146
|
+
* VC formats, and recognized DID methods).
|
|
147
|
+
*/
|
|
148
|
+
protocolInfo(): Promise<Ap2ProtocolInfo>;
|
|
53
149
|
}
|
|
54
150
|
//# sourceMappingURL=ap2.d.ts.map
|
package/dist/ap2.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ap2.d.ts","sourceRoot":"","sources":["../src/ap2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAE3C;;;;;;;;OAQG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,MAAe,GACrB,OAAO,CAAC,UAAU,CAAC;IAYtB;;;;;OAKG;IACG,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC;IAM5B;;;;;OAKG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC;IAM1B;;;;OAIG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAM7D;;;;OAIG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAMxD;;;;OAIG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ap2.d.ts","sourceRoot":"","sources":["../src/ap2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,sCAAsC;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,oEAAoE;IACpE,KAAK,EAAE,OAAO,CAAC;IACf,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mDAAmD;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAC7B,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,wDAAwD;IACxD,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,sEAAsE;IACtE,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAED;;;;GAIG;AACH,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAE3C;;;;;;;;OAQG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,MAAe,GACrB,OAAO,CAAC,UAAU,CAAC;IAYtB;;;;;OAKG;IACG,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC;IAM5B;;;;;OAKG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC;IAM1B;;;;OAIG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAM7D;;;;OAIG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAMxD;;;;OAIG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAQhE;;;;;;;;;;;;;OAaG;IACG,WAAW,CACf,WAAW,EAAE,QAAQ,GAAG,MAAM,EAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC;IAUnB;;;;;;;OAOG;IACG,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAMlE;;;;;;;;;;;;;OAaG;IACG,mBAAmB,CACvB,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,EAChB,iBAAiB,GAAE,OAAe,GACjC,OAAO,CAAC,wBAAwB,CAAC;IAWpC;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC;CAG/C"}
|