@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
@@ -77,7 +77,9 @@ const TOP_LEVEL_KEYS = [
77
77
  "buyer_policy",
78
78
  "weixin",
79
79
  "decision",
80
+ "merchant_experience",
80
81
  "merchant_public",
82
+ "merchant_mcp",
81
83
  ];
82
84
  /** weixin 段白名单(微信远程控制通道配置;无 *_env 密钥字段——iLink 凭证运行时获取)。 */
83
85
  const WEIXIN_KEYS = ["allow_users", "base_url"];
@@ -105,6 +107,7 @@ const MERCHANT_POLICY_KEYS = [
105
107
  "promos",
106
108
  "inventory_source",
107
109
  "quote_ttl_seconds",
110
+ "delivery_lead_days",
108
111
  "auto_negotiate",
109
112
  "human_review_on",
110
113
  ];
@@ -119,7 +122,24 @@ const BUYER_POLICY_KEYS = [
119
122
  "human_review_on",
120
123
  ];
121
124
  const DECISION_KEYS = ["backend", "enabled"];
125
+ const MERCHANT_EXPERIENCE_KEYS = [
126
+ "enabled",
127
+ "intelligence",
128
+ "grounding",
129
+ "presentation",
130
+ "skills",
131
+ "max_external_context_chars",
132
+ "max_presentation_items",
133
+ "prompt_cache_retention",
134
+ ];
122
135
  const MERCHANT_PUBLIC_KEYS = ["public_url", "a2a_port", "shopping_db_path", "catalog_url", "merchant_token_env"];
136
+ /**
137
+ * merchant_mcp 段白名单(WorkBuddy Buddy 应用 MCP server;阶段二)。
138
+ * token 只存环境变量名(token_env),secret 值绝不写 profile。
139
+ * auth_mode(V2 阶段一):token = V1 静态 Bearer(过渡);oauth = 自建 OAuth
140
+ * 2.1 授权服务器(PKCE/动态注册)。public_url 为 OAuth issuer(生产必须 https)。
141
+ */
142
+ const MERCHANT_MCP_KEYS = ["enabled", "host", "port", "path", "token_env", "auth_mode", "public_url"];
123
143
  const DECISION_BACKENDS = ["deterministic", "mock", "deepseek"];
124
144
  /** RFC 3339 date-time with an explicit timezone (offset or Z); naive times fail closed. */
125
145
  const RFC3339_TZ = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/;
@@ -146,6 +166,77 @@ function rejectUnknownKeys(obj, allowed, section, source) {
146
166
  function reqFinite(value, field, source) {
147
167
  req(typeof value === "number" && Number.isFinite(value), `${source}: ${field} must be a finite number (NaN/Infinity are not allowed)`);
148
168
  }
169
+ /**
170
+ * merchant_policy 解析与校验(BUG-07 抽取):profile 加载与策略热更新覆盖层
171
+ * (policy-overrides.json)共用同一套规则——未知字段、非法值一律拒绝,保证
172
+ * 运行中策略与启动 profile 的校验口径完全一致。校验失败抛 ProfileError。
173
+ */
174
+ export function parseMerchantPolicy(value, source) {
175
+ req(isObject(value), `${source}: merchant_policy must be a mapping`);
176
+ const mp = value;
177
+ rejectUnknownKeys(mp, MERCHANT_POLICY_KEYS, "merchant_policy", source);
178
+ if (mp.min_unit_price_private !== undefined) {
179
+ reqFinite(mp.min_unit_price_private, "merchant_policy.min_unit_price_private", source);
180
+ req(mp.min_unit_price_private >= 0, `${source}: merchant_policy.min_unit_price_private must be >= 0`);
181
+ }
182
+ if (mp.max_auto_discount_percent !== undefined) {
183
+ reqFinite(mp.max_auto_discount_percent, "merchant_policy.max_auto_discount_percent", source);
184
+ req(mp.max_auto_discount_percent >= 0 && mp.max_auto_discount_percent <= 100, `${source}: merchant_policy.max_auto_discount_percent must be between 0 and 100`);
185
+ }
186
+ if (mp.inventory_source !== undefined) {
187
+ req(typeof mp.inventory_source === "string" && mp.inventory_source.length > 0, `${source}: merchant_policy.inventory_source must be a non-empty string`);
188
+ }
189
+ if (mp.quote_ttl_seconds !== undefined) {
190
+ reqFinite(mp.quote_ttl_seconds, "merchant_policy.quote_ttl_seconds", source);
191
+ req(mp.quote_ttl_seconds > 0, `${source}: merchant_policy.quote_ttl_seconds must be > 0`);
192
+ }
193
+ if (mp.delivery_lead_days !== undefined) {
194
+ reqFinite(mp.delivery_lead_days, "merchant_policy.delivery_lead_days", source);
195
+ req(mp.delivery_lead_days > 0, `${source}: merchant_policy.delivery_lead_days must be > 0`);
196
+ }
197
+ if (mp.auto_negotiate !== undefined) {
198
+ req(typeof mp.auto_negotiate === "boolean", `${source}: merchant_policy.auto_negotiate must be a boolean`);
199
+ }
200
+ if (mp.human_review_on !== undefined) {
201
+ req(Array.isArray(mp.human_review_on) &&
202
+ mp.human_review_on.every((c) => typeof c === "string" && c.length > 0), `${source}: merchant_policy.human_review_on must be a list of non-empty strings`);
203
+ }
204
+ // per-SKU floor / discount:`{ sku: number }`,键非空字符串,值有限且合理。
205
+ if (mp.price_floors !== undefined) {
206
+ req(isObject(mp.price_floors), `${source}: merchant_policy.price_floors must be a mapping`);
207
+ for (const [sku, floor] of Object.entries(mp.price_floors)) {
208
+ req(sku.length > 0, `${source}: merchant_policy.price_floors key must be a non-empty string`);
209
+ reqFinite(floor, `merchant_policy.price_floors.${sku}`, source);
210
+ req(floor >= 0, `${source}: merchant_policy.price_floors.${sku} must be >= 0`);
211
+ }
212
+ }
213
+ if (mp.sku_max_discount_percent !== undefined) {
214
+ req(isObject(mp.sku_max_discount_percent), `${source}: merchant_policy.sku_max_discount_percent must be a mapping`);
215
+ for (const [sku, pct] of Object.entries(mp.sku_max_discount_percent)) {
216
+ req(sku.length > 0, `${source}: merchant_policy.sku_max_discount_percent key must be a non-empty string`);
217
+ reqFinite(pct, `merchant_policy.sku_max_discount_percent.${sku}`, source);
218
+ req(pct >= 0 && pct <= 100, `${source}: merchant_policy.sku_max_discount_percent.${sku} must be between 0 and 100`);
219
+ }
220
+ }
221
+ if (mp.promos !== undefined) {
222
+ req(isObject(mp.promos), `${source}: merchant_policy.promos must be a mapping`);
223
+ for (const [sku, promo] of Object.entries(mp.promos)) {
224
+ req(sku.length > 0, `${source}: merchant_policy.promos key must be a non-empty string`);
225
+ req(isObject(promo), `${source}: merchant_policy.promos.${sku} must be a mapping`);
226
+ rejectUnknownKeys(promo, PROMO_KEYS, `merchant_policy.promos.${sku}`, source);
227
+ const p = promo;
228
+ if (p.bulk_threshold !== undefined) {
229
+ reqFinite(p.bulk_threshold, `merchant_policy.promos.${sku}.bulk_threshold`, source);
230
+ req(Number.isInteger(p.bulk_threshold) && p.bulk_threshold >= 1, `${source}: merchant_policy.promos.${sku}.bulk_threshold must be a positive integer`);
231
+ }
232
+ if (p.bulk_discount_percent !== undefined) {
233
+ reqFinite(p.bulk_discount_percent, `merchant_policy.promos.${sku}.bulk_discount_percent`, source);
234
+ req(p.bulk_discount_percent >= 0 && p.bulk_discount_percent <= 100, `${source}: merchant_policy.promos.${sku}.bulk_discount_percent must be between 0 and 100`);
235
+ }
236
+ }
237
+ }
238
+ return { ...mp };
239
+ }
149
240
  /**
150
241
  * Validate a base URL: http(s) only, no embedded credentials, and cleartext
151
242
  * HTTP only for loopback hosts (localhost / 127.0.0.1 / ::1).
@@ -278,66 +369,7 @@ export function validateProfile(data, source) {
278
369
  rejectUnknownKeys(runtime, RUNTIME_KEYS, "runtime", source);
279
370
  let merchantPolicy;
280
371
  if (p.merchant_policy !== undefined) {
281
- req(isObject(p.merchant_policy), `${source}: merchant_policy must be a mapping`);
282
- const mp = p.merchant_policy;
283
- rejectUnknownKeys(mp, MERCHANT_POLICY_KEYS, "merchant_policy", source);
284
- if (mp.min_unit_price_private !== undefined) {
285
- reqFinite(mp.min_unit_price_private, "merchant_policy.min_unit_price_private", source);
286
- req(mp.min_unit_price_private >= 0, `${source}: merchant_policy.min_unit_price_private must be >= 0`);
287
- }
288
- if (mp.max_auto_discount_percent !== undefined) {
289
- reqFinite(mp.max_auto_discount_percent, "merchant_policy.max_auto_discount_percent", source);
290
- req(mp.max_auto_discount_percent >= 0 && mp.max_auto_discount_percent <= 100, `${source}: merchant_policy.max_auto_discount_percent must be between 0 and 100`);
291
- }
292
- if (mp.inventory_source !== undefined) {
293
- req(typeof mp.inventory_source === "string" && mp.inventory_source.length > 0, `${source}: merchant_policy.inventory_source must be a non-empty string`);
294
- }
295
- if (mp.quote_ttl_seconds !== undefined) {
296
- reqFinite(mp.quote_ttl_seconds, "merchant_policy.quote_ttl_seconds", source);
297
- req(mp.quote_ttl_seconds > 0, `${source}: merchant_policy.quote_ttl_seconds must be > 0`);
298
- }
299
- if (mp.auto_negotiate !== undefined) {
300
- req(typeof mp.auto_negotiate === "boolean", `${source}: merchant_policy.auto_negotiate must be a boolean`);
301
- }
302
- if (mp.human_review_on !== undefined) {
303
- req(Array.isArray(mp.human_review_on) &&
304
- mp.human_review_on.every((c) => typeof c === "string" && c.length > 0), `${source}: merchant_policy.human_review_on must be a list of non-empty strings`);
305
- }
306
- // per-SKU floor / discount:`{ sku: number }`,键非空字符串,值有限且合理。
307
- if (mp.price_floors !== undefined) {
308
- req(isObject(mp.price_floors), `${source}: merchant_policy.price_floors must be a mapping`);
309
- for (const [sku, floor] of Object.entries(mp.price_floors)) {
310
- req(sku.length > 0, `${source}: merchant_policy.price_floors key must be a non-empty string`);
311
- reqFinite(floor, `merchant_policy.price_floors.${sku}`, source);
312
- req(floor >= 0, `${source}: merchant_policy.price_floors.${sku} must be >= 0`);
313
- }
314
- }
315
- if (mp.sku_max_discount_percent !== undefined) {
316
- req(isObject(mp.sku_max_discount_percent), `${source}: merchant_policy.sku_max_discount_percent must be a mapping`);
317
- for (const [sku, pct] of Object.entries(mp.sku_max_discount_percent)) {
318
- req(sku.length > 0, `${source}: merchant_policy.sku_max_discount_percent key must be a non-empty string`);
319
- reqFinite(pct, `merchant_policy.sku_max_discount_percent.${sku}`, source);
320
- req(pct >= 0 && pct <= 100, `${source}: merchant_policy.sku_max_discount_percent.${sku} must be between 0 and 100`);
321
- }
322
- }
323
- if (mp.promos !== undefined) {
324
- req(isObject(mp.promos), `${source}: merchant_policy.promos must be a mapping`);
325
- for (const [sku, promo] of Object.entries(mp.promos)) {
326
- req(sku.length > 0, `${source}: merchant_policy.promos key must be a non-empty string`);
327
- req(isObject(promo), `${source}: merchant_policy.promos.${sku} must be a mapping`);
328
- rejectUnknownKeys(promo, PROMO_KEYS, `merchant_policy.promos.${sku}`, source);
329
- const p = promo;
330
- if (p.bulk_threshold !== undefined) {
331
- reqFinite(p.bulk_threshold, `merchant_policy.promos.${sku}.bulk_threshold`, source);
332
- req(Number.isInteger(p.bulk_threshold) && p.bulk_threshold >= 1, `${source}: merchant_policy.promos.${sku}.bulk_threshold must be a positive integer`);
333
- }
334
- if (p.bulk_discount_percent !== undefined) {
335
- reqFinite(p.bulk_discount_percent, `merchant_policy.promos.${sku}.bulk_discount_percent`, source);
336
- req(p.bulk_discount_percent >= 0 && p.bulk_discount_percent <= 100, `${source}: merchant_policy.promos.${sku}.bulk_discount_percent must be between 0 and 100`);
337
- }
338
- }
339
- }
340
- merchantPolicy = { ...mp };
372
+ merchantPolicy = parseMerchantPolicy(p.merchant_policy, source);
341
373
  }
342
374
  let decisionSection;
343
375
  if (p.decision !== undefined) {
@@ -358,6 +390,53 @@ export function validateProfile(data, source) {
358
390
  }
359
391
  decisionSection = { backend: d.backend, ...(d.enabled !== undefined ? { enabled: d.enabled } : {}) };
360
392
  }
393
+ let merchantExperience;
394
+ if (p.merchant_experience !== undefined) {
395
+ req(isObject(p.merchant_experience), `${source}: merchant_experience must be a mapping`);
396
+ const experience = p.merchant_experience;
397
+ rejectUnknownKeys(experience, MERCHANT_EXPERIENCE_KEYS, "merchant_experience", source);
398
+ for (const key of ["enabled", "intelligence", "grounding", "presentation", "skills"]) {
399
+ if (experience[key] !== undefined) {
400
+ req(typeof experience[key] === "boolean", `${source}: merchant_experience.${key} must be a boolean`);
401
+ }
402
+ }
403
+ if (experience.max_external_context_chars !== undefined) {
404
+ reqFinite(experience.max_external_context_chars, "merchant_experience.max_external_context_chars", source);
405
+ req(Number.isInteger(experience.max_external_context_chars) &&
406
+ experience.max_external_context_chars >= 1_000 && experience.max_external_context_chars <= 50_000, `${source}: merchant_experience.max_external_context_chars must be between 1000 and 50000`);
407
+ }
408
+ if (experience.max_presentation_items !== undefined) {
409
+ reqFinite(experience.max_presentation_items, "merchant_experience.max_presentation_items", source);
410
+ req(Number.isInteger(experience.max_presentation_items) &&
411
+ experience.max_presentation_items >= 1 &&
412
+ experience.max_presentation_items <= 50, `${source}: merchant_experience.max_presentation_items must be an integer between 1 and 50`);
413
+ }
414
+ if (experience.prompt_cache_retention !== undefined) {
415
+ req(experience.prompt_cache_retention === "none" ||
416
+ experience.prompt_cache_retention === "short" ||
417
+ experience.prompt_cache_retention === "long", `${source}: merchant_experience.prompt_cache_retention must be none, short or long`);
418
+ }
419
+ if (p.role !== "merchant") {
420
+ throw new ProfileError(`${source}: merchant_experience is only valid for role=merchant`);
421
+ }
422
+ const experienceBoolean = (key) => experience[key] === undefined ? undefined : experience[key];
423
+ merchantExperience = {
424
+ ...(experienceBoolean("enabled") !== undefined ? { enabled: experienceBoolean("enabled") } : {}),
425
+ ...(experienceBoolean("intelligence") !== undefined ? { intelligence: experienceBoolean("intelligence") } : {}),
426
+ ...(experienceBoolean("grounding") !== undefined ? { grounding: experienceBoolean("grounding") } : {}),
427
+ ...(experienceBoolean("presentation") !== undefined ? { presentation: experienceBoolean("presentation") } : {}),
428
+ ...(experienceBoolean("skills") !== undefined ? { skills: experienceBoolean("skills") } : {}),
429
+ ...(experience.max_external_context_chars !== undefined
430
+ ? { max_external_context_chars: experience.max_external_context_chars }
431
+ : {}),
432
+ ...(experience.max_presentation_items !== undefined
433
+ ? { max_presentation_items: experience.max_presentation_items }
434
+ : {}),
435
+ ...(experience.prompt_cache_retention !== undefined
436
+ ? { prompt_cache_retention: experience.prompt_cache_retention }
437
+ : {}),
438
+ };
439
+ }
361
440
  let merchantPublic;
362
441
  if (p.merchant_public !== undefined) {
363
442
  req(isObject(p.merchant_public), `${source}: merchant_public must be a mapping`);
@@ -367,7 +446,8 @@ export function validateProfile(data, source) {
367
446
  req(typeof mp.public_url === "string" && mp.public_url.trim() !== "", `${source}: merchant_public.public_url must be a non-empty string`);
368
447
  }
369
448
  if (mp.a2a_port !== undefined) {
370
- req(Number.isInteger(mp.a2a_port) && Number(mp.a2a_port) > 0, `${source}: merchant_public.a2a_port must be a positive integer`);
449
+ const a2aPort = Number(mp.a2a_port);
450
+ req(Number.isInteger(a2aPort) && a2aPort > 0 && a2aPort <= 65535, `${source}: merchant_public.a2a_port must be an integer in [1, 65535]`);
371
451
  }
372
452
  if (mp.shopping_db_path !== undefined) {
373
453
  req(typeof mp.shopping_db_path === "string" && mp.shopping_db_path.trim() !== "", `${source}: merchant_public.shopping_db_path must be a non-empty string`);
@@ -386,6 +466,48 @@ export function validateProfile(data, source) {
386
466
  ...(mp.merchant_token_env !== undefined ? { merchant_token_env: String(mp.merchant_token_env) } : {}),
387
467
  };
388
468
  }
469
+ let merchantMcp;
470
+ if (p.merchant_mcp !== undefined) {
471
+ req(isObject(p.merchant_mcp), `${source}: merchant_mcp must be a mapping`);
472
+ const mm = p.merchant_mcp;
473
+ rejectUnknownKeys(mm, MERCHANT_MCP_KEYS, "merchant_mcp", source);
474
+ // merchant-only 概念:buyer 配置 merchant_mcp → fail-closed。
475
+ if (p.role !== "merchant") {
476
+ req(false, `${source}: merchant_mcp is only valid for role=merchant`);
477
+ }
478
+ if (mm.enabled !== undefined) {
479
+ req(typeof mm.enabled === "boolean", `${source}: merchant_mcp.enabled must be a boolean`);
480
+ }
481
+ if (mm.host !== undefined) {
482
+ req(typeof mm.host === "string" && mm.host.trim() !== "", `${source}: merchant_mcp.host must be a non-empty string`);
483
+ }
484
+ if (mm.port !== undefined) {
485
+ req(Number.isInteger(mm.port) && Number(mm.port) > 0 && Number(mm.port) <= 65535, `${source}: merchant_mcp.port must be an integer between 1 and 65535`);
486
+ }
487
+ if (mm.path !== undefined) {
488
+ req(typeof mm.path === "string" && /^\/[A-Za-z0-9/_-]*$/.test(mm.path), `${source}: merchant_mcp.path must be a URL path like /mcp`);
489
+ }
490
+ if (mm.token_env !== undefined) {
491
+ req(typeof mm.token_env === "string" && REQUIRED_ENV_REF.test(mm.token_env), `${source}: merchant_mcp.token_env must name an environment variable; secrets must not be written into the profile`);
492
+ }
493
+ if (mm.auth_mode !== undefined) {
494
+ req(mm.auth_mode === "token" || mm.auth_mode === "oauth", `${source}: merchant_mcp.auth_mode must be token or oauth`);
495
+ }
496
+ if (mm.public_url !== undefined) {
497
+ req(typeof mm.public_url === "string" && /^https:\/\//.test(mm.public_url), `${source}: merchant_mcp.public_url must be an https URL(OAuth issuer;本地开发可省略)`);
498
+ }
499
+ merchantMcp = {
500
+ ...(mm.enabled !== undefined ? { enabled: mm.enabled } : {}),
501
+ ...(mm.host !== undefined ? { host: String(mm.host) } : {}),
502
+ ...(mm.port !== undefined ? { port: Number(mm.port) } : {}),
503
+ ...(mm.path !== undefined ? { path: String(mm.path) } : {}),
504
+ ...(mm.token_env !== undefined ? { token_env: String(mm.token_env) } : {}),
505
+ ...(mm.auth_mode !== undefined
506
+ ? { auth_mode: mm.auth_mode }
507
+ : {}),
508
+ ...(mm.public_url !== undefined ? { public_url: String(mm.public_url) } : {}),
509
+ };
510
+ }
389
511
  let buyerPolicy;
390
512
  if (p.buyer_policy !== undefined) {
391
513
  req(isObject(p.buyer_policy), `${source}: buyer_policy must be a mapping`);
@@ -473,7 +595,9 @@ export function validateProfile(data, source) {
473
595
  ...(buyerPolicy !== undefined ? { buyer_policy: buyerPolicy } : {}),
474
596
  ...(weixinSection !== undefined ? { weixin: weixinSection } : {}),
475
597
  ...(decisionSection !== undefined ? { decision: decisionSection } : {}),
598
+ ...(merchantExperience !== undefined ? { merchant_experience: merchantExperience } : {}),
476
599
  ...(merchantPublic !== undefined ? { merchant_public: merchantPublic } : {}),
600
+ ...(merchantMcp !== undefined ? { merchant_mcp: merchantMcp } : {}),
477
601
  };
478
602
  return profile;
479
603
  }
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/config/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/config/profile.ts"],"names":[],"mappings":"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"}
@@ -44,17 +44,20 @@ import { contentDigest } from "../negotiation/jcs.js";
44
44
  import { createHandoffCandidate } from "../handoff/candidate.js";
45
45
  const CAPABILITY = "com.harrylabsj.kiwi.shopping.negotiation";
46
46
  const NOW = () => new Date().toISOString();
47
- const DELIVERY_BEFORE = "2026-08-20T18:00:00Z";
47
+ /** 演示场景交期(天):相对运行时间计算,不用固定日期(静态日期会过期,
48
+ * V2 §8.5 P0-1;demo 是演示夹具,不参与生产报价)。 */
49
+ const demoDate = (daysFromNow) => new Date(Date.parse(NOW()) + daysFromNow * 86_400_000).toISOString();
50
+ const demoDay = (daysFromNow) => demoDate(daysFromNow).slice(0, 10);
48
51
  const SCENARIO_A = {
49
52
  name: "保温杯批量采购(低理解成本)",
50
53
  description: "一个 SKU、固定规格,聚焦价格/交期/批量折扣。",
51
54
  sku: "SKU-001",
52
55
  quantity: 200,
53
- deliveryBefore: DELIVERY_BEFORE,
56
+ deliveryBefore: demoDate(14),
54
57
  merchants: [
55
- { id: "merchant-alpha", name: "Alpha 保温杯厂", price: 880, dealDiscountPercent: 5, delivery: "2026-08-18", approvalRequired: false },
56
- { id: "merchant-beta", name: "Beta 生活用品", price: 850, dealDiscountPercent: 8, delivery: "2026-08-20", approvalRequired: false },
57
- { id: "merchant-gamma", name: "Gamma 批发行", price: 820, dealDiscountPercent: 10, delivery: "2026-08-25", approvalRequired: true },
58
+ { id: "merchant-alpha", name: "Alpha 保温杯厂", price: 880, dealDiscountPercent: 5, delivery: demoDay(12), approvalRequired: false },
59
+ { id: "merchant-beta", name: "Beta 生活用品", price: 850, dealDiscountPercent: 8, delivery: demoDay(14), approvalRequired: false },
60
+ { id: "merchant-gamma", name: "Gamma 批发行", price: 820, dealDiscountPercent: 10, delivery: demoDay(19), approvalRequired: true },
58
61
  ],
59
62
  };
60
63
  const SCENARIO_B = {
@@ -62,11 +65,11 @@ const SCENARIO_B = {
62
65
  description: "参数化规格(数量阶梯 + 交期约束),展示 ConditionalOffer 条件成交。",
63
66
  sku: "SKU-002",
64
67
  quantity: 500,
65
- deliveryBefore: DELIVERY_BEFORE,
68
+ deliveryBefore: demoDate(14),
66
69
  merchants: [
67
- { id: "merchant-delta", name: "Delta 精密件", price: 1250, dealDiscountPercent: 12, delivery: "2026-09-01", approvalRequired: false },
68
- { id: "merchant-epsilon", name: "Epsilon 标准件", price: 1180, dealDiscountPercent: 6, delivery: "2026-08-30", approvalRequired: false },
69
- { id: "merchant-zeta", name: "Zeta 总成厂", price: 1100, dealDiscountPercent: 15, delivery: "2026-09-10", approvalRequired: true },
70
+ { id: "merchant-delta", name: "Delta 精密件", price: 1250, dealDiscountPercent: 12, delivery: demoDay(26), approvalRequired: false },
71
+ { id: "merchant-epsilon", name: "Epsilon 标准件", price: 1180, dealDiscountPercent: 6, delivery: demoDay(24), approvalRequired: false },
72
+ { id: "merchant-zeta", name: "Zeta 总成厂", price: 1100, dealDiscountPercent: 15, delivery: demoDay(35), approvalRequired: true },
70
73
  ],
71
74
  };
72
75
  export const DEMO_SCENARIOS = { a: SCENARIO_A, b: SCENARIO_B };
@@ -1 +1 @@
1
- {"version":3,"file":"demo-runner.js","sourceRoot":"","sources":["../../src/demo/demo-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"demo-runner.js","sourceRoot":"","sources":["../../src/demo/demo-runner.ts"],"names":[],"mappings":"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"}