@once-agent/sdk 0.1.10 → 0.1.12
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 +76 -1
- package/dist/cli.js +50 -1
- package/dist/cli.js.map +1 -1
- package/dist/connect/identity.d.ts +22 -0
- package/dist/connect/identity.d.ts.map +1 -0
- package/dist/connect/identity.js +159 -0
- package/dist/connect/identity.js.map +1 -0
- package/dist/connect/index.d.ts +17 -0
- package/dist/connect/index.d.ts.map +1 -0
- package/dist/connect/index.js +9 -0
- package/dist/connect/index.js.map +1 -0
- package/dist/connect/local-agent-tool.d.ts +62 -0
- package/dist/connect/local-agent-tool.d.ts.map +1 -0
- package/dist/connect/local-agent-tool.js +131 -0
- package/dist/connect/local-agent-tool.js.map +1 -0
- package/dist/connect/manifest.d.ts +55 -0
- package/dist/connect/manifest.d.ts.map +1 -0
- package/dist/connect/manifest.js +166 -0
- package/dist/connect/manifest.js.map +1 -0
- package/dist/connect/openai-function-tools.d.ts +66 -0
- package/dist/connect/openai-function-tools.d.ts.map +1 -0
- package/dist/connect/openai-function-tools.js +182 -0
- package/dist/connect/openai-function-tools.js.map +1 -0
- package/dist/connect/payload.d.ts +30 -0
- package/dist/connect/payload.d.ts.map +1 -0
- package/dist/connect/payload.js +122 -0
- package/dist/connect/payload.js.map +1 -0
- package/dist/connect/tool-classifier.d.ts +40 -0
- package/dist/connect/tool-classifier.d.ts.map +1 -0
- package/dist/connect/tool-classifier.js +271 -0
- package/dist/connect/tool-classifier.js.map +1 -0
- package/dist/connect/toolset.d.ts +42 -0
- package/dist/connect/toolset.d.ts.map +1 -0
- package/dist/connect/toolset.js +123 -0
- package/dist/connect/toolset.js.map +1 -0
- package/dist/discovery/index.d.ts +13 -0
- package/dist/discovery/index.d.ts.map +1 -0
- package/dist/discovery/index.js +8 -0
- package/dist/discovery/index.js.map +1 -0
- package/dist/execution-observation.d.ts +122 -0
- package/dist/execution-observation.d.ts.map +1 -0
- package/dist/execution-observation.js +324 -0
- package/dist/execution-observation.js.map +1 -0
- package/dist/gateway/index.d.ts +9 -0
- package/dist/gateway/index.d.ts.map +1 -0
- package/dist/gateway/index.js +5 -0
- package/dist/gateway/index.js.map +1 -0
- package/dist/gateway/local-toolset.d.ts +32 -0
- package/dist/gateway/local-toolset.d.ts.map +1 -0
- package/dist/gateway/local-toolset.js +79 -0
- package/dist/gateway/local-toolset.js.map +1 -0
- package/dist/gateway/openai-function-tools.d.ts +28 -0
- package/dist/gateway/openai-function-tools.d.ts.map +1 -0
- package/dist/gateway/openai-function-tools.js +117 -0
- package/dist/gateway/openai-function-tools.js.map +1 -0
- package/dist/gateway/planner.d.ts +53 -0
- package/dist/gateway/planner.d.ts.map +1 -0
- package/dist/gateway/planner.js +155 -0
- package/dist/gateway/planner.js.map +1 -0
- package/dist/gateway/tool-graph-binding.d.ts +51 -0
- package/dist/gateway/tool-graph-binding.d.ts.map +1 -0
- package/dist/gateway/tool-graph-binding.js +123 -0
- package/dist/gateway/tool-graph-binding.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/langchain-execution-observer.d.ts +22 -0
- package/dist/langchain-execution-observer.d.ts.map +1 -0
- package/dist/langchain-execution-observer.js +128 -0
- package/dist/langchain-execution-observer.js.map +1 -0
- package/dist/langchain-runtime-discovery.d.ts +33 -0
- package/dist/langchain-runtime-discovery.d.ts.map +1 -0
- package/dist/langchain-runtime-discovery.js +214 -0
- package/dist/langchain-runtime-discovery.js.map +1 -0
- package/dist/mcp-live-discovery.d.ts +71 -0
- package/dist/mcp-live-discovery.d.ts.map +1 -0
- package/dist/mcp-live-discovery.js +710 -0
- package/dist/mcp-live-discovery.js.map +1 -0
- package/dist/mcp-live-report.d.ts +3 -0
- package/dist/mcp-live-report.d.ts.map +1 -0
- package/dist/mcp-live-report.js +50 -0
- package/dist/mcp-live-report.js.map +1 -0
- package/dist/mcp-tool-refresh-report.d.ts +3 -0
- package/dist/mcp-tool-refresh-report.d.ts.map +1 -0
- package/dist/mcp-tool-refresh-report.js +44 -0
- package/dist/mcp-tool-refresh-report.js.map +1 -0
- package/dist/mcp-tool-refresh.d.ts +33 -0
- package/dist/mcp-tool-refresh.d.ts.map +1 -0
- package/dist/mcp-tool-refresh.js +489 -0
- package/dist/mcp-tool-refresh.js.map +1 -0
- package/dist/openai-agents-execution-observer.d.ts +24 -0
- package/dist/openai-agents-execution-observer.d.ts.map +1 -0
- package/dist/openai-agents-execution-observer.js +163 -0
- package/dist/openai-agents-execution-observer.js.map +1 -0
- package/dist/otel-execution-observer.d.ts +16 -0
- package/dist/otel-execution-observer.d.ts.map +1 -0
- package/dist/otel-execution-observer.js +129 -0
- package/dist/otel-execution-observer.js.map +1 -0
- package/dist/runtime-tool-discovery.d.ts +86 -0
- package/dist/runtime-tool-discovery.d.ts.map +1 -0
- package/dist/runtime-tool-discovery.js +429 -0
- package/dist/runtime-tool-discovery.js.map +1 -0
- package/dist/tool-discovery.d.ts +51 -0
- package/dist/tool-discovery.d.ts.map +1 -0
- package/dist/tool-discovery.js +487 -0
- package/dist/tool-discovery.js.map +1 -0
- package/dist/tool-importance.d.ts +34 -0
- package/dist/tool-importance.d.ts.map +1 -0
- package/dist/tool-importance.js +269 -0
- package/dist/tool-importance.js.map +1 -0
- package/dist/tool-report.d.ts +3 -0
- package/dist/tool-report.d.ts.map +1 -0
- package/dist/tool-report.js +75 -0
- package/dist/tool-report.js.map +1 -0
- package/dist/vercel-execution-observer.d.ts +12 -0
- package/dist/vercel-execution-observer.d.ts.map +1 -0
- package/dist/vercel-execution-observer.js +97 -0
- package/dist/vercel-execution-observer.js.map +1 -0
- package/dist-cjs/connect/identity.js +162 -0
- package/dist-cjs/connect/identity.js.map +1 -0
- package/dist-cjs/connect/index.js +26 -0
- package/dist-cjs/connect/index.js.map +1 -0
- package/dist-cjs/connect/local-agent-tool.js +137 -0
- package/dist-cjs/connect/local-agent-tool.js.map +1 -0
- package/dist-cjs/connect/manifest.js +171 -0
- package/dist-cjs/connect/manifest.js.map +1 -0
- package/dist-cjs/connect/openai-function-tools.js +187 -0
- package/dist-cjs/connect/openai-function-tools.js.map +1 -0
- package/dist-cjs/connect/payload.js +125 -0
- package/dist-cjs/connect/payload.js.map +1 -0
- package/dist-cjs/connect/tool-classifier.js +276 -0
- package/dist-cjs/connect/tool-classifier.js.map +1 -0
- package/dist-cjs/connect/toolset.js +126 -0
- package/dist-cjs/connect/toolset.js.map +1 -0
- package/dist-cjs/discovery/index.js +26 -0
- package/dist-cjs/discovery/index.js.map +1 -0
- package/dist-cjs/execution-observation.js +330 -0
- package/dist-cjs/execution-observation.js.map +1 -0
- package/dist-cjs/gateway/index.js +16 -0
- package/dist-cjs/gateway/index.js.map +1 -0
- package/dist-cjs/gateway/local-toolset.js +84 -0
- package/dist-cjs/gateway/local-toolset.js.map +1 -0
- package/dist-cjs/gateway/openai-function-tools.js +120 -0
- package/dist-cjs/gateway/openai-function-tools.js.map +1 -0
- package/dist-cjs/gateway/planner.js +160 -0
- package/dist-cjs/gateway/planner.js.map +1 -0
- package/dist-cjs/gateway/tool-graph-binding.js +126 -0
- package/dist-cjs/gateway/tool-graph-binding.js.map +1 -0
- package/dist-cjs/index.js +4 -1
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/langchain-execution-observer.js +131 -0
- package/dist-cjs/langchain-execution-observer.js.map +1 -0
- package/dist-cjs/langchain-runtime-discovery.js +218 -0
- package/dist-cjs/langchain-runtime-discovery.js.map +1 -0
- package/dist-cjs/openai-agents-execution-observer.js +166 -0
- package/dist-cjs/openai-agents-execution-observer.js.map +1 -0
- package/dist-cjs/otel-execution-observer.js +132 -0
- package/dist-cjs/otel-execution-observer.js.map +1 -0
- package/dist-cjs/runtime-tool-discovery.js +436 -0
- package/dist-cjs/runtime-tool-discovery.js.map +1 -0
- package/dist-cjs/tool-importance.js +272 -0
- package/dist-cjs/tool-importance.js.map +1 -0
- package/dist-cjs/vercel-execution-observer.js +100 -0
- package/dist-cjs/vercel-execution-observer.js.map +1 -0
- package/package.json +25 -3
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type ConnectOpenAIAgentsFunctionToolsOptions, type OpenAIAgentsFunctionToolLike } from "../connect/openai-function-tools.js";
|
|
2
|
+
import { type GatewayPlan } from "./planner.js";
|
|
3
|
+
import { type BoundGatewayPlan, type GatewayToolGraphBinding } from "./tool-graph-binding.js";
|
|
4
|
+
export interface GatewayOpenAIAgentsFunctionToolsOptions extends ConnectOpenAIAgentsFunctionToolsOptions {
|
|
5
|
+
/** Optional exact Tool Graph identities for this model-visible FunctionTool subset. */
|
|
6
|
+
toolGraphBindings?: readonly GatewayToolGraphBinding[];
|
|
7
|
+
}
|
|
8
|
+
export interface GatewayOpenAIAgentsFunctionTools<T extends readonly OpenAIAgentsFunctionToolLike[]> {
|
|
9
|
+
/** Gateway plan for exactly the supplied FunctionTool subset. */
|
|
10
|
+
plan: Readonly<GatewayPlan>;
|
|
11
|
+
/** Exact Tool Graph binding when supplied. */
|
|
12
|
+
binding?: BoundGatewayPlan;
|
|
13
|
+
/** New FunctionTool objects preserving input order and framework shape. */
|
|
14
|
+
tools: Readonly<{
|
|
15
|
+
[K in keyof T]: T[K];
|
|
16
|
+
}>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Route an already-selected OpenAI Agents FunctionTool subset through Once.
|
|
20
|
+
*
|
|
21
|
+
* Gateway owns only preflight/routing identity. Actual FunctionTool wrapping,
|
|
22
|
+
* protected input parsing, logical-operation identity, payload binding,
|
|
23
|
+
* replay and reconciliation remain delegated to the existing proven Connect
|
|
24
|
+
* adapter. The supplied subset is never expanded with Tool Graph catalog
|
|
25
|
+
* entries.
|
|
26
|
+
*/
|
|
27
|
+
export declare function connectOpenAIAgentsFunctionToolsGatewayAuto<T extends readonly OpenAIAgentsFunctionToolLike[]>(tools: T, options?: GatewayOpenAIAgentsFunctionToolsOptions): Readonly<GatewayOpenAIAgentsFunctionTools<T>>;
|
|
28
|
+
//# sourceMappingURL=openai-function-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-function-tools.d.ts","sourceRoot":"","sources":["../../src/gateway/openai-function-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uCAAuC,EAC5C,KAAK,4BAA4B,EAElC,MAAM,qCAAqC,CAAC;AAO7C,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,uCACf,SAAQ,uCAAuC;IAC/C,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACxD;AAED,MAAM,WAAW,gCAAgC,CAC/C,CAAC,SAAS,SAAS,4BAA4B,EAAE;IAEjD,iEAAiE;IACjE,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC5B,8CAA8C;IAC9C,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,2EAA2E;IAC3E,KAAK,EAAE,QAAQ,CAAC;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAAE,CAAC,CAAC;CAC3C;AA2ED;;;;;;;;GAQG;AACH,wBAAgB,2CAA2C,CACzD,CAAC,SAAS,SAAS,4BAA4B,EAAE,EAEjD,KAAK,EAAE,CAAC,EACR,OAAO,GAAE,uCAA4C,GACpD,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,CAiG/C"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { connectOpenAIAgentsFunctionToolsAuto, } from "../connect/openai-function-tools.js";
|
|
2
|
+
import { GatewayConnectionError, } from "./local-toolset.js";
|
|
3
|
+
import { GATEWAY_ROUTE, planGatewayToolset, } from "./planner.js";
|
|
4
|
+
import { bindGatewayPlanToToolGraph, } from "./tool-graph-binding.js";
|
|
5
|
+
function isObject(value) {
|
|
6
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
7
|
+
}
|
|
8
|
+
function isFunctionToolLike(value) {
|
|
9
|
+
return isObject(value) &&
|
|
10
|
+
value.type === "function" &&
|
|
11
|
+
typeof value.name === "string" &&
|
|
12
|
+
value.name.trim() !== "" &&
|
|
13
|
+
typeof value.description === "string" &&
|
|
14
|
+
Object.prototype.hasOwnProperty.call(value, "parameters") &&
|
|
15
|
+
typeof value.invoke === "function";
|
|
16
|
+
}
|
|
17
|
+
function descriptorFor(tool, override) {
|
|
18
|
+
return {
|
|
19
|
+
name: tool.name,
|
|
20
|
+
description: tool.description,
|
|
21
|
+
inputSchema: tool.parameters,
|
|
22
|
+
...(override?.annotations !== undefined
|
|
23
|
+
? { annotations: override.annotations }
|
|
24
|
+
: {}),
|
|
25
|
+
...(override?._meta !== undefined
|
|
26
|
+
? { _meta: override._meta }
|
|
27
|
+
: {}),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function blockedSummary(plan) {
|
|
31
|
+
return plan.blocked
|
|
32
|
+
.map(entry => `${entry.name ?? `#${entry.index}`}:${entry.connectReason}`)
|
|
33
|
+
.join(", ");
|
|
34
|
+
}
|
|
35
|
+
function bindingBlockedSummary(plan) {
|
|
36
|
+
return plan.blocked
|
|
37
|
+
.map(entry => `${entry.name ?? `#${entry.index}`}:${entry.bindingStatus}`)
|
|
38
|
+
.join(", ");
|
|
39
|
+
}
|
|
40
|
+
function verifyConnectAgreement(gatewayPlan, connectEntries) {
|
|
41
|
+
if (gatewayPlan.entries.length !== connectEntries.length) {
|
|
42
|
+
throw new GatewayConnectionError("GATEWAY_PLAN_MISMATCH", "OpenAI Gateway and Connect disagree about the FunctionTool subset length.");
|
|
43
|
+
}
|
|
44
|
+
for (let index = 0; index < gatewayPlan.entries.length; index += 1) {
|
|
45
|
+
const gateway = gatewayPlan.entries[index];
|
|
46
|
+
const expected = gateway.route === GATEWAY_ROUTE.DIRECT
|
|
47
|
+
? "BYPASS"
|
|
48
|
+
: gateway.route === GATEWAY_ROUTE.PROTECT
|
|
49
|
+
? "PROTECT"
|
|
50
|
+
: "UNKNOWN";
|
|
51
|
+
if (connectEntries[index]?.decision !== expected) {
|
|
52
|
+
throw new GatewayConnectionError("GATEWAY_PLAN_MISMATCH", `OpenAI Gateway and Connect disagree about FunctionTool route index ${index}.`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Route an already-selected OpenAI Agents FunctionTool subset through Once.
|
|
58
|
+
*
|
|
59
|
+
* Gateway owns only preflight/routing identity. Actual FunctionTool wrapping,
|
|
60
|
+
* protected input parsing, logical-operation identity, payload binding,
|
|
61
|
+
* replay and reconciliation remain delegated to the existing proven Connect
|
|
62
|
+
* adapter. The supplied subset is never expanded with Tool Graph catalog
|
|
63
|
+
* entries.
|
|
64
|
+
*/
|
|
65
|
+
export function connectOpenAIAgentsFunctionToolsGatewayAuto(tools, options = {}) {
|
|
66
|
+
if (!Array.isArray(tools)) {
|
|
67
|
+
throw new GatewayConnectionError("INVALID_OPENAI_GATEWAY_TOOLSET", "Once Gateway needs the runtime-selected OpenAI Agents FunctionTool array.");
|
|
68
|
+
}
|
|
69
|
+
const manifest = [];
|
|
70
|
+
const names = new Set();
|
|
71
|
+
for (const candidate of tools) {
|
|
72
|
+
if (!isFunctionToolLike(candidate)) {
|
|
73
|
+
throw new GatewayConnectionError("UNSUPPORTED_OPENAI_GATEWAY_TOOL_TYPE", "Once Gateway v1 supports only OpenAI Agents FunctionTool objects in this adapter.");
|
|
74
|
+
}
|
|
75
|
+
if (names.has(candidate.name)) {
|
|
76
|
+
throw new GatewayConnectionError("DUPLICATE_OPENAI_GATEWAY_TOOL_NAME", `Once Gateway cannot safely map duplicate OpenAI FunctionTool name "${candidate.name}".`);
|
|
77
|
+
}
|
|
78
|
+
names.add(candidate.name);
|
|
79
|
+
manifest.push(descriptorFor(candidate, options.overrides?.[candidate.name]));
|
|
80
|
+
}
|
|
81
|
+
if (options.overrides) {
|
|
82
|
+
for (const name of Object.keys(options.overrides)) {
|
|
83
|
+
if (!names.has(name)) {
|
|
84
|
+
throw new GatewayConnectionError("UNDECLARED_OPENAI_GATEWAY_OVERRIDE", `Gateway override "${name}" does not correspond to a supplied FunctionTool.`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
const plan = planGatewayToolset(manifest);
|
|
89
|
+
if (!plan.valid) {
|
|
90
|
+
throw new GatewayConnectionError("INVALID_OPENAI_GATEWAY_TOOLSET", "Once Gateway could not plan the supplied OpenAI FunctionTool subset.");
|
|
91
|
+
}
|
|
92
|
+
if (!plan.ready) {
|
|
93
|
+
throw new GatewayConnectionError("GATEWAY_BLOCKED", `Once Gateway refuses unresolved OpenAI FunctionTool routing: ${blockedSummary(plan)}.`);
|
|
94
|
+
}
|
|
95
|
+
let binding;
|
|
96
|
+
if (options.toolGraphBindings !== undefined) {
|
|
97
|
+
if (!Array.isArray(options.toolGraphBindings)) {
|
|
98
|
+
throw new GatewayConnectionError("INVALID_TOOL_GRAPH_BINDINGS", "OpenAI Gateway Tool Graph bindings must be an array of safe identity records.");
|
|
99
|
+
}
|
|
100
|
+
binding = bindGatewayPlanToToolGraph(plan, options.toolGraphBindings);
|
|
101
|
+
if (!binding.ready) {
|
|
102
|
+
throw new GatewayConnectionError("GATEWAY_TOOL_GRAPH_BLOCKED", `OpenAI Gateway refuses stale or ambiguous Tool Graph identity: ${bindingBlockedSummary(binding)}.`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
const { toolGraphBindings: _toolGraphBindings, ...connectOptions } = options;
|
|
106
|
+
const connected = connectOpenAIAgentsFunctionToolsAuto(tools, connectOptions);
|
|
107
|
+
verifyConnectAgreement(plan, connected.plan.entries);
|
|
108
|
+
if (connected.tools.length !== tools.length) {
|
|
109
|
+
throw new GatewayConnectionError("GATEWAY_SUBSET_MISMATCH", "OpenAI Gateway changed the size of the runtime-selected FunctionTool subset.");
|
|
110
|
+
}
|
|
111
|
+
return Object.freeze({
|
|
112
|
+
plan,
|
|
113
|
+
...(binding ? { binding } : {}),
|
|
114
|
+
tools: connected.tools,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=openai-function-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-function-tools.js","sourceRoot":"","sources":["../../src/gateway/openai-function-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { type ConnectManifestToolSource } from "../connect/manifest.js";
|
|
2
|
+
import { type ConnectToolClassificationReason, type ConnectToolDecision } from "../connect/tool-classifier.js";
|
|
3
|
+
export declare const GATEWAY_ROUTE: Readonly<{
|
|
4
|
+
readonly DIRECT: "DIRECT";
|
|
5
|
+
readonly PROTECT: "PROTECT";
|
|
6
|
+
readonly BLOCK: "BLOCK";
|
|
7
|
+
}>;
|
|
8
|
+
export type GatewayRoute = (typeof GATEWAY_ROUTE)[keyof typeof GATEWAY_ROUTE];
|
|
9
|
+
export declare const GATEWAY_PLAN_VERSION: "once-gateway-plan-v1";
|
|
10
|
+
export interface GatewayPlanEntry {
|
|
11
|
+
index: number;
|
|
12
|
+
name: string | null;
|
|
13
|
+
source: ConnectManifestToolSource;
|
|
14
|
+
route: GatewayRoute;
|
|
15
|
+
descriptorFingerprint: string;
|
|
16
|
+
connectDecision: ConnectToolDecision;
|
|
17
|
+
connectReason: ConnectToolClassificationReason;
|
|
18
|
+
signals: readonly string[];
|
|
19
|
+
}
|
|
20
|
+
export interface GatewayPlanSummary {
|
|
21
|
+
total: number;
|
|
22
|
+
direct: number;
|
|
23
|
+
protect: number;
|
|
24
|
+
blocked: number;
|
|
25
|
+
}
|
|
26
|
+
export interface GatewayPlan {
|
|
27
|
+
version: typeof GATEWAY_PLAN_VERSION;
|
|
28
|
+
valid: boolean;
|
|
29
|
+
ready: boolean;
|
|
30
|
+
reason: "PLANNED" | "INVALID_MANIFEST";
|
|
31
|
+
entries: readonly Readonly<GatewayPlanEntry>[];
|
|
32
|
+
direct: readonly Readonly<GatewayPlanEntry>[];
|
|
33
|
+
protect: readonly Readonly<GatewayPlanEntry>[];
|
|
34
|
+
blocked: readonly Readonly<GatewayPlanEntry>[];
|
|
35
|
+
summary: Readonly<GatewayPlanSummary>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Stable, secret-safe fingerprint of the exact descriptor shape used for
|
|
39
|
+
* gateway routing. Getter-backed/non-plain runtime state is never evaluated.
|
|
40
|
+
*/
|
|
41
|
+
export declare function gatewayDescriptorFingerprint(descriptor: unknown): string;
|
|
42
|
+
/**
|
|
43
|
+
* Plan how a runtime-selected tool subset should cross the Once Gateway.
|
|
44
|
+
*
|
|
45
|
+
* This is a pure control-plane operation. It does not execute tools, resolve
|
|
46
|
+
* per-invocation operation identity/effect payload, open local protection
|
|
47
|
+
* state, contact MCP/providers, or retain executable implementations.
|
|
48
|
+
*
|
|
49
|
+
* Existing Connect classification remains authoritative:
|
|
50
|
+
* BYPASS -> DIRECT, PROTECT -> PROTECT, UNKNOWN -> BLOCK.
|
|
51
|
+
*/
|
|
52
|
+
export declare function planGatewayToolset(manifest: unknown): Readonly<GatewayPlan>;
|
|
53
|
+
//# sourceMappingURL=planner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/gateway/planner.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,KAAK,+BAA+B,EACpC,KAAK,mBAAmB,EACzB,MAAM,+BAA+B,CAAC;AAEvC,eAAO,MAAM,aAAa;;;;EAIf,CAAC;AAEZ,MAAM,MAAM,YAAY,GACtB,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAErD,eAAO,MAAM,oBAAoB,EAAG,sBAA+B,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,yBAAyB,CAAC;IAClC,KAAK,EAAE,YAAY,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,mBAAmB,CAAC;IACrC,aAAa,EAAE,+BAA+B,CAAC;IAC/C,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,oBAAoB,CAAC;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,kBAAkB,CAAC;IACvC,OAAO,EAAE,SAAS,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAC/C,MAAM,EAAE,SAAS,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAC9C,OAAO,EAAE,SAAS,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAC/C,OAAO,EAAE,SAAS,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAC/C,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;CACvC;AAwED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,OAAO,GAClB,MAAM,CAKR;AAyCD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,OAAO,GAChB,QAAQ,CAAC,WAAW,CAAC,CAyDvB"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { normalizeConnectToolManifest, planConnectToolManifest, } from "../connect/manifest.js";
|
|
3
|
+
import { CONNECT_TOOL_DECISION, } from "../connect/tool-classifier.js";
|
|
4
|
+
export const GATEWAY_ROUTE = Object.freeze({
|
|
5
|
+
DIRECT: "DIRECT",
|
|
6
|
+
PROTECT: "PROTECT",
|
|
7
|
+
BLOCK: "BLOCK",
|
|
8
|
+
});
|
|
9
|
+
export const GATEWAY_PLAN_VERSION = "once-gateway-plan-v1";
|
|
10
|
+
const secretNamePattern = /(?:^|[_-])(authorization|api[_-]?key|token|password|passwd|secret|credential|cookie)(?:$|[_-])/i;
|
|
11
|
+
function canonicalGatewayValue(value, depth = 0, seen = new Set(), secretContext = false) {
|
|
12
|
+
if (secretContext)
|
|
13
|
+
return "<redacted>";
|
|
14
|
+
if (value === null || typeof value === "string" || typeof value === "boolean") {
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
17
|
+
if (typeof value === "number") {
|
|
18
|
+
return Number.isFinite(value) ? value : null;
|
|
19
|
+
}
|
|
20
|
+
if (typeof value !== "object" || depth > 12) {
|
|
21
|
+
return "<opaque>";
|
|
22
|
+
}
|
|
23
|
+
const objectValue = value;
|
|
24
|
+
if (seen.has(objectValue))
|
|
25
|
+
return "<cycle>";
|
|
26
|
+
seen.add(objectValue);
|
|
27
|
+
try {
|
|
28
|
+
if (Array.isArray(value)) {
|
|
29
|
+
const output = [];
|
|
30
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
31
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, String(index));
|
|
32
|
+
output.push(descriptor && "value" in descriptor
|
|
33
|
+
? canonicalGatewayValue(descriptor.value, depth + 1, seen)
|
|
34
|
+
: "<opaque>");
|
|
35
|
+
}
|
|
36
|
+
return output;
|
|
37
|
+
}
|
|
38
|
+
const prototype = Object.getPrototypeOf(value);
|
|
39
|
+
if (prototype !== Object.prototype && prototype !== null) {
|
|
40
|
+
return "<opaque>";
|
|
41
|
+
}
|
|
42
|
+
const output = {};
|
|
43
|
+
const descriptors = Object.getOwnPropertyDescriptors(value);
|
|
44
|
+
for (const key of Object.keys(descriptors).sort()) {
|
|
45
|
+
const descriptor = descriptors[key];
|
|
46
|
+
if (!("value" in descriptor)) {
|
|
47
|
+
output[key] = "<opaque>";
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
output[key] = canonicalGatewayValue(descriptor.value, depth + 1, seen, secretNamePattern.test(key));
|
|
51
|
+
}
|
|
52
|
+
return output;
|
|
53
|
+
}
|
|
54
|
+
finally {
|
|
55
|
+
seen.delete(objectValue);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Stable, secret-safe fingerprint of the exact descriptor shape used for
|
|
60
|
+
* gateway routing. Getter-backed/non-plain runtime state is never evaluated.
|
|
61
|
+
*/
|
|
62
|
+
export function gatewayDescriptorFingerprint(descriptor) {
|
|
63
|
+
const canonical = canonicalGatewayValue(descriptor);
|
|
64
|
+
return createHash("sha256")
|
|
65
|
+
.update(JSON.stringify(canonical))
|
|
66
|
+
.digest("hex");
|
|
67
|
+
}
|
|
68
|
+
function mapRoute(decision) {
|
|
69
|
+
if (decision === CONNECT_TOOL_DECISION.BYPASS) {
|
|
70
|
+
return GATEWAY_ROUTE.DIRECT;
|
|
71
|
+
}
|
|
72
|
+
if (decision === CONNECT_TOOL_DECISION.PROTECT) {
|
|
73
|
+
return GATEWAY_ROUTE.PROTECT;
|
|
74
|
+
}
|
|
75
|
+
return GATEWAY_ROUTE.BLOCK;
|
|
76
|
+
}
|
|
77
|
+
function freezeEntry(entry) {
|
|
78
|
+
return Object.freeze({
|
|
79
|
+
...entry,
|
|
80
|
+
signals: Object.freeze([...entry.signals]),
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
function invalidPlan() {
|
|
84
|
+
const entries = Object.freeze([]);
|
|
85
|
+
const summary = Object.freeze({
|
|
86
|
+
total: 0,
|
|
87
|
+
direct: 0,
|
|
88
|
+
protect: 0,
|
|
89
|
+
blocked: 0,
|
|
90
|
+
});
|
|
91
|
+
return Object.freeze({
|
|
92
|
+
version: GATEWAY_PLAN_VERSION,
|
|
93
|
+
valid: false,
|
|
94
|
+
ready: false,
|
|
95
|
+
reason: "INVALID_MANIFEST",
|
|
96
|
+
entries,
|
|
97
|
+
direct: entries,
|
|
98
|
+
protect: entries,
|
|
99
|
+
blocked: entries,
|
|
100
|
+
summary,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Plan how a runtime-selected tool subset should cross the Once Gateway.
|
|
105
|
+
*
|
|
106
|
+
* This is a pure control-plane operation. It does not execute tools, resolve
|
|
107
|
+
* per-invocation operation identity/effect payload, open local protection
|
|
108
|
+
* state, contact MCP/providers, or retain executable implementations.
|
|
109
|
+
*
|
|
110
|
+
* Existing Connect classification remains authoritative:
|
|
111
|
+
* BYPASS -> DIRECT, PROTECT -> PROTECT, UNKNOWN -> BLOCK.
|
|
112
|
+
*/
|
|
113
|
+
export function planGatewayToolset(manifest) {
|
|
114
|
+
const normalized = normalizeConnectToolManifest(manifest);
|
|
115
|
+
const connectPlan = planConnectToolManifest(manifest);
|
|
116
|
+
if (!normalized ||
|
|
117
|
+
!connectPlan.valid ||
|
|
118
|
+
normalized.length !== connectPlan.entries.length) {
|
|
119
|
+
return invalidPlan();
|
|
120
|
+
}
|
|
121
|
+
const entries = connectPlan.entries.map((connectEntry, index) => {
|
|
122
|
+
const normalizedEntry = normalized[index];
|
|
123
|
+
return freezeEntry({
|
|
124
|
+
index,
|
|
125
|
+
name: connectEntry.name,
|
|
126
|
+
source: connectEntry.source,
|
|
127
|
+
route: mapRoute(connectEntry.decision),
|
|
128
|
+
descriptorFingerprint: gatewayDescriptorFingerprint(normalizedEntry.descriptor),
|
|
129
|
+
connectDecision: connectEntry.decision,
|
|
130
|
+
connectReason: connectEntry.reason,
|
|
131
|
+
signals: connectEntry.signals,
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
const direct = entries.filter(entry => entry.route === GATEWAY_ROUTE.DIRECT);
|
|
135
|
+
const protect = entries.filter(entry => entry.route === GATEWAY_ROUTE.PROTECT);
|
|
136
|
+
const blocked = entries.filter(entry => entry.route === GATEWAY_ROUTE.BLOCK);
|
|
137
|
+
const summary = Object.freeze({
|
|
138
|
+
total: entries.length,
|
|
139
|
+
direct: direct.length,
|
|
140
|
+
protect: protect.length,
|
|
141
|
+
blocked: blocked.length,
|
|
142
|
+
});
|
|
143
|
+
return Object.freeze({
|
|
144
|
+
version: GATEWAY_PLAN_VERSION,
|
|
145
|
+
valid: true,
|
|
146
|
+
ready: blocked.length === 0,
|
|
147
|
+
reason: "PLANNED",
|
|
148
|
+
entries: Object.freeze(entries),
|
|
149
|
+
direct: Object.freeze(direct),
|
|
150
|
+
protect: Object.freeze(protect),
|
|
151
|
+
blocked: Object.freeze(blocked),
|
|
152
|
+
summary,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=planner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/gateway/planner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,GAExB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,GAGtB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;CACN,CAAC,CAAC;AAKZ,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAA+B,CAAC;AAgCpE,MAAM,iBAAiB,GACrB,iGAAiG,CAAC;AAEpG,SAAS,qBAAqB,CAC5B,KAAc,EACd,KAAK,GAAG,CAAC,EACT,OAAoB,IAAI,GAAG,EAAE,EAC7B,aAAa,GAAG,KAAK;IAErB,IAAI,aAAa;QAAE,OAAO,YAAY,CAAC;IAEvC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QAC5C,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,WAAW,GAAG,KAAe,CAAC;IACpC,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAEtB,IAAI,CAAC;QACH,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,MAAM,GAAc,EAAE,CAAC;YAC7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBACrD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzE,MAAM,CAAC,IAAI,CACT,UAAU,IAAI,OAAO,IAAI,UAAU;oBACjC,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC;oBAC1D,CAAC,CAAC,UAAU,CACf,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACzD,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAE5D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAClD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;gBACzB,SAAS;YACX,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,GAAG,qBAAqB,CACjC,UAAU,CAAC,KAAK,EAChB,KAAK,GAAG,CAAC,EACT,IAAI,EACJ,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAC5B,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAC1C,UAAmB;IAEnB,MAAM,SAAS,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACpD,OAAO,UAAU,CAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;SACjC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,QAAQ,CAAC,QAA6B;IAC7C,IAAI,QAAQ,KAAK,qBAAqB,CAAC,MAAM,EAAE,CAAC;QAC9C,OAAO,aAAa,CAAC,MAAM,CAAC;IAC9B,CAAC;IACD,IAAI,QAAQ,KAAK,qBAAqB,CAAC,OAAO,EAAE,CAAC;QAC/C,OAAO,aAAa,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,OAAO,aAAa,CAAC,KAAK,CAAC;AAC7B,CAAC;AAED,SAAS,WAAW,CAAC,KAAuB;IAC1C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,KAAK;QACR,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;KAC3C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW;IAClB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAA0C,CAAC;IAC3E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;KACX,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,oBAAoB;QAC7B,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,kBAA2B;QACnC,OAAO;QACP,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,OAAO;QAChB,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAiB;IAEjB,MAAM,UAAU,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAEtD,IACE,CAAC,UAAU;QACX,CAAC,WAAW,CAAC,KAAK;QAClB,UAAU,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,CAAC,MAAM,EAChD,CAAC;QACD,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE;QAC9D,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAE1C,OAAO,WAAW,CAAC;YACjB,KAAK;YACL,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC;YACtC,qBAAqB,EAAE,4BAA4B,CACjD,eAAe,CAAC,UAAU,CAC3B;YACD,eAAe,EAAE,YAAY,CAAC,QAAQ;YACtC,aAAa,EAAE,YAAY,CAAC,MAAM;YAClC,OAAO,EAAE,YAAY,CAAC,OAAO;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAC3B,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,MAAM,CAC9C,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAC5B,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,OAAO,CAC/C,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAC5B,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,CAC7C,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,OAAO,CAAC,MAAM;QACvB,OAAO,EAAE,OAAO,CAAC,MAAM;KACxB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,oBAAoB;QAC7B,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;QAC3B,MAAM,EAAE,SAAkB;QAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC/B,OAAO;KACR,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { ToolEvidenceLevel, ToolProtectionState } from "../tool-importance.js";
|
|
2
|
+
import { type GatewayPlan, type GatewayRoute } from "./planner.js";
|
|
3
|
+
export type GatewayToolGraphBinding = Readonly<{
|
|
4
|
+
toolId: string;
|
|
5
|
+
namespacedName: string;
|
|
6
|
+
canonicalName: string;
|
|
7
|
+
descriptorFingerprint: string;
|
|
8
|
+
evidenceLevel: ToolEvidenceLevel;
|
|
9
|
+
actionPriorityScore?: number;
|
|
10
|
+
protection?: ToolProtectionState;
|
|
11
|
+
}>;
|
|
12
|
+
export type GatewayToolGraphBindingStatus = "MATCHED" | "MISSING" | "FINGERPRINT_MISMATCH" | "AMBIGUOUS" | "NOT_ROUTABLE";
|
|
13
|
+
export type BoundGatewayPlanEntry = Readonly<{
|
|
14
|
+
index: number;
|
|
15
|
+
name: string | null;
|
|
16
|
+
plannedRoute: GatewayRoute;
|
|
17
|
+
route: GatewayRoute;
|
|
18
|
+
descriptorFingerprint: string;
|
|
19
|
+
bindingStatus: GatewayToolGraphBindingStatus;
|
|
20
|
+
toolGraph?: GatewayToolGraphBinding;
|
|
21
|
+
}>;
|
|
22
|
+
export type BoundGatewayPlanSummary = Readonly<{
|
|
23
|
+
total: number;
|
|
24
|
+
matched: number;
|
|
25
|
+
missing: number;
|
|
26
|
+
fingerprintMismatch: number;
|
|
27
|
+
ambiguous: number;
|
|
28
|
+
blocked: number;
|
|
29
|
+
}>;
|
|
30
|
+
export type BoundGatewayPlan = Readonly<{
|
|
31
|
+
valid: boolean;
|
|
32
|
+
ready: boolean;
|
|
33
|
+
entries: readonly BoundGatewayPlanEntry[];
|
|
34
|
+
matched: readonly BoundGatewayPlanEntry[];
|
|
35
|
+
blocked: readonly BoundGatewayPlanEntry[];
|
|
36
|
+
summary: BoundGatewayPlanSummary;
|
|
37
|
+
}>;
|
|
38
|
+
/**
|
|
39
|
+
* Bind a gateway route plan to safe Tool Graph identity records.
|
|
40
|
+
*
|
|
41
|
+
* Binding is intentionally stricter than name matching: one and only one
|
|
42
|
+
* Tool Graph record must match both canonical name and the exact gateway
|
|
43
|
+
* descriptor fingerprint. Evidence/protection state is retained only for
|
|
44
|
+
* reporting; it never downgrades a PROTECT route to DIRECT.
|
|
45
|
+
*
|
|
46
|
+
* The caller may pass a larger/global Tool Graph binding set. Unrelated
|
|
47
|
+
* entries are ignored, so binding the selected runtime subset does not force
|
|
48
|
+
* the global catalog into model context or into the returned plan.
|
|
49
|
+
*/
|
|
50
|
+
export declare function bindGatewayPlanToToolGraph(plan: Readonly<GatewayPlan>, bindings: readonly unknown[]): BoundGatewayPlan;
|
|
51
|
+
//# sourceMappingURL=tool-graph-binding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-graph-binding.d.ts","sourceRoot":"","sources":["../../src/gateway/tool-graph-binding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,iBAAiB,CAAC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC,CAAC,CAAC;AAEH,MAAM,MAAM,6BAA6B,GACrC,SAAS,GACT,SAAS,GACT,sBAAsB,GACtB,WAAW,GACX,cAAc,CAAC;AAEnB,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,YAAY,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,6BAA6B,CAAC;IAC7C,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACrC,CAAC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1C,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1C,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1C,OAAO,EAAE,uBAAuB,CAAC;CAClC,CAAC,CAAC;AA+EH;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC3B,QAAQ,EAAE,SAAS,OAAO,EAAE,GAC3B,gBAAgB,CA8DlB"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { GATEWAY_ROUTE, } from "./planner.js";
|
|
2
|
+
function nonEmptyString(value) {
|
|
3
|
+
return typeof value === "string" && value.trim() !== "";
|
|
4
|
+
}
|
|
5
|
+
function validScore(value) {
|
|
6
|
+
return value === undefined ||
|
|
7
|
+
(typeof value === "number" && Number.isFinite(value) && value >= 0 && value <= 100);
|
|
8
|
+
}
|
|
9
|
+
const evidenceLevels = new Set([
|
|
10
|
+
"EXECUTED",
|
|
11
|
+
"MODEL_VISIBLE",
|
|
12
|
+
"RUNTIME_REGISTERED",
|
|
13
|
+
"SERVER_AUTHORITATIVE",
|
|
14
|
+
"HOST_CONFIGURED",
|
|
15
|
+
"SOURCE_DISCOVERED",
|
|
16
|
+
"REGISTRY_CANDIDATE",
|
|
17
|
+
]);
|
|
18
|
+
const protectionStates = new Set([
|
|
19
|
+
"NONE",
|
|
20
|
+
"NATIVE_IDEMPOTENCY",
|
|
21
|
+
"AUTHORITATIVE_RECONCILIATION",
|
|
22
|
+
"ONCE_HEALTHY",
|
|
23
|
+
"ONCE_UNVERIFIED",
|
|
24
|
+
]);
|
|
25
|
+
function normalizeBinding(value) {
|
|
26
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
const record = value;
|
|
30
|
+
if (!nonEmptyString(record.toolId) ||
|
|
31
|
+
!nonEmptyString(record.namespacedName) ||
|
|
32
|
+
!nonEmptyString(record.canonicalName) ||
|
|
33
|
+
!nonEmptyString(record.descriptorFingerprint) ||
|
|
34
|
+
!evidenceLevels.has(record.evidenceLevel) ||
|
|
35
|
+
!validScore(record.actionPriorityScore) ||
|
|
36
|
+
(record.protection !== undefined &&
|
|
37
|
+
!protectionStates.has(record.protection))) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
return Object.freeze({
|
|
41
|
+
toolId: record.toolId,
|
|
42
|
+
namespacedName: record.namespacedName,
|
|
43
|
+
canonicalName: record.canonicalName,
|
|
44
|
+
descriptorFingerprint: record.descriptorFingerprint,
|
|
45
|
+
evidenceLevel: record.evidenceLevel,
|
|
46
|
+
...(record.actionPriorityScore !== undefined
|
|
47
|
+
? { actionPriorityScore: record.actionPriorityScore }
|
|
48
|
+
: {}),
|
|
49
|
+
...(record.protection !== undefined
|
|
50
|
+
? { protection: record.protection }
|
|
51
|
+
: {}),
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function blockedEntry(entry, bindingStatus) {
|
|
55
|
+
return Object.freeze({
|
|
56
|
+
index: entry.index,
|
|
57
|
+
name: entry.name,
|
|
58
|
+
plannedRoute: entry.route,
|
|
59
|
+
route: GATEWAY_ROUTE.BLOCK,
|
|
60
|
+
descriptorFingerprint: entry.descriptorFingerprint,
|
|
61
|
+
bindingStatus,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Bind a gateway route plan to safe Tool Graph identity records.
|
|
66
|
+
*
|
|
67
|
+
* Binding is intentionally stricter than name matching: one and only one
|
|
68
|
+
* Tool Graph record must match both canonical name and the exact gateway
|
|
69
|
+
* descriptor fingerprint. Evidence/protection state is retained only for
|
|
70
|
+
* reporting; it never downgrades a PROTECT route to DIRECT.
|
|
71
|
+
*
|
|
72
|
+
* The caller may pass a larger/global Tool Graph binding set. Unrelated
|
|
73
|
+
* entries are ignored, so binding the selected runtime subset does not force
|
|
74
|
+
* the global catalog into model context or into the returned plan.
|
|
75
|
+
*/
|
|
76
|
+
export function bindGatewayPlanToToolGraph(plan, bindings) {
|
|
77
|
+
const normalized = Array.isArray(bindings)
|
|
78
|
+
? bindings
|
|
79
|
+
.map(normalizeBinding)
|
|
80
|
+
.filter((binding) => Boolean(binding))
|
|
81
|
+
: [];
|
|
82
|
+
const entries = plan.entries.map(entry => {
|
|
83
|
+
if (entry.route === GATEWAY_ROUTE.BLOCK || !entry.name) {
|
|
84
|
+
return blockedEntry(entry, "NOT_ROUTABLE");
|
|
85
|
+
}
|
|
86
|
+
const sameName = normalized.filter(binding => binding.canonicalName === entry.name);
|
|
87
|
+
const exact = sameName.filter(binding => binding.descriptorFingerprint === entry.descriptorFingerprint);
|
|
88
|
+
if (exact.length > 1) {
|
|
89
|
+
return blockedEntry(entry, "AMBIGUOUS");
|
|
90
|
+
}
|
|
91
|
+
if (exact.length === 0) {
|
|
92
|
+
return blockedEntry(entry, sameName.length > 0 ? "FINGERPRINT_MISMATCH" : "MISSING");
|
|
93
|
+
}
|
|
94
|
+
return Object.freeze({
|
|
95
|
+
index: entry.index,
|
|
96
|
+
name: entry.name,
|
|
97
|
+
plannedRoute: entry.route,
|
|
98
|
+
route: entry.route,
|
|
99
|
+
descriptorFingerprint: entry.descriptorFingerprint,
|
|
100
|
+
bindingStatus: "MATCHED",
|
|
101
|
+
toolGraph: exact[0],
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
const matched = entries.filter(entry => entry.bindingStatus === "MATCHED");
|
|
105
|
+
const blocked = entries.filter(entry => entry.route === GATEWAY_ROUTE.BLOCK);
|
|
106
|
+
const summary = Object.freeze({
|
|
107
|
+
total: entries.length,
|
|
108
|
+
matched: matched.length,
|
|
109
|
+
missing: entries.filter(entry => entry.bindingStatus === "MISSING").length,
|
|
110
|
+
fingerprintMismatch: entries.filter(entry => entry.bindingStatus === "FINGERPRINT_MISMATCH").length,
|
|
111
|
+
ambiguous: entries.filter(entry => entry.bindingStatus === "AMBIGUOUS").length,
|
|
112
|
+
blocked: blocked.length,
|
|
113
|
+
});
|
|
114
|
+
return Object.freeze({
|
|
115
|
+
valid: plan.valid,
|
|
116
|
+
ready: plan.valid && plan.ready && blocked.length === 0,
|
|
117
|
+
entries: Object.freeze(entries),
|
|
118
|
+
matched: Object.freeze(matched),
|
|
119
|
+
blocked: Object.freeze(blocked),
|
|
120
|
+
summary,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=tool-graph-binding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-graph-binding.js","sourceRoot":"","sources":["../../src/gateway/tool-graph-binding.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,aAAa,GAId,MAAM,cAAc,CAAC;AA+CtB,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,KAAK,KAAK,SAAS;QACxB,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAoB;IAChD,UAAU;IACV,eAAe;IACf,oBAAoB;IACpB,sBAAsB;IACtB,iBAAiB;IACjB,mBAAmB;IACnB,oBAAoB;CACrB,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAsB;IACpD,MAAM;IACN,oBAAoB;IACpB,8BAA8B;IAC9B,cAAc;IACd,iBAAiB;CAClB,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IACE,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC;QAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC;QACtC,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC;QACrC,CAAC,cAAc,CAAC,MAAM,CAAC,qBAAqB,CAAC;QAC7C,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,aAAkC,CAAC;QAC9D,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC;QACvC,CACE,MAAM,CAAC,UAAU,KAAK,SAAS;YAC/B,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAiC,CAAC,CAChE,EACD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,aAAa,EAAE,MAAM,CAAC,aAAkC;QACxD,GAAG,CAAC,MAAM,CAAC,mBAAmB,KAAK,SAAS;YAC1C,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,mBAA6B,EAAE;YAC/D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS;YACjC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAiC,EAAE;YAC1D,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CACnB,KAAiC,EACjC,aAA4C;IAE5C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,YAAY,EAAE,KAAK,CAAC,KAAK;QACzB,KAAK,EAAE,aAAa,CAAC,KAAK;QAC1B,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;QAClD,aAAa;KACd,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAA2B,EAC3B,QAA4B;IAE5B,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QACxC,CAAC,CAAC,QAAQ;aACL,GAAG,CAAC,gBAAgB,CAAC;aACrB,MAAM,CAAC,CAAC,OAAO,EAAsC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9E,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACvC,IAAI,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACvD,OAAO,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAChC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,IAAI,CAChD,CAAC;QACF,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAC3B,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,KAAK,KAAK,CAAC,qBAAqB,CACzE,CAAC;QAEF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,YAAY,CACjB,KAAK,EACL,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,CACzD,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,YAAY,EAAE,KAAK,CAAC,KAAK;YACzB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;YAClD,aAAa,EAAE,SAAkB;YACjC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;SACpB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,OAAO,EAAE,OAAO,CAAC,MAAM;QACvB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,MAAM;QAC1E,mBAAmB,EAAE,OAAO,CAAC,MAAM,CACjC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,KAAK,sBAAsB,CACxD,CAAC,MAAM;QACR,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,KAAK,WAAW,CAAC,CAAC,MAAM;QAC9E,OAAO,EAAE,OAAO,CAAC,MAAM;KACxB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QACvD,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC/B,OAAO;KACR,CAAC,CAAC;AACL,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -114,4 +114,6 @@ export { ConnectKernelError, executeConnectWithOnce } from "./connect/kernel.js"
|
|
|
114
114
|
export type { ConnectKernelInput } from "./connect/kernel.js";
|
|
115
115
|
export { OpenAIAgentsConnectError, executeOpenAIAgentsConnectTool } from "./connect/openai-agents.js";
|
|
116
116
|
export type { OpenAIAgentsToolInput, OpenAIAgentsAction, OpenAIAgentsConnectToolInput } from "./connect/openai-agents.js";
|
|
117
|
+
export { connectLocalAgentTool, AgentToolConnectionError } from "./connect/local-agent-tool.js";
|
|
118
|
+
export type { AgentTool, LocalAgentToolContract } from "./connect/local-agent-tool.js";
|
|
117
119
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -495,4 +495,5 @@ export { ConnectBindingError, canonicalizeConnectPayload, fingerprintConnectPayl
|
|
|
495
495
|
export { ConnectExecutionError, executeConnectOperation } from "./connect/execute.js";
|
|
496
496
|
export { ConnectKernelError, executeConnectWithOnce } from "./connect/kernel.js";
|
|
497
497
|
export { OpenAIAgentsConnectError, executeOpenAIAgentsConnectTool } from "./connect/openai-agents.js";
|
|
498
|
+
export { connectLocalAgentTool, AgentToolConnectionError } from "./connect/local-agent-tool.js";
|
|
498
499
|
//# sourceMappingURL=index.js.map
|