@assemblyline-agents/core 0.1.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/LICENSE +21 -0
- package/README.md +19 -0
- package/dist/adapter-metadata.d.ts +7 -0
- package/dist/adapter-metadata.d.ts.map +1 -0
- package/dist/adapter-metadata.js +232 -0
- package/dist/adapter-metadata.js.map +1 -0
- package/dist/artifact-dir.d.ts +21 -0
- package/dist/artifact-dir.d.ts.map +1 -0
- package/dist/artifact-dir.js +35 -0
- package/dist/artifact-dir.js.map +1 -0
- package/dist/brand.d.ts +37 -0
- package/dist/brand.d.ts.map +1 -0
- package/dist/brand.js +42 -0
- package/dist/brand.js.map +1 -0
- package/dist/connection-auth.d.ts +27 -0
- package/dist/connection-auth.d.ts.map +1 -0
- package/dist/connection-auth.js +75 -0
- package/dist/connection-auth.js.map +1 -0
- package/dist/connection-types.d.ts +318 -0
- package/dist/connection-types.d.ts.map +1 -0
- package/dist/connection-types.js +2 -0
- package/dist/connection-types.js.map +1 -0
- package/dist/definitions.d.ts +98 -0
- package/dist/definitions.d.ts.map +1 -0
- package/dist/definitions.js +193 -0
- package/dist/definitions.js.map +1 -0
- package/dist/deploy.d.ts +151 -0
- package/dist/deploy.d.ts.map +1 -0
- package/dist/deploy.js +25 -0
- package/dist/deploy.js.map +1 -0
- package/dist/env-alias.d.ts +35 -0
- package/dist/env-alias.d.ts.map +1 -0
- package/dist/env-alias.js +79 -0
- package/dist/env-alias.js.map +1 -0
- package/dist/harness.d.ts +299 -0
- package/dist/harness.d.ts.map +1 -0
- package/dist/harness.js +22 -0
- package/dist/harness.js.map +1 -0
- package/dist/index.d.ts +487 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/json-schema-validate.d.ts +17 -0
- package/dist/json-schema-validate.d.ts.map +1 -0
- package/dist/json-schema-validate.js +79 -0
- package/dist/json-schema-validate.js.map +1 -0
- package/dist/manifest-types.d.ts +248 -0
- package/dist/manifest-types.d.ts.map +1 -0
- package/dist/manifest-types.js +2 -0
- package/dist/manifest-types.js.map +1 -0
- package/dist/plugin.d.ts +134 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +830 -0
- package/dist/plugin.js.map +1 -0
- package/dist/provider.d.ts +43 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +33 -0
- package/dist/provider.js.map +1 -0
- package/dist/resource-types.d.ts +119 -0
- package/dist/resource-types.d.ts.map +1 -0
- package/dist/resource-types.js +2 -0
- package/dist/resource-types.js.map +1 -0
- package/dist/sandbox-filesystem-contract.d.ts +28 -0
- package/dist/sandbox-filesystem-contract.d.ts.map +1 -0
- package/dist/sandbox-filesystem-contract.js +64 -0
- package/dist/sandbox-filesystem-contract.js.map +1 -0
- package/dist/sandbox-paths.d.ts +24 -0
- package/dist/sandbox-paths.d.ts.map +1 -0
- package/dist/sandbox-paths.js +107 -0
- package/dist/sandbox-paths.js.map +1 -0
- package/dist/sandbox-security.d.ts +10 -0
- package/dist/sandbox-security.d.ts.map +1 -0
- package/dist/sandbox-security.js +34 -0
- package/dist/sandbox-security.js.map +1 -0
- package/dist/sandbox-types.d.ts +114 -0
- package/dist/sandbox-types.d.ts.map +1 -0
- package/dist/sandbox-types.js +2 -0
- package/dist/sandbox-types.js.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
import type { AdapterDefinition, ApprovalPolicy, JsonObject, JsonSchema, JsonValue, MaybePromise } from "./index.js";
|
|
2
|
+
export interface ConnectionDefinition {
|
|
3
|
+
description?: string;
|
|
4
|
+
provider: string;
|
|
5
|
+
binding?: AdapterDefinition;
|
|
6
|
+
scopes?: string[];
|
|
7
|
+
capabilities?: string[];
|
|
8
|
+
subject?: "user" | "workspace" | "installation" | "environment";
|
|
9
|
+
required?: boolean;
|
|
10
|
+
metadata?: JsonObject;
|
|
11
|
+
}
|
|
12
|
+
export type ConnectionProtocol = "declaration" | "mcp" | "openapi" | "http" | "cli";
|
|
13
|
+
export interface TokenResult {
|
|
14
|
+
token: string;
|
|
15
|
+
expiresAt?: number;
|
|
16
|
+
refreshToken?: string;
|
|
17
|
+
tokenType?: string;
|
|
18
|
+
scopes?: string[];
|
|
19
|
+
/** Non-standard token-response extras (provider identity ids etc.). */
|
|
20
|
+
credential?: JsonObject;
|
|
21
|
+
}
|
|
22
|
+
export type ConnectionPrincipal = {
|
|
23
|
+
type: "app";
|
|
24
|
+
} | {
|
|
25
|
+
type: "user";
|
|
26
|
+
id: string;
|
|
27
|
+
issuer: string;
|
|
28
|
+
attributes?: Record<string, string | string[]>;
|
|
29
|
+
};
|
|
30
|
+
export interface ConnectionAuthorizationContext {
|
|
31
|
+
url: string;
|
|
32
|
+
}
|
|
33
|
+
export interface ConnectionAuthorizationChallenge {
|
|
34
|
+
url?: string;
|
|
35
|
+
userCode?: string;
|
|
36
|
+
instructions?: string;
|
|
37
|
+
displayName?: string;
|
|
38
|
+
[key: string]: JsonValue | undefined;
|
|
39
|
+
}
|
|
40
|
+
export interface AuthorizationCallback {
|
|
41
|
+
params: Record<string, string>;
|
|
42
|
+
method: string;
|
|
43
|
+
body?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface NonInteractiveAuthorizationDefinition {
|
|
46
|
+
principalType: "app" | "user";
|
|
47
|
+
displayName?: string;
|
|
48
|
+
getToken(options: {
|
|
49
|
+
principal: ConnectionPrincipal;
|
|
50
|
+
connection: ConnectionAuthorizationContext;
|
|
51
|
+
}): MaybePromise<TokenResult>;
|
|
52
|
+
evict?(options: {
|
|
53
|
+
principal: ConnectionPrincipal;
|
|
54
|
+
connection: ConnectionAuthorizationContext;
|
|
55
|
+
}): MaybePromise<void>;
|
|
56
|
+
startAuthorization?: undefined;
|
|
57
|
+
completeAuthorization?: undefined;
|
|
58
|
+
}
|
|
59
|
+
export interface OAuthAuthorizationDefinition {
|
|
60
|
+
principalType: "user";
|
|
61
|
+
displayName?: string;
|
|
62
|
+
authorizeUrl: string;
|
|
63
|
+
tokenUrl: string;
|
|
64
|
+
clientId: string;
|
|
65
|
+
clientSecret?: string;
|
|
66
|
+
scopes?: string[];
|
|
67
|
+
redirectUri?: string;
|
|
68
|
+
authorizationParams?: Record<string, string>;
|
|
69
|
+
tokenParams?: Record<string, string>;
|
|
70
|
+
pkce?: boolean;
|
|
71
|
+
/** Override the token response's scheme when the provider requires a non-Bearer Authorization header. */
|
|
72
|
+
tokenType?: string;
|
|
73
|
+
}
|
|
74
|
+
export interface InteractiveAuthorizationDefinition<Resume extends JsonValue = JsonValue> {
|
|
75
|
+
principalType: "user";
|
|
76
|
+
displayName?: string;
|
|
77
|
+
getToken(options: {
|
|
78
|
+
principal: ConnectionPrincipal;
|
|
79
|
+
connection: ConnectionAuthorizationContext;
|
|
80
|
+
}): MaybePromise<TokenResult>;
|
|
81
|
+
evict?(options: {
|
|
82
|
+
principal: ConnectionPrincipal;
|
|
83
|
+
connection: ConnectionAuthorizationContext;
|
|
84
|
+
}): MaybePromise<void>;
|
|
85
|
+
startAuthorization(options: {
|
|
86
|
+
principal: ConnectionPrincipal;
|
|
87
|
+
connection: ConnectionAuthorizationContext;
|
|
88
|
+
callbackUrl: string;
|
|
89
|
+
}): MaybePromise<{
|
|
90
|
+
challenge: ConnectionAuthorizationChallenge;
|
|
91
|
+
resume?: Resume;
|
|
92
|
+
}>;
|
|
93
|
+
completeAuthorization(options: {
|
|
94
|
+
principal: ConnectionPrincipal;
|
|
95
|
+
connection: ConnectionAuthorizationContext;
|
|
96
|
+
callbackUrl: string;
|
|
97
|
+
resume?: Resume;
|
|
98
|
+
callback: AuthorizationCallback;
|
|
99
|
+
}): MaybePromise<TokenResult>;
|
|
100
|
+
}
|
|
101
|
+
export type AuthorizationDefinition<Resume extends JsonValue = JsonValue> = NonInteractiveAuthorizationDefinition | OAuthAuthorizationDefinition | InteractiveAuthorizationDefinition<Resume>;
|
|
102
|
+
export type ConnectionAuthProvider = (Omit<NonInteractiveAuthorizationDefinition, "principalType"> & {
|
|
103
|
+
principalType?: NonInteractiveAuthorizationDefinition["principalType"];
|
|
104
|
+
}) | AuthorizationDefinition;
|
|
105
|
+
export interface ConnectionResolverContext {
|
|
106
|
+
session: {
|
|
107
|
+
userId?: string;
|
|
108
|
+
channel?: string;
|
|
109
|
+
conversationId?: string;
|
|
110
|
+
metadata?: JsonObject;
|
|
111
|
+
};
|
|
112
|
+
env: Record<string, string | undefined>;
|
|
113
|
+
}
|
|
114
|
+
export type ConnectionAuthResolver = (ctx: ConnectionResolverContext) => MaybePromise<ConnectionAuthProvider>;
|
|
115
|
+
export type ConnectionAuthDefinition = ConnectionAuthProvider | ConnectionAuthResolver;
|
|
116
|
+
/**
|
|
117
|
+
* Redeems a user-provided one-time pairing code (a binding packet, setup
|
|
118
|
+
* code, or claim token pasted into chat) for the connection's credentials.
|
|
119
|
+
* Runs HOST-side: the returned TokenResult is stored in the grant store, so
|
|
120
|
+
* the durable credential never lives in a sandbox and the model only ever
|
|
121
|
+
* relays a single-use code. Providers that rotate refresh tokens should
|
|
122
|
+
* return them here; refresh then follows the connection's normal auth flow.
|
|
123
|
+
*/
|
|
124
|
+
export type ConnectionPairingRedeemer = (input: {
|
|
125
|
+
code: string;
|
|
126
|
+
}, ctx: ConnectionResolverContext) => MaybePromise<TokenResult>;
|
|
127
|
+
export type HeaderValue = string | Promise<string> | ((ctx: ConnectionResolverContext) => MaybePromise<string>);
|
|
128
|
+
export type HeadersDefinition = Record<string, HeaderValue> | ((ctx: ConnectionResolverContext) => MaybePromise<Record<string, string>>);
|
|
129
|
+
export type ToolFilterDefinition = {
|
|
130
|
+
allow: string[];
|
|
131
|
+
} | {
|
|
132
|
+
block: string[];
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Explicit tool-level authority for a live connection. Patterns are matched
|
|
136
|
+
* against remote tool/operation names. Write matches take precedence so a
|
|
137
|
+
* broad read pattern can never bypass a write approval gate.
|
|
138
|
+
*/
|
|
139
|
+
export interface ConnectionAccessDefinition {
|
|
140
|
+
read: {
|
|
141
|
+
tools: string[];
|
|
142
|
+
};
|
|
143
|
+
write: false | {
|
|
144
|
+
tools: string[];
|
|
145
|
+
approval: ConnectionApprovalDefinition;
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
export interface ConnectionApprovalPolicy {
|
|
149
|
+
mode: "never" | "always" | "once";
|
|
150
|
+
reason?: string;
|
|
151
|
+
}
|
|
152
|
+
export type ConnectionApprovalDefinition = ApprovalPolicy | ConnectionApprovalPolicy | boolean;
|
|
153
|
+
/**
|
|
154
|
+
* A credential file projected into the agent sandbox at boot. `path` and
|
|
155
|
+
* `content` are templates: `{{token}}` renders to the connection's resolved
|
|
156
|
+
* access token (refreshed host-side through the normal grant flow — the
|
|
157
|
+
* refresh token itself never enters the sandbox). Files land with `mode`
|
|
158
|
+
* (default 0600). Put paths outside /workspace, or under /workspace/.openeve/,
|
|
159
|
+
* so workspace artifact scans never sweep them into durable storage.
|
|
160
|
+
*/
|
|
161
|
+
export interface ConnectionMaterializeFile {
|
|
162
|
+
path: string;
|
|
163
|
+
content: string;
|
|
164
|
+
mode?: number;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Declares that a connection's credential should be materialized into the
|
|
168
|
+
* agent sandbox — for CLIs and processes that run inside the sandbox and
|
|
169
|
+
* cannot route through the host-side connection clients. Only the short-lived
|
|
170
|
+
* access token is ever rendered; rotation and grant storage stay host-side.
|
|
171
|
+
*/
|
|
172
|
+
export interface ConnectionMaterializeDefinition {
|
|
173
|
+
files: ConnectionMaterializeFile[];
|
|
174
|
+
}
|
|
175
|
+
interface McpConnectionDefinitionBase {
|
|
176
|
+
description: string;
|
|
177
|
+
tools?: ToolFilterDefinition;
|
|
178
|
+
access: ConnectionAccessDefinition;
|
|
179
|
+
approval?: ConnectionApprovalDefinition;
|
|
180
|
+
required?: boolean;
|
|
181
|
+
subject?: ConnectionDefinition["subject"];
|
|
182
|
+
metadata?: JsonObject;
|
|
183
|
+
}
|
|
184
|
+
/** An MCP server reached through Streamable HTTP. `transport` is optional for backwards compatibility. */
|
|
185
|
+
export interface McpHttpClientConnectionDefinition extends McpConnectionDefinitionBase {
|
|
186
|
+
transport?: "http";
|
|
187
|
+
url: string;
|
|
188
|
+
auth?: ConnectionAuthDefinition;
|
|
189
|
+
headers?: HeadersDefinition;
|
|
190
|
+
materialize?: ConnectionMaterializeDefinition;
|
|
191
|
+
redeemPairingCode?: ConnectionPairingRedeemer;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* A static, same-host MCP server launched directly by the OpenEve Node host.
|
|
195
|
+
* The runtime never evaluates these values through a shell.
|
|
196
|
+
*/
|
|
197
|
+
export interface McpStdioClientConnectionDefinition extends McpConnectionDefinitionBase {
|
|
198
|
+
transport: "stdio";
|
|
199
|
+
command: string;
|
|
200
|
+
args?: string[];
|
|
201
|
+
cwd?: string;
|
|
202
|
+
env?: Record<string, string>;
|
|
203
|
+
url?: never;
|
|
204
|
+
auth?: never;
|
|
205
|
+
headers?: never;
|
|
206
|
+
materialize?: never;
|
|
207
|
+
redeemPairingCode?: never;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* An end-to-end encrypted MCP-compatible device connection routed through an
|
|
211
|
+
* OpenEve computer relay. The binding credential is resolved only by the
|
|
212
|
+
* runtime host and contains the device-scoped authentication and E2EE keys.
|
|
213
|
+
*/
|
|
214
|
+
export interface McpRelayClientConnectionDefinition extends McpConnectionDefinitionBase {
|
|
215
|
+
transport: "relay";
|
|
216
|
+
url: string;
|
|
217
|
+
credentialEnv: string;
|
|
218
|
+
timeoutMs?: number;
|
|
219
|
+
auth?: never;
|
|
220
|
+
headers?: never;
|
|
221
|
+
materialize?: never;
|
|
222
|
+
redeemPairingCode?: never;
|
|
223
|
+
}
|
|
224
|
+
export type McpClientConnectionDefinition = McpHttpClientConnectionDefinition | McpStdioClientConnectionDefinition | McpRelayClientConnectionDefinition;
|
|
225
|
+
export type OpenAPISpecSource = string | JsonObject;
|
|
226
|
+
export interface OpenAPIConnectionDefinition {
|
|
227
|
+
spec: OpenAPISpecSource;
|
|
228
|
+
baseUrl?: string;
|
|
229
|
+
description: string;
|
|
230
|
+
auth?: ConnectionAuthDefinition;
|
|
231
|
+
headers?: HeadersDefinition;
|
|
232
|
+
operations?: ToolFilterDefinition;
|
|
233
|
+
access: ConnectionAccessDefinition;
|
|
234
|
+
approval?: ConnectionApprovalDefinition;
|
|
235
|
+
materialize?: ConnectionMaterializeDefinition;
|
|
236
|
+
redeemPairingCode?: ConnectionPairingRedeemer;
|
|
237
|
+
required?: boolean;
|
|
238
|
+
subject?: ConnectionDefinition["subject"];
|
|
239
|
+
metadata?: JsonObject;
|
|
240
|
+
}
|
|
241
|
+
export type HttpApiParameterLocation = "path" | "query" | "header" | "cookie";
|
|
242
|
+
export interface HttpApiOperationDefinition {
|
|
243
|
+
name: string;
|
|
244
|
+
description: string;
|
|
245
|
+
method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS" | Lowercase<"GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS">;
|
|
246
|
+
path: string;
|
|
247
|
+
inputSchema?: JsonSchema;
|
|
248
|
+
outputSchema?: JsonSchema;
|
|
249
|
+
parameters?: Array<{
|
|
250
|
+
name: string;
|
|
251
|
+
in: HttpApiParameterLocation;
|
|
252
|
+
required?: boolean;
|
|
253
|
+
schema?: JsonSchema;
|
|
254
|
+
}>;
|
|
255
|
+
body?: {
|
|
256
|
+
contentType?: string;
|
|
257
|
+
field?: string;
|
|
258
|
+
schema?: JsonSchema;
|
|
259
|
+
} | boolean;
|
|
260
|
+
}
|
|
261
|
+
export interface HttpApiConnectionDefinition {
|
|
262
|
+
baseUrl: string;
|
|
263
|
+
description: string;
|
|
264
|
+
auth?: ConnectionAuthDefinition;
|
|
265
|
+
headers?: HeadersDefinition;
|
|
266
|
+
operations: HttpApiOperationDefinition[];
|
|
267
|
+
operationFilter?: ToolFilterDefinition;
|
|
268
|
+
access: ConnectionAccessDefinition;
|
|
269
|
+
approval?: ConnectionApprovalDefinition;
|
|
270
|
+
materialize?: ConnectionMaterializeDefinition;
|
|
271
|
+
redeemPairingCode?: ConnectionPairingRedeemer;
|
|
272
|
+
required?: boolean;
|
|
273
|
+
subject?: ConnectionDefinition["subject"];
|
|
274
|
+
metadata?: JsonObject;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* One reviewed CLI invocation built by a sandbox CLI connection tool.
|
|
278
|
+
* `args` are passed as individual shell-quoted arguments; model-authored shell
|
|
279
|
+
* source is never accepted. Logical attachment paths can be hydrated before
|
|
280
|
+
* the process starts.
|
|
281
|
+
*/
|
|
282
|
+
export interface SandboxCliInvocation {
|
|
283
|
+
args: string[];
|
|
284
|
+
cwd?: string;
|
|
285
|
+
timeoutMs?: number;
|
|
286
|
+
hydratePaths?: string[];
|
|
287
|
+
}
|
|
288
|
+
export interface SandboxCliToolDefinition {
|
|
289
|
+
name: string;
|
|
290
|
+
description: string;
|
|
291
|
+
inputSchema: JsonSchema;
|
|
292
|
+
outputSchema?: JsonSchema;
|
|
293
|
+
build(input: unknown): MaybePromise<SandboxCliInvocation>;
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* A connection whose reviewed tools invoke one external provider CLI inside
|
|
297
|
+
* the run sandbox. This preserves connection selection, discovery, scoping,
|
|
298
|
+
* and approval semantics while giving the process access to /files and
|
|
299
|
+
* /workspace.
|
|
300
|
+
*/
|
|
301
|
+
export interface SandboxCliConnectionDefinition {
|
|
302
|
+
transport: "sandbox";
|
|
303
|
+
command: string;
|
|
304
|
+
description: string;
|
|
305
|
+
tools: SandboxCliToolDefinition[];
|
|
306
|
+
access: ConnectionAccessDefinition;
|
|
307
|
+
approval?: ConnectionApprovalDefinition;
|
|
308
|
+
auth?: ConnectionAuthDefinition;
|
|
309
|
+
headers?: never;
|
|
310
|
+
materialize?: ConnectionMaterializeDefinition;
|
|
311
|
+
redeemPairingCode?: ConnectionPairingRedeemer;
|
|
312
|
+
maxOutputChars?: number;
|
|
313
|
+
required?: boolean;
|
|
314
|
+
subject?: ConnectionDefinition["subject"];
|
|
315
|
+
metadata?: JsonObject;
|
|
316
|
+
}
|
|
317
|
+
export {};
|
|
318
|
+
//# sourceMappingURL=connection-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-types.d.ts","sourceRoot":"","sources":["../src/connection-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-types.js","sourceRoot":"","sources":["../src/connection-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { AgentDefinition, AutomationDefinition, AutomationHandlerDefinition, ApprovalPolicy, ChannelDefinition, ConnectionDefinition, ContextPolicy, GatewayDefinition, HttpApiConnectionDefinition, InstrumentationDefinition, InteractiveAuthorizationDefinition, JsonObject, JsonValue, MaybePromise, McpHttpClientConnectionDefinition, McpRelayClientConnectionDefinition, McpStdioClientConnectionDefinition, OAuthAuthorizationDefinition, OpenAPIConnectionDefinition, SandboxCliConnectionDefinition, SandboxDefinition, ScheduleDefinition, SubagentDefinition, ToolDefinition, TriggerHandlerDefinition } from "./index.js";
|
|
2
|
+
export declare function defineAgent(definition: AgentDefinition): AgentDefinition;
|
|
3
|
+
export declare function defineSubagent(definition: SubagentDefinition): SubagentDefinition;
|
|
4
|
+
export declare function defineGateway(definition: GatewayDefinition): GatewayDefinition;
|
|
5
|
+
export declare function defaultContext(options?: JsonObject): ContextPolicy;
|
|
6
|
+
export declare function defineContext(policy: ContextPolicy): ContextPolicy;
|
|
7
|
+
export declare function defineTool<Input = unknown, Output = unknown, ModelOutput = unknown>(definition: ToolDefinition<Input, Output, ModelOutput>): ToolDefinition<Input, Output, ModelOutput>;
|
|
8
|
+
/**
|
|
9
|
+
* The built-in harness tool slugs. An authored file at `tools/<name>.ts` with one
|
|
10
|
+
* of these names overrides the built-in; a `disableTool()` export removes it.
|
|
11
|
+
*/
|
|
12
|
+
export declare const BUILT_IN_HARNESS_TOOL_NAMES: readonly ["read", "write", "edit", "delete", "list", "grep", "bash", "ask_question", "spawn_subagent", "load_skill", "tool_search", "tool_describe", "tool_call"];
|
|
13
|
+
export declare function isBuiltInHarnessToolName(name: string): boolean;
|
|
14
|
+
export interface DisabledToolSentinel {
|
|
15
|
+
openeveDisabledTool: true;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Default-export from `tools/<name>.ts` to remove the built-in tool of that name.
|
|
19
|
+
* The filename selects the tool; a name that matches no built-in fails the build.
|
|
20
|
+
*/
|
|
21
|
+
export declare function disableTool(): DisabledToolSentinel;
|
|
22
|
+
export declare function isDisabledToolSentinel(value: unknown): value is DisabledToolSentinel;
|
|
23
|
+
/** A durable run event as delivered to hooks, after it is persisted. */
|
|
24
|
+
export interface HookRunEvent {
|
|
25
|
+
type: string;
|
|
26
|
+
timestamp: string;
|
|
27
|
+
data: JsonObject;
|
|
28
|
+
sequence?: number;
|
|
29
|
+
}
|
|
30
|
+
export interface HookEventContext {
|
|
31
|
+
runId: string;
|
|
32
|
+
agent: {
|
|
33
|
+
name: string;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export type HookEventHandler = (event: HookRunEvent, ctx: HookEventContext) => MaybePromise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* An observe-only subscriber authored at `hooks/<name>.ts`. Handlers are keyed
|
|
39
|
+
* by event type (`*` matches every event), fire after the event is durably
|
|
40
|
+
* recorded, and can never alter or fail the run — thrown errors are logged
|
|
41
|
+
* and swallowed.
|
|
42
|
+
*/
|
|
43
|
+
export interface HookDefinition {
|
|
44
|
+
events: Record<string, HookEventHandler>;
|
|
45
|
+
}
|
|
46
|
+
export declare function defineHook(definition: HookDefinition): HookDefinition;
|
|
47
|
+
/** The declaration a run resolver returns; the runtime records and applies it. */
|
|
48
|
+
export interface RunResolution {
|
|
49
|
+
/** Overrides the manifest model for this run (host-forced models still win). */
|
|
50
|
+
model?: string;
|
|
51
|
+
/** Appended to the authored instructions for this run. */
|
|
52
|
+
instructions?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Replaces the default-visible tool set for this run (built-in names
|
|
55
|
+
* included — list every tool the model should start with).
|
|
56
|
+
*/
|
|
57
|
+
defaultTools?: string[];
|
|
58
|
+
}
|
|
59
|
+
export interface RunResolverContext {
|
|
60
|
+
runId: string;
|
|
61
|
+
agent: {
|
|
62
|
+
name: string;
|
|
63
|
+
};
|
|
64
|
+
message: string;
|
|
65
|
+
channel?: string;
|
|
66
|
+
conversationId?: string;
|
|
67
|
+
metadata?: JsonObject;
|
|
68
|
+
env: Record<string, string | undefined>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Authored at `resolvers.ts`: decides per-run model, instructions, and default
|
|
72
|
+
* tool set from the run context. Runs once per run; the returned declaration
|
|
73
|
+
* is recorded as a `run.capabilities_resolved` event before it is applied.
|
|
74
|
+
*/
|
|
75
|
+
export type RunResolverDefinition = (ctx: RunResolverContext) => MaybePromise<RunResolution | null | undefined>;
|
|
76
|
+
export declare function defineRunResolver(definition: RunResolverDefinition): RunResolverDefinition;
|
|
77
|
+
export declare function defineChannel(definition: ChannelDefinition): ChannelDefinition;
|
|
78
|
+
/** @deprecated Use `defineAutomation` with `trigger.type = "schedule"`. */
|
|
79
|
+
export declare function defineSchedule(definition: ScheduleDefinition): ScheduleDefinition;
|
|
80
|
+
export declare function defineAutomation(definition: AutomationDefinition): AutomationDefinition;
|
|
81
|
+
export declare function defineAutomationHandler(definition: AutomationHandlerDefinition): AutomationHandlerDefinition;
|
|
82
|
+
/** @deprecated Use `defineAutomationHandler`. */
|
|
83
|
+
export declare function defineTriggerHandler(definition: TriggerHandlerDefinition): TriggerHandlerDefinition;
|
|
84
|
+
export declare function defineConnection(definition: ConnectionDefinition): ConnectionDefinition;
|
|
85
|
+
export declare function defineMcpClientConnection(definition: McpHttpClientConnectionDefinition): McpHttpClientConnectionDefinition;
|
|
86
|
+
export declare function defineMcpStdioConnection(definition: McpStdioClientConnectionDefinition): McpStdioClientConnectionDefinition;
|
|
87
|
+
export declare function defineMcpRelayConnection(definition: McpRelayClientConnectionDefinition): McpRelayClientConnectionDefinition;
|
|
88
|
+
export declare function defineOpenAPIConnection(definition: OpenAPIConnectionDefinition): OpenAPIConnectionDefinition;
|
|
89
|
+
export declare function defineHttpApiConnection(definition: HttpApiConnectionDefinition): HttpApiConnectionDefinition;
|
|
90
|
+
export declare function defineSandboxCliConnection(definition: SandboxCliConnectionDefinition): SandboxCliConnectionDefinition;
|
|
91
|
+
export declare function defineOAuthAuthorization(definition: Omit<OAuthAuthorizationDefinition, "principalType">): OAuthAuthorizationDefinition;
|
|
92
|
+
export declare function defineInteractiveAuthorization<Resume extends JsonValue = never>(definition: Omit<InteractiveAuthorizationDefinition<Resume>, "principalType">): InteractiveAuthorizationDefinition<Resume>;
|
|
93
|
+
export declare function defineSandbox(definition: SandboxDefinition): SandboxDefinition;
|
|
94
|
+
export declare function defineInstrumentation(definition: InstrumentationDefinition): InstrumentationDefinition;
|
|
95
|
+
export declare function approvalRequired(reason: string, sideEffect?: ApprovalPolicy["sideEffect"]): ApprovalPolicy;
|
|
96
|
+
export declare function approvalNever(): ApprovalPolicy;
|
|
97
|
+
export declare function normalizeApprovalPolicy(policy: boolean | ApprovalPolicy | undefined): ApprovalPolicy;
|
|
98
|
+
//# sourceMappingURL=definitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { validateConnectionAccess, validateConnectionAuthDefinition, validateToolFilter } from "./connection-auth.js";
|
|
2
|
+
export function defineAgent(definition) {
|
|
3
|
+
return definition;
|
|
4
|
+
}
|
|
5
|
+
export function defineSubagent(definition) {
|
|
6
|
+
return definition;
|
|
7
|
+
}
|
|
8
|
+
export function defineGateway(definition) {
|
|
9
|
+
return definition;
|
|
10
|
+
}
|
|
11
|
+
export function defaultContext(options = {}) {
|
|
12
|
+
return { kind: "default", name: "defaultContext", options };
|
|
13
|
+
}
|
|
14
|
+
export function defineContext(policy) {
|
|
15
|
+
return policy;
|
|
16
|
+
}
|
|
17
|
+
export function defineTool(definition) {
|
|
18
|
+
return definition;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The built-in harness tool slugs. An authored file at `tools/<name>.ts` with one
|
|
22
|
+
* of these names overrides the built-in; a `disableTool()` export removes it.
|
|
23
|
+
*/
|
|
24
|
+
export const BUILT_IN_HARNESS_TOOL_NAMES = [
|
|
25
|
+
"read",
|
|
26
|
+
"write",
|
|
27
|
+
"edit",
|
|
28
|
+
"delete",
|
|
29
|
+
"list",
|
|
30
|
+
"grep",
|
|
31
|
+
"bash",
|
|
32
|
+
"ask_question",
|
|
33
|
+
"spawn_subagent",
|
|
34
|
+
"load_skill",
|
|
35
|
+
"tool_search",
|
|
36
|
+
"tool_describe",
|
|
37
|
+
"tool_call"
|
|
38
|
+
];
|
|
39
|
+
const BUILT_IN_HARNESS_TOOL_NAME_SET = new Set(BUILT_IN_HARNESS_TOOL_NAMES);
|
|
40
|
+
export function isBuiltInHarnessToolName(name) {
|
|
41
|
+
return BUILT_IN_HARNESS_TOOL_NAME_SET.has(name);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Default-export from `tools/<name>.ts` to remove the built-in tool of that name.
|
|
45
|
+
* The filename selects the tool; a name that matches no built-in fails the build.
|
|
46
|
+
*/
|
|
47
|
+
export function disableTool() {
|
|
48
|
+
return { openeveDisabledTool: true };
|
|
49
|
+
}
|
|
50
|
+
export function isDisabledToolSentinel(value) {
|
|
51
|
+
return Boolean(value) && typeof value === "object" && value.openeveDisabledTool === true;
|
|
52
|
+
}
|
|
53
|
+
export function defineHook(definition) {
|
|
54
|
+
return definition;
|
|
55
|
+
}
|
|
56
|
+
export function defineRunResolver(definition) {
|
|
57
|
+
return definition;
|
|
58
|
+
}
|
|
59
|
+
export function defineChannel(definition) {
|
|
60
|
+
return definition;
|
|
61
|
+
}
|
|
62
|
+
/** @deprecated Use `defineAutomation` with `trigger.type = "schedule"`. */
|
|
63
|
+
export function defineSchedule(definition) {
|
|
64
|
+
return definition;
|
|
65
|
+
}
|
|
66
|
+
export function defineAutomation(definition) {
|
|
67
|
+
return definition;
|
|
68
|
+
}
|
|
69
|
+
export function defineAutomationHandler(definition) {
|
|
70
|
+
return definition;
|
|
71
|
+
}
|
|
72
|
+
/** @deprecated Use `defineAutomationHandler`. */
|
|
73
|
+
export function defineTriggerHandler(definition) {
|
|
74
|
+
return definition;
|
|
75
|
+
}
|
|
76
|
+
export function defineConnection(definition) {
|
|
77
|
+
return definition;
|
|
78
|
+
}
|
|
79
|
+
export function defineMcpClientConnection(definition) {
|
|
80
|
+
validateConnectionAuthDefinition(definition.auth, "defineMcpClientConnection");
|
|
81
|
+
validateToolFilter(definition.tools, "defineMcpClientConnection");
|
|
82
|
+
validateConnectionAccess(definition.access, "defineMcpClientConnection");
|
|
83
|
+
if (definition.transport !== undefined && definition.transport !== "http") {
|
|
84
|
+
throw new Error("defineMcpClientConnection: transport must be http when provided.");
|
|
85
|
+
}
|
|
86
|
+
if (!definition.url.trim())
|
|
87
|
+
throw new Error("defineMcpClientConnection: url is required.");
|
|
88
|
+
return definition;
|
|
89
|
+
}
|
|
90
|
+
export function defineMcpStdioConnection(definition) {
|
|
91
|
+
validateToolFilter(definition.tools, "defineMcpStdioConnection");
|
|
92
|
+
validateConnectionAccess(definition.access, "defineMcpStdioConnection");
|
|
93
|
+
if (definition.transport !== "stdio")
|
|
94
|
+
throw new Error("defineMcpStdioConnection: transport must be stdio.");
|
|
95
|
+
if (!definition.command.trim())
|
|
96
|
+
throw new Error("defineMcpStdioConnection: command is required.");
|
|
97
|
+
if (definition.args?.some((argument) => typeof argument !== "string")) {
|
|
98
|
+
throw new Error("defineMcpStdioConnection: args must contain only strings.");
|
|
99
|
+
}
|
|
100
|
+
if (definition.env && Object.values(definition.env).some((value) => typeof value !== "string")) {
|
|
101
|
+
throw new Error("defineMcpStdioConnection: env overrides must contain only strings.");
|
|
102
|
+
}
|
|
103
|
+
return definition;
|
|
104
|
+
}
|
|
105
|
+
export function defineMcpRelayConnection(definition) {
|
|
106
|
+
validateToolFilter(definition.tools, "defineMcpRelayConnection");
|
|
107
|
+
validateConnectionAccess(definition.access, "defineMcpRelayConnection");
|
|
108
|
+
if (definition.transport !== "relay")
|
|
109
|
+
throw new Error("defineMcpRelayConnection: transport must be relay.");
|
|
110
|
+
if (!definition.url.trim())
|
|
111
|
+
throw new Error("defineMcpRelayConnection: url is required.");
|
|
112
|
+
const url = new URL(definition.url);
|
|
113
|
+
const localDevelopment = url.hostname === "localhost" || url.hostname === "127.0.0.1" || url.hostname === "::1";
|
|
114
|
+
if (url.protocol !== "https:" && !(localDevelopment && url.protocol === "http:")) {
|
|
115
|
+
throw new Error("defineMcpRelayConnection: url must use HTTPS (HTTP is allowed only for localhost development).");
|
|
116
|
+
}
|
|
117
|
+
if (!/^[A-Z_][A-Z0-9_]*$/u.test(definition.credentialEnv)) {
|
|
118
|
+
throw new Error("defineMcpRelayConnection: credentialEnv must be an uppercase environment variable name.");
|
|
119
|
+
}
|
|
120
|
+
if (definition.timeoutMs !== undefined && (!Number.isInteger(definition.timeoutMs) || definition.timeoutMs < 1_000 || definition.timeoutMs > 120_000)) {
|
|
121
|
+
throw new Error("defineMcpRelayConnection: timeoutMs must be an integer between 1000 and 120000.");
|
|
122
|
+
}
|
|
123
|
+
return definition;
|
|
124
|
+
}
|
|
125
|
+
export function defineOpenAPIConnection(definition) {
|
|
126
|
+
validateConnectionAuthDefinition(definition.auth, "defineOpenAPIConnection");
|
|
127
|
+
validateToolFilter(definition.operations, "defineOpenAPIConnection");
|
|
128
|
+
validateConnectionAccess(definition.access, "defineOpenAPIConnection");
|
|
129
|
+
return definition;
|
|
130
|
+
}
|
|
131
|
+
export function defineHttpApiConnection(definition) {
|
|
132
|
+
validateConnectionAuthDefinition(definition.auth, "defineHttpApiConnection");
|
|
133
|
+
validateToolFilter(definition.operationFilter, "defineHttpApiConnection");
|
|
134
|
+
validateConnectionAccess(definition.access, "defineHttpApiConnection");
|
|
135
|
+
if (!definition.operations.length) {
|
|
136
|
+
throw new Error("defineHttpApiConnection: at least one operation is required.");
|
|
137
|
+
}
|
|
138
|
+
return definition;
|
|
139
|
+
}
|
|
140
|
+
export function defineSandboxCliConnection(definition) {
|
|
141
|
+
validateConnectionAuthDefinition(definition.auth, "defineSandboxCliConnection");
|
|
142
|
+
validateConnectionAccess(definition.access, "defineSandboxCliConnection");
|
|
143
|
+
if (definition.transport !== "sandbox") {
|
|
144
|
+
throw new Error("defineSandboxCliConnection: transport must be sandbox.");
|
|
145
|
+
}
|
|
146
|
+
if (!definition.command.trim() || /[\0\r\n]/u.test(definition.command)) {
|
|
147
|
+
throw new Error("defineSandboxCliConnection: command must be one executable name or path.");
|
|
148
|
+
}
|
|
149
|
+
if (!definition.tools.length) {
|
|
150
|
+
throw new Error("defineSandboxCliConnection: at least one tool is required.");
|
|
151
|
+
}
|
|
152
|
+
const names = new Set();
|
|
153
|
+
for (const tool of definition.tools) {
|
|
154
|
+
if (!tool.name.trim() || names.has(tool.name)) {
|
|
155
|
+
throw new Error(`defineSandboxCliConnection: tool names must be non-empty and unique (${tool.name}).`);
|
|
156
|
+
}
|
|
157
|
+
if (!tool.description.trim() || typeof tool.build !== "function") {
|
|
158
|
+
throw new Error(`defineSandboxCliConnection: tool ${tool.name} must declare description and build.`);
|
|
159
|
+
}
|
|
160
|
+
names.add(tool.name);
|
|
161
|
+
}
|
|
162
|
+
if (definition.maxOutputChars !== undefined
|
|
163
|
+
&& (!Number.isInteger(definition.maxOutputChars) || definition.maxOutputChars < 1_000)) {
|
|
164
|
+
throw new Error("defineSandboxCliConnection: maxOutputChars must be an integer of at least 1000.");
|
|
165
|
+
}
|
|
166
|
+
return definition;
|
|
167
|
+
}
|
|
168
|
+
export function defineOAuthAuthorization(definition) {
|
|
169
|
+
return { ...definition, principalType: "user" };
|
|
170
|
+
}
|
|
171
|
+
export function defineInteractiveAuthorization(definition) {
|
|
172
|
+
return { ...definition, principalType: "user" };
|
|
173
|
+
}
|
|
174
|
+
export function defineSandbox(definition) {
|
|
175
|
+
return definition;
|
|
176
|
+
}
|
|
177
|
+
export function defineInstrumentation(definition) {
|
|
178
|
+
return definition;
|
|
179
|
+
}
|
|
180
|
+
export function approvalRequired(reason, sideEffect = "external") {
|
|
181
|
+
return { mode: "always", reason, sideEffect };
|
|
182
|
+
}
|
|
183
|
+
export function approvalNever() {
|
|
184
|
+
return { mode: "never", sideEffect: "none" };
|
|
185
|
+
}
|
|
186
|
+
export function normalizeApprovalPolicy(policy) {
|
|
187
|
+
if (policy === true)
|
|
188
|
+
return { mode: "always", sideEffect: "external" };
|
|
189
|
+
if (policy === false || policy === undefined)
|
|
190
|
+
return { mode: "never", sideEffect: "none" };
|
|
191
|
+
return policy;
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=definitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"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"}
|