@harrylabsj/kiwi 0.8.0 → 0.9.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/README.md +1 -1
- package/dist/a2a/negotiate.d.ts +6 -2
- package/dist/a2a/negotiate.js +10 -3
- package/dist/a2a/negotiate.js.map +1 -1
- package/dist/a2a/node.d.ts +4 -1
- package/dist/a2a/node.js +56 -3
- package/dist/a2a/node.js.map +1 -1
- package/dist/a2a/server/merchant-handler.d.ts +11 -3
- package/dist/a2a/server/merchant-handler.js +84 -26
- package/dist/a2a/server/merchant-handler.js.map +1 -1
- package/dist/agent/buyer/buyer-tools.js +2 -2
- package/dist/agent/buyer/buyer-tools.js.map +1 -1
- package/dist/agent/kernel.js +5 -1
- package/dist/agent/kernel.js.map +1 -1
- package/dist/agent/memory/schema.d.ts +1 -1
- package/dist/agent/memory/schema.js +9 -1
- package/dist/agent/memory/schema.js.map +1 -1
- package/dist/agent/merchant/action-candidate.d.ts +18 -0
- package/dist/agent/merchant/action-candidate.js +51 -0
- package/dist/agent/merchant/action-candidate.js.map +1 -1
- package/dist/agent/merchant/fake-merchant-client.js +6 -1
- package/dist/agent/merchant/fake-merchant-client.js.map +1 -1
- package/dist/agent/merchant/intelligence/default-backend.js +25 -2
- package/dist/agent/merchant/intelligence/default-backend.js.map +1 -1
- package/dist/agent/merchant/merchant-client.d.ts +50 -1
- package/dist/agent/merchant/merchant-client.js +157 -8
- package/dist/agent/merchant/merchant-client.js.map +1 -1
- package/dist/agent/merchant/merchant-presentations.js +25 -2
- package/dist/agent/merchant/merchant-presentations.js.map +1 -1
- package/dist/agent/merchant/merchant-tools.js +102 -188
- package/dist/agent/merchant/merchant-tools.js.map +1 -1
- package/dist/agent/merchant/types.d.ts +6 -2
- package/dist/agent/merchant/types.js +45 -0
- package/dist/agent/merchant/types.js.map +1 -1
- package/dist/auth/merchant-authorization.d.ts +49 -0
- package/dist/auth/merchant-authorization.js +61 -0
- package/dist/auth/merchant-authorization.js.map +1 -0
- package/dist/auth/merchant-oauth.d.ts +255 -0
- package/dist/auth/merchant-oauth.js +764 -0
- package/dist/auth/merchant-oauth.js.map +1 -0
- package/dist/auth/merchant-pairing.d.ts +62 -0
- package/dist/auth/merchant-pairing.js +199 -0
- package/dist/auth/merchant-pairing.js.map +1 -0
- package/dist/auth/merchant-sessions.d.ts +71 -0
- package/dist/auth/merchant-sessions.js +168 -0
- package/dist/auth/merchant-sessions.js.map +1 -0
- package/dist/buyer-core/build-service.d.ts +5 -0
- package/dist/buyer-core/build-service.js +12 -0
- package/dist/buyer-core/build-service.js.map +1 -1
- package/dist/buyer-core/errors.d.ts +1 -1
- package/dist/buyer-core/errors.js +2 -0
- package/dist/buyer-core/errors.js.map +1 -1
- package/dist/buyer-core/merchant-index.d.ts +19 -4
- package/dist/buyer-core/merchant-index.js +137 -16
- package/dist/buyer-core/merchant-index.js.map +1 -1
- package/dist/buyer-core/negotiator.d.ts +0 -10
- package/dist/buyer-core/negotiator.js +12 -1
- package/dist/buyer-core/negotiator.js.map +1 -1
- package/dist/buyer-core/quote-fetcher.js +2 -1
- package/dist/buyer-core/quote-fetcher.js.map +1 -1
- package/dist/buyer-core/service.d.ts +104 -0
- package/dist/buyer-core/service.js +105 -1
- package/dist/buyer-core/service.js.map +1 -1
- package/dist/cli.d.ts +4 -2
- package/dist/cli.js +612 -20
- package/dist/cli.js.map +1 -1
- package/dist/config/profile.d.ts +30 -0
- package/dist/config/profile.js +126 -61
- package/dist/config/profile.js.map +1 -1
- package/dist/demo/demo-runner.js +12 -9
- package/dist/demo/demo-runner.js.map +1 -1
- package/dist/discovery/catalog-source/buyer-follows.d.ts +82 -0
- package/dist/discovery/catalog-source/buyer-follows.js +228 -0
- package/dist/discovery/catalog-source/buyer-follows.js.map +1 -0
- package/dist/discovery/catalog-source/connector-identity.d.ts +75 -0
- package/dist/discovery/catalog-source/connector-identity.js +175 -0
- package/dist/discovery/catalog-source/connector-identity.js.map +1 -0
- package/dist/discovery/catalog-source/errors.d.ts +1 -1
- package/dist/discovery/catalog-source/errors.js +2 -0
- package/dist/discovery/catalog-source/errors.js.map +1 -1
- package/dist/discovery/catalog-source/merchant-publications.d.ts +65 -0
- package/dist/discovery/catalog-source/merchant-publications.js +207 -0
- package/dist/discovery/catalog-source/merchant-publications.js.map +1 -0
- package/dist/discovery/catalog-source/register.d.ts +24 -0
- package/dist/discovery/catalog-source/register.js +46 -0
- package/dist/discovery/catalog-source/register.js.map +1 -1
- package/dist/discovery/catalog-source/source.js +2 -1
- package/dist/discovery/catalog-source/source.js.map +1 -1
- package/dist/fs/atomic-write.d.ts +18 -0
- package/dist/fs/atomic-write.js +29 -0
- package/dist/fs/atomic-write.js.map +1 -0
- package/dist/http/server.js +4 -1
- package/dist/http/server.js.map +1 -1
- package/dist/mcp/cli.d.ts +2 -0
- package/dist/mcp/cli.js +7 -6
- package/dist/mcp/cli.js.map +1 -1
- package/dist/mcp/merchant-auth.d.ts +78 -0
- package/dist/mcp/merchant-auth.js +146 -0
- package/dist/mcp/merchant-auth.js.map +1 -0
- package/dist/mcp/merchant-dirs.d.ts +26 -0
- package/dist/mcp/merchant-dirs.js +44 -0
- package/dist/mcp/merchant-dirs.js.map +1 -0
- package/dist/mcp/merchant-resources.d.ts +38 -0
- package/dist/mcp/merchant-resources.js +146 -0
- package/dist/mcp/merchant-resources.js.map +1 -0
- package/dist/mcp/merchant-server.d.ts +106 -0
- package/dist/mcp/merchant-server.js +615 -0
- package/dist/mcp/merchant-server.js.map +1 -0
- package/dist/mcp/merchant-tools.d.ts +103 -0
- package/dist/mcp/merchant-tools.js +517 -0
- package/dist/mcp/merchant-tools.js.map +1 -0
- package/dist/mcp/server.js +4 -3
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools.d.ts +5 -3
- package/dist/mcp/tools.js +102 -5
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/types.d.ts +1 -1
- package/dist/mcp/types.js +4 -0
- package/dist/mcp/types.js.map +1 -1
- package/dist/merchant/ops.d.ts +0 -11
- package/dist/merchant/ops.js +13 -1
- package/dist/merchant/ops.js.map +1 -1
- package/dist/merchant/workbench-service.d.ts +189 -0
- package/dist/merchant/workbench-service.js +417 -0
- package/dist/merchant/workbench-service.js.map +1 -0
- package/dist/merchant-admin/pending-page.d.ts +35 -0
- package/dist/merchant-admin/pending-page.js +69 -0
- package/dist/merchant-admin/pending-page.js.map +1 -0
- package/dist/merchant-core/commands.d.ts +99 -0
- package/dist/merchant-core/commands.js +179 -0
- package/dist/merchant-core/commands.js.map +1 -0
- package/dist/merchant-core/executor.d.ts +69 -0
- package/dist/merchant-core/executor.js +218 -0
- package/dist/merchant-core/executor.js.map +1 -0
- package/dist/merchant-core/negotiation-adapters.d.ts +55 -0
- package/dist/merchant-core/negotiation-adapters.js +55 -0
- package/dist/merchant-core/negotiation-adapters.js.map +1 -0
- package/dist/merchant-core/network-checks.d.ts +65 -0
- package/dist/merchant-core/network-checks.js +111 -0
- package/dist/merchant-core/network-checks.js.map +1 -0
- package/dist/merchant-core/operations.d.ts +64 -0
- package/dist/merchant-core/operations.js +136 -0
- package/dist/merchant-core/operations.js.map +1 -0
- package/dist/merchant-core/policy-runtime.d.ts +70 -0
- package/dist/merchant-core/policy-runtime.js +181 -0
- package/dist/merchant-core/policy-runtime.js.map +1 -0
- package/dist/merchant-core/product-import.d.ts +67 -0
- package/dist/merchant-core/product-import.js +160 -0
- package/dist/merchant-core/product-import.js.map +1 -0
- package/dist/merchant-core/service.d.ts +203 -0
- package/dist/merchant-core/service.js +402 -0
- package/dist/merchant-core/service.js.map +1 -0
- package/dist/merchant-gateway/catalog-publications.d.ts +71 -0
- package/dist/merchant-gateway/catalog-publications.js +175 -0
- package/dist/merchant-gateway/catalog-publications.js.map +1 -0
- package/dist/merchant-gateway/catalog-tools.d.ts +46 -0
- package/dist/merchant-gateway/catalog-tools.js +277 -0
- package/dist/merchant-gateway/catalog-tools.js.map +1 -0
- package/dist/merchant-gateway/cli.d.ts +75 -0
- package/dist/merchant-gateway/cli.js +458 -0
- package/dist/merchant-gateway/cli.js.map +1 -0
- package/dist/merchant-gateway/credential-vault.d.ts +44 -0
- package/dist/merchant-gateway/credential-vault.js +111 -0
- package/dist/merchant-gateway/credential-vault.js.map +1 -0
- package/dist/merchant-gateway/entry-server.d.ts +117 -0
- package/dist/merchant-gateway/entry-server.js +710 -0
- package/dist/merchant-gateway/entry-server.js.map +1 -0
- package/dist/merchant-gateway/instance-registration.d.ts +143 -0
- package/dist/merchant-gateway/instance-registration.js +382 -0
- package/dist/merchant-gateway/instance-registration.js.map +1 -0
- package/dist/merchant-gateway/instance-tools.d.ts +58 -0
- package/dist/merchant-gateway/instance-tools.js +184 -0
- package/dist/merchant-gateway/instance-tools.js.map +1 -0
- package/dist/merchant-gateway/mcp-proxy.d.ts +25 -0
- package/dist/merchant-gateway/mcp-proxy.js +192 -0
- package/dist/merchant-gateway/mcp-proxy.js.map +1 -0
- package/dist/merchant-gateway/pinned-fetch.d.ts +52 -0
- package/dist/merchant-gateway/pinned-fetch.js +212 -0
- package/dist/merchant-gateway/pinned-fetch.js.map +1 -0
- package/dist/merchant-gateway/tenant-registry.d.ts +82 -0
- package/dist/merchant-gateway/tenant-registry.js +190 -0
- package/dist/merchant-gateway/tenant-registry.js.map +1 -0
- package/dist/merchant-gateway/tool-bundle.d.ts +26 -0
- package/dist/merchant-gateway/tool-bundle.js +56 -0
- package/dist/merchant-gateway/tool-bundle.js.map +1 -0
- package/dist/merchant-runtime/backup.d.ts +48 -0
- package/dist/merchant-runtime/backup.js +226 -0
- package/dist/merchant-runtime/backup.js.map +1 -0
- package/dist/merchant-runtime/health.d.ts +99 -0
- package/dist/merchant-runtime/health.js +206 -0
- package/dist/merchant-runtime/health.js.map +1 -0
- package/dist/merchant-runtime/jobs.d.ts +64 -0
- package/dist/merchant-runtime/jobs.js +107 -0
- package/dist/merchant-runtime/jobs.js.map +1 -0
- package/dist/merchant-runtime/manager.d.ts +94 -0
- package/dist/merchant-runtime/manager.js +305 -0
- package/dist/merchant-runtime/manager.js.map +1 -0
- package/dist/merchant-runtime/services.d.ts +30 -0
- package/dist/merchant-runtime/services.js +51 -0
- package/dist/merchant-runtime/services.js.map +1 -0
- package/dist/net/url.d.ts +26 -0
- package/dist/net/url.js +32 -0
- package/dist/net/url.js.map +1 -0
- package/dist/product-cli.js +22 -3
- package/dist/product-cli.js.map +1 -1
- package/dist/product-compat.d.ts +9 -1
- package/dist/product-compat.js +12 -1
- package/dist/product-compat.js.map +1 -1
- package/dist/product-init.js +17 -5
- package/dist/product-init.js.map +1 -1
- package/dist/product-publish.js +2 -1
- package/dist/product-publish.js.map +1 -1
- package/package.json +3 -2
- package/skills/kiwi-buyer/SKILL.md +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/discovery/catalog-source/register.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/discovery/catalog-source/register.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
*/
|
|
35
35
|
import { CatalogSourceError } from "./errors.js";
|
|
36
36
|
import { isRedirectResponse, readJsonBody, SafeHttpError } from "../../net/safe-http.js";
|
|
37
|
+
import { trimTrailingSlashes } from "../../net/url.js";
|
|
37
38
|
import { validateCandidate } from "./schema.js";
|
|
38
39
|
const DEFAULT_TIMEOUT_MS = 15_000;
|
|
39
40
|
/** baseUrl 合法性校验:http(s)、无 userinfo、无 query/fragment。 */
|
|
@@ -54,7 +55,7 @@ export function validateBaseUrl(value) {
|
|
|
54
55
|
if (url.search !== "" || url.hash !== "") {
|
|
55
56
|
throw new CatalogSourceError("invalid_input", "catalog baseUrl must not include query or fragment");
|
|
56
57
|
}
|
|
57
|
-
return value
|
|
58
|
+
return trimTrailingSlashes(value);
|
|
58
59
|
}
|
|
59
60
|
const SEARCH_QUERY_KEYS = [
|
|
60
61
|
"q",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/discovery/catalog-source/source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAgBhD,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC,yDAAyD;AACzD,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,kBAAkB,CAAC,eAAe,EAAE,wCAAwC,KAAK,GAAG,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1D,MAAM,IAAI,kBAAkB,CAC1B,eAAe,EACf,+CAA+C,GAAG,CAAC,QAAQ,GAAG,CAC/D,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;QAC/C,MAAM,IAAI,kBAAkB,CAC1B,eAAe,EACf,uDAAuD,CACxD,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QACzC,MAAM,IAAI,kBAAkB,CAC1B,eAAe,EACf,oDAAoD,CACrD,CAAC;IACJ,CAAC;IACD,OAAO,
|
|
1
|
+
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/discovery/catalog-source/source.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
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 writeFileAtomic(file: string, data: string, options?: {
|
|
17
|
+
mode?: number;
|
|
18
|
+
}): void;
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
* 原子文件写入(tmp + rename):读者要么看到旧内容要么看到新内容,绝不读到
|
|
18
|
+
* 半截 JSON(审查 P2:capability-probe.json / health.json 非原子写在并发读下
|
|
19
|
+
* 产生撕裂读 → 假 critical 告警;与 policy-runtime 的原子写同一范式)。
|
|
20
|
+
*/
|
|
21
|
+
import { mkdirSync, renameSync, writeFileSync } from "node:fs";
|
|
22
|
+
import path from "node:path";
|
|
23
|
+
export function writeFileAtomic(file, data, options = {}) {
|
|
24
|
+
mkdirSync(path.dirname(file), { recursive: true, mode: 0o700 });
|
|
25
|
+
const tmp = `${file}.tmp-${process.pid}-${Date.now()}`;
|
|
26
|
+
writeFileSync(tmp, data, { mode: options.mode ?? 0o600 });
|
|
27
|
+
renameSync(tmp, file);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=atomic-write.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atomic-write.js","sourceRoot":"","sources":["../../src/fs/atomic-write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;GAIG;AACH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,IAAY,EACZ,UAA6B,EAAE;IAE/B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,GAAG,IAAI,QAAQ,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACvD,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;IAC1D,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACxB,CAAC"}
|
package/dist/http/server.js
CHANGED
|
@@ -52,12 +52,15 @@ export function createBuyerHttpServer(options) {
|
|
|
52
52
|
res.end(JSON.stringify(body));
|
|
53
53
|
};
|
|
54
54
|
const sendError = (res, error) => {
|
|
55
|
+
// McpError 是自有类型、消息为固定文案(只内插 id),可原样回给调用方。
|
|
55
56
|
if (error instanceof McpError) {
|
|
56
57
|
return send(res, 400, { ok: false, error: { code: error.code, message: error.message } });
|
|
57
58
|
}
|
|
59
|
+
// 未预期异常:消息可能含栈/内部细节,只进 stderr,响应给稳定结论。
|
|
60
|
+
process.stderr.write(`[buyer http] unhandled error: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
58
61
|
return send(res, 500, {
|
|
59
62
|
ok: false,
|
|
60
|
-
error: { code: "internal_error", message:
|
|
63
|
+
error: { code: "internal_error", message: "服务内部错误" },
|
|
61
64
|
});
|
|
62
65
|
};
|
|
63
66
|
const routes = [
|
package/dist/http/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/http/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/http/server.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/cli.d.ts
CHANGED
|
@@ -62,6 +62,8 @@ export interface McpServeOptions {
|
|
|
62
62
|
catalogUrl?: string;
|
|
63
63
|
marketplaceUrl?: string;
|
|
64
64
|
buyerBootstrapToken?: string;
|
|
65
|
+
/** catalog 账号会话 token(M4 买家关注;默认 env KIWI_CATALOG_SESSION)。 */
|
|
66
|
+
catalogSessionToken?: string;
|
|
65
67
|
a2aBearerToken?: string;
|
|
66
68
|
a2aAllowPrivateRanges?: boolean;
|
|
67
69
|
a2aSkipDnsCheck?: boolean;
|
package/dist/mcp/cli.js
CHANGED
|
@@ -25,6 +25,8 @@
|
|
|
25
25
|
* 未提供则用内置安全默认:读 AUTO、accept/handoff ASK、payment NEVER)
|
|
26
26
|
* --catalog-url 真实 merchant 网络:catalog 发现 → A2A 直连 merchant(listings
|
|
27
27
|
* 感知搜索 + A2AQuoteFetcher/A2ANegotiator)
|
|
28
|
+
* --catalog-session catalog 账号会话 token(M4 买家关注;默认 env
|
|
29
|
+
* KIWI_CATALOG_SESSION;未配置时关注工具返回登录引导)
|
|
28
30
|
* --marketplace-url 试点兼容:shopping-cli 直连(MarketplaceQuoteFetcher/Negotiator)
|
|
29
31
|
* --a2a-bearer-token / --a2a-allow-private-ranges / --a2a-skip-dns-check /
|
|
30
32
|
* --a2a-timeout-ms A2A 轨可选配置
|
|
@@ -72,9 +74,7 @@ function readPolicy(options, principal) {
|
|
|
72
74
|
throw new Error("KIWI_DELEGATION_POLICY is not valid JSON");
|
|
73
75
|
}
|
|
74
76
|
}
|
|
75
|
-
const raw = options.policy !== undefined
|
|
76
|
-
? options.policy
|
|
77
|
-
: { ...DEFAULT_DELEGATION_POLICY, principal };
|
|
77
|
+
const raw = options.policy !== undefined ? options.policy : { ...DEFAULT_DELEGATION_POLICY, principal };
|
|
78
78
|
assertNorthboundContractValid("delegation-policy", raw, "delegation policy");
|
|
79
79
|
return raw;
|
|
80
80
|
}
|
|
@@ -99,6 +99,8 @@ export async function runMcpServe(args) {
|
|
|
99
99
|
opts.marketplaceUrl = value;
|
|
100
100
|
else if (flag === "--buyer-bootstrap-token")
|
|
101
101
|
opts.buyerBootstrapToken = value;
|
|
102
|
+
else if (flag === "--catalog-session")
|
|
103
|
+
opts.catalogSessionToken = value;
|
|
102
104
|
else if (flag === "--a2a-bearer-token")
|
|
103
105
|
opts.a2aBearerToken = value;
|
|
104
106
|
else if (flag === "--a2a-allow-private-ranges")
|
|
@@ -123,9 +125,7 @@ export async function runMcpServe(args) {
|
|
|
123
125
|
const policy = readPolicy(opts, principal);
|
|
124
126
|
// 持久 store 默认路径:--db → KIWI_MCP_DB env → ~/.kiwi/mcp/dsh.sqlite(HOME 基准,
|
|
125
127
|
// 稳定可跨宿主;dsh/Hermes 等 host 不传 --db 时也能落一致位置,不再依赖 cwd)。
|
|
126
|
-
const dbPath = opts.db ??
|
|
127
|
-
process.env.KIWI_MCP_DB ??
|
|
128
|
-
path.join(homedir(), ".kiwi", "mcp", "dsh.sqlite");
|
|
128
|
+
const dbPath = opts.db ?? process.env.KIWI_MCP_DB ?? path.join(homedir(), ".kiwi", "mcp", "dsh.sqlite");
|
|
129
129
|
// 单核心多包装:MCP 与 HTTP 共用同一 buildBuyerService(§6.3)。
|
|
130
130
|
const service = buildBuyerService({
|
|
131
131
|
dbPath,
|
|
@@ -136,6 +136,7 @@ export async function runMcpServe(args) {
|
|
|
136
136
|
catalogUrl: opts.catalogUrl ?? DEFAULT_CATALOG_URL,
|
|
137
137
|
marketplaceUrl: opts.marketplaceUrl,
|
|
138
138
|
buyerBootstrapToken: opts.buyerBootstrapToken ?? process.env.SHOPPING_BUYER_BOOTSTRAP_TOKEN,
|
|
139
|
+
catalogSessionToken: opts.catalogSessionToken ?? process.env.KIWI_CATALOG_SESSION,
|
|
139
140
|
a2aBearerToken: opts.a2aBearerToken,
|
|
140
141
|
a2aAllowPrivateRanges: opts.a2aAllowPrivateRanges,
|
|
141
142
|
a2aSkipDnsCheck: opts.a2aSkipDnsCheck,
|
package/dist/mcp/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/mcp/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/mcp/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,qCAAqC,CAAC;AAEzE,0CAA0C;AAC1C,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,iBAAiB;IAC5B,UAAU,EAAE,sBAAsB;IAClC,OAAO,EAAE;QACP,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAC7B,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAChC,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE;QAC5D,iBAAiB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;QAClC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;QACxB,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;KAC3B;IACD,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;CACjB,CAAC;AAmBX,SAAS,UAAU,CAAC,OAAwB,EAAE,SAAiB;IAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IACnD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GACP,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,yBAAyB,EAAE,SAAS,EAAE,CAAC;IAC9F,6BAA6B,CAAC,mBAAmB,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAC7E,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,MAAM,IAAI,GAAoB,EAAE,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,IAAI,KAAK,MAAM;YAAE,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;aAChC,IAAI,IAAI,KAAK,aAAa;YAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aACnD,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAClD,IAAI,IAAI,KAAK,WAAW;YAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aACjD,IAAI,IAAI,KAAK,eAAe;YAAE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aACtD,IAAI,IAAI,KAAK,mBAAmB;YAAE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC9D,IAAI,IAAI,KAAK,yBAAyB;YAAE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;aACzE,IAAI,IAAI,KAAK,mBAAmB;YAAE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;aACnE,IAAI,IAAI,KAAK,oBAAoB;YAAE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC/D,IAAI,IAAI,KAAK,4BAA4B;YAAE,IAAI,CAAC,qBAAqB,GAAG,KAAK,KAAK,MAAM,CAAC;aACzF,IAAI,IAAI,KAAK,sBAAsB;YAAE,IAAI,CAAC,eAAe,GAAG,KAAK,KAAK,MAAM,CAAC;aAC7E,IAAI,IAAI,KAAK,kBAAkB;YAAE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;aACnE,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAA4B,CAAC;YACpF,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,KAAK,IAAI,CAAC,CAAC;gBAC7D,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,iBAAiB,CAAC;IACpF,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,sBAAsB,CAAC;IACjG,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,WAAW,OAAO,CAAC,GAAG,EAAE,CAAC;IACzF,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,yEAAyE;IACzE,uDAAuD;IACvD,MAAM,MAAM,GACV,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC3F,kDAAkD;IAClD,MAAM,OAAO,GAAG,iBAAiB,CAAC;QAChC,MAAM;QACN,SAAS;QACT,YAAY;QACZ,SAAS;QACT,MAAM;QACN,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,mBAAmB;QAClD,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC,8BAA8B;QAC3F,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB;QACjF,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,YAAY,EAAE,IAAI,CAAC,YAAY;KAChC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,KAAK;QACL,UAAU,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAE;KAClE,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,OAAO,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
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
|
+
/** 缺省 token 环境变量名(profile merchant_mcp.token_env 可覆盖)。 */
|
|
17
|
+
export declare const DEFAULT_MERCHANT_MCP_TOKEN_ENV = "KIWI_MERCHANT_MCP_TOKEN";
|
|
18
|
+
export interface MerchantMcpAuthContext {
|
|
19
|
+
/** 原始 Authorization 头(未设置时为 undefined)。 */
|
|
20
|
+
authorizationHeader?: string;
|
|
21
|
+
}
|
|
22
|
+
export type MerchantMcpAuthResult = {
|
|
23
|
+
ok: true;
|
|
24
|
+
/** OAuth 校验通过时携带的授权上下文(principal/merchant/scope;V2 阶段一)。 */
|
|
25
|
+
authorization?: {
|
|
26
|
+
principal_id: string;
|
|
27
|
+
merchant_id: string;
|
|
28
|
+
scopes: string[];
|
|
29
|
+
};
|
|
30
|
+
} | {
|
|
31
|
+
ok: false;
|
|
32
|
+
reason: string;
|
|
33
|
+
};
|
|
34
|
+
/** MCP 入站校验器接口(Bearer 为当前唯一实现;OAuth 校验器后续叠加)。 */
|
|
35
|
+
export interface MerchantMcpAuthVerifier {
|
|
36
|
+
readonly name: string;
|
|
37
|
+
verify(ctx: MerchantMcpAuthContext): MerchantMcpAuthResult;
|
|
38
|
+
}
|
|
39
|
+
/** 静态 Bearer token 校验(`Authorization: Bearer <token>`)。 */
|
|
40
|
+
export declare class StaticBearerTokenVerifier implements MerchantMcpAuthVerifier {
|
|
41
|
+
readonly name = "static-bearer";
|
|
42
|
+
private readonly token;
|
|
43
|
+
constructor(token: string);
|
|
44
|
+
verify(ctx: MerchantMcpAuthContext): MerchantMcpAuthResult;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* 配对凭据校验器(设计 §8.4 第二期,最小授权):接受由**本实例**签发、
|
|
48
|
+
* 网关持有的那份凭据(`paired-credential.json`,只存摘要,逐请求恒定时间比较)。
|
|
49
|
+
* 与静态令牌并存——静态令牌是运维自己的入口,配对凭据是可随时轮换的那份。
|
|
50
|
+
*/
|
|
51
|
+
export declare class PairedCredentialVerifier implements MerchantMcpAuthVerifier {
|
|
52
|
+
private readonly dir;
|
|
53
|
+
readonly name = "paired-credential";
|
|
54
|
+
constructor(dir: string);
|
|
55
|
+
verify(ctx: MerchantMcpAuthContext): MerchantMcpAuthResult;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* 组合校验器:任一子校验器通过即通过(静态令牌 + 配对凭据并存)。
|
|
59
|
+
* 全部失败时返回最后一个原因,不回显任何凭据内容。
|
|
60
|
+
*/
|
|
61
|
+
export declare class CompositeMerchantMcpVerifier implements MerchantMcpAuthVerifier {
|
|
62
|
+
private readonly verifiers;
|
|
63
|
+
readonly name = "composite";
|
|
64
|
+
constructor(verifiers: MerchantMcpAuthVerifier[]);
|
|
65
|
+
verify(ctx: MerchantMcpAuthContext): MerchantMcpAuthResult;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* 从环境变量解析 Bearer 校验器。tokenEnv 缺省 DEFAULT_MERCHANT_MCP_TOKEN_ENV;
|
|
69
|
+
* 环境变量未设置或为空 → undefined(由 fail-closed 判定决定是否允许启动)。
|
|
70
|
+
*/
|
|
71
|
+
export declare function resolveMerchantMcpVerifier(tokenEnv?: string, env?: Record<string, string | undefined>): StaticBearerTokenVerifier | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* 启动前 fail-closed 判定。
|
|
74
|
+
* - 非 loopback host + 无校验器 → 抛错(拒绝启动);
|
|
75
|
+
* - loopback host + 无校验器 → 返回警告文案(允许启动,调用方打 stderr);
|
|
76
|
+
* - 有校验器 → undefined(无警告)。
|
|
77
|
+
*/
|
|
78
|
+
export declare function assertMerchantMcpAuthPolicy(host: string, verifier: MerchantMcpAuthVerifier | undefined): string | undefined;
|
|
@@ -0,0 +1,146 @@
|
|
|
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
|
+
* Merchant MCP Server 入站认证(WorkBuddy Buddy 应用开发计划 阶段二)。
|
|
18
|
+
*
|
|
19
|
+
* 兼容「用户自填 Token」模式:静态 Bearer token,恒定时间比较。
|
|
20
|
+
* 正式 WorkBuddy 连接器使用 OAuth;此校验器保留给显式 token 过渡包。
|
|
21
|
+
* 校验器接口(MerchantMcpAuthVerifier)让两种方案共用 server 传输层。
|
|
22
|
+
*
|
|
23
|
+
* Token 来源与 A2A 一致的安全惯例:profile 只存环境变量名
|
|
24
|
+
* (merchant_mcp.token_env,缺省 KIWI_MERCHANT_MCP_TOKEN),secret 值绝不写
|
|
25
|
+
* profile / 日志 / 返回值。
|
|
26
|
+
*
|
|
27
|
+
* fail-closed(对齐 A2A 公网广告形态的守卫语义):
|
|
28
|
+
* - 监听非 loopback 地址且未配置校验器 → 拒绝启动;
|
|
29
|
+
* - loopback 监听且未配置校验器 → 允许启动,但返回警告文案(调用方打 stderr)。
|
|
30
|
+
*/
|
|
31
|
+
import { timingSafeEqual } from "node:crypto";
|
|
32
|
+
import { matchesPairedCredential } from "../auth/merchant-pairing.js";
|
|
33
|
+
import { isLoopbackHost } from "../a2a/client/url-policy.js";
|
|
34
|
+
/** 缺省 token 环境变量名(profile merchant_mcp.token_env 可覆盖)。 */
|
|
35
|
+
export const DEFAULT_MERCHANT_MCP_TOKEN_ENV = "KIWI_MERCHANT_MCP_TOKEN";
|
|
36
|
+
/** 常量时间 token 比较:长度恒等预检 + timingSafeEqual(与
|
|
37
|
+
* a2a/server/auth.ts tokenEquals、agent/memory/vault.ts fingerprintEquals
|
|
38
|
+
* 同一模式——逐字节短路会构成时序侧信道)。 */
|
|
39
|
+
function bearerTokenEquals(presented, expected) {
|
|
40
|
+
const a = Buffer.from(presented, "utf8");
|
|
41
|
+
const b = Buffer.from(expected, "utf8");
|
|
42
|
+
return a.length === b.length && timingSafeEqual(a, b);
|
|
43
|
+
}
|
|
44
|
+
/** 静态 Bearer token 校验(`Authorization: Bearer <token>`)。 */
|
|
45
|
+
export class StaticBearerTokenVerifier {
|
|
46
|
+
name = "static-bearer";
|
|
47
|
+
token;
|
|
48
|
+
constructor(token) {
|
|
49
|
+
if (token.length === 0) {
|
|
50
|
+
throw new Error("StaticBearerTokenVerifier requires a non-empty token");
|
|
51
|
+
}
|
|
52
|
+
this.token = token;
|
|
53
|
+
}
|
|
54
|
+
verify(ctx) {
|
|
55
|
+
const header = ctx.authorizationHeader;
|
|
56
|
+
if (header === undefined || header === "") {
|
|
57
|
+
return { ok: false, reason: "missing Authorization header" };
|
|
58
|
+
}
|
|
59
|
+
const match = /^Bearer\s+(.+)$/i.exec(header.trim());
|
|
60
|
+
if (match === null) {
|
|
61
|
+
return { ok: false, reason: "Authorization header is not a bearer token" };
|
|
62
|
+
}
|
|
63
|
+
if (!bearerTokenEquals(match[1] ?? "", this.token)) {
|
|
64
|
+
return { ok: false, reason: "invalid bearer token" };
|
|
65
|
+
}
|
|
66
|
+
return { ok: true };
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* 配对凭据校验器(设计 §8.4 第二期,最小授权):接受由**本实例**签发、
|
|
71
|
+
* 网关持有的那份凭据(`paired-credential.json`,只存摘要,逐请求恒定时间比较)。
|
|
72
|
+
* 与静态令牌并存——静态令牌是运维自己的入口,配对凭据是可随时轮换的那份。
|
|
73
|
+
*/
|
|
74
|
+
export class PairedCredentialVerifier {
|
|
75
|
+
dir;
|
|
76
|
+
name = "paired-credential";
|
|
77
|
+
constructor(dir) {
|
|
78
|
+
this.dir = dir;
|
|
79
|
+
}
|
|
80
|
+
verify(ctx) {
|
|
81
|
+
const header = ctx.authorizationHeader;
|
|
82
|
+
if (header === undefined || header === "") {
|
|
83
|
+
return { ok: false, reason: "missing Authorization header" };
|
|
84
|
+
}
|
|
85
|
+
const match = /^Bearer\s+(.+)$/i.exec(header.trim());
|
|
86
|
+
if (match === null) {
|
|
87
|
+
return { ok: false, reason: "Authorization header is not a bearer token" };
|
|
88
|
+
}
|
|
89
|
+
if (!matchesPairedCredential(this.dir, match[1] ?? "")) {
|
|
90
|
+
return { ok: false, reason: "invalid paired credential" };
|
|
91
|
+
}
|
|
92
|
+
// 与静态令牌同语义:不带 scope(undefined = 全量),工具级门禁由网关侧
|
|
93
|
+
// 按**用户 OAuth 令牌**的 scope 逐次执行(mcp-proxy),实例不重复判定。
|
|
94
|
+
return { ok: true };
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* 组合校验器:任一子校验器通过即通过(静态令牌 + 配对凭据并存)。
|
|
99
|
+
* 全部失败时返回最后一个原因,不回显任何凭据内容。
|
|
100
|
+
*/
|
|
101
|
+
export class CompositeMerchantMcpVerifier {
|
|
102
|
+
verifiers;
|
|
103
|
+
name = "composite";
|
|
104
|
+
constructor(verifiers) {
|
|
105
|
+
this.verifiers = verifiers;
|
|
106
|
+
}
|
|
107
|
+
verify(ctx) {
|
|
108
|
+
let last = { ok: false, reason: "no verifier configured" };
|
|
109
|
+
for (const verifier of this.verifiers) {
|
|
110
|
+
const result = verifier.verify(ctx);
|
|
111
|
+
if (result.ok)
|
|
112
|
+
return result;
|
|
113
|
+
last = result;
|
|
114
|
+
}
|
|
115
|
+
return last;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* 从环境变量解析 Bearer 校验器。tokenEnv 缺省 DEFAULT_MERCHANT_MCP_TOKEN_ENV;
|
|
120
|
+
* 环境变量未设置或为空 → undefined(由 fail-closed 判定决定是否允许启动)。
|
|
121
|
+
*/
|
|
122
|
+
export function resolveMerchantMcpVerifier(tokenEnv, env = process.env) {
|
|
123
|
+
const envName = tokenEnv ?? DEFAULT_MERCHANT_MCP_TOKEN_ENV;
|
|
124
|
+
const token = (env[envName] ?? "").trim();
|
|
125
|
+
if (token === "")
|
|
126
|
+
return undefined;
|
|
127
|
+
return new StaticBearerTokenVerifier(token);
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* 启动前 fail-closed 判定。
|
|
131
|
+
* - 非 loopback host + 无校验器 → 抛错(拒绝启动);
|
|
132
|
+
* - loopback host + 无校验器 → 返回警告文案(允许启动,调用方打 stderr);
|
|
133
|
+
* - 有校验器 → undefined(无警告)。
|
|
134
|
+
*/
|
|
135
|
+
export function assertMerchantMcpAuthPolicy(host, verifier) {
|
|
136
|
+
if (verifier !== undefined)
|
|
137
|
+
return undefined;
|
|
138
|
+
if (!isLoopbackHost(host)) {
|
|
139
|
+
throw new Error(`merchant MCP server 监听非 loopback 地址(${host})但未配置认证 token,` +
|
|
140
|
+
`fail-closed 拒绝启动:请设置 ${DEFAULT_MERCHANT_MCP_TOKEN_ENV} 环境变量` +
|
|
141
|
+
"(或 profile merchant_mcp.token_env 指向的环境变量),或改用 127.0.0.1 监听。");
|
|
142
|
+
}
|
|
143
|
+
return (`⚠️ [kiwi] merchant MCP server 未配置认证 token(${DEFAULT_MERCHANT_MCP_TOKEN_ENV}),` +
|
|
144
|
+
`仅接受 ${host} 上的本地连接;公网暴露前务必配置 Bearer token。`);
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=merchant-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merchant-auth.js","sourceRoot":"","sources":["../../src/mcp/merchant-auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
export declare const STATELESS_TRANSPORT_SESSION_ID = "stateless";
|
|
18
|
+
export interface MerchantMcpRuntimeDirs {
|
|
19
|
+
merchantDataDir: string;
|
|
20
|
+
principalDataDir: string;
|
|
21
|
+
transportSessionId: string;
|
|
22
|
+
}
|
|
23
|
+
export declare function resolveMerchantMcpDirs(options: {
|
|
24
|
+
dataDir?: string;
|
|
25
|
+
agentId: string;
|
|
26
|
+
}): MerchantMcpRuntimeDirs;
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
* Merchant MCP 运行时的数据目录接线(V2 §5.1)。
|
|
18
|
+
*
|
|
19
|
+
* 显式三个槽位分别注入,互不派生:
|
|
20
|
+
* - merchantDataDir 商家维度数据(a2a ledger、stats、oauth.sqlite)——
|
|
21
|
+
* 同一商家的多个传输会话共享同一目录;
|
|
22
|
+
* - principalDataDir principal 维度数据(审批候选 state.sqlite 等)——
|
|
23
|
+
* 当前与 merchantDataDir 同址(单商家实例唯一 principal),
|
|
24
|
+
* 槽位分离是为多 principal 演进留的机械拆分点;
|
|
25
|
+
* - transportSessionId 传输会话标识(无状态 streamableHttp 固定 "stateless")——
|
|
26
|
+
* 只是观测标签,绝不参与数据目录派生(修掉「HTTP adapter
|
|
27
|
+
* 按 sessionId 建 dataDir」的接线形态:会话不得影响持久路径)。
|
|
28
|
+
*
|
|
29
|
+
* 不变量:路径是 (dataDir?, agentId) 的纯函数——重启后路径稳定;
|
|
30
|
+
* 任何传输会话的加入/退出都不改变目录。
|
|
31
|
+
*/
|
|
32
|
+
import { agentDataDir } from "../agent/agent-db.js";
|
|
33
|
+
/** 无状态传输的固定会话标识(仅观测用;绝不参与路径派生)。 */
|
|
34
|
+
export const STATELESS_TRANSPORT_SESSION_ID = "stateless";
|
|
35
|
+
export function resolveMerchantMcpDirs(options) {
|
|
36
|
+
// agentDataDir 经 agentDirName 消毒(防路径逃逸),与 chat kernel 同一缺省。
|
|
37
|
+
const merchantDataDir = options.dataDir ?? agentDataDir(options.agentId);
|
|
38
|
+
return {
|
|
39
|
+
merchantDataDir,
|
|
40
|
+
principalDataDir: merchantDataDir,
|
|
41
|
+
transportSessionId: STATELESS_TRANSPORT_SESSION_ID,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=merchant-dirs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merchant-dirs.js","sourceRoot":"","sources":["../../src/mcp/merchant-dirs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,mCAAmC;AACnC,MAAM,CAAC,MAAM,8BAA8B,GAAG,WAAW,CAAC;AAQ1D,MAAM,UAAU,sBAAsB,CAAC,OAGtC;IACC,4DAA4D;IAC5D,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE,OAAO;QACL,eAAe;QACf,gBAAgB,EAAE,eAAe;QACjC,kBAAkB,EAAE,8BAA8B;KACnD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
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 type { PresentationContext } from "../agent/presentation/types.js";
|
|
17
|
+
export declare const MERCHANT_RESOURCE_PREFIX = "kiwi-merchant://presentation/";
|
|
18
|
+
export interface MerchantResourceDef {
|
|
19
|
+
uri: string;
|
|
20
|
+
name: string;
|
|
21
|
+
description: string;
|
|
22
|
+
mimeType: "application/json";
|
|
23
|
+
}
|
|
24
|
+
export interface MerchantResourceContent {
|
|
25
|
+
uri: string;
|
|
26
|
+
mimeType: string;
|
|
27
|
+
text: string;
|
|
28
|
+
}
|
|
29
|
+
/** 等效文本摘要(降级路径;不丢关键字段:数量/金额/状态/时间)。 */
|
|
30
|
+
export declare function textSummary(component: string, payload: unknown): string;
|
|
31
|
+
export declare function buildMerchantPresentationResources(deps: {
|
|
32
|
+
context: PresentationContext;
|
|
33
|
+
}): {
|
|
34
|
+
list: () => MerchantResourceDef[];
|
|
35
|
+
read: (uri: string) => Promise<{
|
|
36
|
+
contents: MerchantResourceContent[];
|
|
37
|
+
}>;
|
|
38
|
+
};
|