@harrylabsj/kiwi 0.8.0 → 0.10.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 (214) hide show
  1. package/README.md +1 -1
  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 +56 -3
  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 +2 -2
  12. package/dist/agent/buyer/buyer-tools.js.map +1 -1
  13. package/dist/agent/kernel.js +5 -1
  14. package/dist/agent/kernel.js.map +1 -1
  15. package/dist/agent/memory/schema.d.ts +1 -1
  16. package/dist/agent/memory/schema.js +9 -1
  17. package/dist/agent/memory/schema.js.map +1 -1
  18. package/dist/agent/merchant/action-candidate.d.ts +18 -0
  19. package/dist/agent/merchant/action-candidate.js +51 -0
  20. package/dist/agent/merchant/action-candidate.js.map +1 -1
  21. package/dist/agent/merchant/fake-merchant-client.js +6 -1
  22. package/dist/agent/merchant/fake-merchant-client.js.map +1 -1
  23. package/dist/agent/merchant/intelligence/default-backend.js +25 -2
  24. package/dist/agent/merchant/intelligence/default-backend.js.map +1 -1
  25. package/dist/agent/merchant/merchant-client.d.ts +50 -1
  26. package/dist/agent/merchant/merchant-client.js +157 -8
  27. package/dist/agent/merchant/merchant-client.js.map +1 -1
  28. package/dist/agent/merchant/merchant-presentations.js +25 -2
  29. package/dist/agent/merchant/merchant-presentations.js.map +1 -1
  30. package/dist/agent/merchant/merchant-tools.js +102 -188
  31. package/dist/agent/merchant/merchant-tools.js.map +1 -1
  32. package/dist/agent/merchant/types.d.ts +6 -2
  33. package/dist/agent/merchant/types.js +45 -0
  34. package/dist/agent/merchant/types.js.map +1 -1
  35. package/dist/auth/merchant-authorization.d.ts +49 -0
  36. package/dist/auth/merchant-authorization.js +61 -0
  37. package/dist/auth/merchant-authorization.js.map +1 -0
  38. package/dist/auth/merchant-oauth.d.ts +255 -0
  39. package/dist/auth/merchant-oauth.js +764 -0
  40. package/dist/auth/merchant-oauth.js.map +1 -0
  41. package/dist/auth/merchant-pairing.d.ts +62 -0
  42. package/dist/auth/merchant-pairing.js +199 -0
  43. package/dist/auth/merchant-pairing.js.map +1 -0
  44. package/dist/auth/merchant-sessions.d.ts +71 -0
  45. package/dist/auth/merchant-sessions.js +168 -0
  46. package/dist/auth/merchant-sessions.js.map +1 -0
  47. package/dist/buyer-core/build-service.d.ts +5 -0
  48. package/dist/buyer-core/build-service.js +12 -0
  49. package/dist/buyer-core/build-service.js.map +1 -1
  50. package/dist/buyer-core/errors.d.ts +1 -1
  51. package/dist/buyer-core/errors.js +2 -0
  52. package/dist/buyer-core/errors.js.map +1 -1
  53. package/dist/buyer-core/merchant-index.d.ts +19 -4
  54. package/dist/buyer-core/merchant-index.js +137 -16
  55. package/dist/buyer-core/merchant-index.js.map +1 -1
  56. package/dist/buyer-core/negotiator.d.ts +0 -10
  57. package/dist/buyer-core/negotiator.js +12 -1
  58. package/dist/buyer-core/negotiator.js.map +1 -1
  59. package/dist/buyer-core/quote-fetcher.js +2 -1
  60. package/dist/buyer-core/quote-fetcher.js.map +1 -1
  61. package/dist/buyer-core/service.d.ts +104 -0
  62. package/dist/buyer-core/service.js +105 -1
  63. package/dist/buyer-core/service.js.map +1 -1
  64. package/dist/cli.d.ts +4 -2
  65. package/dist/cli.js +612 -20
  66. package/dist/cli.js.map +1 -1
  67. package/dist/config/profile.d.ts +30 -0
  68. package/dist/config/profile.js +126 -61
  69. package/dist/config/profile.js.map +1 -1
  70. package/dist/demo/demo-runner.js +12 -9
  71. package/dist/demo/demo-runner.js.map +1 -1
  72. package/dist/discovery/catalog-source/buyer-follows.d.ts +82 -0
  73. package/dist/discovery/catalog-source/buyer-follows.js +228 -0
  74. package/dist/discovery/catalog-source/buyer-follows.js.map +1 -0
  75. package/dist/discovery/catalog-source/connector-identity.d.ts +75 -0
  76. package/dist/discovery/catalog-source/connector-identity.js +175 -0
  77. package/dist/discovery/catalog-source/connector-identity.js.map +1 -0
  78. package/dist/discovery/catalog-source/errors.d.ts +1 -1
  79. package/dist/discovery/catalog-source/errors.js +2 -0
  80. package/dist/discovery/catalog-source/errors.js.map +1 -1
  81. package/dist/discovery/catalog-source/merchant-publications.d.ts +65 -0
  82. package/dist/discovery/catalog-source/merchant-publications.js +207 -0
  83. package/dist/discovery/catalog-source/merchant-publications.js.map +1 -0
  84. package/dist/discovery/catalog-source/register.d.ts +24 -0
  85. package/dist/discovery/catalog-source/register.js +46 -0
  86. package/dist/discovery/catalog-source/register.js.map +1 -1
  87. package/dist/discovery/catalog-source/source.js +2 -1
  88. package/dist/discovery/catalog-source/source.js.map +1 -1
  89. package/dist/fs/atomic-write.d.ts +18 -0
  90. package/dist/fs/atomic-write.js +29 -0
  91. package/dist/fs/atomic-write.js.map +1 -0
  92. package/dist/http/server.js +4 -1
  93. package/dist/http/server.js.map +1 -1
  94. package/dist/mcp/cli.d.ts +2 -0
  95. package/dist/mcp/cli.js +7 -6
  96. package/dist/mcp/cli.js.map +1 -1
  97. package/dist/mcp/merchant-auth.d.ts +78 -0
  98. package/dist/mcp/merchant-auth.js +146 -0
  99. package/dist/mcp/merchant-auth.js.map +1 -0
  100. package/dist/mcp/merchant-dirs.d.ts +26 -0
  101. package/dist/mcp/merchant-dirs.js +44 -0
  102. package/dist/mcp/merchant-dirs.js.map +1 -0
  103. package/dist/mcp/merchant-resources.d.ts +38 -0
  104. package/dist/mcp/merchant-resources.js +146 -0
  105. package/dist/mcp/merchant-resources.js.map +1 -0
  106. package/dist/mcp/merchant-server.d.ts +106 -0
  107. package/dist/mcp/merchant-server.js +615 -0
  108. package/dist/mcp/merchant-server.js.map +1 -0
  109. package/dist/mcp/merchant-tools.d.ts +103 -0
  110. package/dist/mcp/merchant-tools.js +517 -0
  111. package/dist/mcp/merchant-tools.js.map +1 -0
  112. package/dist/mcp/server.js +4 -3
  113. package/dist/mcp/server.js.map +1 -1
  114. package/dist/mcp/tools.d.ts +5 -3
  115. package/dist/mcp/tools.js +102 -5
  116. package/dist/mcp/tools.js.map +1 -1
  117. package/dist/mcp/types.d.ts +1 -1
  118. package/dist/mcp/types.js +4 -0
  119. package/dist/mcp/types.js.map +1 -1
  120. package/dist/merchant/ops.d.ts +0 -11
  121. package/dist/merchant/ops.js +13 -1
  122. package/dist/merchant/ops.js.map +1 -1
  123. package/dist/merchant/workbench-service.d.ts +189 -0
  124. package/dist/merchant/workbench-service.js +417 -0
  125. package/dist/merchant/workbench-service.js.map +1 -0
  126. package/dist/merchant-admin/pending-page.d.ts +35 -0
  127. package/dist/merchant-admin/pending-page.js +69 -0
  128. package/dist/merchant-admin/pending-page.js.map +1 -0
  129. package/dist/merchant-core/commands.d.ts +99 -0
  130. package/dist/merchant-core/commands.js +179 -0
  131. package/dist/merchant-core/commands.js.map +1 -0
  132. package/dist/merchant-core/executor.d.ts +69 -0
  133. package/dist/merchant-core/executor.js +218 -0
  134. package/dist/merchant-core/executor.js.map +1 -0
  135. package/dist/merchant-core/negotiation-adapters.d.ts +55 -0
  136. package/dist/merchant-core/negotiation-adapters.js +55 -0
  137. package/dist/merchant-core/negotiation-adapters.js.map +1 -0
  138. package/dist/merchant-core/network-checks.d.ts +65 -0
  139. package/dist/merchant-core/network-checks.js +111 -0
  140. package/dist/merchant-core/network-checks.js.map +1 -0
  141. package/dist/merchant-core/operations.d.ts +64 -0
  142. package/dist/merchant-core/operations.js +136 -0
  143. package/dist/merchant-core/operations.js.map +1 -0
  144. package/dist/merchant-core/policy-runtime.d.ts +70 -0
  145. package/dist/merchant-core/policy-runtime.js +181 -0
  146. package/dist/merchant-core/policy-runtime.js.map +1 -0
  147. package/dist/merchant-core/product-import.d.ts +67 -0
  148. package/dist/merchant-core/product-import.js +160 -0
  149. package/dist/merchant-core/product-import.js.map +1 -0
  150. package/dist/merchant-core/service.d.ts +203 -0
  151. package/dist/merchant-core/service.js +402 -0
  152. package/dist/merchant-core/service.js.map +1 -0
  153. package/dist/merchant-gateway/catalog-publications.d.ts +96 -0
  154. package/dist/merchant-gateway/catalog-publications.js +212 -0
  155. package/dist/merchant-gateway/catalog-publications.js.map +1 -0
  156. package/dist/merchant-gateway/catalog-tools.d.ts +46 -0
  157. package/dist/merchant-gateway/catalog-tools.js +315 -0
  158. package/dist/merchant-gateway/catalog-tools.js.map +1 -0
  159. package/dist/merchant-gateway/cli.d.ts +75 -0
  160. package/dist/merchant-gateway/cli.js +461 -0
  161. package/dist/merchant-gateway/cli.js.map +1 -0
  162. package/dist/merchant-gateway/credential-vault.d.ts +44 -0
  163. package/dist/merchant-gateway/credential-vault.js +111 -0
  164. package/dist/merchant-gateway/credential-vault.js.map +1 -0
  165. package/dist/merchant-gateway/entry-server.d.ts +117 -0
  166. package/dist/merchant-gateway/entry-server.js +747 -0
  167. package/dist/merchant-gateway/entry-server.js.map +1 -0
  168. package/dist/merchant-gateway/instance-registration.d.ts +144 -0
  169. package/dist/merchant-gateway/instance-registration.js +391 -0
  170. package/dist/merchant-gateway/instance-registration.js.map +1 -0
  171. package/dist/merchant-gateway/instance-tools.d.ts +58 -0
  172. package/dist/merchant-gateway/instance-tools.js +186 -0
  173. package/dist/merchant-gateway/instance-tools.js.map +1 -0
  174. package/dist/merchant-gateway/mcp-proxy.d.ts +25 -0
  175. package/dist/merchant-gateway/mcp-proxy.js +192 -0
  176. package/dist/merchant-gateway/mcp-proxy.js.map +1 -0
  177. package/dist/merchant-gateway/pinned-fetch.d.ts +54 -0
  178. package/dist/merchant-gateway/pinned-fetch.js +231 -0
  179. package/dist/merchant-gateway/pinned-fetch.js.map +1 -0
  180. package/dist/merchant-gateway/tenant-registry.d.ts +82 -0
  181. package/dist/merchant-gateway/tenant-registry.js +190 -0
  182. package/dist/merchant-gateway/tenant-registry.js.map +1 -0
  183. package/dist/merchant-gateway/tool-bundle.d.ts +26 -0
  184. package/dist/merchant-gateway/tool-bundle.js +56 -0
  185. package/dist/merchant-gateway/tool-bundle.js.map +1 -0
  186. package/dist/merchant-runtime/backup.d.ts +48 -0
  187. package/dist/merchant-runtime/backup.js +226 -0
  188. package/dist/merchant-runtime/backup.js.map +1 -0
  189. package/dist/merchant-runtime/health.d.ts +99 -0
  190. package/dist/merchant-runtime/health.js +206 -0
  191. package/dist/merchant-runtime/health.js.map +1 -0
  192. package/dist/merchant-runtime/jobs.d.ts +64 -0
  193. package/dist/merchant-runtime/jobs.js +107 -0
  194. package/dist/merchant-runtime/jobs.js.map +1 -0
  195. package/dist/merchant-runtime/manager.d.ts +94 -0
  196. package/dist/merchant-runtime/manager.js +305 -0
  197. package/dist/merchant-runtime/manager.js.map +1 -0
  198. package/dist/merchant-runtime/services.d.ts +30 -0
  199. package/dist/merchant-runtime/services.js +51 -0
  200. package/dist/merchant-runtime/services.js.map +1 -0
  201. package/dist/net/url.d.ts +26 -0
  202. package/dist/net/url.js +32 -0
  203. package/dist/net/url.js.map +1 -0
  204. package/dist/product-cli.js +22 -3
  205. package/dist/product-cli.js.map +1 -1
  206. package/dist/product-compat.d.ts +9 -1
  207. package/dist/product-compat.js +12 -1
  208. package/dist/product-compat.js.map +1 -1
  209. package/dist/product-init.js +17 -5
  210. package/dist/product-init.js.map +1 -1
  211. package/dist/product-publish.js +2 -1
  212. package/dist/product-publish.js.map +1 -1
  213. package/package.json +3 -2
  214. package/skills/kiwi-buyer/SKILL.md +2 -0
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  [A2A](https://a2a-protocol.org/) 与 [UCP](https://ucp.dev/) 完成发现 → capability 协商 →
5
5
  磋商 → 非绑定协议。磋商以**非约束性商业协议**终止:不创建订单、不支付、不锁库存。
6
6
 
7
- **Kiwi 当前代码版本 0.7.22**:当前发布线包含 A2A 双栈、KNP/1.0 磋商、签名身份
7
+ **Kiwi 当前代码版本以 `package.json` 为准**(当前 0.8.0):当前发布线包含 A2A 双栈、KNP/1.0 磋商、签名身份
8
8
  与安全交接能力。A2A 1.0 线协议互操作以组合 conformance transcript 为准,不用历史审计
9
9
  文档替代运行证据。
10
10
 
@@ -20,7 +20,11 @@ export declare const NEGOTIATE_SKU = "sku-001";
20
20
  export declare const NEGOTIATE_CURRENCY = "CNY";
21
21
  export declare const NEGOTIATE_QUANTITY = 200;
22
22
  export declare const NEGOTIATE_DEAL_PRICE_MINOR = 83500;
23
- export declare const NEGOTIATE_DELIVERY_BEFORE = "2026-08-20T18:00:00Z";
23
+ /** 买方缺省要求交期的相对窗口(天):demo CLI 未显式给 needed_by/deliveryBefore
24
+ * 时的兜底。固定日期常量已移除(V2 §8.5 P0-1:静态交期会过期)。 */
25
+ export declare const NEGOTIATE_DEFAULT_LEAD_DAYS = 14;
26
+ /** 买方缺省要求交期:相对当前时间计算(now + NEGOTIATE_DEFAULT_LEAD_DAYS 天)。 */
27
+ export declare function defaultNegotiateDeliveryBefore(now?: string): string;
24
28
  export interface NegotiateOptions {
25
29
  /** agent catalog base URL。 */
26
30
  catalog: string;
@@ -37,7 +41,7 @@ export interface NegotiateOptions {
37
41
  sku?: string;
38
42
  /** 买方还价单价(minor 单位;缺省 835.00 分 = 83.50 元)。 */
39
43
  dealPriceMinor?: number;
40
- /** 要求交期(RFC3339;缺省 2026-08-20T18:00:00Z)。 */
44
+ /** 要求交期(RFC3339;缺省 defaultNegotiateDeliveryBefore() = 当前时间 + 14 天)。 */
41
45
  deliveryBefore?: string;
42
46
  /** 发送方身份(缺省 buyer:a2a-demo)。 */
43
47
  senderIdentity?: string;
@@ -40,7 +40,14 @@ export const NEGOTIATE_SKU = "sku-001";
40
40
  export const NEGOTIATE_CURRENCY = "CNY";
41
41
  export const NEGOTIATE_QUANTITY = 200;
42
42
  export const NEGOTIATE_DEAL_PRICE_MINOR = 83_500;
43
- export const NEGOTIATE_DELIVERY_BEFORE = "2026-08-20T18:00:00Z";
43
+ /** 买方缺省要求交期的相对窗口(天):demo CLI 未显式给 needed_by/deliveryBefore
44
+ * 时的兜底。固定日期常量已移除(V2 §8.5 P0-1:静态交期会过期)。 */
45
+ export const NEGOTIATE_DEFAULT_LEAD_DAYS = 14;
46
+ /** 买方缺省要求交期:相对当前时间计算(now + NEGOTIATE_DEFAULT_LEAD_DAYS 天)。 */
47
+ export function defaultNegotiateDeliveryBefore(now) {
48
+ const base = now !== undefined ? Date.parse(now) : Date.now();
49
+ return new Date(base + NEGOTIATE_DEFAULT_LEAD_DAYS * 86_400_000).toISOString();
50
+ }
44
51
  /** 解析出站 bearer:显式选项优先,缺省 env `KIWI_A2A_CLIENT_BEARER`。 */
45
52
  export function resolveOutboundBearer(options) {
46
53
  return options.outboundAuth?.bearer ?? process.env.KIWI_A2A_CLIENT_BEARER;
@@ -52,7 +59,7 @@ export function summarizeNegotiation(result, locale = detectLocale()) {
52
59
  const a = result.agreement;
53
60
  const sku = f?.sku ?? NEGOTIATE_SKU;
54
61
  const quantity = f?.quantity ?? NEGOTIATE_QUANTITY;
55
- const delivery = f?.deliveryBefore ?? NEGOTIATE_DELIVERY_BEFORE;
62
+ const delivery = f?.deliveryBefore ?? defaultNegotiateDeliveryBefore();
56
63
  const offerPrice = minorPrice(f?.offerPriceMinor);
57
64
  const dealPrice = minorPrice(f?.dealPriceMinor);
58
65
  const agreementId = String(a?.agreement_id ?? "");
@@ -164,7 +171,7 @@ export async function negotiateWithAgent(options) {
164
171
  const quantity = options.quantity ?? NEGOTIATE_QUANTITY;
165
172
  const sku = options.sku ?? NEGOTIATE_SKU;
166
173
  const counterPriceMinor = options.dealPriceMinor ?? NEGOTIATE_DEAL_PRICE_MINOR;
167
- const deliveryBefore = options.deliveryBefore ?? NEGOTIATE_DELIVERY_BEFORE;
174
+ const deliveryBefore = options.deliveryBefore ?? defaultNegotiateDeliveryBefore();
168
175
  const senderIdentity = options.senderIdentity ?? "buyer:a2a-demo";
169
176
  const dir = mkdtempSync(path.join(tmpdir(), "kiwi-a2a-negotiate-"));
170
177
  const now = createMonotonicClock();
@@ -1 +1 @@
1
- {"version":3,"file":"negotiate.js","sourceRoot":"","sources":["../../src/a2a/negotiate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"negotiate.js","sourceRoot":"","sources":["../../src/a2a/negotiate.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import type { AgentProfile } from "../config/profile.js";
16
+ import type { AgentProfile, MerchantPolicy } from "../config/profile.js";
17
17
  import type { AuthVerifier } from "./server/types.js";
18
18
  import { type ThrottleOptions } from "./server/index.js";
19
19
  import { type A2aSigningIdentity } from "./signing-key.js";
@@ -49,6 +49,9 @@ export interface A2aNodeOptions {
49
49
  * 缺省 LoopbackOnlyAuthVerifier 只信 socket 来源,反代从 127.0.0.1
50
50
  * 连接时外部请求在应用层就是 loopback 并被认证通过。未配置则启动失败。 */
51
51
  authVerifier?: AuthVerifier;
52
+ /** 商家定价策略(BUG-07):缺省用 profile.merchant_policy(启动时静态值);
53
+ * 传 provider 则每次报价取运行中生效策略(策略热更新跨进程立即生效)。 */
54
+ merchantPolicy?: MerchantPolicy | (() => MerchantPolicy | undefined);
52
55
  }
53
56
  export interface A2aNodeHandle {
54
57
  role: "buyer" | "merchant";
package/dist/a2a/node.js CHANGED
@@ -24,7 +24,7 @@
24
24
  * 端口按角色:merchant→9000、buyer→9001(KIWI_A2A_PORT 覆盖);占用则
25
25
  * pickFreePort 自动换。
26
26
  */
27
- import { closeSync, existsSync, mkdirSync, mkdtempSync, openSync, readFileSync, rmSync, unlinkSync, writeSync, } from "node:fs";
27
+ import { closeSync, existsSync, mkdirSync, mkdtempSync, openSync, readFileSync, rmSync, unlinkSync, writeFileSync, writeSync, } from "node:fs";
28
28
  import { createMonotonicClock } from "./clock.js";
29
29
  import { tmpdir } from "node:os";
30
30
  import path from "node:path";
@@ -37,9 +37,19 @@ import { LedgerStore } from "../negotiation/ledger/index.js";
37
37
  import { IdempotencyStore } from "../negotiation/idempotency/index.js";
38
38
  import { openMerchantStatsStore } from "../merchant/stats-store.js";
39
39
  import { pickFreePort } from "../supervisor/stack-config.js";
40
- import { registerCatalogAgent } from "../discovery/catalog-source/register.js";
40
+ import { registerCatalogAgent, sendCatalogAgentHeartbeat, } from "../discovery/catalog-source/register.js";
41
41
  import { HttpMerchantClient } from "../agent/merchant/merchant-client.js";
42
42
  import { ProfileCredentialBroker } from "../agent/merchant/credential-broker.js";
43
+ function writeRegistrationStatus(dataDir, status) {
44
+ if (dataDir === undefined)
45
+ return;
46
+ try {
47
+ writeFileSync(path.join(dataDir, "registration.json"), `${JSON.stringify({ ...status, checked_at: new Date().toISOString() }, null, 2)}\n`, { mode: 0o600 });
48
+ }
49
+ catch {
50
+ // 状态落盘失败不改变 A2A 服务结果;健康检查会通过缺失/旧状态告警。
51
+ }
52
+ }
43
53
  /** 现实单调时钟(审查 BUG-01):墙钟 + 同进程严格单调;生产不得用固定
44
54
  * 日期基准(第三方会收到历史时间戳/已过期报价,重启还会回退历史)。 */
45
55
  const monotonicNow = createMonotonicClock;
@@ -325,7 +335,9 @@ export async function startA2aNode(options) {
325
335
  counterparty: "buyer:*",
326
336
  productSource: buildProductSource(profile),
327
337
  allowDemoPriceFallback: profile.commerce.allow_demo_price_fallback ?? false,
328
- merchantPolicy: profile.merchant_policy,
338
+ // BUG-07:显式传入 provider(或静态值)时每次报价取运行中生效策略;
339
+ // 缺省仍是启动 profile 的静态策略。
340
+ merchantPolicy: options.merchantPolicy ?? profile.merchant_policy,
329
341
  })
330
342
  : defaultHandler();
331
343
  const holder = { baseUrl: advertisedBase };
@@ -370,6 +382,7 @@ export async function startA2aNode(options) {
370
382
  const agentCardUrl = `${advertisedBase}/.well-known/agent-card.json`;
371
383
  // merchant 角色:自动注册进 catalog(buyer 据此发现)。
372
384
  let catalogAgentId;
385
+ let heartbeatTimer;
373
386
  if (role === "merchant" && options.catalog !== undefined) {
374
387
  const safeAgentId = profile.agent_id.replace(/[^a-z0-9-]/gi, "-").toLowerCase();
375
388
  // 注册域名:显式 KIWI_CATALOG_DOMAIN 优先;有公网广告地址则取其
@@ -389,6 +402,38 @@ export async function startA2aNode(options) {
389
402
  ownerTokenSecret: options.ownerTokenSecret,
390
403
  });
391
404
  catalogAgentId = reg.catalogAgentId;
405
+ writeRegistrationStatus(options.dataDir, {
406
+ ok: reg.ok && catalogAgentId !== undefined,
407
+ ...(catalogAgentId !== undefined ? { catalog_agent_id: catalogAgentId } : {}),
408
+ });
409
+ if (catalogAgentId !== undefined) {
410
+ // WP6 心跳:刷新 catalog 的 last_seen_at,读侧据此按 TTL 判定是否
411
+ // "可实时询价"(离线商家不再被标成可实时询价,公开资料仍可查)。
412
+ // 间隔缺省 300s(catalog TTL 缺省 900s);KIWI_AGENT_HEARTBEAT_SECONDS=0 关闭。
413
+ const heartbeatSeconds = Number(process.env.KIWI_AGENT_HEARTBEAT_SECONDS ?? "300");
414
+ if (Number.isFinite(heartbeatSeconds) && heartbeatSeconds > 0) {
415
+ const heartbeat = () => {
416
+ void sendCatalogAgentHeartbeat({
417
+ catalogBaseUrl: String(options.catalog),
418
+ catalogAgentId: String(catalogAgentId),
419
+ ...(options.ownerToken !== undefined ? { ownerToken: options.ownerToken } : {}),
420
+ ...(options.ownerTokenSecret !== undefined
421
+ ? { ownerTokenSecret: options.ownerTokenSecret }
422
+ : {}),
423
+ merchantId: profile.agent_id,
424
+ }).catch((err) => {
425
+ // 心跳失败不致命:读侧会因超时把商家判为 stale(fail-visible)。
426
+ process.stderr.write(`⚠️ [kiwi] catalog 心跳失败:${err instanceof Error ? err.message : String(err)}\n`);
427
+ });
428
+ };
429
+ // 注册后**立即**心跳一次:否则刚上线的商家要等满一个间隔才被判"在线"
430
+ // (注册时的验证结论可能是 stale,买家会看到"服务离线")。
431
+ heartbeat();
432
+ const timer = setInterval(heartbeat, heartbeatSeconds * 1000);
433
+ heartbeatTimer = timer;
434
+ timer.unref?.();
435
+ }
436
+ }
392
437
  }
393
438
  catch (err) {
394
439
  // 审查 K-M11:注册失败必须可见——此前空 catch 静默吞掉,merchant 静默
@@ -400,6 +445,10 @@ export async function startA2aNode(options) {
400
445
  (requireRegistration
401
446
  ? "KIWI_REQUIRE_CATALOG_REGISTRATION 已开启,节点启动失败(fail-closed)。"
402
447
  : "merchant 不会出现在 catalog,buyer 只能经 direct URL 磋商。"));
448
+ writeRegistrationStatus(options.dataDir, {
449
+ ok: false,
450
+ error: detail,
451
+ });
403
452
  if (requireRegistration) {
404
453
  // fail-closed:注册失败即启动失败——先清理已创建的 server/锁/临时目录
405
454
  // (镜像 stop()),不留下监听中的孤儿节点。
@@ -422,6 +471,10 @@ export async function startA2aNode(options) {
422
471
  catalogAgentId,
423
472
  ...(signingIdentity !== undefined ? { signingIdentity } : {}),
424
473
  async stop() {
474
+ if (heartbeatTimer !== undefined) {
475
+ clearInterval(heartbeatTimer);
476
+ heartbeatTimer = undefined;
477
+ }
425
478
  httpServer.closeAllConnections?.();
426
479
  await new Promise((resolve) => httpServer.close(() => resolve()));
427
480
  statsStore?.close();
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/a2a/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/a2a/node.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,13 @@ export declare const MERCHANT_CURRENCY = "CNY";
34
34
  export declare const MERCHANT_OFFER_PRICE_MINOR = 85000;
35
35
  export declare const MERCHANT_DEAL_PRICE_MINOR = 83500;
36
36
  export declare const MERCHANT_QUANTITY = 200;
37
- export declare const MERCHANT_DELIVERY_BEFORE = "2026-08-20T18:00:00Z";
37
+ /**
38
+ * 交期取值(V2 §8.5 P0-1):merchant_policy.delivery_lead_days 配置的权威
39
+ * 交期(报价时间 + 天数),每次报价动态计算;未配置返回 undefined(terms
40
+ * 省略 delivery_before——明确未知,绝不报静态/过期日期)。固定日期常量已从
41
+ * 生产 terms 路径移除。
42
+ */
43
+ export declare function resolveDeliveryBefore(merchantPolicy: MerchantPolicy | undefined, now: string): string | undefined;
38
44
  /** 批量促销默认门槛(merchant_policy.promos[sku].bulk_threshold 缺省值)。 */
39
45
  export declare const DEFAULT_BULK_THRESHOLD = 100;
40
46
  /**
@@ -58,8 +64,10 @@ export interface MerchantHandlerOptions {
58
64
  allowDemoPriceFallback?: boolean;
59
65
  /** 条件成交折扣百分比(deal = base × (1 - pct/100));缺省 5。 */
60
66
  dealDiscountPercent?: number;
61
- /** merchant policy:确定性定价的 floor / 促销(per-SKU,可配置)。 */
62
- merchantPolicy?: MerchantPolicy;
67
+ /** merchant policy:确定性定价的 floor / 促销(per-SKU,可配置)。
68
+ * BUG-07:也接受 provider(每次报价时取运行中生效策略)——A2A 与 MCP
69
+ * 是不同进程,策略经覆盖层文件跨进程生效,handler 每请求读取最新值。 */
70
+ merchantPolicy?: MerchantPolicy | (() => MerchantPolicy | undefined);
63
71
  }
64
72
  /**
65
73
  * 真实商品源:给定 SKU 返回价目(shopping-cli 开放层/ERP/商品表均可接入)。
@@ -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 同轮弹回