managed-deepagents 0.1.0 → 0.3.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/dist/connectors/langsmith.d.ts +385 -0
- package/dist/connectors/langsmith.d.ts.map +1 -0
- package/dist/connectors/langsmith.js +431 -0
- package/dist/connectors/langsmith.js.map +1 -0
- package/dist/connectors.d.ts +7 -2
- package/dist/connectors.d.ts.map +1 -1
- package/dist/connectors.js +18 -1
- package/dist/connectors.js.map +1 -1
- package/dist/identity/index.d.ts +88 -0
- package/dist/identity/index.d.ts.map +1 -0
- package/dist/identity/index.js +303 -0
- package/dist/identity/index.js.map +1 -0
- package/dist/identity/supabase.d.ts +48 -0
- package/dist/identity/supabase.d.ts.map +1 -0
- package/dist/identity/supabase.js +139 -0
- package/dist/identity/supabase.js.map +1 -0
- package/dist/identity/types.d.ts +185 -0
- package/dist/identity/types.d.ts.map +1 -0
- package/dist/identity/types.js +8 -0
- package/dist/identity/types.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/runtime/auth.d.ts +56 -0
- package/dist/runtime/auth.d.ts.map +1 -0
- package/dist/runtime/auth.js +204 -0
- package/dist/runtime/auth.js.map +1 -0
- package/dist/runtime/connector.d.ts +138 -0
- package/dist/runtime/connector.d.ts.map +1 -0
- package/dist/runtime/connector.js +82 -0
- package/dist/runtime/connector.js.map +1 -0
- package/dist/runtime/credentials.d.ts +68 -0
- package/dist/runtime/credentials.d.ts.map +1 -0
- package/dist/runtime/credentials.js +212 -0
- package/dist/runtime/credentials.js.map +1 -0
- package/dist/runtime/identity-http.d.ts +27 -0
- package/dist/runtime/identity-http.d.ts.map +1 -0
- package/dist/runtime/identity-http.js +159 -0
- package/dist/runtime/identity-http.js.map +1 -0
- package/dist/runtime/identity-runtime.d.ts +54 -0
- package/dist/runtime/identity-runtime.d.ts.map +1 -0
- package/dist/runtime/identity-runtime.js +151 -0
- package/dist/runtime/identity-runtime.js.map +1 -0
- package/dist/runtime/index.d.ts +14 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +114 -68
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/langsmith-connector.d.ts +247 -0
- package/dist/runtime/langsmith-connector.d.ts.map +1 -0
- package/dist/runtime/langsmith-connector.js +1175 -0
- package/dist/runtime/langsmith-connector.js.map +1 -0
- package/dist/runtime/managed-middleware.d.ts +25 -0
- package/dist/runtime/managed-middleware.d.ts.map +1 -0
- package/dist/runtime/managed-middleware.js +76 -0
- package/dist/runtime/managed-middleware.js.map +1 -0
- package/dist/runtime/managed-tools.d.ts +61 -0
- package/dist/runtime/managed-tools.d.ts.map +1 -0
- package/dist/runtime/managed-tools.js +102 -0
- package/dist/runtime/managed-tools.js.map +1 -0
- package/dist/runtime/sandbox-manager.d.ts +3 -2
- package/dist/runtime/sandbox-manager.d.ts.map +1 -1
- package/dist/runtime/sandbox-manager.js.map +1 -1
- package/dist/runtime/setup-script.d.ts +4 -7
- package/dist/runtime/setup-script.d.ts.map +1 -1
- package/dist/runtime/setup-script.js.map +1 -1
- package/dist/runtime/types.d.ts +23 -21
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime/validated-token.d.ts +53 -0
- package/dist/runtime/validated-token.d.ts.map +1 -0
- package/dist/runtime/validated-token.js +411 -0
- package/dist/runtime/validated-token.js.map +1 -0
- package/dist/types.d.ts +15 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +12 -8
package/dist/runtime/index.js
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import { CompositeBackend, ContextHubBackend, StateBackend, createDeepAgent, } from "deepagents";
|
|
2
|
-
import {
|
|
2
|
+
import { loadConnectorTools } from "./connector.js";
|
|
3
|
+
import { wrapMiddlewareWithManagedRuntime, } from "./managed-middleware.js";
|
|
4
|
+
import { wrapToolsWithManagedRuntime, } from "./managed-tools.js";
|
|
3
5
|
import { resolveManagedSandbox } from "./sandbox-manager.js";
|
|
6
|
+
export { buildManagedAuth } from "./auth.js";
|
|
7
|
+
export { buildManagedHttpApp } from "./identity-http.js";
|
|
8
|
+
export { CONNECTOR_BRAND, collectConnectors, isConnector, loadConnectorTools, } from "./connector.js";
|
|
9
|
+
export { CredentialCache, CREDENTIAL_SIGNING_SECRET_ENV, clearCredentialCacheForTests, createCredentialsProvider, } from "./credentials.js";
|
|
10
|
+
export { buildRuntimeIdentity, memoryIdentitySegments, memoryNamespace, memoryNamespaceFor, sanitizeConfigurable, } from "./identity-runtime.js";
|
|
11
|
+
export { managedRuntimeExtras, managedRuntimeOverrides, withManagedRuntime, wrapToolsWithManagedRuntime, } from "./managed-tools.js";
|
|
12
|
+
export { withManagedMiddleware, wrapMiddlewareWithManagedRuntime, } from "./managed-middleware.js";
|
|
13
|
+
export { issueGuestToken } from "./validated-token.js";
|
|
4
14
|
class LazyManagedSandboxBackend {
|
|
5
15
|
sandbox;
|
|
6
16
|
setupScript;
|
|
@@ -13,28 +23,28 @@ class LazyManagedSandboxBackend {
|
|
|
13
23
|
this.runConfig = runConfig;
|
|
14
24
|
}
|
|
15
25
|
get id() {
|
|
16
|
-
return this.resolvedBackend?.id;
|
|
26
|
+
return this.resolvedBackend?.id ?? "";
|
|
17
27
|
}
|
|
18
28
|
async ls(path = "/") {
|
|
19
|
-
return (await this.backend()).ls
|
|
29
|
+
return (await this.backend()).ls(path);
|
|
20
30
|
}
|
|
21
31
|
async read(filePath, offset, limit) {
|
|
22
|
-
return (await this.backend()).read
|
|
32
|
+
return (await this.backend()).read(filePath, offset, limit);
|
|
23
33
|
}
|
|
24
34
|
async readRaw(filePath) {
|
|
25
|
-
return (await this.backend()).readRaw
|
|
35
|
+
return (await this.backend()).readRaw(filePath);
|
|
26
36
|
}
|
|
27
37
|
async grep(pattern, path, glob) {
|
|
28
|
-
return (await this.backend()).grep
|
|
38
|
+
return (await this.backend()).grep(pattern, path, glob);
|
|
29
39
|
}
|
|
30
40
|
async glob(pattern, path) {
|
|
31
|
-
return (await this.backend()).glob
|
|
41
|
+
return (await this.backend()).glob(pattern, path);
|
|
32
42
|
}
|
|
33
43
|
async write(filePath, content) {
|
|
34
|
-
return (await this.backend()).write
|
|
44
|
+
return (await this.backend()).write(filePath, content);
|
|
35
45
|
}
|
|
36
46
|
async edit(filePath, oldString, newString, replaceAll = false) {
|
|
37
|
-
return (await this.backend()).edit
|
|
47
|
+
return (await this.backend()).edit(filePath, oldString, newString, replaceAll);
|
|
38
48
|
}
|
|
39
49
|
async delete(filePath) {
|
|
40
50
|
return (await this.backend()).delete?.(filePath);
|
|
@@ -45,11 +55,8 @@ class LazyManagedSandboxBackend {
|
|
|
45
55
|
async downloadFiles(paths) {
|
|
46
56
|
return (await this.backend()).downloadFiles?.(paths);
|
|
47
57
|
}
|
|
48
|
-
async execute(command
|
|
49
|
-
|
|
50
|
-
return options
|
|
51
|
-
? backend.execute(command, options)
|
|
52
|
-
: backend.execute(command);
|
|
58
|
+
async execute(command) {
|
|
59
|
+
return (await this.backend()).execute(command);
|
|
53
60
|
}
|
|
54
61
|
backend() {
|
|
55
62
|
if (!this.pendingBackend) {
|
|
@@ -73,19 +80,24 @@ class LazyManagedSandboxBackend {
|
|
|
73
80
|
* generated entry module; agent authors never call it.
|
|
74
81
|
*/
|
|
75
82
|
export async function compileManagedAgent(definition, config, options) {
|
|
76
|
-
const { systemPrompt, contextRepo, hasSkills = false, sandbox, setupScript, connectors,
|
|
77
|
-
|
|
83
|
+
const { systemPrompt, contextRepo, hasSkills = false, sandbox, setupScript, connectors,
|
|
84
|
+
// Resolution + thread/store scoping run in the generated custom-auth handler
|
|
85
|
+
// (`buildManagedAuth`). When identity is declared, the seam also surfaces the
|
|
86
|
+
// frozen `runtime.identity` envelope to authored + connector tools (below).
|
|
87
|
+
identity, } = options ?? {};
|
|
88
|
+
const { disableMemory = false, metadata, ...agentConfig } = definition.config;
|
|
78
89
|
const params = { ...agentConfig };
|
|
79
90
|
/**
|
|
80
|
-
* Loading
|
|
81
|
-
* it off up front and let it run concurrently with
|
|
91
|
+
* Loading connector tools (e.g. MCP) can involve independent network
|
|
92
|
+
* round-trips, so kick it off up front and let it run concurrently with
|
|
93
|
+
* backend resolution below.
|
|
82
94
|
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
95
|
+
* Each connector's `tools` hook contributes tools appended to the authored
|
|
96
|
+
* tools. The author never imports the MCP client or calls `getTools()` — MDA
|
|
97
|
+
* owns the connector lifecycle.
|
|
86
98
|
*/
|
|
87
|
-
const
|
|
88
|
-
?
|
|
99
|
+
const connectorToolsPromise = connectors && connectors.length > 0
|
|
100
|
+
? loadConnectorTools(connectors)
|
|
89
101
|
: undefined;
|
|
90
102
|
const sandboxBackend = sandbox
|
|
91
103
|
? new LazyManagedSandboxBackend(sandbox, setupScript, config)
|
|
@@ -113,26 +125,67 @@ export async function compileManagedAgent(definition, config, options) {
|
|
|
113
125
|
params.backend = sandboxBackend;
|
|
114
126
|
}
|
|
115
127
|
}
|
|
116
|
-
const
|
|
117
|
-
if (
|
|
128
|
+
const connectorTools = await connectorToolsPromise;
|
|
129
|
+
if (connectorTools && connectorTools.length > 0) {
|
|
118
130
|
const authoredTools = Array.isArray(params.tools) ? params.tools : [];
|
|
119
|
-
params.tools = [...authoredTools, ...
|
|
120
|
-
}
|
|
121
|
-
|
|
131
|
+
params.tools = [...authoredTools, ...connectorTools];
|
|
132
|
+
}
|
|
133
|
+
// With identity declared, surface the frozen `runtime.identity` envelope (and,
|
|
134
|
+
// in custom-credentials mode, `runtime.credentials`) on the runtime every tool
|
|
135
|
+
// receives, built from the trusted `langgraph_auth_user`.
|
|
136
|
+
if (identity && Array.isArray(params.tools)) {
|
|
137
|
+
params.tools = wrapToolsWithManagedRuntime(params.tools, identity.config);
|
|
138
|
+
}
|
|
139
|
+
// Do the same for authored middleware: each hook's `runtime` (and the `wrap*`
|
|
140
|
+
// hooks' `request.runtime`) gains `runtime.identity` / `runtime.credentials`,
|
|
141
|
+
// built from the same trusted `langgraph_auth_user` on `runtime.configurable`.
|
|
142
|
+
if (identity && Array.isArray(params.middleware)) {
|
|
143
|
+
params.middleware = wrapMiddlewareWithManagedRuntime(params.middleware, identity.config);
|
|
144
|
+
}
|
|
145
|
+
// Author `metadata` is not a createDeepAgent param — apply it on the compiled
|
|
146
|
+
// runnable so LangSmith root runs carry prompt provenance, etc.
|
|
147
|
+
const agent = createDeepAgent(params);
|
|
148
|
+
if (metadata && Object.keys(metadata).length > 0) {
|
|
149
|
+
return agent.withConfig({ metadata });
|
|
150
|
+
}
|
|
151
|
+
return agent;
|
|
122
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Load deploy-owned `instructions.md` from Context Hub as the system prompt.
|
|
155
|
+
*
|
|
156
|
+
* Prefer `downloadFiles` (full raw bytes, no line-limit truncation). Fall back
|
|
157
|
+
* to `read` and use `ReadResult.content`.
|
|
158
|
+
*/
|
|
123
159
|
async function readInstructions(backend) {
|
|
124
|
-
const
|
|
160
|
+
const downloaded = await downloadContextFile(backend, "/instructions.md");
|
|
161
|
+
if (downloaded !== undefined) {
|
|
162
|
+
return downloaded;
|
|
163
|
+
}
|
|
164
|
+
// Large limit: `read` defaults to a few hundred lines, which can truncate prompts.
|
|
165
|
+
const result = await backend.read("/instructions.md", 0, 10_000_000);
|
|
125
166
|
if (result.error || result.content === undefined) {
|
|
126
167
|
return undefined;
|
|
127
168
|
}
|
|
128
|
-
|
|
129
|
-
|
|
169
|
+
return asText(result.content);
|
|
170
|
+
}
|
|
171
|
+
async function downloadContextFile(backend, path) {
|
|
172
|
+
if (typeof backend.downloadFiles !== "function") {
|
|
173
|
+
return undefined;
|
|
130
174
|
}
|
|
131
|
-
|
|
175
|
+
const responses = await backend.downloadFiles([path]);
|
|
176
|
+
const response = responses?.[0];
|
|
177
|
+
if (!response || response.error || response.content == null) {
|
|
178
|
+
return undefined;
|
|
179
|
+
}
|
|
180
|
+
return asText(response.content);
|
|
181
|
+
}
|
|
182
|
+
function asText(content) {
|
|
183
|
+
if (typeof content === "string") {
|
|
184
|
+
return content;
|
|
185
|
+
}
|
|
186
|
+
return new TextDecoder().decode(content);
|
|
132
187
|
}
|
|
133
188
|
function managedContextBackend(contextBackend, sandboxBackend) {
|
|
134
|
-
// `MountedPathBackend` duck-types the backend protocol with intentionally
|
|
135
|
-
// looser return types, so cast at this boundary to the real backend types.
|
|
136
189
|
const routes = managedContextRoutes(contextBackend);
|
|
137
190
|
const defaultBackend = (sandboxBackend ??
|
|
138
191
|
new StateBackend());
|
|
@@ -158,43 +211,45 @@ class MountedPathBackend {
|
|
|
158
211
|
});
|
|
159
212
|
}
|
|
160
213
|
async ls(path = "/") {
|
|
161
|
-
const result = await this.
|
|
162
|
-
return this.remapPathCollections(result);
|
|
214
|
+
const result = await this.backend.ls(this.toRepoPath(path));
|
|
215
|
+
return this.remapPathCollections(result, "files");
|
|
163
216
|
}
|
|
164
217
|
async read(filePath, offset, limit) {
|
|
165
218
|
return this.backend.read(this.toRepoPath(filePath), offset, limit);
|
|
166
219
|
}
|
|
167
220
|
async readRaw(filePath) {
|
|
168
|
-
return this.
|
|
221
|
+
return this.backend.readRaw(this.toRepoPath(filePath));
|
|
169
222
|
}
|
|
170
223
|
async grep(pattern, path, glob) {
|
|
171
|
-
const result = await this.
|
|
172
|
-
return this.remapPathCollections(result);
|
|
224
|
+
const result = await this.backend.grep(pattern, path === undefined || path === null ? path : this.toRepoPath(path), glob ? this.toRepoGlob(glob) : glob);
|
|
225
|
+
return this.remapPathCollections(result, "matches");
|
|
173
226
|
}
|
|
174
227
|
async glob(pattern, path = "/") {
|
|
175
|
-
const result = await this.
|
|
176
|
-
return this.remapPathCollections(result);
|
|
228
|
+
const result = await this.backend.glob(this.toRepoGlob(pattern), this.toRepoPath(path));
|
|
229
|
+
return this.remapPathCollections(result, "files");
|
|
177
230
|
}
|
|
178
231
|
async write(filePath, content) {
|
|
179
|
-
const result = await this.
|
|
232
|
+
const result = await this.backend.write(this.toRepoPath(filePath), content);
|
|
180
233
|
return this.withVisiblePath(result, filePath);
|
|
181
234
|
}
|
|
182
235
|
async edit(filePath, oldString, newString, replaceAll = false) {
|
|
183
|
-
const result = await this.
|
|
236
|
+
const result = await this.backend.edit(this.toRepoPath(filePath), oldString, newString, replaceAll);
|
|
184
237
|
return this.withVisiblePath(result, filePath);
|
|
185
238
|
}
|
|
186
239
|
async uploadFiles(files) {
|
|
187
|
-
const
|
|
240
|
+
const upload = this.optional("uploadFiles");
|
|
241
|
+
const result = await upload(files.map(([path, content]) => [this.toRepoPath(path), content]));
|
|
188
242
|
return result.map((entry, index) => this.withVisiblePath(entry, files[index]?.[0] ?? "/"));
|
|
189
243
|
}
|
|
190
244
|
async downloadFiles(paths) {
|
|
191
|
-
const
|
|
245
|
+
const download = this.optional("downloadFiles");
|
|
246
|
+
const result = await download(paths.map((path) => this.toRepoPath(path)));
|
|
192
247
|
return result.map((entry, index) => this.withVisiblePath(entry, paths[index] ?? "/"));
|
|
193
248
|
}
|
|
194
|
-
|
|
249
|
+
optional(method) {
|
|
195
250
|
const fn = this.backend[method];
|
|
196
251
|
if (typeof fn !== "function") {
|
|
197
|
-
throw new Error(`Context Hub backend does not support ${
|
|
252
|
+
throw new Error(`Context Hub backend does not support ${method}`);
|
|
198
253
|
}
|
|
199
254
|
return fn.bind(this.backend);
|
|
200
255
|
}
|
|
@@ -218,12 +273,18 @@ class MountedPathBackend {
|
|
|
218
273
|
? `${this.target.repoPrefix}/${suffix}`
|
|
219
274
|
: this.target.repoPrefix;
|
|
220
275
|
}
|
|
221
|
-
remapPathCollections(result) {
|
|
222
|
-
const
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
return
|
|
276
|
+
remapPathCollections(result, key) {
|
|
277
|
+
const value = result[key];
|
|
278
|
+
if (!value) {
|
|
279
|
+
return result;
|
|
280
|
+
}
|
|
281
|
+
return {
|
|
282
|
+
...result,
|
|
283
|
+
[key]: value.map((entry) => ({
|
|
284
|
+
...entry,
|
|
285
|
+
path: this.fromRepoPath(entry.path),
|
|
286
|
+
})),
|
|
287
|
+
};
|
|
227
288
|
}
|
|
228
289
|
withVisiblePath(result, backendPath) {
|
|
229
290
|
if (!("path" in result)) {
|
|
@@ -281,21 +342,6 @@ function managedContextPermissions(existing) {
|
|
|
281
342
|
];
|
|
282
343
|
return Array.isArray(existing) ? [...managed, ...existing] : managed;
|
|
283
344
|
}
|
|
284
|
-
function remapPathArray(result, key, remap) {
|
|
285
|
-
const value = result[key];
|
|
286
|
-
if (!Array.isArray(value)) {
|
|
287
|
-
return;
|
|
288
|
-
}
|
|
289
|
-
result[key] = value.map((entry) => {
|
|
290
|
-
if (!entry || typeof entry !== "object") {
|
|
291
|
-
return entry;
|
|
292
|
-
}
|
|
293
|
-
const item = entry;
|
|
294
|
-
return typeof item.path === "string"
|
|
295
|
-
? { ...item, path: remap(item.path) }
|
|
296
|
-
: item;
|
|
297
|
-
});
|
|
298
|
-
}
|
|
299
345
|
function ensureAbsolute(path) {
|
|
300
346
|
return `/${trimSlashes(path)}`;
|
|
301
347
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LangSmith connector — runtime enforcement engine.
|
|
3
|
+
*
|
|
4
|
+
* Mounted by the connector's `http(ctx)` hook on its namespaced sub-router.
|
|
5
|
+
* Exposes one uniform endpoint per capability:
|
|
6
|
+
*
|
|
7
|
+
* POST /connectors/langsmith/capabilities/{capability_id}
|
|
8
|
+
*
|
|
9
|
+
* with a JSON body naming the `action` and its parameters. Per request the
|
|
10
|
+
* engine resolves identity (resolve-or-401), checks the caller surface, checks
|
|
11
|
+
* the action, proves capability ownership from `runtime.identity`, validates typed
|
|
12
|
+
* constraints, performs the LangSmith operation server-side with the workspace
|
|
13
|
+
* key, and returns an allowlisted response.
|
|
14
|
+
*
|
|
15
|
+
* v0 has no rate limiting, audit, or multi-workspace fan-out.
|
|
16
|
+
*/
|
|
17
|
+
import type { Example, Feedback, KVMap, Prompt, Run, ScoreType, ValueType } from "langsmith/schemas";
|
|
18
|
+
import type { IdentityConfig, RuntimeIdentity } from "../identity/index.js";
|
|
19
|
+
import type { LangSmithCapability, LangSmithCallerSurface } from "../connectors/langsmith.js";
|
|
20
|
+
import type { HttpContext } from "./connector.js";
|
|
21
|
+
/**
|
|
22
|
+
* The thin LangSmith operations the engine needs, typed against the `langsmith`
|
|
23
|
+
* SDK's own schemas. {@link defaultClient} wraps a real {@link Client}; tests
|
|
24
|
+
* inject a fake so the enforcement logic is verified without network or SDK
|
|
25
|
+
* specifics.
|
|
26
|
+
*
|
|
27
|
+
* A connector "score" is a categorical value (e.g. `"positive"`), so it maps to
|
|
28
|
+
* a LangSmith `score` when numeric/boolean and to a feedback `value` otherwise —
|
|
29
|
+
* hence the `ScoreType | ValueType` inputs.
|
|
30
|
+
*/
|
|
31
|
+
export interface LangSmithClient {
|
|
32
|
+
createFeedback(input: {
|
|
33
|
+
runId: string;
|
|
34
|
+
key: string;
|
|
35
|
+
score?: ScoreType | ValueType;
|
|
36
|
+
comment?: string;
|
|
37
|
+
feedbackId?: string;
|
|
38
|
+
metadata?: KVMap;
|
|
39
|
+
}): Promise<Feedback>;
|
|
40
|
+
updateFeedback(input: {
|
|
41
|
+
feedbackId: string;
|
|
42
|
+
score?: ScoreType | ValueType;
|
|
43
|
+
comment?: string;
|
|
44
|
+
}): Promise<void>;
|
|
45
|
+
deleteFeedback(input: {
|
|
46
|
+
feedbackId: string;
|
|
47
|
+
}): Promise<void>;
|
|
48
|
+
listFeedbackForRun(input: {
|
|
49
|
+
runId: string;
|
|
50
|
+
}): Promise<Feedback[]>;
|
|
51
|
+
readFeedback(input: {
|
|
52
|
+
feedbackId: string;
|
|
53
|
+
}): Promise<Feedback>;
|
|
54
|
+
readRun(input: {
|
|
55
|
+
runId: string;
|
|
56
|
+
}): Promise<Run>;
|
|
57
|
+
shareRun(input: {
|
|
58
|
+
runId: string;
|
|
59
|
+
}): Promise<{
|
|
60
|
+
url: string;
|
|
61
|
+
}>;
|
|
62
|
+
createExample(input: {
|
|
63
|
+
dataset: string;
|
|
64
|
+
inputs: KVMap;
|
|
65
|
+
outputs?: KVMap;
|
|
66
|
+
metadata?: KVMap;
|
|
67
|
+
}): Promise<Example>;
|
|
68
|
+
listExamples(input: {
|
|
69
|
+
dataset: string;
|
|
70
|
+
metadata?: KVMap;
|
|
71
|
+
}): Promise<Example[]>;
|
|
72
|
+
enqueueRun(input: {
|
|
73
|
+
queue: string;
|
|
74
|
+
runId: string;
|
|
75
|
+
priority?: string;
|
|
76
|
+
note?: string;
|
|
77
|
+
}): Promise<void>;
|
|
78
|
+
readPrompt(input: {
|
|
79
|
+
name: string;
|
|
80
|
+
}): Promise<Prompt | null>;
|
|
81
|
+
readThread(input: {
|
|
82
|
+
threadId: string;
|
|
83
|
+
}): Promise<Run>;
|
|
84
|
+
updateThreadMetadata(input: {
|
|
85
|
+
threadId: string;
|
|
86
|
+
metadata: KVMap;
|
|
87
|
+
}): Promise<void>;
|
|
88
|
+
}
|
|
89
|
+
/** An error carrying an HTTP status the engine surfaces to the caller. */
|
|
90
|
+
export declare class EnforcementError extends Error {
|
|
91
|
+
readonly status: number;
|
|
92
|
+
/**
|
|
93
|
+
* @param status - HTTP status code returned to the caller.
|
|
94
|
+
* @param message - Human-readable error detail.
|
|
95
|
+
*/
|
|
96
|
+
constructor(status: number, message: string);
|
|
97
|
+
}
|
|
98
|
+
/** Options the engine handler closes over. */
|
|
99
|
+
export interface HandlerDeps {
|
|
100
|
+
capabilitiesById: Map<string, LangSmithCapability>;
|
|
101
|
+
client: LangSmithClient;
|
|
102
|
+
identityConfig?: IdentityConfig;
|
|
103
|
+
/**
|
|
104
|
+
* Prove the caller may access a LangGraph thread. Required when binding a
|
|
105
|
+
* client-supplied thread id (browser connector path). Injected in tests;
|
|
106
|
+
* production defaults to a same-origin `GET /threads/{id}` ownership check.
|
|
107
|
+
*/
|
|
108
|
+
assertThreadAccess?: AssertThreadAccess;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Fail closed unless the authenticated caller may access `threadId`.
|
|
112
|
+
*
|
|
113
|
+
* @param threadId - LangGraph thread id to authorize.
|
|
114
|
+
* @returns Resolves when access is allowed; rejects with `EnforcementError` on denial.
|
|
115
|
+
*/
|
|
116
|
+
export type AssertThreadAccess = (threadId: string) => Promise<void>;
|
|
117
|
+
/**
|
|
118
|
+
* Mount the capability route on the connector's namespaced sub-router. Runs the
|
|
119
|
+
* identity-dependent authoring checks at mount time (fails startup on an illegal
|
|
120
|
+
* scope/ingress combination), then registers the uniform POST endpoint.
|
|
121
|
+
*
|
|
122
|
+
* @param ctx - HTTP mount context with the namespaced router and identity config.
|
|
123
|
+
* @param capabilities - Declared LangSmith capabilities to expose.
|
|
124
|
+
* @param client - LangSmith client used for server-side operations; defaults to {@link defaultClient}.
|
|
125
|
+
*/
|
|
126
|
+
export declare function mountLangSmithRoutes(ctx: HttpContext, capabilities: LangSmithCapability[], client?: LangSmithClient): void;
|
|
127
|
+
/**
|
|
128
|
+
* Identity-aware authoring validation, run when the app is constructed.
|
|
129
|
+
* Rejects illegal scope/ingress combinations before any request is served.
|
|
130
|
+
*
|
|
131
|
+
* @param capabilities - Declared LangSmith capabilities to validate.
|
|
132
|
+
* @param identity - Deployment identity config, or `undefined` when identity is not configured.
|
|
133
|
+
* @throws {Error} When a capability's scope, exposure, or tenancy is illegal for this deployment.
|
|
134
|
+
*/
|
|
135
|
+
export declare function validateAgainstIdentity(capabilities: LangSmithCapability[], identity: IdentityConfig | undefined): void;
|
|
136
|
+
/**
|
|
137
|
+
* Per-request enforcement pipeline for a capability POST.
|
|
138
|
+
* Resolves the capability, checks surface/action, proves thread ownership when
|
|
139
|
+
* needed, enforces scope, performs the LangSmith call, and shapes the response.
|
|
140
|
+
*
|
|
141
|
+
* @param request - Incoming HTTP request for `/capabilities/:id`.
|
|
142
|
+
* @param identity - Frozen runtime identity resolved by the secure router.
|
|
143
|
+
* @param deps - Closed-over capabilities map, LangSmith client, and optional access prover.
|
|
144
|
+
* @returns JSON `Response` with `{ data }` on success or `{ error }` on failure.
|
|
145
|
+
*/
|
|
146
|
+
export declare function handleCapabilityRequest(request: Request, identity: RuntimeIdentity, deps: HandlerDeps): Promise<Response>;
|
|
147
|
+
/**
|
|
148
|
+
* Map the resolved identity + ingress mode to a caller surface.
|
|
149
|
+
*
|
|
150
|
+
* @param identity - Frozen runtime identity for this request.
|
|
151
|
+
* @param identityConfig - Deployment identity config (ingress mode).
|
|
152
|
+
* @returns The surface used for `exposeTo` checks (`browser`, `trusted_backend`, `channel`, or `schedule`).
|
|
153
|
+
*/
|
|
154
|
+
export declare function callerSurface(identity: RuntimeIdentity, identityConfig: IdentityConfig | undefined): LangSmithCallerSurface;
|
|
155
|
+
/**
|
|
156
|
+
* Attach a proven thread id onto a copy of the identity envelope.
|
|
157
|
+
* Returns the same object when the identity already carries that thread id.
|
|
158
|
+
*
|
|
159
|
+
* @param identity - Frozen runtime identity to copy.
|
|
160
|
+
* @param threadId - Proven thread id to bind onto `source.threadId`.
|
|
161
|
+
* @returns Identity with `source.threadId` set to `threadId`.
|
|
162
|
+
*/
|
|
163
|
+
export declare function withIdentityThread(identity: RuntimeIdentity, threadId: string): RuntimeIdentity;
|
|
164
|
+
/**
|
|
165
|
+
* Resolve the thread id for a thread/run-scoped capability and prove access
|
|
166
|
+
* when it did not come from the trusted identity envelope.
|
|
167
|
+
*
|
|
168
|
+
* - identity `source.threadId` (server-derived from agent runs) is trusted
|
|
169
|
+
* - LangSmith run session/thread (when `run_id` is present) is authoritative
|
|
170
|
+
* - bare body `threadId`/`thread_id` (no identity thread, no run) requires
|
|
171
|
+
* {@link AssertThreadAccess}
|
|
172
|
+
*
|
|
173
|
+
* @param capability - Capability whose `scope` drives whether a thread id is required.
|
|
174
|
+
* @param identity - Frozen runtime identity for this request.
|
|
175
|
+
* @param body - Parsed JSON request body.
|
|
176
|
+
* @param client - LangSmith client used to load a run when `run_id` is present.
|
|
177
|
+
* @param assertThreadAccess - Ownership prover for bare body thread ids.
|
|
178
|
+
* @returns Proven thread id, or the identity thread id for non-thread/run scopes.
|
|
179
|
+
* @throws {EnforcementError} On missing/mismatched thread ids or failed ownership proof.
|
|
180
|
+
*/
|
|
181
|
+
export declare function resolveProvenThreadId(capability: LangSmithCapability, identity: RuntimeIdentity, body: Record<string, unknown>, client: LangSmithClient, assertThreadAccess: AssertThreadAccess): Promise<string | undefined>;
|
|
182
|
+
/**
|
|
183
|
+
* Build the default ownership proof: `GET /threads/{id}` with the caller's
|
|
184
|
+
* credentials and require `metadata.owner` to match the identity's thread-owner key.
|
|
185
|
+
*
|
|
186
|
+
* @param request - Incoming request whose auth headers are forwarded to the thread GET.
|
|
187
|
+
* @param identity - Frozen runtime identity used to derive the expected owner key.
|
|
188
|
+
* @param identityConfig - Deployment identity config (`scoping.threads`).
|
|
189
|
+
* @returns An `AssertThreadAccess` function closed over the request and expected owner.
|
|
190
|
+
*/
|
|
191
|
+
export declare function defaultAssertThreadAccess(request: Request, identity: RuntimeIdentity, identityConfig: IdentityConfig | undefined): AssertThreadAccess;
|
|
192
|
+
/**
|
|
193
|
+
* Prove the capability's ownership scope from `runtime.identity` before the
|
|
194
|
+
* LangSmith call. Thread id must already be present on identity when required
|
|
195
|
+
* (see {@link resolveProvenThreadId}).
|
|
196
|
+
*
|
|
197
|
+
* @param capability - Capability whose `scope` is enforced.
|
|
198
|
+
* @param identity - Identity with any proven thread id already bound.
|
|
199
|
+
* @param body - Parsed JSON request body (used for run-scoped `run_id` checks).
|
|
200
|
+
* @param client - LangSmith client used to load runs for run-scope verification.
|
|
201
|
+
* @throws {EnforcementError} When the identity lacks the required scope fields or the run is foreign.
|
|
202
|
+
*/
|
|
203
|
+
export declare function assertCapabilityScope(capability: LangSmithCapability, identity: RuntimeIdentity, body: Record<string, unknown>, client: LangSmithClient): Promise<void>;
|
|
204
|
+
/**
|
|
205
|
+
* Apply the capability's `include` allowlist, then drop any `redact` roots.
|
|
206
|
+
*
|
|
207
|
+
* @param raw - Full LangSmith result coerced to a plain record.
|
|
208
|
+
* @param capability - Capability whose `response.include` / `response.redact` apply.
|
|
209
|
+
* @returns Allowlisted (and redacted) response object returned to the caller.
|
|
210
|
+
*/
|
|
211
|
+
export declare function shapeResponse(raw: Record<string, unknown>, capability: LangSmithCapability): Record<string, unknown>;
|
|
212
|
+
/**
|
|
213
|
+
* Read a required string from the body, accepting either camelCase or snake_case.
|
|
214
|
+
*
|
|
215
|
+
* @param body - Parsed JSON request body.
|
|
216
|
+
* @param camel - Preferred camelCase field name (used in error messages).
|
|
217
|
+
* @param snake - Alternate snake_case field name.
|
|
218
|
+
* @returns Non-empty string from either key.
|
|
219
|
+
* @throws {EnforcementError} When neither key yields a non-empty string.
|
|
220
|
+
*/
|
|
221
|
+
export declare function bodyString(body: Record<string, unknown>, camel: string, snake: string): string;
|
|
222
|
+
/**
|
|
223
|
+
* Resolve the LangSmith workspace id used for `X-Tenant-Id`.
|
|
224
|
+
*
|
|
225
|
+
* Org-scoped / multi-workspace API keys default to the key's home workspace
|
|
226
|
+
* unless scoped. Prefer `LANGSMITH_WORKSPACE_ID` (SDK standard); fall back to
|
|
227
|
+
* `LANGSMITH_TENANT_ID` (deploy CLI / platform legacy name for the same id).
|
|
228
|
+
*
|
|
229
|
+
* @param env - Environment map; defaults to `process.env`.
|
|
230
|
+
* @returns Trimmed workspace id, or `undefined` when unset.
|
|
231
|
+
*/
|
|
232
|
+
export declare function resolveLangSmithWorkspaceId(env?: NodeJS.ProcessEnv): string | undefined;
|
|
233
|
+
/**
|
|
234
|
+
* Default client backed by the `langsmith` SDK {@link Client}. The underlying
|
|
235
|
+
* client is created on first use so building the engine (e.g. for an app with no
|
|
236
|
+
* requests yet) never requires `LANGSMITH_API_KEY`.
|
|
237
|
+
*
|
|
238
|
+
* Passes {@link resolveLangSmithWorkspaceId} so run/feedback calls target the
|
|
239
|
+
* deployment workspace rather than the API key's default tenant.
|
|
240
|
+
*
|
|
241
|
+
* A connector "score" is numeric/boolean → LangSmith `score`, or categorical
|
|
242
|
+
* (string/object) → LangSmith feedback `value`.
|
|
243
|
+
*
|
|
244
|
+
* @returns `LangSmithClient` adapter over the official SDK.
|
|
245
|
+
*/
|
|
246
|
+
export declare function defaultClient(): LangSmithClient;
|
|
247
|
+
//# sourceMappingURL=langsmith-connector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"langsmith-connector.d.ts","sourceRoot":"","sources":["../../src/runtime/langsmith-connector.ts"],"names":[],"mappings":"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"}
|