@harrylabsj/kiwi 0.6.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 (636) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +150 -0
  3. package/contracts/candidate-agent-dto-1.0.README.md +39 -0
  4. package/contracts/candidate-agent-dto-1.0.schema.json +172 -0
  5. package/contracts/interop/kiwi-buyer-message-send.json +43 -0
  6. package/contracts/interop/knp-data-part-examples.json +243 -0
  7. package/contracts/kiwi-catalog/1.0/agent-record.schema.json +78 -0
  8. package/contracts/kiwi-catalog/1.0/listing-record.schema.json +88 -0
  9. package/contracts/kiwi-catalog/1.0/listing-search-result.schema.json +60 -0
  10. package/contracts/negotiation/1.0/schema.json +501 -0
  11. package/contracts/shopping.negotiation/0.1/capabilities.schema.json +47 -0
  12. package/contracts/shopping.negotiation/0.1/decision.schema.json +120 -0
  13. package/contracts/shopping.negotiation/0.1/policy-result.schema.json +52 -0
  14. package/contracts/shopping.negotiation/0.1/snapshot.schema.json +172 -0
  15. package/dist/a2a/client/client.d.ts +33 -0
  16. package/dist/a2a/client/client.js +161 -0
  17. package/dist/a2a/client/client.js.map +1 -0
  18. package/dist/a2a/client/error.d.ts +35 -0
  19. package/dist/a2a/client/error.js +34 -0
  20. package/dist/a2a/client/error.js.map +1 -0
  21. package/dist/a2a/client/index.d.ts +29 -0
  22. package/dist/a2a/client/index.js +26 -0
  23. package/dist/a2a/client/index.js.map +1 -0
  24. package/dist/a2a/client/jsonrpc.d.ts +49 -0
  25. package/dist/a2a/client/jsonrpc.js +85 -0
  26. package/dist/a2a/client/jsonrpc.js.map +1 -0
  27. package/dist/a2a/client/parse.d.ts +18 -0
  28. package/dist/a2a/client/parse.js +134 -0
  29. package/dist/a2a/client/parse.js.map +1 -0
  30. package/dist/a2a/client/types.d.ts +102 -0
  31. package/dist/a2a/client/types.js +26 -0
  32. package/dist/a2a/client/types.js.map +1 -0
  33. package/dist/a2a/client/url-policy.d.ts +44 -0
  34. package/dist/a2a/client/url-policy.js +242 -0
  35. package/dist/a2a/client/url-policy.js.map +1 -0
  36. package/dist/a2a/negotiate.d.ts +68 -0
  37. package/dist/a2a/negotiate.js +288 -0
  38. package/dist/a2a/negotiate.js.map +1 -0
  39. package/dist/a2a/node.d.ts +37 -0
  40. package/dist/a2a/node.js +155 -0
  41. package/dist/a2a/node.js.map +1 -0
  42. package/dist/a2a/server/auth.d.ts +38 -0
  43. package/dist/a2a/server/auth.js +112 -0
  44. package/dist/a2a/server/auth.js.map +1 -0
  45. package/dist/a2a/server/card.d.ts +19 -0
  46. package/dist/a2a/server/card.js +81 -0
  47. package/dist/a2a/server/card.js.map +1 -0
  48. package/dist/a2a/server/errors.d.ts +109 -0
  49. package/dist/a2a/server/errors.js +178 -0
  50. package/dist/a2a/server/errors.js.map +1 -0
  51. package/dist/a2a/server/handler.d.ts +22 -0
  52. package/dist/a2a/server/handler.js +57 -0
  53. package/dist/a2a/server/handler.js.map +1 -0
  54. package/dist/a2a/server/inbound-message.d.ts +37 -0
  55. package/dist/a2a/server/inbound-message.js +104 -0
  56. package/dist/a2a/server/inbound-message.js.map +1 -0
  57. package/dist/a2a/server/index.d.ts +43 -0
  58. package/dist/a2a/server/index.js +42 -0
  59. package/dist/a2a/server/index.js.map +1 -0
  60. package/dist/a2a/server/merchant-handler.d.ts +69 -0
  61. package/dist/a2a/server/merchant-handler.js +316 -0
  62. package/dist/a2a/server/merchant-handler.js.map +1 -0
  63. package/dist/a2a/server/pipeline.d.ts +69 -0
  64. package/dist/a2a/server/pipeline.js +329 -0
  65. package/dist/a2a/server/pipeline.js.map +1 -0
  66. package/dist/a2a/server/server.d.ts +64 -0
  67. package/dist/a2a/server/server.js +420 -0
  68. package/dist/a2a/server/server.js.map +1 -0
  69. package/dist/a2a/server/task-registry.d.ts +31 -0
  70. package/dist/a2a/server/task-registry.js +67 -0
  71. package/dist/a2a/server/task-registry.js.map +1 -0
  72. package/dist/a2a/server/throttle.d.ts +154 -0
  73. package/dist/a2a/server/throttle.js +289 -0
  74. package/dist/a2a/server/throttle.js.map +1 -0
  75. package/dist/a2a/server/types.d.ts +191 -0
  76. package/dist/a2a/server/types.js +17 -0
  77. package/dist/a2a/server/types.js.map +1 -0
  78. package/dist/a2a/server/ucp.d.ts +49 -0
  79. package/dist/a2a/server/ucp.js +85 -0
  80. package/dist/a2a/server/ucp.js.map +1 -0
  81. package/dist/a2a/task/index.d.ts +24 -0
  82. package/dist/a2a/task/index.js +22 -0
  83. package/dist/a2a/task/index.js.map +1 -0
  84. package/dist/a2a/task/ledger.d.ts +48 -0
  85. package/dist/a2a/task/ledger.js +65 -0
  86. package/dist/a2a/task/ledger.js.map +1 -0
  87. package/dist/a2a/task/poller.d.ts +93 -0
  88. package/dist/a2a/task/poller.js +184 -0
  89. package/dist/a2a/task/poller.js.map +1 -0
  90. package/dist/a2a/task/state.d.ts +72 -0
  91. package/dist/a2a/task/state.js +119 -0
  92. package/dist/a2a/task/state.js.map +1 -0
  93. package/dist/a2a/ucp-agent.d.ts +49 -0
  94. package/dist/a2a/ucp-agent.js +78 -0
  95. package/dist/a2a/ucp-agent.js.map +1 -0
  96. package/dist/agent/agent-db.d.ts +31 -0
  97. package/dist/agent/agent-db.js +91 -0
  98. package/dist/agent/agent-db.js.map +1 -0
  99. package/dist/agent/buyer/buyer-tools.d.ts +70 -0
  100. package/dist/agent/buyer/buyer-tools.js +1353 -0
  101. package/dist/agent/buyer/buyer-tools.js.map +1 -0
  102. package/dist/agent/buyer/ranker.d.ts +53 -0
  103. package/dist/agent/buyer/ranker.js +153 -0
  104. package/dist/agent/buyer/ranker.js.map +1 -0
  105. package/dist/agent/buyer/scheduler.d.ts +58 -0
  106. package/dist/agent/buyer/scheduler.js +317 -0
  107. package/dist/agent/buyer/scheduler.js.map +1 -0
  108. package/dist/agent/buyer/search-loop.d.ts +42 -0
  109. package/dist/agent/buyer/search-loop.js +280 -0
  110. package/dist/agent/buyer/search-loop.js.map +1 -0
  111. package/dist/agent/buyer/task-store.d.ts +178 -0
  112. package/dist/agent/buyer/task-store.js +637 -0
  113. package/dist/agent/buyer/task-store.js.map +1 -0
  114. package/dist/agent/buyer/types.d.ts +222 -0
  115. package/dist/agent/buyer/types.js +124 -0
  116. package/dist/agent/buyer/types.js.map +1 -0
  117. package/dist/agent/chat-tools.d.ts +41 -0
  118. package/dist/agent/chat-tools.js +193 -0
  119. package/dist/agent/chat-tools.js.map +1 -0
  120. package/dist/agent/chat-tui.d.ts +49 -0
  121. package/dist/agent/chat-tui.js +314 -0
  122. package/dist/agent/chat-tui.js.map +1 -0
  123. package/dist/agent/connector/fake-connector.d.ts +50 -0
  124. package/dist/agent/connector/fake-connector.js +138 -0
  125. package/dist/agent/connector/fake-connector.js.map +1 -0
  126. package/dist/agent/connector/http-connector.d.ts +49 -0
  127. package/dist/agent/connector/http-connector.js +208 -0
  128. package/dist/agent/connector/http-connector.js.map +1 -0
  129. package/dist/agent/connector/types.d.ts +103 -0
  130. package/dist/agent/connector/types.js +97 -0
  131. package/dist/agent/connector/types.js.map +1 -0
  132. package/dist/agent/fake-chat-model.d.ts +22 -0
  133. package/dist/agent/fake-chat-model.js +134 -0
  134. package/dist/agent/fake-chat-model.js.map +1 -0
  135. package/dist/agent/kernel.d.ts +258 -0
  136. package/dist/agent/kernel.js +1099 -0
  137. package/dist/agent/kernel.js.map +1 -0
  138. package/dist/agent/memory/schema.d.ts +32 -0
  139. package/dist/agent/memory/schema.js +291 -0
  140. package/dist/agent/memory/schema.js.map +1 -0
  141. package/dist/agent/memory/store.d.ts +193 -0
  142. package/dist/agent/memory/store.js +881 -0
  143. package/dist/agent/memory/store.js.map +1 -0
  144. package/dist/agent/memory/types.d.ts +139 -0
  145. package/dist/agent/memory/types.js +119 -0
  146. package/dist/agent/memory/types.js.map +1 -0
  147. package/dist/agent/memory/vault.d.ts +49 -0
  148. package/dist/agent/memory/vault.js +125 -0
  149. package/dist/agent/memory/vault.js.map +1 -0
  150. package/dist/agent/merchant/action-candidate.d.ts +106 -0
  151. package/dist/agent/merchant/action-candidate.js +241 -0
  152. package/dist/agent/merchant/action-candidate.js.map +1 -0
  153. package/dist/agent/merchant/credential-broker.d.ts +67 -0
  154. package/dist/agent/merchant/credential-broker.js +76 -0
  155. package/dist/agent/merchant/credential-broker.js.map +1 -0
  156. package/dist/agent/merchant/fake-merchant-client.d.ts +47 -0
  157. package/dist/agent/merchant/fake-merchant-client.js +143 -0
  158. package/dist/agent/merchant/fake-merchant-client.js.map +1 -0
  159. package/dist/agent/merchant/merchant-client.d.ts +49 -0
  160. package/dist/agent/merchant/merchant-client.js +186 -0
  161. package/dist/agent/merchant/merchant-client.js.map +1 -0
  162. package/dist/agent/merchant/merchant-tools.d.ts +74 -0
  163. package/dist/agent/merchant/merchant-tools.js +582 -0
  164. package/dist/agent/merchant/merchant-tools.js.map +1 -0
  165. package/dist/agent/merchant/types.d.ts +119 -0
  166. package/dist/agent/merchant/types.js +133 -0
  167. package/dist/agent/merchant/types.js.map +1 -0
  168. package/dist/agent/mode.d.ts +32 -0
  169. package/dist/agent/mode.js +34 -0
  170. package/dist/agent/mode.js.map +1 -0
  171. package/dist/agent/negotiation-chat.d.ts +81 -0
  172. package/dist/agent/negotiation-chat.js +330 -0
  173. package/dist/agent/negotiation-chat.js.map +1 -0
  174. package/dist/agent/session.d.ts +22 -0
  175. package/dist/agent/session.js +164 -0
  176. package/dist/agent/session.js.map +1 -0
  177. package/dist/agent/system-prompt.d.ts +26 -0
  178. package/dist/agent/system-prompt.js +77 -0
  179. package/dist/agent/system-prompt.js.map +1 -0
  180. package/dist/agent/write-gate.d.ts +98 -0
  181. package/dist/agent/write-gate.js +76 -0
  182. package/dist/agent/write-gate.js.map +1 -0
  183. package/dist/cli.d.ts +18 -0
  184. package/dist/cli.js +1139 -0
  185. package/dist/cli.js.map +1 -0
  186. package/dist/commerce/data-source.d.ts +88 -0
  187. package/dist/commerce/data-source.js +25 -0
  188. package/dist/commerce/data-source.js.map +1 -0
  189. package/dist/commerce/erp-source.d.ts +51 -0
  190. package/dist/commerce/erp-source.js +184 -0
  191. package/dist/commerce/erp-source.js.map +1 -0
  192. package/dist/commerce/fake-client.d.ts +167 -0
  193. package/dist/commerce/fake-client.js +549 -0
  194. package/dist/commerce/fake-client.js.map +1 -0
  195. package/dist/commerce/http-client.d.ts +73 -0
  196. package/dist/commerce/http-client.js +284 -0
  197. package/dist/commerce/http-client.js.map +1 -0
  198. package/dist/commerce/local-db-source.d.ts +50 -0
  199. package/dist/commerce/local-db-source.js +162 -0
  200. package/dist/commerce/local-db-source.js.map +1 -0
  201. package/dist/commerce/shopping-cli-source.d.ts +57 -0
  202. package/dist/commerce/shopping-cli-source.js +206 -0
  203. package/dist/commerce/shopping-cli-source.js.map +1 -0
  204. package/dist/commerce/types.d.ts +146 -0
  205. package/dist/commerce/types.js +31 -0
  206. package/dist/commerce/types.js.map +1 -0
  207. package/dist/config/profile.d.ts +122 -0
  208. package/dist/config/profile.js +386 -0
  209. package/dist/config/profile.js.map +1 -0
  210. package/dist/contracts/negotiation-schema.d.ts +28 -0
  211. package/dist/contracts/negotiation-schema.js +101 -0
  212. package/dist/contracts/negotiation-schema.js.map +1 -0
  213. package/dist/contracts/schemas.d.ts +31 -0
  214. package/dist/contracts/schemas.js +122 -0
  215. package/dist/contracts/schemas.js.map +1 -0
  216. package/dist/counterparty/a2a-direct/index.d.ts +41 -0
  217. package/dist/counterparty/a2a-direct/index.js +330 -0
  218. package/dist/counterparty/a2a-direct/index.js.map +1 -0
  219. package/dist/counterparty/channel.d.ts +200 -0
  220. package/dist/counterparty/channel.js +61 -0
  221. package/dist/counterparty/channel.js.map +1 -0
  222. package/dist/counterparty/index.d.ts +28 -0
  223. package/dist/counterparty/index.js +24 -0
  224. package/dist/counterparty/index.js.map +1 -0
  225. package/dist/counterparty/platform-api/index.d.ts +41 -0
  226. package/dist/counterparty/platform-api/index.js +65 -0
  227. package/dist/counterparty/platform-api/index.js.map +1 -0
  228. package/dist/counterparty/registry.d.ts +51 -0
  229. package/dist/counterparty/registry.js +71 -0
  230. package/dist/counterparty/registry.js.map +1 -0
  231. package/dist/counterparty/shopping-cli-hosted/index.d.ts +36 -0
  232. package/dist/counterparty/shopping-cli-hosted/index.js +337 -0
  233. package/dist/counterparty/shopping-cli-hosted/index.js.map +1 -0
  234. package/dist/discovery/agent-card/error.d.ts +28 -0
  235. package/dist/discovery/agent-card/error.js +31 -0
  236. package/dist/discovery/agent-card/error.js.map +1 -0
  237. package/dist/discovery/agent-card/extensions.d.ts +20 -0
  238. package/dist/discovery/agent-card/extensions.js +59 -0
  239. package/dist/discovery/agent-card/extensions.js.map +1 -0
  240. package/dist/discovery/agent-card/index.d.ts +29 -0
  241. package/dist/discovery/agent-card/index.js +38 -0
  242. package/dist/discovery/agent-card/index.js.map +1 -0
  243. package/dist/discovery/agent-card/secrets.d.ts +30 -0
  244. package/dist/discovery/agent-card/secrets.js +240 -0
  245. package/dist/discovery/agent-card/secrets.js.map +1 -0
  246. package/dist/discovery/agent-card/types.d.ts +110 -0
  247. package/dist/discovery/agent-card/types.js +37 -0
  248. package/dist/discovery/agent-card/types.js.map +1 -0
  249. package/dist/discovery/agent-card/validate.d.ts +31 -0
  250. package/dist/discovery/agent-card/validate.js +210 -0
  251. package/dist/discovery/agent-card/validate.js.map +1 -0
  252. package/dist/discovery/capability/error.d.ts +23 -0
  253. package/dist/discovery/capability/error.js +28 -0
  254. package/dist/discovery/capability/error.js.map +1 -0
  255. package/dist/discovery/capability/index.d.ts +21 -0
  256. package/dist/discovery/capability/index.js +21 -0
  257. package/dist/discovery/capability/index.js.map +1 -0
  258. package/dist/discovery/capability/intersect.d.ts +56 -0
  259. package/dist/discovery/capability/intersect.js +137 -0
  260. package/dist/discovery/capability/intersect.js.map +1 -0
  261. package/dist/discovery/catalog-source/errors.d.ts +32 -0
  262. package/dist/discovery/catalog-source/errors.js +41 -0
  263. package/dist/discovery/catalog-source/errors.js.map +1 -0
  264. package/dist/discovery/catalog-source/index.d.ts +30 -0
  265. package/dist/discovery/catalog-source/index.js +29 -0
  266. package/dist/discovery/catalog-source/index.js.map +1 -0
  267. package/dist/discovery/catalog-source/kiwi-record.d.ts +183 -0
  268. package/dist/discovery/catalog-source/kiwi-record.js +72 -0
  269. package/dist/discovery/catalog-source/kiwi-record.js.map +1 -0
  270. package/dist/discovery/catalog-source/kiwi-schema.d.ts +33 -0
  271. package/dist/discovery/catalog-source/kiwi-schema.js +106 -0
  272. package/dist/discovery/catalog-source/kiwi-schema.js.map +1 -0
  273. package/dist/discovery/catalog-source/kiwi-source.d.ts +38 -0
  274. package/dist/discovery/catalog-source/kiwi-source.js +318 -0
  275. package/dist/discovery/catalog-source/kiwi-source.js.map +1 -0
  276. package/dist/discovery/catalog-source/register.d.ts +48 -0
  277. package/dist/discovery/catalog-source/register.js +83 -0
  278. package/dist/discovery/catalog-source/register.js.map +1 -0
  279. package/dist/discovery/catalog-source/schema.d.ts +21 -0
  280. package/dist/discovery/catalog-source/schema.js +63 -0
  281. package/dist/discovery/catalog-source/schema.js.map +1 -0
  282. package/dist/discovery/catalog-source/source.d.ts +45 -0
  283. package/dist/discovery/catalog-source/source.js +197 -0
  284. package/dist/discovery/catalog-source/source.js.map +1 -0
  285. package/dist/discovery/catalog-source/types.d.ts +122 -0
  286. package/dist/discovery/catalog-source/types.js +30 -0
  287. package/dist/discovery/catalog-source/types.js.map +1 -0
  288. package/dist/discovery/index.d.ts +25 -0
  289. package/dist/discovery/index.js +25 -0
  290. package/dist/discovery/index.js.map +1 -0
  291. package/dist/discovery/resolve.d.ts +175 -0
  292. package/dist/discovery/resolve.js +367 -0
  293. package/dist/discovery/resolve.js.map +1 -0
  294. package/dist/discovery/ucp/error.d.ts +25 -0
  295. package/dist/discovery/ucp/error.js +27 -0
  296. package/dist/discovery/ucp/error.js.map +1 -0
  297. package/dist/discovery/ucp/index.d.ts +33 -0
  298. package/dist/discovery/ucp/index.js +28 -0
  299. package/dist/discovery/ucp/index.js.map +1 -0
  300. package/dist/discovery/ucp/intersect.d.ts +148 -0
  301. package/dist/discovery/ucp/intersect.js +312 -0
  302. package/dist/discovery/ucp/intersect.js.map +1 -0
  303. package/dist/discovery/ucp/resolver.d.ts +62 -0
  304. package/dist/discovery/ucp/resolver.js +214 -0
  305. package/dist/discovery/ucp/resolver.js.map +1 -0
  306. package/dist/discovery/ucp/types.d.ts +97 -0
  307. package/dist/discovery/ucp/types.js +103 -0
  308. package/dist/discovery/ucp/types.js.map +1 -0
  309. package/dist/discovery/ucp/validate.d.ts +38 -0
  310. package/dist/discovery/ucp/validate.js +232 -0
  311. package/dist/discovery/ucp/validate.js.map +1 -0
  312. package/dist/discovery/ucp/vendor.d.ts +60 -0
  313. package/dist/discovery/ucp/vendor.js +61 -0
  314. package/dist/discovery/ucp/vendor.js.map +1 -0
  315. package/dist/doctor.d.ts +26 -0
  316. package/dist/doctor.js +113 -0
  317. package/dist/doctor.js.map +1 -0
  318. package/dist/exit-codes.d.ts +26 -0
  319. package/dist/exit-codes.js +27 -0
  320. package/dist/exit-codes.js.map +1 -0
  321. package/dist/fanout/disclosure.d.ts +138 -0
  322. package/dist/fanout/disclosure.js +188 -0
  323. package/dist/fanout/disclosure.js.map +1 -0
  324. package/dist/fanout/index.d.ts +32 -0
  325. package/dist/fanout/index.js +30 -0
  326. package/dist/fanout/index.js.map +1 -0
  327. package/dist/fanout/orchestrator.d.ts +153 -0
  328. package/dist/fanout/orchestrator.js +439 -0
  329. package/dist/fanout/orchestrator.js.map +1 -0
  330. package/dist/fanout/policy.d.ts +128 -0
  331. package/dist/fanout/policy.js +130 -0
  332. package/dist/fanout/policy.js.map +1 -0
  333. package/dist/handoff/acp-commerce.d.ts +58 -0
  334. package/dist/handoff/acp-commerce.js +69 -0
  335. package/dist/handoff/acp-commerce.js.map +1 -0
  336. package/dist/handoff/authorization.d.ts +127 -0
  337. package/dist/handoff/authorization.js +107 -0
  338. package/dist/handoff/authorization.js.map +1 -0
  339. package/dist/handoff/candidate.d.ts +94 -0
  340. package/dist/handoff/candidate.js +172 -0
  341. package/dist/handoff/candidate.js.map +1 -0
  342. package/dist/handoff/channel.d.ts +88 -0
  343. package/dist/handoff/channel.js +189 -0
  344. package/dist/handoff/channel.js.map +1 -0
  345. package/dist/handoff/completion.d.ts +44 -0
  346. package/dist/handoff/completion.js +136 -0
  347. package/dist/handoff/completion.js.map +1 -0
  348. package/dist/handoff/delivery.d.ts +59 -0
  349. package/dist/handoff/delivery.js +185 -0
  350. package/dist/handoff/delivery.js.map +1 -0
  351. package/dist/handoff/destination.d.ts +39 -0
  352. package/dist/handoff/destination.js +99 -0
  353. package/dist/handoff/destination.js.map +1 -0
  354. package/dist/handoff/errors.d.ts +34 -0
  355. package/dist/handoff/errors.js +47 -0
  356. package/dist/handoff/errors.js.map +1 -0
  357. package/dist/handoff/idempotency.d.ts +51 -0
  358. package/dist/handoff/idempotency.js +168 -0
  359. package/dist/handoff/idempotency.js.map +1 -0
  360. package/dist/handoff/index.d.ts +46 -0
  361. package/dist/handoff/index.js +48 -0
  362. package/dist/handoff/index.js.map +1 -0
  363. package/dist/handoff/ledger.d.ts +94 -0
  364. package/dist/handoff/ledger.js +195 -0
  365. package/dist/handoff/ledger.js.map +1 -0
  366. package/dist/handoff/lifecycle.d.ts +29 -0
  367. package/dist/handoff/lifecycle.js +102 -0
  368. package/dist/handoff/lifecycle.js.map +1 -0
  369. package/dist/handoff/metrics.d.ts +56 -0
  370. package/dist/handoff/metrics.js +78 -0
  371. package/dist/handoff/metrics.js.map +1 -0
  372. package/dist/handoff/operator-approval.d.ts +143 -0
  373. package/dist/handoff/operator-approval.js +287 -0
  374. package/dist/handoff/operator-approval.js.map +1 -0
  375. package/dist/handoff/order-record.d.ts +104 -0
  376. package/dist/handoff/order-record.js +235 -0
  377. package/dist/handoff/order-record.js.map +1 -0
  378. package/dist/handoff/package.d.ts +102 -0
  379. package/dist/handoff/package.js +132 -0
  380. package/dist/handoff/package.js.map +1 -0
  381. package/dist/handoff/transaction.d.ts +96 -0
  382. package/dist/handoff/transaction.js +263 -0
  383. package/dist/handoff/transaction.js.map +1 -0
  384. package/dist/handoff/ucp-checkout/cart-channel.d.ts +111 -0
  385. package/dist/handoff/ucp-checkout/cart-channel.js +370 -0
  386. package/dist/handoff/ucp-checkout/cart-channel.js.map +1 -0
  387. package/dist/handoff/ucp-checkout/cart-parse.d.ts +22 -0
  388. package/dist/handoff/ucp-checkout/cart-parse.js +102 -0
  389. package/dist/handoff/ucp-checkout/cart-parse.js.map +1 -0
  390. package/dist/handoff/ucp-checkout/cart-types.d.ts +93 -0
  391. package/dist/handoff/ucp-checkout/cart-types.js +38 -0
  392. package/dist/handoff/ucp-checkout/cart-types.js.map +1 -0
  393. package/dist/handoff/ucp-checkout/channel.d.ts +159 -0
  394. package/dist/handoff/ucp-checkout/channel.js +636 -0
  395. package/dist/handoff/ucp-checkout/channel.js.map +1 -0
  396. package/dist/handoff/ucp-checkout/client.d.ts +88 -0
  397. package/dist/handoff/ucp-checkout/client.js +228 -0
  398. package/dist/handoff/ucp-checkout/client.js.map +1 -0
  399. package/dist/handoff/ucp-checkout/endpoint.d.ts +36 -0
  400. package/dist/handoff/ucp-checkout/endpoint.js +145 -0
  401. package/dist/handoff/ucp-checkout/endpoint.js.map +1 -0
  402. package/dist/handoff/ucp-checkout/index.d.ts +35 -0
  403. package/dist/handoff/ucp-checkout/index.js +36 -0
  404. package/dist/handoff/ucp-checkout/index.js.map +1 -0
  405. package/dist/handoff/ucp-checkout/parse.d.ts +71 -0
  406. package/dist/handoff/ucp-checkout/parse.js +349 -0
  407. package/dist/handoff/ucp-checkout/parse.js.map +1 -0
  408. package/dist/handoff/ucp-checkout/totals.d.ts +41 -0
  409. package/dist/handoff/ucp-checkout/totals.js +36 -0
  410. package/dist/handoff/ucp-checkout/totals.js.map +1 -0
  411. package/dist/handoff/ucp-checkout/types.d.ts +149 -0
  412. package/dist/handoff/ucp-checkout/types.js +58 -0
  413. package/dist/handoff/ucp-checkout/types.js.map +1 -0
  414. package/dist/handoff/url-safety.d.ts +44 -0
  415. package/dist/handoff/url-safety.js +121 -0
  416. package/dist/handoff/url-safety.js.map +1 -0
  417. package/dist/i18n.d.ts +24 -0
  418. package/dist/i18n.js +27 -0
  419. package/dist/i18n.js.map +1 -0
  420. package/dist/negotiation/action-candidate.d.ts +97 -0
  421. package/dist/negotiation/action-candidate.js +160 -0
  422. package/dist/negotiation/action-candidate.js.map +1 -0
  423. package/dist/negotiation/condition/evaluator.d.ts +36 -0
  424. package/dist/negotiation/condition/evaluator.js +123 -0
  425. package/dist/negotiation/condition/evaluator.js.map +1 -0
  426. package/dist/negotiation/context-map/index.d.ts +23 -0
  427. package/dist/negotiation/context-map/index.js +22 -0
  428. package/dist/negotiation/context-map/index.js.map +1 -0
  429. package/dist/negotiation/context-map/store.d.ts +51 -0
  430. package/dist/negotiation/context-map/store.js +186 -0
  431. package/dist/negotiation/context-map/store.js.map +1 -0
  432. package/dist/negotiation/context-map/types.d.ts +29 -0
  433. package/dist/negotiation/context-map/types.js +57 -0
  434. package/dist/negotiation/context-map/types.js.map +1 -0
  435. package/dist/negotiation/domain/common.d.ts +95 -0
  436. package/dist/negotiation/domain/common.js +216 -0
  437. package/dist/negotiation/domain/common.js.map +1 -0
  438. package/dist/negotiation/domain/envelope.d.ts +55 -0
  439. package/dist/negotiation/domain/envelope.js +110 -0
  440. package/dist/negotiation/domain/envelope.js.map +1 -0
  441. package/dist/negotiation/domain/identifiers.d.ts +65 -0
  442. package/dist/negotiation/domain/identifiers.js +130 -0
  443. package/dist/negotiation/domain/identifiers.js.map +1 -0
  444. package/dist/negotiation/domain/objects.d.ts +149 -0
  445. package/dist/negotiation/domain/objects.js +335 -0
  446. package/dist/negotiation/domain/objects.js.map +1 -0
  447. package/dist/negotiation/idempotency/index.d.ts +26 -0
  448. package/dist/negotiation/idempotency/index.js +25 -0
  449. package/dist/negotiation/idempotency/index.js.map +1 -0
  450. package/dist/negotiation/idempotency/store.d.ts +52 -0
  451. package/dist/negotiation/idempotency/store.js +189 -0
  452. package/dist/negotiation/idempotency/store.js.map +1 -0
  453. package/dist/negotiation/idempotency/types.d.ts +102 -0
  454. package/dist/negotiation/idempotency/types.js +47 -0
  455. package/dist/negotiation/idempotency/types.js.map +1 -0
  456. package/dist/negotiation/jcs.d.ts +21 -0
  457. package/dist/negotiation/jcs.js +114 -0
  458. package/dist/negotiation/jcs.js.map +1 -0
  459. package/dist/negotiation/ledger/event.d.ts +142 -0
  460. package/dist/negotiation/ledger/event.js +206 -0
  461. package/dist/negotiation/ledger/event.js.map +1 -0
  462. package/dist/negotiation/ledger/index.d.ts +26 -0
  463. package/dist/negotiation/ledger/index.js +25 -0
  464. package/dist/negotiation/ledger/index.js.map +1 -0
  465. package/dist/negotiation/ledger/store.d.ts +97 -0
  466. package/dist/negotiation/ledger/store.js +338 -0
  467. package/dist/negotiation/ledger/store.js.map +1 -0
  468. package/dist/negotiation/prompt.d.ts +34 -0
  469. package/dist/negotiation/prompt.js +113 -0
  470. package/dist/negotiation/prompt.js.map +1 -0
  471. package/dist/negotiation/recovery/index.d.ts +26 -0
  472. package/dist/negotiation/recovery/index.js +24 -0
  473. package/dist/negotiation/recovery/index.js.map +1 -0
  474. package/dist/negotiation/recovery/outbound.d.ts +49 -0
  475. package/dist/negotiation/recovery/outbound.js +34 -0
  476. package/dist/negotiation/recovery/outbound.js.map +1 -0
  477. package/dist/negotiation/recovery/recover.d.ts +59 -0
  478. package/dist/negotiation/recovery/recover.js +486 -0
  479. package/dist/negotiation/recovery/recover.js.map +1 -0
  480. package/dist/negotiation/recovery/types.d.ts +85 -0
  481. package/dist/negotiation/recovery/types.js +17 -0
  482. package/dist/negotiation/recovery/types.js.map +1 -0
  483. package/dist/negotiation/state/phase.d.ts +70 -0
  484. package/dist/negotiation/state/phase.js +200 -0
  485. package/dist/negotiation/state/phase.js.map +1 -0
  486. package/dist/negotiation/types.d.ts +139 -0
  487. package/dist/negotiation/types.js +24 -0
  488. package/dist/negotiation/types.js.map +1 -0
  489. package/dist/net/safe-http.d.ts +54 -0
  490. package/dist/net/safe-http.js +116 -0
  491. package/dist/net/safe-http.js.map +1 -0
  492. package/dist/operator/controller.d.ts +181 -0
  493. package/dist/operator/controller.js +784 -0
  494. package/dist/operator/controller.js.map +1 -0
  495. package/dist/operator/runner.d.ts +128 -0
  496. package/dist/operator/runner.js +248 -0
  497. package/dist/operator/runner.js.map +1 -0
  498. package/dist/operator/store.d.ts +39 -0
  499. package/dist/operator/store.js +169 -0
  500. package/dist/operator/store.js.map +1 -0
  501. package/dist/operator/strategy.d.ts +54 -0
  502. package/dist/operator/strategy.js +249 -0
  503. package/dist/operator/strategy.js.map +1 -0
  504. package/dist/operator/tui.d.ts +27 -0
  505. package/dist/operator/tui.js +395 -0
  506. package/dist/operator/tui.js.map +1 -0
  507. package/dist/operator/types.d.ts +224 -0
  508. package/dist/operator/types.js +17 -0
  509. package/dist/operator/types.js.map +1 -0
  510. package/dist/product-buyer.d.ts +74 -0
  511. package/dist/product-buyer.js +161 -0
  512. package/dist/product-buyer.js.map +1 -0
  513. package/dist/product-cli.d.ts +56 -0
  514. package/dist/product-cli.js +175 -0
  515. package/dist/product-cli.js.map +1 -0
  516. package/dist/product-compat.d.ts +50 -0
  517. package/dist/product-compat.js +63 -0
  518. package/dist/product-compat.js.map +1 -0
  519. package/dist/product-init.d.ts +73 -0
  520. package/dist/product-init.js +203 -0
  521. package/dist/product-init.js.map +1 -0
  522. package/dist/product-publish.d.ts +85 -0
  523. package/dist/product-publish.js +216 -0
  524. package/dist/product-publish.js.map +1 -0
  525. package/dist/protocol/legacy-shopping-negotiation/adapter.d.ts +42 -0
  526. package/dist/protocol/legacy-shopping-negotiation/adapter.js +561 -0
  527. package/dist/protocol/legacy-shopping-negotiation/adapter.js.map +1 -0
  528. package/dist/protocol/legacy-shopping-negotiation/mapping.d.ts +78 -0
  529. package/dist/protocol/legacy-shopping-negotiation/mapping.js +321 -0
  530. package/dist/protocol/legacy-shopping-negotiation/mapping.js.map +1 -0
  531. package/dist/protocol/legacy-shopping-negotiation/money.d.ts +49 -0
  532. package/dist/protocol/legacy-shopping-negotiation/money.js +70 -0
  533. package/dist/protocol/legacy-shopping-negotiation/money.js.map +1 -0
  534. package/dist/protocol/legacy-shopping-negotiation/types.d.ts +107 -0
  535. package/dist/protocol/legacy-shopping-negotiation/types.js +34 -0
  536. package/dist/protocol/legacy-shopping-negotiation/types.js.map +1 -0
  537. package/dist/runtime/buyer-policy.d.ts +58 -0
  538. package/dist/runtime/buyer-policy.js +89 -0
  539. package/dist/runtime/buyer-policy.js.map +1 -0
  540. package/dist/runtime/fake-model.d.ts +77 -0
  541. package/dist/runtime/fake-model.js +307 -0
  542. package/dist/runtime/fake-model.js.map +1 -0
  543. package/dist/runtime/foreground.d.ts +56 -0
  544. package/dist/runtime/foreground.js +97 -0
  545. package/dist/runtime/foreground.js.map +1 -0
  546. package/dist/runtime/heartbeat.d.ts +36 -0
  547. package/dist/runtime/heartbeat.js +49 -0
  548. package/dist/runtime/heartbeat.js.map +1 -0
  549. package/dist/runtime/merchant-turn.d.ts +35 -0
  550. package/dist/runtime/merchant-turn.js +20 -0
  551. package/dist/runtime/merchant-turn.js.map +1 -0
  552. package/dist/runtime/model.d.ts +40 -0
  553. package/dist/runtime/model.js +86 -0
  554. package/dist/runtime/model.js.map +1 -0
  555. package/dist/runtime/negotiation-turn.d.ts +101 -0
  556. package/dist/runtime/negotiation-turn.js +317 -0
  557. package/dist/runtime/negotiation-turn.js.map +1 -0
  558. package/dist/runtime/tools.d.ts +64 -0
  559. package/dist/runtime/tools.js +236 -0
  560. package/dist/runtime/tools.js.map +1 -0
  561. package/dist/supervisor/init.d.ts +31 -0
  562. package/dist/supervisor/init.js +222 -0
  563. package/dist/supervisor/init.js.map +1 -0
  564. package/dist/supervisor/logs.d.ts +28 -0
  565. package/dist/supervisor/logs.js +101 -0
  566. package/dist/supervisor/logs.js.map +1 -0
  567. package/dist/supervisor/manage.d.ts +72 -0
  568. package/dist/supervisor/manage.js +419 -0
  569. package/dist/supervisor/manage.js.map +1 -0
  570. package/dist/supervisor/manifest.d.ts +69 -0
  571. package/dist/supervisor/manifest.js +209 -0
  572. package/dist/supervisor/manifest.js.map +1 -0
  573. package/dist/supervisor/stack-config.d.ts +79 -0
  574. package/dist/supervisor/stack-config.js +262 -0
  575. package/dist/supervisor/stack-config.js.map +1 -0
  576. package/dist/supervisor/wrapper.d.ts +17 -0
  577. package/dist/supervisor/wrapper.js +138 -0
  578. package/dist/supervisor/wrapper.js.map +1 -0
  579. package/dist/trust/identity/auth-verifier.d.ts +96 -0
  580. package/dist/trust/identity/auth-verifier.js +166 -0
  581. package/dist/trust/identity/auth-verifier.js.map +1 -0
  582. package/dist/trust/identity/identity-binding.d.ts +63 -0
  583. package/dist/trust/identity/identity-binding.js +59 -0
  584. package/dist/trust/identity/identity-binding.js.map +1 -0
  585. package/dist/trust/identity/index.d.ts +38 -0
  586. package/dist/trust/identity/index.js +31 -0
  587. package/dist/trust/identity/index.js.map +1 -0
  588. package/dist/trust/identity/jws.d.ts +64 -0
  589. package/dist/trust/identity/jws.js +178 -0
  590. package/dist/trust/identity/jws.js.map +1 -0
  591. package/dist/trust/identity/keys.d.ts +71 -0
  592. package/dist/trust/identity/keys.js +118 -0
  593. package/dist/trust/identity/keys.js.map +1 -0
  594. package/dist/trust/identity/message-signature.d.ts +105 -0
  595. package/dist/trust/identity/message-signature.js +297 -0
  596. package/dist/trust/identity/message-signature.js.map +1 -0
  597. package/dist/trust/identity/nonce.d.ts +45 -0
  598. package/dist/trust/identity/nonce.js +50 -0
  599. package/dist/trust/identity/nonce.js.map +1 -0
  600. package/dist/trust/identity/signature-base.d.ts +84 -0
  601. package/dist/trust/identity/signature-base.js +261 -0
  602. package/dist/trust/identity/signature-base.js.map +1 -0
  603. package/dist/trust/identity/trust-policy.d.ts +92 -0
  604. package/dist/trust/identity/trust-policy.js +95 -0
  605. package/dist/trust/identity/trust-policy.js.map +1 -0
  606. package/dist/trust/index.d.ts +21 -0
  607. package/dist/trust/index.js +22 -0
  608. package/dist/trust/index.js.map +1 -0
  609. package/dist/trust/records/evaluator.d.ts +76 -0
  610. package/dist/trust/records/evaluator.js +122 -0
  611. package/dist/trust/records/evaluator.js.map +1 -0
  612. package/dist/trust/records/index.d.ts +28 -0
  613. package/dist/trust/records/index.js +26 -0
  614. package/dist/trust/records/index.js.map +1 -0
  615. package/dist/trust/records/store.d.ts +75 -0
  616. package/dist/trust/records/store.js +339 -0
  617. package/dist/trust/records/store.js.map +1 -0
  618. package/dist/trust/records/types.d.ts +159 -0
  619. package/dist/trust/records/types.js +40 -0
  620. package/dist/trust/records/types.js.map +1 -0
  621. package/dist/tui/banner.d.ts +46 -0
  622. package/dist/tui/banner.js +99 -0
  623. package/dist/tui/banner.js.map +1 -0
  624. package/dist/tui/styles.d.ts +70 -0
  625. package/dist/tui/styles.js +197 -0
  626. package/dist/tui/styles.js.map +1 -0
  627. package/dist/tui/theme.d.ts +63 -0
  628. package/dist/tui/theme.js +136 -0
  629. package/dist/tui/theme.js.map +1 -0
  630. package/examples/profiles/buyer.deepseek.yaml +34 -0
  631. package/examples/profiles/buyer.fake.yaml +36 -0
  632. package/examples/profiles/buyer.local.yaml +40 -0
  633. package/examples/profiles/merchant.deepseek.yaml +32 -0
  634. package/examples/profiles/merchant.fake.yaml +31 -0
  635. package/examples/profiles/merchant.local.yaml +34 -0
  636. package/package.json +55 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-store.js","sourceRoot":"","sources":["../../../src/agent/buyer/task-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,222 @@
1
+ /**
2
+ * Copyright 2026 harrylabsj
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ /**
17
+ * Buyer task model types (design §11). All shapes are stored as JSON
18
+ * columns in the per-agent SQLite database; private thresholds may be
19
+ * Vault references instead of plaintext.
20
+ */
21
+ export declare const BUYER_TASK_STATUSES: readonly ["draft", "clarifying", "ready", "searching", "tracking", "shortlist_ready", "awaiting_user", "consulting", "negotiating", "selected_nonbinding", "cancelled", "failed", "expired"];
22
+ export type BuyerTaskStatus = (typeof BUYER_TASK_STATUSES)[number];
23
+ /** Legal transitions (design §11.3). Anything else is rejected. */
24
+ export declare const TASK_TRANSITIONS: Readonly<Record<BuyerTaskStatus, readonly BuyerTaskStatus[]>>;
25
+ export declare const TRACKING_RULE_TYPES: readonly ["price_below", "stock_available", "delivery_before", "new_candidate", "periodic_review"];
26
+ export type TrackingRuleType = (typeof TRACKING_RULE_TYPES)[number];
27
+ export declare const RULE_STATUSES: readonly ["active", "paused", "completed", "expired"];
28
+ export type RuleStatus = (typeof RULE_STATUSES)[number];
29
+ export declare const CANDIDATE_STATUSES: readonly ["discovered", "tracked", "shortlisted", "rejected", "selected", "stale"];
30
+ export type CandidateStatus = (typeof CANDIDATE_STATUSES)[number];
31
+ export type CandidateEligibility = "eligible" | "ineligible" | "unknown";
32
+ /** Structured search intent extracted from the user's goal (§11.2). */
33
+ export interface TaskIntent {
34
+ category?: string;
35
+ use_case?: string;
36
+ quantity?: number;
37
+ /** The unit price the buyer wants to negotiate toward ("砍到 100"). */
38
+ target_unit_price?: number;
39
+ location_precision?: "city" | "district";
40
+ city?: string;
41
+ area?: string;
42
+ needed_by?: string;
43
+ required_terms?: string[];
44
+ preferences?: string[];
45
+ query_text?: string;
46
+ open_questions?: string[];
47
+ }
48
+ /**
49
+ * Product-first 商品意图(rev1.5 CD #27;产品文档 kiwi-catalog v0.4 §10)。
50
+ * 与 TaskIntent 独立:TaskIntent 是本地任务的结构化约束,ProductIntent 是
51
+ * kiwi-catalog listing 搜索的输入(need → /v1/listings/search)。
52
+ */
53
+ export interface ProductIntent {
54
+ /** 需求描述("我要 21.5 寸工业触摸屏")。 */
55
+ need_description: string;
56
+ category?: string;
57
+ regions?: string[];
58
+ min_moq?: number;
59
+ max_moq?: number;
60
+ supports_customization?: boolean;
61
+ /** 预算提示(discovery hint,不对外精确披露——NetworkDisclosurePolicy 门)。 */
62
+ budget_hint?: string;
63
+ handoff_destination_types?: readonly string[];
64
+ }
65
+ /** listing → owner Agent resolution 的引用(CD #23:绑定 owner_agent_id,不复制 endpoint)。 */
66
+ export interface ListingRef {
67
+ listing_id: string;
68
+ listing_type: "product" | "capability";
69
+ source_product_ref?: string;
70
+ }
71
+ /** Current-task hard constraints; private values may be Vault refs (§11.2). */
72
+ export interface TaskConstraints {
73
+ /** Per-unit budget ("单价预算 94 元"); the decision derives the total from it. */
74
+ max_unit_price?: number;
75
+ max_total_price?: number;
76
+ max_total_price_vault_ref?: string;
77
+ latest_eta?: string;
78
+ required_terms?: string[];
79
+ exclude_out_of_stock?: boolean;
80
+ }
81
+ export declare const RANKING_DIMENSIONS: readonly ["match", "total_cost", "promotion", "price_history", "stock", "delivery", "after_sales", "preference_fit", "merchant_quality", "freshness"];
82
+ export type RankingDimension = (typeof RANKING_DIMENSIONS)[number];
83
+ /** Every weight must trace to the user, a confirmed memory, or defaults (§12.3). */
84
+ export interface RankingPolicy {
85
+ weights: Partial<Record<RankingDimension, number>>;
86
+ /** dimension -> "user_instruction" | "default" | a memory_id */
87
+ sources: Partial<Record<RankingDimension, string>>;
88
+ }
89
+ export interface SearchBudget {
90
+ max_candidates: number;
91
+ max_requests: number;
92
+ timeout_ms: number;
93
+ }
94
+ export interface TrackingPolicy {
95
+ default_interval_seconds: number;
96
+ default_cooldown_seconds: number;
97
+ observation_ttl_seconds: number;
98
+ }
99
+ export interface BuyerTask {
100
+ task_id: string;
101
+ principal_id: string;
102
+ status: BuyerTaskStatus;
103
+ goal_text: string;
104
+ intent: TaskIntent;
105
+ constraints: TaskConstraints;
106
+ ranking_policy: RankingPolicy;
107
+ connector_scope: {
108
+ connectors: string[];
109
+ };
110
+ search_budget: SearchBudget;
111
+ tracking_policy: TrackingPolicy;
112
+ selected_candidate_id?: string;
113
+ next_run_at?: string;
114
+ expires_at?: string;
115
+ version: number;
116
+ created_at: string;
117
+ updated_at: string;
118
+ }
119
+ export declare const TASK_EVENT_TYPES: readonly ["created", "clarified", "search_started", "observation_added", "shortlisted", "tracking_installed", "tracking_triggered", "notification", "approval_requested", "consultation_linked", "selected", "status_changed", "failed", "expired", "cancelled"];
120
+ export type TaskEventType = (typeof TASK_EVENT_TYPES)[number];
121
+ export declare const CONSULTATION_LINK_STATUSES: readonly ["consulting", "negotiating", "closed", "stale"];
122
+ export type ConsultationLinkStatus = (typeof CONSULTATION_LINK_STATUSES)[number];
123
+ /**
124
+ * Buyer Task <-> Marketplace Conversation association (design §11.8).
125
+ * The conversation itself stays authoritative in shopping-cli; this row only
126
+ * links the task/candidate to its id and tracks our own last-processed cursor.
127
+ */
128
+ export interface ConsultationLink {
129
+ link_id: string;
130
+ task_id: string;
131
+ candidate_id?: string;
132
+ connector_id: string;
133
+ conversation_id: string;
134
+ status: ConsultationLinkStatus;
135
+ last_message_id?: string;
136
+ created_at: string;
137
+ updated_at: string;
138
+ }
139
+ export interface TaskEvent {
140
+ event_id: string;
141
+ task_id: string;
142
+ type: TaskEventType | string;
143
+ payload: Record<string, unknown>;
144
+ origin: "user" | "scheduler" | "model" | "connector" | "policy";
145
+ idempotency_key: string;
146
+ created_at: string;
147
+ }
148
+ export interface ProductCandidate {
149
+ candidate_id: string;
150
+ task_id: string;
151
+ connector_id: string;
152
+ platform: string;
153
+ external_product_id: string;
154
+ sku?: string;
155
+ merchant_id?: string;
156
+ /** kiwi-catalog listing 引用(product-first 链路;shortlist 候选的来源锚点)。 */
157
+ listing_ref?: ListingRef;
158
+ /** owner Agent(listing.owner_agent_id;Direct A2A 的 catalogAgentId 输入)。 */
159
+ owner_agent_id?: string;
160
+ canonical_key: string;
161
+ eligibility: CandidateEligibility;
162
+ candidate_status: CandidateStatus;
163
+ score?: number;
164
+ score_explanation?: ScoreExplanation;
165
+ rejection_reasons: string[];
166
+ first_seen_at: string;
167
+ last_seen_at: string;
168
+ latest_observation_id?: string;
169
+ }
170
+ export interface ProductObservation {
171
+ observation_id: string;
172
+ candidate_id: string;
173
+ observed_at: string;
174
+ source_url_or_ref: string;
175
+ title: string;
176
+ price: {
177
+ list: number;
178
+ currency: string;
179
+ delivery_fee: number;
180
+ };
181
+ promotion: Record<string, unknown>;
182
+ stock: {
183
+ quantity: number;
184
+ observed_at: string;
185
+ };
186
+ delivery: Record<string, unknown>;
187
+ after_sales: Record<string, unknown>;
188
+ merchant: Record<string, unknown>;
189
+ content_hash: string;
190
+ fresh_until: string;
191
+ }
192
+ export interface TrackingRule {
193
+ rule_id: string;
194
+ task_id: string;
195
+ candidate_id?: string;
196
+ rule_type: TrackingRuleType;
197
+ condition: Record<string, unknown>;
198
+ interval_seconds: number;
199
+ next_check_at: string;
200
+ last_triggered_at?: string;
201
+ cooldown_seconds: number;
202
+ status: RuleStatus;
203
+ }
204
+ export interface DimensionScore {
205
+ dimension: RankingDimension;
206
+ score: number;
207
+ weight: number;
208
+ /** "user_instruction" | "default" | memory_id */
209
+ source: string;
210
+ note: string;
211
+ }
212
+ export interface ScoreExplanation {
213
+ dimensions: DimensionScore[];
214
+ used_memories: string[];
215
+ stale_facts: string[];
216
+ }
217
+ export declare class BuyerTaskError extends Error {
218
+ readonly code: "validation" | "not_found" | "conflict" | "illegal_transition" | "vault_unavailable";
219
+ constructor(code: BuyerTaskError["code"], message: string);
220
+ }
221
+ export declare const DEFAULT_SEARCH_BUDGET: SearchBudget;
222
+ export declare const DEFAULT_TRACKING_POLICY: TrackingPolicy;
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Copyright 2026 harrylabsj
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ /**
17
+ * Buyer task model types (design §11). All shapes are stored as JSON
18
+ * columns in the per-agent SQLite database; private thresholds may be
19
+ * Vault references instead of plaintext.
20
+ */
21
+ export const BUYER_TASK_STATUSES = [
22
+ "draft",
23
+ "clarifying",
24
+ "ready",
25
+ "searching",
26
+ "tracking",
27
+ "shortlist_ready",
28
+ "awaiting_user",
29
+ "consulting",
30
+ "negotiating",
31
+ "selected_nonbinding",
32
+ "cancelled",
33
+ "failed",
34
+ "expired",
35
+ ];
36
+ /** Legal transitions (design §11.3). Anything else is rejected. */
37
+ export const TASK_TRANSITIONS = {
38
+ draft: ["clarifying", "ready", "cancelled"],
39
+ clarifying: ["ready", "cancelled"],
40
+ // consulting 边:任务即磋商任务(§本地磋商)——不经 marketplace 搜索/候选
41
+ // 也可直接发起 A2A 磋商(ready/tracking → consulting)。
42
+ ready: ["searching", "consulting"],
43
+ searching: ["tracking", "shortlist_ready", "failed"],
44
+ tracking: ["searching", "shortlist_ready", "expired", "consulting"],
45
+ shortlist_ready: ["awaiting_user"],
46
+ awaiting_user: ["searching", "consulting", "selected_nonbinding", "cancelled"],
47
+ consulting: ["negotiating", "awaiting_user"],
48
+ negotiating: ["awaiting_user", "selected_nonbinding"],
49
+ // 选定不是死胡同:用户改主意或想再谈价时,可回到 consulting 重新磋商。
50
+ selected_nonbinding: ["consulting"],
51
+ cancelled: [],
52
+ failed: [],
53
+ expired: [],
54
+ };
55
+ export const TRACKING_RULE_TYPES = [
56
+ "price_below",
57
+ "stock_available",
58
+ "delivery_before",
59
+ "new_candidate",
60
+ "periodic_review",
61
+ ];
62
+ export const RULE_STATUSES = ["active", "paused", "completed", "expired"];
63
+ export const CANDIDATE_STATUSES = [
64
+ "discovered",
65
+ "tracked",
66
+ "shortlisted",
67
+ "rejected",
68
+ "selected",
69
+ "stale",
70
+ ];
71
+ export const RANKING_DIMENSIONS = [
72
+ "match",
73
+ "total_cost",
74
+ "promotion",
75
+ "price_history",
76
+ "stock",
77
+ "delivery",
78
+ "after_sales",
79
+ "preference_fit",
80
+ "merchant_quality",
81
+ "freshness",
82
+ ];
83
+ export const TASK_EVENT_TYPES = [
84
+ "created",
85
+ "clarified",
86
+ "search_started",
87
+ "observation_added",
88
+ "shortlisted",
89
+ "tracking_installed",
90
+ "tracking_triggered",
91
+ "notification",
92
+ "approval_requested",
93
+ "consultation_linked",
94
+ "selected",
95
+ "status_changed",
96
+ "failed",
97
+ "expired",
98
+ "cancelled",
99
+ ];
100
+ export const CONSULTATION_LINK_STATUSES = [
101
+ "consulting",
102
+ "negotiating",
103
+ "closed",
104
+ "stale",
105
+ ];
106
+ export class BuyerTaskError extends Error {
107
+ code;
108
+ constructor(code, message) {
109
+ super(message);
110
+ this.name = "BuyerTaskError";
111
+ this.code = code;
112
+ }
113
+ }
114
+ export const DEFAULT_SEARCH_BUDGET = {
115
+ max_candidates: 20,
116
+ max_requests: 10,
117
+ timeout_ms: 30_000,
118
+ };
119
+ export const DEFAULT_TRACKING_POLICY = {
120
+ default_interval_seconds: 1800,
121
+ default_cooldown_seconds: 3600,
122
+ observation_ttl_seconds: 1800,
123
+ };
124
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/agent/buyer/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;GAIG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO;IACP,YAAY;IACZ,OAAO;IACP,WAAW;IACX,UAAU;IACV,iBAAiB;IACjB,eAAe;IACf,YAAY;IACZ,aAAa;IACb,qBAAqB;IACrB,WAAW;IACX,QAAQ;IACR,SAAS;CACD,CAAC;AAGX,mEAAmE;AACnE,MAAM,CAAC,MAAM,gBAAgB,GAAkE;IAC7F,KAAK,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC;IAC3C,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;IAClC,oDAAoD;IACpD,8CAA8C;IAC9C,KAAK,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;IAClC,SAAS,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,QAAQ,CAAC;IACpD,QAAQ,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,CAAC;IACnE,eAAe,EAAE,CAAC,eAAe,CAAC;IAClC,aAAa,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,qBAAqB,EAAE,WAAW,CAAC;IAC9E,UAAU,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC;IAC5C,WAAW,EAAE,CAAC,eAAe,EAAE,qBAAqB,CAAC;IACrD,2CAA2C;IAC3C,mBAAmB,EAAE,CAAC,YAAY,CAAC;IACnC,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,aAAa;IACb,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,iBAAiB;CACT,CAAC;AAGX,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAU,CAAC;AAGnF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,YAAY;IACZ,SAAS;IACT,aAAa;IACb,UAAU;IACV,UAAU;IACV,OAAO;CACC,CAAC;AA0DX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,OAAO;IACP,YAAY;IACZ,WAAW;IACX,eAAe;IACf,OAAO;IACP,UAAU;IACV,aAAa;IACb,gBAAgB;IAChB,kBAAkB;IAClB,WAAW;CACH,CAAC;AAyCX,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,SAAS;IACT,WAAW;IACX,gBAAgB;IAChB,mBAAmB;IACnB,aAAa;IACb,oBAAoB;IACpB,oBAAoB;IACpB,cAAc;IACd,oBAAoB;IACpB,qBAAqB;IACrB,UAAU;IACV,gBAAgB;IAChB,QAAQ;IACR,SAAS;IACT,WAAW;CACH,CAAC;AAGX,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,YAAY;IACZ,aAAa;IACb,QAAQ;IACR,OAAO;CACC,CAAC;AAiGX,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,IAAI,CAAuF;IACpG,YAAY,IAA4B,EAAE,OAAe;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,cAAc,EAAE,EAAE;IAClB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,MAAM;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACrD,wBAAwB,EAAE,IAAI;IAC9B,wBAAwB,EAAE,IAAI;IAC9B,uBAAuB,EAAE,IAAI;CAC9B,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Copyright 2026 harrylabsj
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ /**
17
+ * Memory tools for the main conversation (design §6.4, §10.1).
18
+ *
19
+ * The MODEL proposes; the STORE disposes. A tool call is only ever a
20
+ * memory candidate/statement — activation, confirmation, Restricted
21
+ * sealing, conflict handling and dedup all happen inside MemoryStore
22
+ * governance. Tools never receive or return Restricted plaintext after a
23
+ * write, and tool results never contain chain-of-thought.
24
+ */
25
+ import type { AgentHarnessTool } from "@earendil-works/pi-agent-core";
26
+ import type { MemoryStore } from "./memory/store.js";
27
+ export declare const TOOL_REMEMBER = "remember";
28
+ export declare const TOOL_FORGET_MEMORY = "forget_memory";
29
+ export declare const TOOL_CORRECT_MEMORY = "correct_memory";
30
+ type Tool = AgentHarnessTool<undefined>;
31
+ export interface MemoryToolOptions {
32
+ /**
33
+ * Current conversation-turn id. The evidence dedup key (design §9.3) must be
34
+ * per TURN so several remember calls inside one turn count as ONE piece of
35
+ * evidence — a time-based ref would defeat dedup and let a single session
36
+ * auto-activate a preference with no task diversity.
37
+ */
38
+ turnId?: () => string;
39
+ }
40
+ export declare function buildMemoryTools(store: MemoryStore, options?: MemoryToolOptions): Tool[];
41
+ export {};
@@ -0,0 +1,193 @@
1
+ /**
2
+ * Copyright 2026 harrylabsj
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { isMemoryNamespace, isMemorySensitivity, isMemorySourceKind, isVaultKind, MemoryError, parseMemoryScope, } from "./memory/types.js";
17
+ import { VaultKeyError } from "./memory/vault.js";
18
+ export const TOOL_REMEMBER = "remember";
19
+ export const TOOL_FORGET_MEMORY = "forget_memory";
20
+ export const TOOL_CORRECT_MEMORY = "correct_memory";
21
+ function textResult(text, details) {
22
+ return { content: [{ type: "text", text }], details };
23
+ }
24
+ function errorText(err) {
25
+ if (err instanceof MemoryError)
26
+ return `记忆操作被拒绝(${err.code}):${err.message}`;
27
+ if (err instanceof VaultKeyError)
28
+ return `Vault 不可用:${err.message}`;
29
+ return `记忆操作失败:${err instanceof Error ? err.message : String(err)}`;
30
+ }
31
+ export function buildMemoryTools(store, options = {}) {
32
+ const turnRef = () => options.turnId?.() ?? `session:main:${Date.now()}`;
33
+ const remember = {
34
+ name: TOOL_REMEMBER,
35
+ label: "记住",
36
+ description: "保存一条关于委托人的记忆。用户明确要求记住、或陈述了稳定事实/约束/敏感资料时调用;" +
37
+ "从行为推断时把 explicit_user_statement 设为 false(只会成为候选,不会当成事实)。" +
38
+ "私密值(精确地址、联系方式、私有预算、成本底价)用 restricted_* 字段,绝不要写进 value。",
39
+ parameters: {
40
+ type: "object",
41
+ properties: {
42
+ namespace: {
43
+ type: "string",
44
+ enum: ["profile", "constraint", "preference", "routine", "episode", "task_context"],
45
+ },
46
+ key: { type: "string", description: "稳定语义键,如 shopping.promotion.preference" },
47
+ value: { description: "非私密结构化值" },
48
+ restricted_kind: {
49
+ type: "string",
50
+ enum: ["address", "contact", "private_budget", "merchant_cost", "merchant_floor", "other"],
51
+ },
52
+ restricted_value: { type: "string", description: "私密明文,只进加密 Vault" },
53
+ scope: {
54
+ type: "object",
55
+ properties: {
56
+ category: { type: "string" },
57
+ platform: { type: "string" },
58
+ merchant_id: { type: "string" },
59
+ task_id: { type: "string" },
60
+ },
61
+ additionalProperties: false,
62
+ },
63
+ sensitivity: { type: "string", enum: ["normal", "private", "restricted"] },
64
+ source_kind: { type: "string", enum: ["explicit", "observed", "inferred", "imported"] },
65
+ explicit_user_statement: {
66
+ type: "boolean",
67
+ description: "用户亲口陈述(而非模型推断)",
68
+ },
69
+ expires_at: { type: "string", description: "RFC3339;临时上下文才需要" },
70
+ reason_summary: { type: "string", description: "一句可向用户解释的证据摘要" },
71
+ },
72
+ required: ["namespace", "key", "sensitivity", "source_kind", "explicit_user_statement", "reason_summary"],
73
+ additionalProperties: false,
74
+ },
75
+ execute: async (_id, params) => {
76
+ try {
77
+ const p = params;
78
+ if (!isMemoryNamespace(p.namespace))
79
+ throw new MemoryError("validation", "namespace 非法");
80
+ if (typeof p.key !== "string")
81
+ throw new MemoryError("validation", "key 非法");
82
+ if (!isMemorySensitivity(p.sensitivity)) {
83
+ throw new MemoryError("validation", "sensitivity 非法");
84
+ }
85
+ if (!isMemorySourceKind(p.source_kind)) {
86
+ throw new MemoryError("validation", "source_kind 非法");
87
+ }
88
+ // Fail closed: a Restricted write needs an explicit valid kind. A
89
+ // missing/unknown kind must not silently downgrade to `other`.
90
+ if (p.restricted_kind !== undefined && !isVaultKind(p.restricted_kind)) {
91
+ throw new MemoryError("validation", "restricted_kind 非法");
92
+ }
93
+ if ((p.restricted_value === undefined) !== (p.restricted_kind === undefined)) {
94
+ throw new MemoryError("validation", "restricted_value 与 restricted_kind 必须同时提供");
95
+ }
96
+ const restricted = p.restricted_value !== undefined && p.restricted_kind !== undefined
97
+ ? { kind: p.restricted_kind, plaintext: String(p.restricted_value) }
98
+ : undefined;
99
+ const outcome = store.remember({
100
+ namespace: p.namespace,
101
+ key: p.key,
102
+ ...(restricted === undefined ? { value: p.value ?? null } : { restricted }),
103
+ ...(p.scope !== undefined ? { scope: parseMemoryScope(p.scope) } : {}),
104
+ source_kind: p.source_kind,
105
+ sensitivity: p.sensitivity,
106
+ explicit_user_statement: p.explicit_user_statement === true,
107
+ ...(typeof p.expires_at === "string" ? { expires_at: p.expires_at } : {}),
108
+ evidence: {
109
+ source_type: "chat",
110
+ source_ref: turnRef(),
111
+ summary: String(p.reason_summary ?? ""),
112
+ },
113
+ actor: "model",
114
+ });
115
+ if (outcome.kind === "conflict") {
116
+ return textResult(`与现有记忆 ${outcome.existing.memory_id}(${outcome.existing.key})冲突,已记录矛盾证据、未覆盖。` +
117
+ "请向用户确认后再决定。");
118
+ }
119
+ const memory = outcome.memory;
120
+ const note = outcome.kind === "active"
121
+ ? `已记住(${memory.memory_id},置信度 ${memory.confidence})。`
122
+ : outcome.kind === "merged"
123
+ ? `已有相同记忆,证据已合并(${memory.memory_id})。`
124
+ : `已存为候选 ${memory.memory_id},需用户确认后才生效——请告诉用户并询问是否确认。`;
125
+ return textResult(note, { memory_id: memory.memory_id, status: memory.status });
126
+ }
127
+ catch (err) {
128
+ return textResult(errorText(err));
129
+ }
130
+ },
131
+ };
132
+ const forget = {
133
+ name: TOOL_FORGET_MEMORY,
134
+ label: "遗忘",
135
+ description: "删除一条记忆(用户要求忘掉时调用)。删除是带审计的 tombstone,检索立即失效。",
136
+ parameters: {
137
+ type: "object",
138
+ properties: {
139
+ memory_id: { type: "string" },
140
+ reason: { type: "string" },
141
+ },
142
+ required: ["memory_id"],
143
+ additionalProperties: false,
144
+ },
145
+ execute: async (_id, params) => {
146
+ try {
147
+ const p = params;
148
+ const existing = store.getMemory(p.memory_id);
149
+ if (existing !== undefined &&
150
+ (existing.namespace === "constraint" || existing.sensitivity === "restricted")) {
151
+ return textResult("硬约束/敏感记忆请由操作者用 /forget 人工处理,模型不能直接删除。");
152
+ }
153
+ const memory = store.forgetMemory(p.memory_id, "model", p.reason ?? "模型推断用户要求遗忘");
154
+ return textResult(`已遗忘 ${memory.memory_id}(${memory.key}),不再用于任何回答。`);
155
+ }
156
+ catch (err) {
157
+ return textResult(errorText(err));
158
+ }
159
+ },
160
+ };
161
+ const correct = {
162
+ name: TOOL_CORRECT_MEMORY,
163
+ label: "修正记忆",
164
+ description: "修正一条已有记忆的内容(保留审计)。用户纠正时调用。",
165
+ parameters: {
166
+ type: "object",
167
+ properties: {
168
+ memory_id: { type: "string" },
169
+ value: { description: "修正后的非私密值" },
170
+ reason: { type: "string" },
171
+ },
172
+ required: ["memory_id", "value"],
173
+ additionalProperties: false,
174
+ },
175
+ execute: async (_id, params) => {
176
+ try {
177
+ const p = params;
178
+ const existing = store.getMemory(p.memory_id);
179
+ if (existing !== undefined &&
180
+ (existing.namespace === "constraint" || existing.sensitivity === "restricted")) {
181
+ return textResult("硬约束/敏感记忆请由操作者用 /correct 人工处理,模型不能直接修改。");
182
+ }
183
+ const memory = store.correctMemory(p.memory_id, { value: p.value }, "model", p.reason ?? "模型推断用户纠正");
184
+ return textResult(`已修正 ${memory.memory_id}(版本 ${memory.version}),旧值保留在审计事件中。`);
185
+ }
186
+ catch (err) {
187
+ return textResult(errorText(err));
188
+ }
189
+ },
190
+ };
191
+ return [remember, forget, correct];
192
+ }
193
+ //# sourceMappingURL=chat-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-tools.js","sourceRoot":"","sources":["../../src/agent/chat-tools.ts"],"names":[],"mappings":"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"}