@seasonkoh/webaz 0.1.28 → 0.1.30
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 +3 -2
- package/README.zh-CN.md +7 -6
- package/dist/bond-refund-blockers.js +50 -0
- package/dist/bond-slash.js +100 -0
- package/dist/bond-terms.js +31 -0
- 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 +99 -0
- package/dist/direct-pay-cancel-refund.js +160 -0
- package/dist/direct-pay-compliance-ingress.js +145 -0
- package/dist/direct-pay-controls.js +136 -0
- package/dist/direct-pay-create.js +231 -0
- package/dist/direct-pay-deferral-quota.js +43 -0
- package/dist/direct-pay-disclosures.js +50 -0
- package/dist/direct-pay-eligibility.js +46 -0
- package/dist/direct-pay-fee-ar.js +241 -0
- package/dist/direct-pay-fee-prepay-request.js +80 -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-pay-returns.js +104 -0
- package/dist/direct-pay-stock.js +9 -0
- package/dist/direct-receive-account-qr.js +77 -0
- package/dist/direct-receive-accounts.js +82 -0
- package/dist/direct-receive-deferral.js +171 -0
- package/dist/direct-receive-deposits.js +365 -0
- package/dist/direct-receive-payment-instruction.js +26 -0
- package/dist/free-shipping.js +37 -0
- package/dist/fx-rates.js +78 -0
- package/dist/layer0-foundation/L0-1-database/schema.js +777 -1
- package/dist/layer0-foundation/L0-2-state-machine/engine.js +1 -0
- package/dist/layer0-foundation/L0-2-state-machine/genuine-sale.js +15 -5
- package/dist/layer0-foundation/L0-2-state-machine/transitions.js +114 -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 +11 -0
- package/dist/layer1-agent/L1-1-mcp-server/server.js +99 -32
- package/dist/layer2-business/L2-6-notifications/notification-engine.js +110 -41
- package/dist/layer3-trust/L3-1-dispute-engine/dispute-engine.js +133 -31
- package/dist/layer3-trust/L3-1-dispute-engine/evidence-storage.js +16 -4
- package/dist/layer3-trust/L3-1-dispute-engine/mutual-cancel.js +156 -0
- 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/platform-receive-accounts.js +94 -0
- package/dist/product-verification.js +93 -0
- package/dist/pwa/acp-feed.js +3 -2
- package/dist/pwa/arbitration-read-admin.js +37 -0
- package/dist/pwa/arbitrator-lifecycle.js +100 -0
- package/dist/pwa/contract-fingerprint.js +18 -0
- package/dist/pwa/direct-pay-guards.js +20 -0
- package/dist/pwa/direct-pay-order-redaction.js +42 -0
- package/dist/pwa/endpoint-actions.js +3 -0
- package/dist/pwa/human-presence.js +2 -6
- package/dist/pwa/public/app-account.js +9 -9
- package/dist/pwa/public/app-admin-disputes.js +55 -0
- package/dist/pwa/public/app-agent-appeal.js +90 -0
- package/dist/pwa/public/app-agent-approvals.js +93 -0
- package/dist/pwa/public/app-agent-pair.js +127 -0
- package/dist/pwa/public/app-ai.js +10 -10
- package/dist/pwa/public/app-arbitrator-admin.js +87 -0
- package/dist/pwa/public/app-arbitrator-entry.js +9 -0
- package/dist/pwa/public/app-bond-deferral-ui.js +9 -0
- package/dist/pwa/public/app-bond-refund-ui.js +66 -0
- package/dist/pwa/public/app-bond-slash-ui.js +74 -0
- package/dist/pwa/public/app-bond-terms-ui.js +23 -0
- package/dist/pwa/public/app-bond-ui.js +108 -0
- package/dist/pwa/public/app-chat-poll.js +29 -0
- package/dist/pwa/public/app-contribution-hub.js +23 -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-cancel-refund.js +72 -0
- package/dist/pwa/public/app-direct-pay-compliance.js +67 -0
- package/dist/pwa/public/app-direct-pay-copy.js +12 -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-history.js +39 -0
- package/dist/pwa/public/app-direct-pay-fee-ops.js +112 -0
- package/dist/pwa/public/app-direct-pay-fee-request.js +81 -0
- package/dist/pwa/public/app-direct-pay-fee-requests-admin.js +70 -0
- package/dist/pwa/public/app-direct-pay-memo.js +14 -0
- package/dist/pwa/public/app-direct-pay-negotiation.js +35 -0
- package/dist/pwa/public/app-direct-pay-pay.js +15 -0
- package/dist/pwa/public/app-direct-pay-paymodal.js +32 -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-reconcile.js +19 -0
- package/dist/pwa/public/app-direct-pay-returns.js +56 -0
- package/dist/pwa/public/app-direct-pay-reveal.js +82 -0
- package/dist/pwa/public/app-direct-pay-sales-report.js +70 -0
- package/dist/pwa/public/app-direct-pay-store-verify.js +100 -0
- package/dist/pwa/public/app-direct-pay.js +226 -0
- package/dist/pwa/public/app-discover.js +20 -20
- package/dist/pwa/public/app-dispute-close-ui.js +38 -0
- package/dist/pwa/public/app-external-links.js +32 -0
- package/dist/pwa/public/app-free-shipping-ui.js +29 -0
- package/dist/pwa/public/app-gmv-rail-split.js +12 -0
- package/dist/pwa/public/app-listing-commerce-ui.js +72 -0
- package/dist/pwa/public/app-listings.js +4 -4
- package/dist/pwa/public/app-mutual-cancel.js +54 -0
- package/dist/pwa/public/app-notif-templates-orders.js +43 -0
- package/dist/pwa/public/app-notif-templates.js +22 -0
- package/dist/pwa/public/app-order-accept-ui.js +158 -0
- package/dist/pwa/public/app-order-errors.js +50 -0
- package/dist/pwa/public/app-order-labels.js +19 -0
- package/dist/pwa/public/app-order-rail-filter.js +26 -0
- package/dist/pwa/public/app-platform-receive-accounts.js +140 -0
- package/dist/pwa/public/app-poll-governor.js +22 -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 +10 -10
- package/dist/pwa/public/app-purchase-terms-ui.js +68 -0
- package/dist/pwa/public/app-sale-regions-ui.js +38 -0
- package/dist/pwa/public/app-seller.js +5 -5
- package/dist/pwa/public/app-shop.js +19 -19
- package/dist/pwa/public/app-trade-tax-ui.js +33 -0
- package/dist/pwa/public/app.js +264 -295
- package/dist/pwa/public/i18n.js +1068 -197
- package/dist/pwa/public/index.html +58 -0
- package/dist/pwa/public/openapi.json +1845 -653
- package/dist/pwa/public/style.css +3 -0
- package/dist/pwa/routes/admin-analytics.js +4 -2
- package/dist/pwa/routes/admin-direct-receive-deposits.js +533 -0
- package/dist/pwa/routes/admin-protocol-params.js +16 -0
- package/dist/pwa/routes/admin-reports.js +31 -5
- package/dist/pwa/routes/agent-governance.js +1 -1
- package/dist/pwa/routes/agent-grants.js +253 -32
- package/dist/pwa/routes/analytics.js +2 -0
- package/dist/pwa/routes/arbitrator.js +67 -14
- package/dist/pwa/routes/bond-seller.js +162 -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-cancel-refund.js +111 -0
- package/dist/pwa/routes/direct-pay-disclosure-acks.js +79 -0
- package/dist/pwa/routes/direct-pay-pending-accept.js +222 -0
- package/dist/pwa/routes/direct-pay-returns.js +74 -0
- package/dist/pwa/routes/direct-pay-timeouts.js +248 -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/disputes-read.js +20 -6
- package/dist/pwa/routes/disputes-write.js +91 -33
- package/dist/pwa/routes/external-anchors.js +4 -2
- package/dist/pwa/routes/fee-prepay-requests.js +66 -0
- package/dist/pwa/routes/fx.js +12 -0
- package/dist/pwa/routes/governance-onboarding.js +46 -8
- package/dist/pwa/routes/leaderboard.js +47 -9
- package/dist/pwa/routes/listings.js +2 -2
- package/dist/pwa/routes/logistics.js +6 -2
- package/dist/pwa/routes/manifests.js +38 -0
- package/dist/pwa/routes/me-data.js +5 -2
- package/dist/pwa/routes/mutual-cancel.js +62 -0
- package/dist/pwa/routes/orders-action.js +297 -16
- package/dist/pwa/routes/orders-create.js +21 -6
- package/dist/pwa/routes/orders-read.js +106 -8
- package/dist/pwa/routes/p2p-products.js +2 -2
- package/dist/pwa/routes/platform-receive-accounts.js +111 -0
- package/dist/pwa/routes/products-create.js +15 -4
- 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 +37 -3
- package/dist/pwa/routes/profile-identity.js +4 -2
- package/dist/pwa/routes/promoter.js +3 -0
- package/dist/pwa/routes/referral.js +4 -0
- package/dist/pwa/routes/returns.js +60 -4
- 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/seller-directpay-report.js +110 -0
- package/dist/pwa/routes/seller-quota.js +5 -1
- package/dist/pwa/routes/shipping-templates.js +219 -0
- package/dist/pwa/routes/shops.js +2 -1
- package/dist/pwa/routes/snf.js +4 -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 +3 -3
- package/dist/pwa/server.js +112 -132
- package/dist/runtime/agent-grant-scopes.js +69 -1
- package/dist/runtime/webaz-schema-helpers.js +161 -3
- package/dist/sale-regions.js +116 -0
- package/dist/shipping-templates.js +119 -0
- package/dist/store-verification.js +77 -0
- package/dist/trade-tax.js +99 -0
- package/dist/trade-terms.js +76 -0
- package/dist/version.js +1 -1
- package/package.json +128 -2
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/** 组装快照(读商品行 + 店铺兜底;shipping 由建单 gate 结果传入 —— 不重算,记录裁决结果)。 */
|
|
2
|
+
export function buildTradeTermsSnapshot(db, args) {
|
|
3
|
+
// fail-soft 读:缺列(裸测试库/schema 漂移)→ 降级为空槽快照,绝不让证据采集炸掉建单
|
|
4
|
+
let p;
|
|
5
|
+
let u;
|
|
6
|
+
try {
|
|
7
|
+
p = db.prepare(`SELECT handling_hours, estimated_days, return_days, return_condition, warranty_days,
|
|
8
|
+
weight_kg, package_size, origin_country, country_of_origin, customs_description, hs_code,
|
|
9
|
+
ship_regions, sale_regions, tax_lines, import_duty_terms FROM products WHERE id = ?`).get(args.productId);
|
|
10
|
+
u = db.prepare('SELECT store_sale_regions, store_tax_lines, store_import_duty_terms FROM users WHERE id = ?')
|
|
11
|
+
.get(args.sellerId);
|
|
12
|
+
}
|
|
13
|
+
catch { /* 空槽降级 */ }
|
|
14
|
+
const parse = (x) => { if (typeof x !== 'string' || !x)
|
|
15
|
+
return null; try {
|
|
16
|
+
return JSON.parse(x);
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return null;
|
|
20
|
+
} };
|
|
21
|
+
const numOrNull = (x) => (x === null || x === undefined || x === '' ? null : Number(x));
|
|
22
|
+
const strOrNull = (x) => (typeof x === 'string' && x !== '' ? x : null);
|
|
23
|
+
const duty = strOrNull(p?.import_duty_terms) ?? strOrNull(u?.store_import_duty_terms);
|
|
24
|
+
return {
|
|
25
|
+
v: 1,
|
|
26
|
+
captured_at: new Date().toISOString(),
|
|
27
|
+
shipping: { source: args.shipping.source, region: args.shipping.region, fee: args.shipping.fee, est_days: args.shipping.estDays, ...(args.shipping.freeThresholdApplied ? { free_threshold_applied: true } : {}) },
|
|
28
|
+
fulfilment: {
|
|
29
|
+
handling_hours: numOrNull(p?.handling_hours), estimated_days: strOrNull(p?.estimated_days),
|
|
30
|
+
return_days: numOrNull(p?.return_days), return_condition: strOrNull(p?.return_condition), warranty_days: numOrNull(p?.warranty_days),
|
|
31
|
+
},
|
|
32
|
+
logistics: {
|
|
33
|
+
weight_kg: numOrNull(p?.weight_kg), package_size: strOrNull(p?.package_size),
|
|
34
|
+
origin_country: strOrNull(p?.origin_country), country_of_origin: strOrNull(p?.country_of_origin),
|
|
35
|
+
customs_description: strOrNull(p?.customs_description), hs_code: strOrNull(p?.hs_code),
|
|
36
|
+
},
|
|
37
|
+
declarations: {
|
|
38
|
+
ship_regions_text: strOrNull(p?.ship_regions),
|
|
39
|
+
sale_regions_rule: parse(p?.sale_regions) ?? parse(u?.store_sale_regions),
|
|
40
|
+
tax_lines: parse(p?.tax_lines) ?? parse(u?.store_tax_lines),
|
|
41
|
+
import_duty_terms: duty === 'ddu' || duty === 'ddp' ? duty : null,
|
|
42
|
+
},
|
|
43
|
+
accept_mode: args.acceptModeEffective,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/** 写快照(fail-soft:任何异常吞掉不阻断建单 —— 快照缺失=pre-S0 订单同待遇,消费方须容错)。 */
|
|
47
|
+
export function writeTradeTermsSnapshot(db, orderId, snap) {
|
|
48
|
+
try {
|
|
49
|
+
db.prepare('UPDATE orders SET trade_terms_snapshot = ? WHERE id = ?').run(JSON.stringify(snap), orderId);
|
|
50
|
+
}
|
|
51
|
+
catch { /* fail-soft */ }
|
|
52
|
+
}
|
|
53
|
+
/** 询价确认后补记运费裁决(quote_pending → quote;只动 shipping 槽,其余条款保持下单时冻结值)。 */
|
|
54
|
+
export function updateSnapshotShippingQuote(db, orderId, fee, estDays) {
|
|
55
|
+
try {
|
|
56
|
+
const row = db.prepare('SELECT trade_terms_snapshot FROM orders WHERE id = ?').get(orderId);
|
|
57
|
+
if (!row?.trade_terms_snapshot)
|
|
58
|
+
return;
|
|
59
|
+
const snap = JSON.parse(row.trade_terms_snapshot);
|
|
60
|
+
snap.shipping = { ...snap.shipping, source: 'quote', fee, est_days: estDays };
|
|
61
|
+
db.prepare('UPDATE orders SET trade_terms_snapshot = ? WHERE id = ?').run(JSON.stringify(snap), orderId);
|
|
62
|
+
}
|
|
63
|
+
catch { /* fail-soft */ }
|
|
64
|
+
}
|
|
65
|
+
/** parse-don't-validate 读取(DTO/争议消费方用;坏 JSON/缺失 → null)。 */
|
|
66
|
+
export function readTradeTermsSnapshot(raw) {
|
|
67
|
+
if (typeof raw !== 'string' || !raw)
|
|
68
|
+
return null;
|
|
69
|
+
try {
|
|
70
|
+
const s = JSON.parse(raw);
|
|
71
|
+
return s && s.v === 1 ? s : null;
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
}
|
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 = 23;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seasonkoh/webaz",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.30",
|
|
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": {
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"routes:seam-check": "tsx scripts/routes-seam-guard.ts",
|
|
28
28
|
"guard:complexity": "tsx scripts/complexity-ratchet-guard.ts",
|
|
29
29
|
"guard:pr-constraints": "tsx scripts/pr-constraints-guard.ts",
|
|
30
|
+
"guard:direct-pay-deposit": "tsx scripts/direct-pay-deposit-guard.ts",
|
|
30
31
|
"pg:schema": "tsx scripts/gen-pg-schema.ts",
|
|
31
32
|
"pg:verify": "tsx scripts/pg-schema-verify.ts",
|
|
32
33
|
"test:pg-placeholders": "tsx scripts/test-pg-placeholders.ts",
|
|
@@ -38,6 +39,7 @@
|
|
|
38
39
|
"meta-rules:check": "tsx scripts/meta-rules-invariant-check.ts",
|
|
39
40
|
"params:check": "tsx scripts/meta-rule-locked-params-check.ts",
|
|
40
41
|
"preflight": "tsx scripts/preflight.ts",
|
|
42
|
+
"preflight:push": "npm run check:api-docs-fresh && npm run contract:verify && npm run schema:verify && npm run pg:verify && npm run guard:complexity && npm run guard:pr-constraints && npm run routes:seam-check && npm run check:pwa-syntax && npm run build && echo '✅ preflight:push all green'",
|
|
41
43
|
"test:github-credential": "tsx scripts/test-github-credential.ts",
|
|
42
44
|
"test:github-fetch-adapter": "tsx scripts/test-github-fetch-adapter.ts",
|
|
43
45
|
"test:github-authenticated-read": "tsx scripts/test-github-authenticated-read.ts",
|
|
@@ -49,6 +51,7 @@
|
|
|
49
51
|
"test:admin-claim-marking-correction": "tsx scripts/test-admin-claim-marking-correction.ts",
|
|
50
52
|
"test:contribution-facts-read": "tsx scripts/test-contribution-facts-read.ts",
|
|
51
53
|
"ingest:admin-coordination": "tsx scripts/ingest-admin-coordination.ts",
|
|
54
|
+
"direct-pay:readiness": "tsx scripts/direct-pay-launch-readiness-report.ts",
|
|
52
55
|
"correct:operator-claim-marking": "tsx scripts/correct-operator-claim-marking.ts",
|
|
53
56
|
"test:admin-operator-claim-workflow": "tsx scripts/test-admin-operator-claim-workflow.ts",
|
|
54
57
|
"test:admin-operator-claim-lifecycle": "tsx scripts/test-admin-operator-claim-lifecycle.ts",
|
|
@@ -80,17 +83,126 @@
|
|
|
80
83
|
"test:mcp-fresh-db-schema": "tsx scripts/test-mcp-fresh-db-schema.ts",
|
|
81
84
|
"test:agent-delegation-grants": "tsx scripts/test-agent-delegation-grants.ts",
|
|
82
85
|
"test:agent-pairing": "tsx scripts/test-agent-pairing.ts",
|
|
86
|
+
"test:agent-pair-ui": "tsx scripts/test-agent-pair-ui.ts",
|
|
87
|
+
"test:agent-perm-taxonomy": "tsx scripts/test-agent-perm-taxonomy.ts",
|
|
88
|
+
"test:agent-permission-requests": "tsx scripts/test-agent-permission-requests.ts",
|
|
89
|
+
"test:agent-permission-consume": "tsx scripts/test-agent-permission-consume.ts",
|
|
90
|
+
"test:agent-approvals-ui": "tsx scripts/test-agent-approvals-ui.ts",
|
|
83
91
|
"test:agent-grant-verify": "tsx scripts/test-agent-grant-verify.ts",
|
|
84
92
|
"test:agent-grant-mcp-consume": "tsx scripts/test-agent-grant-mcp-consume.ts",
|
|
85
93
|
"test:connected-agents-read": "tsx scripts/test-connected-agents-read.ts",
|
|
86
94
|
"test:connected-agents-ui": "tsx scripts/test-connected-agents-ui.ts",
|
|
95
|
+
"test:leaderboard-anon-projection": "tsx scripts/test-leaderboard-anon-projection.ts",
|
|
96
|
+
"test:i18n-default-language": "tsx scripts/test-i18n-default-language.ts",
|
|
97
|
+
"test:reputation-handle-resolution": "tsx scripts/test-reputation-handle-resolution.ts",
|
|
98
|
+
"test:clearing-escrow-schema": "tsx scripts/test-clearing-escrow-schema.ts",
|
|
99
|
+
"test:clearing-commission": "tsx scripts/test-clearing-commission.ts",
|
|
100
|
+
"test:clearing-surfaces": "tsx scripts/test-clearing-surfaces.ts",
|
|
101
|
+
"test:returns-aware-counts": "tsx scripts/test-returns-aware-counts.ts",
|
|
87
102
|
"test:mcp-auth-firebreak": "tsx scripts/test-mcp-auth-firebreak.ts",
|
|
103
|
+
"test:mcp-mode-honesty": "tsx scripts/test-mcp-mode-honesty.ts",
|
|
104
|
+
"test:mcp-cli": "tsx scripts/test-mcp-cli.ts",
|
|
105
|
+
"test:currency-display": "tsx scripts/test-currency-display.ts",
|
|
106
|
+
"test:currency-schema-flip": "tsx scripts/test-currency-schema-flip.ts",
|
|
88
107
|
"test:proposal-admin-ui": "tsx scripts/test-proposal-admin-ui.ts",
|
|
89
|
-
"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-seller.js && node --check src/pwa/public/app-agents.js && node --check src/pwa/public/i18n.js && node --check src/pwa/public/sw.js",
|
|
108
|
+
"check:pwa-syntax": "node --check src/pwa/public/app-notif-templates.js && node --check src/pwa/public/app-notif-templates-orders.js && node --check src/pwa/public/app.js && node --check src/pwa/public/app-admin.js && node --check src/pwa/public/app-admin-disputes.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-order-labels.js && node --check src/pwa/public/app-seller.js && node --check src/pwa/public/app-agents.js && node --check src/pwa/public/app-agent-pair.js && node --check src/pwa/public/app-agent-approvals.js && node --check src/pwa/public/app-agent-appeal.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-sales-report.js && node --check src/pwa/public/app-gmv-rail-split.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-direct-pay-pay.js && node --check src/pwa/public/app-direct-pay-reveal.js && node --check src/pwa/public/app-direct-pay-copy.js && node --check src/pwa/public/app-direct-pay-paymodal.js && node --check src/pwa/public/app-direct-pay-memo.js && node --check src/pwa/public/app-direct-pay-negotiation.js && node --check src/pwa/public/app-direct-pay-cancel-refund.js && node --check src/pwa/public/app-direct-pay-returns.js && node --check src/pwa/public/app-order-accept-ui.js && node --check src/pwa/public/app-order-rail-filter.js && node --check src/pwa/public/app-sale-regions-ui.js && node --check src/pwa/public/app-free-shipping-ui.js && node --check src/pwa/public/app-trade-tax-ui.js && node --check src/pwa/public/app-purchase-terms-ui.js && node --check src/pwa/public/app-listing-commerce-ui.js && node --check src/pwa/public/app-bond-terms-ui.js && node --check src/pwa/public/app-bond-ui.js && node --check src/pwa/public/app-bond-refund-ui.js && node --check src/pwa/public/app-bond-slash-ui.js && node --check src/pwa/public/app-bond-deferral-ui.js && node --check src/pwa/public/app-direct-pay-reconcile.js && node --check src/pwa/public/app-mutual-cancel.js && node --check src/pwa/public/app-dispute-close-ui.js && node --check src/pwa/public/app-order-errors.js && node --check src/pwa/public/app-arbitrator-entry.js && node --check src/pwa/public/app-arbitrator-admin.js && node --check src/pwa/public/app-contribution-hub.js && node --check src/pwa/public/app-platform-receive-accounts.js && node --check src/pwa/public/app-direct-pay-fee-request.js && node --check src/pwa/public/app-direct-pay-fee-requests-admin.js && node --check src/pwa/public/app-direct-pay-fee-history.js && node --check src/pwa/public/app-prelaunch-waz.js && node --check src/pwa/public/app-chat-poll.js && node --check src/pwa/public/app-poll-governor.js && node --check src/pwa/public/i18n.js && node --check src/pwa/public/sw.js",
|
|
109
|
+
"test:create-kinds": "tsx scripts/test-create-kinds.ts",
|
|
110
|
+
"test:secondhand-photo-authenticity": "tsx scripts/test-secondhand-photo-authenticity.ts",
|
|
111
|
+
"test:secondhand-detail-alignment": "tsx scripts/test-secondhand-detail-alignment.ts",
|
|
112
|
+
"test:order-status-timeline-i18n": "tsx scripts/test-order-status-timeline-i18n.ts",
|
|
113
|
+
"test:leaderboard-nav-handle": "tsx scripts/test-leaderboard-nav-handle.ts",
|
|
114
|
+
"test:fx-rates": "tsx scripts/test-fx-rates.ts",
|
|
115
|
+
"test:fx-price-display": "tsx scripts/test-fx-price-display.ts",
|
|
116
|
+
"test:fx-price-buypage": "tsx scripts/test-fx-price-buypage.ts",
|
|
117
|
+
"test:fx-price-listings": "tsx scripts/test-fx-price-listings.ts",
|
|
118
|
+
"test:fx-price-seller-ui": "tsx scripts/test-fx-price-seller-ui.ts",
|
|
119
|
+
"test:prelaunch-banner-nav": "tsx scripts/test-prelaunch-banner-nav.ts",
|
|
90
120
|
"test:rewards-vs-contribution-copy": "tsx scripts/test-rewards-vs-contribution-copy.ts",
|
|
91
121
|
"test:invite-code-narrowing": "tsx scripts/test-invite-code-narrowing.ts",
|
|
92
122
|
"test:shop-referral-attribution": "tsx scripts/test-shop-referral-attribution.ts",
|
|
93
123
|
"test:money-units": "tsx scripts/test-money-units.ts",
|
|
124
|
+
"test:direct-pay-ledger": "tsx scripts/test-direct-pay-ledger.ts",
|
|
125
|
+
"test:deposit-rails": "tsx scripts/test-deposit-rails.ts",
|
|
126
|
+
"test:direct-pay-timeouts": "tsx scripts/test-direct-pay-timeouts.ts",
|
|
127
|
+
"test:direct-pay-actions": "tsx scripts/test-direct-pay-actions.ts",
|
|
128
|
+
"test:direct-pay-eligibility": "tsx scripts/test-direct-pay-eligibility.ts",
|
|
129
|
+
"test:direct-receive-deposits": "tsx scripts/test-direct-receive-deposits.ts",
|
|
130
|
+
"test:direct-receive-accounts": "tsx scripts/test-direct-receive-accounts.ts",
|
|
131
|
+
"test:direct-receive-account-endpoints": "tsx scripts/test-direct-receive-account-endpoints.ts",
|
|
132
|
+
"test:platform-receive-accounts": "tsx scripts/test-platform-receive-accounts.ts",
|
|
133
|
+
"test:fee-prepay-request": "tsx scripts/test-fee-prepay-request.ts",
|
|
134
|
+
"test:fee-prepay-review": "tsx scripts/test-fee-prepay-review.ts",
|
|
135
|
+
"test:direct-pay-order-qr": "tsx scripts/test-direct-pay-order-qr.ts",
|
|
136
|
+
"test:direct-pay-order-redaction": "tsx scripts/test-direct-pay-order-redaction.ts",
|
|
137
|
+
"guard:direct-pay-order-reader": "tsx scripts/direct-pay-order-reader-guard.ts",
|
|
138
|
+
"test:direct-receive-instruction": "tsx scripts/test-direct-receive-instruction.ts",
|
|
139
|
+
"test:direct-receive-production-confirm": "tsx scripts/test-direct-receive-production-confirm.ts",
|
|
140
|
+
"test:direct-receive-deferral": "tsx scripts/test-direct-receive-deferral.ts",
|
|
141
|
+
"test:direct-pay-base-bond-entry": "tsx scripts/test-direct-pay-base-bond-entry.ts",
|
|
142
|
+
"test:direct-pay-order-snapshot-schema": "tsx scripts/test-direct-pay-order-snapshot-schema.ts",
|
|
143
|
+
"test:direct-pay-ui": "tsx scripts/test-direct-pay-ui.ts",
|
|
144
|
+
"test:order-errors": "tsx scripts/test-order-errors.ts",
|
|
145
|
+
"test:fee-request-history": "tsx scripts/test-fee-request-history.ts",
|
|
146
|
+
"test:i18n-parity": "tsx scripts/test-i18n-parity.ts",
|
|
147
|
+
"test:arbitrator-lifecycle": "tsx scripts/test-arbitrator-lifecycle.ts",
|
|
148
|
+
"test:arbitrator-admin-routes": "tsx scripts/test-arbitrator-admin-routes.ts",
|
|
149
|
+
"test:arbitrate-human-presence": "tsx scripts/test-arbitrate-human-presence.ts",
|
|
150
|
+
"test:arbitrate-route-e2e": "tsx scripts/test-arbitrate-route-e2e.ts",
|
|
151
|
+
"test:dispute-dismiss-negotiation": "tsx scripts/test-dispute-dismiss-negotiation.ts",
|
|
152
|
+
"test:disputes-read-auth": "tsx scripts/test-disputes-read-auth.ts",
|
|
153
|
+
"test:admin-dispute-triage": "tsx scripts/test-admin-dispute-triage.ts",
|
|
154
|
+
"test:orders-read-arbitrator-view": "tsx scripts/test-orders-read-arbitrator-view.ts",
|
|
155
|
+
"test:orders-rail-filter": "tsx scripts/test-orders-rail-filter.ts",
|
|
156
|
+
"test:directpay-sales-report": "tsx scripts/test-directpay-sales-report.ts",
|
|
157
|
+
"test:dashboard-gmv-by-rail": "tsx scripts/test-dashboard-gmv-by-rail.ts",
|
|
158
|
+
"test:direct-pay-cancel-refund": "tsx scripts/test-direct-pay-cancel-refund.ts",
|
|
159
|
+
"test:direct-pay-returns": "tsx scripts/test-direct-pay-returns.ts",
|
|
160
|
+
"test:direct-pay-pending-accept": "tsx scripts/test-direct-pay-pending-accept.ts",
|
|
161
|
+
"test:shipping-templates": "tsx scripts/test-shipping-templates.ts",
|
|
162
|
+
"test:shipping-quote": "tsx scripts/test-shipping-quote.ts",
|
|
163
|
+
"test:order-accept-ui": "tsx scripts/test-order-accept-ui.ts",
|
|
164
|
+
"test:bond-deposit-flow": "tsx scripts/test-bond-deposit-flow.ts",
|
|
165
|
+
"test:bond-refund-flow": "tsx scripts/test-bond-refund-flow.ts",
|
|
166
|
+
"test:bond-slash-flow": "tsx scripts/test-bond-slash-flow.ts",
|
|
167
|
+
"test:bond-deferral-closure": "tsx scripts/test-bond-deferral-closure.ts",
|
|
168
|
+
"test:agent-strike-ui": "tsx scripts/test-agent-strike-ui.ts",
|
|
169
|
+
"test:notif-order-templates": "tsx scripts/test-notif-order-templates.ts",
|
|
170
|
+
"test:legacy-arbitrator-role-sweep": "tsx scripts/test-legacy-arbitrator-role-sweep.ts",
|
|
171
|
+
"test:arbitration-entry-frontend": "tsx scripts/test-arbitration-entry-frontend.ts",
|
|
172
|
+
"test:arbitrator-admin-ui": "tsx scripts/test-arbitrator-admin-ui.ts",
|
|
173
|
+
"test:webauthn-arbitrator-purposes": "tsx scripts/test-webauthn-arbitrator-purposes.ts",
|
|
174
|
+
"test:mutual-cancel": "tsx scripts/test-mutual-cancel.ts",
|
|
175
|
+
"test:mutual-cancel-route": "tsx scripts/test-mutual-cancel-route.ts",
|
|
176
|
+
"test:contribution-hub": "tsx scripts/test-contribution-hub.ts",
|
|
177
|
+
"test:evidence-active-recheck": "tsx scripts/test-evidence-active-recheck.ts",
|
|
178
|
+
"test:i18n-labels": "tsx scripts/test-i18n-discover-dispute-labels.ts",
|
|
179
|
+
"test:listing-product-type": "tsx scripts/test-listing-product-type.ts",
|
|
180
|
+
"test:external-links": "tsx scripts/test-product-external-links.ts",
|
|
181
|
+
"test:thumb-endpoint": "tsx scripts/test-product-thumb-endpoint.ts",
|
|
182
|
+
"test:list-thumbnails": "tsx scripts/test-list-thumbnails.ts",
|
|
183
|
+
"check:i18n-dup": "tsx scripts/check-i18n-no-dup-keys.ts",
|
|
184
|
+
"test:i18n-dup-gate": "tsx scripts/test-i18n-dup-gate.ts",
|
|
185
|
+
"test:merchant-bond": "tsx scripts/test-merchant-bond-domain.ts",
|
|
186
|
+
"test:merchant-bond-exposure": "tsx scripts/test-merchant-bond-exposure.ts",
|
|
187
|
+
"test:direct-pay-fee-ar": "tsx scripts/test-direct-pay-fee-ar.ts",
|
|
188
|
+
"test:direct-pay-disclosure-acks": "tsx scripts/test-direct-pay-disclosure-acks.ts",
|
|
189
|
+
"test:direct-pay-create": "tsx scripts/test-direct-pay-create.ts",
|
|
190
|
+
"test:direct-pay-deferral-quota": "tsx scripts/test-direct-pay-deferral-quota.ts",
|
|
191
|
+
"test:product-verification": "tsx scripts/test-product-verification.ts",
|
|
192
|
+
"test:product-verification-routes": "tsx scripts/test-product-verification-routes.ts",
|
|
193
|
+
"test:store-verification": "tsx scripts/test-store-verification.ts",
|
|
194
|
+
"test:store-verification-routes": "tsx scripts/test-store-verification-routes.ts",
|
|
195
|
+
"test:direct-pay-launch-summary": "tsx scripts/test-direct-pay-launch-summary.ts",
|
|
196
|
+
"test:product-verification-reverify": "tsx scripts/test-product-verification-reverify.ts",
|
|
197
|
+
"test:direct-pay-controls": "tsx scripts/test-direct-pay-controls.ts",
|
|
198
|
+
"test:direct-pay-aml-monitor": "tsx scripts/test-direct-pay-aml-monitor.ts",
|
|
199
|
+
"test:direct-pay-aml-review": "tsx scripts/test-direct-pay-aml-review.ts",
|
|
200
|
+
"test:direct-pay-compliance-ingress": "tsx scripts/test-direct-pay-compliance-ingress.ts",
|
|
201
|
+
"test:direct-pay-bond-rail-clearance": "tsx scripts/test-direct-pay-bond-rail-clearance.ts",
|
|
202
|
+
"test:direct-pay-launch-readiness": "tsx scripts/test-direct-pay-launch-readiness.ts",
|
|
203
|
+
"test:direct-pay-readiness-routes": "tsx scripts/test-direct-pay-readiness-routes.ts",
|
|
204
|
+
"test:direct-pay-deferral-routes": "tsx scripts/test-direct-pay-deferral-routes.ts",
|
|
205
|
+
"test:direct-pay-disclosures": "tsx scripts/test-direct-pay-disclosures.ts",
|
|
94
206
|
"test:identity-claim-ui": "tsx scripts/test-identity-claim-ui.ts",
|
|
95
207
|
"test:identity-claim-discovery": "tsx scripts/test-identity-claim-discovery.ts",
|
|
96
208
|
"test:operator-ingest-guards": "tsx scripts/test-operator-ingest-guards.ts",
|
|
@@ -127,6 +239,20 @@
|
|
|
127
239
|
"test:pv-kill-switch": "tsx scripts/test-pv-kill-switch.ts",
|
|
128
240
|
"test:pv-settlement-engine": "tsx scripts/test-pv-settlement-engine.ts",
|
|
129
241
|
"test:settlement-breakdown": "tsx scripts/test-settlement-breakdown.ts",
|
|
242
|
+
"test:dispute-noncustodial": "tsx scripts/test-dispute-noncustodial.ts",
|
|
243
|
+
"test:dispute-settlement-conservation": "tsx tests/test-dispute-settlement-conservation.ts",
|
|
244
|
+
"test:payment-query-transitions": "tsx scripts/test-payment-query-transitions.ts",
|
|
245
|
+
"test:payment-query-actions": "tsx scripts/test-payment-query-actions.ts",
|
|
246
|
+
"test:dispute-withdraw-confirm": "tsx scripts/test-dispute-withdraw-confirm.ts",
|
|
247
|
+
"test:poll-governor": "tsx scripts/test-poll-governor.ts",
|
|
248
|
+
"test:role-ui-consistency": "tsx scripts/test-role-ui-consistency.ts",
|
|
249
|
+
"test:role-switch-guard": "tsx scripts/test-role-switch-guard.ts",
|
|
250
|
+
"test:trade-terms-snapshot": "tsx scripts/test-trade-terms-snapshot.ts",
|
|
251
|
+
"test:sale-regions": "tsx scripts/test-sale-regions.ts",
|
|
252
|
+
"test:trade-tax": "tsx scripts/test-trade-tax.ts",
|
|
253
|
+
"test:listing-commerce": "tsx scripts/test-listing-commerce.ts",
|
|
254
|
+
"test:shipping-free-threshold": "tsx scripts/test-shipping-free-threshold.ts",
|
|
255
|
+
"test:purchase-terms": "tsx scripts/test-purchase-terms.ts",
|
|
130
256
|
"lint:secrets": "gitleaks detect --no-banner --redact --config .gitleaks.toml --exit-code 1",
|
|
131
257
|
"test:wallet-signer": "tsx scripts/test-wallet-signer.ts",
|
|
132
258
|
"test:cf-origin-guard": "tsx scripts/test-cf-origin-guard.ts"
|