@harrylabsj/kiwi 0.6.1 → 0.7.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 (151) hide show
  1. package/README.md +28 -0
  2. package/contracts/candidate-agent-dto-1.0.README.md +12 -8
  3. package/contracts/conformance/python-service/README.md +19 -0
  4. package/contracts/conformance/python-service/run.py +134 -0
  5. package/contracts/kiwi-catalog/1.0/listing-record.schema.json +11 -1
  6. package/contracts/kiwi-contracts.lock.json +7 -0
  7. package/contracts/manifest.json +61 -0
  8. package/contracts/vectors/candidate-agent.invalid-private-field.json +7 -0
  9. package/contracts/vectors/candidate-agent.valid.json +26 -0
  10. package/dist/a2a/client/client.js +39 -34
  11. package/dist/a2a/client/client.js.map +1 -1
  12. package/dist/a2a/client/url-policy.d.ts +8 -1
  13. package/dist/a2a/client/url-policy.js +18 -2
  14. package/dist/a2a/client/url-policy.js.map +1 -1
  15. package/dist/a2a/clock.d.ts +30 -0
  16. package/dist/a2a/clock.js +39 -0
  17. package/dist/a2a/clock.js.map +1 -0
  18. package/dist/a2a/negotiate.d.ts +6 -0
  19. package/dist/a2a/negotiate.js +10 -12
  20. package/dist/a2a/negotiate.js.map +1 -1
  21. package/dist/a2a/node.d.ts +20 -2
  22. package/dist/a2a/node.js +165 -19
  23. package/dist/a2a/node.js.map +1 -1
  24. package/dist/a2a/server/auth.js +11 -2
  25. package/dist/a2a/server/auth.js.map +1 -1
  26. package/dist/a2a/server/merchant-handler.d.ts +4 -0
  27. package/dist/a2a/server/merchant-handler.js +283 -27
  28. package/dist/a2a/server/merchant-handler.js.map +1 -1
  29. package/dist/a2a/server/pipeline.d.ts +17 -0
  30. package/dist/a2a/server/pipeline.js +89 -1
  31. package/dist/a2a/server/pipeline.js.map +1 -1
  32. package/dist/a2a/server/ucp.d.ts +30 -2
  33. package/dist/a2a/server/ucp.js +23 -14
  34. package/dist/a2a/server/ucp.js.map +1 -1
  35. package/dist/agent/agent-db.js +5 -0
  36. package/dist/agent/agent-db.js.map +1 -1
  37. package/dist/agent/buyer/buyer-tools.d.ts +5 -0
  38. package/dist/agent/buyer/buyer-tools.js +75 -7
  39. package/dist/agent/buyer/buyer-tools.js.map +1 -1
  40. package/dist/agent/buyer/search-loop.d.ts +3 -0
  41. package/dist/agent/buyer/search-loop.js +129 -0
  42. package/dist/agent/buyer/search-loop.js.map +1 -1
  43. package/dist/agent/buyer/task-store.d.ts +2 -0
  44. package/dist/agent/buyer/task-store.js +11 -7
  45. package/dist/agent/buyer/task-store.js.map +1 -1
  46. package/dist/agent/kernel.d.ts +6 -0
  47. package/dist/agent/kernel.js +100 -10
  48. package/dist/agent/kernel.js.map +1 -1
  49. package/dist/agent/memory/schema.d.ts +1 -1
  50. package/dist/agent/memory/schema.js +7 -1
  51. package/dist/agent/memory/schema.js.map +1 -1
  52. package/dist/agent/memory/store.d.ts +5 -0
  53. package/dist/agent/memory/store.js +29 -1
  54. package/dist/agent/memory/store.js.map +1 -1
  55. package/dist/agent/merchant/action-candidate.js +15 -1
  56. package/dist/agent/merchant/action-candidate.js.map +1 -1
  57. package/dist/agent/merchant/merchant-client.js +22 -4
  58. package/dist/agent/merchant/merchant-client.js.map +1 -1
  59. package/dist/agent/merchant/types.d.ts +5 -2
  60. package/dist/agent/merchant/types.js +6 -2
  61. package/dist/agent/merchant/types.js.map +1 -1
  62. package/dist/agent/negotiation-chat.js +34 -14
  63. package/dist/agent/negotiation-chat.js.map +1 -1
  64. package/dist/cli.d.ts +56 -0
  65. package/dist/cli.js +51 -3
  66. package/dist/cli.js.map +1 -1
  67. package/dist/commerce/data-source.d.ts +3 -0
  68. package/dist/commerce/data-source.js.map +1 -1
  69. package/dist/commerce/http-client.js +35 -31
  70. package/dist/commerce/http-client.js.map +1 -1
  71. package/dist/commerce/shopping-cli-source.js +63 -46
  72. package/dist/commerce/shopping-cli-source.js.map +1 -1
  73. package/dist/counterparty/a2a-direct/index.d.ts +5 -0
  74. package/dist/counterparty/a2a-direct/index.js +24 -0
  75. package/dist/counterparty/a2a-direct/index.js.map +1 -1
  76. package/dist/counterparty/shopping-cli-hosted/index.js +52 -19
  77. package/dist/counterparty/shopping-cli-hosted/index.js.map +1 -1
  78. package/dist/discovery/catalog-source/kiwi-record.d.ts +2 -0
  79. package/dist/discovery/catalog-source/kiwi-record.js.map +1 -1
  80. package/dist/discovery/catalog-source/kiwi-source.js +39 -35
  81. package/dist/discovery/catalog-source/kiwi-source.js.map +1 -1
  82. package/dist/discovery/catalog-source/register.js +12 -1
  83. package/dist/discovery/catalog-source/register.js.map +1 -1
  84. package/dist/discovery/catalog-source/source.js +39 -35
  85. package/dist/discovery/catalog-source/source.js.map +1 -1
  86. package/dist/discovery/resolve.d.ts +15 -0
  87. package/dist/discovery/resolve.js +59 -35
  88. package/dist/discovery/resolve.js.map +1 -1
  89. package/dist/discovery/ucp/index.d.ts +1 -1
  90. package/dist/discovery/ucp/index.js +1 -1
  91. package/dist/discovery/ucp/index.js.map +1 -1
  92. package/dist/discovery/ucp/resolver.d.ts +5 -0
  93. package/dist/discovery/ucp/resolver.js +65 -38
  94. package/dist/discovery/ucp/resolver.js.map +1 -1
  95. package/dist/discovery/ucp/vendor.d.ts +1 -1
  96. package/dist/discovery/ucp/vendor.js +1 -1
  97. package/dist/handoff/delivery.d.ts +4 -2
  98. package/dist/handoff/delivery.js +6 -1
  99. package/dist/handoff/delivery.js.map +1 -1
  100. package/dist/handoff/index.d.ts +1 -1
  101. package/dist/handoff/index.js +1 -1
  102. package/dist/handoff/index.js.map +1 -1
  103. package/dist/handoff/ledger.d.ts +9 -0
  104. package/dist/handoff/ledger.js +66 -0
  105. package/dist/handoff/ledger.js.map +1 -1
  106. package/dist/handoff/transaction.d.ts +21 -3
  107. package/dist/handoff/transaction.js +37 -5
  108. package/dist/handoff/transaction.js.map +1 -1
  109. package/dist/handoff/ucp-checkout/channel.js +15 -10
  110. package/dist/handoff/ucp-checkout/channel.js.map +1 -1
  111. package/dist/negotiation/jcs.js +11 -8
  112. package/dist/negotiation/jcs.js.map +1 -1
  113. package/dist/negotiation/lease/store.d.ts +25 -0
  114. package/dist/negotiation/lease/store.js +101 -0
  115. package/dist/negotiation/lease/store.js.map +1 -0
  116. package/dist/negotiation/recovery/recover.js +25 -1
  117. package/dist/negotiation/recovery/recover.js.map +1 -1
  118. package/dist/operator/runner.d.ts +11 -0
  119. package/dist/operator/runner.js +20 -1
  120. package/dist/operator/runner.js.map +1 -1
  121. package/dist/product-catalog.d.ts +1 -1
  122. package/dist/product-catalog.js +3 -3
  123. package/dist/product-catalog.js.map +1 -1
  124. package/dist/product-cli.d.ts +1 -1
  125. package/dist/product-cli.js +1 -1
  126. package/dist/product-publish.d.ts +5 -0
  127. package/dist/product-publish.js +112 -7
  128. package/dist/product-publish.js.map +1 -1
  129. package/dist/supervisor/stack-config.d.ts +6 -1
  130. package/dist/supervisor/stack-config.js +11 -3
  131. package/dist/supervisor/stack-config.js.map +1 -1
  132. package/dist/trust/identity/message-signature.js +17 -0
  133. package/dist/trust/identity/message-signature.js.map +1 -1
  134. package/dist/weixin/channel.d.ts +2 -0
  135. package/dist/weixin/channel.js +17 -3
  136. package/dist/weixin/channel.js.map +1 -1
  137. package/dist/weixin/cli-weixin.js +2 -0
  138. package/dist/weixin/cli-weixin.js.map +1 -1
  139. package/dist/weixin/ilink-client.d.ts +1 -1
  140. package/dist/weixin/ilink-client.js +26 -1
  141. package/dist/weixin/ilink-client.js.map +1 -1
  142. package/dist/weixin/login.d.ts +3 -0
  143. package/dist/weixin/login.js +1 -1
  144. package/dist/weixin/login.js.map +1 -1
  145. package/package.json +9 -2
  146. package/dist/commerce/erp-source.d.ts +0 -51
  147. package/dist/commerce/erp-source.js +0 -184
  148. package/dist/commerce/erp-source.js.map +0 -1
  149. package/dist/commerce/local-db-source.d.ts +0 -50
  150. package/dist/commerce/local-db-source.js +0 -162
  151. package/dist/commerce/local-db-source.js.map +0 -1
@@ -29,6 +29,7 @@
29
29
  */
30
30
  import { CommerceError } from "./data-source.js";
31
31
  import { isRedirectResponse, readJsonBody, SafeHttpError } from "../net/safe-http.js";
32
+ import { toMinorUnits as losslessToMinorUnits } from "../protocol/legacy-shopping-negotiation/money.js";
32
33
  const DEFAULT_TIMEOUT_MS = 15_000;
33
34
  function validateBaseUrl(value) {
34
35
  let url;
@@ -49,11 +50,17 @@ function validateBaseUrl(value) {
49
50
  }
50
51
  return value.replace(/\/+$/, "");
51
52
  }
52
- /** shopping-cli price(元)→ price_minor(minor units,两位小数假设)。 */
53
+ /** shopping-cli price(元)→ price_minor(minor units,两位小数假设)。
54
+ * 审查 P2-P:复用 legacy-shopping-negotiation/money.ts 的 lossless 原语——
55
+ * 此前 Math.round(price*100) 静默吞掉精度损失(19.995 → 19.99、
56
+ * 19.999 → 20.00),错误价格进入 merchant offer terms(谈判路径严格执行
57
+ * lossless,数据源路径不执行)。lossy → fail-closed(返回 undefined,
58
+ * 价格事实缺省,绝不静默抹平;调用方回退演示价并注记)。 */
53
59
  function toMinorUnits(price) {
54
- if (typeof price !== "number" || !Number.isFinite(price) || price < 0)
60
+ if (typeof price !== "number")
55
61
  return undefined;
56
- return Math.round(price * 100);
62
+ const converted = losslessToMinorUnits(price, 2);
63
+ return converted.lossless ? converted.amount_minor : undefined;
57
64
  }
58
65
  function parseProduct(raw, path) {
59
66
  if (raw === null || typeof raw !== "object" || Array.isArray(raw)) {
@@ -71,6 +78,13 @@ function parseProduct(raw, path) {
71
78
  ...(priceMinor !== undefined ? { price_minor: priceMinor } : {}),
72
79
  ...(typeof obj.currency === "string" && obj.currency !== "" ? { currency: obj.currency } : {}),
73
80
  ...(typeof obj.stock === "number" && Number.isInteger(obj.stock) ? { stock: obj.stock } : {}),
81
+ // 审查 P3:delivery_attributes(shopping-cli product_summary 返回的配送
82
+ // 承诺数组)此前声明但从未映射,数据被静默丢弃。
83
+ ...(Array.isArray(obj.delivery_attributes)
84
+ ? {
85
+ delivery_attributes: obj.delivery_attributes.filter((d) => typeof d === "string" && d !== ""),
86
+ }
87
+ : {}),
74
88
  };
75
89
  }
76
90
  /** shopping-cli 商品开放层数据源(UPSTREAM_PROXY,source="shopping-cli")。 */
@@ -87,55 +101,58 @@ export class ShoppingCliCommerceDataSource {
87
101
  const url = `${this.baseUrl}${requestPath}`;
88
102
  const controller = new AbortController();
89
103
  const timer = setTimeout(() => controller.abort(), timeoutMs);
90
- let response;
91
- try {
92
- response = await fetchImpl(url, {
93
- // 出站加固:绝不跟随重定向(3xx 目标不经过校验,且可能转发 Bearer 头)。
94
- redirect: "manual",
95
- signal: controller.signal,
96
- headers: {
97
- accept: "application/json",
98
- ...(this.deps.authToken !== undefined
99
- ? { authorization: `Bearer ${this.deps.authToken}` }
100
- : {}),
101
- },
102
- });
103
- }
104
- catch (err) {
105
- const name = err?.name;
106
- const detail = err instanceof Error ? err.message : String(err);
107
- throw new CommerceError("request_failed", name === "AbortError"
108
- ? `shopping-cli request timed out after ${timeoutMs}ms: ${url}`
109
- : `shopping-cli request failed: ${url} (${detail})`);
110
- }
111
- if (isRedirectResponse(response)) {
112
- throw new CommerceError("request_failed", `shopping-cli request must not follow redirects (HTTP ${response.status} from ${url})`);
113
- }
114
- if (response.status === 404) {
115
- // 404 = 资源不存在:getProduct 的"未知 SKU → undefined"接口承诺
116
- //(composite 次要源靠它跳过自身不收录的 SKU,而不是整体抛错)。
117
- return null;
118
- }
119
- if (!response.ok) {
120
- throw new CommerceError("request_failed", `shopping-cli request returned HTTP ${response.status} from ${url}`);
121
- }
122
- let raw;
123
104
  try {
124
- // 响应体读取在超时覆盖内 + 大小上限(出站加固)。
125
- raw = await readJsonBody(response, { signal: controller.signal });
126
- }
127
- catch (err) {
128
- if (controller.signal.aborted) {
129
- throw new CommerceError("request_failed", `shopping-cli request timed out after ${timeoutMs}ms while reading response: ${url}`);
105
+ let response;
106
+ try {
107
+ response = await fetchImpl(url, {
108
+ // 出站加固:绝不跟随重定向(3xx 目标不经过校验,且可能转发 Bearer 头)。
109
+ redirect: "manual",
110
+ signal: controller.signal,
111
+ headers: {
112
+ accept: "application/json",
113
+ ...(this.deps.authToken !== undefined
114
+ ? { authorization: `Bearer ${this.deps.authToken}` }
115
+ : {}),
116
+ },
117
+ });
118
+ }
119
+ catch (err) {
120
+ const name = err?.name;
121
+ const detail = err instanceof Error ? err.message : String(err);
122
+ throw new CommerceError("request_failed", name === "AbortError"
123
+ ? `shopping-cli request timed out after ${timeoutMs}ms: ${url}`
124
+ : `shopping-cli request failed: ${url} (${detail})`);
125
+ }
126
+ if (isRedirectResponse(response)) {
127
+ throw new CommerceError("request_failed", `shopping-cli request must not follow redirects (HTTP ${response.status} from ${url})`);
128
+ }
129
+ if (response.status === 404) {
130
+ // 404 = 资源不存在:getProduct 的"未知 SKU → undefined"接口承诺
131
+ //(composite 次要源靠它跳过自身不收录的 SKU,而不是整体抛错)。
132
+ return null;
133
+ }
134
+ if (!response.ok) {
135
+ throw new CommerceError("request_failed", `shopping-cli request returned HTTP ${response.status} from ${url}`);
136
+ }
137
+ try {
138
+ // 响应体读取在超时覆盖内 + 大小上限(出站加固)。
139
+ return await readJsonBody(response, { signal: controller.signal });
140
+ }
141
+ catch (err) {
142
+ if (controller.signal.aborted) {
143
+ throw new CommerceError("request_failed", `shopping-cli request timed out after ${timeoutMs}ms while reading response: ${url}`);
144
+ }
145
+ throw new CommerceError("request_failed", err instanceof SafeHttpError && err.code === "response_too_large"
146
+ ? `shopping-cli response from ${url}: ${err.message}`
147
+ : `shopping-cli response from ${url} is not valid JSON`);
130
148
  }
131
- throw new CommerceError("request_failed", err instanceof SafeHttpError && err.code === "response_too_large"
132
- ? `shopping-cli response from ${url}: ${err.message}`
133
- : `shopping-cli response from ${url} is not valid JSON`);
134
149
  }
135
150
  finally {
151
+ // 审查 P2-02:所有路径(fetch 失败 / redirect / 坏状态 / 404 / body 读)
152
+ // 都必须清理超时 timer——此前 fetch 抛错、redirect、非 2xx 的提前 throw
153
+ // 会跳过 clearTimeout,长驻进程里多次失败累积存活 timer 与 AbortController。
136
154
  clearTimeout(timer);
137
155
  }
138
- return raw;
139
156
  }
140
157
  async getProduct(sku) {
141
158
  if (typeof sku !== "string" || sku.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"shopping-cli-source.js","sourceRoot":"","sources":["../../src/commerce/shopping-cli-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shopping-cli-source.js","sourceRoot":"","sources":["../../src/commerce/shopping-cli-source.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import type { IdempotencyStore } from "../../negotiation/idempotency/index.js";
17
+ import type { FileLeaseStore } from "../../negotiation/lease/store.js";
17
18
  import type { LedgerStore } from "../../negotiation/ledger/index.js";
18
19
  import { type ChannelHandle, type ChannelOpenInput, type CounterpartyChannel } from "../channel.js";
19
20
  export interface A2ADirectChannelOptions {
@@ -27,6 +28,9 @@ export interface A2ADirectChannelOptions {
27
28
  timeoutMs?: number;
28
29
  /** 透传 A2AClient 的 SSRF 选项(测试/本机直连)。 */
29
30
  allowPrivateRanges?: boolean;
31
+ /** 全临界区 ownership 租约(审查 BUG-07):共享持久目录时提供——并发
32
+ * direct send 同 key 只允许一个 owner 执行(check→HTTP→ledger→commit)。 */
33
+ lease?: FileLeaseStore;
30
34
  skipDnsCheck?: boolean;
31
35
  resolveIp?: (hostname: string) => Promise<string[]>;
32
36
  }
@@ -35,6 +39,7 @@ export declare class A2ADirectChannel implements CounterpartyChannel {
35
39
  private readonly client;
36
40
  private readonly ledger?;
37
41
  private readonly idempotency?;
42
+ private readonly lease?;
38
43
  private readonly now;
39
44
  constructor(options: A2ADirectChannelOptions);
40
45
  open(input: ChannelOpenInput): Promise<ChannelHandle>;
@@ -34,7 +34,10 @@
34
34
  import { A2AClient, A2AClientError } from "../../a2a/client/index.js";
35
35
  import { A2ATaskPoller, recordTaskObservation } from "../../a2a/task/index.js";
36
36
  import { validateEnvelope, verifyEnvelopeDigest } from "../../negotiation/domain/envelope.js";
37
+ import { randomUUID as cryptoRandomUUID } from "node:crypto";
37
38
  import { ChannelError, isStableTaskState, } from "../channel.js";
39
+ /** 审查 BUG-07:出站 send 临界区租约 TTL(毫秒)——覆盖一次典型 HTTP send。 */
40
+ const OUTBOUND_LEASE_TTL_MS = 30_000;
38
41
  const DIRECT_CAPABILITY = {
39
42
  capability: "knp.a2a.direct",
40
43
  protocol_version: "1.0",
@@ -44,6 +47,7 @@ export class A2ADirectChannel {
44
47
  client;
45
48
  ledger;
46
49
  idempotency;
50
+ lease;
47
51
  now;
48
52
  constructor(options) {
49
53
  this.client = new A2AClient({
@@ -56,6 +60,7 @@ export class A2ADirectChannel {
56
60
  });
57
61
  this.ledger = options.ledger;
58
62
  this.idempotency = options.idempotency;
63
+ this.lease = options.lease;
59
64
  this.now = options.now ?? (() => new Date().toISOString());
60
65
  }
61
66
  async open(input) {
@@ -63,6 +68,7 @@ export class A2ADirectChannel {
63
68
  client: this.client,
64
69
  ledger: this.ledger,
65
70
  idempotency: this.idempotency,
71
+ ...(this.lease !== undefined ? { lease: this.lease } : {}),
66
72
  now: this.now,
67
73
  negotiationId: input.negotiation_id,
68
74
  senderIdentity: input.sender_identity,
@@ -144,6 +150,24 @@ class A2ADirectHandle {
144
150
  }
145
151
  const ref = this.refOf(input.ref);
146
152
  const message = this.envelopeToMessage(envelope, ref);
153
+ // 审查 BUG-07:全临界区 ownership 租约——幂等 check→HTTP 发送→ledger→
154
+ // commit 之间,同 key 并发(同进程异步或共享目录跨进程)会产生两次远端
155
+ // 调用(commit 阶段的冲突检测已无法撤销前面的副作用)。文件租约(TTL +
156
+ // 崩溃接管)覆盖整段,第二个并发 send fail-closed。
157
+ const leaseKey = `${this.deps.senderIdentity}:${envelope.message_id}`;
158
+ const leaseOwner = `${process.pid}:${cryptoRandomUUID()}`;
159
+ if (this.deps.lease !== undefined && !this.deps.lease.acquire(leaseKey, leaseOwner, OUTBOUND_LEASE_TTL_MS)) {
160
+ throw new ChannelError("a2a-direct", "idempotency_conflict", `message_id ${envelope.message_id} send already in progress by another owner`);
161
+ }
162
+ try {
163
+ return await this.sendUnlocked(input, envelope, message, ref);
164
+ }
165
+ finally {
166
+ this.deps.lease?.release(leaseKey, leaseOwner);
167
+ }
168
+ }
169
+ /** 临界区主体(租约持有期间执行;见 send 的 BUG-07 注释)。 */
170
+ async sendUnlocked(input, envelope, message, ref) {
147
171
  // 协议幂等 check(§20):(sender_identity, message_id)。
148
172
  if (this.deps.idempotency !== undefined) {
149
173
  const decision = this.deps.idempotency.check({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/counterparty/a2a-direct/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/counterparty/a2a-direct/index.ts"],"names":[],"mappings":"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"}
@@ -83,6 +83,9 @@ class ShoppingCliHostedHandle {
83
83
  subscriptions = new Set();
84
84
  claimHeld = false;
85
85
  settled = false;
86
+ /** 上次已落账的观察键(status:lastMessageId;审查 P3:避免 100ms 轮询
87
+ * 每拍写 ledger,仅状态变化落账)。 */
88
+ lastObservationKey = null;
86
89
  constructor(deps) {
87
90
  this.deps = deps;
88
91
  this.identity = deps.identity;
@@ -196,8 +199,30 @@ class ShoppingCliHostedHandle {
196
199
  this.settled = true;
197
200
  throw this.toChannelError(err);
198
201
  }
199
- // 4. 结算 claim(内部,§24)。
200
- await this.settleClaim(message_id, policy).catch(() => undefined);
202
+ // 4. 结算 claim(内部,§24)。审查 P2-R:completeClaim/failClaim 瞬时
203
+ // 失败不得静默吞掉——此前 .catch(() => undefined) 后照常 settled=true,
204
+ // claim 滞留 processing 直到网关 300s stale TTL(消息被
205
+ // listPendingMessages 隐藏、白等 5 分钟),且 settled=true 让 close()
206
+ // 跳过 abandon 兜底。失败时按 runtime M1 同款模式 best-effort abandon
207
+ //(释放 claim,内容寻址幂等保证重处理无重复效果),保持 settled=false
208
+ // 让 close() 兜底仍生效,然后向外传播原始错误。
209
+ try {
210
+ await this.settleClaim(message_id, policy);
211
+ }
212
+ catch (err) {
213
+ this.settled = false;
214
+ try {
215
+ await this.deps.client.abandonClaim({
216
+ message_id,
217
+ idempotency_key: this.claimKey(message_id),
218
+ error: `claim settle failed, released: ${err instanceof Error ? err.message : String(err)}`,
219
+ });
220
+ }
221
+ catch {
222
+ // abandon 也失败:保持 settled=false,close() 再兜底一次
223
+ }
224
+ throw this.toChannelError(err);
225
+ }
201
226
  this.settled = true;
202
227
  // 5. 出站落账(§22:message_sent 证据)。
203
228
  if (this.deps.ledger !== undefined) {
@@ -242,26 +267,34 @@ class ShoppingCliHostedHandle {
242
267
  catch (err) {
243
268
  throw this.toChannelError(err);
244
269
  }
245
- if (this.deps.ledger !== undefined) {
246
- this.deps.ledger.append({
247
- event_kind: "system",
248
- negotiation_id: this.deps.negotiationId,
249
- remote_context_id: conversation_id,
250
- identity: {
251
- sender_identity: this.deps.senderIdentity,
252
- counterparty_identity: this.deps.identity,
253
- },
254
- capability: { ...HOSTED_CAPABILITY },
255
- outcome: {
256
- kind: "ok",
257
- result: { snapshot_state: snapshot.conversation.status },
258
- },
259
- occurred_at: this.deps.now(),
260
- });
261
- }
262
270
  const messageIds = snapshot.messages
263
271
  .map((m) => legacyMessageIdToKnp(m.id))
264
272
  .filter((id) => id !== null);
273
+ if (this.deps.ledger !== undefined) {
274
+ // 审查 P3:subscribe 以 100ms 轮询 getState——此前每次调用都落一条
275
+ // system 观察事件(约 600 条/分钟,ledger 无界膨胀)。仅当状态或
276
+ // 最新消息变化时才落账(对齐 poller 的"仅状态变化"语义)。
277
+ const lastMessageId = messageIds.length > 0 ? messageIds[messageIds.length - 1] : "";
278
+ const obsKey = `${snapshot.conversation.status}:${lastMessageId}`;
279
+ if (this.lastObservationKey !== obsKey) {
280
+ this.lastObservationKey = obsKey;
281
+ this.deps.ledger.append({
282
+ event_kind: "system",
283
+ negotiation_id: this.deps.negotiationId,
284
+ remote_context_id: conversation_id,
285
+ identity: {
286
+ sender_identity: this.deps.senderIdentity,
287
+ counterparty_identity: this.deps.identity,
288
+ },
289
+ capability: { ...HOSTED_CAPABILITY },
290
+ outcome: {
291
+ kind: "ok",
292
+ result: { snapshot_state: snapshot.conversation.status },
293
+ },
294
+ occurred_at: this.deps.now(),
295
+ });
296
+ }
297
+ }
265
298
  return {
266
299
  channel: "shopping-cli-hosted",
267
300
  state: snapshot.conversation.status,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/counterparty/shopping-cli-hosted/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/counterparty/shopping-cli-hosted/index.ts"],"names":[],"mappings":"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"}
@@ -119,6 +119,8 @@ export interface ListingRecord {
119
119
  fulfillment_regions?: readonly string[];
120
120
  }>;
121
121
  readonly handoff_destination_types?: readonly DestinationType[];
122
+ /** 商家声明的每商品成交入口(KTH destination_ref;仅 ProductListing 允许)。 */
123
+ readonly handoff_destination_ref?: string;
122
124
  readonly listing_digest: string;
123
125
  readonly publication_state: PublicationState;
124
126
  readonly listing_freshness_state: ListingFreshnessState;
@@ -1 +1 @@
1
- {"version":3,"file":"kiwi-record.js","sourceRoot":"","sources":["../../../src/discovery/catalog-source/kiwi-record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kiwi-record.js","sourceRoot":"","sources":["../../../src/discovery/catalog-source/kiwi-record.ts"],"names":[],"mappings":"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"}
@@ -120,46 +120,50 @@ export class KiwiCatalogSource {
120
120
  const controller = new AbortController();
121
121
  const timer = setTimeout(() => controller.abort(), timeoutMs);
122
122
  let response;
123
- try {
124
- response = await fetchImpl(url, {
125
- // 出站加固:绝不跟随重定向(3xx 目标不经过校验,且可能转发 Bearer 头)。
126
- redirect: "manual",
127
- signal: controller.signal,
128
- headers: {
129
- accept: "application/json",
130
- ...(this.deps.authToken !== undefined
131
- ? { authorization: `Bearer ${this.deps.authToken}` }
132
- : {}),
133
- },
134
- });
135
- }
136
- catch (err) {
137
- const name = err?.name;
138
- const detail = err instanceof Error ? err.message : String(err);
139
- throw new CatalogSourceError("request_failed", name === "AbortError"
140
- ? `kiwi-catalog request timed out after ${timeoutMs}ms: ${url}`
141
- : `kiwi-catalog request failed: ${url} (${detail})`);
142
- }
143
- if (isRedirectResponse(response)) {
144
- throw new CatalogSourceError("request_failed", `kiwi-catalog request must not follow redirects (HTTP ${response.status} from ${url})`);
145
- }
146
- if (!response.ok) {
147
- throw new CatalogSourceError("request_failed", `kiwi-catalog request returned HTTP ${response.status} from ${url}`);
148
- }
149
123
  let raw;
150
124
  try {
151
- // 响应体读取在超时覆盖内 + 大小上限(出站加固)。
152
- raw = await readJsonBody(response, { signal: controller.signal });
153
- }
154
- catch (err) {
155
- if (controller.signal.aborted) {
156
- throw new CatalogSourceError("request_failed", `kiwi-catalog request timed out after ${timeoutMs}ms while reading response: ${url}`);
125
+ try {
126
+ response = await fetchImpl(url, {
127
+ // 出站加固:绝不跟随重定向(3xx 目标不经过校验,且可能转发 Bearer 头)。
128
+ redirect: "manual",
129
+ signal: controller.signal,
130
+ headers: {
131
+ accept: "application/json",
132
+ ...(this.deps.authToken !== undefined
133
+ ? { authorization: `Bearer ${this.deps.authToken}` }
134
+ : {}),
135
+ },
136
+ });
137
+ }
138
+ catch (err) {
139
+ const name = err?.name;
140
+ const detail = err instanceof Error ? err.message : String(err);
141
+ throw new CatalogSourceError("request_failed", name === "AbortError"
142
+ ? `kiwi-catalog request timed out after ${timeoutMs}ms: ${url}`
143
+ : `kiwi-catalog request failed: ${url} (${detail})`);
144
+ }
145
+ if (isRedirectResponse(response)) {
146
+ throw new CatalogSourceError("request_failed", `kiwi-catalog request must not follow redirects (HTTP ${response.status} from ${url})`);
147
+ }
148
+ if (!response.ok) {
149
+ throw new CatalogSourceError("request_failed", `kiwi-catalog request returned HTTP ${response.status} from ${url}`);
150
+ }
151
+ try {
152
+ // 响应体读取在超时覆盖内 + 大小上限(出站加固)。
153
+ raw = await readJsonBody(response, { signal: controller.signal });
154
+ }
155
+ catch (err) {
156
+ if (controller.signal.aborted) {
157
+ throw new CatalogSourceError("request_failed", `kiwi-catalog request timed out after ${timeoutMs}ms while reading response: ${url}`);
158
+ }
159
+ throw new CatalogSourceError("response_invalid", err instanceof SafeHttpError && err.code === "response_too_large"
160
+ ? `kiwi-catalog response from ${url}: ${err.message}`
161
+ : `kiwi-catalog response from ${url} is not valid JSON`);
157
162
  }
158
- throw new CatalogSourceError("response_invalid", err instanceof SafeHttpError && err.code === "response_too_large"
159
- ? `kiwi-catalog response from ${url}: ${err.message}`
160
- : `kiwi-catalog response from ${url} is not valid JSON`);
161
163
  }
162
164
  finally {
165
+ // 审查 P2-02:所有路径(fetch 拒绝 / redirect / 非 2xx / body 读失败)
166
+ // 都清理超时 timer——此前只有 body 读的 finally 清理。
163
167
  clearTimeout(timer);
164
168
  }
165
169
  return raw;