@perkos/agent-sdk 0.7.1 → 0.8.0-rc.1
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/CHANGELOG.md +50 -0
- package/README.md +69 -17
- package/dist/builders.d.ts +5 -1
- package/dist/builders.d.ts.map +1 -1
- package/dist/builders.js +155 -11
- package/dist/builders.js.map +1 -1
- package/dist/client.d.ts +8 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +168 -26
- package/dist/client.js.map +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -1
- package/dist/custody/backend.d.ts +4 -0
- package/dist/custody/backend.d.ts.map +1 -0
- package/dist/custody/backend.js +149 -0
- package/dist/custody/backend.js.map +1 -0
- package/dist/custody/cli.d.ts +3 -0
- package/dist/custody/cli.d.ts.map +1 -0
- package/dist/custody/cli.js +43 -0
- package/dist/custody/cli.js.map +1 -0
- package/dist/custody/engine.d.ts +54 -0
- package/dist/custody/engine.d.ts.map +1 -0
- package/dist/custody/engine.js +115 -0
- package/dist/custody/engine.js.map +1 -0
- package/dist/custody/ledger.d.ts +24 -0
- package/dist/custody/ledger.d.ts.map +1 -0
- package/dist/custody/ledger.js +122 -0
- package/dist/custody/ledger.js.map +1 -0
- package/dist/custody/permit.d.ts +42 -0
- package/dist/custody/permit.d.ts.map +1 -0
- package/dist/custody/permit.js +91 -0
- package/dist/custody/permit.js.map +1 -0
- package/dist/custody/socket.d.ts +11 -0
- package/dist/custody/socket.d.ts.map +1 -0
- package/dist/custody/socket.js +118 -0
- package/dist/custody/socket.js.map +1 -0
- package/dist/evaluation-commitments.d.ts +47 -0
- package/dist/evaluation-commitments.d.ts.map +1 -0
- package/dist/evaluation-commitments.js +96 -0
- package/dist/evaluation-commitments.js.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/cli.d.ts +3 -0
- package/dist/mcp/cli.d.ts.map +1 -0
- package/dist/mcp/cli.js +36 -0
- package/dist/mcp/cli.js.map +1 -0
- package/dist/mcp/evaluation.d.ts +33 -0
- package/dist/mcp/evaluation.d.ts.map +1 -0
- package/dist/mcp/evaluation.js +141 -0
- package/dist/mcp/evaluation.js.map +1 -0
- package/dist/mcp/server.d.ts +27 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +207 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +7 -2
- package/dist/policy.js.map +1 -1
- package/dist/service-fees.d.ts +15 -0
- package/dist/service-fees.d.ts.map +1 -0
- package/dist/service-fees.js +109 -0
- package/dist/service-fees.js.map +1 -0
- package/dist/types.d.ts +66 -2
- package/dist/types.d.ts.map +1 -1
- package/docs/ARCHITECTURE.md +18 -2
- package/docs/EXISTING_AGENT.md +123 -0
- package/docs/HERMES_BUYER.md +91 -0
- package/docs/HERMES_CHECKPOINTS.md +88 -0
- package/docs/HERMES_CUSTODY.md +164 -0
- package/docs/HERMES_MCP.md +157 -0
- package/docs/HERMES_PROVIDER.md +98 -0
- package/docs/RELEASE_0.8.0_RC1.md +60 -0
- package/docs/SERVICE_FEES.md +108 -0
- package/docs/TESTNET_QUICKSTART.md +123 -0
- package/docs/VALIDATION_AND_RELEASE.md +82 -0
- package/docs/WALLET_SIGNER_SETUP.md +52 -0
- package/examples/service-fees.ts +36 -0
- package/examples/testnet-journal.ts +57 -0
- package/examples/testnet-lifecycle.ts +188 -294
- package/examples/testnet.env.example +12 -14
- package/package.json +7 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,56 @@ All notable changes to `@perkos/agent-sdk` are documented here.
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
## 0.8.0-rc.1 — QA release candidate (not published)
|
|
8
|
+
|
|
9
|
+
This candidate packages the QA additions below without changing the default v5/v4 contracts.
|
|
10
|
+
Publication requires separate approval and must use the `next` tag, leaving `latest` at 0.7.1.
|
|
11
|
+
See [candidate release notes](docs/RELEASE_0.8.0_RC1.md) for installation and validation gates.
|
|
12
|
+
|
|
13
|
+
- Record the verified internal Hermes sBTC lifecycle and its public settlement evidence.
|
|
14
|
+
Separate published npm 0.7.1 from the reviewed QA artifact, conversation completion from
|
|
15
|
+
on-chain outcomes, and manifest hashes from versioned commitments. Preserve all release,
|
|
16
|
+
signing and production boundaries; no npm publication or default changes.
|
|
17
|
+
|
|
18
|
+
- Return `null` for absent reputation-sync records on autonomous STX/sBTC contracts
|
|
19
|
+
(`u823`/`u923`), preserving earlier `u623`/`u723` handling. Keep unrelated contract
|
|
20
|
+
errors visible; add regression coverage and readable error descriptions. No changes
|
|
21
|
+
to signing, settlement, contract defaults or npm publication.
|
|
22
|
+
|
|
23
|
+
- Allow 45 seconds for public QA evaluation admission (15 seconds for status reads)
|
|
24
|
+
to accommodate paced eligibility checks. Return sanitized, actionable quota,
|
|
25
|
+
eligibility and transport errors without automatic retries or budget changes.
|
|
26
|
+
Preserve deterministic-ID reconciliation after an ambiguous response.
|
|
27
|
+
|
|
28
|
+
- Document wallet funding versus escrow, per-role QA budgets, six-burn custody confirmation,
|
|
29
|
+
job-bound provider handoff and ambiguous-operation recovery. Align README and buyer/provider
|
|
30
|
+
manuals without changing SDK runtime, production defaults or npm publication.
|
|
31
|
+
|
|
32
|
+
- Start external onboarding with an already running agent and its own LLM; no PerkOS-LLM
|
|
33
|
+
account or model migration required. Add separate operator-owned wallet/signer preparation,
|
|
34
|
+
registration confirmation/read-back, role handoffs and release boundaries. Align the Hermes
|
|
35
|
+
examples and README; no wallet-generation tool, runtime behavior or npm release changes.
|
|
36
|
+
|
|
37
|
+
- Add explicit provider-only QA MCP evaluation admission/status, bound to a custody-authorized
|
|
38
|
+
job and confirmed submission. Validate on-chain identity, budget and commitments; query the
|
|
39
|
+
deterministic evaluation ID before admission. Fixed public endpoint, bounded/sanitized replies,
|
|
40
|
+
no evaluator credentials, new signing, automatic retry, extra fee or x402 purchase. Off by default.
|
|
41
|
+
|
|
42
|
+
- Add opt-in QA custody delegation: Linux signer service, immutable per-job/role permits, fixed gas and escrow caps, durable pre-sign reservation/pre-broadcast txid, nonce/chain guards and fail-closed replay/recovery. Signing stays off by default. No mainnet, npm publication, live Hermes validation or deployment is implied.
|
|
43
|
+
- Add real Unix-socket/MCP protocol tests, offline fixture signing and actual SDK lifecycle planning against mocked testnet reads. Document the separate-UID isolation gate, fee consent and remaining evaluator/x402/video work.
|
|
44
|
+
|
|
45
|
+
- Package a Node-only QA MCP stdio binary with six read/prepare tools per role, fixed testnet contracts, strict inputs and sanitized failures. No wallet, signing, broadcast or x402 capabilities are added to this adapter.
|
|
46
|
+
- Add official MCP protocol/stdio tests and an honest candidate installation guide. Browser exports, published npm package and deployments remain unchanged.
|
|
47
|
+
|
|
48
|
+
- Add QA commitment helpers for client criteria and provider evidence using existing contract fields.
|
|
49
|
+
- Replace the old centralized lifecycle example with role-separated, journaled actions and appeal-aware finalization; offline preview remains default.
|
|
50
|
+
- Document candidate-only onboarding, isolated custody, fee consent and deployment/E2E limitations; npm and deployment defaults are unchanged.
|
|
51
|
+
|
|
52
|
+
- Add explicit opt-in STX v6/sBTC v5 earned-service-fee reads, initialization, waiver and treasury-funded refund methods. Published 0.7.1 and deployed defaults remain unchanged.
|
|
53
|
+
- Require client/provider acceptance of gross budget, 200 bps, treasury and net rejection refund before candidate funding/submission; fail closed on inconsistent live state.
|
|
54
|
+
- Preserve aggregate gross deny-mode settlement constraints and job-pinned sBTC tokens; account for treasury refunds in spending limits.
|
|
55
|
+
- Add a signer-free fee inspection example, candidate integration guide, accounting/consent/role regression tests. No x402 second charge, contract deployment or npm publication is introduced.
|
|
56
|
+
|
|
7
57
|
## 0.7.1 - 2026-09-02
|
|
8
58
|
|
|
9
59
|
### Changed
|
package/README.md
CHANGED
|
@@ -9,22 +9,68 @@ This repository is the continuation of `PerkOS-xyz/PerkOS-Agent-SDK`, renamed to
|
|
|
9
9
|
public SDK with the Nayori product identity. The npm package remains `@perkos/agent-sdk` and the
|
|
10
10
|
complete Git history, releases, issues, and pull requests are preserved.
|
|
11
11
|
|
|
12
|
-
> Status: 0.7.1
|
|
12
|
+
> Status: npm 0.7.1 uses Nayori's verified v5/v4 contracts as the
|
|
13
13
|
> default integration. Read clients,
|
|
14
14
|
> transaction builders, browser and headless signer
|
|
15
15
|
> adapters, confirmation receipts, safety policies, and a transactional testnet quickstart are
|
|
16
16
|
> implemented. The x402 v2 client and Stacks facilitator foundations are implemented, with
|
|
17
|
-
> wallet-linked OAuth and MCP support for
|
|
18
|
-
>
|
|
17
|
+
> wallet-linked OAuth and MCP support for invite-only partners. QA uses Stacks testnet;
|
|
18
|
+
> production uses mainnet. External review and independently attributable adoption evidence remain open. The direct x402
|
|
19
19
|
> profile includes request-bound pure verification
|
|
20
20
|
> and payer-side intent, policy, Leather, and remote-signer foundations for STX, sBTC, and USDCx.
|
|
21
21
|
> The SDK also implements the MPP PaymentAuth `usdc`/`charge` Stacks profile for direct USDCx,
|
|
22
22
|
> including canonical challenges, credentials, pure verification and settlement receipts.
|
|
23
23
|
> Every payment signature remains delegated to the configured wallet or custody boundary. Mainnet
|
|
24
|
-
> facilitator settlement remains disabled.
|
|
24
|
+
> facilitator settlement is confirmation-gated and payer-approved; sponsorship remains disabled.
|
|
25
|
+
|
|
26
|
+
## Connect an existing agent
|
|
27
|
+
|
|
28
|
+
This source prepares **0.8.0-rc.1**, an unpublished QA candidate. Stable npm remains 0.7.1.
|
|
29
|
+
See [candidate release notes and exact installation](docs/RELEASE_0.8.0_RC1.md).
|
|
30
|
+
The candidate preserves default v5/v4 contracts; its Hermes signer pilot is testnet-only.
|
|
31
|
+
|
|
32
|
+
Your agent is already installed and working with your own LLM. Keep that setup: Nayori does not
|
|
33
|
+
require PerkOS-LLM, Hermes or sharing model credentials. Start with the
|
|
34
|
+
[existing-agent onboarding guide](docs/EXISTING_AGENT.md): choose SDK/MCP → prepare your own
|
|
35
|
+
wallet/signer separately → pin testnet and limits → register and verify the agent ID → create
|
|
36
|
+
or fulfill work → verify settlement and reputation. Wallet creation is not registration, and
|
|
37
|
+
OAuth access is not payment authority. The Hermes walkthrough is an unreleased QA example,
|
|
38
|
+
not a prerequisite. One operator-supervised internal sBTC lifecycle has passed; this is not
|
|
39
|
+
certification of external onboarding. See [validation and release boundaries](docs/VALIDATION_AND_RELEASE.md).
|
|
40
|
+
|
|
41
|
+
Use the [QA checkpoints and confirmation guide](docs/HERMES_CHECKPOINTS.md) to distinguish
|
|
42
|
+
wallet funding, registration, funded escrow, submitted work and final settlement. The custody
|
|
43
|
+
pilot requires six subsequent Bitcoin burn blocks before advancing an operation; a txid or
|
|
44
|
+
explorer success alone does not clear that gate. Preserve the journal rather than re-signing.
|
|
25
45
|
|
|
26
46
|
## Requirements
|
|
27
47
|
|
|
48
|
+
### Unreleased Hermes MCP foundation
|
|
49
|
+
|
|
50
|
+
The QA candidate includes the Node-only `nayori-mcp` stdio binary for public testnet
|
|
51
|
+
reads and offline buyer/provider commitments. It has **no signer, broadcast, x402 purchase
|
|
52
|
+
or wallet-generation tools by default**. Optional operator-configured delegation to the separate
|
|
53
|
+
`nayori-custody` candidate enables bounded QA actions without putting a key in MCP. Neither
|
|
54
|
+
candidate is published. The reviewed QA source passed one funded, operator-supervised Hermes
|
|
55
|
+
buyer/provider lifecycle; npm-only installation, broader autonomy and x402 remain separate gates.
|
|
56
|
+
Provider operators may additionally enable public QA evaluation admission for the permitted,
|
|
57
|
+
confirmed submission; this does not enable x402 purchases or expose evaluator credentials. See
|
|
58
|
+
[MCP setup](docs/HERMES_MCP.md) and [custody permissions, limits and release gates](docs/HERMES_CUSTODY.md).
|
|
59
|
+
Role-specific recording/QA guides: [buyer](docs/HERMES_BUYER.md) and [provider](docs/HERMES_PROVIDER.md).
|
|
60
|
+
Evaluation admission has a bounded 45-second timeout; status reads retain 15 seconds.
|
|
61
|
+
Check evaluator capacity before submission and reconcile the existing evaluation ID after
|
|
62
|
+
an error. Do not retry an expired review or increase spending limits automatically.
|
|
63
|
+
|
|
64
|
+
### Unreleased earned-service-fee integration
|
|
65
|
+
|
|
66
|
+
This branch adds opt-in STX v6/sBTC v5 support for a 2% **included**, evaluation-earned fee:
|
|
67
|
+
net provider payout on approval or net client refund on evaluated rejection. The full budget
|
|
68
|
+
stays in escrow until final settlement. The new methods are not in npm 0.7.1 and the candidate
|
|
69
|
+
contracts are not deployed defaults. Existing jobs remain unchanged. See the
|
|
70
|
+
[integration and accounting guide](docs/SERVICE_FEES.md) before enabling any signer.
|
|
71
|
+
|
|
72
|
+
### Runtime
|
|
73
|
+
|
|
28
74
|
- Node.js 20 or newer
|
|
29
75
|
- npm 10 or newer
|
|
30
76
|
|
|
@@ -78,19 +124,20 @@ offline, contains no private key and does not request a wallet signature or broa
|
|
|
78
124
|
npm run quickstart:mpp
|
|
79
125
|
```
|
|
80
126
|
|
|
81
|
-
The transactional quickstart is
|
|
82
|
-
|
|
127
|
+
The candidate transactional quickstart is safe by default: it prints an offline, role-separated
|
|
128
|
+
STX/sBTC testnet workflow with committed criteria, provider evidence and appeal-aware settlement.
|
|
83
129
|
|
|
84
130
|
```bash
|
|
85
131
|
npm run quickstart:testnet
|
|
86
132
|
```
|
|
87
133
|
|
|
88
|
-
|
|
89
|
-
[`examples/testnet.env.example`](examples/testnet.env.example).
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
134
|
+
Use the [role-separated QA guide](docs/TESTNET_QUICKSTART.md) and
|
|
135
|
+
[`examples/testnet.env.example`](examples/testnet.env.example). Each process uses only its own
|
|
136
|
+
client or provider signer; neither receives the evaluator key. One action runs per invocation.
|
|
137
|
+
An external journal preserves txids and refuses automatic retries after ambiguous signing.
|
|
138
|
+
The new bridge and quickstart are **unreleased QA candidates**, not a completed public Hermes
|
|
139
|
+
integration or a new on-chain E2E result. Existing historical completion receipts concern an
|
|
140
|
+
earlier workflow and do not verify these changes.
|
|
94
141
|
|
|
95
142
|
## Read on-chain state
|
|
96
143
|
|
|
@@ -595,12 +642,17 @@ See [Architecture](docs/ARCHITECTURE.md), [x402 payments](docs/X402_PAYMENTS.md)
|
|
|
595
642
|
[Security](SECURITY.md) for the trust boundaries and
|
|
596
643
|
responsible disclosure process.
|
|
597
644
|
|
|
598
|
-
## QA
|
|
645
|
+
## QA promotion
|
|
646
|
+
|
|
647
|
+
New integration work is reviewed in pull requests targeting `qa`; promotion to `main` is a
|
|
648
|
+
separate reviewed release after QA verification. QA consumes an exact commit or tarball and
|
|
649
|
+
never publishes npm as a side effect. Operator deployments are initiated from the approved Mac,
|
|
650
|
+
with image builds on the VPS; do not assume GitHub-hosted runners can reach that server.
|
|
599
651
|
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
652
|
+
The repository also retains the historical `Promote exact main commit to QA` workflow. It accepts
|
|
653
|
+
only a full SHA already in `main` and a fast-forward from `qa`. It is not the forward path for
|
|
654
|
+
new QA-only changes: do not force or rewind branches to make it run. Branch protection and
|
|
655
|
+
restricted GitHub Actions bypass remain required where that legacy workflow is used.
|
|
604
656
|
|
|
605
657
|
## Development
|
|
606
658
|
|
package/dist/builders.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AppealDecisionInput, AssignProviderInput, ContractCallPlan, CreateJobInput, DecisionSettlementInput, FundJobInput, JobAmountInput, PaymentAsset, RateProviderInput, RecordDecisionInput, RegisterAgentInput, ResolvedPerkOSConfig, ResolveAppealPlanInput, SettleJobInput, SubmitWorkInput, UpdateAgentInput } from "./types.js";
|
|
1
|
+
import type { AppealDecisionInput, AssignProviderInput, ContractCallPlan, CreateJobInput, DecisionSettlementInput, FundJobInput, InitializeServiceFeeProtocolInput, RefundServiceFeePlanInput, WaiveServiceFeePlanInput, JobAmountInput, PaymentAsset, RateProviderInput, RecordDecisionInput, RegisterAgentInput, ResolvedPerkOSConfig, ResolveAppealPlanInput, SettleJobInput, SubmitWorkInput, UpdateAgentInput } from "./types.js";
|
|
2
2
|
export declare class PerkOSTransactionBuilder {
|
|
3
3
|
readonly config: ResolvedPerkOSConfig;
|
|
4
4
|
constructor(config: ResolvedPerkOSConfig);
|
|
@@ -21,6 +21,10 @@ export declare class PerkOSTransactionBuilder {
|
|
|
21
21
|
settleAppealTimeout(input: DecisionSettlementInput): ContractCallPlan;
|
|
22
22
|
retryReputationSync(asset: PaymentAsset, jobIdInput: bigint | number | string): ContractCallPlan;
|
|
23
23
|
rateProvider(input: RateProviderInput): ContractCallPlan;
|
|
24
|
+
initializeServiceFeeProtocol(input: InitializeServiceFeeProtocolInput): ContractCallPlan;
|
|
25
|
+
waiveServiceFee(input: WaiveServiceFeePlanInput): ContractCallPlan;
|
|
26
|
+
refundServiceFee(input: RefundServiceFeePlanInput): ContractCallPlan;
|
|
27
|
+
private requireServiceFees;
|
|
24
28
|
private decisionSettlement;
|
|
25
29
|
private settlement;
|
|
26
30
|
}
|
package/dist/builders.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAEhB,cAAc,EACd,uBAAuB,EACvB,YAAY,EACZ,iCAAiC,EACjC,yBAAyB,EACzB,wBAAwB,EACxB,cAAc,EAEd,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAiGpB,qBAAa,wBAAwB;IACnC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;gBAE1B,MAAM,EAAE,oBAAoB;IAIxC,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,gBAAgB;IAiC1D,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB;IA4BtD,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,gBAAgB;IAWzE,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,gBAAgB;IA0BlD,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,gBAAgB;IAYlD,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,gBAAgB;IAkE9C,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,gBAAgB;IAiB5D,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB;IAsDpD,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,gBAAgB;IAIpD,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,gBAAgB;IAIlD,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,gBAAgB;IAIlD,mBAAmB,CAAC,KAAK,EAAE,cAAc,GAAG,gBAAgB;IAI5D,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,gBAAgB;IAgB5D,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,gBAAgB;IAW5D,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,GAAG,gBAAgB;IAMlE,aAAa,CAAC,KAAK,EAAE,sBAAsB,GAAG,gBAAgB;IAQ9D,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,GAAG,gBAAgB;IAMrE,mBAAmB,CACjB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GACnC,gBAAgB;IAWnB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,gBAAgB;IAgBxD,4BAA4B,CAC1B,KAAK,EAAE,iCAAiC,GACvC,gBAAgB;IAsCnB,eAAe,CAAC,KAAK,EAAE,wBAAwB,GAAG,gBAAgB;IAkBlE,gBAAgB,CAAC,KAAK,EAAE,yBAAyB,GAAG,gBAAgB;IAyCpE,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,kBAAkB;IA0D1B,OAAO,CAAC,UAAU;CA6CnB"}
|
package/dist/builders.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { Cl, Pc } from "@stacks/transactions";
|
|
2
2
|
import { PerkOSError } from "./errors.js";
|
|
3
|
+
import { quoteServiceFee, supportsServiceFees, validateServiceFeeSplit, } from "./service-fees.js";
|
|
3
4
|
import { assertAscii, assertPrincipal, parseContractId, toHash32, toUint, } from "./validation.js";
|
|
4
5
|
function commerceContract(config, asset) {
|
|
5
|
-
return asset === "sbtc"
|
|
6
|
+
return asset === "sbtc"
|
|
7
|
+
? config.contracts.sbtcCommerce
|
|
8
|
+
: config.contracts.stxCommerce;
|
|
6
9
|
}
|
|
7
10
|
function plan(config, contract, functionName, functionArgs, intent, postConditions = []) {
|
|
8
11
|
return {
|
|
@@ -21,7 +24,9 @@ function tokenArg(config, tokenContract = config.contracts.sbtcToken) {
|
|
|
21
24
|
return Cl.contractPrincipal(token.address, token.name);
|
|
22
25
|
}
|
|
23
26
|
function escrowArgs(config, asset, baseArgs, sbtcToken) {
|
|
24
|
-
return asset === "sbtc"
|
|
27
|
+
return asset === "sbtc"
|
|
28
|
+
? [...baseArgs, tokenArg(config, sbtcToken)]
|
|
29
|
+
: baseArgs;
|
|
25
30
|
}
|
|
26
31
|
function exactTransfer(config, asset, sender, amount, sbtcToken) {
|
|
27
32
|
if (asset === "stx") {
|
|
@@ -85,11 +90,15 @@ export class PerkOSTransactionBuilder {
|
|
|
85
90
|
}
|
|
86
91
|
return plan(this.config, this.config.contracts.agentRegistry, "update-agent", [
|
|
87
92
|
Cl.uint(agentId),
|
|
88
|
-
input.name === undefined
|
|
93
|
+
input.name === undefined
|
|
94
|
+
? Cl.none()
|
|
95
|
+
: Cl.some(Cl.stringAscii(input.name)),
|
|
89
96
|
input.description === undefined
|
|
90
97
|
? Cl.none()
|
|
91
98
|
: Cl.some(Cl.stringAscii(input.description)),
|
|
92
|
-
input.wallet === undefined
|
|
99
|
+
input.wallet === undefined
|
|
100
|
+
? Cl.none()
|
|
101
|
+
: Cl.some(Cl.principal(input.wallet)),
|
|
93
102
|
], { operation: "update-agent" });
|
|
94
103
|
}
|
|
95
104
|
deactivateAgent(agentIdInput) {
|
|
@@ -125,12 +134,40 @@ export class PerkOSTransactionBuilder {
|
|
|
125
134
|
}
|
|
126
135
|
assertPrincipal(input.sender, "sender", this.config.network);
|
|
127
136
|
const contract = commerceContract(this.config, input.asset);
|
|
137
|
+
if (supportsServiceFees(contract, input.asset)) {
|
|
138
|
+
const acceptance = input.serviceFeeAcceptance;
|
|
139
|
+
if (!acceptance ||
|
|
140
|
+
acceptance.gross !== amount ||
|
|
141
|
+
acceptance.basisPoints !== 200 ||
|
|
142
|
+
acceptance.rejectionRefund !== "net-after-evaluation") {
|
|
143
|
+
throw new PerkOSError("INPUT_INVALID", "Explicit 2% earned-fee acceptance, including net rejection refund, is required.");
|
|
144
|
+
}
|
|
145
|
+
validateServiceFeeSplit({
|
|
146
|
+
...quoteServiceFee(amount),
|
|
147
|
+
treasury: acceptance.treasury,
|
|
148
|
+
waived: false,
|
|
149
|
+
}, amount, this.config.network);
|
|
150
|
+
if (acceptance.treasury === input.sender)
|
|
151
|
+
throw new PerkOSError("INPUT_INVALID", "Treasury cannot fund a job.");
|
|
152
|
+
}
|
|
153
|
+
else if (input.serviceFeeAcceptance) {
|
|
154
|
+
throw new PerkOSError("INPUT_INVALID", "This contract generation has no earned service fee.");
|
|
155
|
+
}
|
|
128
156
|
return plan(this.config, contract, "fund-job", escrowArgs(this.config, input.asset, [Cl.uint(jobId)]), {
|
|
129
157
|
operation: "fund-job",
|
|
130
158
|
asset: input.asset,
|
|
131
159
|
amount,
|
|
132
160
|
jobId,
|
|
133
161
|
sender: input.sender,
|
|
162
|
+
...(input.serviceFeeAcceptance
|
|
163
|
+
? {
|
|
164
|
+
serviceFee: {
|
|
165
|
+
...quoteServiceFee(amount),
|
|
166
|
+
treasury: input.serviceFeeAcceptance.treasury,
|
|
167
|
+
waived: false,
|
|
168
|
+
},
|
|
169
|
+
}
|
|
170
|
+
: {}),
|
|
134
171
|
}, [exactTransfer(this.config, input.asset, input.sender, amount)]);
|
|
135
172
|
}
|
|
136
173
|
assignProvider(input) {
|
|
@@ -145,7 +182,36 @@ export class PerkOSTransactionBuilder {
|
|
|
145
182
|
}
|
|
146
183
|
submitWork(input) {
|
|
147
184
|
const jobId = toUint(input.jobId, "jobId");
|
|
148
|
-
|
|
185
|
+
const acceptance = input.serviceFeeAcceptance;
|
|
186
|
+
const feeContract = supportsServiceFees(commerceContract(this.config, input.asset), input.asset);
|
|
187
|
+
if (feeContract) {
|
|
188
|
+
if (!acceptance ||
|
|
189
|
+
acceptance.gross <= 0n ||
|
|
190
|
+
acceptance.basisPoints !== 200 ||
|
|
191
|
+
acceptance.rejectionRefund !== "net-after-evaluation")
|
|
192
|
+
throw new PerkOSError("INPUT_INVALID", "Provider must accept the gross budget and earned fee before submission.");
|
|
193
|
+
validateServiceFeeSplit({
|
|
194
|
+
...quoteServiceFee(acceptance.gross),
|
|
195
|
+
treasury: acceptance.treasury,
|
|
196
|
+
waived: false,
|
|
197
|
+
}, acceptance.gross, this.config.network);
|
|
198
|
+
}
|
|
199
|
+
else if (acceptance)
|
|
200
|
+
throw new PerkOSError("INPUT_INVALID", "Unexpected service fee acceptance for this generation.");
|
|
201
|
+
return plan(this.config, commerceContract(this.config, input.asset), "submit-work", [Cl.uint(jobId), Cl.buffer(deliverableBuffer(input.deliverable))], {
|
|
202
|
+
operation: "submit-work",
|
|
203
|
+
asset: input.asset,
|
|
204
|
+
jobId,
|
|
205
|
+
...(acceptance
|
|
206
|
+
? {
|
|
207
|
+
serviceFee: {
|
|
208
|
+
...quoteServiceFee(acceptance.gross),
|
|
209
|
+
treasury: acceptance.treasury,
|
|
210
|
+
waived: false,
|
|
211
|
+
},
|
|
212
|
+
}
|
|
213
|
+
: {}),
|
|
214
|
+
});
|
|
149
215
|
}
|
|
150
216
|
completeJob(input) {
|
|
151
217
|
return this.settlement("complete-job", input);
|
|
@@ -170,10 +236,7 @@ export class PerkOSTransactionBuilder {
|
|
|
170
236
|
}
|
|
171
237
|
appealDecision(input) {
|
|
172
238
|
const jobId = toUint(input.jobId, "jobId");
|
|
173
|
-
return plan(this.config, commerceContract(this.config, input.asset), "appeal-decision", [
|
|
174
|
-
Cl.uint(jobId),
|
|
175
|
-
Cl.buffer(toHash32(input.evidenceHash, "evidenceHash")),
|
|
176
|
-
], { operation: "appeal-decision", asset: input.asset, jobId });
|
|
239
|
+
return plan(this.config, commerceContract(this.config, input.asset), "appeal-decision", [Cl.uint(jobId), Cl.buffer(toHash32(input.evidenceHash, "evidenceHash"))], { operation: "appeal-decision", asset: input.asset, jobId });
|
|
177
240
|
}
|
|
178
241
|
finalizeDecision(input) {
|
|
179
242
|
return this.decisionSettlement("finalize-decision", input, [
|
|
@@ -205,13 +268,89 @@ export class PerkOSTransactionBuilder {
|
|
|
205
268
|
assertAscii(input.comment, "comment", 256, true);
|
|
206
269
|
return plan(this.config, commerceContract(this.config, input.asset), "rate-provider", [Cl.uint(jobId), Cl.uint(score), Cl.stringAscii(input.comment)], { operation: "rate-provider", asset: input.asset, jobId });
|
|
207
270
|
}
|
|
271
|
+
initializeServiceFeeProtocol(input) {
|
|
272
|
+
const contract = this.requireServiceFees(input.asset);
|
|
273
|
+
const appealWindow = toUint(input.appealWindow, "appealWindow");
|
|
274
|
+
const expectedWindow = this.config.network === "mainnet" ? 144n : 3n;
|
|
275
|
+
for (const [field, value] of Object.entries({
|
|
276
|
+
owner: input.owner,
|
|
277
|
+
treasury: input.treasury,
|
|
278
|
+
appealAuthority: input.appealAuthority,
|
|
279
|
+
})) {
|
|
280
|
+
assertPrincipal(value, field, this.config.network);
|
|
281
|
+
}
|
|
282
|
+
if (appealWindow !== expectedWindow ||
|
|
283
|
+
input.treasury === input.owner ||
|
|
284
|
+
input.treasury === input.appealAuthority) {
|
|
285
|
+
throw new PerkOSError("INPUT_INVALID", "Initialization requires a separate treasury and the network-specific appeal window (testnet 3, mainnet 144).");
|
|
286
|
+
}
|
|
287
|
+
return plan(this.config, contract, "initialize-protocol", [
|
|
288
|
+
Cl.uint(appealWindow),
|
|
289
|
+
Cl.principal(input.appealAuthority),
|
|
290
|
+
Cl.principal(input.treasury),
|
|
291
|
+
], {
|
|
292
|
+
operation: "initialize-protocol",
|
|
293
|
+
asset: input.asset,
|
|
294
|
+
sender: input.owner,
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
waiveServiceFee(input) {
|
|
298
|
+
const contract = this.requireServiceFees(input.asset);
|
|
299
|
+
const jobId = toUint(input.jobId, "jobId");
|
|
300
|
+
assertPrincipal(input.authority, "authority", this.config.network);
|
|
301
|
+
return plan(this.config, contract, "waive-service-fee", [Cl.uint(jobId), Cl.buffer(toHash32(input.evidenceHash, "evidenceHash"))], {
|
|
302
|
+
operation: "waive-service-fee",
|
|
303
|
+
asset: input.asset,
|
|
304
|
+
jobId,
|
|
305
|
+
sender: input.authority,
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
refundServiceFee(input) {
|
|
309
|
+
const contract = this.requireServiceFees(input.asset);
|
|
310
|
+
const jobId = toUint(input.jobId, "jobId");
|
|
311
|
+
const amount = toUint(input.amount, "amount");
|
|
312
|
+
assertPrincipal(input.treasury, "treasury", this.config.network);
|
|
313
|
+
assertPrincipal(input.recipient, "recipient", this.config.network);
|
|
314
|
+
if (input.treasury === input.recipient)
|
|
315
|
+
throw new PerkOSError("INPUT_INVALID", "Refund recipient cannot be treasury.");
|
|
316
|
+
if (input.asset === "sbtc" && !input.sbtcToken)
|
|
317
|
+
throw new PerkOSError("INPUT_INVALID", "Refund requires the job-pinned sBTC token.");
|
|
318
|
+
return plan(this.config, contract, "refund-service-fee", escrowArgs(this.config, input.asset, [Cl.uint(jobId)], input.sbtcToken), {
|
|
319
|
+
operation: "refund-service-fee",
|
|
320
|
+
asset: input.asset,
|
|
321
|
+
jobId,
|
|
322
|
+
amount,
|
|
323
|
+
sender: input.treasury,
|
|
324
|
+
recipient: input.recipient,
|
|
325
|
+
}, [
|
|
326
|
+
exactTransfer(this.config, input.asset, input.treasury, amount, input.sbtcToken),
|
|
327
|
+
]);
|
|
328
|
+
}
|
|
329
|
+
requireServiceFees(asset) {
|
|
330
|
+
const contract = commerceContract(this.config, asset);
|
|
331
|
+
if (!supportsServiceFees(contract, asset))
|
|
332
|
+
throw new PerkOSError("INPUT_INVALID", "Operation requires STX v6 or sBTC v5 explicitly configured.");
|
|
333
|
+
return contract;
|
|
334
|
+
}
|
|
208
335
|
decisionSettlement(operation, input, functionArgs) {
|
|
209
336
|
const jobId = toUint(input.jobId, "jobId");
|
|
210
337
|
const amount = toUint(input.amount, "amount", true);
|
|
211
338
|
assertPrincipal(input.recipient, "recipient", this.config.network);
|
|
212
339
|
const contract = commerceContract(this.config, input.asset);
|
|
340
|
+
if (supportsServiceFees(contract, input.asset)) {
|
|
341
|
+
if (!input.serviceFee || amount === 0n)
|
|
342
|
+
throw new PerkOSError("INPUT_INVALID", "Fee settlement requires a verified split and positive gross escrow.");
|
|
343
|
+
validateServiceFeeSplit(input.serviceFee, amount, this.config.network);
|
|
344
|
+
if (input.serviceFee.treasury === input.recipient)
|
|
345
|
+
throw new PerkOSError("INPUT_INVALID", "Economic recipient cannot be treasury.");
|
|
346
|
+
if (input.asset === "sbtc" && !input.sbtcToken)
|
|
347
|
+
throw new PerkOSError("INPUT_INVALID", "Settlement requires the job-pinned sBTC token.");
|
|
348
|
+
}
|
|
349
|
+
else if (input.serviceFee) {
|
|
350
|
+
throw new PerkOSError("INPUT_INVALID", "Unexpected fee metadata for a no-fee contract.");
|
|
351
|
+
}
|
|
213
352
|
const sbtcToken = input.asset === "sbtc"
|
|
214
|
-
? input.sbtcToken ?? this.config.contracts.sbtcToken
|
|
353
|
+
? (input.sbtcToken ?? this.config.contracts.sbtcToken)
|
|
215
354
|
: undefined;
|
|
216
355
|
if (sbtcToken)
|
|
217
356
|
parseContractId(sbtcToken, "sbtcToken", this.config.network);
|
|
@@ -224,6 +363,7 @@ export class PerkOSTransactionBuilder {
|
|
|
224
363
|
amount,
|
|
225
364
|
jobId,
|
|
226
365
|
recipient: input.recipient,
|
|
366
|
+
...(input.serviceFee ? { serviceFee: input.serviceFee } : {}),
|
|
227
367
|
}, postConditions);
|
|
228
368
|
}
|
|
229
369
|
settlement(operation, input) {
|
|
@@ -231,8 +371,12 @@ export class PerkOSTransactionBuilder {
|
|
|
231
371
|
const amount = toUint(input.amount, "amount", true);
|
|
232
372
|
assertPrincipal(input.recipient, "recipient", this.config.network);
|
|
233
373
|
const contract = commerceContract(this.config, input.asset);
|
|
374
|
+
if (supportsServiceFees(contract, input.asset) &&
|
|
375
|
+
(operation === "complete-job" || operation === "reject-job")) {
|
|
376
|
+
throw new PerkOSError("INPUT_INVALID", "Use recordDecision and the autonomous decision settlement flow for this generation.");
|
|
377
|
+
}
|
|
234
378
|
const sbtcToken = input.asset === "sbtc"
|
|
235
|
-
? input.sbtcToken ?? this.config.contracts.sbtcToken
|
|
379
|
+
? (input.sbtcToken ?? this.config.contracts.sbtcToken)
|
|
236
380
|
: undefined;
|
|
237
381
|
if (sbtcToken)
|
|
238
382
|
parseContractId(sbtcToken, "sbtcToken", this.config.network);
|
package/dist/builders.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAwB3B,OAAO,EACL,WAAW,EACX,eAAe,EACf,eAAe,EACf,QAAQ,EACR,MAAM,GACP,MAAM,iBAAiB,CAAC;AAEzB,SAAS,gBAAgB,CACvB,MAA4B,EAC5B,KAAmB;IAEnB,OAAO,KAAK,KAAK,MAAM;QACrB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY;QAC/B,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC;AACnC,CAAC;AAED,SAAS,IAAI,CACX,MAA4B,EAC5B,QAAoB,EACpB,YAAoB,EACpB,YAAqC,EACrC,MAAkC,EAClC,iBAA2C,EAAE;IAE7C,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ;QACR,YAAY;QACZ,YAAY;QACZ,cAAc;QACd,iBAAiB,EAAE,MAAM;QACzB,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CACf,MAA4B,EAC5B,gBAA4B,MAAM,CAAC,SAAS,CAAC,SAAS;IAEtD,MAAM,KAAK,GAAG,eAAe,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1E,OAAO,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,UAAU,CACjB,MAA4B,EAC5B,KAAmB,EACnB,QAAiC,EACjC,SAAsB;IAEtB,OAAO,KAAK,KAAK,MAAM;QACrB,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CACpB,MAA4B,EAC5B,KAAmB,EACnB,MAAc,EACd,MAAc,EACd,SAAsB;IAEtB,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,OAAO,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;SACxB,UAAU,CAAC,MAAM,CAAC;SAClB,EAAE,CACD,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,EACvC,MAAM,CAAC,SAAS,CAAC,aAAa,CAC/B,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA0B;IACnD,MAAM,KAAK,GACT,OAAO,KAAK,KAAK,QAAQ;QACvB,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QACjC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,kDAAkD,EAClD,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CACxB,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,QAAqB;IACzC,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,OAAO,wBAAwB;IAC1B,MAAM,CAAuB;IAEtC,YAAY,MAA4B;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,aAAa,CAAC,KAAyB;QACrC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACpC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QACnD,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;QACxC,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,gDAAgD,CACjD,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YACpD,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,KAAK,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC3D,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,EAAE,GAAG,CAAC,CAAC;YAC1D,OAAO,EAAE,CAAC,KAAK,CAAC;gBACd,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACnC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;aAClC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CACT,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EACnC,gBAAgB,EAChB;YACE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;YAC1B,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC;YACjC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;YAC1B,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;SACrB,EACD,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAChC,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,KAAuB;QACjC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACjD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;YACjC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QACrD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CACT,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EACnC,cAAc,EACd;YACE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;YAChB,KAAK,CAAC,IAAI,KAAK,SAAS;gBACtB,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE;gBACX,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,KAAK,CAAC,WAAW,KAAK,SAAS;gBAC7B,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE;gBACX,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC9C,KAAK,CAAC,MAAM,KAAK,SAAS;gBACxB,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE;gBACX,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACxC,EACD,EAAE,SAAS,EAAE,cAAc,EAAE,CAC9B,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,YAAsC;QACpD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAChD,OAAO,IAAI,CACT,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EACnC,kBAAkB,EAClB,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAClB,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAClC,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,KAAqB;QAC7B,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,QAAQ;YAChB,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,2CAA2C,CAC5C,CAAC;QACJ,CAAC;QACD,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACvD,OAAO,IAAI,CACT,IAAI,CAAC,MAAM,EACX,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAC1C,YAAY,EACZ;YACE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE;YAClE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;YAC7B,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;YAClB,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC;SAClC,EACD,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAChD,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,KAAqB;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9C,OAAO,IAAI,CACT,IAAI,CAAC,MAAM,EACX,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAC1C,YAAY,EACZ,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EACjC,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAC/D,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,KAAmB;QACzB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,gEAAgE,CACjE,CAAC;QACJ,CAAC;QACD,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,oBAAoB,CAAC;YAC9C,IACE,CAAC,UAAU;gBACX,UAAU,CAAC,KAAK,KAAK,MAAM;gBAC3B,UAAU,CAAC,WAAW,KAAK,GAAG;gBAC9B,UAAU,CAAC,eAAe,KAAK,sBAAsB,EACrD,CAAC;gBACD,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,iFAAiF,CAClF,CAAC;YACJ,CAAC;YACD,uBAAuB,CACrB;gBACE,GAAG,eAAe,CAAC,MAAM,CAAC;gBAC1B,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,MAAM,EAAE,KAAK;aACd,EACD,MAAM,EACN,IAAI,CAAC,MAAM,CAAC,OAAO,CACpB,CAAC;YACF,IAAI,UAAU,CAAC,QAAQ,KAAK,KAAK,CAAC,MAAM;gBACtC,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,6BAA6B,CAAC,CAAC;QAC1E,CAAC;aAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;YACtC,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,qDAAqD,CACtD,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CACT,IAAI,CAAC,MAAM,EACX,QAAQ,EACR,UAAU,EACV,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EACtD;YACE,SAAS,EAAE,UAAU;YACrB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM;YACN,KAAK;YACL,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,GAAG,CAAC,KAAK,CAAC,oBAAoB;gBAC5B,CAAC,CAAC;oBACE,UAAU,EAAE;wBACV,GAAG,eAAe,CAAC,MAAM,CAAC;wBAC1B,QAAQ,EAAE,KAAK,CAAC,oBAAoB,CAAC,QAAQ;wBAC7C,MAAM,EAAE,KAAK;qBACd;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,EACD,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAChE,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,KAA0B;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,IAAI,CACT,IAAI,CAAC,MAAM,EACX,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAC1C,iBAAiB,EACjB,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAC9C;YACE,SAAS,EAAE,iBAAiB;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK;YACL,SAAS,EAAE,KAAK,CAAC,QAAQ;SAC1B,CACF,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,KAAsB;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,oBAAoB,CAAC;QAC9C,MAAM,WAAW,GAAG,mBAAmB,CACrC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAC1C,KAAK,CAAC,KAAK,CACZ,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,IACE,CAAC,UAAU;gBACX,UAAU,CAAC,KAAK,IAAI,EAAE;gBACtB,UAAU,CAAC,WAAW,KAAK,GAAG;gBAC9B,UAAU,CAAC,eAAe,KAAK,sBAAsB;gBAErD,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,yEAAyE,CAC1E,CAAC;YACJ,uBAAuB,CACrB;gBACE,GAAG,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC;gBACpC,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,MAAM,EAAE,KAAK;aACd,EACD,UAAU,CAAC,KAAK,EAChB,IAAI,CAAC,MAAM,CAAC,OAAO,CACpB,CAAC;QACJ,CAAC;aAAM,IAAI,UAAU;YACnB,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,wDAAwD,CACzD,CAAC;QACJ,OAAO,IAAI,CACT,IAAI,CAAC,MAAM,EACX,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAC1C,aAAa,EACb,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EACjE;YACE,SAAS,EAAE,aAAa;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK;YACL,GAAG,CAAC,UAAU;gBACZ,CAAC,CAAC;oBACE,UAAU,EAAE;wBACV,GAAG,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC;wBACpC,QAAQ,EAAE,UAAU,CAAC,QAAQ;wBAC7B,MAAM,EAAE,KAAK;qBACd;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CACF,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,KAAqB;QAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,SAAS,CAAC,KAAqB;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,SAAS,CAAC,KAAqB;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,mBAAmB,CAAC,KAAqB;QACvC,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,cAAc,CAAC,KAA0B;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,IAAI,CACT,IAAI,CAAC,MAAM,EACX,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAC1C,iBAAiB,EACjB;YACE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACd,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;YACvD,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;SAC9D,EACD,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAC5D,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,KAA0B;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,IAAI,CACT,IAAI,CAAC,MAAM,EACX,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAC1C,iBAAiB,EACjB,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,EACzE,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAC5D,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,KAA8B;QAC7C,OAAO,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,KAAK,EAAE;YACzD,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SACtC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,KAA6B;QACzC,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,KAAK,EAAE;YACtD,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;SAC5D,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,KAA8B;QAChD,OAAO,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,KAAK,EAAE;YAC7D,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SACtC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,CACjB,KAAmB,EACnB,UAAoC;QAEpC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC1C,OAAO,IAAI,CACT,IAAI,CAAC,MAAM,EACX,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EACpC,uBAAuB,EACvB,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAChB,EAAE,SAAS,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE,CACrD,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,KAAwB;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC;QAC3E,CAAC;QACD,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACjD,OAAO,IAAI,CACT,IAAI,CAAC,MAAM,EACX,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAC1C,eAAe,EACf,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAC/D,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAC1D,CAAC;IACJ,CAAC;IAED,4BAA4B,CAC1B,KAAwC;QAExC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC;YAC1C,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,eAAe,EAAE,KAAK,CAAC,eAAe;SACvC,CAAC,EAAE,CAAC;YACH,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;QACD,IACE,YAAY,KAAK,cAAc;YAC/B,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,KAAK;YAC9B,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,eAAe,EACxC,CAAC;YACD,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,8GAA8G,CAC/G,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CACT,IAAI,CAAC,MAAM,EACX,QAAQ,EACR,qBAAqB,EACrB;YACE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YACrB,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC;YACnC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC7B,EACD;YACE,SAAS,EAAE,qBAAqB;YAChC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,KAAK;SACpB,CACF,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,KAA+B;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnE,OAAO,IAAI,CACT,IAAI,CAAC,MAAM,EACX,QAAQ,EACR,mBAAmB,EACnB,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,EACzE;YACE,SAAS,EAAE,mBAAmB;YAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK;YACL,MAAM,EAAE,KAAK,CAAC,SAAS;SACxB,CACF,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,KAAgC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9C,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjE,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,SAAS;YACpC,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,sCAAsC,CACvC,CAAC;QACJ,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS;YAC5C,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,4CAA4C,CAC7C,CAAC;QACJ,OAAO,IAAI,CACT,IAAI,CAAC,MAAM,EACX,QAAQ,EACR,oBAAoB,EACpB,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,EACvE;YACE,SAAS,EAAE,oBAAoB;YAC/B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK;YACL,MAAM;YACN,MAAM,EAAE,KAAK,CAAC,QAAQ;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,EACD;YACE,aAAa,CACX,IAAI,CAAC,MAAM,EACX,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,QAAQ,EACd,MAAM,EACN,KAAK,CAAC,SAAS,CAChB;SACF,CACF,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,KAAmB;QAC5C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC;YACvC,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,6DAA6D,CAC9D,CAAC;QACJ,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,kBAAkB,CACxB,SAA2E,EAC3E,KAA8B,EAC9B,YAAqC;QAErC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpD,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,MAAM,KAAK,EAAE;gBACpC,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,qEAAqE,CACtE,CAAC;YACJ,uBAAuB,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvE,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,KAAK,KAAK,CAAC,SAAS;gBAC/C,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,wCAAwC,CACzC,CAAC;YACJ,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC5C,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,gDAAgD,CACjD,CAAC;QACN,CAAC;aAAM,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YAC5B,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,gDAAgD,CACjD,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GACb,KAAK,CAAC,KAAK,KAAK,MAAM;YACpB,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;YACtD,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,SAAS;YAAE,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5E,MAAM,cAAc,GAClB,MAAM,GAAG,EAAE;YACT,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YACxE,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,IAAI,CACT,IAAI,CAAC,MAAM,EACX,QAAQ,EACR,SAAS,EACT,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,CAAC,EAC7D;YACE,SAAS;YACT,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM;YACN,KAAK;YACL,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9D,EACD,cAAc,CACf,CAAC;IACJ,CAAC;IAEO,UAAU,CAChB,SAI2B,EAC3B,KAAqB;QAErB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpD,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,IACE,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC;YAC1C,CAAC,SAAS,KAAK,cAAc,IAAI,SAAS,KAAK,YAAY,CAAC,EAC5D,CAAC;YACD,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,qFAAqF,CACtF,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GACb,KAAK,CAAC,KAAK,KAAK,MAAM;YACpB,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;YACtD,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,SAAS;YAAE,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5E,MAAM,cAAc,GAClB,MAAM,GAAG,EAAE;YACT,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YACxE,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,IAAI,CACT,IAAI,CAAC,MAAM,EACX,QAAQ,EACR,SAAS,EACT,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EACjE;YACE,SAAS;YACT,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM;YACN,KAAK;YACL,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,EACD,cAAc,CACf,CAAC;IACJ,CAAC;CACF"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PerkOSTransactionBuilder } from "./builders.js";
|
|
2
2
|
import { SpendingPolicy } from "./policy.js";
|
|
3
|
-
import type { AgentRecord, AppealDecisionInput, AssignProviderInput, ConfirmationOptions, ConfirmedTransactionReceipt, ContractCallPlan, ContractId, CreateJobInput, DecisionRecord, FundJobInput, JobAmountInput, JobRecord, PaymentAsset, PerkOSConfig, RateProviderInput, RecordDecisionInput, RegisterAgentInput, ReputationRecord, ReputationSyncRecord, ResolveAppealInput, SpendingApproval, SubmitWorkInput, TransactionConfirmation, TransactionReceipt, TransactionTrackerLike, UpdateAgentInput } from "./types.js";
|
|
3
|
+
import type { AgentRecord, AppealDecisionInput, AssignProviderInput, ConfirmationOptions, ConfirmedTransactionReceipt, ContractCallPlan, ContractId, CreateJobInput, DecisionRecord, JobServiceFeeRecord, ServiceFeePolicy, InitializeServiceFeeProtocolInput, WaiveServiceFeeInput, FundJobInput, JobAmountInput, JobRecord, PaymentAsset, PerkOSConfig, RateProviderInput, RecordDecisionInput, RegisterAgentInput, ReputationRecord, ReputationSyncRecord, ResolveAppealInput, SpendingApproval, SubmitWorkInput, TransactionConfirmation, TransactionReceipt, TransactionTrackerLike, UpdateAgentInput } from "./types.js";
|
|
4
4
|
export declare class PerkOSClient {
|
|
5
5
|
readonly config: import("./types.js").ResolvedPerkOSConfig;
|
|
6
6
|
readonly transactions: PerkOSTransactionBuilder;
|
|
@@ -18,6 +18,13 @@ export declare class PerkOSClient {
|
|
|
18
18
|
getJobCount(asset: PaymentAsset): Promise<bigint>;
|
|
19
19
|
getJob(asset: PaymentAsset, jobIdInput: bigint | number | string): Promise<JobRecord | null>;
|
|
20
20
|
getEscrowBalance(asset: PaymentAsset, jobIdInput: bigint | number | string): Promise<bigint>;
|
|
21
|
+
/** Explicit opt-in capability; deployed defaults remain the no-fee generation. */
|
|
22
|
+
supportsServiceFees(asset: PaymentAsset): boolean;
|
|
23
|
+
getServiceFeePolicy(asset: PaymentAsset): Promise<ServiceFeePolicy>;
|
|
24
|
+
getJobServiceFee(asset: PaymentAsset, jobIdInput: bigint | number | string): Promise<JobServiceFeeRecord>;
|
|
25
|
+
initializeServiceFeeProtocol(input: InitializeServiceFeeProtocolInput): Promise<TransactionReceipt>;
|
|
26
|
+
waiveServiceFee(input: WaiveServiceFeeInput): Promise<TransactionReceipt>;
|
|
27
|
+
refundServiceFee(asset: PaymentAsset, jobIdInput: bigint | number | string): Promise<TransactionReceipt>;
|
|
21
28
|
getConfiguredSbtcToken(): Promise<string>;
|
|
22
29
|
getJobPaymentToken(jobIdInput: bigint | number | string): Promise<ContractId>;
|
|
23
30
|
getReviewWindow(asset: PaymentAsset): Promise<bigint>;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|