twzrd-x402-gate 0.8.12 → 0.8.13
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/QUICKSTART.md +22 -12
- package/README.md +7 -2
- package/bin/twzrd-gate-eval-refuse.js +5 -1
- package/dist/block-proof.d.ts +50 -10
- package/dist/block-proof.d.ts.map +1 -1
- package/dist/block-proof.js +88 -6
- package/dist/block-proof.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/QUICKSTART.md
CHANGED
|
@@ -5,38 +5,38 @@ API key, no signup, no config — every `TWZRD_*` env var is an optional overrid
|
|
|
5
5
|
is unreachable the gate never *invents* a wash flag (the wash check fails open); a failed
|
|
6
6
|
preflight blocks the payment by default (`TWZRD_FAIL_OPEN=true` to allow).
|
|
7
7
|
|
|
8
|
-
**Pin:** `twzrd-x402-gate@0.8.
|
|
8
|
+
**Pin:** `twzrd-x402-gate@0.8.12` + stock PayAI client `x402-solana@2.1.0` (official
|
|
9
9
|
`beforePayment` seat). `@x402/core` Path E remains supported; refuse script is fallback.
|
|
10
10
|
|
|
11
11
|
## 1. Stock PayAI client (default seat — copy-paste)
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
npm install twzrd-x402-gate@0.8.
|
|
14
|
+
npm install twzrd-x402-gate@0.8.12 x402-solana@2.1.0
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
+
> **ESM-only.** The package ships `import` conditions only — a CommonJS
|
|
18
|
+
> `require()` (e.g. a default `npm init -y` project without `"type": "module"`)
|
|
19
|
+
> fails with `ERR_PACKAGE_PATH_NOT_EXPORTED`. Set `"type": "module"` in your
|
|
20
|
+
> package.json, use `.mjs`, or bundle ESM.
|
|
21
|
+
|
|
17
22
|
```typescript
|
|
18
23
|
import { createX402Client } from "x402-solana";
|
|
19
|
-
import {
|
|
20
|
-
createTwzrdBeforePaymentHook,
|
|
21
|
-
// or: installTwzrdAutoGate
|
|
22
|
-
} from "twzrd-x402-gate";
|
|
24
|
+
import { createTwzrdBeforePaymentHook } from "twzrd-x402-gate";
|
|
23
25
|
|
|
24
26
|
const client = createX402Client({
|
|
25
27
|
wallet,
|
|
26
28
|
network: "solana",
|
|
27
|
-
// runs AFTER requirement selection, BEFORE signTransaction
|
|
28
29
|
beforePayment: createTwzrdBeforePaymentHook({ refuseWashFlagged: true }),
|
|
29
|
-
// equivalent:
|
|
30
|
-
// beforePayment: installTwzrdAutoGate("x402-solana", { refuseWashFlagged: true }),
|
|
31
30
|
});
|
|
32
|
-
|
|
33
|
-
await client.fetch("https://merchant.example/paid");
|
|
34
31
|
```
|
|
35
32
|
|
|
33
|
+
Equivalent: `beforePayment: installTwzrdAutoGate("x402-solana", { refuseWashFlagged: true })`.
|
|
34
|
+
Then: `await client.fetch("https://merchant.example/paid");`
|
|
35
|
+
|
|
36
36
|
## 1b. Official `@x402/core` client (Path E)
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
|
-
npm install twzrd-x402-gate@0.8.
|
|
39
|
+
npm install twzrd-x402-gate@0.8.12 @x402/core @x402/fetch @x402/svm
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
```typescript
|
|
@@ -53,6 +53,8 @@ installTwzrdAutoGate(client, { refuseWashFlagged: true });
|
|
|
53
53
|
|
|
54
54
|
```bash
|
|
55
55
|
# Stock-client seat proof (beforePayment, signer_invocation_count=0)
|
|
56
|
+
# needs x402-solana@2.1.0 installed - the harness fallback runs but does not
|
|
57
|
+
# clear closure (its negative arm counts a would-be sign)
|
|
56
58
|
npm run x402-solana-before-payment-proof
|
|
57
59
|
# writes block-proof-<run_id>.json — hook: beforePayment
|
|
58
60
|
|
|
@@ -62,6 +64,14 @@ npm run autogate-block-proof
|
|
|
62
64
|
|
|
63
65
|
That JSON is your receipt: a bad merchant intercepted with 0 USDC at risk.
|
|
64
66
|
|
|
67
|
+
Both proofs resolve their bad-seller fixture live: a `wash_flagged` merchant when
|
|
68
|
+
one is available, else a live `decision=block` seller (the wash overlay is
|
|
69
|
+
corpus-derived and drifts). The proof's public abort reason differs by basis:
|
|
70
|
+
`TWZRD_TRUST_GATE_BLOCK: wash_flagged` (wash) vs
|
|
71
|
+
`TWZRD_TRUST_GATE_BLOCK: decision_block` (readiness decision). The raw hook
|
|
72
|
+
abort string is prefixed `[twzrd]` — treat any reason matching
|
|
73
|
+
`TWZRD_TRUST_GATE_BLOCK|twzrd_decision_block|twzrd_wash_flagged` as a gate refuse.
|
|
74
|
+
|
|
65
75
|
**Fallback only:** `npx twzrd-gate-eval-refuse` / `npm run gate-eval-refuse` still works for
|
|
66
76
|
CLI smoke, but it is **not** the primary install story — agents that only summarize
|
|
67
77
|
`RUN_THIS_NOW` without seating a gate on a signer path never clear W1.
|
package/README.md
CHANGED
|
@@ -25,14 +25,19 @@ installTwzrdAutoGate(client, { refuseWashFlagged: true });
|
|
|
25
25
|
// then register schemes + wrapFetchWithPayment as usual
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
**Intercept proof (0 USDC,
|
|
28
|
+
**Intercept proof (0 USDC, bad seller never reaches signer):**
|
|
29
29
|
|
|
30
30
|
```bash
|
|
31
31
|
cd packages/twzrd-x402-gate && npm run autogate-block-proof
|
|
32
32
|
# writes block-proof-<run_id>.json (schema twzrd.autogate_block_proof.v1)
|
|
33
|
-
# public reason: TWZRD_TRUST_GATE_BLOCK: wash_flagged
|
|
33
|
+
# public reason: "TWZRD_TRUST_GATE_BLOCK: wash_flagged" (wash basis)
|
|
34
|
+
# or "TWZRD_TRUST_GATE_BLOCK: decision_block" (readiness block basis)
|
|
35
|
+
# fixture resolves live: wash_flagged seller if available, else decision=block
|
|
34
36
|
```
|
|
35
37
|
|
|
38
|
+
> **ESM-only:** CommonJS `require()` fails with `ERR_PACKAGE_PATH_NOT_EXPORTED`
|
|
39
|
+
> — set `"type": "module"` (or use `.mjs` / an ESM bundler).
|
|
40
|
+
|
|
36
41
|
`gateOnCanSpend` remains **opt-in** (`false` by default; set `true` or `TWZRD_GATE_ON_CAN_SPEND=1` only when you want hard cap enforcement).
|
|
37
42
|
|
|
38
43
|
**Optional (0.8.1):** a resource-server settle hook so merchants can apply **customer policy**
|
|
@@ -76,11 +76,15 @@ async function immediatePreflight() {
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
async function main() {
|
|
79
|
+
// Recommend our OWN version, read at runtime - a hardcoded literal here
|
|
80
|
+
// shipped a two-release downgrade inside the published tarball (0.8.12's
|
|
81
|
+
// bin told agents to install 0.8.10).
|
|
82
|
+
const ownVersion = require("../package.json").version;
|
|
79
83
|
for (const pkg of ["@x402/core", "@x402/fetch", "@x402/svm", "@solana/kit"]) {
|
|
80
84
|
if (!resolveImport(pkg)) {
|
|
81
85
|
console.error(
|
|
82
86
|
`twzrd-gate-eval-refuse: missing peer ${pkg}. Run:\n` +
|
|
83
|
-
` npm install twzrd-x402-gate
|
|
87
|
+
` npm install twzrd-x402-gate@${ownVersion} @x402/core @x402/fetch @x402/svm @solana/kit @scure/base`,
|
|
84
88
|
);
|
|
85
89
|
process.exit(2);
|
|
86
90
|
}
|
package/dist/block-proof.d.ts
CHANGED
|
@@ -2,21 +2,34 @@
|
|
|
2
2
|
* AutoGate block-proof transcript schema + builder.
|
|
3
3
|
* Used by examples/autogate-block-proof.ts and unit tests.
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* v1 = original block transcript (hook + invariants only).
|
|
7
|
+
* v1.1 = adds execution_mode + resolved peer versions so stock-seat proofs
|
|
8
|
+
* cannot be confused with harness fallback (S1 closure 2026-08-03).
|
|
9
|
+
*/
|
|
5
10
|
export declare const AUTOGATE_BLOCK_PROOF_SCHEMA = "twzrd.autogate_block_proof.v1";
|
|
11
|
+
export declare const AUTOGATE_BLOCK_PROOF_SCHEMA_V1_1 = "twzrd.autogate_block_proof.v1.1";
|
|
12
|
+
/** How the refuse was exercised — never omit on new S1 artifacts. */
|
|
13
|
+
export type ExecutionMode = "x402-solana@2.1.0" | "harness" | "onBeforePaymentCreation";
|
|
6
14
|
export type AutogateBlockProof = {
|
|
7
|
-
schema_version: typeof AUTOGATE_BLOCK_PROOF_SCHEMA;
|
|
15
|
+
schema_version: typeof AUTOGATE_BLOCK_PROOF_SCHEMA | typeof AUTOGATE_BLOCK_PROOF_SCHEMA_V1_1;
|
|
8
16
|
run_id: string;
|
|
9
17
|
timestamp: string;
|
|
18
|
+
/** twzrd-x402-gate package version */
|
|
10
19
|
package_version: string;
|
|
11
20
|
target_seller: string;
|
|
12
21
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
|
|
22
|
+
* v1.1+: which client path executed. Absent on legacy v1 artifacts — treat
|
|
23
|
+
* missing as "ambiguous (may be harness)".
|
|
24
|
+
*/
|
|
25
|
+
execution_mode?: ExecutionMode;
|
|
26
|
+
/**
|
|
27
|
+
* v1.1+: resolved from disk (node_modules/.../package.json), not require()
|
|
28
|
+
* of package.json export (x402-solana blocks that export → "unknown").
|
|
16
29
|
*/
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
|
|
30
|
+
x402_solana_version?: string | null;
|
|
31
|
+
/** v1.1+: true when X402_SOLANA_PROOF=require forced stock path */
|
|
32
|
+
stock_seat_required?: boolean;
|
|
20
33
|
preflight_result: {
|
|
21
34
|
decision: string | null;
|
|
22
35
|
wash_flagged: boolean | null;
|
|
@@ -39,6 +52,17 @@ export type AutogateBlockProof = {
|
|
|
39
52
|
actual_spend_usdc: number;
|
|
40
53
|
onchain_settlements: number;
|
|
41
54
|
};
|
|
55
|
+
/** Optional clean-seller negative control (arm B) when recorded on the same run */
|
|
56
|
+
negative_control?: {
|
|
57
|
+
clean_seller: string;
|
|
58
|
+
wash_flagged: boolean | null;
|
|
59
|
+
aborted: boolean;
|
|
60
|
+
decision: string | null;
|
|
61
|
+
reason: string | null;
|
|
62
|
+
signer_invocations: number;
|
|
63
|
+
/** true when clean seller was NOT refused while wash was — discrimination holds */
|
|
64
|
+
passed: boolean;
|
|
65
|
+
};
|
|
42
66
|
verified: boolean;
|
|
43
67
|
};
|
|
44
68
|
export type BuildAutogateBlockProofInput = {
|
|
@@ -57,9 +81,25 @@ export type BuildAutogateBlockProofInput = {
|
|
|
57
81
|
now?: () => Date;
|
|
58
82
|
/** Default onBeforePaymentCreation; pass "beforePayment" for stock PayAI seat proofs */
|
|
59
83
|
hook?: "onBeforePaymentCreation" | "beforePayment";
|
|
60
|
-
/**
|
|
61
|
-
|
|
62
|
-
|
|
84
|
+
/** v1.1: stock seat vs harness — required for new S1 claims */
|
|
85
|
+
execution_mode?: ExecutionMode;
|
|
86
|
+
x402_solana_version?: string | null;
|
|
87
|
+
stock_seat_required?: boolean;
|
|
88
|
+
negative_control?: AutogateBlockProof["negative_control"];
|
|
89
|
+
/**
|
|
90
|
+
* When true (default if execution_mode is set), emit schema v1.1.
|
|
91
|
+
* Legacy callers without execution_mode keep v1 for back-compat.
|
|
92
|
+
*/
|
|
93
|
+
schema_v1_1?: boolean;
|
|
63
94
|
};
|
|
64
95
|
export declare function buildAutogateBlockProof(input: BuildAutogateBlockProofInput): AutogateBlockProof;
|
|
96
|
+
/**
|
|
97
|
+
* Resolve a package version from node_modules on disk.
|
|
98
|
+
* Prefer this over `require("pkg/package.json")` — some packages (x402-solana)
|
|
99
|
+
* do not export package.json and that path yields "unknown".
|
|
100
|
+
*
|
|
101
|
+
* @param packageName e.g. "x402-solana"
|
|
102
|
+
* @param fromUrl import.meta.url of the caller (or any file under the package)
|
|
103
|
+
*/
|
|
104
|
+
export declare function resolveInstalledPackageVersion(packageName: string, fromUrl?: string | URL): string | null;
|
|
65
105
|
//# sourceMappingURL=block-proof.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-proof.d.ts","sourceRoot":"","sources":["../src/block-proof.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"block-proof.d.ts","sourceRoot":"","sources":["../src/block-proof.ts"],"names":[],"mappings":"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"}
|
package/dist/block-proof.js
CHANGED
|
@@ -2,9 +2,18 @@
|
|
|
2
2
|
* AutoGate block-proof transcript schema + builder.
|
|
3
3
|
* Used by examples/autogate-block-proof.ts and unit tests.
|
|
4
4
|
*/
|
|
5
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
6
|
+
import { createRequire } from "node:module";
|
|
7
|
+
import { dirname, join } from "node:path";
|
|
5
8
|
import { CLIENT_VERSION } from "./version.js";
|
|
6
9
|
import { toTrustGateBlockReason } from "./trust-gate-reason.js";
|
|
10
|
+
/**
|
|
11
|
+
* v1 = original block transcript (hook + invariants only).
|
|
12
|
+
* v1.1 = adds execution_mode + resolved peer versions so stock-seat proofs
|
|
13
|
+
* cannot be confused with harness fallback (S1 closure 2026-08-03).
|
|
14
|
+
*/
|
|
7
15
|
export const AUTOGATE_BLOCK_PROOF_SCHEMA = "twzrd.autogate_block_proof.v1";
|
|
16
|
+
export const AUTOGATE_BLOCK_PROOF_SCHEMA_V1_1 = "twzrd.autogate_block_proof.v1.1";
|
|
8
17
|
export function buildAutogateBlockProof(input) {
|
|
9
18
|
const internal = input.internal_reason;
|
|
10
19
|
const publicReason = internal
|
|
@@ -17,16 +26,17 @@ export function buildAutogateBlockProof(input) {
|
|
|
17
26
|
signer === 0 &&
|
|
18
27
|
spend === 0 &&
|
|
19
28
|
onchain === 0;
|
|
20
|
-
|
|
21
|
-
|
|
29
|
+
const useV11 = input.schema_v1_1 === true ||
|
|
30
|
+
input.execution_mode != null ||
|
|
31
|
+
input.negative_control != null;
|
|
32
|
+
const proof = {
|
|
33
|
+
schema_version: useV11
|
|
34
|
+
? AUTOGATE_BLOCK_PROOF_SCHEMA_V1_1
|
|
35
|
+
: AUTOGATE_BLOCK_PROOF_SCHEMA,
|
|
22
36
|
run_id: input.run_id,
|
|
23
37
|
timestamp: (input.now?.() ?? new Date()).toISOString(),
|
|
24
38
|
package_version: input.package_version ?? CLIENT_VERSION,
|
|
25
39
|
target_seller: input.target_seller,
|
|
26
|
-
...(input.seat ? { seat: input.seat } : {}),
|
|
27
|
-
...(input.client_package_version
|
|
28
|
-
? { client_package_version: input.client_package_version }
|
|
29
|
-
: {}),
|
|
30
40
|
preflight_result: {
|
|
31
41
|
decision: input.decision ?? null,
|
|
32
42
|
wash_flagged: input.wash_flagged ?? null,
|
|
@@ -46,5 +56,77 @@ export function buildAutogateBlockProof(input) {
|
|
|
46
56
|
},
|
|
47
57
|
verified,
|
|
48
58
|
};
|
|
59
|
+
if (useV11) {
|
|
60
|
+
proof.execution_mode = input.execution_mode;
|
|
61
|
+
proof.x402_solana_version =
|
|
62
|
+
input.x402_solana_version !== undefined ? input.x402_solana_version : null;
|
|
63
|
+
if (input.stock_seat_required != null) {
|
|
64
|
+
proof.stock_seat_required = input.stock_seat_required;
|
|
65
|
+
}
|
|
66
|
+
if (input.negative_control) {
|
|
67
|
+
proof.negative_control = input.negative_control;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return proof;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Resolve a package version from node_modules on disk.
|
|
74
|
+
* Prefer this over `require("pkg/package.json")` — some packages (x402-solana)
|
|
75
|
+
* do not export package.json and that path yields "unknown".
|
|
76
|
+
*
|
|
77
|
+
* @param packageName e.g. "x402-solana"
|
|
78
|
+
* @param fromUrl import.meta.url of the caller (or any file under the package)
|
|
79
|
+
*/
|
|
80
|
+
export function resolveInstalledPackageVersion(packageName, fromUrl = import.meta.url) {
|
|
81
|
+
// createRequire wants a file URL or absolute path to a real module file.
|
|
82
|
+
const filename = typeof fromUrl === "string"
|
|
83
|
+
? fromUrl.startsWith("file:")
|
|
84
|
+
? fromUrl
|
|
85
|
+
: fromUrl
|
|
86
|
+
: fromUrl.href;
|
|
87
|
+
const req = createRequire(filename);
|
|
88
|
+
// 1) package.json export if present
|
|
89
|
+
try {
|
|
90
|
+
const pkgJsonPath = req.resolve(`${packageName}/package.json`);
|
|
91
|
+
const raw = JSON.parse(readFileSync(pkgJsonPath, "utf8"));
|
|
92
|
+
if (typeof raw.version === "string")
|
|
93
|
+
return raw.version;
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
/* blocked export — walk from entry */
|
|
97
|
+
}
|
|
98
|
+
// 2) resolve package entry, walk parents for package.json with matching name
|
|
99
|
+
let entry = null;
|
|
100
|
+
for (const spec of [packageName, `${packageName}/dist/index.js`, `${packageName}/dist/index.cjs`]) {
|
|
101
|
+
try {
|
|
102
|
+
entry = req.resolve(spec);
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
/* try next */
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if (!entry)
|
|
110
|
+
return null;
|
|
111
|
+
let dir = dirname(entry);
|
|
112
|
+
for (let i = 0; i < 8; i++) {
|
|
113
|
+
const candidate = join(dir, "package.json");
|
|
114
|
+
if (existsSync(candidate)) {
|
|
115
|
+
try {
|
|
116
|
+
const raw = JSON.parse(readFileSync(candidate, "utf8"));
|
|
117
|
+
if (raw.name === packageName && typeof raw.version === "string") {
|
|
118
|
+
return raw.version;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
/* continue */
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
const parent = dirname(dir);
|
|
126
|
+
if (parent === dir)
|
|
127
|
+
break;
|
|
128
|
+
dir = parent;
|
|
129
|
+
}
|
|
130
|
+
return null;
|
|
49
131
|
}
|
|
50
132
|
//# sourceMappingURL=block-proof.js.map
|
package/dist/block-proof.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-proof.js","sourceRoot":"","sources":["../src/block-proof.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,CAAC,MAAM,2BAA2B,GAAG,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"block-proof.js","sourceRoot":"","sources":["../src/block-proof.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export { DEFAULT_REQUIRE_RECEIPT_MIN_SPEND_USDC, resolveRequireReceiptPolicy, sh
|
|
|
13
13
|
export { withTwzrdGuard, type TwzrdGuardOptions } from "./with-guard.js";
|
|
14
14
|
export { installTwzrdAutoGate, uninstallTwzrdAutoGate, isTwzrdAutoGateDisabled, type PayWrap, type InstallAutoGateOptions, type InstallAutoGateFetchOptions, type InstallAutoGateX402Options, type InstallAutoGateMppOptions, type TwzrdAutoGateCommonOptions, } from "./auto-gate.js";
|
|
15
15
|
export { TWZRD_TRUST_GATE_BLOCK_WASH, TWZRD_TRUST_GATE_BLOCK_CAN_SPEND, TWZRD_TRUST_GATE_BLOCK_DECISION, toTrustGateBlockReason, } from "./trust-gate-reason.js";
|
|
16
|
-
export { AUTOGATE_BLOCK_PROOF_SCHEMA, buildAutogateBlockProof, type AutogateBlockProof, type BuildAutogateBlockProofInput, } from "./block-proof.js";
|
|
16
|
+
export { AUTOGATE_BLOCK_PROOF_SCHEMA, AUTOGATE_BLOCK_PROOF_SCHEMA_V1_1, buildAutogateBlockProof, resolveInstalledPackageVersion, type AutogateBlockProof, type BuildAutogateBlockProofInput, type ExecutionMode, } from "./block-proof.js";
|
|
17
17
|
export { safeFetch, runAgentcashFetch, main as safeFetchMain, type SafeFetchOptions, type SafeFetchResult, } from "./safe-fetch.js";
|
|
18
18
|
export { installTwzrdX402ClientHook, twzrdBeforePaymentCreation, evaluateBeforePaymentCreation, createTwzrdBeforePaymentHook, mapX402SolanaRequirements, type X402ClientLike, type X402SelectedRequirements, type BeforePaymentCreationContext, type BeforePaymentCreationResult, type InstallX402ClientHookOptions, type X402PaymentControlOptions, type X402SolanaBeforePaymentContext, } from "./x402-client-hook.js";
|
|
19
19
|
export { runGateAdoptionProof, main as adoptionProofMain, ADOPTION_TRANSCRIPT_SCHEMA, ADOPTION_PROOF_SELLER, ADOPTION_PROOF_NETWORK, ADOPTION_PROOF_RESOURCE, type GateAdoptionTranscript, type GateAdoptionStep, type GateAdoptionAssertions, type GateAdoptionLineage, type RunGateAdoptionProofOptions, } from "./adoption-proof.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAChH,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,GAChC,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACL,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sCAAsC,EACtC,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,GAClC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,OAAO,EACZ,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,GAChC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -16,7 +16,7 @@ export { DEFAULT_REQUIRE_RECEIPT_MIN_SPEND_USDC, resolveRequireReceiptPolicy, sh
|
|
|
16
16
|
export { withTwzrdGuard } from "./with-guard.js";
|
|
17
17
|
export { installTwzrdAutoGate, uninstallTwzrdAutoGate, isTwzrdAutoGateDisabled, } from "./auto-gate.js";
|
|
18
18
|
export { TWZRD_TRUST_GATE_BLOCK_WASH, TWZRD_TRUST_GATE_BLOCK_CAN_SPEND, TWZRD_TRUST_GATE_BLOCK_DECISION, toTrustGateBlockReason, } from "./trust-gate-reason.js";
|
|
19
|
-
export { AUTOGATE_BLOCK_PROOF_SCHEMA, buildAutogateBlockProof, } from "./block-proof.js";
|
|
19
|
+
export { AUTOGATE_BLOCK_PROOF_SCHEMA, AUTOGATE_BLOCK_PROOF_SCHEMA_V1_1, buildAutogateBlockProof, resolveInstalledPackageVersion, } from "./block-proof.js";
|
|
20
20
|
export { safeFetch, runAgentcashFetch, main as safeFetchMain, } from "./safe-fetch.js";
|
|
21
21
|
export { installTwzrdX402ClientHook, twzrdBeforePaymentCreation, evaluateBeforePaymentCreation, createTwzrdBeforePaymentHook, mapX402SolanaRequirements, } from "./x402-client-hook.js";
|
|
22
22
|
export { runGateAdoptionProof, main as adoptionProofMain, ADOPTION_TRANSCRIPT_SCHEMA, ADOPTION_PROOF_SELLER, ADOPTION_PROOF_NETWORK, ADOPTION_PROOF_RESOURCE, } from "./adoption-proof.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,qFAAqF;AACrF,uFAAuF;AACvF,qFAAqF;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAkB,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,aAAa,EAAgC,MAAM,aAAa,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,GAEpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAChH,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,YAAY,GAKb,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GAIvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACL,sBAAsB,GAGvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sCAAsC,EACtC,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,GAG1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAA0B,MAAM,iBAAiB,CAAC;AACzE,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,GAOxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "twzrd-x402-gate",
|
|
3
|
-
"version": "0.8.
|
|
4
|
-
"description": "Core: buyer-side x402 trust gate. Free TWZRD preflight (ReadinessCard) before signing USDC to any merchant, with optional $0.001 paid trust escalate on warn
|
|
3
|
+
"version": "0.8.13",
|
|
4
|
+
"description": "Core: buyer-side x402 trust gate. Free TWZRD preflight (ReadinessCard) before signing USDC to any merchant, with optional $0.001 paid trust escalate on warn — blocking spend on bad intel, no human in the loop. Optional: createTwzrdSettleGuard for resource servers to apply merchant policy on the payer before settle+serve. installTwzrdAutoGate is the canonical default-on entry across fetch payWrap, x402 client (onBeforePaymentCreation), PayAI x402-solana beforePayment (2.1.0+), and MPP onChallenge. Fail-closed by default — set TWZRD_FAIL_OPEN=true for outage allow; kill switch TWZRD_GATE_ENABLED=false or TWZRD_AUTO_GATE=0. Always stamps X-Twzrd-Caller for seat metrics.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|