@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 @@
|
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/connect/identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenAIAgentsConnectError = exports.connectOpenAIAgentsFunctionToolsAuto = exports.connectLocalAgentToolsetAuto = exports.AgentToolConnectionError = exports.connectLocalAgentToolAuto = exports.resolveConnectToolEffectPayload = exports.resolveConnectToolOperationIdentity = exports.planConnectToolManifest = exports.CONNECT_MANIFEST_VERSION = exports.classifyConnectTools = exports.classifyConnectTool = exports.CONNECT_TOOL_DECISION = exports.classifyConnectOperation = exports.CONNECT_DECISION = void 0;
|
|
4
|
+
var classifier_js_1 = require("./classifier.js");
|
|
5
|
+
Object.defineProperty(exports, "CONNECT_DECISION", { enumerable: true, get: function () { return classifier_js_1.CONNECT_DECISION; } });
|
|
6
|
+
Object.defineProperty(exports, "classifyConnectOperation", { enumerable: true, get: function () { return classifier_js_1.classifyConnectOperation; } });
|
|
7
|
+
var tool_classifier_js_1 = require("./tool-classifier.js");
|
|
8
|
+
Object.defineProperty(exports, "CONNECT_TOOL_DECISION", { enumerable: true, get: function () { return tool_classifier_js_1.CONNECT_TOOL_DECISION; } });
|
|
9
|
+
Object.defineProperty(exports, "classifyConnectTool", { enumerable: true, get: function () { return tool_classifier_js_1.classifyConnectTool; } });
|
|
10
|
+
Object.defineProperty(exports, "classifyConnectTools", { enumerable: true, get: function () { return tool_classifier_js_1.classifyConnectTools; } });
|
|
11
|
+
var manifest_js_1 = require("./manifest.js");
|
|
12
|
+
Object.defineProperty(exports, "CONNECT_MANIFEST_VERSION", { enumerable: true, get: function () { return manifest_js_1.CONNECT_MANIFEST_VERSION; } });
|
|
13
|
+
Object.defineProperty(exports, "planConnectToolManifest", { enumerable: true, get: function () { return manifest_js_1.planConnectToolManifest; } });
|
|
14
|
+
var identity_js_1 = require("./identity.js");
|
|
15
|
+
Object.defineProperty(exports, "resolveConnectToolOperationIdentity", { enumerable: true, get: function () { return identity_js_1.resolveConnectToolOperationIdentity; } });
|
|
16
|
+
var payload_js_1 = require("./payload.js");
|
|
17
|
+
Object.defineProperty(exports, "resolveConnectToolEffectPayload", { enumerable: true, get: function () { return payload_js_1.resolveConnectToolEffectPayload; } });
|
|
18
|
+
var local_agent_tool_js_1 = require("./local-agent-tool.js");
|
|
19
|
+
Object.defineProperty(exports, "connectLocalAgentToolAuto", { enumerable: true, get: function () { return local_agent_tool_js_1.connectLocalAgentToolAuto; } });
|
|
20
|
+
Object.defineProperty(exports, "AgentToolConnectionError", { enumerable: true, get: function () { return local_agent_tool_js_1.AgentToolConnectionError; } });
|
|
21
|
+
var toolset_js_1 = require("./toolset.js");
|
|
22
|
+
Object.defineProperty(exports, "connectLocalAgentToolsetAuto", { enumerable: true, get: function () { return toolset_js_1.connectLocalAgentToolsetAuto; } });
|
|
23
|
+
var openai_function_tools_js_1 = require("./openai-function-tools.js");
|
|
24
|
+
Object.defineProperty(exports, "connectOpenAIAgentsFunctionToolsAuto", { enumerable: true, get: function () { return openai_function_tools_js_1.connectOpenAIAgentsFunctionToolsAuto; } });
|
|
25
|
+
Object.defineProperty(exports, "OpenAIAgentsConnectError", { enumerable: true, get: function () { return openai_function_tools_js_1.OpenAIAgentsConnectError; } });
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connect/index.ts"],"names":[],"mappings":";;;AAAA,iDAGyB;AAFvB,iHAAA,gBAAgB,OAAA;AAChB,yHAAA,wBAAwB,OAAA;AAS1B,2DAI8B;AAH5B,2HAAA,qBAAqB,OAAA;AACrB,yHAAA,mBAAmB,OAAA;AACnB,0HAAA,oBAAoB,OAAA;AAWtB,6CAGuB;AAFrB,uHAAA,wBAAwB,OAAA;AACxB,sHAAA,uBAAuB,OAAA;AAUzB,6CAEuB;AADrB,kIAAA,mCAAmC,OAAA;AASrC,2CAEsB;AADpB,6HAAA,+BAA+B,OAAA;AASjC,6DAG+B;AAF7B,gIAAA,yBAAyB,OAAA;AACzB,+HAAA,wBAAwB,OAAA;AAQ1B,2CAEsB;AADpB,0HAAA,4BAA4B,OAAA;AAW9B,uEAGoC;AAFlC,gJAAA,oCAAoC,OAAA;AACpC,oIAAA,wBAAwB,OAAA"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AgentToolConnectionError = void 0;
|
|
4
|
+
exports.connectLocalAgentTool = connectLocalAgentTool;
|
|
5
|
+
exports.connectLocalAgentToolAuto = connectLocalAgentToolAuto;
|
|
6
|
+
const classifier_js_1 = require("./classifier.js");
|
|
7
|
+
const tool_classifier_js_1 = require("./tool-classifier.js");
|
|
8
|
+
const identity_js_1 = require("./identity.js");
|
|
9
|
+
const payload_js_1 = require("./payload.js");
|
|
10
|
+
const local_js_1 = require("../local.js");
|
|
11
|
+
class AgentToolConnectionError extends Error {
|
|
12
|
+
code;
|
|
13
|
+
constructor(code, message) {
|
|
14
|
+
super(message);
|
|
15
|
+
this.code = code;
|
|
16
|
+
this.name = "AgentToolConnectionError";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.AgentToolConnectionError = AgentToolConnectionError;
|
|
20
|
+
function connectLocalAgentTool(tool, contract) {
|
|
21
|
+
if (!tool || typeof tool.execute !== "function") {
|
|
22
|
+
throw new AgentToolConnectionError("INVALID_TOOL", "Once needs a tool with an execute(input) function.");
|
|
23
|
+
}
|
|
24
|
+
if (!contract ||
|
|
25
|
+
typeof contract.name !== "string" ||
|
|
26
|
+
!/^[A-Za-z0-9_-]{1,100}$/.test(contract.name)) {
|
|
27
|
+
throw new AgentToolConnectionError("INVALID_TOOL_NAME", "A stable registered tool name is required.");
|
|
28
|
+
}
|
|
29
|
+
const classification = (0, classifier_js_1.classifyConnectOperation)(contract.safety);
|
|
30
|
+
if (classification.decision === classifier_js_1.CONNECT_DECISION.REJECT) {
|
|
31
|
+
throw new AgentToolConnectionError("INVALID_SAFETY_DECLARATION", "Review all four safety conditions before connecting an agent tool.");
|
|
32
|
+
}
|
|
33
|
+
if (classification.decision === classifier_js_1.CONNECT_DECISION.BYPASS) {
|
|
34
|
+
return {
|
|
35
|
+
execute: (input) => tool.execute.call(tool, input),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
if (typeof contract.id !== "function" || typeof contract.payload !== "function") {
|
|
39
|
+
throw new AgentToolConnectionError("PROTECTION_REQUIRED", "A consequential tool requires stable intent identity and complete effect payload before it can be connected.");
|
|
40
|
+
}
|
|
41
|
+
const id = contract.id;
|
|
42
|
+
const payload = contract.payload;
|
|
43
|
+
const name = contract.name;
|
|
44
|
+
const protectedExecute = (0, local_js_1.protectLocal)(async (input) => tool.execute.call(tool, input), {
|
|
45
|
+
id: (input) => {
|
|
46
|
+
const intent = id(input);
|
|
47
|
+
return typeof intent === "string" && intent.trim() !== ""
|
|
48
|
+
? `${name}:${intent}`
|
|
49
|
+
: "";
|
|
50
|
+
},
|
|
51
|
+
payload: (input) => ({ tool: name, effect: payload(input) }),
|
|
52
|
+
statePath: contract.statePath,
|
|
53
|
+
reconcile: contract.reconcile,
|
|
54
|
+
});
|
|
55
|
+
return {
|
|
56
|
+
execute: (input) => protectedExecute(input),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
const AUTO_PROTECTED_SAFETY = Object.freeze({
|
|
60
|
+
changesExternalState: true,
|
|
61
|
+
retryPossible: true,
|
|
62
|
+
ambiguousOutcomePossible: true,
|
|
63
|
+
duplicateUndesirable: true,
|
|
64
|
+
});
|
|
65
|
+
const AUTO_BYPASS_SAFETY = Object.freeze({
|
|
66
|
+
changesExternalState: false,
|
|
67
|
+
retryPossible: false,
|
|
68
|
+
ambiguousOutcomePossible: false,
|
|
69
|
+
duplicateUndesirable: false,
|
|
70
|
+
});
|
|
71
|
+
/**
|
|
72
|
+
* Connect a local agent tool using its descriptor instead of hand-authored
|
|
73
|
+
* routing declarations.
|
|
74
|
+
*
|
|
75
|
+
* Automatic routing is intentionally conservative:
|
|
76
|
+
* - PROTECT -> delegate to the existing protected local connector;
|
|
77
|
+
* - BYPASS -> delegate to the existing bypass path;
|
|
78
|
+
* - UNKNOWN -> refuse connection until the tool is clarified.
|
|
79
|
+
*
|
|
80
|
+
* For protected tools, stable identity may be supplied by `id()` or resolved
|
|
81
|
+
* from trustworthy operation/idempotency/intent carriers. Effect payload may
|
|
82
|
+
* be supplied by `payload()` or conservatively bound from the full plain-object
|
|
83
|
+
* input. `_meta.once.effectFields` can explicitly narrow that binding.
|
|
84
|
+
* Missing/invalid identity or payload fails before the side effect.
|
|
85
|
+
*/
|
|
86
|
+
function connectLocalAgentToolAuto(tool, contract) {
|
|
87
|
+
if (!contract || !contract.descriptor) {
|
|
88
|
+
throw new AgentToolConnectionError("UNKNOWN_TOOL_SAFETY", "Once Connect needs a tool descriptor before automatic routing can be established.");
|
|
89
|
+
}
|
|
90
|
+
const classification = (0, tool_classifier_js_1.classifyConnectTool)(contract.descriptor);
|
|
91
|
+
if (classification.decision === tool_classifier_js_1.CONNECT_TOOL_DECISION.UNKNOWN) {
|
|
92
|
+
throw new AgentToolConnectionError("UNKNOWN_TOOL_SAFETY", `Once Connect cannot safely auto-route ${contract.descriptor.name || "this tool"}: ${classification.reason}.`);
|
|
93
|
+
}
|
|
94
|
+
if (classification.decision === tool_classifier_js_1.CONNECT_TOOL_DECISION.BYPASS) {
|
|
95
|
+
return connectLocalAgentTool(tool, {
|
|
96
|
+
name: contract.descriptor.name,
|
|
97
|
+
safety: AUTO_BYPASS_SAFETY,
|
|
98
|
+
statePath: contract.statePath,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
const identity = typeof contract.id === "function"
|
|
102
|
+
? contract.id
|
|
103
|
+
: (input) => {
|
|
104
|
+
const result = (0, identity_js_1.resolveConnectToolOperationIdentity)({
|
|
105
|
+
tool: contract.descriptor,
|
|
106
|
+
input,
|
|
107
|
+
});
|
|
108
|
+
if (result.status === "FOUND") {
|
|
109
|
+
return result.operationId;
|
|
110
|
+
}
|
|
111
|
+
if (result.status === "CONFLICT") {
|
|
112
|
+
throw new AgentToolConnectionError("IDENTITY_CONFLICT", result.reason);
|
|
113
|
+
}
|
|
114
|
+
throw new AgentToolConnectionError("IDENTITY_REQUIRED", result.reason);
|
|
115
|
+
};
|
|
116
|
+
const payload = typeof contract.payload === "function"
|
|
117
|
+
? contract.payload
|
|
118
|
+
: (input) => {
|
|
119
|
+
const result = (0, payload_js_1.resolveConnectToolEffectPayload)({
|
|
120
|
+
tool: contract.descriptor,
|
|
121
|
+
input,
|
|
122
|
+
});
|
|
123
|
+
if (result.status === "FOUND") {
|
|
124
|
+
return { ...result.payload };
|
|
125
|
+
}
|
|
126
|
+
throw new AgentToolConnectionError("PAYLOAD_REQUIRED", result.reason);
|
|
127
|
+
};
|
|
128
|
+
return connectLocalAgentTool(tool, {
|
|
129
|
+
name: contract.descriptor.name,
|
|
130
|
+
safety: AUTO_PROTECTED_SAFETY,
|
|
131
|
+
id: identity,
|
|
132
|
+
payload,
|
|
133
|
+
statePath: contract.statePath,
|
|
134
|
+
reconcile: contract.reconcile,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=local-agent-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-agent-tool.js","sourceRoot":"","sources":["../../src/connect/local-agent-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CONNECT_MANIFEST_VERSION = void 0;
|
|
4
|
+
exports.normalizeConnectToolManifest = normalizeConnectToolManifest;
|
|
5
|
+
exports.planConnectToolManifest = planConnectToolManifest;
|
|
6
|
+
const tool_classifier_js_1 = require("./tool-classifier.js");
|
|
7
|
+
exports.CONNECT_MANIFEST_VERSION = "connect-tool-plan-v1";
|
|
8
|
+
function isRecord(value) {
|
|
9
|
+
return Boolean(value) &&
|
|
10
|
+
typeof value === "object" &&
|
|
11
|
+
!Array.isArray(value);
|
|
12
|
+
}
|
|
13
|
+
function normalizeManifestInput(manifest) {
|
|
14
|
+
if (Array.isArray(manifest)) {
|
|
15
|
+
return manifest;
|
|
16
|
+
}
|
|
17
|
+
if (isRecord(manifest) && Array.isArray(manifest.tools)) {
|
|
18
|
+
return manifest.tools;
|
|
19
|
+
}
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
function normalizedAnnotations(value) {
|
|
23
|
+
return isRecord(value)
|
|
24
|
+
? value
|
|
25
|
+
: undefined;
|
|
26
|
+
}
|
|
27
|
+
function normalizedMeta(value) {
|
|
28
|
+
return isRecord(value)
|
|
29
|
+
? value
|
|
30
|
+
: undefined;
|
|
31
|
+
}
|
|
32
|
+
function normalizeTool(tool) {
|
|
33
|
+
if (!isRecord(tool)) {
|
|
34
|
+
return {
|
|
35
|
+
descriptor: tool,
|
|
36
|
+
name: null,
|
|
37
|
+
source: "invalid",
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
if (typeof tool.name === "string" &&
|
|
41
|
+
tool.name.trim().length > 0) {
|
|
42
|
+
return {
|
|
43
|
+
descriptor: tool,
|
|
44
|
+
name: tool.name,
|
|
45
|
+
source: "native",
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
if (tool.type === "function" &&
|
|
49
|
+
isRecord(tool.function) &&
|
|
50
|
+
typeof tool.function.name === "string" &&
|
|
51
|
+
tool.function.name.trim().length > 0) {
|
|
52
|
+
const fn = tool.function;
|
|
53
|
+
const name = tool.function.name;
|
|
54
|
+
const annotations = normalizedAnnotations(tool.annotations);
|
|
55
|
+
const meta = normalizedMeta(tool._meta) ?? normalizedMeta(fn._meta);
|
|
56
|
+
const descriptor = {
|
|
57
|
+
name,
|
|
58
|
+
...(typeof fn.description === "string"
|
|
59
|
+
? { description: fn.description }
|
|
60
|
+
: {}),
|
|
61
|
+
...(fn.parameters !== undefined
|
|
62
|
+
? { inputSchema: fn.parameters }
|
|
63
|
+
: {}),
|
|
64
|
+
...(annotations !== undefined
|
|
65
|
+
? { annotations }
|
|
66
|
+
: {}),
|
|
67
|
+
...(meta !== undefined
|
|
68
|
+
? { _meta: meta }
|
|
69
|
+
: {}),
|
|
70
|
+
};
|
|
71
|
+
return {
|
|
72
|
+
descriptor,
|
|
73
|
+
name,
|
|
74
|
+
source: "openai_function",
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
descriptor: tool,
|
|
79
|
+
name: null,
|
|
80
|
+
source: "invalid",
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Normalize the same manifest shapes accepted by planConnectToolManifest().
|
|
85
|
+
*
|
|
86
|
+
* This is exported for internal Connect modules so classification and wiring
|
|
87
|
+
* cannot silently disagree about the descriptor being inspected. It is not
|
|
88
|
+
* re-exported from the public @once-agent/sdk/connect entry point.
|
|
89
|
+
*/
|
|
90
|
+
function normalizeConnectToolManifest(manifest) {
|
|
91
|
+
const tools = normalizeManifestInput(manifest);
|
|
92
|
+
if (!tools) {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
return Object.freeze(tools.map(tool => Object.freeze(normalizeTool(tool))));
|
|
96
|
+
}
|
|
97
|
+
function freezeEntry(entry) {
|
|
98
|
+
return Object.freeze({
|
|
99
|
+
...entry,
|
|
100
|
+
signals: Object.freeze([...entry.signals]),
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
function invalidPlan() {
|
|
104
|
+
const entries = Object.freeze([]);
|
|
105
|
+
const summary = Object.freeze({
|
|
106
|
+
total: 0,
|
|
107
|
+
protect: 0,
|
|
108
|
+
bypass: 0,
|
|
109
|
+
unknown: 0,
|
|
110
|
+
});
|
|
111
|
+
return Object.freeze({
|
|
112
|
+
version: exports.CONNECT_MANIFEST_VERSION,
|
|
113
|
+
valid: false,
|
|
114
|
+
ready: false,
|
|
115
|
+
reason: "INVALID_MANIFEST",
|
|
116
|
+
entries,
|
|
117
|
+
protect: entries,
|
|
118
|
+
bypass: entries,
|
|
119
|
+
unknown: entries,
|
|
120
|
+
summary,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Inspect a complete tool manifest and produce an ordered Once protection plan.
|
|
125
|
+
*
|
|
126
|
+
* Accepted inputs:
|
|
127
|
+
* - an array of native/MCP-style tool descriptors;
|
|
128
|
+
* - an MCP-style `{ tools: [...] }` result;
|
|
129
|
+
* - OpenAI-style `{ type: "function", function: { ... } }` entries.
|
|
130
|
+
*
|
|
131
|
+
* `ready` is true only when every entry has a deterministic PROTECT/BYPASS
|
|
132
|
+
* decision. UNKNOWN never becomes implicit permission.
|
|
133
|
+
*/
|
|
134
|
+
function planConnectToolManifest(manifest) {
|
|
135
|
+
const tools = normalizeConnectToolManifest(manifest);
|
|
136
|
+
if (!tools) {
|
|
137
|
+
return invalidPlan();
|
|
138
|
+
}
|
|
139
|
+
const entries = tools.map((tool, index) => {
|
|
140
|
+
const classification = (0, tool_classifier_js_1.classifyConnectTool)(tool.descriptor);
|
|
141
|
+
return freezeEntry({
|
|
142
|
+
index,
|
|
143
|
+
name: tool.name,
|
|
144
|
+
source: tool.source,
|
|
145
|
+
decision: classification.decision,
|
|
146
|
+
reason: classification.reason,
|
|
147
|
+
signals: classification.signals,
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
const protect = entries.filter(entry => entry.decision === tool_classifier_js_1.CONNECT_TOOL_DECISION.PROTECT);
|
|
151
|
+
const bypass = entries.filter(entry => entry.decision === tool_classifier_js_1.CONNECT_TOOL_DECISION.BYPASS);
|
|
152
|
+
const unknown = entries.filter(entry => entry.decision === tool_classifier_js_1.CONNECT_TOOL_DECISION.UNKNOWN);
|
|
153
|
+
const summary = Object.freeze({
|
|
154
|
+
total: entries.length,
|
|
155
|
+
protect: protect.length,
|
|
156
|
+
bypass: bypass.length,
|
|
157
|
+
unknown: unknown.length,
|
|
158
|
+
});
|
|
159
|
+
return Object.freeze({
|
|
160
|
+
version: exports.CONNECT_MANIFEST_VERSION,
|
|
161
|
+
valid: true,
|
|
162
|
+
ready: unknown.length === 0,
|
|
163
|
+
reason: "CLASSIFIED",
|
|
164
|
+
entries: Object.freeze(entries),
|
|
165
|
+
protect: Object.freeze(protect),
|
|
166
|
+
bypass: Object.freeze(bypass),
|
|
167
|
+
unknown: Object.freeze(unknown),
|
|
168
|
+
summary,
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/connect/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenAIAgentsConnectError = void 0;
|
|
4
|
+
exports.connectOpenAIAgentsFunctionToolsAuto = connectOpenAIAgentsFunctionToolsAuto;
|
|
5
|
+
const tool_classifier_js_1 = require("./tool-classifier.js");
|
|
6
|
+
const identity_js_1 = require("./identity.js");
|
|
7
|
+
const payload_js_1 = require("./payload.js");
|
|
8
|
+
const toolset_js_1 = require("./toolset.js");
|
|
9
|
+
const local_agent_tool_js_1 = require("./local-agent-tool.js");
|
|
10
|
+
const openai_agents_js_1 = require("./openai-agents.js");
|
|
11
|
+
var openai_agents_js_2 = require("./openai-agents.js");
|
|
12
|
+
Object.defineProperty(exports, "OpenAIAgentsConnectError", { enumerable: true, get: function () { return openai_agents_js_2.OpenAIAgentsConnectError; } });
|
|
13
|
+
function isObject(value) {
|
|
14
|
+
return value !== null &&
|
|
15
|
+
typeof value === "object" &&
|
|
16
|
+
!Array.isArray(value);
|
|
17
|
+
}
|
|
18
|
+
function isFunctionToolLike(value) {
|
|
19
|
+
return isObject(value) &&
|
|
20
|
+
value.type === "function" &&
|
|
21
|
+
typeof value.name === "string" &&
|
|
22
|
+
value.name.trim() !== "" &&
|
|
23
|
+
typeof value.description === "string" &&
|
|
24
|
+
Object.prototype.hasOwnProperty.call(value, "parameters") &&
|
|
25
|
+
typeof value.invoke === "function";
|
|
26
|
+
}
|
|
27
|
+
function parseProtectedInput(toolName, rawInput) {
|
|
28
|
+
if (typeof rawInput !== "string") {
|
|
29
|
+
throw new openai_agents_js_1.OpenAIAgentsConnectError(`Once Connect expected OpenAI Agents function tool "${toolName}" to receive JSON text input.`, "INVALID_OPENAI_TOOL_INPUT");
|
|
30
|
+
}
|
|
31
|
+
let parsed;
|
|
32
|
+
try {
|
|
33
|
+
parsed = JSON.parse(rawInput);
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
throw new openai_agents_js_1.OpenAIAgentsConnectError(`Once Connect could not parse protected OpenAI Agents tool input for "${toolName}".`, "INVALID_OPENAI_TOOL_INPUT");
|
|
37
|
+
}
|
|
38
|
+
if (!isObject(parsed)) {
|
|
39
|
+
throw new openai_agents_js_1.OpenAIAgentsConnectError(`Once Connect requires protected OpenAI Agents tool input for "${toolName}" to be a JSON object.`, "INVALID_OPENAI_TOOL_INPUT");
|
|
40
|
+
}
|
|
41
|
+
return parsed;
|
|
42
|
+
}
|
|
43
|
+
function requireParsedInput(toolName, envelope) {
|
|
44
|
+
if (!envelope.parsedInput) {
|
|
45
|
+
throw new openai_agents_js_1.OpenAIAgentsConnectError(`Once Connect did not receive parsed protected input for "${toolName}".`, "INVALID_OPENAI_TOOL_INPUT");
|
|
46
|
+
}
|
|
47
|
+
return envelope.parsedInput;
|
|
48
|
+
}
|
|
49
|
+
function descriptorFor(tool, override) {
|
|
50
|
+
return {
|
|
51
|
+
name: tool.name,
|
|
52
|
+
description: tool.description,
|
|
53
|
+
inputSchema: tool.parameters,
|
|
54
|
+
...(override?.annotations !== undefined
|
|
55
|
+
? { annotations: override.annotations }
|
|
56
|
+
: {}),
|
|
57
|
+
...(override?._meta !== undefined
|
|
58
|
+
? { _meta: override._meta }
|
|
59
|
+
: {}),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function resolveIdentityForEnvelope(descriptor, envelope, override) {
|
|
63
|
+
const input = requireParsedInput(descriptor.name, envelope);
|
|
64
|
+
if (typeof override?.id === "function") {
|
|
65
|
+
return override.id(input);
|
|
66
|
+
}
|
|
67
|
+
const result = (0, identity_js_1.resolveConnectToolOperationIdentity)({
|
|
68
|
+
tool: descriptor,
|
|
69
|
+
input,
|
|
70
|
+
});
|
|
71
|
+
if (result.status === "FOUND") {
|
|
72
|
+
return result.operationId;
|
|
73
|
+
}
|
|
74
|
+
if (result.status === "CONFLICT") {
|
|
75
|
+
throw new local_agent_tool_js_1.AgentToolConnectionError("IDENTITY_CONFLICT", result.reason);
|
|
76
|
+
}
|
|
77
|
+
throw new local_agent_tool_js_1.AgentToolConnectionError("IDENTITY_REQUIRED", result.reason);
|
|
78
|
+
}
|
|
79
|
+
function resolvePayloadForEnvelope(descriptor, envelope, override) {
|
|
80
|
+
const input = requireParsedInput(descriptor.name, envelope);
|
|
81
|
+
if (typeof override?.payload === "function") {
|
|
82
|
+
return override.payload(input);
|
|
83
|
+
}
|
|
84
|
+
const result = (0, payload_js_1.resolveConnectToolEffectPayload)({
|
|
85
|
+
tool: descriptor,
|
|
86
|
+
input,
|
|
87
|
+
});
|
|
88
|
+
if (result.status === "FOUND") {
|
|
89
|
+
return { ...result.payload };
|
|
90
|
+
}
|
|
91
|
+
throw new local_agent_tool_js_1.AgentToolConnectionError("PAYLOAD_REQUIRED", result.reason);
|
|
92
|
+
}
|
|
93
|
+
function cloneFunctionToolWithInvoke(tool, invoke) {
|
|
94
|
+
const descriptors = Object.getOwnPropertyDescriptors(tool);
|
|
95
|
+
const originalInvoke = Object.getOwnPropertyDescriptor(tool, "invoke");
|
|
96
|
+
Reflect.deleteProperty(descriptors, "invoke");
|
|
97
|
+
const clone = Object.create(Object.getPrototypeOf(tool), descriptors);
|
|
98
|
+
Object.defineProperty(clone, "invoke", {
|
|
99
|
+
value: invoke,
|
|
100
|
+
enumerable: originalInvoke?.enumerable ?? true,
|
|
101
|
+
configurable: originalInvoke?.configurable ?? true,
|
|
102
|
+
writable: originalInvoke?.writable ?? true,
|
|
103
|
+
});
|
|
104
|
+
return clone;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Connect a complete array of OpenAI Agents SDK FunctionTool objects to Once.
|
|
108
|
+
*
|
|
109
|
+
* The returned FunctionTools preserve the original framework object shape and
|
|
110
|
+
* replace only `invoke`. Tool-call IDs/details are never used as logical Once
|
|
111
|
+
* identity. Protected calls derive identity/effect from the parsed JSON tool
|
|
112
|
+
* arguments and execute the original `invoke` with the original raw input,
|
|
113
|
+
* run context and call details.
|
|
114
|
+
*
|
|
115
|
+
* This v1 adapter is deliberately FunctionTool-only. Passing hosted, shell,
|
|
116
|
+
* computer, apply-patch, MCP or other tool types fails closed rather than
|
|
117
|
+
* returning a partially protected agent tool list.
|
|
118
|
+
*/
|
|
119
|
+
function connectOpenAIAgentsFunctionToolsAuto(tools, options = {}) {
|
|
120
|
+
if (!Array.isArray(tools)) {
|
|
121
|
+
throw new openai_agents_js_1.OpenAIAgentsConnectError("Once Connect needs an array of OpenAI Agents FunctionTool objects.", "INVALID_OPENAI_TOOLSET");
|
|
122
|
+
}
|
|
123
|
+
const registry = Object.create(null);
|
|
124
|
+
const manifest = [];
|
|
125
|
+
const internalOverrides = Object.create(null);
|
|
126
|
+
const originals = new Map();
|
|
127
|
+
for (const candidate of tools) {
|
|
128
|
+
if (!isFunctionToolLike(candidate)) {
|
|
129
|
+
throw new openai_agents_js_1.OpenAIAgentsConnectError("Once Connect v1 supports only OpenAI Agents FunctionTool objects with name, description, parameters and invoke.", "UNSUPPORTED_OPENAI_TOOL_TYPE");
|
|
130
|
+
}
|
|
131
|
+
const override = options.overrides?.[candidate.name];
|
|
132
|
+
const descriptor = descriptorFor(candidate, override);
|
|
133
|
+
manifest.push(descriptor);
|
|
134
|
+
originals.set(candidate.name, candidate);
|
|
135
|
+
registry[candidate.name] = {
|
|
136
|
+
execute: async (envelope) => await candidate.invoke(envelope.runContext, envelope.rawInput, envelope.details),
|
|
137
|
+
};
|
|
138
|
+
internalOverrides[candidate.name] = {
|
|
139
|
+
statePath: override?.statePath ?? options.statePath,
|
|
140
|
+
id: (envelope) => resolveIdentityForEnvelope(descriptor, envelope, override),
|
|
141
|
+
payload: (envelope) => resolvePayloadForEnvelope(descriptor, envelope, override),
|
|
142
|
+
reconcile: override?.reconcile,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
if (options.overrides) {
|
|
146
|
+
for (const name of Object.keys(options.overrides)) {
|
|
147
|
+
if (!originals.has(name)) {
|
|
148
|
+
internalOverrides[name] = {};
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
const connected = (0, toolset_js_1.connectLocalAgentToolsetAuto)(registry, {
|
|
153
|
+
manifest,
|
|
154
|
+
statePath: options.statePath,
|
|
155
|
+
overrides: internalOverrides,
|
|
156
|
+
});
|
|
157
|
+
const decisions = new Map(connected.plan.entries.map(entry => [
|
|
158
|
+
entry.name,
|
|
159
|
+
entry.decision,
|
|
160
|
+
]));
|
|
161
|
+
const wrappedTools = tools.map((tool) => {
|
|
162
|
+
const decision = decisions.get(tool.name);
|
|
163
|
+
const connectedTool = connected.tools[tool.name];
|
|
164
|
+
if (!connectedTool) {
|
|
165
|
+
throw new openai_agents_js_1.OpenAIAgentsConnectError(`Once Connect did not produce a connected implementation for "${tool.name}".`, "INVALID_OPENAI_TOOLSET");
|
|
166
|
+
}
|
|
167
|
+
const wrappedInvoke = async (runContext, rawInput, details) => {
|
|
168
|
+
const envelope = {
|
|
169
|
+
runContext,
|
|
170
|
+
rawInput,
|
|
171
|
+
details,
|
|
172
|
+
...(decision === tool_classifier_js_1.CONNECT_TOOL_DECISION.PROTECT
|
|
173
|
+
? {
|
|
174
|
+
parsedInput: parseProtectedInput(tool.name, rawInput),
|
|
175
|
+
}
|
|
176
|
+
: {}),
|
|
177
|
+
};
|
|
178
|
+
return await connectedTool.execute(envelope);
|
|
179
|
+
};
|
|
180
|
+
return cloneFunctionToolWithInvoke(tool, wrappedInvoke);
|
|
181
|
+
});
|
|
182
|
+
return Object.freeze({
|
|
183
|
+
plan: connected.plan,
|
|
184
|
+
tools: Object.freeze(wrappedTools),
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=openai-function-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-function-tools.js","sourceRoot":"","sources":["../../src/connect/openai-function-tools.ts"],"names":[],"mappings":"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"}
|