@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.
- package/LICENSE +201 -0
- package/README.md +150 -0
- package/contracts/candidate-agent-dto-1.0.README.md +39 -0
- package/contracts/candidate-agent-dto-1.0.schema.json +172 -0
- package/contracts/interop/kiwi-buyer-message-send.json +43 -0
- package/contracts/interop/knp-data-part-examples.json +243 -0
- package/contracts/kiwi-catalog/1.0/agent-record.schema.json +78 -0
- package/contracts/kiwi-catalog/1.0/listing-record.schema.json +88 -0
- package/contracts/kiwi-catalog/1.0/listing-search-result.schema.json +60 -0
- package/contracts/negotiation/1.0/schema.json +501 -0
- package/contracts/shopping.negotiation/0.1/capabilities.schema.json +47 -0
- package/contracts/shopping.negotiation/0.1/decision.schema.json +120 -0
- package/contracts/shopping.negotiation/0.1/policy-result.schema.json +52 -0
- package/contracts/shopping.negotiation/0.1/snapshot.schema.json +172 -0
- package/dist/a2a/client/client.d.ts +33 -0
- package/dist/a2a/client/client.js +161 -0
- package/dist/a2a/client/client.js.map +1 -0
- package/dist/a2a/client/error.d.ts +35 -0
- package/dist/a2a/client/error.js +34 -0
- package/dist/a2a/client/error.js.map +1 -0
- package/dist/a2a/client/index.d.ts +29 -0
- package/dist/a2a/client/index.js +26 -0
- package/dist/a2a/client/index.js.map +1 -0
- package/dist/a2a/client/jsonrpc.d.ts +49 -0
- package/dist/a2a/client/jsonrpc.js +85 -0
- package/dist/a2a/client/jsonrpc.js.map +1 -0
- package/dist/a2a/client/parse.d.ts +18 -0
- package/dist/a2a/client/parse.js +134 -0
- package/dist/a2a/client/parse.js.map +1 -0
- package/dist/a2a/client/types.d.ts +102 -0
- package/dist/a2a/client/types.js +26 -0
- package/dist/a2a/client/types.js.map +1 -0
- package/dist/a2a/client/url-policy.d.ts +44 -0
- package/dist/a2a/client/url-policy.js +242 -0
- package/dist/a2a/client/url-policy.js.map +1 -0
- package/dist/a2a/negotiate.d.ts +68 -0
- package/dist/a2a/negotiate.js +288 -0
- package/dist/a2a/negotiate.js.map +1 -0
- package/dist/a2a/node.d.ts +37 -0
- package/dist/a2a/node.js +155 -0
- package/dist/a2a/node.js.map +1 -0
- package/dist/a2a/server/auth.d.ts +38 -0
- package/dist/a2a/server/auth.js +112 -0
- package/dist/a2a/server/auth.js.map +1 -0
- package/dist/a2a/server/card.d.ts +19 -0
- package/dist/a2a/server/card.js +81 -0
- package/dist/a2a/server/card.js.map +1 -0
- package/dist/a2a/server/errors.d.ts +109 -0
- package/dist/a2a/server/errors.js +178 -0
- package/dist/a2a/server/errors.js.map +1 -0
- package/dist/a2a/server/handler.d.ts +22 -0
- package/dist/a2a/server/handler.js +57 -0
- package/dist/a2a/server/handler.js.map +1 -0
- package/dist/a2a/server/inbound-message.d.ts +37 -0
- package/dist/a2a/server/inbound-message.js +104 -0
- package/dist/a2a/server/inbound-message.js.map +1 -0
- package/dist/a2a/server/index.d.ts +43 -0
- package/dist/a2a/server/index.js +42 -0
- package/dist/a2a/server/index.js.map +1 -0
- package/dist/a2a/server/merchant-handler.d.ts +69 -0
- package/dist/a2a/server/merchant-handler.js +316 -0
- package/dist/a2a/server/merchant-handler.js.map +1 -0
- package/dist/a2a/server/pipeline.d.ts +69 -0
- package/dist/a2a/server/pipeline.js +329 -0
- package/dist/a2a/server/pipeline.js.map +1 -0
- package/dist/a2a/server/server.d.ts +64 -0
- package/dist/a2a/server/server.js +420 -0
- package/dist/a2a/server/server.js.map +1 -0
- package/dist/a2a/server/task-registry.d.ts +31 -0
- package/dist/a2a/server/task-registry.js +67 -0
- package/dist/a2a/server/task-registry.js.map +1 -0
- package/dist/a2a/server/throttle.d.ts +154 -0
- package/dist/a2a/server/throttle.js +289 -0
- package/dist/a2a/server/throttle.js.map +1 -0
- package/dist/a2a/server/types.d.ts +191 -0
- package/dist/a2a/server/types.js +17 -0
- package/dist/a2a/server/types.js.map +1 -0
- package/dist/a2a/server/ucp.d.ts +49 -0
- package/dist/a2a/server/ucp.js +85 -0
- package/dist/a2a/server/ucp.js.map +1 -0
- package/dist/a2a/task/index.d.ts +24 -0
- package/dist/a2a/task/index.js +22 -0
- package/dist/a2a/task/index.js.map +1 -0
- package/dist/a2a/task/ledger.d.ts +48 -0
- package/dist/a2a/task/ledger.js +65 -0
- package/dist/a2a/task/ledger.js.map +1 -0
- package/dist/a2a/task/poller.d.ts +93 -0
- package/dist/a2a/task/poller.js +184 -0
- package/dist/a2a/task/poller.js.map +1 -0
- package/dist/a2a/task/state.d.ts +72 -0
- package/dist/a2a/task/state.js +119 -0
- package/dist/a2a/task/state.js.map +1 -0
- package/dist/a2a/ucp-agent.d.ts +49 -0
- package/dist/a2a/ucp-agent.js +78 -0
- package/dist/a2a/ucp-agent.js.map +1 -0
- package/dist/agent/agent-db.d.ts +31 -0
- package/dist/agent/agent-db.js +91 -0
- package/dist/agent/agent-db.js.map +1 -0
- package/dist/agent/buyer/buyer-tools.d.ts +70 -0
- package/dist/agent/buyer/buyer-tools.js +1353 -0
- package/dist/agent/buyer/buyer-tools.js.map +1 -0
- package/dist/agent/buyer/ranker.d.ts +53 -0
- package/dist/agent/buyer/ranker.js +153 -0
- package/dist/agent/buyer/ranker.js.map +1 -0
- package/dist/agent/buyer/scheduler.d.ts +58 -0
- package/dist/agent/buyer/scheduler.js +317 -0
- package/dist/agent/buyer/scheduler.js.map +1 -0
- package/dist/agent/buyer/search-loop.d.ts +42 -0
- package/dist/agent/buyer/search-loop.js +280 -0
- package/dist/agent/buyer/search-loop.js.map +1 -0
- package/dist/agent/buyer/task-store.d.ts +178 -0
- package/dist/agent/buyer/task-store.js +637 -0
- package/dist/agent/buyer/task-store.js.map +1 -0
- package/dist/agent/buyer/types.d.ts +222 -0
- package/dist/agent/buyer/types.js +124 -0
- package/dist/agent/buyer/types.js.map +1 -0
- package/dist/agent/chat-tools.d.ts +41 -0
- package/dist/agent/chat-tools.js +193 -0
- package/dist/agent/chat-tools.js.map +1 -0
- package/dist/agent/chat-tui.d.ts +49 -0
- package/dist/agent/chat-tui.js +314 -0
- package/dist/agent/chat-tui.js.map +1 -0
- package/dist/agent/connector/fake-connector.d.ts +50 -0
- package/dist/agent/connector/fake-connector.js +138 -0
- package/dist/agent/connector/fake-connector.js.map +1 -0
- package/dist/agent/connector/http-connector.d.ts +49 -0
- package/dist/agent/connector/http-connector.js +208 -0
- package/dist/agent/connector/http-connector.js.map +1 -0
- package/dist/agent/connector/types.d.ts +103 -0
- package/dist/agent/connector/types.js +97 -0
- package/dist/agent/connector/types.js.map +1 -0
- package/dist/agent/fake-chat-model.d.ts +22 -0
- package/dist/agent/fake-chat-model.js +134 -0
- package/dist/agent/fake-chat-model.js.map +1 -0
- package/dist/agent/kernel.d.ts +258 -0
- package/dist/agent/kernel.js +1099 -0
- package/dist/agent/kernel.js.map +1 -0
- package/dist/agent/memory/schema.d.ts +32 -0
- package/dist/agent/memory/schema.js +291 -0
- package/dist/agent/memory/schema.js.map +1 -0
- package/dist/agent/memory/store.d.ts +193 -0
- package/dist/agent/memory/store.js +881 -0
- package/dist/agent/memory/store.js.map +1 -0
- package/dist/agent/memory/types.d.ts +139 -0
- package/dist/agent/memory/types.js +119 -0
- package/dist/agent/memory/types.js.map +1 -0
- package/dist/agent/memory/vault.d.ts +49 -0
- package/dist/agent/memory/vault.js +125 -0
- package/dist/agent/memory/vault.js.map +1 -0
- package/dist/agent/merchant/action-candidate.d.ts +106 -0
- package/dist/agent/merchant/action-candidate.js +241 -0
- package/dist/agent/merchant/action-candidate.js.map +1 -0
- package/dist/agent/merchant/credential-broker.d.ts +67 -0
- package/dist/agent/merchant/credential-broker.js +76 -0
- package/dist/agent/merchant/credential-broker.js.map +1 -0
- package/dist/agent/merchant/fake-merchant-client.d.ts +47 -0
- package/dist/agent/merchant/fake-merchant-client.js +143 -0
- package/dist/agent/merchant/fake-merchant-client.js.map +1 -0
- package/dist/agent/merchant/merchant-client.d.ts +49 -0
- package/dist/agent/merchant/merchant-client.js +186 -0
- package/dist/agent/merchant/merchant-client.js.map +1 -0
- package/dist/agent/merchant/merchant-tools.d.ts +74 -0
- package/dist/agent/merchant/merchant-tools.js +582 -0
- package/dist/agent/merchant/merchant-tools.js.map +1 -0
- package/dist/agent/merchant/types.d.ts +119 -0
- package/dist/agent/merchant/types.js +133 -0
- package/dist/agent/merchant/types.js.map +1 -0
- package/dist/agent/mode.d.ts +32 -0
- package/dist/agent/mode.js +34 -0
- package/dist/agent/mode.js.map +1 -0
- package/dist/agent/negotiation-chat.d.ts +81 -0
- package/dist/agent/negotiation-chat.js +330 -0
- package/dist/agent/negotiation-chat.js.map +1 -0
- package/dist/agent/session.d.ts +22 -0
- package/dist/agent/session.js +164 -0
- package/dist/agent/session.js.map +1 -0
- package/dist/agent/system-prompt.d.ts +26 -0
- package/dist/agent/system-prompt.js +77 -0
- package/dist/agent/system-prompt.js.map +1 -0
- package/dist/agent/write-gate.d.ts +98 -0
- package/dist/agent/write-gate.js +76 -0
- package/dist/agent/write-gate.js.map +1 -0
- package/dist/cli.d.ts +18 -0
- package/dist/cli.js +1139 -0
- package/dist/cli.js.map +1 -0
- package/dist/commerce/data-source.d.ts +88 -0
- package/dist/commerce/data-source.js +25 -0
- package/dist/commerce/data-source.js.map +1 -0
- package/dist/commerce/erp-source.d.ts +51 -0
- package/dist/commerce/erp-source.js +184 -0
- package/dist/commerce/erp-source.js.map +1 -0
- package/dist/commerce/fake-client.d.ts +167 -0
- package/dist/commerce/fake-client.js +549 -0
- package/dist/commerce/fake-client.js.map +1 -0
- package/dist/commerce/http-client.d.ts +73 -0
- package/dist/commerce/http-client.js +284 -0
- package/dist/commerce/http-client.js.map +1 -0
- package/dist/commerce/local-db-source.d.ts +50 -0
- package/dist/commerce/local-db-source.js +162 -0
- package/dist/commerce/local-db-source.js.map +1 -0
- package/dist/commerce/shopping-cli-source.d.ts +57 -0
- package/dist/commerce/shopping-cli-source.js +206 -0
- package/dist/commerce/shopping-cli-source.js.map +1 -0
- package/dist/commerce/types.d.ts +146 -0
- package/dist/commerce/types.js +31 -0
- package/dist/commerce/types.js.map +1 -0
- package/dist/config/profile.d.ts +122 -0
- package/dist/config/profile.js +386 -0
- package/dist/config/profile.js.map +1 -0
- package/dist/contracts/negotiation-schema.d.ts +28 -0
- package/dist/contracts/negotiation-schema.js +101 -0
- package/dist/contracts/negotiation-schema.js.map +1 -0
- package/dist/contracts/schemas.d.ts +31 -0
- package/dist/contracts/schemas.js +122 -0
- package/dist/contracts/schemas.js.map +1 -0
- package/dist/counterparty/a2a-direct/index.d.ts +41 -0
- package/dist/counterparty/a2a-direct/index.js +330 -0
- package/dist/counterparty/a2a-direct/index.js.map +1 -0
- package/dist/counterparty/channel.d.ts +200 -0
- package/dist/counterparty/channel.js +61 -0
- package/dist/counterparty/channel.js.map +1 -0
- package/dist/counterparty/index.d.ts +28 -0
- package/dist/counterparty/index.js +24 -0
- package/dist/counterparty/index.js.map +1 -0
- package/dist/counterparty/platform-api/index.d.ts +41 -0
- package/dist/counterparty/platform-api/index.js +65 -0
- package/dist/counterparty/platform-api/index.js.map +1 -0
- package/dist/counterparty/registry.d.ts +51 -0
- package/dist/counterparty/registry.js +71 -0
- package/dist/counterparty/registry.js.map +1 -0
- package/dist/counterparty/shopping-cli-hosted/index.d.ts +36 -0
- package/dist/counterparty/shopping-cli-hosted/index.js +337 -0
- package/dist/counterparty/shopping-cli-hosted/index.js.map +1 -0
- package/dist/discovery/agent-card/error.d.ts +28 -0
- package/dist/discovery/agent-card/error.js +31 -0
- package/dist/discovery/agent-card/error.js.map +1 -0
- package/dist/discovery/agent-card/extensions.d.ts +20 -0
- package/dist/discovery/agent-card/extensions.js +59 -0
- package/dist/discovery/agent-card/extensions.js.map +1 -0
- package/dist/discovery/agent-card/index.d.ts +29 -0
- package/dist/discovery/agent-card/index.js +38 -0
- package/dist/discovery/agent-card/index.js.map +1 -0
- package/dist/discovery/agent-card/secrets.d.ts +30 -0
- package/dist/discovery/agent-card/secrets.js +240 -0
- package/dist/discovery/agent-card/secrets.js.map +1 -0
- package/dist/discovery/agent-card/types.d.ts +110 -0
- package/dist/discovery/agent-card/types.js +37 -0
- package/dist/discovery/agent-card/types.js.map +1 -0
- package/dist/discovery/agent-card/validate.d.ts +31 -0
- package/dist/discovery/agent-card/validate.js +210 -0
- package/dist/discovery/agent-card/validate.js.map +1 -0
- package/dist/discovery/capability/error.d.ts +23 -0
- package/dist/discovery/capability/error.js +28 -0
- package/dist/discovery/capability/error.js.map +1 -0
- package/dist/discovery/capability/index.d.ts +21 -0
- package/dist/discovery/capability/index.js +21 -0
- package/dist/discovery/capability/index.js.map +1 -0
- package/dist/discovery/capability/intersect.d.ts +56 -0
- package/dist/discovery/capability/intersect.js +137 -0
- package/dist/discovery/capability/intersect.js.map +1 -0
- package/dist/discovery/catalog-source/errors.d.ts +32 -0
- package/dist/discovery/catalog-source/errors.js +41 -0
- package/dist/discovery/catalog-source/errors.js.map +1 -0
- package/dist/discovery/catalog-source/index.d.ts +30 -0
- package/dist/discovery/catalog-source/index.js +29 -0
- package/dist/discovery/catalog-source/index.js.map +1 -0
- package/dist/discovery/catalog-source/kiwi-record.d.ts +183 -0
- package/dist/discovery/catalog-source/kiwi-record.js +72 -0
- package/dist/discovery/catalog-source/kiwi-record.js.map +1 -0
- package/dist/discovery/catalog-source/kiwi-schema.d.ts +33 -0
- package/dist/discovery/catalog-source/kiwi-schema.js +106 -0
- package/dist/discovery/catalog-source/kiwi-schema.js.map +1 -0
- package/dist/discovery/catalog-source/kiwi-source.d.ts +38 -0
- package/dist/discovery/catalog-source/kiwi-source.js +318 -0
- package/dist/discovery/catalog-source/kiwi-source.js.map +1 -0
- package/dist/discovery/catalog-source/register.d.ts +48 -0
- package/dist/discovery/catalog-source/register.js +83 -0
- package/dist/discovery/catalog-source/register.js.map +1 -0
- package/dist/discovery/catalog-source/schema.d.ts +21 -0
- package/dist/discovery/catalog-source/schema.js +63 -0
- package/dist/discovery/catalog-source/schema.js.map +1 -0
- package/dist/discovery/catalog-source/source.d.ts +45 -0
- package/dist/discovery/catalog-source/source.js +197 -0
- package/dist/discovery/catalog-source/source.js.map +1 -0
- package/dist/discovery/catalog-source/types.d.ts +122 -0
- package/dist/discovery/catalog-source/types.js +30 -0
- package/dist/discovery/catalog-source/types.js.map +1 -0
- package/dist/discovery/index.d.ts +25 -0
- package/dist/discovery/index.js +25 -0
- package/dist/discovery/index.js.map +1 -0
- package/dist/discovery/resolve.d.ts +175 -0
- package/dist/discovery/resolve.js +367 -0
- package/dist/discovery/resolve.js.map +1 -0
- package/dist/discovery/ucp/error.d.ts +25 -0
- package/dist/discovery/ucp/error.js +27 -0
- package/dist/discovery/ucp/error.js.map +1 -0
- package/dist/discovery/ucp/index.d.ts +33 -0
- package/dist/discovery/ucp/index.js +28 -0
- package/dist/discovery/ucp/index.js.map +1 -0
- package/dist/discovery/ucp/intersect.d.ts +148 -0
- package/dist/discovery/ucp/intersect.js +312 -0
- package/dist/discovery/ucp/intersect.js.map +1 -0
- package/dist/discovery/ucp/resolver.d.ts +62 -0
- package/dist/discovery/ucp/resolver.js +214 -0
- package/dist/discovery/ucp/resolver.js.map +1 -0
- package/dist/discovery/ucp/types.d.ts +97 -0
- package/dist/discovery/ucp/types.js +103 -0
- package/dist/discovery/ucp/types.js.map +1 -0
- package/dist/discovery/ucp/validate.d.ts +38 -0
- package/dist/discovery/ucp/validate.js +232 -0
- package/dist/discovery/ucp/validate.js.map +1 -0
- package/dist/discovery/ucp/vendor.d.ts +60 -0
- package/dist/discovery/ucp/vendor.js +61 -0
- package/dist/discovery/ucp/vendor.js.map +1 -0
- package/dist/doctor.d.ts +26 -0
- package/dist/doctor.js +113 -0
- package/dist/doctor.js.map +1 -0
- package/dist/exit-codes.d.ts +26 -0
- package/dist/exit-codes.js +27 -0
- package/dist/exit-codes.js.map +1 -0
- package/dist/fanout/disclosure.d.ts +138 -0
- package/dist/fanout/disclosure.js +188 -0
- package/dist/fanout/disclosure.js.map +1 -0
- package/dist/fanout/index.d.ts +32 -0
- package/dist/fanout/index.js +30 -0
- package/dist/fanout/index.js.map +1 -0
- package/dist/fanout/orchestrator.d.ts +153 -0
- package/dist/fanout/orchestrator.js +439 -0
- package/dist/fanout/orchestrator.js.map +1 -0
- package/dist/fanout/policy.d.ts +128 -0
- package/dist/fanout/policy.js +130 -0
- package/dist/fanout/policy.js.map +1 -0
- package/dist/handoff/acp-commerce.d.ts +58 -0
- package/dist/handoff/acp-commerce.js +69 -0
- package/dist/handoff/acp-commerce.js.map +1 -0
- package/dist/handoff/authorization.d.ts +127 -0
- package/dist/handoff/authorization.js +107 -0
- package/dist/handoff/authorization.js.map +1 -0
- package/dist/handoff/candidate.d.ts +94 -0
- package/dist/handoff/candidate.js +172 -0
- package/dist/handoff/candidate.js.map +1 -0
- package/dist/handoff/channel.d.ts +88 -0
- package/dist/handoff/channel.js +189 -0
- package/dist/handoff/channel.js.map +1 -0
- package/dist/handoff/completion.d.ts +44 -0
- package/dist/handoff/completion.js +136 -0
- package/dist/handoff/completion.js.map +1 -0
- package/dist/handoff/delivery.d.ts +59 -0
- package/dist/handoff/delivery.js +185 -0
- package/dist/handoff/delivery.js.map +1 -0
- package/dist/handoff/destination.d.ts +39 -0
- package/dist/handoff/destination.js +99 -0
- package/dist/handoff/destination.js.map +1 -0
- package/dist/handoff/errors.d.ts +34 -0
- package/dist/handoff/errors.js +47 -0
- package/dist/handoff/errors.js.map +1 -0
- package/dist/handoff/idempotency.d.ts +51 -0
- package/dist/handoff/idempotency.js +168 -0
- package/dist/handoff/idempotency.js.map +1 -0
- package/dist/handoff/index.d.ts +46 -0
- package/dist/handoff/index.js +48 -0
- package/dist/handoff/index.js.map +1 -0
- package/dist/handoff/ledger.d.ts +94 -0
- package/dist/handoff/ledger.js +195 -0
- package/dist/handoff/ledger.js.map +1 -0
- package/dist/handoff/lifecycle.d.ts +29 -0
- package/dist/handoff/lifecycle.js +102 -0
- package/dist/handoff/lifecycle.js.map +1 -0
- package/dist/handoff/metrics.d.ts +56 -0
- package/dist/handoff/metrics.js +78 -0
- package/dist/handoff/metrics.js.map +1 -0
- package/dist/handoff/operator-approval.d.ts +143 -0
- package/dist/handoff/operator-approval.js +287 -0
- package/dist/handoff/operator-approval.js.map +1 -0
- package/dist/handoff/order-record.d.ts +104 -0
- package/dist/handoff/order-record.js +235 -0
- package/dist/handoff/order-record.js.map +1 -0
- package/dist/handoff/package.d.ts +102 -0
- package/dist/handoff/package.js +132 -0
- package/dist/handoff/package.js.map +1 -0
- package/dist/handoff/transaction.d.ts +96 -0
- package/dist/handoff/transaction.js +263 -0
- package/dist/handoff/transaction.js.map +1 -0
- package/dist/handoff/ucp-checkout/cart-channel.d.ts +111 -0
- package/dist/handoff/ucp-checkout/cart-channel.js +370 -0
- package/dist/handoff/ucp-checkout/cart-channel.js.map +1 -0
- package/dist/handoff/ucp-checkout/cart-parse.d.ts +22 -0
- package/dist/handoff/ucp-checkout/cart-parse.js +102 -0
- package/dist/handoff/ucp-checkout/cart-parse.js.map +1 -0
- package/dist/handoff/ucp-checkout/cart-types.d.ts +93 -0
- package/dist/handoff/ucp-checkout/cart-types.js +38 -0
- package/dist/handoff/ucp-checkout/cart-types.js.map +1 -0
- package/dist/handoff/ucp-checkout/channel.d.ts +159 -0
- package/dist/handoff/ucp-checkout/channel.js +636 -0
- package/dist/handoff/ucp-checkout/channel.js.map +1 -0
- package/dist/handoff/ucp-checkout/client.d.ts +88 -0
- package/dist/handoff/ucp-checkout/client.js +228 -0
- package/dist/handoff/ucp-checkout/client.js.map +1 -0
- package/dist/handoff/ucp-checkout/endpoint.d.ts +36 -0
- package/dist/handoff/ucp-checkout/endpoint.js +145 -0
- package/dist/handoff/ucp-checkout/endpoint.js.map +1 -0
- package/dist/handoff/ucp-checkout/index.d.ts +35 -0
- package/dist/handoff/ucp-checkout/index.js +36 -0
- package/dist/handoff/ucp-checkout/index.js.map +1 -0
- package/dist/handoff/ucp-checkout/parse.d.ts +71 -0
- package/dist/handoff/ucp-checkout/parse.js +349 -0
- package/dist/handoff/ucp-checkout/parse.js.map +1 -0
- package/dist/handoff/ucp-checkout/totals.d.ts +41 -0
- package/dist/handoff/ucp-checkout/totals.js +36 -0
- package/dist/handoff/ucp-checkout/totals.js.map +1 -0
- package/dist/handoff/ucp-checkout/types.d.ts +149 -0
- package/dist/handoff/ucp-checkout/types.js +58 -0
- package/dist/handoff/ucp-checkout/types.js.map +1 -0
- package/dist/handoff/url-safety.d.ts +44 -0
- package/dist/handoff/url-safety.js +121 -0
- package/dist/handoff/url-safety.js.map +1 -0
- package/dist/i18n.d.ts +24 -0
- package/dist/i18n.js +27 -0
- package/dist/i18n.js.map +1 -0
- package/dist/negotiation/action-candidate.d.ts +97 -0
- package/dist/negotiation/action-candidate.js +160 -0
- package/dist/negotiation/action-candidate.js.map +1 -0
- package/dist/negotiation/condition/evaluator.d.ts +36 -0
- package/dist/negotiation/condition/evaluator.js +123 -0
- package/dist/negotiation/condition/evaluator.js.map +1 -0
- package/dist/negotiation/context-map/index.d.ts +23 -0
- package/dist/negotiation/context-map/index.js +22 -0
- package/dist/negotiation/context-map/index.js.map +1 -0
- package/dist/negotiation/context-map/store.d.ts +51 -0
- package/dist/negotiation/context-map/store.js +186 -0
- package/dist/negotiation/context-map/store.js.map +1 -0
- package/dist/negotiation/context-map/types.d.ts +29 -0
- package/dist/negotiation/context-map/types.js +57 -0
- package/dist/negotiation/context-map/types.js.map +1 -0
- package/dist/negotiation/domain/common.d.ts +95 -0
- package/dist/negotiation/domain/common.js +216 -0
- package/dist/negotiation/domain/common.js.map +1 -0
- package/dist/negotiation/domain/envelope.d.ts +55 -0
- package/dist/negotiation/domain/envelope.js +110 -0
- package/dist/negotiation/domain/envelope.js.map +1 -0
- package/dist/negotiation/domain/identifiers.d.ts +65 -0
- package/dist/negotiation/domain/identifiers.js +130 -0
- package/dist/negotiation/domain/identifiers.js.map +1 -0
- package/dist/negotiation/domain/objects.d.ts +149 -0
- package/dist/negotiation/domain/objects.js +335 -0
- package/dist/negotiation/domain/objects.js.map +1 -0
- package/dist/negotiation/idempotency/index.d.ts +26 -0
- package/dist/negotiation/idempotency/index.js +25 -0
- package/dist/negotiation/idempotency/index.js.map +1 -0
- package/dist/negotiation/idempotency/store.d.ts +52 -0
- package/dist/negotiation/idempotency/store.js +189 -0
- package/dist/negotiation/idempotency/store.js.map +1 -0
- package/dist/negotiation/idempotency/types.d.ts +102 -0
- package/dist/negotiation/idempotency/types.js +47 -0
- package/dist/negotiation/idempotency/types.js.map +1 -0
- package/dist/negotiation/jcs.d.ts +21 -0
- package/dist/negotiation/jcs.js +114 -0
- package/dist/negotiation/jcs.js.map +1 -0
- package/dist/negotiation/ledger/event.d.ts +142 -0
- package/dist/negotiation/ledger/event.js +206 -0
- package/dist/negotiation/ledger/event.js.map +1 -0
- package/dist/negotiation/ledger/index.d.ts +26 -0
- package/dist/negotiation/ledger/index.js +25 -0
- package/dist/negotiation/ledger/index.js.map +1 -0
- package/dist/negotiation/ledger/store.d.ts +97 -0
- package/dist/negotiation/ledger/store.js +338 -0
- package/dist/negotiation/ledger/store.js.map +1 -0
- package/dist/negotiation/prompt.d.ts +34 -0
- package/dist/negotiation/prompt.js +113 -0
- package/dist/negotiation/prompt.js.map +1 -0
- package/dist/negotiation/recovery/index.d.ts +26 -0
- package/dist/negotiation/recovery/index.js +24 -0
- package/dist/negotiation/recovery/index.js.map +1 -0
- package/dist/negotiation/recovery/outbound.d.ts +49 -0
- package/dist/negotiation/recovery/outbound.js +34 -0
- package/dist/negotiation/recovery/outbound.js.map +1 -0
- package/dist/negotiation/recovery/recover.d.ts +59 -0
- package/dist/negotiation/recovery/recover.js +486 -0
- package/dist/negotiation/recovery/recover.js.map +1 -0
- package/dist/negotiation/recovery/types.d.ts +85 -0
- package/dist/negotiation/recovery/types.js +17 -0
- package/dist/negotiation/recovery/types.js.map +1 -0
- package/dist/negotiation/state/phase.d.ts +70 -0
- package/dist/negotiation/state/phase.js +200 -0
- package/dist/negotiation/state/phase.js.map +1 -0
- package/dist/negotiation/types.d.ts +139 -0
- package/dist/negotiation/types.js +24 -0
- package/dist/negotiation/types.js.map +1 -0
- package/dist/net/safe-http.d.ts +54 -0
- package/dist/net/safe-http.js +116 -0
- package/dist/net/safe-http.js.map +1 -0
- package/dist/operator/controller.d.ts +181 -0
- package/dist/operator/controller.js +784 -0
- package/dist/operator/controller.js.map +1 -0
- package/dist/operator/runner.d.ts +128 -0
- package/dist/operator/runner.js +248 -0
- package/dist/operator/runner.js.map +1 -0
- package/dist/operator/store.d.ts +39 -0
- package/dist/operator/store.js +169 -0
- package/dist/operator/store.js.map +1 -0
- package/dist/operator/strategy.d.ts +54 -0
- package/dist/operator/strategy.js +249 -0
- package/dist/operator/strategy.js.map +1 -0
- package/dist/operator/tui.d.ts +27 -0
- package/dist/operator/tui.js +395 -0
- package/dist/operator/tui.js.map +1 -0
- package/dist/operator/types.d.ts +224 -0
- package/dist/operator/types.js +17 -0
- package/dist/operator/types.js.map +1 -0
- package/dist/product-buyer.d.ts +74 -0
- package/dist/product-buyer.js +161 -0
- package/dist/product-buyer.js.map +1 -0
- package/dist/product-cli.d.ts +56 -0
- package/dist/product-cli.js +175 -0
- package/dist/product-cli.js.map +1 -0
- package/dist/product-compat.d.ts +50 -0
- package/dist/product-compat.js +63 -0
- package/dist/product-compat.js.map +1 -0
- package/dist/product-init.d.ts +73 -0
- package/dist/product-init.js +203 -0
- package/dist/product-init.js.map +1 -0
- package/dist/product-publish.d.ts +85 -0
- package/dist/product-publish.js +216 -0
- package/dist/product-publish.js.map +1 -0
- package/dist/protocol/legacy-shopping-negotiation/adapter.d.ts +42 -0
- package/dist/protocol/legacy-shopping-negotiation/adapter.js +561 -0
- package/dist/protocol/legacy-shopping-negotiation/adapter.js.map +1 -0
- package/dist/protocol/legacy-shopping-negotiation/mapping.d.ts +78 -0
- package/dist/protocol/legacy-shopping-negotiation/mapping.js +321 -0
- package/dist/protocol/legacy-shopping-negotiation/mapping.js.map +1 -0
- package/dist/protocol/legacy-shopping-negotiation/money.d.ts +49 -0
- package/dist/protocol/legacy-shopping-negotiation/money.js +70 -0
- package/dist/protocol/legacy-shopping-negotiation/money.js.map +1 -0
- package/dist/protocol/legacy-shopping-negotiation/types.d.ts +107 -0
- package/dist/protocol/legacy-shopping-negotiation/types.js +34 -0
- package/dist/protocol/legacy-shopping-negotiation/types.js.map +1 -0
- package/dist/runtime/buyer-policy.d.ts +58 -0
- package/dist/runtime/buyer-policy.js +89 -0
- package/dist/runtime/buyer-policy.js.map +1 -0
- package/dist/runtime/fake-model.d.ts +77 -0
- package/dist/runtime/fake-model.js +307 -0
- package/dist/runtime/fake-model.js.map +1 -0
- package/dist/runtime/foreground.d.ts +56 -0
- package/dist/runtime/foreground.js +97 -0
- package/dist/runtime/foreground.js.map +1 -0
- package/dist/runtime/heartbeat.d.ts +36 -0
- package/dist/runtime/heartbeat.js +49 -0
- package/dist/runtime/heartbeat.js.map +1 -0
- package/dist/runtime/merchant-turn.d.ts +35 -0
- package/dist/runtime/merchant-turn.js +20 -0
- package/dist/runtime/merchant-turn.js.map +1 -0
- package/dist/runtime/model.d.ts +40 -0
- package/dist/runtime/model.js +86 -0
- package/dist/runtime/model.js.map +1 -0
- package/dist/runtime/negotiation-turn.d.ts +101 -0
- package/dist/runtime/negotiation-turn.js +317 -0
- package/dist/runtime/negotiation-turn.js.map +1 -0
- package/dist/runtime/tools.d.ts +64 -0
- package/dist/runtime/tools.js +236 -0
- package/dist/runtime/tools.js.map +1 -0
- package/dist/supervisor/init.d.ts +31 -0
- package/dist/supervisor/init.js +222 -0
- package/dist/supervisor/init.js.map +1 -0
- package/dist/supervisor/logs.d.ts +28 -0
- package/dist/supervisor/logs.js +101 -0
- package/dist/supervisor/logs.js.map +1 -0
- package/dist/supervisor/manage.d.ts +72 -0
- package/dist/supervisor/manage.js +419 -0
- package/dist/supervisor/manage.js.map +1 -0
- package/dist/supervisor/manifest.d.ts +69 -0
- package/dist/supervisor/manifest.js +209 -0
- package/dist/supervisor/manifest.js.map +1 -0
- package/dist/supervisor/stack-config.d.ts +79 -0
- package/dist/supervisor/stack-config.js +262 -0
- package/dist/supervisor/stack-config.js.map +1 -0
- package/dist/supervisor/wrapper.d.ts +17 -0
- package/dist/supervisor/wrapper.js +138 -0
- package/dist/supervisor/wrapper.js.map +1 -0
- package/dist/trust/identity/auth-verifier.d.ts +96 -0
- package/dist/trust/identity/auth-verifier.js +166 -0
- package/dist/trust/identity/auth-verifier.js.map +1 -0
- package/dist/trust/identity/identity-binding.d.ts +63 -0
- package/dist/trust/identity/identity-binding.js +59 -0
- package/dist/trust/identity/identity-binding.js.map +1 -0
- package/dist/trust/identity/index.d.ts +38 -0
- package/dist/trust/identity/index.js +31 -0
- package/dist/trust/identity/index.js.map +1 -0
- package/dist/trust/identity/jws.d.ts +64 -0
- package/dist/trust/identity/jws.js +178 -0
- package/dist/trust/identity/jws.js.map +1 -0
- package/dist/trust/identity/keys.d.ts +71 -0
- package/dist/trust/identity/keys.js +118 -0
- package/dist/trust/identity/keys.js.map +1 -0
- package/dist/trust/identity/message-signature.d.ts +105 -0
- package/dist/trust/identity/message-signature.js +297 -0
- package/dist/trust/identity/message-signature.js.map +1 -0
- package/dist/trust/identity/nonce.d.ts +45 -0
- package/dist/trust/identity/nonce.js +50 -0
- package/dist/trust/identity/nonce.js.map +1 -0
- package/dist/trust/identity/signature-base.d.ts +84 -0
- package/dist/trust/identity/signature-base.js +261 -0
- package/dist/trust/identity/signature-base.js.map +1 -0
- package/dist/trust/identity/trust-policy.d.ts +92 -0
- package/dist/trust/identity/trust-policy.js +95 -0
- package/dist/trust/identity/trust-policy.js.map +1 -0
- package/dist/trust/index.d.ts +21 -0
- package/dist/trust/index.js +22 -0
- package/dist/trust/index.js.map +1 -0
- package/dist/trust/records/evaluator.d.ts +76 -0
- package/dist/trust/records/evaluator.js +122 -0
- package/dist/trust/records/evaluator.js.map +1 -0
- package/dist/trust/records/index.d.ts +28 -0
- package/dist/trust/records/index.js +26 -0
- package/dist/trust/records/index.js.map +1 -0
- package/dist/trust/records/store.d.ts +75 -0
- package/dist/trust/records/store.js +339 -0
- package/dist/trust/records/store.js.map +1 -0
- package/dist/trust/records/types.d.ts +159 -0
- package/dist/trust/records/types.js +40 -0
- package/dist/trust/records/types.js.map +1 -0
- package/dist/tui/banner.d.ts +46 -0
- package/dist/tui/banner.js +99 -0
- package/dist/tui/banner.js.map +1 -0
- package/dist/tui/styles.d.ts +70 -0
- package/dist/tui/styles.js +197 -0
- package/dist/tui/styles.js.map +1 -0
- package/dist/tui/theme.d.ts +63 -0
- package/dist/tui/theme.js +136 -0
- package/dist/tui/theme.js.map +1 -0
- package/examples/profiles/buyer.deepseek.yaml +34 -0
- package/examples/profiles/buyer.fake.yaml +36 -0
- package/examples/profiles/buyer.local.yaml +40 -0
- package/examples/profiles/merchant.deepseek.yaml +32 -0
- package/examples/profiles/merchant.fake.yaml +31 -0
- package/examples/profiles/merchant.local.yaml +34 -0
- 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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"}
|