@harrylabsj/kiwi 0.7.9 → 0.7.11
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/contracts/commerce-intent/1.0/schema.json +124 -0
- package/contracts/delegation-policy/1.0/schema.json +143 -0
- package/contracts/effective-authorization/1.0/schema.json +167 -0
- package/contracts/kiwi-contracts.lock.json +1 -1
- package/contracts/manifest.json +25 -1
- package/contracts/persistent-task/1.0/schema.json +191 -0
- package/contracts/vectors/commerce-intent.invalid-no-items.json +7 -0
- package/contracts/vectors/commerce-intent.valid.json +32 -0
- package/contracts/vectors/delegation-policy.invalid-payment-auto.json +15 -0
- package/contracts/vectors/delegation-policy.valid.json +25 -0
- package/contracts/vectors/effective-authorization.invalid-deny-wins.json +20 -0
- package/contracts/vectors/effective-authorization.valid.json +23 -0
- package/contracts/vectors/persistent-task.invalid-no-idempotency.json +7 -0
- package/contracts/vectors/persistent-task.valid.json +45 -0
- package/dist/a2a/client/url-policy.js +52 -14
- package/dist/a2a/client/url-policy.js.map +1 -1
- package/dist/a2a/node.js +27 -1
- package/dist/a2a/node.js.map +1 -1
- package/dist/a2a/server/merchant-handler.d.ts +27 -0
- package/dist/a2a/server/merchant-handler.js +88 -10
- package/dist/a2a/server/merchant-handler.js.map +1 -1
- package/dist/a2a/signing-key.js +18 -0
- package/dist/a2a/signing-key.js.map +1 -1
- package/dist/buyer-core/a2a-knp.d.ts +71 -0
- package/dist/buyer-core/a2a-knp.js +139 -0
- package/dist/buyer-core/a2a-knp.js.map +1 -0
- package/dist/buyer-core/a2a-negotiator.d.ts +37 -0
- package/dist/buyer-core/a2a-negotiator.js +152 -0
- package/dist/buyer-core/a2a-negotiator.js.map +1 -0
- package/dist/buyer-core/a2a-quote-fetcher.d.ts +44 -0
- package/dist/buyer-core/a2a-quote-fetcher.js +178 -0
- package/dist/buyer-core/a2a-quote-fetcher.js.map +1 -0
- package/dist/buyer-core/build-service.d.ts +44 -0
- package/dist/buyer-core/build-service.js +76 -0
- package/dist/buyer-core/build-service.js.map +1 -0
- package/dist/buyer-core/errors.d.ts +31 -0
- package/dist/buyer-core/errors.js +52 -0
- package/dist/buyer-core/errors.js.map +1 -0
- package/dist/buyer-core/merchant-index.d.ts +64 -0
- package/dist/buyer-core/merchant-index.js +213 -0
- package/dist/buyer-core/merchant-index.js.map +1 -0
- package/dist/buyer-core/negotiator.d.ts +51 -0
- package/dist/buyer-core/negotiator.js +181 -0
- package/dist/buyer-core/negotiator.js.map +1 -0
- package/dist/buyer-core/quote-fetcher.d.ts +46 -0
- package/dist/buyer-core/quote-fetcher.js +166 -0
- package/dist/buyer-core/quote-fetcher.js.map +1 -0
- package/dist/buyer-core/service.d.ts +218 -0
- package/dist/buyer-core/service.js +558 -0
- package/dist/buyer-core/service.js.map +1 -0
- package/dist/buyer-core/store.d.ts +84 -0
- package/dist/buyer-core/store.js +256 -0
- package/dist/buyer-core/store.js.map +1 -0
- package/dist/cli.js +25 -0
- package/dist/cli.js.map +1 -1
- package/dist/config/profile.d.ts +9 -0
- package/dist/config/profile.js +23 -0
- package/dist/config/profile.js.map +1 -1
- package/dist/contracts/northbound-schema.d.ts +27 -0
- package/dist/contracts/northbound-schema.js +102 -0
- package/dist/contracts/northbound-schema.js.map +1 -0
- package/dist/handoff/destination.js +16 -5
- package/dist/handoff/destination.js.map +1 -1
- package/dist/http/cli.d.ts +16 -0
- package/dist/http/cli.js +123 -0
- package/dist/http/cli.js.map +1 -0
- package/dist/http/server.d.ts +39 -0
- package/dist/http/server.js +297 -0
- package/dist/http/server.js.map +1 -0
- package/dist/mcp/cli.d.ts +70 -0
- package/dist/mcp/cli.js +147 -0
- package/dist/mcp/cli.js.map +1 -0
- package/dist/mcp/server.d.ts +41 -0
- package/dist/mcp/server.js +141 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +28 -0
- package/dist/mcp/tools.js +299 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/types.d.ts +107 -0
- package/dist/mcp/types.js +52 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/merchant/decision-backend.d.ts +82 -0
- package/dist/merchant/decision-backend.js +275 -0
- package/dist/merchant/decision-backend.js.map +1 -0
- package/dist/merchant/ops.d.ts +80 -0
- package/dist/merchant/ops.js +75 -0
- package/dist/merchant/ops.js.map +1 -0
- package/dist/merchant/ucp-profile.d.ts +39 -0
- package/dist/merchant/ucp-profile.js +55 -0
- package/dist/merchant/ucp-profile.js.map +1 -0
- package/dist/product-cli.d.ts +1 -1
- package/dist/product-cli.js +1 -1
- package/dist/product-cli.js.map +1 -1
- package/dist/trust/identity/auth-verifier.js +19 -1
- package/dist/trust/identity/auth-verifier.js.map +1 -1
- package/dist/trust/identity/message-signature.js +14 -8
- package/dist/trust/identity/message-signature.js.map +1 -1
- package/examples/profiles/merchant.deepseek.yaml +5 -0
- package/examples/profiles/merchant.fake.yaml +4 -0
- package/package.json +4 -2
package/dist/config/profile.js
CHANGED
|
@@ -76,6 +76,7 @@ const TOP_LEVEL_KEYS = [
|
|
|
76
76
|
"merchant_policy",
|
|
77
77
|
"buyer_policy",
|
|
78
78
|
"weixin",
|
|
79
|
+
"decision",
|
|
79
80
|
];
|
|
80
81
|
/** weixin 段白名单(微信远程控制通道配置;无 *_env 密钥字段——iLink 凭证运行时获取)。 */
|
|
81
82
|
const WEIXIN_KEYS = ["allow_users", "base_url"];
|
|
@@ -112,6 +113,8 @@ const BUYER_POLICY_KEYS = [
|
|
|
112
113
|
"auto_negotiate",
|
|
113
114
|
"human_review_on",
|
|
114
115
|
];
|
|
116
|
+
const DECISION_KEYS = ["backend", "enabled"];
|
|
117
|
+
const DECISION_BACKENDS = ["deterministic", "mock", "deepseek"];
|
|
115
118
|
/** RFC 3339 date-time with an explicit timezone (offset or Z); naive times fail closed. */
|
|
116
119
|
const RFC3339_TZ = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/;
|
|
117
120
|
/** Validate an RFC 3339 timestamp that must carry a timezone. */
|
|
@@ -296,6 +299,25 @@ export function validateProfile(data, source) {
|
|
|
296
299
|
}
|
|
297
300
|
merchantPolicy = { ...mp };
|
|
298
301
|
}
|
|
302
|
+
let decisionSection;
|
|
303
|
+
if (p.decision !== undefined) {
|
|
304
|
+
req(isObject(p.decision), `${source}: decision must be a mapping`);
|
|
305
|
+
const d = p.decision;
|
|
306
|
+
rejectUnknownKeys(d, DECISION_KEYS, "decision", source);
|
|
307
|
+
req(DECISION_BACKENDS.includes(d.backend), `${source}: decision.backend must be one of: ${DECISION_BACKENDS.join(", ")}`);
|
|
308
|
+
if (d.enabled !== undefined) {
|
|
309
|
+
req(typeof d.enabled === "boolean", `${source}: decision.enabled must be a boolean`);
|
|
310
|
+
}
|
|
311
|
+
// merchant-only 概念:buyer 配置 decision → fail-closed。
|
|
312
|
+
if (p.role !== "merchant") {
|
|
313
|
+
req(false, `${source}: decision is only valid for role=merchant`);
|
|
314
|
+
}
|
|
315
|
+
// deepseek 后端需要 model.api_key_env(只存 env 名,永不存密钥)。
|
|
316
|
+
if (d.backend === "deepseek" && d.enabled !== false) {
|
|
317
|
+
req(typeof model.api_key_env === "string" && REQUIRED_ENV_REF.test(model.api_key_env), `${source}: decision.backend=deepseek requires model.api_key_env`);
|
|
318
|
+
}
|
|
319
|
+
decisionSection = { backend: d.backend, ...(d.enabled !== undefined ? { enabled: d.enabled } : {}) };
|
|
320
|
+
}
|
|
299
321
|
let buyerPolicy;
|
|
300
322
|
if (p.buyer_policy !== undefined) {
|
|
301
323
|
req(isObject(p.buyer_policy), `${source}: buyer_policy must be a mapping`);
|
|
@@ -382,6 +404,7 @@ export function validateProfile(data, source) {
|
|
|
382
404
|
...(merchantPolicy !== undefined ? { merchant_policy: merchantPolicy } : {}),
|
|
383
405
|
...(buyerPolicy !== undefined ? { buyer_policy: buyerPolicy } : {}),
|
|
384
406
|
...(weixinSection !== undefined ? { weixin: weixinSection } : {}),
|
|
407
|
+
...(decisionSection !== undefined ? { decision: decisionSection } : {}),
|
|
385
408
|
};
|
|
386
409
|
return profile;
|
|
387
410
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/config/profile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/config/profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
export type NorthboundContractName = "commerce-intent" | "delegation-policy" | "effective-authorization" | "persistent-task";
|
|
17
|
+
/** Resolve the repository/package root from this module's location. */
|
|
18
|
+
export declare function packageRoot(): string;
|
|
19
|
+
export declare function loadNorthboundSchema(name: NorthboundContractName): Record<string, unknown>;
|
|
20
|
+
/** 校验对应 Northbound 契约是否满足冻结 schema。返回错误列表(空 = 合法)。 */
|
|
21
|
+
export declare function validateNorthboundContract(name: NorthboundContractName, value: unknown): string[];
|
|
22
|
+
export declare function validateCommerceIntent(value: unknown): string[];
|
|
23
|
+
export declare function validateDelegationPolicy(value: unknown): string[];
|
|
24
|
+
export declare function validateEffectiveAuthorization(value: unknown): string[];
|
|
25
|
+
export declare function validatePersistentTask(value: unknown): string[];
|
|
26
|
+
/** 断言合法;非法时抛错。 */
|
|
27
|
+
export declare function assertNorthboundContractValid(name: NorthboundContractName, value: unknown, what: string): void;
|
|
@@ -0,0 +1,102 @@
|
|
|
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 Northbound 契约 v0.1 schema 加载与校验(战略 v2.5 §5.2 / §5.3 / §5.5 / §6.2)。
|
|
18
|
+
*
|
|
19
|
+
* 冻结四份 Northbound 契约:
|
|
20
|
+
* - CommerceIntent contracts/commerce-intent/1.0/schema.json
|
|
21
|
+
* - DelegationPolicy contracts/delegation-policy/1.0/schema.json
|
|
22
|
+
* - EffectiveAuthorization contracts/effective-authorization/1.0/schema.json
|
|
23
|
+
* - PersistentTask/Approval contracts/persistent-task/1.0/schema.json
|
|
24
|
+
*
|
|
25
|
+
* 每份 JSON 文件是唯一权威源(与发布到 https://kiwi.harrylabsj.com/schemas/... 一致)。
|
|
26
|
+
* 校验使用 ajv 2020 + ajv-formats(同 src/contracts/negotiation-schema.ts)。返回错误列表,
|
|
27
|
+
* 空 = 合法。
|
|
28
|
+
*/
|
|
29
|
+
import { readFileSync } from "node:fs";
|
|
30
|
+
import { createRequire } from "node:module";
|
|
31
|
+
import path from "node:path";
|
|
32
|
+
import { fileURLToPath } from "node:url";
|
|
33
|
+
// ajv is CommonJS; under NodeNext + verbatimModuleSyntax load it explicitly
|
|
34
|
+
// (same pattern as src/contracts/negotiation-schema.ts).
|
|
35
|
+
const require = createRequire(import.meta.url);
|
|
36
|
+
const Ajv2020 = require("ajv/dist/2020.js");
|
|
37
|
+
const addFormats = require("ajv-formats");
|
|
38
|
+
const SCHEMA_REL = {
|
|
39
|
+
"commerce-intent": ["contracts", "commerce-intent", "1.0", "schema.json"],
|
|
40
|
+
"delegation-policy": ["contracts", "delegation-policy", "1.0", "schema.json"],
|
|
41
|
+
"effective-authorization": ["contracts", "effective-authorization", "1.0", "schema.json"],
|
|
42
|
+
"persistent-task": ["contracts", "persistent-task", "1.0", "schema.json"],
|
|
43
|
+
};
|
|
44
|
+
/** Resolve the repository/package root from this module's location. */
|
|
45
|
+
export function packageRoot() {
|
|
46
|
+
const here = path.dirname(fileURLToPath(import.meta.url));
|
|
47
|
+
// dist/contracts/northbound-schema.js -> <root>; src/... -> <root>
|
|
48
|
+
return path.resolve(here, "..", "..");
|
|
49
|
+
}
|
|
50
|
+
const schemaCache = new Map();
|
|
51
|
+
export function loadNorthboundSchema(name) {
|
|
52
|
+
let schema = schemaCache.get(name);
|
|
53
|
+
if (schema === undefined) {
|
|
54
|
+
const file = path.join(packageRoot(), ...SCHEMA_REL[name]);
|
|
55
|
+
schema = JSON.parse(readFileSync(file, "utf-8"));
|
|
56
|
+
schemaCache.set(name, schema);
|
|
57
|
+
}
|
|
58
|
+
return schema;
|
|
59
|
+
}
|
|
60
|
+
let ajv;
|
|
61
|
+
const validatorCache = new Map();
|
|
62
|
+
function getAjv() {
|
|
63
|
+
if (!ajv) {
|
|
64
|
+
ajv = new Ajv2020({ allErrors: true, strict: true });
|
|
65
|
+
addFormats(ajv);
|
|
66
|
+
}
|
|
67
|
+
return ajv;
|
|
68
|
+
}
|
|
69
|
+
function formatErrors(validate) {
|
|
70
|
+
return (validate.errors ?? []).map((e) => `${e.instancePath || "/"} ${e.message ?? "invalid"}`.trim());
|
|
71
|
+
}
|
|
72
|
+
/** 校验对应 Northbound 契约是否满足冻结 schema。返回错误列表(空 = 合法)。 */
|
|
73
|
+
export function validateNorthboundContract(name, value) {
|
|
74
|
+
let validate = validatorCache.get(name);
|
|
75
|
+
if (validate === undefined) {
|
|
76
|
+
validate = getAjv().compile(loadNorthboundSchema(name));
|
|
77
|
+
validatorCache.set(name, validate);
|
|
78
|
+
}
|
|
79
|
+
if (validate(value))
|
|
80
|
+
return [];
|
|
81
|
+
return formatErrors(validate);
|
|
82
|
+
}
|
|
83
|
+
export function validateCommerceIntent(value) {
|
|
84
|
+
return validateNorthboundContract("commerce-intent", value);
|
|
85
|
+
}
|
|
86
|
+
export function validateDelegationPolicy(value) {
|
|
87
|
+
return validateNorthboundContract("delegation-policy", value);
|
|
88
|
+
}
|
|
89
|
+
export function validateEffectiveAuthorization(value) {
|
|
90
|
+
return validateNorthboundContract("effective-authorization", value);
|
|
91
|
+
}
|
|
92
|
+
export function validatePersistentTask(value) {
|
|
93
|
+
return validateNorthboundContract("persistent-task", value);
|
|
94
|
+
}
|
|
95
|
+
/** 断言合法;非法时抛错。 */
|
|
96
|
+
export function assertNorthboundContractValid(name, value, what) {
|
|
97
|
+
const errors = validateNorthboundContract(name, value);
|
|
98
|
+
if (errors.length > 0) {
|
|
99
|
+
throw new Error(`${what} failed ${name} schema validation: ${errors.join("; ")}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=northbound-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"northbound-schema.js","sourceRoot":"","sources":["../../src/contracts/northbound-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,6 +59,16 @@ const DOCUMENT_DESTINATION_TYPES = new Set([
|
|
|
59
59
|
"merchant_contact",
|
|
60
60
|
"sales_handoff",
|
|
61
61
|
]);
|
|
62
|
+
// fail-closed 词表分区不变量:每个 destination_type 必须恰好落在 URL/SESSION/
|
|
63
|
+
// DOCUMENT 三类之一——漏分会让校验静默失效(安全策略不生效),多分造成语义冲突。
|
|
64
|
+
for (const type of DESTINATION_TYPES) {
|
|
65
|
+
const membership = Number(URL_DESTINATION_TYPES.has(type))
|
|
66
|
+
+ Number(SESSION_DESTINATION_TYPES.has(type))
|
|
67
|
+
+ Number(DOCUMENT_DESTINATION_TYPES.has(type));
|
|
68
|
+
if (membership !== 1) {
|
|
69
|
+
throw new Error(`destination_type "${type}" must belong to exactly one of URL/SESSION/DOCUMENT sets`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
62
72
|
/** URL 承载类目的地(external checkout / deep link)——URL 安全策略适用。 */
|
|
63
73
|
export function isUrlDestinationType(type) {
|
|
64
74
|
return URL_DESTINATION_TYPES.has(type);
|
|
@@ -83,11 +93,12 @@ export function validateDestination(input, path = "destination") {
|
|
|
83
93
|
if (URL_DESTINATION_TYPES.has(type) && !/^https?:\/\/\S+$/.test(ref)) {
|
|
84
94
|
throw schemaError(`${path}/ref`, `destination type "${type}" requires an http(s) URL ref`);
|
|
85
95
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
96
|
+
// 审查 M3:会话类目的地(ucp_checkout / ucp_order / merchant_checkout_session)
|
|
97
|
+
// 是 opaque 会话/订单 id,不得携带 URL——否则绕过 URL 安全策略,把 URL 直接
|
|
98
|
+
// 呈现给买家(钓鱼 / 内部地址面)。文档类目的地(buyer_erp_request 等)仍允许
|
|
99
|
+
// URL 形 ref(ERP 端点引用,ref 语义由 destination type 决定,不做 URL 探测)。
|
|
100
|
+
if (SESSION_DESTINATION_TYPES.has(type) && /^https?:\/\//.test(ref)) {
|
|
101
|
+
throw schemaError(`${path}/ref`, `destination type "${type}" requires an opaque session ref, not a URL`);
|
|
91
102
|
}
|
|
92
103
|
let payload;
|
|
93
104
|
if (obj.payload !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"destination.js","sourceRoot":"","sources":["../../src/handoff/destination.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEpG,0CAA0C;AAC1C,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,cAAc;IACd,WAAW;IACX,uBAAuB;IACvB,2BAA2B;IAC3B,oBAAoB;IACpB,mBAAmB;IACnB,qBAAqB;IACrB,sBAAsB;IACtB,gBAAgB;IAChB,kBAAkB;IAClB,eAAe;CACP,CAAC;AAIX,iEAAiE;AACjE,MAAM,qBAAqB,GAAiC,IAAI,GAAG,CAAkB;IACnF,uBAAuB;IACvB,oBAAoB;CACrB,CAAC,CAAC;AAEH,uCAAuC;AACvC,MAAM,yBAAyB,GAAiC,IAAI,GAAG,CAAkB;IACvF,cAAc;IACd,WAAW;IACX,2BAA2B;CAC5B,CAAC,CAAC;AAEH,oDAAoD;AACpD,MAAM,0BAA0B,GAAiC,IAAI,GAAG,CAAkB;IACxF,mBAAmB;IACnB,qBAAqB;IACrB,sBAAsB;IACtB,gBAAgB;IAChB,kBAAkB;IAClB,eAAe;CAChB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"destination.js","sourceRoot":"","sources":["../../src/handoff/destination.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
export declare function runHttpServe(args: string[]): Promise<number>;
|
package/dist/http/cli.js
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
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-api serve` —— Buyer Core 的 HTTP 包装(战略 v2.5 §6.3/Appendix A)。
|
|
18
|
+
*
|
|
19
|
+
* 与 MCP 同一 buyer-core(buildBuyerService),不同传输。参数与 `kiwi mcp serve`
|
|
20
|
+
* 一致,另加 --port / --host。
|
|
21
|
+
*/
|
|
22
|
+
import { readFileSync } from "node:fs";
|
|
23
|
+
import path from "node:path";
|
|
24
|
+
import { DEFAULT_CATALOG_URL, DEFAULT_DELEGATION_POLICY } from "../mcp/cli.js";
|
|
25
|
+
import { buildBuyerService } from "../buyer-core/build-service.js";
|
|
26
|
+
import { MerchantOpsService } from "../merchant/ops.js";
|
|
27
|
+
import { createBuyerHttpServer } from "./server.js";
|
|
28
|
+
export async function runHttpServe(args) {
|
|
29
|
+
const opts = {};
|
|
30
|
+
let ucpConfigPath;
|
|
31
|
+
let merchantTokensPath;
|
|
32
|
+
for (let i = 0; i < args.length; i += 1) {
|
|
33
|
+
const flag = args[i];
|
|
34
|
+
const value = args[i + 1];
|
|
35
|
+
if (value === undefined)
|
|
36
|
+
continue;
|
|
37
|
+
if (flag === "--db")
|
|
38
|
+
opts.db = value;
|
|
39
|
+
else if (flag === "--principal")
|
|
40
|
+
opts.principal = value;
|
|
41
|
+
else if (flag === "--agent")
|
|
42
|
+
opts.buyerAgentId = value;
|
|
43
|
+
else if (flag === "--session")
|
|
44
|
+
opts.sessionId = value;
|
|
45
|
+
else if (flag === "--catalog-url")
|
|
46
|
+
opts.catalogUrl = value;
|
|
47
|
+
else if (flag === "--marketplace-url")
|
|
48
|
+
opts.marketplaceUrl = value;
|
|
49
|
+
else if (flag === "--buyer-bootstrap-token")
|
|
50
|
+
opts.buyerBootstrapToken = value;
|
|
51
|
+
else if (flag === "--a2a-bearer-token")
|
|
52
|
+
opts.a2aBearerToken = value;
|
|
53
|
+
else if (flag === "--a2a-allow-private-ranges")
|
|
54
|
+
opts.a2aAllowPrivateRanges = value === "true";
|
|
55
|
+
else if (flag === "--a2a-skip-dns-check")
|
|
56
|
+
opts.a2aSkipDnsCheck = value === "true";
|
|
57
|
+
else if (flag === "--a2a-timeout-ms")
|
|
58
|
+
opts.a2aTimeoutMs = Number(value);
|
|
59
|
+
else if (flag === "--port")
|
|
60
|
+
opts.port = Number(value);
|
|
61
|
+
else if (flag === "--host")
|
|
62
|
+
opts.host = value;
|
|
63
|
+
else if (flag === "--ucp-config")
|
|
64
|
+
ucpConfigPath = value;
|
|
65
|
+
else if (flag === "--merchant-tokens")
|
|
66
|
+
merchantTokensPath = value;
|
|
67
|
+
else if (flag === "--policy") {
|
|
68
|
+
try {
|
|
69
|
+
opts.policy = JSON.parse(readFileSync(value, "utf-8"));
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
process.stderr.write(`cannot read --policy file ${value}\n`);
|
|
73
|
+
return 2;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
const principal = opts.principal ?? process.env.KIWI_PRINCIPAL ?? "principal:local";
|
|
78
|
+
const policy = opts.policy ?? { ...DEFAULT_DELEGATION_POLICY, principal };
|
|
79
|
+
const dbPath = opts.db ?? path.join(".kiwi", "mcp", "state.sqlite");
|
|
80
|
+
const service = buildBuyerService({
|
|
81
|
+
dbPath,
|
|
82
|
+
principal,
|
|
83
|
+
buyerAgentId: opts.buyerAgentId ?? process.env.KIWI_BUYER_AGENT ?? "buyer-agent:kiwi-http",
|
|
84
|
+
sessionId: opts.sessionId ?? process.env.KIWI_SESSION ?? `session-${process.pid}`,
|
|
85
|
+
policy,
|
|
86
|
+
catalogUrl: opts.catalogUrl ?? DEFAULT_CATALOG_URL,
|
|
87
|
+
marketplaceUrl: opts.marketplaceUrl,
|
|
88
|
+
buyerBootstrapToken: opts.buyerBootstrapToken ?? process.env.SHOPPING_BUYER_BOOTSTRAP_TOKEN,
|
|
89
|
+
a2aBearerToken: opts.a2aBearerToken,
|
|
90
|
+
a2aAllowPrivateRanges: opts.a2aAllowPrivateRanges,
|
|
91
|
+
a2aSkipDnsCheck: opts.a2aSkipDnsCheck,
|
|
92
|
+
a2aTimeoutMs: opts.a2aTimeoutMs,
|
|
93
|
+
});
|
|
94
|
+
const port = opts.port ?? 8787;
|
|
95
|
+
const host = opts.host ?? "127.0.0.1";
|
|
96
|
+
const merchantUcp = ucpConfigPath !== undefined
|
|
97
|
+
? JSON.parse(readFileSync(ucpConfigPath, "utf-8"))
|
|
98
|
+
: undefined;
|
|
99
|
+
// Merchant Ops(§7.6):从 merchant-tokens.env(merchantId=token 每行)构建,
|
|
100
|
+
// 命名空间隔离——merchant token 只访问 kiwi.merchant.*。
|
|
101
|
+
const merchantOps = {};
|
|
102
|
+
if (merchantTokensPath !== undefined && opts.marketplaceUrl !== undefined) {
|
|
103
|
+
for (const line of readFileSync(merchantTokensPath, "utf-8").split("\n")) {
|
|
104
|
+
const idx = line.indexOf("=");
|
|
105
|
+
if (idx <= 0)
|
|
106
|
+
continue;
|
|
107
|
+
const merchantId = line.slice(0, idx).trim();
|
|
108
|
+
const token = line.slice(idx + 1).trim();
|
|
109
|
+
if (merchantId === "" || token === "")
|
|
110
|
+
continue;
|
|
111
|
+
merchantOps[merchantId] = new MerchantOpsService({ baseUrl: opts.marketplaceUrl, merchantToken: token });
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
const server = createBuyerHttpServer({
|
|
115
|
+
service,
|
|
116
|
+
...(merchantUcp !== undefined ? { merchantUcp } : {}),
|
|
117
|
+
...(Object.keys(merchantOps).length > 0 ? { merchantOps } : {}),
|
|
118
|
+
});
|
|
119
|
+
await new Promise((resolve) => server.listen(port, host, resolve));
|
|
120
|
+
process.stderr.write(`kiwi-buyer-http listening on http://${host}:${port}\n`);
|
|
121
|
+
return 0;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/http/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
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-http —— Buyer Core 的 HTTP 包装(战略 v2.5 §6.3/§6.5/Appendix A)。
|
|
18
|
+
*
|
|
19
|
+
* 与 MCP 同一 buyer-core(KiwiBuyerService),不同包装:证明"单核心、多包装"——
|
|
20
|
+
* 未来新宿主出现时接入从"重写产品"降为"写一个薄适配器"(§6.3)。
|
|
21
|
+
*
|
|
22
|
+
* 暴露与 7 个 MCP 工具一一对应的 HTTP 端点(同一语义不变量:schema/授权门/
|
|
23
|
+
* 幂等/错误分类)。本 server 不持有任何商业状态——状态唯一权威在持久 store。
|
|
24
|
+
*/
|
|
25
|
+
import { type Server } from "node:http";
|
|
26
|
+
import { KiwiBuyerService } from "../buyer-core/service.js";
|
|
27
|
+
import type { MerchantOpsService } from "../merchant/ops.js";
|
|
28
|
+
export interface HttpAdapterOptions {
|
|
29
|
+
service: KiwiBuyerService;
|
|
30
|
+
/** 商家 UCP Profile 发布配置:merchantId → { domain, catalogEndpoint }(§7.1)。 */
|
|
31
|
+
merchantUcp?: Record<string, {
|
|
32
|
+
domain: string;
|
|
33
|
+
catalogEndpoint: string;
|
|
34
|
+
}>;
|
|
35
|
+
/** Merchant Ops(§7.6):merchantId → MerchantOpsService(merchant token 作用域)。 */
|
|
36
|
+
merchantOps?: Record<string, MerchantOpsService>;
|
|
37
|
+
}
|
|
38
|
+
export declare function createBuyerHttpServer(options: HttpAdapterOptions): Server;
|
|
39
|
+
export type { Server };
|