@seasonkoh/webaz 0.1.27 → 0.1.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/README.zh-CN.md +7 -6
- package/dist/currency.js +16 -0
- package/dist/deposit-rails.js +52 -0
- package/dist/direct-pay-aml-monitor.js +67 -0
- package/dist/direct-pay-aml-review.js +40 -0
- package/dist/direct-pay-base-bond-entry.js +5 -0
- package/dist/direct-pay-bond-rail-clearance.js +94 -0
- package/dist/direct-pay-compliance-ingress.js +145 -0
- package/dist/direct-pay-controls.js +136 -0
- package/dist/direct-pay-create.js +162 -0
- package/dist/direct-pay-deferral-quota.js +43 -0
- package/dist/direct-pay-disclosures.js +44 -0
- package/dist/direct-pay-eligibility.js +46 -0
- package/dist/direct-pay-fee-ar.js +241 -0
- package/dist/direct-pay-launch-readiness.js +108 -0
- package/dist/direct-pay-launch-summary.js +68 -0
- package/dist/direct-pay-ledger.js +94 -0
- package/dist/direct-receive-account-qr.js +77 -0
- package/dist/direct-receive-accounts.js +82 -0
- package/dist/direct-receive-deferral.js +142 -0
- package/dist/direct-receive-deposits.js +260 -0
- package/dist/direct-receive-payment-instruction.js +26 -0
- package/dist/fx-rates.js +71 -0
- package/dist/layer0-foundation/L0-1-database/schema.js +531 -1
- package/dist/layer0-foundation/L0-2-state-machine/genuine-sale.js +15 -5
- package/dist/layer0-foundation/L0-2-state-machine/transitions.js +41 -0
- package/dist/layer0-foundation/L0-5-manifest/manifest.js +1 -1
- package/dist/layer1-agent/L1-1-mcp-server/cli.js +64 -0
- package/dist/layer1-agent/L1-1-mcp-server/network-mode.js +80 -0
- package/dist/layer1-agent/L1-1-mcp-server/server.js +251 -69
- package/dist/layer4-economics/L4-4-skill-market/skill-engine.js +4 -4
- package/dist/ledger.js +12 -3
- package/dist/mcp.js +23 -4
- package/dist/merchant-bond-domain.js +64 -0
- package/dist/merchant-bond-exposure.js +78 -0
- package/dist/merchant-bond-watcher.js +26 -0
- package/dist/payment-rails.js +29 -0
- package/dist/product-verification.js +93 -0
- package/dist/pwa/acp-feed.js +3 -2
- package/dist/pwa/contract-fingerprint.js +3 -0
- package/dist/pwa/direct-pay-guards.js +20 -0
- package/dist/pwa/direct-pay-order-redaction.js +24 -0
- package/dist/pwa/endpoint-actions.js +3 -0
- package/dist/pwa/public/app-account.js +977 -0
- package/dist/pwa/public/app-admin.js +608 -0
- package/dist/pwa/public/app-agents.js +63 -0
- package/dist/pwa/public/app-ai.js +2162 -0
- package/dist/pwa/public/app-chat-poll.js +29 -0
- package/dist/pwa/public/app-contribution.js +836 -0
- package/dist/pwa/public/app-create-kinds.js +17 -0
- package/dist/pwa/public/app-direct-pay-accounts.js +141 -0
- package/dist/pwa/public/app-direct-pay-buyer.js +72 -0
- package/dist/pwa/public/app-direct-pay-compliance.js +67 -0
- package/dist/pwa/public/app-direct-pay-deferral-admin.js +72 -0
- package/dist/pwa/public/app-direct-pay-deferral.js +61 -0
- package/dist/pwa/public/app-direct-pay-fee-center.js +33 -0
- package/dist/pwa/public/app-direct-pay-fee-ops.js +112 -0
- package/dist/pwa/public/app-direct-pay-product-verify.js +103 -0
- package/dist/pwa/public/app-direct-pay-readiness.js +38 -0
- package/dist/pwa/public/app-direct-pay-store-verify.js +100 -0
- package/dist/pwa/public/app-direct-pay.js +227 -0
- package/dist/pwa/public/app-discover.js +1296 -0
- package/dist/pwa/public/app-external-links.js +32 -0
- package/dist/pwa/public/app-listings.js +226 -0
- package/dist/pwa/public/app-prelaunch-waz.js +39 -0
- package/dist/pwa/public/app-price.js +55 -0
- package/dist/pwa/public/app-product-media.js +15 -0
- package/dist/pwa/public/app-profile.js +1692 -0
- package/dist/pwa/public/app-seller.js +199 -0
- package/dist/pwa/public/app-shop.js +1145 -0
- package/dist/pwa/public/app.js +13388 -22277
- package/dist/pwa/public/i18n.js +413 -196
- package/dist/pwa/public/index.html +27 -0
- package/dist/pwa/public/openapi.json +579 -1
- package/dist/pwa/routes/admin-analytics.js +4 -2
- package/dist/pwa/routes/admin-direct-receive-deposits.js +321 -0
- package/dist/pwa/routes/agent-grants.js +255 -0
- package/dist/pwa/routes/buyer-feeds.js +2 -1
- package/dist/pwa/routes/chat.js +6 -1
- package/dist/pwa/routes/dashboards.js +2 -1
- package/dist/pwa/routes/direct-pay-availability.js +196 -0
- package/dist/pwa/routes/direct-pay-disclosure-acks.js +74 -0
- package/dist/pwa/routes/direct-pay-timeouts.js +71 -0
- package/dist/pwa/routes/direct-receive-accounts.js +155 -0
- package/dist/pwa/routes/direct-receive-payment-instructions.js +45 -0
- package/dist/pwa/routes/fx.js +12 -0
- package/dist/pwa/routes/leaderboard.js +47 -9
- package/dist/pwa/routes/listings.js +2 -2
- package/dist/pwa/routes/logistics.js +4 -0
- package/dist/pwa/routes/manifests.js +38 -0
- package/dist/pwa/routes/me-data.js +5 -2
- package/dist/pwa/routes/orders-action.js +117 -9
- package/dist/pwa/routes/orders-create.js +4 -0
- package/dist/pwa/routes/orders-read.js +36 -0
- package/dist/pwa/routes/p2p-products.js +2 -2
- package/dist/pwa/routes/products-create.js +5 -3
- package/dist/pwa/routes/products-links.js +34 -0
- package/dist/pwa/routes/products-list.js +2 -1
- package/dist/pwa/routes/products-update.js +22 -2
- package/dist/pwa/routes/promoter.js +3 -0
- package/dist/pwa/routes/referral.js +4 -0
- package/dist/pwa/routes/returns.js +26 -1
- package/dist/pwa/routes/rewards-apply.js +10 -5
- package/dist/pwa/routes/rewards-clearing-mature.js +96 -0
- package/dist/pwa/routes/rewards-escrow-expire.js +6 -2
- package/dist/pwa/routes/shops.js +2 -1
- package/dist/pwa/routes/url-claim.js +2 -2
- package/dist/pwa/routes/users-public.js +8 -0
- package/dist/pwa/routes/wallet-read.js +3 -0
- package/dist/pwa/routes/webauthn.js +7 -2
- package/dist/pwa/server-schema.js +9 -0
- package/dist/pwa/server.js +261 -1706
- package/dist/runtime/agent-grant-scopes.js +128 -0
- package/dist/runtime/agent-grant-verifier.js +67 -0
- package/dist/runtime/agent-pairing.js +60 -0
- package/dist/runtime/apply-webaz-runtime-schema.js +15 -0
- package/dist/runtime/webaz-schema-helpers.js +1952 -0
- package/dist/store-verification.js +77 -0
- package/dist/version.js +1 -1
- package/package.json +80 -2
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export const MAX_URL_LEN = 2048;
|
|
2
|
+
export const MAX_PLATFORM_LEN = 60;
|
|
3
|
+
export const MAX_NOTES_LEN = 500;
|
|
4
|
+
const ACTIVE = "('issued','submitted','verified')";
|
|
5
|
+
const getActive = (db, userId) => db.prepare(`SELECT * FROM store_verifications WHERE user_id = ? AND status IN ${ACTIVE} ORDER BY created_at DESC, rowid DESC LIMIT 1`).get(userId);
|
|
6
|
+
function isStorableHttpUrl(url) {
|
|
7
|
+
if (typeof url !== 'string' || url.length === 0 || url.length > MAX_URL_LEN)
|
|
8
|
+
return false;
|
|
9
|
+
return /^https?:\/\/[^\s]+$/i.test(url.trim());
|
|
10
|
+
}
|
|
11
|
+
/** 卖家申请店铺认证 → issued(签发 code)。单一活跃 per seller。 */
|
|
12
|
+
export function requestStoreVerification(db, args) {
|
|
13
|
+
const { id, userId, code } = args;
|
|
14
|
+
if (!id || !userId || !code)
|
|
15
|
+
return { ok: false, reason: 'missing id/userId/code' };
|
|
16
|
+
const platform = args.platform ? String(args.platform).trim().slice(0, MAX_PLATFORM_LEN) : null;
|
|
17
|
+
if (getActive(db, userId))
|
|
18
|
+
return { ok: false, reason: '已有进行中的店铺认证' };
|
|
19
|
+
db.prepare(`INSERT INTO store_verifications (id, user_id, code, platform, status, created_at, updated_at)
|
|
20
|
+
VALUES (?,?,?,?, 'issued', datetime('now'), datetime('now'))`).run(id, userId, code, platform);
|
|
21
|
+
return { ok: true, status: 'issued', code };
|
|
22
|
+
}
|
|
23
|
+
/** 卖家提交店铺外链 → submitted。要求有 issued 记录;链接仅存储(不抓取)。 */
|
|
24
|
+
export function submitStoreVerificationLink(db, args) {
|
|
25
|
+
const url = String(args.externalUrl || '').trim();
|
|
26
|
+
if (!isStorableHttpUrl(url))
|
|
27
|
+
return { ok: false, reason: '请提交有效的 http(s) 店铺链接' };
|
|
28
|
+
const active = getActive(db, args.userId);
|
|
29
|
+
if (!active)
|
|
30
|
+
return { ok: false, reason: '请先申请店铺认证获取验证码' };
|
|
31
|
+
if (active.status === 'verified')
|
|
32
|
+
return { ok: false, reason: '店铺认证已通过,无需重复提交' };
|
|
33
|
+
const platform = args.platform != null ? String(args.platform).trim().slice(0, MAX_PLATFORM_LEN) : active.platform;
|
|
34
|
+
db.prepare(`UPDATE store_verifications SET external_url = ?, platform = ?, status = 'submitted', updated_at = datetime('now') WHERE id = ?`).run(url, platform, active.id);
|
|
35
|
+
return { ok: true, status: 'submitted' };
|
|
36
|
+
}
|
|
37
|
+
/** 真人 admin 核对结论 → verified | rejected。verified 时按 perProductExempt 置豁免位(默认 false)。仅从 submitted 流转。 */
|
|
38
|
+
export function reviewStoreVerification(db, args) {
|
|
39
|
+
const { id, reviewerId, decision } = args;
|
|
40
|
+
if (!reviewerId)
|
|
41
|
+
return { ok: false, reason: 'reviewStoreVerification requires a human reviewerId' };
|
|
42
|
+
if (decision !== 'verified' && decision !== 'rejected')
|
|
43
|
+
return { ok: false, reason: 'decision must be verified|rejected' };
|
|
44
|
+
const row = db.prepare('SELECT * FROM store_verifications WHERE id = ?').get(id);
|
|
45
|
+
if (!row)
|
|
46
|
+
return { ok: false, reason: 'store verification not found' };
|
|
47
|
+
if (row.status === decision)
|
|
48
|
+
return { ok: true, status: decision, perProductExempt: row.per_product_exempt === 1, already: true };
|
|
49
|
+
if (row.status !== 'submitted')
|
|
50
|
+
return { ok: false, reason: `cannot review from status '${row.status}' (need submitted)` };
|
|
51
|
+
const exempt = decision === 'verified' && args.perProductExempt === true ? 1 : 0; // 仅 verified 才可置豁免;reject 一律 0
|
|
52
|
+
const notes = args.notes != null ? String(args.notes).slice(0, MAX_NOTES_LEN) : null;
|
|
53
|
+
db.prepare(`UPDATE store_verifications SET status = ?, per_product_exempt = ?, reviewed_by = ?, reviewed_at = datetime('now'), notes = ?, updated_at = datetime('now') WHERE id = ?`)
|
|
54
|
+
.run(decision, exempt, reviewerId, notes, id);
|
|
55
|
+
return { ok: true, status: decision, perProductExempt: exempt === 1 };
|
|
56
|
+
}
|
|
57
|
+
/** 卖家本人最新一条店铺认证(任意状态)。无 → null。 */
|
|
58
|
+
export function getStoreVerification(db, userId) {
|
|
59
|
+
return db.prepare('SELECT * FROM store_verifications WHERE user_id = ? ORDER BY created_at DESC, rowid DESC LIMIT 1').get(userId) ?? null;
|
|
60
|
+
}
|
|
61
|
+
/** admin 队列:按 status 过滤(默认全部),最新在前。纯读。 */
|
|
62
|
+
export function listStoreVerifications(db, opts = {}) {
|
|
63
|
+
if (opts.status)
|
|
64
|
+
return db.prepare(`SELECT * FROM store_verifications WHERE status = ? ORDER BY created_at DESC, rowid DESC`).all(opts.status);
|
|
65
|
+
return db.prepare(`SELECT * FROM store_verifications ORDER BY created_at DESC, rowid DESC`).all();
|
|
66
|
+
}
|
|
67
|
+
/** 硬门豁免读取:该卖家是否【已被豁免逐品验证】(店铺 verified 且 per_product_exempt=1)。供 direct-pay gate combiner。 */
|
|
68
|
+
export function sellerExemptFromPerProduct(db, userId) {
|
|
69
|
+
return !!db.prepare("SELECT 1 FROM store_verifications WHERE user_id = ? AND status = 'verified' AND per_product_exempt = 1 LIMIT 1").get(userId);
|
|
70
|
+
}
|
|
71
|
+
export function toSellerStoreVerificationView(row) {
|
|
72
|
+
return {
|
|
73
|
+
id: row.id, code: row.code, platform: row.platform, external_url: row.external_url,
|
|
74
|
+
status: row.status, per_product_exempt: row.per_product_exempt === 1,
|
|
75
|
+
reviewed_at: row.reviewed_at, created_at: row.created_at, updated_at: row.updated_at,
|
|
76
|
+
}; // 故意省略 reviewed_by + notes
|
|
77
|
+
}
|
package/dist/version.js
CHANGED
|
@@ -31,4 +31,4 @@ export const SOFTWARE_VERSION = pkg.version;
|
|
|
31
31
|
* safe for agents to ignore. Guarded by tests/test-contract-fingerprint.ts + docs/CONTRACT-LOCK.json.
|
|
32
32
|
* NB: the fingerprint hashes only §②/§① content; a change to the §④ entry document (e.g. agent_quickstart)
|
|
33
33
|
* is integrator-observable but NOT fingerprinted, so it must be registered here by hand. */
|
|
34
|
-
export const CONTRACT_VERSION =
|
|
34
|
+
export const CONTRACT_VERSION = 8;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seasonkoh/webaz",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.29",
|
|
4
4
|
"description": "[PRE-LAUNCH] Agent-native decentralized commerce protocol. Humans and AI agents trade on the same protocol via MCP tools. ⚠️ Repository currently private until W8 public launch — GitHub links may return 404. See https://webaz.xyz for status.",
|
|
5
5
|
"main": "dist/mcp.js",
|
|
6
6
|
"bin": {
|
|
@@ -25,6 +25,9 @@
|
|
|
25
25
|
"pwa": "tsx src/pwa/server.ts",
|
|
26
26
|
"schema:verify": "tsx scripts/schema-verify.ts",
|
|
27
27
|
"routes:seam-check": "tsx scripts/routes-seam-guard.ts",
|
|
28
|
+
"guard:complexity": "tsx scripts/complexity-ratchet-guard.ts",
|
|
29
|
+
"guard:pr-constraints": "tsx scripts/pr-constraints-guard.ts",
|
|
30
|
+
"guard:direct-pay-deposit": "tsx scripts/direct-pay-deposit-guard.ts",
|
|
28
31
|
"pg:schema": "tsx scripts/gen-pg-schema.ts",
|
|
29
32
|
"pg:verify": "tsx scripts/pg-schema-verify.ts",
|
|
30
33
|
"test:pg-placeholders": "tsx scripts/test-pg-placeholders.ts",
|
|
@@ -47,6 +50,7 @@
|
|
|
47
50
|
"test:admin-claim-marking-correction": "tsx scripts/test-admin-claim-marking-correction.ts",
|
|
48
51
|
"test:contribution-facts-read": "tsx scripts/test-contribution-facts-read.ts",
|
|
49
52
|
"ingest:admin-coordination": "tsx scripts/ingest-admin-coordination.ts",
|
|
53
|
+
"direct-pay:readiness": "tsx scripts/direct-pay-launch-readiness-report.ts",
|
|
50
54
|
"correct:operator-claim-marking": "tsx scripts/correct-operator-claim-marking.ts",
|
|
51
55
|
"test:admin-operator-claim-workflow": "tsx scripts/test-admin-operator-claim-workflow.ts",
|
|
52
56
|
"test:admin-operator-claim-lifecycle": "tsx scripts/test-admin-operator-claim-lifecycle.ts",
|
|
@@ -75,13 +79,87 @@
|
|
|
75
79
|
"test:task-proposals": "tsx scripts/test-task-proposals.ts",
|
|
76
80
|
"test:public-contribution-pages": "tsx scripts/test-public-contribution-pages.ts",
|
|
77
81
|
"test:mcp-contribute": "tsx scripts/test-mcp-contribute.ts",
|
|
82
|
+
"test:mcp-fresh-db-schema": "tsx scripts/test-mcp-fresh-db-schema.ts",
|
|
83
|
+
"test:agent-delegation-grants": "tsx scripts/test-agent-delegation-grants.ts",
|
|
84
|
+
"test:agent-pairing": "tsx scripts/test-agent-pairing.ts",
|
|
85
|
+
"test:agent-grant-verify": "tsx scripts/test-agent-grant-verify.ts",
|
|
86
|
+
"test:agent-grant-mcp-consume": "tsx scripts/test-agent-grant-mcp-consume.ts",
|
|
87
|
+
"test:connected-agents-read": "tsx scripts/test-connected-agents-read.ts",
|
|
88
|
+
"test:connected-agents-ui": "tsx scripts/test-connected-agents-ui.ts",
|
|
89
|
+
"test:leaderboard-anon-projection": "tsx scripts/test-leaderboard-anon-projection.ts",
|
|
90
|
+
"test:i18n-default-language": "tsx scripts/test-i18n-default-language.ts",
|
|
91
|
+
"test:reputation-handle-resolution": "tsx scripts/test-reputation-handle-resolution.ts",
|
|
92
|
+
"test:clearing-escrow-schema": "tsx scripts/test-clearing-escrow-schema.ts",
|
|
93
|
+
"test:clearing-commission": "tsx scripts/test-clearing-commission.ts",
|
|
94
|
+
"test:clearing-surfaces": "tsx scripts/test-clearing-surfaces.ts",
|
|
95
|
+
"test:returns-aware-counts": "tsx scripts/test-returns-aware-counts.ts",
|
|
78
96
|
"test:mcp-auth-firebreak": "tsx scripts/test-mcp-auth-firebreak.ts",
|
|
97
|
+
"test:mcp-mode-honesty": "tsx scripts/test-mcp-mode-honesty.ts",
|
|
98
|
+
"test:mcp-cli": "tsx scripts/test-mcp-cli.ts",
|
|
99
|
+
"test:currency-display": "tsx scripts/test-currency-display.ts",
|
|
100
|
+
"test:currency-schema-flip": "tsx scripts/test-currency-schema-flip.ts",
|
|
79
101
|
"test:proposal-admin-ui": "tsx scripts/test-proposal-admin-ui.ts",
|
|
80
|
-
"check:pwa-syntax": "node --check src/pwa/public/app.js && node --check src/pwa/public/i18n.js && node --check src/pwa/public/sw.js",
|
|
102
|
+
"check:pwa-syntax": "node --check src/pwa/public/app.js && node --check src/pwa/public/app-admin.js && node --check src/pwa/public/app-contribution.js && node --check src/pwa/public/app-ai.js && node --check src/pwa/public/app-discover.js && node --check src/pwa/public/app-profile.js && node --check src/pwa/public/app-account.js && node --check src/pwa/public/app-shop.js && node --check src/pwa/public/app-listings.js && node --check src/pwa/public/app-external-links.js && node --check src/pwa/public/app-product-media.js && node --check src/pwa/public/app-create-kinds.js && node --check src/pwa/public/app-price.js && node --check src/pwa/public/app-seller.js && node --check src/pwa/public/app-agents.js && node --check src/pwa/public/app-direct-pay.js && node --check src/pwa/public/app-direct-pay-readiness.js && node --check src/pwa/public/app-direct-pay-deferral.js && node --check src/pwa/public/app-direct-pay-deferral-admin.js && node --check src/pwa/public/app-direct-pay-product-verify.js && node --check src/pwa/public/app-direct-pay-store-verify.js && node --check src/pwa/public/app-direct-pay-compliance.js && node --check src/pwa/public/app-direct-pay-fee-ops.js && node --check src/pwa/public/app-direct-pay-fee-center.js && node --check src/pwa/public/app-direct-pay-accounts.js && node --check src/pwa/public/app-direct-pay-buyer.js && node --check src/pwa/public/app-prelaunch-waz.js && node --check src/pwa/public/app-chat-poll.js && node --check src/pwa/public/i18n.js && node --check src/pwa/public/sw.js",
|
|
103
|
+
"test:create-kinds": "tsx scripts/test-create-kinds.ts",
|
|
104
|
+
"test:secondhand-photo-authenticity": "tsx scripts/test-secondhand-photo-authenticity.ts",
|
|
105
|
+
"test:secondhand-detail-alignment": "tsx scripts/test-secondhand-detail-alignment.ts",
|
|
106
|
+
"test:order-status-timeline-i18n": "tsx scripts/test-order-status-timeline-i18n.ts",
|
|
107
|
+
"test:leaderboard-nav-handle": "tsx scripts/test-leaderboard-nav-handle.ts",
|
|
108
|
+
"test:fx-rates": "tsx scripts/test-fx-rates.ts",
|
|
109
|
+
"test:fx-price-display": "tsx scripts/test-fx-price-display.ts",
|
|
110
|
+
"test:fx-price-buypage": "tsx scripts/test-fx-price-buypage.ts",
|
|
111
|
+
"test:fx-price-listings": "tsx scripts/test-fx-price-listings.ts",
|
|
112
|
+
"test:fx-price-seller-ui": "tsx scripts/test-fx-price-seller-ui.ts",
|
|
113
|
+
"test:prelaunch-banner-nav": "tsx scripts/test-prelaunch-banner-nav.ts",
|
|
81
114
|
"test:rewards-vs-contribution-copy": "tsx scripts/test-rewards-vs-contribution-copy.ts",
|
|
82
115
|
"test:invite-code-narrowing": "tsx scripts/test-invite-code-narrowing.ts",
|
|
83
116
|
"test:shop-referral-attribution": "tsx scripts/test-shop-referral-attribution.ts",
|
|
84
117
|
"test:money-units": "tsx scripts/test-money-units.ts",
|
|
118
|
+
"test:direct-pay-ledger": "tsx scripts/test-direct-pay-ledger.ts",
|
|
119
|
+
"test:deposit-rails": "tsx scripts/test-deposit-rails.ts",
|
|
120
|
+
"test:direct-pay-timeouts": "tsx scripts/test-direct-pay-timeouts.ts",
|
|
121
|
+
"test:direct-pay-actions": "tsx scripts/test-direct-pay-actions.ts",
|
|
122
|
+
"test:direct-pay-eligibility": "tsx scripts/test-direct-pay-eligibility.ts",
|
|
123
|
+
"test:direct-receive-deposits": "tsx scripts/test-direct-receive-deposits.ts",
|
|
124
|
+
"test:direct-receive-accounts": "tsx scripts/test-direct-receive-accounts.ts",
|
|
125
|
+
"test:direct-receive-account-endpoints": "tsx scripts/test-direct-receive-account-endpoints.ts",
|
|
126
|
+
"test:direct-pay-order-qr": "tsx scripts/test-direct-pay-order-qr.ts",
|
|
127
|
+
"test:direct-pay-order-redaction": "tsx scripts/test-direct-pay-order-redaction.ts",
|
|
128
|
+
"guard:direct-pay-order-reader": "tsx scripts/direct-pay-order-reader-guard.ts",
|
|
129
|
+
"test:direct-receive-instruction": "tsx scripts/test-direct-receive-instruction.ts",
|
|
130
|
+
"test:direct-receive-production-confirm": "tsx scripts/test-direct-receive-production-confirm.ts",
|
|
131
|
+
"test:direct-receive-deferral": "tsx scripts/test-direct-receive-deferral.ts",
|
|
132
|
+
"test:direct-pay-base-bond-entry": "tsx scripts/test-direct-pay-base-bond-entry.ts",
|
|
133
|
+
"test:direct-pay-order-snapshot-schema": "tsx scripts/test-direct-pay-order-snapshot-schema.ts",
|
|
134
|
+
"test:direct-pay-ui": "tsx scripts/test-direct-pay-ui.ts",
|
|
135
|
+
"test:i18n-labels": "tsx scripts/test-i18n-discover-dispute-labels.ts",
|
|
136
|
+
"test:listing-product-type": "tsx scripts/test-listing-product-type.ts",
|
|
137
|
+
"test:external-links": "tsx scripts/test-product-external-links.ts",
|
|
138
|
+
"test:thumb-endpoint": "tsx scripts/test-product-thumb-endpoint.ts",
|
|
139
|
+
"test:list-thumbnails": "tsx scripts/test-list-thumbnails.ts",
|
|
140
|
+
"check:i18n-dup": "tsx scripts/check-i18n-no-dup-keys.ts",
|
|
141
|
+
"test:i18n-dup-gate": "tsx scripts/test-i18n-dup-gate.ts",
|
|
142
|
+
"test:merchant-bond": "tsx scripts/test-merchant-bond-domain.ts",
|
|
143
|
+
"test:merchant-bond-exposure": "tsx scripts/test-merchant-bond-exposure.ts",
|
|
144
|
+
"test:direct-pay-fee-ar": "tsx scripts/test-direct-pay-fee-ar.ts",
|
|
145
|
+
"test:direct-pay-disclosure-acks": "tsx scripts/test-direct-pay-disclosure-acks.ts",
|
|
146
|
+
"test:direct-pay-create": "tsx scripts/test-direct-pay-create.ts",
|
|
147
|
+
"test:direct-pay-deferral-quota": "tsx scripts/test-direct-pay-deferral-quota.ts",
|
|
148
|
+
"test:product-verification": "tsx scripts/test-product-verification.ts",
|
|
149
|
+
"test:product-verification-routes": "tsx scripts/test-product-verification-routes.ts",
|
|
150
|
+
"test:store-verification": "tsx scripts/test-store-verification.ts",
|
|
151
|
+
"test:store-verification-routes": "tsx scripts/test-store-verification-routes.ts",
|
|
152
|
+
"test:direct-pay-launch-summary": "tsx scripts/test-direct-pay-launch-summary.ts",
|
|
153
|
+
"test:product-verification-reverify": "tsx scripts/test-product-verification-reverify.ts",
|
|
154
|
+
"test:direct-pay-controls": "tsx scripts/test-direct-pay-controls.ts",
|
|
155
|
+
"test:direct-pay-aml-monitor": "tsx scripts/test-direct-pay-aml-monitor.ts",
|
|
156
|
+
"test:direct-pay-aml-review": "tsx scripts/test-direct-pay-aml-review.ts",
|
|
157
|
+
"test:direct-pay-compliance-ingress": "tsx scripts/test-direct-pay-compliance-ingress.ts",
|
|
158
|
+
"test:direct-pay-bond-rail-clearance": "tsx scripts/test-direct-pay-bond-rail-clearance.ts",
|
|
159
|
+
"test:direct-pay-launch-readiness": "tsx scripts/test-direct-pay-launch-readiness.ts",
|
|
160
|
+
"test:direct-pay-readiness-routes": "tsx scripts/test-direct-pay-readiness-routes.ts",
|
|
161
|
+
"test:direct-pay-deferral-routes": "tsx scripts/test-direct-pay-deferral-routes.ts",
|
|
162
|
+
"test:direct-pay-disclosures": "tsx scripts/test-direct-pay-disclosures.ts",
|
|
85
163
|
"test:identity-claim-ui": "tsx scripts/test-identity-claim-ui.ts",
|
|
86
164
|
"test:identity-claim-discovery": "tsx scripts/test-identity-claim-discovery.ts",
|
|
87
165
|
"test:operator-ingest-guards": "tsx scripts/test-operator-ingest-guards.ts",
|