managed-deepagents 0.0.3-dev.29 → 0.0.3-dev.32
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 +133 -0
- package/dist/connectors/langsmith.d.ts.map +1 -0
- package/dist/connectors/langsmith.js +262 -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.d.ts +1 -1
- package/dist/identity.d.ts.map +1 -1
- 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/runtime/auth.d.ts +11 -1
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +24 -1
- package/dist/runtime/auth.js.map +1 -1
- 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/identity-http.d.ts +22 -3
- package/dist/runtime/identity-http.d.ts.map +1 -1
- package/dist/runtime/identity-http.js +133 -6
- package/dist/runtime/identity-http.js.map +1 -1
- package/dist/runtime/index.d.ts +3 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +14 -12
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/langsmith-connector.d.ts +113 -0
- package/dist/runtime/langsmith-connector.d.ts.map +1 -0
- package/dist/runtime/langsmith-connector.js +410 -0
- package/dist/runtime/langsmith-connector.js.map +1 -0
- package/dist/runtime/types.d.ts +5 -4
- package/dist/runtime/types.d.ts.map +1 -1
- package/package.json +9 -8
package/dist/runtime/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/runtime/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,aAAa,EACb,YAAY,GACb,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/runtime/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The managed connector protocol.
|
|
3
|
+
*
|
|
4
|
+
* A connector is any object carrying {@link CONNECTOR_BRAND} that knows how to
|
|
5
|
+
* contribute to a managed Deep Agent. MCP is one built-in implementation
|
|
6
|
+
* (contributes tools); the LangSmith connector is another (mounts HTTP routes).
|
|
7
|
+
* Third parties implement the same interface with their own `kind` — nothing
|
|
8
|
+
* about the built-ins is privileged.
|
|
9
|
+
*
|
|
10
|
+
* Discovery is name-agnostic: the CLI globs every module under `connectors/`,
|
|
11
|
+
* imports the single connector each one exposes as its default export, and hands
|
|
12
|
+
* them to {@link collectConnectors}, which validates the brand at build/startup.
|
|
13
|
+
* The two generated entrypoints each call the hook they care about — the agent
|
|
14
|
+
* graph calls {@link Connector.tools}, the managed HTTP app calls
|
|
15
|
+
* {@link Connector.http}.
|
|
16
|
+
*/
|
|
17
|
+
import type { IdentityConfig, RuntimeIdentity } from "../identity.js";
|
|
18
|
+
/**
|
|
19
|
+
* Realm-global brand marking a value as a managed connector. `Symbol.for` keeps
|
|
20
|
+
* the identity stable across duplicate module instances (e.g. a connector built
|
|
21
|
+
* against one copy of the package and collected by another).
|
|
22
|
+
*/
|
|
23
|
+
export declare const CONNECTOR_BRAND: unique symbol;
|
|
24
|
+
/**
|
|
25
|
+
* Build-time context handed to {@link Connector.tools} during agent-graph
|
|
26
|
+
* construction. Intentionally minimal for v0: a connector's tools close over
|
|
27
|
+
* their own configuration, and per-run identity flows through the existing
|
|
28
|
+
* runtime seam into each tool's `invoke`, not through here. Reserved for future
|
|
29
|
+
* deployment metadata.
|
|
30
|
+
*/
|
|
31
|
+
export type ToolContext = Record<string, never>;
|
|
32
|
+
/**
|
|
33
|
+
* Request context handed to {@link Connector.http} when the managed HTTP app is
|
|
34
|
+
* built. The connector receives its own namespaced sub-router (collision-safe),
|
|
35
|
+
* the declared identity for its own authorization logic, and a
|
|
36
|
+
* {@link HttpContext.requireIdentity} helper that fails closed.
|
|
37
|
+
*/
|
|
38
|
+
export interface HttpContext {
|
|
39
|
+
/**
|
|
40
|
+
* Router the connector mounts its routes on. Already namespaced under the
|
|
41
|
+
* connector, so routes cannot collide with identity/API routes or with other
|
|
42
|
+
* connectors. Routes registered here are **secure by default** — MDA resolves
|
|
43
|
+
* and enforces caller identity before the handler runs (see
|
|
44
|
+
* {@link HttpSubRouter}).
|
|
45
|
+
*/
|
|
46
|
+
readonly router: HttpSubRouter;
|
|
47
|
+
/** The declared identity, for the connector's own authorization decisions. */
|
|
48
|
+
readonly identity?: IdentityConfig;
|
|
49
|
+
/**
|
|
50
|
+
* Resolve the caller identity from the raw request, reusing the same resolver
|
|
51
|
+
* as the managed auth handler. Throws a 401-style error when identity is
|
|
52
|
+
* absent or invalid. Secured routes already resolve identity for you; use this
|
|
53
|
+
* only inside a {@link HttpSubRouter.public} route that wants optional or
|
|
54
|
+
* conditional authentication.
|
|
55
|
+
*/
|
|
56
|
+
requireIdentity(request: Request): Promise<RuntimeIdentity>;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The router a connector uses to register routes. Structural so the managed app
|
|
60
|
+
* can back it with Hono without leaking the framework type into the contract.
|
|
61
|
+
*
|
|
62
|
+
* Routes registered on this router are **secure by default**: MDA resolves the
|
|
63
|
+
* caller's identity (401 on failure) before invoking the handler, and passes the
|
|
64
|
+
* frozen {@link RuntimeIdentity} as the handler's second argument. Authorization
|
|
65
|
+
* (scopes, constraints, ownership) remains the connector's job.
|
|
66
|
+
*
|
|
67
|
+
* A route that must be reachable without authentication (webhooks, health
|
|
68
|
+
* checks, public callbacks) has to opt out **explicitly** via
|
|
69
|
+
* {@link HttpSubRouter.public} — the unauthenticated surface is never the
|
|
70
|
+
* accidental default.
|
|
71
|
+
*/
|
|
72
|
+
export interface HttpSubRouter {
|
|
73
|
+
get(path: string, handler: SecuredRouteHandler): void;
|
|
74
|
+
post(path: string, handler: SecuredRouteHandler): void;
|
|
75
|
+
put(path: string, handler: SecuredRouteHandler): void;
|
|
76
|
+
delete(path: string, handler: SecuredRouteHandler): void;
|
|
77
|
+
/** Explicit opt-out: routes reachable without MDA identity enforcement. */
|
|
78
|
+
readonly public: PublicSubRouter;
|
|
79
|
+
}
|
|
80
|
+
/** The unauthenticated router surface, reached only via {@link HttpSubRouter.public}. */
|
|
81
|
+
export interface PublicSubRouter {
|
|
82
|
+
get(path: string, handler: PublicRouteHandler): void;
|
|
83
|
+
post(path: string, handler: PublicRouteHandler): void;
|
|
84
|
+
put(path: string, handler: PublicRouteHandler): void;
|
|
85
|
+
delete(path: string, handler: PublicRouteHandler): void;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Handler for a secured route. MDA has already resolved and enforced the
|
|
89
|
+
* caller's identity, which it passes as the second argument.
|
|
90
|
+
*/
|
|
91
|
+
export type SecuredRouteHandler = (request: Request, identity: RuntimeIdentity) => Response | Promise<Response>;
|
|
92
|
+
/** Handler for an explicitly public route. No identity is resolved by MDA. */
|
|
93
|
+
export type PublicRouteHandler = (request: Request) => Response | Promise<Response>;
|
|
94
|
+
/** Tools a connector contributes to the agent. Kept structural (`unknown[]`). */
|
|
95
|
+
export type ConnectorToolList = unknown[];
|
|
96
|
+
/**
|
|
97
|
+
* A managed connector. Implement at least one of {@link Connector.tools} or
|
|
98
|
+
* {@link Connector.http}; a connector implementing neither does nothing and is
|
|
99
|
+
* rejected by {@link collectConnectors}.
|
|
100
|
+
*/
|
|
101
|
+
export interface Connector {
|
|
102
|
+
readonly [CONNECTOR_BRAND]: true;
|
|
103
|
+
/** Diagnostic label, e.g. `"mcp_servers"` or `"langsmith"`. Not used for routing. */
|
|
104
|
+
readonly kind: string;
|
|
105
|
+
/** Contribute tools during agent-graph construction. MCP implements this. */
|
|
106
|
+
tools?(ctx: ToolContext): ConnectorToolList | Promise<ConnectorToolList>;
|
|
107
|
+
/** Mount HTTP routes during managed-app construction. LangSmith implements this. */
|
|
108
|
+
http?(ctx: HttpContext): void | Promise<void>;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Run the `tools` hook of every connector that implements it and concatenate the
|
|
112
|
+
* results, preserving connector order. Connectors without a `tools` hook (e.g.
|
|
113
|
+
* HTTP-only connectors) contribute nothing.
|
|
114
|
+
*/
|
|
115
|
+
export declare function loadConnectorTools(connectors: readonly Connector[], ctx?: ToolContext): Promise<unknown[]>;
|
|
116
|
+
/** A discovered `connectors/` module paired with its source path for diagnostics. */
|
|
117
|
+
export interface DiscoveredConnectorModule {
|
|
118
|
+
/** Project-relative path of the module, used in error messages. */
|
|
119
|
+
readonly source: string;
|
|
120
|
+
/** The imported module namespace; its default export is the connector. */
|
|
121
|
+
readonly module: {
|
|
122
|
+
default?: unknown;
|
|
123
|
+
} & Record<string, unknown>;
|
|
124
|
+
}
|
|
125
|
+
/** Narrow an arbitrary value to a {@link Connector} by its brand and hooks. */
|
|
126
|
+
export declare function isConnector(value: unknown): value is Connector;
|
|
127
|
+
/**
|
|
128
|
+
* Validate and collect the connectors discovered under `connectors/`.
|
|
129
|
+
*
|
|
130
|
+
* Each module must expose exactly one connector as its default export. A module
|
|
131
|
+
* whose default export is missing or is not a branded connector is a hard build
|
|
132
|
+
* error — the file was placed under `connectors/` on purpose, so a silent no-op
|
|
133
|
+
* would be the worst outcome. A connector implementing neither hook is likewise
|
|
134
|
+
* rejected. Duplicate connector objects (re-exported from two modules) are
|
|
135
|
+
* de-duplicated by identity.
|
|
136
|
+
*/
|
|
137
|
+
export declare function collectConnectors(modules: readonly DiscoveredConnectorModule[]): Connector[];
|
|
138
|
+
//# sourceMappingURL=connector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../src/runtime/connector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtE;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,OAAO,MAAoC,CAAC;AAE1E;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IACnC;;;;;;OAMG;IACH,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7D;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACtD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACvD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACtD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACzD,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;CAClC;AAED,yFAAyF;AACzF,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACrD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACtD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACrD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACzD;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,KACtB,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAElC,8EAA8E;AAC9E,MAAM,MAAM,kBAAkB,GAAG,CAC/B,OAAO,EAAE,OAAO,KACb,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAElC,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,GAAG,OAAO,EAAE,CAAC;AAE1C;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC;IACjC,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,KAAK,CAAC,CAAC,GAAG,EAAE,WAAW,GAAG,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzE,oFAAoF;IACpF,IAAI,CAAC,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,SAAS,SAAS,EAAE,EAChC,GAAG,GAAE,WAAgB,GACpB,OAAO,CAAC,OAAO,EAAE,CAAC,CAQpB;AAED,qFAAqF;AACrF,MAAM,WAAW,yBAAyB;IACxC,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClE;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAM9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,yBAAyB,EAAE,GAC5C,SAAS,EAAE,CAoCb"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The managed connector protocol.
|
|
3
|
+
*
|
|
4
|
+
* A connector is any object carrying {@link CONNECTOR_BRAND} that knows how to
|
|
5
|
+
* contribute to a managed Deep Agent. MCP is one built-in implementation
|
|
6
|
+
* (contributes tools); the LangSmith connector is another (mounts HTTP routes).
|
|
7
|
+
* Third parties implement the same interface with their own `kind` — nothing
|
|
8
|
+
* about the built-ins is privileged.
|
|
9
|
+
*
|
|
10
|
+
* Discovery is name-agnostic: the CLI globs every module under `connectors/`,
|
|
11
|
+
* imports the single connector each one exposes as its default export, and hands
|
|
12
|
+
* them to {@link collectConnectors}, which validates the brand at build/startup.
|
|
13
|
+
* The two generated entrypoints each call the hook they care about — the agent
|
|
14
|
+
* graph calls {@link Connector.tools}, the managed HTTP app calls
|
|
15
|
+
* {@link Connector.http}.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Realm-global brand marking a value as a managed connector. `Symbol.for` keeps
|
|
19
|
+
* the identity stable across duplicate module instances (e.g. a connector built
|
|
20
|
+
* against one copy of the package and collected by another).
|
|
21
|
+
*/
|
|
22
|
+
export const CONNECTOR_BRAND = Symbol.for("mda.connector");
|
|
23
|
+
/**
|
|
24
|
+
* Run the `tools` hook of every connector that implements it and concatenate the
|
|
25
|
+
* results, preserving connector order. Connectors without a `tools` hook (e.g.
|
|
26
|
+
* HTTP-only connectors) contribute nothing.
|
|
27
|
+
*/
|
|
28
|
+
export async function loadConnectorTools(connectors, ctx = {}) {
|
|
29
|
+
const tools = [];
|
|
30
|
+
for (const connector of connectors) {
|
|
31
|
+
if (typeof connector.tools === "function") {
|
|
32
|
+
tools.push(...(await connector.tools(ctx)));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return tools;
|
|
36
|
+
}
|
|
37
|
+
/** Narrow an arbitrary value to a {@link Connector} by its brand and hooks. */
|
|
38
|
+
export function isConnector(value) {
|
|
39
|
+
if (typeof value !== "object" || value === null) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
const branded = value[CONNECTOR_BRAND];
|
|
43
|
+
return branded === true;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Validate and collect the connectors discovered under `connectors/`.
|
|
47
|
+
*
|
|
48
|
+
* Each module must expose exactly one connector as its default export. A module
|
|
49
|
+
* whose default export is missing or is not a branded connector is a hard build
|
|
50
|
+
* error — the file was placed under `connectors/` on purpose, so a silent no-op
|
|
51
|
+
* would be the worst outcome. A connector implementing neither hook is likewise
|
|
52
|
+
* rejected. Duplicate connector objects (re-exported from two modules) are
|
|
53
|
+
* de-duplicated by identity.
|
|
54
|
+
*/
|
|
55
|
+
export function collectConnectors(modules) {
|
|
56
|
+
const collected = [];
|
|
57
|
+
const seen = new Set();
|
|
58
|
+
for (const { source, module } of modules) {
|
|
59
|
+
const candidate = module.default;
|
|
60
|
+
if (candidate === undefined) {
|
|
61
|
+
throw new Error(`${source} exports no default connector. A file under connectors/ must ` +
|
|
62
|
+
`\`export default\` exactly one connector (e.g. ` +
|
|
63
|
+
`\`export default defineMcpServers(...)\`). Move helpers outside connectors/.`);
|
|
64
|
+
}
|
|
65
|
+
if (!isConnector(candidate)) {
|
|
66
|
+
throw new Error(`${source} default export is not a managed connector. Export the result ` +
|
|
67
|
+
`of a connector builder such as \`defineMcpServers(...)\`.`);
|
|
68
|
+
}
|
|
69
|
+
if (typeof candidate.tools !== "function" &&
|
|
70
|
+
typeof candidate.http !== "function") {
|
|
71
|
+
throw new Error(`${source} default export (kind "${candidate.kind}") implements neither ` +
|
|
72
|
+
`\`tools\` nor \`http\` and would do nothing.`);
|
|
73
|
+
}
|
|
74
|
+
if (seen.has(candidate)) {
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
seen.add(candidate);
|
|
78
|
+
collected.push(candidate);
|
|
79
|
+
}
|
|
80
|
+
return collected;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=connector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../../src/runtime/connector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAkB,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAqG1E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAgC,EAChC,MAAmB,EAAE;IAErB,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAUD,+EAA+E;AAC/E,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAI,KAAsC,CAAC,eAAe,CAAC,CAAC;IACzE,OAAO,OAAO,KAAK,IAAI,CAAC;AAC1B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAA6C;IAE7C,MAAM,SAAS,GAAgB,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAa,CAAC;IAElC,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;QACjC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,+DAA+D;gBACtE,iDAAiD;gBACjD,8EAA8E,CACjF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,gEAAgE;gBACvE,2DAA2D,CAC9D,CAAC;QACJ,CAAC;QACD,IACE,OAAO,SAAS,CAAC,KAAK,KAAK,UAAU;YACrC,OAAO,SAAS,CAAC,IAAI,KAAK,UAAU,EACpC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,0BAA0B,SAAS,CAAC,IAAI,wBAAwB;gBACvE,8CAA8C,CACjD,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,8 +1,27 @@
|
|
|
1
1
|
import { Hono } from "hono";
|
|
2
2
|
import type { IdentityDefinition } from "../identity.js";
|
|
3
|
+
import type { Connector } from "./connector.js";
|
|
4
|
+
/** Inputs the managed HTTP app is built from. */
|
|
5
|
+
export interface ManagedHttpAppInputs {
|
|
6
|
+
/** The declared identity, if the project opts into managed identity. */
|
|
7
|
+
identity?: IdentityDefinition;
|
|
8
|
+
/** Discovered connectors; those implementing `http` mount routes. */
|
|
9
|
+
connectors?: Connector[];
|
|
10
|
+
}
|
|
3
11
|
/**
|
|
4
|
-
* Build the managed
|
|
5
|
-
*
|
|
12
|
+
* Build the single managed HTTP app mounted via `langgraph.json` `http.app`.
|
|
13
|
+
*
|
|
14
|
+
* It layers two concerns onto the built-in LangGraph routes:
|
|
15
|
+
* - **identity** — public guest issuance (`POST /identity/guest`) when the
|
|
16
|
+
* declared identity enables a guest provider;
|
|
17
|
+
* - **connectors** — each connector implementing `http` gets a sub-router
|
|
18
|
+
* namespaced under `/connectors/{kind}` and mounts its own routes.
|
|
19
|
+
*
|
|
20
|
+
* Connector routes are **secure by default**: MDA resolves and enforces the
|
|
21
|
+
* caller's identity before the handler runs, and a route must opt out of
|
|
22
|
+
* authentication explicitly (`router.public.*`). The connector HTTP surface is
|
|
23
|
+
* logged at construction so the (especially unauthenticated) routes are never
|
|
24
|
+
* invisible.
|
|
6
25
|
*/
|
|
7
|
-
export declare function
|
|
26
|
+
export declare function buildManagedHttpApp(inputs: ManagedHttpAppInputs): Hono;
|
|
8
27
|
//# sourceMappingURL=identity-http.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-http.d.ts","sourceRoot":"","sources":["../../src/runtime/identity-http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"identity-http.d.ts","sourceRoot":"","sources":["../../src/runtime/identity-http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,EAAkB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzE,OAAO,KAAK,EACV,SAAS,EAKV,MAAM,gBAAgB,CAAC;AAGxB,iDAAiD;AACjD,MAAM,WAAW,oBAAoB;IACnC,wEAAwE;IACxE,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,qEAAqE;IACrE,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAuBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAgBtE"}
|
|
@@ -1,23 +1,150 @@
|
|
|
1
1
|
import { Hono } from "hono";
|
|
2
|
+
import { resolveRequestIdentity } from "./auth.js";
|
|
2
3
|
import { issueGuestToken } from "./validated-token.js";
|
|
4
|
+
/** Signals a secured route was reached but no identity is declared to resolve it. */
|
|
5
|
+
class IdentityNotConfiguredError extends Error {
|
|
6
|
+
status = 401;
|
|
7
|
+
constructor() {
|
|
8
|
+
super("secured connector route requires an identity declaration, but this " +
|
|
9
|
+
"deployment has none");
|
|
10
|
+
}
|
|
11
|
+
}
|
|
3
12
|
/**
|
|
4
|
-
* Build the managed
|
|
5
|
-
*
|
|
13
|
+
* Build the single managed HTTP app mounted via `langgraph.json` `http.app`.
|
|
14
|
+
*
|
|
15
|
+
* It layers two concerns onto the built-in LangGraph routes:
|
|
16
|
+
* - **identity** — public guest issuance (`POST /identity/guest`) when the
|
|
17
|
+
* declared identity enables a guest provider;
|
|
18
|
+
* - **connectors** — each connector implementing `http` gets a sub-router
|
|
19
|
+
* namespaced under `/connectors/{kind}` and mounts its own routes.
|
|
20
|
+
*
|
|
21
|
+
* Connector routes are **secure by default**: MDA resolves and enforces the
|
|
22
|
+
* caller's identity before the handler runs, and a route must opt out of
|
|
23
|
+
* authentication explicitly (`router.public.*`). The connector HTTP surface is
|
|
24
|
+
* logged at construction so the (especially unauthenticated) routes are never
|
|
25
|
+
* invisible.
|
|
6
26
|
*/
|
|
7
|
-
export function
|
|
27
|
+
export function buildManagedHttpApp(inputs) {
|
|
8
28
|
const app = new Hono();
|
|
29
|
+
if (inputs.identity) {
|
|
30
|
+
mountIdentityRoutes(app, inputs.identity);
|
|
31
|
+
}
|
|
32
|
+
const mounted = [];
|
|
33
|
+
for (const connector of inputs.connectors ?? []) {
|
|
34
|
+
if (typeof connector.http === "function") {
|
|
35
|
+
mountConnectorRoutes(app, connector, inputs.identity?.config, mounted);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
logConnectorSurface(mounted);
|
|
39
|
+
return app;
|
|
40
|
+
}
|
|
41
|
+
/** Mount the public identity routes (guest issuance) onto `app`. */
|
|
42
|
+
function mountIdentityRoutes(app, identity) {
|
|
9
43
|
const http = identity.config.ingress.http;
|
|
10
44
|
if (http === "trusted_backend") {
|
|
11
|
-
return
|
|
45
|
+
return;
|
|
12
46
|
}
|
|
13
47
|
const guestProvider = http.providers.find((provider) => provider.guest?.issue);
|
|
14
48
|
if (!guestProvider) {
|
|
15
|
-
return
|
|
49
|
+
return;
|
|
16
50
|
}
|
|
17
51
|
app.post("/identity/guest", async (c) => {
|
|
18
52
|
const token = await issueGuestToken(guestProvider);
|
|
19
53
|
return c.json({ token });
|
|
20
54
|
});
|
|
21
|
-
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Mount a connector's `http` routes on a sub-router namespaced under
|
|
58
|
+
* `/connectors/{kind}`, so connector routes cannot collide with identity/API
|
|
59
|
+
* routes or with each other.
|
|
60
|
+
*/
|
|
61
|
+
function mountConnectorRoutes(app, connector, cfg, mounted) {
|
|
62
|
+
const sub = new Hono();
|
|
63
|
+
const router = honoConnectorRouter(sub, connector.kind, cfg, mounted);
|
|
64
|
+
const ctx = {
|
|
65
|
+
router,
|
|
66
|
+
identity: cfg,
|
|
67
|
+
requireIdentity: (request) => {
|
|
68
|
+
if (!cfg) {
|
|
69
|
+
return Promise.reject(new Error("identity is not configured for this deployment; declare an " +
|
|
70
|
+
"identity to resolve caller identity on connector routes."));
|
|
71
|
+
}
|
|
72
|
+
return resolveRequestIdentity(cfg, request);
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
connector.http?.(ctx);
|
|
76
|
+
app.route(`/connectors/${connector.kind}`, sub);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Build the secure-by-default {@link HttpSubRouter} over a Hono sub-app. Secured
|
|
80
|
+
* routes resolve identity (401 on failure) before the handler runs; `public.*`
|
|
81
|
+
* routes skip enforcement. Every registration is recorded in `mounted`.
|
|
82
|
+
*/
|
|
83
|
+
function honoConnectorRouter(sub, kind, cfg, mounted) {
|
|
84
|
+
const secured = (method) => (path, handler) => {
|
|
85
|
+
mounted.push({ connector: kind, method, path, secured: true });
|
|
86
|
+
sub[method](path, async (c) => {
|
|
87
|
+
const request = c.req.raw;
|
|
88
|
+
if (!cfg) {
|
|
89
|
+
return unauthorizedResponse(new IdentityNotConfiguredError());
|
|
90
|
+
}
|
|
91
|
+
let identity;
|
|
92
|
+
try {
|
|
93
|
+
identity = await resolveRequestIdentity(cfg, request);
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
return unauthorizedResponse(error);
|
|
97
|
+
}
|
|
98
|
+
return handler(request, identity);
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
const publicRoute = (method) => (path, handler) => {
|
|
102
|
+
mounted.push({ connector: kind, method, path, secured: false });
|
|
103
|
+
sub[method](path, (c) => handler(c.req.raw));
|
|
104
|
+
};
|
|
105
|
+
return {
|
|
106
|
+
get: secured("get"),
|
|
107
|
+
post: secured("post"),
|
|
108
|
+
put: secured("put"),
|
|
109
|
+
delete: secured("delete"),
|
|
110
|
+
public: {
|
|
111
|
+
get: publicRoute("get"),
|
|
112
|
+
post: publicRoute("post"),
|
|
113
|
+
put: publicRoute("put"),
|
|
114
|
+
delete: publicRoute("delete"),
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
/** Map a resolution error to a fail-closed JSON response. */
|
|
119
|
+
function unauthorizedResponse(error) {
|
|
120
|
+
const status = typeof error.status === "number"
|
|
121
|
+
? error.status
|
|
122
|
+
: 401;
|
|
123
|
+
const message = error instanceof Error && error.message ? error.message : "unauthorized";
|
|
124
|
+
return new Response(JSON.stringify({ error: message }), {
|
|
125
|
+
status,
|
|
126
|
+
headers: { "content-type": "application/json" },
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Log the connector HTTP surface so both secured and (loudly) public routes are
|
|
131
|
+
* visible in deploy/dev startup logs — the routes are mounted at runtime, so
|
|
132
|
+
* this is where the actual surface can be enumerated.
|
|
133
|
+
*/
|
|
134
|
+
function logConnectorSurface(mounted) {
|
|
135
|
+
if (mounted.length === 0) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
console.info(`[mda] connector HTTP surface (${mounted.length} route(s)):`);
|
|
139
|
+
for (const route of mounted) {
|
|
140
|
+
const full = `/connectors/${route.connector}${route.path}`;
|
|
141
|
+
const line = `[mda] ${route.method.toUpperCase().padEnd(6)} ${full}`;
|
|
142
|
+
if (route.secured) {
|
|
143
|
+
console.info(`${line} (identity enforced)`);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
console.warn(`${line} (PUBLIC — no identity enforcement)`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
22
149
|
}
|
|
23
150
|
//# sourceMappingURL=identity-http.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-http.js","sourceRoot":"","sources":["../../src/runtime/identity-http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"identity-http.js","sourceRoot":"","sources":["../../src/runtime/identity-http.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -2,7 +2,9 @@ import type { DeepAgentDefinition } from "../types.js";
|
|
|
2
2
|
import type { ManagedAgentOptions, ManagedRunConfig } from "./types.js";
|
|
3
3
|
export type { ManagedAgentOptions, ManagedRunConfig } from "./types.js";
|
|
4
4
|
export { buildManagedAuth } from "./auth.js";
|
|
5
|
-
export {
|
|
5
|
+
export { buildManagedHttpApp } from "./identity-http.js";
|
|
6
|
+
export { CONNECTOR_BRAND, collectConnectors, isConnector, loadConnectorTools, } from "./connector.js";
|
|
7
|
+
export type { Connector, ConnectorToolList, DiscoveredConnectorModule, HttpContext, HttpSubRouter, PublicRouteHandler, PublicSubRouter, SecuredRouteHandler, ToolContext, } from "./connector.js";
|
|
6
8
|
export type { ManagedUser } from "./auth.js";
|
|
7
9
|
export { CredentialCache, CREDENTIAL_SIGNING_SECRET_ENV, clearCredentialCacheForTests, createCredentialsProvider, } from "./credentials.js";
|
|
8
10
|
export type { CredentialDeps, CredentialForOptions, CredentialsProvider, } from "./credentials.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAWvD,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAWvD,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,yBAAyB,EACzB,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EACL,eAAe,EACf,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,aAAa,EACb,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,gCAAgC,GACjC,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AA4HvD;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,mBAAmB,EAC/B,MAAM,CAAC,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2YAsF9B"}
|
package/dist/runtime/index.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { CompositeBackend, ContextHubBackend, StateBackend, createDeepAgent, } from "deepagents";
|
|
2
|
-
import {
|
|
2
|
+
import { loadConnectorTools } from "./connector.js";
|
|
3
3
|
import { wrapMiddlewareWithManagedRuntime, } from "./managed-middleware.js";
|
|
4
4
|
import { wrapToolsWithManagedRuntime, } from "./managed-tools.js";
|
|
5
5
|
import { resolveManagedSandbox } from "./sandbox-manager.js";
|
|
6
6
|
export { buildManagedAuth } from "./auth.js";
|
|
7
|
-
export {
|
|
7
|
+
export { buildManagedHttpApp } from "./identity-http.js";
|
|
8
|
+
export { CONNECTOR_BRAND, collectConnectors, isConnector, loadConnectorTools, } from "./connector.js";
|
|
8
9
|
export { CredentialCache, CREDENTIAL_SIGNING_SECRET_ENV, clearCredentialCacheForTests, createCredentialsProvider, } from "./credentials.js";
|
|
9
10
|
export { buildRuntimeIdentity, memoryIdentitySegments, memoryNamespace, memoryNamespaceFor, sanitizeConfigurable, } from "./identity-runtime.js";
|
|
10
11
|
export { managedRuntimeExtras, managedRuntimeOverrides, withManagedRuntime, wrapToolsWithManagedRuntime, } from "./managed-tools.js";
|
|
@@ -90,15 +91,16 @@ export async function compileManagedAgent(definition, config, options) {
|
|
|
90
91
|
const { disableMemory = false, ...agentConfig } = definition.config;
|
|
91
92
|
const params = { ...agentConfig };
|
|
92
93
|
/**
|
|
93
|
-
* Loading
|
|
94
|
-
* it off up front and let it run concurrently with
|
|
94
|
+
* Loading connector tools (e.g. MCP) can involve independent network
|
|
95
|
+
* round-trips, so kick it off up front and let it run concurrently with
|
|
96
|
+
* backend resolution below.
|
|
95
97
|
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
98
|
+
* Each connector's `tools` hook contributes tools appended to the authored
|
|
99
|
+
* tools. The author never imports the MCP client or calls `getTools()` — MDA
|
|
100
|
+
* owns the connector lifecycle.
|
|
99
101
|
*/
|
|
100
|
-
const
|
|
101
|
-
?
|
|
102
|
+
const connectorToolsPromise = connectors && connectors.length > 0
|
|
103
|
+
? loadConnectorTools(connectors)
|
|
102
104
|
: undefined;
|
|
103
105
|
const sandboxBackend = sandbox
|
|
104
106
|
? new LazyManagedSandboxBackend(sandbox, setupScript, config)
|
|
@@ -126,10 +128,10 @@ export async function compileManagedAgent(definition, config, options) {
|
|
|
126
128
|
params.backend = sandboxBackend;
|
|
127
129
|
}
|
|
128
130
|
}
|
|
129
|
-
const
|
|
130
|
-
if (
|
|
131
|
+
const connectorTools = await connectorToolsPromise;
|
|
132
|
+
if (connectorTools && connectorTools.length > 0) {
|
|
131
133
|
const authoredTools = Array.isArray(params.tools) ? params.tools : [];
|
|
132
|
-
params.tools = [...authoredTools, ...
|
|
134
|
+
params.tools = [...authoredTools, ...connectorTools];
|
|
133
135
|
}
|
|
134
136
|
// With identity declared, surface the frozen `runtime.identity` envelope (and,
|
|
135
137
|
// in custom-credentials mode, `runtime.credentials`) on the runtime every tool
|
|
@@ -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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"}
|