@harrylabsj/kiwi 0.7.21 → 0.7.22
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/dist/agent/buyer/buyer-tools.d.ts +7 -0
- package/dist/agent/buyer/buyer-tools.js +46 -0
- package/dist/agent/buyer/buyer-tools.js.map +1 -1
- package/dist/agent/buyer/scheduler.d.ts +3 -0
- package/dist/agent/buyer/scheduler.js.map +1 -1
- package/dist/agent/buyer/task-store.d.ts +5 -0
- package/dist/agent/buyer/task-store.js +10 -0
- package/dist/agent/buyer/task-store.js.map +1 -1
- package/dist/agent/kernel.d.ts +2 -0
- package/dist/agent/kernel.js +44 -9
- package/dist/agent/kernel.js.map +1 -1
- package/dist/agent/memory/schema.d.ts +1 -1
- package/dist/agent/memory/schema.js +67 -1
- package/dist/agent/memory/schema.js.map +1 -1
- package/dist/agent/supplier/scheduler.d.ts +84 -0
- package/dist/agent/supplier/scheduler.js +539 -0
- package/dist/agent/supplier/scheduler.js.map +1 -0
- package/dist/agent/supplier/store.d.ts +171 -0
- package/dist/agent/supplier/store.js +343 -0
- package/dist/agent/supplier/store.js.map +1 -0
- package/dist/cli.d.ts +5 -0
- package/dist/cli.js +145 -0
- package/dist/cli.js.map +1 -1
- package/dist/product-cli.d.ts +1 -1
- package/dist/product-cli.js +11 -1
- package/dist/product-cli.js.map +1 -1
- package/dist/product-supplier.d.ts +75 -0
- package/dist/product-supplier.js +233 -0
- package/dist/product-supplier.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,233 @@
|
|
|
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
|
+
* 产品层 `kiwi buyer supplier` 命令实现(pull-relationship 设计 v0.1 §11,M1)。
|
|
18
|
+
*
|
|
19
|
+
* 关系是 Buyer Core 本地私有状态:save/watch/prefer 通过 kiwi-catalog 解析
|
|
20
|
+
* Merchant 公开 record(canonical_domain / agent_card_url / ucp_profile_url),
|
|
21
|
+
* 写入本地 supplier_relationships;Merchant 侧无任何写入通道。
|
|
22
|
+
*
|
|
23
|
+
* watched / preferred 默认要求人类明确确认(consent_source = human_explicit):
|
|
24
|
+
* 非交互环境必须显式传 --yes,否则拒绝。
|
|
25
|
+
*/
|
|
26
|
+
import { existsSync } from "node:fs";
|
|
27
|
+
import path from "node:path";
|
|
28
|
+
import { agentDataDir, openAgentDatabase } from "./agent/agent-db.js";
|
|
29
|
+
import { SupplierRelationshipStore, } from "./agent/supplier/store.js";
|
|
30
|
+
import { KiwiCatalogSource } from "./discovery/catalog-source/kiwi-source.js";
|
|
31
|
+
import { DEFAULT_CATALOG_URL } from "./product-cli.js";
|
|
32
|
+
function openSupplierStore(options) {
|
|
33
|
+
const dataDir = options.dataDir ?? agentDataDir(options.agentId ?? "kiwi-assistant");
|
|
34
|
+
const dbPath = path.join(dataDir, "state.sqlite");
|
|
35
|
+
if (!existsSync(dbPath)) {
|
|
36
|
+
throw new Error(`没有 Buyer 数据(${dbPath} 不存在)——先运行 \`kiwi buyer start\` 初始化本地 Buyer Core`);
|
|
37
|
+
}
|
|
38
|
+
const db = openAgentDatabase(dbPath);
|
|
39
|
+
try {
|
|
40
|
+
const principal = db
|
|
41
|
+
.prepare("SELECT principal_id FROM principals WHERE role = 'buyer' ORDER BY created_at LIMIT 1")
|
|
42
|
+
.get();
|
|
43
|
+
if (principal === undefined) {
|
|
44
|
+
throw new Error("本地 Buyer principal 不存在——先运行 `kiwi buyer start` 完成初始化");
|
|
45
|
+
}
|
|
46
|
+
const store = new SupplierRelationshipStore({ db, principalId: principal.principal_id });
|
|
47
|
+
return { db, store };
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
db.close();
|
|
51
|
+
throw err;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** 从 kiwi-catalog 解析 Merchant 公开 record(save/watch/prefer 共用的身份来源)。 */
|
|
55
|
+
async function resolveMerchant(catalogUrl, merchantId) {
|
|
56
|
+
const source = new KiwiCatalogSource({ baseUrl: catalogUrl });
|
|
57
|
+
const record = await source.getRecord(merchantId);
|
|
58
|
+
if (record.agent_card_url === undefined) {
|
|
59
|
+
throw new Error(`catalog record ${merchantId} 没有 agent_card_url,无法建立供应商关系`);
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
merchant_id: record.merchant_id ?? record.catalog_agent_id,
|
|
63
|
+
catalog_agent_id: record.catalog_agent_id,
|
|
64
|
+
canonical_domain: record.canonical_domain,
|
|
65
|
+
agent_card_url: record.agent_card_url,
|
|
66
|
+
...(record.ucp_profile_url !== undefined ? { ucp_profile_url: record.ucp_profile_url } : {}),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* watched/preferred 的明确同意门(§11:创建 watched/preferred 默认要求人类
|
|
71
|
+
* 明确确认)。--yes 或交互确认通过才返回;否则抛错拒绝。
|
|
72
|
+
*/
|
|
73
|
+
async function requireExplicitConsent(options) {
|
|
74
|
+
if (options.yes === true)
|
|
75
|
+
return;
|
|
76
|
+
if (options.confirm !== undefined && (await options.confirm()))
|
|
77
|
+
return;
|
|
78
|
+
throw new Error(`${options.action} 需要人类明确确认:交互终端请确认提示,非交互环境请显式加 --yes`);
|
|
79
|
+
}
|
|
80
|
+
function summarize(rel) {
|
|
81
|
+
const out = {
|
|
82
|
+
relationship_id: rel.relationship_id,
|
|
83
|
+
merchant_id: rel.merchant_id,
|
|
84
|
+
canonical_domain: rel.canonical_domain,
|
|
85
|
+
relationship_type: rel.relationship_type,
|
|
86
|
+
status: rel.status,
|
|
87
|
+
consent_source: rel.consent_source,
|
|
88
|
+
scope: rel.scope,
|
|
89
|
+
policy: rel.policy,
|
|
90
|
+
created_at: rel.created_at,
|
|
91
|
+
updated_at: rel.updated_at,
|
|
92
|
+
};
|
|
93
|
+
if (rel.expires_at !== undefined)
|
|
94
|
+
out.expires_at = rel.expires_at;
|
|
95
|
+
return out;
|
|
96
|
+
}
|
|
97
|
+
function parseExpiresDays(value) {
|
|
98
|
+
const match = /^(\d+)d$/.exec(value);
|
|
99
|
+
if (match === null) {
|
|
100
|
+
throw new Error("--expires 只支持 <N>d 形式(如 90d)");
|
|
101
|
+
}
|
|
102
|
+
const days = Number(match[1]);
|
|
103
|
+
if (!Number.isInteger(days) || days <= 0) {
|
|
104
|
+
throw new Error("--expires 天数必须是正整数");
|
|
105
|
+
}
|
|
106
|
+
return new Date(Date.now() + days * 24 * 3600 * 1000).toISOString();
|
|
107
|
+
}
|
|
108
|
+
/** `kiwi buyer supplier save <merchant-id>`:保存身份,不轮询(§2.1)。 */
|
|
109
|
+
export async function supplierSave(options) {
|
|
110
|
+
const resolved = await resolveMerchant(options.catalogUrl ?? DEFAULT_CATALOG_URL, options.merchantId);
|
|
111
|
+
const { db, store } = openSupplierStore(options);
|
|
112
|
+
try {
|
|
113
|
+
return summarize(store.saveRelationship({
|
|
114
|
+
merchant_id: resolved.merchant_id,
|
|
115
|
+
canonical_domain: resolved.canonical_domain,
|
|
116
|
+
agent_card_url: resolved.agent_card_url,
|
|
117
|
+
...(resolved.ucp_profile_url !== undefined
|
|
118
|
+
? { ucp_profile_url: resolved.ucp_profile_url }
|
|
119
|
+
: {}),
|
|
120
|
+
relationship_type: "saved",
|
|
121
|
+
scope: { catalog_agent_id: resolved.catalog_agent_id },
|
|
122
|
+
consent_source: "human_explicit",
|
|
123
|
+
}));
|
|
124
|
+
}
|
|
125
|
+
finally {
|
|
126
|
+
db.close();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/** `kiwi buyer supplier watch <merchant-id>`:建立主动观察规则(§2.2)。 */
|
|
130
|
+
export async function supplierWatch(options) {
|
|
131
|
+
await requireExplicitConsent({ yes: options.yes, confirm: options.confirm, action: "watch" });
|
|
132
|
+
if (options.intervalSeconds !== undefined &&
|
|
133
|
+
(!Number.isInteger(options.intervalSeconds) || options.intervalSeconds < 3600)) {
|
|
134
|
+
throw new Error("--interval 必须是 ≥3600 的整数秒(供应商观察不做分钟级轮询)");
|
|
135
|
+
}
|
|
136
|
+
const resolved = await resolveMerchant(options.catalogUrl ?? DEFAULT_CATALOG_URL, options.merchantId);
|
|
137
|
+
const { db, store } = openSupplierStore(options);
|
|
138
|
+
try {
|
|
139
|
+
return summarize(store.saveRelationship({
|
|
140
|
+
merchant_id: resolved.merchant_id,
|
|
141
|
+
canonical_domain: resolved.canonical_domain,
|
|
142
|
+
agent_card_url: resolved.agent_card_url,
|
|
143
|
+
...(resolved.ucp_profile_url !== undefined
|
|
144
|
+
? { ucp_profile_url: resolved.ucp_profile_url }
|
|
145
|
+
: {}),
|
|
146
|
+
relationship_type: "watched",
|
|
147
|
+
scope: {
|
|
148
|
+
catalog_agent_id: resolved.catalog_agent_id,
|
|
149
|
+
...(options.query !== undefined ? { query: options.query } : {}),
|
|
150
|
+
...(options.region !== undefined ? { region: options.region } : {}),
|
|
151
|
+
},
|
|
152
|
+
policy: options.intervalSeconds !== undefined
|
|
153
|
+
? { interval_seconds: options.intervalSeconds }
|
|
154
|
+
: {},
|
|
155
|
+
consent_source: "human_explicit",
|
|
156
|
+
}));
|
|
157
|
+
}
|
|
158
|
+
finally {
|
|
159
|
+
db.close();
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/** `kiwi buyer supplier prefer <merchant-id>`:采购范围内的软偏好(§2.3)。 */
|
|
163
|
+
export async function supplierPrefer(options) {
|
|
164
|
+
await requireExplicitConsent({ yes: options.yes, confirm: options.confirm, action: "prefer" });
|
|
165
|
+
const resolved = await resolveMerchant(options.catalogUrl ?? DEFAULT_CATALOG_URL, options.merchantId);
|
|
166
|
+
const { db, store } = openSupplierStore(options);
|
|
167
|
+
try {
|
|
168
|
+
return summarize(store.saveRelationship({
|
|
169
|
+
merchant_id: resolved.merchant_id,
|
|
170
|
+
canonical_domain: resolved.canonical_domain,
|
|
171
|
+
agent_card_url: resolved.agent_card_url,
|
|
172
|
+
...(resolved.ucp_profile_url !== undefined
|
|
173
|
+
? { ucp_profile_url: resolved.ucp_profile_url }
|
|
174
|
+
: {}),
|
|
175
|
+
relationship_type: "preferred",
|
|
176
|
+
scope: {
|
|
177
|
+
catalog_agent_id: resolved.catalog_agent_id,
|
|
178
|
+
...(options.scope !== undefined ? { procurement_scope: options.scope } : {}),
|
|
179
|
+
},
|
|
180
|
+
...(options.expires !== undefined
|
|
181
|
+
? { expires_at: parseExpiresDays(options.expires) }
|
|
182
|
+
: {}),
|
|
183
|
+
consent_source: "human_explicit",
|
|
184
|
+
}));
|
|
185
|
+
}
|
|
186
|
+
finally {
|
|
187
|
+
db.close();
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/** `kiwi buyer supplier list`。 */
|
|
191
|
+
export async function supplierList(options) {
|
|
192
|
+
const { db, store } = openSupplierStore(options);
|
|
193
|
+
try {
|
|
194
|
+
return store.listRelationships().map(summarize);
|
|
195
|
+
}
|
|
196
|
+
finally {
|
|
197
|
+
db.close();
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
/** `kiwi buyer supplier pause <relationship-id>`。 */
|
|
201
|
+
export async function supplierPause(options) {
|
|
202
|
+
const { db, store } = openSupplierStore(options);
|
|
203
|
+
try {
|
|
204
|
+
return summarize(store.updateStatus(options.relationshipId, "paused"));
|
|
205
|
+
}
|
|
206
|
+
finally {
|
|
207
|
+
db.close();
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* `kiwi buyer supplier remove <relationship-id>`:软删——立即停止后续拉取并
|
|
212
|
+
* 清除未来调度(§11)。M3 之前 receipt_status 恒为 none,无需远端 revoke;
|
|
213
|
+
* 若将来存在有效 receipt,先 best-effort revoke 但远端不可达不阻塞本地删除。
|
|
214
|
+
*/
|
|
215
|
+
export async function supplierRemove(options) {
|
|
216
|
+
const { db, store } = openSupplierStore(options);
|
|
217
|
+
try {
|
|
218
|
+
const rel = store.getRelationship(options.relationshipId);
|
|
219
|
+
if (rel === undefined) {
|
|
220
|
+
throw new Error(`没有供应商关系 ${options.relationshipId}`);
|
|
221
|
+
}
|
|
222
|
+
if (rel.receipt_status !== "none") {
|
|
223
|
+
// M3 预留:当前版本不会进入该分支(无 receipt 发送面)。
|
|
224
|
+
throw new Error(`关系 ${options.relationshipId} 存在有效 relationship receipt(${rel.receipt_status}),` +
|
|
225
|
+
"当前版本请先等待 receipt 过期后再删除");
|
|
226
|
+
}
|
|
227
|
+
return summarize(store.updateStatus(options.relationshipId, "deleted"));
|
|
228
|
+
}
|
|
229
|
+
finally {
|
|
230
|
+
db.close();
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=product-supplier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-supplier.js","sourceRoot":"","sources":["../src/product-supplier.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED