@harrylabsj/kiwi 0.7.22 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/README.md +45 -10
  2. package/dist/a2a/negotiate.d.ts +6 -2
  3. package/dist/a2a/negotiate.js +10 -3
  4. package/dist/a2a/negotiate.js.map +1 -1
  5. package/dist/a2a/node.d.ts +4 -1
  6. package/dist/a2a/node.js +57 -4
  7. package/dist/a2a/node.js.map +1 -1
  8. package/dist/a2a/server/merchant-handler.d.ts +11 -3
  9. package/dist/a2a/server/merchant-handler.js +84 -26
  10. package/dist/a2a/server/merchant-handler.js.map +1 -1
  11. package/dist/agent/buyer/buyer-tools.js +17 -10
  12. package/dist/agent/buyer/buyer-tools.js.map +1 -1
  13. package/dist/agent/buyer/scheduler.d.ts +1 -0
  14. package/dist/agent/buyer/scheduler.js +5 -1
  15. package/dist/agent/buyer/scheduler.js.map +1 -1
  16. package/dist/agent/buyer/task-store.js +5 -2
  17. package/dist/agent/buyer/task-store.js.map +1 -1
  18. package/dist/agent/chat-tools.js +10 -3
  19. package/dist/agent/chat-tools.js.map +1 -1
  20. package/dist/agent/context/fencing.d.ts +27 -0
  21. package/dist/agent/context/fencing.js +126 -0
  22. package/dist/agent/context/fencing.js.map +1 -0
  23. package/dist/agent/context/grounding.d.ts +18 -0
  24. package/dist/agent/context/grounding.js +22 -0
  25. package/dist/agent/context/grounding.js.map +1 -0
  26. package/dist/agent/host/events.d.ts +31 -0
  27. package/dist/agent/host/events.js +62 -0
  28. package/dist/agent/host/events.js.map +1 -0
  29. package/dist/agent/host/tui-renderer.d.ts +17 -0
  30. package/dist/agent/host/tui-renderer.js +125 -0
  31. package/dist/agent/host/tui-renderer.js.map +1 -0
  32. package/dist/agent/host/web-renderer.d.ts +71 -0
  33. package/dist/agent/host/web-renderer.js +185 -0
  34. package/dist/agent/host/web-renderer.js.map +1 -0
  35. package/dist/agent/kernel-builder.d.ts +3 -1
  36. package/dist/agent/kernel-builder.js +4 -1
  37. package/dist/agent/kernel-builder.js.map +1 -1
  38. package/dist/agent/kernel.d.ts +20 -1
  39. package/dist/agent/kernel.js +255 -14
  40. package/dist/agent/kernel.js.map +1 -1
  41. package/dist/agent/memory/schema.d.ts +1 -1
  42. package/dist/agent/memory/schema.js +9 -1
  43. package/dist/agent/memory/schema.js.map +1 -1
  44. package/dist/agent/merchant/action-candidate.d.ts +18 -0
  45. package/dist/agent/merchant/action-candidate.js +51 -0
  46. package/dist/agent/merchant/action-candidate.js.map +1 -1
  47. package/dist/agent/merchant/fake-merchant-client.js +6 -1
  48. package/dist/agent/merchant/fake-merchant-client.js.map +1 -1
  49. package/dist/agent/merchant/intelligence/backend.d.ts +40 -0
  50. package/dist/agent/merchant/intelligence/backend.js +2 -0
  51. package/dist/agent/merchant/intelligence/backend.js.map +1 -0
  52. package/dist/agent/merchant/intelligence/default-backend.d.ts +38 -0
  53. package/dist/agent/merchant/intelligence/default-backend.js +477 -0
  54. package/dist/agent/merchant/intelligence/default-backend.js.map +1 -0
  55. package/dist/agent/merchant/intelligence/http-analytics-source.d.ts +55 -0
  56. package/dist/agent/merchant/intelligence/http-analytics-source.js +193 -0
  57. package/dist/agent/merchant/intelligence/http-analytics-source.js.map +1 -0
  58. package/dist/agent/merchant/intelligence/types.d.ts +109 -0
  59. package/dist/agent/merchant/intelligence/types.js +2 -0
  60. package/dist/agent/merchant/intelligence/types.js.map +1 -0
  61. package/dist/agent/merchant/merchant-client.d.ts +50 -1
  62. package/dist/agent/merchant/merchant-client.js +157 -8
  63. package/dist/agent/merchant/merchant-client.js.map +1 -1
  64. package/dist/agent/merchant/merchant-enrichment.d.ts +10 -0
  65. package/dist/agent/merchant/merchant-enrichment.js +38 -0
  66. package/dist/agent/merchant/merchant-enrichment.js.map +1 -0
  67. package/dist/agent/merchant/merchant-grounding.d.ts +5 -0
  68. package/dist/agent/merchant/merchant-grounding.js +76 -0
  69. package/dist/agent/merchant/merchant-grounding.js.map +1 -0
  70. package/dist/agent/merchant/merchant-presentations.d.ts +8 -0
  71. package/dist/agent/merchant/merchant-presentations.js +207 -0
  72. package/dist/agent/merchant/merchant-presentations.js.map +1 -0
  73. package/dist/agent/merchant/merchant-tools.d.ts +8 -0
  74. package/dist/agent/merchant/merchant-tools.js +291 -178
  75. package/dist/agent/merchant/merchant-tools.js.map +1 -1
  76. package/dist/agent/merchant/types.d.ts +6 -2
  77. package/dist/agent/merchant/types.js +45 -0
  78. package/dist/agent/merchant/types.js.map +1 -1
  79. package/dist/agent/presentation/registry.d.ts +14 -0
  80. package/dist/agent/presentation/registry.js +24 -0
  81. package/dist/agent/presentation/registry.js.map +1 -0
  82. package/dist/agent/presentation/runner.d.ts +11 -0
  83. package/dist/agent/presentation/runner.js +17 -0
  84. package/dist/agent/presentation/runner.js.map +1 -0
  85. package/dist/agent/presentation/sanitize.d.ts +16 -0
  86. package/dist/agent/presentation/sanitize.js +37 -0
  87. package/dist/agent/presentation/sanitize.js.map +1 -0
  88. package/dist/agent/presentation/types.d.ts +28 -0
  89. package/dist/agent/presentation/types.js +8 -0
  90. package/dist/agent/presentation/types.js.map +1 -0
  91. package/dist/agent/session.d.ts +1 -1
  92. package/dist/agent/session.js +2 -2
  93. package/dist/agent/session.js.map +1 -1
  94. package/dist/agent/skills/registry.d.ts +11 -0
  95. package/dist/agent/skills/registry.js +119 -0
  96. package/dist/agent/skills/registry.js.map +1 -0
  97. package/dist/agent/skills/tools.d.ts +6 -0
  98. package/dist/agent/skills/tools.js +36 -0
  99. package/dist/agent/skills/tools.js.map +1 -0
  100. package/dist/agent/skills/types.d.ts +9 -0
  101. package/dist/agent/skills/types.js +2 -0
  102. package/dist/agent/skills/types.js.map +1 -0
  103. package/dist/agent/supplier/scheduler.d.ts +2 -0
  104. package/dist/agent/supplier/scheduler.js +101 -22
  105. package/dist/agent/supplier/scheduler.js.map +1 -1
  106. package/dist/agent/supplier/store.d.ts +2 -0
  107. package/dist/agent/supplier/store.js +44 -0
  108. package/dist/agent/supplier/store.js.map +1 -1
  109. package/dist/agent/system-prompt.d.ts +5 -1
  110. package/dist/agent/system-prompt.js +20 -3
  111. package/dist/agent/system-prompt.js.map +1 -1
  112. package/dist/auth/merchant-authorization.d.ts +49 -0
  113. package/dist/auth/merchant-authorization.js +61 -0
  114. package/dist/auth/merchant-authorization.js.map +1 -0
  115. package/dist/auth/merchant-oauth.d.ts +255 -0
  116. package/dist/auth/merchant-oauth.js +764 -0
  117. package/dist/auth/merchant-oauth.js.map +1 -0
  118. package/dist/auth/merchant-pairing.d.ts +62 -0
  119. package/dist/auth/merchant-pairing.js +199 -0
  120. package/dist/auth/merchant-pairing.js.map +1 -0
  121. package/dist/auth/merchant-sessions.d.ts +71 -0
  122. package/dist/auth/merchant-sessions.js +168 -0
  123. package/dist/auth/merchant-sessions.js.map +1 -0
  124. package/dist/buyer-core/build-service.d.ts +5 -0
  125. package/dist/buyer-core/build-service.js +12 -0
  126. package/dist/buyer-core/build-service.js.map +1 -1
  127. package/dist/buyer-core/errors.d.ts +1 -1
  128. package/dist/buyer-core/errors.js +2 -0
  129. package/dist/buyer-core/errors.js.map +1 -1
  130. package/dist/buyer-core/merchant-index.d.ts +19 -4
  131. package/dist/buyer-core/merchant-index.js +137 -16
  132. package/dist/buyer-core/merchant-index.js.map +1 -1
  133. package/dist/buyer-core/negotiator.d.ts +0 -10
  134. package/dist/buyer-core/negotiator.js +12 -1
  135. package/dist/buyer-core/negotiator.js.map +1 -1
  136. package/dist/buyer-core/quote-fetcher.js +2 -1
  137. package/dist/buyer-core/quote-fetcher.js.map +1 -1
  138. package/dist/buyer-core/service.d.ts +104 -0
  139. package/dist/buyer-core/service.js +105 -1
  140. package/dist/buyer-core/service.js.map +1 -1
  141. package/dist/cli.d.ts +4 -2
  142. package/dist/cli.js +644 -32
  143. package/dist/cli.js.map +1 -1
  144. package/dist/config/profile.d.ts +51 -0
  145. package/dist/config/profile.js +185 -61
  146. package/dist/config/profile.js.map +1 -1
  147. package/dist/demo/demo-runner.js +12 -9
  148. package/dist/demo/demo-runner.js.map +1 -1
  149. package/dist/discovery/catalog-source/buyer-follows.d.ts +82 -0
  150. package/dist/discovery/catalog-source/buyer-follows.js +228 -0
  151. package/dist/discovery/catalog-source/buyer-follows.js.map +1 -0
  152. package/dist/discovery/catalog-source/connector-identity.d.ts +75 -0
  153. package/dist/discovery/catalog-source/connector-identity.js +175 -0
  154. package/dist/discovery/catalog-source/connector-identity.js.map +1 -0
  155. package/dist/discovery/catalog-source/errors.d.ts +1 -1
  156. package/dist/discovery/catalog-source/errors.js +2 -0
  157. package/dist/discovery/catalog-source/errors.js.map +1 -1
  158. package/dist/discovery/catalog-source/kiwi-record.d.ts +2 -0
  159. package/dist/discovery/catalog-source/kiwi-record.js.map +1 -1
  160. package/dist/discovery/catalog-source/kiwi-source.js +2 -0
  161. package/dist/discovery/catalog-source/kiwi-source.js.map +1 -1
  162. package/dist/discovery/catalog-source/merchant-publications.d.ts +65 -0
  163. package/dist/discovery/catalog-source/merchant-publications.js +207 -0
  164. package/dist/discovery/catalog-source/merchant-publications.js.map +1 -0
  165. package/dist/discovery/catalog-source/register.d.ts +24 -0
  166. package/dist/discovery/catalog-source/register.js +46 -0
  167. package/dist/discovery/catalog-source/register.js.map +1 -1
  168. package/dist/discovery/catalog-source/source.js +2 -1
  169. package/dist/discovery/catalog-source/source.js.map +1 -1
  170. package/dist/fs/atomic-write.d.ts +18 -0
  171. package/dist/fs/atomic-write.js +29 -0
  172. package/dist/fs/atomic-write.js.map +1 -0
  173. package/dist/handoff/authorization.js +1 -1
  174. package/dist/http/merchant-server.d.ts +65 -0
  175. package/dist/http/merchant-server.js +346 -0
  176. package/dist/http/merchant-server.js.map +1 -0
  177. package/dist/http/server.js +4 -1
  178. package/dist/http/server.js.map +1 -1
  179. package/dist/mcp/cli.d.ts +2 -0
  180. package/dist/mcp/cli.js +7 -6
  181. package/dist/mcp/cli.js.map +1 -1
  182. package/dist/mcp/merchant-auth.d.ts +78 -0
  183. package/dist/mcp/merchant-auth.js +146 -0
  184. package/dist/mcp/merchant-auth.js.map +1 -0
  185. package/dist/mcp/merchant-dirs.d.ts +26 -0
  186. package/dist/mcp/merchant-dirs.js +44 -0
  187. package/dist/mcp/merchant-dirs.js.map +1 -0
  188. package/dist/mcp/merchant-resources.d.ts +38 -0
  189. package/dist/mcp/merchant-resources.js +146 -0
  190. package/dist/mcp/merchant-resources.js.map +1 -0
  191. package/dist/mcp/merchant-server.d.ts +106 -0
  192. package/dist/mcp/merchant-server.js +615 -0
  193. package/dist/mcp/merchant-server.js.map +1 -0
  194. package/dist/mcp/merchant-tools.d.ts +103 -0
  195. package/dist/mcp/merchant-tools.js +517 -0
  196. package/dist/mcp/merchant-tools.js.map +1 -0
  197. package/dist/mcp/server.js +4 -3
  198. package/dist/mcp/server.js.map +1 -1
  199. package/dist/mcp/tools.d.ts +5 -3
  200. package/dist/mcp/tools.js +102 -5
  201. package/dist/mcp/tools.js.map +1 -1
  202. package/dist/mcp/types.d.ts +1 -1
  203. package/dist/mcp/types.js +4 -0
  204. package/dist/mcp/types.js.map +1 -1
  205. package/dist/merchant/ops.d.ts +0 -11
  206. package/dist/merchant/ops.js +13 -1
  207. package/dist/merchant/ops.js.map +1 -1
  208. package/dist/merchant/stats-store.d.ts +7 -0
  209. package/dist/merchant/stats-store.js +11 -0
  210. package/dist/merchant/stats-store.js.map +1 -1
  211. package/dist/merchant/workbench-service.d.ts +189 -0
  212. package/dist/merchant/workbench-service.js +417 -0
  213. package/dist/merchant/workbench-service.js.map +1 -0
  214. package/dist/merchant-admin/pending-page.d.ts +35 -0
  215. package/dist/merchant-admin/pending-page.js +69 -0
  216. package/dist/merchant-admin/pending-page.js.map +1 -0
  217. package/dist/merchant-core/commands.d.ts +99 -0
  218. package/dist/merchant-core/commands.js +179 -0
  219. package/dist/merchant-core/commands.js.map +1 -0
  220. package/dist/merchant-core/executor.d.ts +69 -0
  221. package/dist/merchant-core/executor.js +218 -0
  222. package/dist/merchant-core/executor.js.map +1 -0
  223. package/dist/merchant-core/negotiation-adapters.d.ts +55 -0
  224. package/dist/merchant-core/negotiation-adapters.js +55 -0
  225. package/dist/merchant-core/negotiation-adapters.js.map +1 -0
  226. package/dist/merchant-core/network-checks.d.ts +65 -0
  227. package/dist/merchant-core/network-checks.js +111 -0
  228. package/dist/merchant-core/network-checks.js.map +1 -0
  229. package/dist/merchant-core/operations.d.ts +64 -0
  230. package/dist/merchant-core/operations.js +136 -0
  231. package/dist/merchant-core/operations.js.map +1 -0
  232. package/dist/merchant-core/policy-runtime.d.ts +70 -0
  233. package/dist/merchant-core/policy-runtime.js +181 -0
  234. package/dist/merchant-core/policy-runtime.js.map +1 -0
  235. package/dist/merchant-core/product-import.d.ts +67 -0
  236. package/dist/merchant-core/product-import.js +160 -0
  237. package/dist/merchant-core/product-import.js.map +1 -0
  238. package/dist/merchant-core/service.d.ts +203 -0
  239. package/dist/merchant-core/service.js +402 -0
  240. package/dist/merchant-core/service.js.map +1 -0
  241. package/dist/merchant-gateway/catalog-publications.d.ts +71 -0
  242. package/dist/merchant-gateway/catalog-publications.js +175 -0
  243. package/dist/merchant-gateway/catalog-publications.js.map +1 -0
  244. package/dist/merchant-gateway/catalog-tools.d.ts +46 -0
  245. package/dist/merchant-gateway/catalog-tools.js +277 -0
  246. package/dist/merchant-gateway/catalog-tools.js.map +1 -0
  247. package/dist/merchant-gateway/cli.d.ts +75 -0
  248. package/dist/merchant-gateway/cli.js +458 -0
  249. package/dist/merchant-gateway/cli.js.map +1 -0
  250. package/dist/merchant-gateway/credential-vault.d.ts +44 -0
  251. package/dist/merchant-gateway/credential-vault.js +111 -0
  252. package/dist/merchant-gateway/credential-vault.js.map +1 -0
  253. package/dist/merchant-gateway/entry-server.d.ts +117 -0
  254. package/dist/merchant-gateway/entry-server.js +710 -0
  255. package/dist/merchant-gateway/entry-server.js.map +1 -0
  256. package/dist/merchant-gateway/instance-registration.d.ts +143 -0
  257. package/dist/merchant-gateway/instance-registration.js +382 -0
  258. package/dist/merchant-gateway/instance-registration.js.map +1 -0
  259. package/dist/merchant-gateway/instance-tools.d.ts +58 -0
  260. package/dist/merchant-gateway/instance-tools.js +184 -0
  261. package/dist/merchant-gateway/instance-tools.js.map +1 -0
  262. package/dist/merchant-gateway/mcp-proxy.d.ts +25 -0
  263. package/dist/merchant-gateway/mcp-proxy.js +192 -0
  264. package/dist/merchant-gateway/mcp-proxy.js.map +1 -0
  265. package/dist/merchant-gateway/pinned-fetch.d.ts +52 -0
  266. package/dist/merchant-gateway/pinned-fetch.js +212 -0
  267. package/dist/merchant-gateway/pinned-fetch.js.map +1 -0
  268. package/dist/merchant-gateway/tenant-registry.d.ts +82 -0
  269. package/dist/merchant-gateway/tenant-registry.js +190 -0
  270. package/dist/merchant-gateway/tenant-registry.js.map +1 -0
  271. package/dist/merchant-gateway/tool-bundle.d.ts +26 -0
  272. package/dist/merchant-gateway/tool-bundle.js +56 -0
  273. package/dist/merchant-gateway/tool-bundle.js.map +1 -0
  274. package/dist/merchant-runtime/backup.d.ts +48 -0
  275. package/dist/merchant-runtime/backup.js +226 -0
  276. package/dist/merchant-runtime/backup.js.map +1 -0
  277. package/dist/merchant-runtime/health.d.ts +99 -0
  278. package/dist/merchant-runtime/health.js +206 -0
  279. package/dist/merchant-runtime/health.js.map +1 -0
  280. package/dist/merchant-runtime/jobs.d.ts +64 -0
  281. package/dist/merchant-runtime/jobs.js +107 -0
  282. package/dist/merchant-runtime/jobs.js.map +1 -0
  283. package/dist/merchant-runtime/manager.d.ts +94 -0
  284. package/dist/merchant-runtime/manager.js +305 -0
  285. package/dist/merchant-runtime/manager.js.map +1 -0
  286. package/dist/merchant-runtime/services.d.ts +30 -0
  287. package/dist/merchant-runtime/services.js +51 -0
  288. package/dist/merchant-runtime/services.js.map +1 -0
  289. package/dist/negotiation/action-candidate.js +1 -1
  290. package/dist/net/url.d.ts +26 -0
  291. package/dist/net/url.js +32 -0
  292. package/dist/net/url.js.map +1 -0
  293. package/dist/operator/types.d.ts +1 -1
  294. package/dist/product-cli.d.ts +2 -2
  295. package/dist/product-cli.js +27 -6
  296. package/dist/product-cli.js.map +1 -1
  297. package/dist/product-compat.d.ts +9 -1
  298. package/dist/product-compat.js +12 -1
  299. package/dist/product-compat.js.map +1 -1
  300. package/dist/product-init.js +17 -5
  301. package/dist/product-init.js.map +1 -1
  302. package/dist/product-publish.js +2 -1
  303. package/dist/product-publish.js.map +1 -1
  304. package/dist/product-supplier.d.ts +73 -0
  305. package/dist/product-supplier.js +224 -5
  306. package/dist/product-supplier.js.map +1 -1
  307. package/dist/runtime/fake-model.d.ts +1 -1
  308. package/dist/trust/identity/jwk.d.ts +11 -0
  309. package/dist/trust/identity/jwk.js +2 -0
  310. package/dist/trust/identity/jwk.js.map +1 -0
  311. package/dist/trust/identity/jws.d.ts +2 -1
  312. package/dist/trust/identity/jws.js.map +1 -1
  313. package/dist/trust/identity/keys.d.ts +2 -1
  314. package/dist/trust/identity/keys.js.map +1 -1
  315. package/dist/trust/identity/message-signature.d.ts +1 -14
  316. package/dist/trust/identity/message-signature.js.map +1 -1
  317. package/dist/weixin/channel.d.ts +3 -0
  318. package/dist/weixin/channel.js +18 -2
  319. package/dist/weixin/channel.js.map +1 -1
  320. package/examples/profiles/merchant.deepseek.yaml +6 -0
  321. package/examples/profiles/merchant.fake.yaml +6 -0
  322. package/examples/profiles/merchant.local.yaml +6 -0
  323. package/package.json +9 -7
  324. package/skills/kiwi-buyer/SKILL.md +68 -0
  325. package/skills/merchant/catalog-operations/SKILL.md +17 -0
  326. package/skills/merchant/change-approval/SKILL.md +16 -0
  327. package/skills/merchant/human-review/SKILL.md +17 -0
  328. package/skills/merchant/inventory-operations/SKILL.md +17 -0
  329. package/skills/merchant/negotiation-review/SKILL.md +18 -0
  330. package/skills/merchant/performance-insights/SKILL.md +19 -0
  331. package/contracts/candidate-agent-dto-1.0.README.md +0 -43
  332. package/contracts/conformance/python-service/README.md +0 -19
@@ -26,7 +26,18 @@ export const MERCHANT_CURRENCY = "CNY";
26
26
  export const MERCHANT_OFFER_PRICE_MINOR = 85_000; // CNY 850.00
27
27
  export const MERCHANT_DEAL_PRICE_MINOR = 83_500; // CNY 835.00
28
28
  export const MERCHANT_QUANTITY = 200;
29
- export const MERCHANT_DELIVERY_BEFORE = "2026-08-20T18:00:00Z";
29
+ /**
30
+ * 交期取值(V2 §8.5 P0-1):merchant_policy.delivery_lead_days 配置的权威
31
+ * 交期(报价时间 + 天数),每次报价动态计算;未配置返回 undefined(terms
32
+ * 省略 delivery_before——明确未知,绝不报静态/过期日期)。固定日期常量已从
33
+ * 生产 terms 路径移除。
34
+ */
35
+ export function resolveDeliveryBefore(merchantPolicy, now) {
36
+ const leadDays = merchantPolicy?.delivery_lead_days;
37
+ if (leadDays === undefined)
38
+ return undefined;
39
+ return new Date(Date.parse(now) + leadDays * 86_400_000).toISOString();
40
+ }
30
41
  /** 批量促销默认门槛(merchant_policy.promos[sku].bulk_threshold 缺省值)。 */
31
42
  export const DEFAULT_BULK_THRESHOLD = 100;
32
43
  /**
@@ -88,7 +99,10 @@ function offerTerms(opts, now) {
88
99
  unit_price: { currency: opts.currency ?? MERCHANT_CURRENCY, amount_minor: opts.priceMinor },
89
100
  },
90
101
  ],
91
- fulfillment_terms: { delivery_before: MERCHANT_DELIVERY_BEFORE },
102
+ // V2 §8.5 P0-1:只报权威交期(delivery_lead_days 动态计算);未配置则省略。
103
+ ...(opts.deliveryBefore !== undefined
104
+ ? { fulfillment_terms: { delivery_before: opts.deliveryBefore } }
105
+ : {}),
92
106
  // 商家声明的每商品成交入口(KTH handoff 目的地):buyer 从 agreement 直读,
93
107
  // 不依赖 catalog 投影。
94
108
  ...(opts.handoff_destination !== undefined
@@ -153,6 +167,8 @@ export function createMerchantHandler(options) {
153
167
  const { ledger, now, sender, counterparty } = options;
154
168
  const offerPriceMinor = options.offerPriceMinor ?? MERCHANT_OFFER_PRICE_MINOR;
155
169
  const allowDemoPriceFallback = options.allowDemoPriceFallback ?? false;
170
+ // BUG-07:merchantPolicy 支持静态值或 provider——每请求解析运行中策略。
171
+ const policyOf = () => typeof options.merchantPolicy === "function" ? options.merchantPolicy() : options.merchantPolicy;
156
172
  const conditionalByNegotiation = new Map();
157
173
  // 审查 P2-D:终态(AGREEMENT_REACHED / WITHDRAWN / DECLINED / CANCELLED)
158
174
  // 不得以同一 negotiation_id 重开(§17.4/§21.2)——运行时此前无任何终态
@@ -418,15 +434,27 @@ export function createMerchantHandler(options) {
418
434
  }
419
435
  }
420
436
  // merchant 定价是**确定性**的(不依赖 LLM):floor / 促销是 merchant 自己的
421
- // 可配置策略。per-SKU 私有 floor(major→minor lossless;SKU 未列出用全局默认)。
422
- const policyForSku = (sku) => {
423
- const floorValue = options.merchantPolicy?.price_floors?.[sku] ?? options.merchantPolicy?.min_unit_price_private;
424
- const floorConv = floorValue !== undefined ? losslessToMinorUnits(floorValue, 2) : undefined;
425
- return {
426
- floorMinor: floorConv !== undefined && floorConv.lossless ? floorConv.amount_minor : 0,
427
- floorMajor: floorValue,
428
- };
437
+ // 可配置策略。per-SKU 私有 floor(major→minor lossless;SKU 未列出用全局
438
+ // 默认)。审查 P1:底价已配置但无法无损换算(如 85.005)→ 返回 null,
439
+ // 调用方必须 decline SKU 报价——绝不落到 0(等于关闭底价护栏,
440
+ // fail-open 可低于底价成交),与商品价 lossy 即拒绝的方向保持一致。
441
+ /** 数量校验(审查 P2):数量存在时必须是正整数——0/负数/小数按结构化
442
+ * 无效拒绝,不进 offer terms(否则批量价/条件成交按无意义数量求值);
443
+ * 未报数量沿用 MERCHANT_QUANTITY 缺省口径(不变)。 */
444
+ const invalidQuantity = (raw) => raw !== undefined &&
445
+ (typeof raw !== "number" || !Number.isInteger(raw) || raw <= 0);
446
+ const floorMinorForSku = (sku) => {
447
+ const mp = policyOf();
448
+ const floorValue = mp?.price_floors?.[sku] ?? mp?.min_unit_price_private;
449
+ if (floorValue === undefined)
450
+ return 0;
451
+ const conv = losslessToMinorUnits(floorValue, 2);
452
+ return conv.lossless ? conv.amount_minor : null;
429
453
  };
454
+ /** 权威交期(V2 §8.5 P0-1):配置了 merchant_policy.delivery_lead_days 才
455
+ * 报具体 delivery_before(报价时间+天数,动态计算不过期);未配置 → undefined,
456
+ * terms 省略 delivery_before(明确未知)。 */
457
+ const deliveryBefore = () => resolveDeliveryBefore(policyOf(), now());
430
458
  /** 买家还价(major→minor;KNP 里 buyer counter 的 unit_price)。 */
431
459
  const clampToBounds = (minor, floor, list) => Math.min(list, Math.max(minor, floor));
432
460
  switch (envelope.action) {
@@ -439,8 +467,13 @@ export function createMerchantHandler(options) {
439
467
  case "rfq": {
440
468
  const payload = envelope.payload;
441
469
  const sku = payload.items?.[0]?.sku ?? MERCHANT_SKU;
442
- const quantity = payload.items?.[0]?.quantity?.value ?? MERCHANT_QUANTITY;
443
- const { floorMinor } = policyForSku(sku);
470
+ const quantityRaw = payload.items?.[0]?.quantity?.value;
471
+ if (invalidQuantity(quantityRaw))
472
+ return declineReply("schema_invalid");
473
+ const quantity = quantityRaw ?? MERCHANT_QUANTITY;
474
+ const floorMinor = floorMinorForSku(sku);
475
+ if (floorMinor === null)
476
+ return declineReply("temporarily_unavailable");
444
477
  const product = await resolveProductOrDecline(sku);
445
478
  if (product === null)
446
479
  return declineReply("temporarily_unavailable");
@@ -456,16 +489,19 @@ export function createMerchantHandler(options) {
456
489
  payload: {
457
490
  type: "offer",
458
491
  offer_id: newOfferId(),
459
- terms: offerTerms({ sku, priceMinor: effectivePriceMinor, quantity, currency, handoff_destination }, now()),
492
+ terms: offerTerms({ sku, priceMinor: effectivePriceMinor, quantity, currency, handoff_destination, deliveryBefore: deliveryBefore() }, now()),
460
493
  },
461
494
  ...(note !== undefined ? { public_message: note } : {}),
462
495
  });
463
496
  // 审查 BUG-10:merchant 侧相位由自己的出站动作推进——rfq 的 offer
464
497
  // 回复是 OPEN→OFFER_OPEN 的边(入站侧 rfq 是起始动作无事件)。
465
- await advancePhase(negotiationId, {
498
+ // 审查 P2:推进被拒(非法转换)→ 不落账不发出,防链上事实与相位机分裂。
499
+ const advanced = await advancePhase(negotiationId, {
466
500
  type: "offer",
467
501
  offer_id: String(reply.payload.offer_id ?? ""),
468
502
  });
503
+ if (!advanced)
504
+ return declineReply("state_conflict");
469
505
  await appendSent(reply);
470
506
  return envelopeReply(reply);
471
507
  }
@@ -473,8 +509,13 @@ export function createMerchantHandler(options) {
473
509
  // 商家还价:对 buyer 的 offer 回 counter_offer(真实商品价)。
474
510
  const buyerOffer = envelope.payload;
475
511
  const sku = buyerOffer.terms?.items?.[0]?.sku ?? MERCHANT_SKU;
476
- const quantity = buyerOffer.terms?.items?.[0]?.quantity?.value ?? MERCHANT_QUANTITY;
477
- const { floorMinor } = policyForSku(sku);
512
+ const quantityRaw = buyerOffer.terms?.items?.[0]?.quantity?.value;
513
+ if (invalidQuantity(quantityRaw))
514
+ return declineReply("schema_invalid");
515
+ const quantity = quantityRaw ?? MERCHANT_QUANTITY;
516
+ const floorMinor = floorMinorForSku(sku);
517
+ if (floorMinor === null)
518
+ return declineReply("temporarily_unavailable");
478
519
  const product = await resolveProductOrDecline(sku);
479
520
  if (product === null)
480
521
  return declineReply("temporarily_unavailable");
@@ -491,23 +532,31 @@ export function createMerchantHandler(options) {
491
532
  type: "counter_offer",
492
533
  offer_id: newOfferId(),
493
534
  responding_to_offer_id: buyerOffer.offer_id ?? "",
494
- proposed_terms: offerTerms({ sku, priceMinor: effectivePriceMinor, quantity, currency, handoff_destination }, now()),
535
+ proposed_terms: offerTerms({ sku, priceMinor: effectivePriceMinor, quantity, currency, handoff_destination, deliveryBefore: deliveryBefore() }, now()),
495
536
  },
496
537
  ...(note !== undefined ? { public_message: note } : {}),
497
538
  });
498
- await advancePhase(negotiationId, {
539
+ // 审查 P2:推进被拒 → 不落账不发出(防 OFFER_OPEN 下重复还价分裂)。
540
+ const advanced = await advancePhase(negotiationId, {
499
541
  type: "counter_offer",
500
542
  offer_id: String(reply.payload.offer_id ?? ""),
501
543
  });
544
+ if (!advanced)
545
+ return declineReply("state_conflict");
502
546
  await appendSent(reply);
503
547
  return envelopeReply(reply);
504
548
  }
505
549
  case "counter_offer": {
506
550
  const counter = envelope.payload;
507
551
  const sku = counter.proposed_terms?.items?.[0]?.sku ?? MERCHANT_SKU;
508
- const quantity = counter.proposed_terms?.items?.[0]?.quantity?.value ?? MERCHANT_QUANTITY;
552
+ const quantityRaw = counter.proposed_terms?.items?.[0]?.quantity?.value;
553
+ if (invalidQuantity(quantityRaw))
554
+ return declineReply("schema_invalid");
555
+ const quantity = quantityRaw ?? MERCHANT_QUANTITY;
509
556
  const buyerCounterMinor = counter.proposed_terms?.items?.[0]?.unit_price?.amount_minor;
510
- const { floorMinor } = policyForSku(sku);
557
+ const floorMinor = floorMinorForSku(sku);
558
+ if (floorMinor === null)
559
+ return declineReply("temporarily_unavailable");
511
560
  const product = await resolveProductOrDecline(sku);
512
561
  if (product === null)
513
562
  return declineReply("temporarily_unavailable");
@@ -519,7 +568,7 @@ export function createMerchantHandler(options) {
519
568
  : priceMinor;
520
569
  // 可配置促销(merchant_policy.promos[sku]):买满 bulk_threshold 台,
521
570
  // 批量价 = max(floor, min(还价, list×(1-d%/100))),比单台更便宜。
522
- const promo = options.merchantPolicy?.promos?.[sku];
571
+ const promo = policyOf()?.promos?.[sku];
523
572
  const bulkThreshold = promo?.bulk_threshold ?? DEFAULT_BULK_THRESHOLD;
524
573
  const bulkMinor = promo !== undefined
525
574
  ? clampToBounds(Math.min(responsiveMinor, applyDiscountPercentMinor(priceMinor, promo.bulk_discount_percent ?? 0)), floorMinor, priceMinor)
@@ -535,11 +584,11 @@ export function createMerchantHandler(options) {
535
584
  offer_id: newOfferId(),
536
585
  responding_to_offer_id: counter.offer_id,
537
586
  // base = 还价响应(已 clamp 到 [floor, list])——单台即得到该价。
538
- base_terms: offerTerms({ sku, priceMinor: responsiveMinor, quantity, currency, handoff_destination }, now()),
587
+ base_terms: offerTerms({ sku, priceMinor: responsiveMinor, quantity, currency, handoff_destination, deliveryBefore: deliveryBefore() }, now()),
539
588
  conditions: [
540
589
  {
541
590
  when: { all: [{ field: "aggregate.total_quantity", op: "gte", value: bulkThreshold }] },
542
- then_terms: offerTerms({ sku, priceMinor: bulkMinor, quantity, currency, handoff_destination }, now()),
591
+ then_terms: offerTerms({ sku, priceMinor: bulkMinor, quantity, currency, handoff_destination, deliveryBefore: deliveryBefore() }, now()),
543
592
  },
544
593
  ],
545
594
  },
@@ -549,10 +598,13 @@ export function createMerchantHandler(options) {
549
598
  conditional: reply.payload,
550
599
  quantity,
551
600
  });
552
- await advancePhase(negotiationId, {
601
+ // 审查 P2:推进被拒 → 不落账不发出。
602
+ const advanced = await advancePhase(negotiationId, {
553
603
  type: "conditional_offer",
554
604
  offer_id: String(reply.payload.offer_id ?? ""),
555
605
  });
606
+ if (!advanced)
607
+ return declineReply("state_conflict");
556
608
  await appendSent(reply);
557
609
  return envelopeReply(reply);
558
610
  }
@@ -562,6 +614,12 @@ export function createMerchantHandler(options) {
562
614
  // envelope(§8.2),in_reply_to 引用被回答的澄清消息(§8.5/§14
563
615
  // 强制,finalizeEnvelope 校验)。payload 形状规范未冻结(§14),
564
616
  // 携带 answers 便于对端结构化消费;人类可读文本走 public_message。
617
+ // 交期口径(V2 §8.5 P0-1):配置了权威交期才报具体日期;未配置
618
+ // 明确告知需与商家确认,绝不报静态/过期日期。
619
+ const promised = deliveryBefore();
620
+ const answerText = promised !== undefined
621
+ ? `delivery before ${promised}, payment terms negotiable (nonbinding)`
622
+ : "delivery timing to be confirmed with the merchant, payment terms negotiable (nonbinding)";
565
623
  const reply = seedEnvelope({
566
624
  negotiation_id: negotiationId,
567
625
  in_reply_to: inReplyTo,
@@ -572,10 +630,10 @@ export function createMerchantHandler(options) {
572
630
  type: "clarification_response",
573
631
  answers: questions.map((q) => ({
574
632
  field: q.field ?? "…",
575
- answer: `delivery before ${MERCHANT_DELIVERY_BEFORE}, payment terms negotiable (nonbinding)`,
633
+ answer: answerText,
576
634
  })),
577
635
  },
578
- public_message: `delivery before ${MERCHANT_DELIVERY_BEFORE}, payment terms negotiable (nonbinding).`,
636
+ public_message: `${answerText}.`,
579
637
  });
580
638
  // 出站应答即恢复(restore 边,§21.2):顶层推进已把相位挂到
581
639
  // AWAITING_CLARIFICATION,clarification_response 同轮弹回
@@ -1 +1 @@
1
- {"version":3,"file":"merchant-handler.js","sourceRoot":"","sources":["../../../src/a2a/server/merchant-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merchant-handler.js","sourceRoot":"","sources":["../../../src/a2a/server/merchant-handler.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ import { HandoffIdempotencyStore, HandoffEventStore, createHandoffCandidate, def
23
23
  import { toMinorUnits as losslessToMinorUnits } from "../../protocol/legacy-shopping-negotiation/money.js";
24
24
  import { contentDigest } from "../../negotiation/jcs.js";
25
25
  import { requireScopeCredential } from "../merchant/credential-broker.js";
26
- import { NEGOTIATE_DEAL_PRICE_MINOR, NEGOTIATE_DELIVERY_BEFORE, NEGOTIATE_SKU, negotiateWithAgent, summarizeNegotiation, } from "../../a2a/negotiate.js";
26
+ import { NEGOTIATE_DEAL_PRICE_MINOR, defaultNegotiateDeliveryBefore, NEGOTIATE_SKU, negotiateWithAgent, summarizeNegotiation, } from "../../a2a/negotiate.js";
27
27
  import { buildNegotiationChatTools, writeGateText } from "../negotiation-chat.js";
28
28
  import { routeWriteCandidate } from "../write-gate.js";
29
29
  import { runSearchCycle } from "./search-loop.js";
@@ -172,14 +172,14 @@ const SUPPLIER_SAVE_SUGGESTION_COOLDOWN_MS = 7 * 24 * 3600 * 1000;
172
172
  * RFQ 成功后的本地保存建议(§13 M0:在真实 RFQ 结束后询问 Buyer 是否愿意
173
173
  * 保存该 Merchant)。只追加一条 `supplier_save_suggested` 任务事件(带
174
174
  * merchant_id 与来源磋商引用),绝不写 supplier_relationships。幂等/不刷屏:
175
- * 已有 active/paused 关系、或冷却窗口内已有同 merchant 的建议事件时不重复。
175
+ * 已有 active/paused/review_required 关系、或冷却窗口内已有同 merchant 的建议事件时不重复。
176
176
  */
177
177
  function maybeSuggestSupplierSave(deps, input) {
178
178
  const supplierStore = deps.supplierStore;
179
179
  if (supplierStore === undefined)
180
180
  return false; // 未接线 → 不建议(可选依赖)
181
181
  const hasRelationship = supplierStore
182
- .listRelationships({ statuses: ["active", "paused"] })
182
+ .listRelationships({ statuses: ["active", "paused", "review_required"] })
183
183
  .some((r) => r.merchant_id === input.merchant_id);
184
184
  if (hasRelationship)
185
185
  return false;
@@ -262,7 +262,7 @@ async function executeNegotiateBuyerTask(deps, args) {
262
262
  return converted.lossless ? converted.amount_minor : NEGOTIATE_DEAL_PRICE_MINOR;
263
263
  })()
264
264
  : NEGOTIATE_DEAL_PRICE_MINOR,
265
- deliveryBefore: intent.needed_by ?? NEGOTIATE_DELIVERY_BEFORE,
265
+ deliveryBefore: intent.needed_by ?? defaultNegotiateDeliveryBefore(),
266
266
  senderIdentity: deps.profile.agent_id,
267
267
  // 预算硬约束(单价上限):成交价超此值即拒绝。优先 constraints.max_unit_price;
268
268
  // 只有总预算时按数量折算单价。
@@ -364,12 +364,19 @@ async function executeNegotiateBuyerTask(deps, args) {
364
364
  .listCandidates(a.task_id)
365
365
  .find((c) => c.owner_agent_id === result.catalogAgentId)?.merchant_id ??
366
366
  result.catalogAgentId;
367
- const supplierSaveSuggested = maybeSuggestSupplierSave(deps, {
368
- task_id: a.task_id,
369
- merchant_id: merchantId,
370
- catalog_agent_id: result.catalogAgentId,
371
- negotiation_id: result.negotiationId,
372
- });
367
+ let supplierSaveSuggested = false;
368
+ try {
369
+ supplierSaveSuggested = maybeSuggestSupplierSave(deps, {
370
+ task_id: a.task_id,
371
+ merchant_id: merchantId,
372
+ catalog_agent_id: result.catalogAgentId,
373
+ negotiation_id: result.negotiationId,
374
+ });
375
+ }
376
+ catch {
377
+ // 保存建议是辅助体验:关系库/事件冷却查询失败不得把已经成功并已落账的 RFQ 反转成失败。
378
+ supplierSaveSuggested = false;
379
+ }
373
380
  await deps
374
381
  .recordNegotiation?.({
375
382
  negotiationId: result.negotiationId,