@harrylabsj/kiwi 0.7.3 → 0.7.5

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 (140) hide show
  1. package/dist/a2a/client/client.d.ts +7 -2
  2. package/dist/a2a/client/client.js +34 -5
  3. package/dist/a2a/client/client.js.map +1 -1
  4. package/dist/a2a/client/jsonrpc.js +2 -1
  5. package/dist/a2a/client/jsonrpc.js.map +1 -1
  6. package/dist/a2a/client/parse.js +6 -2
  7. package/dist/a2a/client/parse.js.map +1 -1
  8. package/dist/a2a/client/types.d.ts +11 -0
  9. package/dist/a2a/client/url-policy.js +29 -0
  10. package/dist/a2a/client/url-policy.js.map +1 -1
  11. package/dist/a2a/node.d.ts +7 -0
  12. package/dist/a2a/node.js +32 -3
  13. package/dist/a2a/node.js.map +1 -1
  14. package/dist/a2a/server/card.d.ts +6 -0
  15. package/dist/a2a/server/card.js +42 -0
  16. package/dist/a2a/server/card.js.map +1 -1
  17. package/dist/a2a/server/errors.d.ts +12 -2
  18. package/dist/a2a/server/errors.js +13 -2
  19. package/dist/a2a/server/errors.js.map +1 -1
  20. package/dist/a2a/server/generic-responder.d.ts +48 -0
  21. package/dist/a2a/server/generic-responder.js +57 -0
  22. package/dist/a2a/server/generic-responder.js.map +1 -0
  23. package/dist/a2a/server/index.d.ts +2 -0
  24. package/dist/a2a/server/index.js +2 -0
  25. package/dist/a2a/server/index.js.map +1 -1
  26. package/dist/a2a/server/merchant-handler.d.ts +12 -1
  27. package/dist/a2a/server/merchant-handler.js +96 -22
  28. package/dist/a2a/server/merchant-handler.js.map +1 -1
  29. package/dist/a2a/server/pipeline.d.ts +28 -0
  30. package/dist/a2a/server/pipeline.js +66 -3
  31. package/dist/a2a/server/pipeline.js.map +1 -1
  32. package/dist/a2a/server/server.d.ts +12 -0
  33. package/dist/a2a/server/server.js +255 -11
  34. package/dist/a2a/server/server.js.map +1 -1
  35. package/dist/a2a/server/task-registry.d.ts +8 -0
  36. package/dist/a2a/server/task-registry.js +17 -0
  37. package/dist/a2a/server/task-registry.js.map +1 -1
  38. package/dist/a2a/server/throttle.d.ts +13 -0
  39. package/dist/a2a/server/throttle.js +41 -1
  40. package/dist/a2a/server/throttle.js.map +1 -1
  41. package/dist/a2a/server/types.d.ts +6 -0
  42. package/dist/a2a/v1/headers.d.ts +33 -0
  43. package/dist/a2a/v1/headers.js +56 -0
  44. package/dist/a2a/v1/headers.js.map +1 -0
  45. package/dist/a2a/v1/methods.d.ts +52 -0
  46. package/dist/a2a/v1/methods.js +75 -0
  47. package/dist/a2a/v1/methods.js.map +1 -0
  48. package/dist/a2a/v1/part.d.ts +48 -0
  49. package/dist/a2a/v1/part.js +63 -0
  50. package/dist/a2a/v1/part.js.map +1 -0
  51. package/dist/a2a/v1/types.d.ts +94 -0
  52. package/dist/a2a/v1/types.js +62 -0
  53. package/dist/a2a/v1/types.js.map +1 -0
  54. package/dist/agent/buyer/buyer-tools.js +92 -19
  55. package/dist/agent/buyer/buyer-tools.js.map +1 -1
  56. package/dist/agent/buyer/search-loop.js +17 -2
  57. package/dist/agent/buyer/search-loop.js.map +1 -1
  58. package/dist/agent/buyer/types.js +4 -1
  59. package/dist/agent/buyer/types.js.map +1 -1
  60. package/dist/agent/kernel.js +73 -27
  61. package/dist/agent/kernel.js.map +1 -1
  62. package/dist/agent/merchant/action-candidate.d.ts +10 -0
  63. package/dist/agent/merchant/action-candidate.js +36 -4
  64. package/dist/agent/merchant/action-candidate.js.map +1 -1
  65. package/dist/agent/merchant/merchant-client.d.ts +4 -1
  66. package/dist/agent/merchant/merchant-client.js +41 -29
  67. package/dist/agent/merchant/merchant-client.js.map +1 -1
  68. package/dist/agent/negotiation-chat.d.ts +11 -0
  69. package/dist/agent/negotiation-chat.js +15 -0
  70. package/dist/agent/negotiation-chat.js.map +1 -1
  71. package/dist/agent/system-prompt.js +1 -1
  72. package/dist/agent/system-prompt.js.map +1 -1
  73. package/dist/agent/write-gate.d.ts +4 -0
  74. package/dist/agent/write-gate.js +9 -3
  75. package/dist/agent/write-gate.js.map +1 -1
  76. package/dist/cli.d.ts +7 -0
  77. package/dist/cli.js +97 -13
  78. package/dist/cli.js.map +1 -1
  79. package/dist/commerce/data-source.d.ts +11 -1
  80. package/dist/commerce/data-source.js.map +1 -1
  81. package/dist/commerce/shopping-cli-source.js +10 -0
  82. package/dist/commerce/shopping-cli-source.js.map +1 -1
  83. package/dist/config/profile.d.ts +2 -0
  84. package/dist/config/profile.js +22 -7
  85. package/dist/config/profile.js.map +1 -1
  86. package/dist/demo/demo-runner.d.ts +81 -0
  87. package/dist/demo/demo-runner.js +344 -0
  88. package/dist/demo/demo-runner.js.map +1 -0
  89. package/dist/discovery/agent-card/types.d.ts +3 -0
  90. package/dist/discovery/agent-card/validate.js +7 -0
  91. package/dist/discovery/agent-card/validate.js.map +1 -1
  92. package/dist/discovery/catalog-source/register.d.ts +5 -1
  93. package/dist/discovery/catalog-source/register.js +14 -3
  94. package/dist/discovery/catalog-source/register.js.map +1 -1
  95. package/dist/discovery/resolve.js +3 -0
  96. package/dist/discovery/resolve.js.map +1 -1
  97. package/dist/discovery/ucp/resolver.d.ts +2 -0
  98. package/dist/discovery/ucp/resolver.js +3 -1
  99. package/dist/discovery/ucp/resolver.js.map +1 -1
  100. package/dist/handoff/ledger.js +23 -5
  101. package/dist/handoff/ledger.js.map +1 -1
  102. package/dist/handoff/order-record.js +26 -4
  103. package/dist/handoff/order-record.js.map +1 -1
  104. package/dist/handoff/transaction.js +13 -3
  105. package/dist/handoff/transaction.js.map +1 -1
  106. package/dist/negotiation/lease/store.js +14 -4
  107. package/dist/negotiation/lease/store.js.map +1 -1
  108. package/dist/negotiation/state/phase.js +12 -0
  109. package/dist/negotiation/state/phase.js.map +1 -1
  110. package/dist/net/safe-http.js +9 -1
  111. package/dist/net/safe-http.js.map +1 -1
  112. package/dist/operator/controller.d.ts +3 -0
  113. package/dist/operator/controller.js +18 -5
  114. package/dist/operator/controller.js.map +1 -1
  115. package/dist/product-buyer.d.ts +5 -0
  116. package/dist/product-buyer.js +6 -2
  117. package/dist/product-buyer.js.map +1 -1
  118. package/dist/product-cli.d.ts +15 -1
  119. package/dist/product-cli.js +26 -5
  120. package/dist/product-cli.js.map +1 -1
  121. package/dist/product-init.d.ts +7 -0
  122. package/dist/product-init.js +7 -4
  123. package/dist/product-init.js.map +1 -1
  124. package/dist/supervisor/manage.d.ts +5 -1
  125. package/dist/supervisor/manage.js +100 -9
  126. package/dist/supervisor/manage.js.map +1 -1
  127. package/dist/trust/identity/auth-verifier.d.ts +8 -0
  128. package/dist/trust/identity/auth-verifier.js +14 -0
  129. package/dist/trust/identity/auth-verifier.js.map +1 -1
  130. package/dist/weixin/credentials.js +15 -4
  131. package/dist/weixin/credentials.js.map +1 -1
  132. package/dist/weixin/ilink-client.d.ts +9 -0
  133. package/dist/weixin/ilink-client.js +46 -0
  134. package/dist/weixin/ilink-client.js.map +1 -1
  135. package/dist/weixin/login.js +5 -2
  136. package/dist/weixin/login.js.map +1 -1
  137. package/examples/profiles/merchant.deepseek.yaml +1 -0
  138. package/examples/profiles/merchant.fake.yaml +1 -0
  139. package/examples/profiles/merchant.local.yaml +1 -0
  140. package/package.json +8 -3
@@ -14,22 +14,31 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { MerchantClientError, parseHumanReviewItem, parseIncomingConsultation, parseMerchantCatalogProduct, } from "./types.js";
17
+ import { readJsonBody } from "../../net/safe-http.js";
17
18
  const REQUEST_TIMEOUT_MS = 10_000;
19
+ /** 响应体大小上限(审查 P2-H 配套项:此前无上限,恶意网关可回传巨量 body)。 */
20
+ const MAX_RESPONSE_BYTES = 2 * 1024 * 1024;
18
21
  export class HttpMerchantClient {
19
22
  baseUrl;
20
23
  broker;
21
- constructor(baseUrl, broker) {
24
+ timeoutMs;
25
+ constructor(baseUrl, broker, options = {}) {
22
26
  this.baseUrl = baseUrl.replace(/\/+$/, "");
23
27
  this.broker = broker;
28
+ // 审查 K-M1:超时可注入(测试用短超时验证 body 停滞不再永久挂起)。
29
+ this.timeoutMs = options.timeoutMs ?? REQUEST_TIMEOUT_MS;
24
30
  }
25
31
  // ---- HTTP plumbing -------------------------------------------------------
26
32
  async request(method, pathname, options = {}) {
27
33
  const url = `${this.baseUrl}${pathname}${options.query ? `?${new URLSearchParams(options.query).toString()}` : ""}`;
28
34
  const controller = new AbortController();
29
- const timer = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS);
30
- let response;
35
+ // 审查 K-M1:timer 在响应体读完才清理——此前 fetch 头到达即在 finally
36
+ // clearTimeout,随后 await response.arrayBuffer() 不在任何超时覆盖内,
37
+ // 对端停滞 body 会永久挂起该串行工具调用。readJsonBody 用同一 signal,
38
+ // abort 会 cancel 底层流(挂起的 reader.read() 被中断)。
39
+ const timer = setTimeout(() => controller.abort(), this.timeoutMs);
31
40
  try {
32
- response = await fetch(url, {
41
+ const response = await fetch(url, {
33
42
  method,
34
43
  // 审查 P2-H:携带 Bearer token 的请求绝不跟随 3xx——重定向会把凭据
35
44
  // 转发到第三方域(同仓 http-connector.ts 同款纪律注释)。3xx 在
@@ -43,38 +52,41 @@ export class HttpMerchantClient {
43
52
  body: options.body !== undefined ? JSON.stringify(options.body) : undefined,
44
53
  signal: controller.signal,
45
54
  });
55
+ let payload;
56
+ try {
57
+ // 响应体大小上限 + 超时覆盖(审查 P2-H / K-M1):readJsonBody 在
58
+ // signal abort 时 cancel 流,挂起的 body 读不再永久阻塞。
59
+ payload = await readJsonBody(response, {
60
+ signal: controller.signal,
61
+ maxBytes: MAX_RESPONSE_BYTES,
62
+ });
63
+ }
64
+ catch (err) {
65
+ if (controller.signal.aborted) {
66
+ throw new MerchantClientError("transient", `merchant request timed out after ${this.timeoutMs}ms while reading response: ${pathname}`);
67
+ }
68
+ throw new MerchantClientError("transient", `merchant returned non-JSON or oversized body (HTTP ${response.status}): ${err instanceof Error ? err.message : String(err)}`);
69
+ }
70
+ if (!response.ok) {
71
+ const kind = response.status === 404
72
+ ? "not_found"
73
+ : response.status === 401 || response.status === 403
74
+ ? "auth"
75
+ : response.status >= 400 && response.status < 500
76
+ ? "validation"
77
+ : "transient";
78
+ throw new MerchantClientError(kind, `merchant HTTP ${response.status} for ${pathname}`);
79
+ }
80
+ return payload;
46
81
  }
47
82
  catch (err) {
83
+ if (err instanceof MerchantClientError)
84
+ throw err;
48
85
  throw new MerchantClientError("transient", `merchant request failed: ${err instanceof Error ? err.message : String(err)}`);
49
86
  }
50
87
  finally {
51
88
  clearTimeout(timer);
52
89
  }
53
- // 响应体大小上限(审查 P2-H 配套项:此前无上限,恶意网关可回传巨量 body)。
54
- const MAX_RESPONSE_BYTES = 2 * 1024 * 1024;
55
- let payload;
56
- try {
57
- const raw = await response.arrayBuffer();
58
- if (raw.byteLength > MAX_RESPONSE_BYTES) {
59
- throw new Error(`response exceeds ${MAX_RESPONSE_BYTES} bytes`);
60
- }
61
- const text = new TextDecoder("utf-8").decode(raw);
62
- payload = text === "" ? null : JSON.parse(text);
63
- }
64
- catch (err) {
65
- throw new MerchantClientError("transient", `merchant returned non-JSON or oversized body (HTTP ${response.status}): ${err instanceof Error ? err.message : String(err)}`);
66
- }
67
- if (!response.ok) {
68
- const kind = response.status === 404
69
- ? "not_found"
70
- : response.status === 401 || response.status === 403
71
- ? "auth"
72
- : response.status >= 400 && response.status < 500
73
- ? "validation"
74
- : "transient";
75
- throw new MerchantClientError(kind, `merchant HTTP ${response.status} for ${pathname}`);
76
- }
77
- return payload;
78
90
  }
79
91
  /** Catalog credential token; missing scope -> fail closed. */
80
92
  catalogToken() {
@@ -1 +1 @@
1
- {"version":3,"file":"merchant-client.js","sourceRoot":"","sources":["../../../src/agent/merchant/merchant-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merchant-client.js","sourceRoot":"","sources":["../../../src/agent/merchant/merchant-client.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,11 @@ export interface NegotiationChatDeps {
56
56
  settlement: "completed" | "failed";
57
57
  }) => void;
58
58
  }
59
+ /** 审查 K-L22:出站公开消息脱敏——merchant 私有底价(profile HardPolicy)绝不
60
+ * 进入对外 public_message。防御 prompt-inject 商家模型把底价写进公开文本;
61
+ * 只替换完整数字 token(数字两侧非数字/逗号/点),避免误伤子串。
62
+ * (已知设计权衡:模型磋商需要底价可见;此处是出站面的纵深防线。) */
63
+ export declare function redactPrivateFloor(text: string, profile: AgentProfile): string;
59
64
  export declare function buildNegotiationChatTools(deps: NegotiationChatDeps): Tool[];
60
65
  /** Render a write-gate outcome for the model and operator (no secrets). */
61
66
  export declare function writeGateText(outcome: {
@@ -77,5 +82,11 @@ export declare function writeGateText(outcome: {
77
82
  } | {
78
83
  kind: "forbidden";
79
84
  reason: string;
85
+ } | {
86
+ kind: "failed";
87
+ candidate: {
88
+ candidate_id: string;
89
+ };
90
+ reason: string;
80
91
  }): AgentToolResult<unknown>;
81
92
  export {};
@@ -36,6 +36,17 @@ async function findPending(commerceClient, conversationId) {
36
36
  conversation_status: target.conversation_status,
37
37
  };
38
38
  }
39
+ /** 审查 K-L22:出站公开消息脱敏——merchant 私有底价(profile HardPolicy)绝不
40
+ * 进入对外 public_message。防御 prompt-inject 商家模型把底价写进公开文本;
41
+ * 只替换完整数字 token(数字两侧非数字/逗号/点),避免误伤子串。
42
+ * (已知设计权衡:模型磋商需要底价可见;此处是出站面的纵深防线。) */
43
+ export function redactPrivateFloor(text, profile) {
44
+ const floor = profile.merchant_policy?.min_unit_price_private;
45
+ if (floor === undefined || text === "")
46
+ return text;
47
+ const needle = String(floor);
48
+ return text.replace(new RegExp(`(?<![0-9.,])${needle}(?![0-9.,])`, "g"), "[私密阈值]");
49
+ }
39
50
  function buildDecision(target, args) {
40
51
  const action = String(args.action ?? "ask");
41
52
  const decision = {
@@ -107,6 +118,8 @@ async function executeNegotiationSubmit(profile, commerceClient, args, afterSett
107
118
  throw new Error(`该消息已被其他 worker 处理(${claim.status}),不会重复提交。`);
108
119
  }
109
120
  const decision = buildDecision(target, args);
121
+ // 审查 K-L22:出站 public_message 前脱敏私密底价(prompt-inject 防线)。
122
+ decision.public_message = redactPrivateFloor(decision.public_message, profile);
110
123
  // Buyer local private policy gate BEFORE the gateway — same as the headless
111
124
  // turn. A violation never reaches the marketplace and never leaks numbers.
112
125
  if (profile.role === "buyer" && profile.buyer_policy) {
@@ -345,6 +358,8 @@ export function writeGateText(outcome) {
345
358
  return textResult(`manual 模式下写操作不执行。已生成候选 ${outcome.candidate.candidate_id} 仅供查看。`, { candidate_id: outcome.candidate.candidate_id, status: "advice_only" });
346
359
  case "forbidden":
347
360
  return textResult(outcome.reason);
361
+ case "failed":
362
+ return textResult(`该写操作未执行(候选 ${outcome.candidate.candidate_id} 已失效)。原因:${outcome.reason}`, { candidate_id: outcome.candidate.candidate_id, status: "failed" });
348
363
  }
349
364
  }
350
365
  //# sourceMappingURL=negotiation-chat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"negotiation-chat.js","sourceRoot":"","sources":["../../src/agent/negotiation-chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"negotiation-chat.js","sourceRoot":"","sources":["../../src/agent/negotiation-chat.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ export function baseSystemPrompt(profile, principal) {
37
37
  "- 选定(select_product_nonbinding)是收尾终态:只在用户明确说「就这个 / 选定」时调用;用户要砍价或还在比较时绝不先选定。",
38
38
  "- 磋商/咨询(start_consultation)会向商家发消息,supervised 需 /approve:发起前先问用户。",
39
39
  "- 砍价目标先问清是单价还是总价,再发起磋商。",
40
- "- 涉及审批时:永远让操作者用 `/pending` 查看并批准最新候选,**绝不要从你的记忆/上下文里粘贴具体候选 id**——那些 id 可能已过期或根本不存在(跨进程候选会自动失效)。",
40
+ "- 涉及审批时:先调用 `list_pending_approvals` 读取当前仍可执行的候选,再让操作者用 `/pending` 查看并批准;**绝不要从你的记忆/上下文、任务历史事件里粘贴具体候选 id**——只有同一轮工具返回的 ID 才能使用,重启后旧候选会自动失效。",
41
41
  ].join("\n")
42
42
  : "";
43
43
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAYH,MAAM,UAAU,gBAAgB,CAAC,OAAqB,EAAE,SAAoB;IAC1E,MAAM,QAAQ,GACZ,OAAO,CAAC,IAAI,KAAK,OAAO;QACtB,CAAC,CAAC,2EAA2E;QAC7E,CAAC,CAAC,sEAAsE,CAAC;IAC7E,MAAM,kBAAkB,GACtB,OAAO,CAAC,IAAI,KAAK,UAAU;QACzB,CAAC,CAAC;YACE,EAAE;YACF,OAAO;YACP,iDAAiD;YACjD,6GAA6G;YAC7G,8EAA8E;YAC9E,gFAAgF;SACjF,CAAC,IAAI,CAAC,IAAI,CAAC;QACd,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,aAAa,GACjB,OAAO,CAAC,IAAI,KAAK,OAAO;QACtB,CAAC,CAAC;YACE,EAAE;YACF,WAAW;YACX,wBAAwB;YACxB,gFAAgF;YAChF,8LAA8L;YAC9L,6EAA6E;YAC7E,mEAAmE;YACnE,yBAAyB;YACzB,iGAAiG;SAClG,CAAC,IAAI,CAAC,IAAI,CAAC;QACd,CAAC,CAAC,EAAE,CAAC;IACT,OAAO;QACL,GAAG,QAAQ,EAAE;QACb,aAAa;QACb,EAAE;QACF,OAAO;QACP,0FAA0F;QAC1F,kFAAkF;QAClF,kDAAkD;QAClD,gCAAgC;QAChC,kBAAkB;QAClB,EAAE;QACF,OAAO;QACP,mDAAmD;QACnD,uBAAuB;QACvB,eAAe;QACf,EAAE;QACF,QAAQ,SAAS,CAAC,YAAY,OAAO,SAAS,CAAC,IAAI,GAAG;KACvD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,oBAAoB,CAAC,QAA2B;IAC9D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,IAAI,CAAC,CAAC,eAAe,KAAK,eAAe,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,UAAU,SAAS,CAAC,CAAC,GAAG,yBAAyB,CAAC;QACtG,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IACzH,CAAC,CAAC,CAAC;IACH,OAAO;QACL,kDAAkD;QAClD,GAAG,KAAK;KACT,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAYH,MAAM,UAAU,gBAAgB,CAAC,OAAqB,EAAE,SAAoB;IAC1E,MAAM,QAAQ,GACZ,OAAO,CAAC,IAAI,KAAK,OAAO;QACtB,CAAC,CAAC,2EAA2E;QAC7E,CAAC,CAAC,sEAAsE,CAAC;IAC7E,MAAM,kBAAkB,GACtB,OAAO,CAAC,IAAI,KAAK,UAAU;QACzB,CAAC,CAAC;YACE,EAAE;YACF,OAAO;YACP,iDAAiD;YACjD,6GAA6G;YAC7G,8EAA8E;YAC9E,gFAAgF;SACjF,CAAC,IAAI,CAAC,IAAI,CAAC;QACd,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,aAAa,GACjB,OAAO,CAAC,IAAI,KAAK,OAAO;QACtB,CAAC,CAAC;YACE,EAAE;YACF,WAAW;YACX,wBAAwB;YACxB,gFAAgF;YAChF,8LAA8L;YAC9L,6EAA6E;YAC7E,mEAAmE;YACnE,yBAAyB;YACzB,6IAA6I;SAC9I,CAAC,IAAI,CAAC,IAAI,CAAC;QACd,CAAC,CAAC,EAAE,CAAC;IACT,OAAO;QACL,GAAG,QAAQ,EAAE;QACb,aAAa;QACb,EAAE;QACF,OAAO;QACP,0FAA0F;QAC1F,kFAAkF;QAClF,kDAAkD;QAClD,gCAAgC;QAChC,kBAAkB;QAClB,EAAE;QACF,OAAO;QACP,mDAAmD;QACnD,uBAAuB;QACvB,eAAe;QACf,EAAE;QACF,QAAQ,SAAS,CAAC,YAAY,OAAO,SAAS,CAAC,IAAI,GAAG;KACvD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,oBAAoB,CAAC,QAA2B;IAC9D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,IAAI,CAAC,CAAC,eAAe,KAAK,eAAe,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,UAAU,SAAS,CAAC,CAAC,GAAG,yBAAyB,CAAC;QACtG,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IACzH,CAAC,CAAC,CAAC;IACH,OAAO;QACL,kDAAkD;QAClD,GAAG,KAAK;KACT,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -47,6 +47,10 @@ export type WriteGateResult = {
47
47
  } | {
48
48
  kind: "forbidden";
49
49
  reason: string;
50
+ } | {
51
+ kind: "failed";
52
+ candidate: WriteApprovalCandidate;
53
+ reason: string;
50
54
  };
51
55
  export interface WriteGateDeps {
52
56
  mode: () => AgentMode;
@@ -69,8 +69,14 @@ export async function routeWriteCandidate(deps, input) {
69
69
  if (outcome.kind === "executed") {
70
70
  return { kind: "executed", candidate: outcome.candidate, output: outcome.output };
71
71
  }
72
- // Fresh candidates should never be stale/expired on immediate execution,
73
- // but fail safe rather than pretending an unexecuted write happened.
74
- return { kind: "pending_approval", candidate: outcome.candidate };
72
+ // 审查 K-H1:执行体抛错 / 返回 {ok:false} / 前置变化会让
73
+ // executeApprovedCandidate 把候选 supersede 并返回 stale/expired/
74
+ // not_approvable。此时绝不能谎报 pending_approval——操作者会被引导去
75
+ // /approve 一个永远无法执行的死候选(且本路径从未注册执行钩子)。返回
76
+ // failed 并透出原因,调用方据此不再落 approval_requested、不提示 /approve。
77
+ const reason = "reason" in outcome && typeof outcome.reason === "string"
78
+ ? outcome.reason
79
+ : "写操作未执行(候选已失效,请重新生成)";
80
+ return { kind: "failed", candidate: outcome.candidate, reason };
75
81
  }
76
82
  //# sourceMappingURL=write-gate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"write-gate.js","sourceRoot":"","sources":["../../src/agent/write-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-gate.js","sourceRoot":"","sources":["../../src/agent/write-gate.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -14,6 +14,7 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
+ import { type AgentProfile } from "./config/profile.js";
17
18
  interface ParsedArgs {
18
19
  command: string[];
19
20
  profile?: string;
@@ -69,6 +70,12 @@ export declare function parseArgs(argv: string[]): ParsedArgs;
69
70
  * `<cwd>/.kiwi/agents/<agent_id>`(与 operator 路径共用同一缺省)——重启后
70
71
  * Ledger/幂等/终态可恢复;显式 --data-dir 覆盖。绝不回退到临时目录。 */
71
72
  export declare function resolveServeDataDir(dataDir: string | undefined, agentId: string): string;
73
+ /**
74
+ * Main conversation (v0.3.0-A): the AgentKernel with persistent session and
75
+ * Principal Memory. 裸 `kiwi`(无 --profile)用 defaultChatProfile 直接进入
76
+ * `kiwi>` 对话;`/profile <file>` 在对话内切换 kernel。
77
+ */
78
+ export declare function resolveChatProfile(explicitProfile: string | undefined, requiredRole?: AgentProfile["role"], defaultProfilePath?: string): AgentProfile;
72
79
  export declare function main(argv?: string[]): Promise<number>;
73
80
  export declare function isInvokedAsScript(): boolean;
74
81
  export {};
package/dist/cli.js CHANGED
@@ -51,9 +51,10 @@ import { runInit } from "./supervisor/init.js";
51
51
  import { runDown, runStatus, runUp, SupervisorError } from "./supervisor/manage.js";
52
52
  import { parseLogLines, runLogs } from "./supervisor/logs.js";
53
53
  import { StackConfigError } from "./supervisor/stack-config.js";
54
- import { cmdProductDoctor, productHelp, PRODUCT_VERSION, DEFAULT_CATALOG_URL } from "./product-cli.js";
54
+ import { cmdProductDoctor, productHelp, PRODUCT_VERSION, DEFAULT_CATALOG_URL, DEFAULT_PROFILE_PATH, } from "./product-cli.js";
55
55
  import { cmdWeixin, weixinUsage } from "./weixin/cli-weixin.js";
56
- import { merchantInit } from "./product-init.js";
56
+ import { merchantInit, slugifyMerchantId } from "./product-init.js";
57
+ import readline from "node:readline";
57
58
  import { buyerInit, buyerSearch, buyerTasks } from "./product-buyer.js";
58
59
  import { merchantPublish } from "./product-publish.js";
59
60
  import { catalogServe } from "./product-catalog.js";
@@ -91,6 +92,10 @@ Product layer (product-strategy rev1.1 §10/§19):
91
92
  kiwi buyer --help Kiwi Buyer command tree
92
93
  kiwi merchant --help Kiwi Merchant command tree
93
94
  kiwi network --help Kiwi Network command tree
95
+ kiwi demo [a|b] One-command local multi-merchant demo
96
+ (Issue 13; 1 buyer + catalog + 3 merchants
97
+ + fan-out RFQ → Agreement → Handoff, no
98
+ LLM/API key/no internet/no real transaction)
94
99
  kiwi doctor Aggregate health: kiwi runtime +
95
100
  shopping-cli presence + kiwi-catalog
96
101
  reachability (no --profile needed)
@@ -678,8 +683,32 @@ function resolveProfilePath(file) {
678
683
  * Principal Memory. 裸 `kiwi`(无 --profile)用 defaultChatProfile 直接进入
679
684
  * `kiwi>` 对话;`/profile <file>` 在对话内切换 kernel。
680
685
  */
681
- async function cmdChat(args) {
682
- const profile = args.profile !== undefined ? loadProfile(args.profile) : defaultChatProfile();
686
+ export function resolveChatProfile(explicitProfile, requiredRole, defaultProfilePath = DEFAULT_PROFILE_PATH) {
687
+ // `kiwi`:优先用 `kiwi buyer/merchant init` 写下的默认 profile
688
+ //(~/.kiwi/kiwi.yaml);没有才回退内置 buyer 默认。
689
+ let profile;
690
+ if (explicitProfile !== undefined) {
691
+ profile = loadProfile(explicitProfile);
692
+ }
693
+ else if (existsSync(defaultProfilePath)) {
694
+ profile = loadProfile(defaultProfilePath);
695
+ }
696
+ else {
697
+ profile = defaultChatProfile();
698
+ }
699
+ if (requiredRole === undefined || profile.role === requiredRole)
700
+ return profile;
701
+ // `kiwi buyer start` is an explicit product entry point. A merchant
702
+ // default profile must not silently turn it into a merchant conversation;
703
+ // use the built-in buyer profile when no profile was explicitly supplied.
704
+ if (explicitProfile === undefined && requiredRole === "buyer") {
705
+ return defaultChatProfile();
706
+ }
707
+ throw new ProfileError(`kiwi ${requiredRole} start 需要 ${requiredRole} profile;当前 profile 的 role 是 ${profile.role}。` +
708
+ ` 请使用 --profile 指向 ${requiredRole} profile。`);
709
+ }
710
+ async function cmdChat(args, requiredRole) {
711
+ const profile = resolveChatProfile(args.profile, requiredRole);
683
712
  // A2A 节点 + buyer 磋商工具共用一个 catalog:kernel 构建前先解析。
684
713
  const catalog = args.catalog ?? process.env.KIWI_CATALOG_URL ?? DEFAULT_CATALOG_URL;
685
714
  const merchantToken = process.env.KIWI_MERCHANT_TOKEN || "";
@@ -768,7 +797,7 @@ async function routeBuyer(sub, args) {
768
797
  return EXIT.OK;
769
798
  }
770
799
  if (sub === "start")
771
- return await cmdChat(args);
800
+ return await cmdChat(args, "buyer");
772
801
  if (sub === "init")
773
802
  return await cmdBuyerInit(args);
774
803
  if (sub === "search")
@@ -870,16 +899,44 @@ async function routeMerchant(sub, args) {
870
899
  * 生成可直接使用的 merchant profile(agent_id = shopping-cli merchant_id,
871
900
  * D2 身份统一);shopping-cli 缺失/不可达记 warning 不阻塞。
872
901
  */
902
+ /** TTY 交互提示一行(非 TTY 返回缺省,不阻塞脚本)。 */
903
+ function promptLine(text, fallback) {
904
+ if (!process.stdin.isTTY)
905
+ return Promise.resolve(fallback);
906
+ process.stdout.write(text);
907
+ return new Promise((resolve) => {
908
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
909
+ rl.question("", (answer) => {
910
+ rl.close();
911
+ resolve(answer.trim() !== "" ? answer.trim() : fallback);
912
+ });
913
+ });
914
+ }
873
915
  async function cmdMerchantInit(args) {
874
- // --merchant-id / --name flag 优先,env 回退(历史教训:help 文案承诺的
875
- // flag 从未被 parseArgs 解析,按 help 执行 100% Unknown argument)。
876
- const merchantId = args.merchantId ?? process.env.KIWI_MERCHANT_ID ?? "";
877
- const name = args.merchantName ?? process.env.KIWI_MERCHANT_NAME ?? "";
878
- if (!name) {
879
- process.stderr.write("--name <商家名称> 是必需的(或 KIWI_MERCHANT_NAME)——它是你在网络上的" +
880
- "公开商家名称,Kiwi 不能替商家起名。\n");
916
+ // --merchant-id / --name flag 优先,env 回退;TTY 下交互提示,缺省自动派生。
917
+ let merchantId = args.merchantId ?? process.env.KIWI_MERCHANT_ID ?? "";
918
+ let name = args.merchantName ?? process.env.KIWI_MERCHANT_NAME ?? "";
919
+ if (process.stdin.isTTY) {
920
+ merchantId = await promptLine(`merchant_id(回车自动生成${name !== "" ? `,建议 ${slugifyMerchantId(name)}` : ""}): `, merchantId);
921
+ name = await promptLine(`商家名称(回车用缺省): `, name);
922
+ // TTY 下可全回车:merchant_id 自动生成(避免固定名碰撞)。
923
+ if (merchantId === "")
924
+ merchantId = `merchant-${Math.random().toString(36).slice(2, 8)}`;
925
+ if (name === "")
926
+ name = merchantId;
927
+ }
928
+ else if (merchantId === "" && name === "") {
929
+ // 非交互且无任何身份 → fail-closed(不自动生成碰撞身份)。
930
+ process.stderr.write("--merchant-id <id> 或 --name <商家名称> 至少填一个(TTY 下可交互回车自动生成)。\n");
881
931
  return EXIT.CONFIG;
882
932
  }
933
+ else {
934
+ // 系统补全:merchant_id 缺省从名称派生;名称缺省用 merchant_id。
935
+ if (merchantId === "")
936
+ merchantId = slugifyMerchantId(name);
937
+ if (name === "")
938
+ name = merchantId;
939
+ }
883
940
  const report = await merchantInit({
884
941
  merchantName: name,
885
942
  ...(merchantId !== "" ? { merchantId } : {}),
@@ -949,6 +1006,28 @@ async function routeNetwork(sub) {
949
1006
  }
950
1007
  return notImplementedProduct(`kiwi network ${sub}`, "§5(Network Operator 面)");
951
1008
  }
1009
+ /**
1010
+ * `kiwi demo [a|b]`(Issue 13):一条命令本地多商家演示。
1011
+ * 阶段可视化输出到 stderr,stdout 保持干净(可 JSON 消费)。
1012
+ */
1013
+ async function cmdDemo(args) {
1014
+ const scenarioKey = args.command[1] ?? "a";
1015
+ const { runDemo, DEMO_SCENARIOS } = await import("./demo/demo-runner.js");
1016
+ if (DEMO_SCENARIOS[scenarioKey] === undefined) {
1017
+ process.stderr.write(`unknown demo scenario: ${scenarioKey}(可用 a / b)\n`);
1018
+ return EXIT.CONFIG;
1019
+ }
1020
+ try {
1021
+ await runDemo(scenarioKey, {
1022
+ onLog: (phase, detail) => process.stderr.write(` [${phase}] ${detail}\n`),
1023
+ });
1024
+ return EXIT.OK;
1025
+ }
1026
+ catch (err) {
1027
+ process.stderr.write(`demo failed: ${err instanceof Error ? err.message : String(err)}\n`);
1028
+ return EXIT.TRANSIENT;
1029
+ }
1030
+ }
952
1031
  function notImplementedProduct(name, target) {
953
1032
  process.stderr.write(`${name} 尚未实现(产品层完成定义 ${target},见 docs/kiwi-product-layer-refactor-rev1.1.md §19)。\n`);
954
1033
  return EXIT.CONFIG;
@@ -996,6 +1075,8 @@ export async function main(argv = process.argv.slice(2)) {
996
1075
  return await routeMerchant(sub, args);
997
1076
  if (cmd === "network")
998
1077
  return await routeNetwork(sub);
1078
+ if (cmd === "demo")
1079
+ return await cmdDemo(args);
999
1080
  if (cmd === "doctor") {
1000
1081
  // 无 --profile → 三组件聚合健康(D0);有 → 既有 profile doctor
1001
1082
  return args.profile !== undefined ? await cmdDoctor(args) : await cmdProductDoctor();
@@ -1096,7 +1177,10 @@ export async function main(argv = process.argv.slice(2)) {
1096
1177
  }
1097
1178
  if (err instanceof SupervisorError) {
1098
1179
  process.stderr.write(`${err.message}\n`);
1099
- return EXIT.TRANSIENT;
1180
+ // 审查 K-L18:配置/环境类错误(kind=config)→ EXIT.CONFIG(2);运行时/
1181
+ // 操作类(transient)→ EXIT.TRANSIENT(10)。此前一律 TRANSIENT,退出码
1182
+ // 语义混淆(脚本按退出码判断"配置错"会误判为"瞬时故障可重试")。
1183
+ return err.kind === "config" ? EXIT.CONFIG : EXIT.TRANSIENT;
1100
1184
  }
1101
1185
  throw err;
1102
1186
  }