managed-deepagents 0.8.7-dev.1 → 0.8.7-dev.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +116 -36
- package/dist/agent-entry.d.ts +6 -0
- package/dist/agent-entry.d.ts.map +1 -0
- package/dist/agent-entry.js +2 -0
- package/dist/agent-entry.js.map +1 -0
- package/dist/channels/binding.d.ts +5 -0
- package/dist/channels/binding.d.ts.map +1 -1
- package/dist/channels/binding.js +4 -1
- package/dist/channels/binding.js.map +1 -1
- package/dist/channels/http/index.d.ts.map +1 -1
- package/dist/channels/http/index.js +5 -1
- package/dist/channels/http/index.js.map +1 -1
- package/dist/channels/http/types.d.ts +2 -0
- package/dist/channels/http/types.d.ts.map +1 -1
- package/dist/channels/messaging-registry.d.ts +2 -0
- package/dist/channels/messaging-registry.d.ts.map +1 -1
- package/dist/channels/messaging-registry.js +10 -0
- package/dist/channels/messaging-registry.js.map +1 -1
- package/dist/channels/reactions.d.ts +32 -0
- package/dist/channels/reactions.d.ts.map +1 -0
- package/dist/channels/reactions.js +53 -0
- package/dist/channels/reactions.js.map +1 -0
- package/dist/channels/response-format.d.ts +1 -0
- package/dist/channels/response-format.d.ts.map +1 -1
- package/dist/channels/response-format.js +30 -4
- package/dist/channels/response-format.js.map +1 -1
- package/dist/channels/runtime.d.ts +1 -0
- package/dist/channels/runtime.d.ts.map +1 -1
- package/dist/channels/runtime.js +7 -1
- package/dist/channels/runtime.js.map +1 -1
- package/dist/channels/schedule-delivery.d.ts +3 -25
- package/dist/channels/schedule-delivery.d.ts.map +1 -1
- package/dist/channels/schedule-delivery.js +28 -31
- package/dist/channels/schedule-delivery.js.map +1 -1
- package/dist/channels/slack/files-middleware.d.ts +4 -4
- package/dist/channels/slack/files-middleware.d.ts.map +1 -1
- package/dist/channels/slack/files-middleware.js +11 -9
- package/dist/channels/slack/files-middleware.js.map +1 -1
- package/dist/channels/slack/files.d.ts +3 -2
- package/dist/channels/slack/files.d.ts.map +1 -1
- package/dist/channels/slack/files.js +35 -15
- package/dist/channels/slack/files.js.map +1 -1
- package/dist/channels/slack/index.d.ts +8 -0
- package/dist/channels/slack/index.d.ts.map +1 -1
- package/dist/channels/slack/index.js +10 -0
- package/dist/channels/slack/index.js.map +1 -1
- package/dist/channels/slack/transport.d.ts.map +1 -1
- package/dist/channels/slack/transport.js +1 -1
- package/dist/channels/slack/transport.js.map +1 -1
- package/dist/channels/trigger/http.d.ts +3 -0
- package/dist/channels/trigger/http.d.ts.map +1 -1
- package/dist/channels/trigger/http.js +84 -37
- package/dist/channels/trigger/http.js.map +1 -1
- package/dist/channels/trigger/transport.d.ts.map +1 -1
- package/dist/channels/trigger/transport.js +6 -3
- package/dist/channels/trigger/transport.js.map +1 -1
- package/dist/channels/trigger/types.d.ts +21 -2
- package/dist/channels/trigger/types.d.ts.map +1 -1
- package/dist/channels/trigger/types.js.map +1 -1
- package/dist/channels/types.d.ts +3 -0
- package/dist/channels/types.d.ts.map +1 -1
- package/dist/channels/types.js.map +1 -1
- package/dist/connection-authorization.d.ts +7 -0
- package/dist/connection-authorization.d.ts.map +1 -1
- package/dist/connection-authorization.js +1 -1
- package/dist/connection-authorization.js.map +1 -1
- package/dist/connectors/mcp/index.d.ts +12 -12
- package/dist/connectors/mcp/index.d.ts.map +1 -1
- package/dist/connectors/mcp/index.js +75 -77
- package/dist/connectors/mcp/index.js.map +1 -1
- package/dist/connectors/mcp/schema.d.ts +4 -13
- package/dist/connectors/mcp/schema.d.ts.map +1 -1
- package/dist/connectors/mcp/schema.js +57 -96
- package/dist/connectors/mcp/schema.js.map +1 -1
- package/dist/connectors/mcp/types.d.ts +17 -51
- package/dist/connectors/mcp/types.d.ts.map +1 -1
- package/dist/credential-gate.d.ts.map +1 -1
- package/dist/credential-gate.js +2 -4
- package/dist/credential-gate.js.map +1 -1
- package/dist/define-deep-agent.d.ts +7 -5
- package/dist/define-deep-agent.d.ts.map +1 -1
- package/dist/define-deep-agent.js +13 -17
- package/dist/define-deep-agent.js.map +1 -1
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/managed-composition.d.ts +21 -0
- package/dist/managed-composition.d.ts.map +1 -0
- package/dist/managed-composition.js +244 -0
- package/dist/managed-composition.js.map +1 -0
- package/dist/memory/define-memory.d.ts.map +1 -1
- package/dist/memory/define-memory.js +4 -5
- package/dist/memory/define-memory.js.map +1 -1
- package/dist/memory/types.d.ts +18 -3
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/run-context.d.ts +6 -0
- package/dist/run-context.d.ts.map +1 -1
- package/dist/run-context.js +1 -0
- package/dist/run-context.js.map +1 -1
- package/dist/runtime/agent-entry.d.ts +6 -0
- package/dist/runtime/agent-entry.d.ts.map +1 -0
- package/dist/runtime/agent-entry.js +38 -0
- package/dist/runtime/agent-entry.js.map +1 -0
- package/dist/runtime/auth.d.ts +3 -6
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +9 -7
- package/dist/runtime/auth.js.map +1 -1
- package/dist/runtime/backend.d.ts +1 -0
- package/dist/runtime/backend.d.ts.map +1 -1
- package/dist/runtime/backend.js +9 -6
- package/dist/runtime/backend.js.map +1 -1
- package/dist/runtime/eval-filesystem.d.ts +4 -2
- package/dist/runtime/eval-filesystem.d.ts.map +1 -1
- package/dist/runtime/eval-filesystem.js +134 -8
- package/dist/runtime/eval-filesystem.js.map +1 -1
- package/dist/runtime/identity-runtime.d.ts +6 -8
- package/dist/runtime/identity-runtime.d.ts.map +1 -1
- package/dist/runtime/identity-runtime.js +12 -8
- package/dist/runtime/identity-runtime.js.map +1 -1
- package/dist/runtime/index.d.ts +4 -221
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +164 -48
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/managed-tools.d.ts +7 -9
- package/dist/runtime/managed-tools.d.ts.map +1 -1
- package/dist/runtime/managed-tools.js +1 -11
- package/dist/runtime/managed-tools.js.map +1 -1
- package/dist/runtime/memory/index.d.ts +1 -1
- package/dist/runtime/memory/index.d.ts.map +1 -1
- package/dist/runtime/memory/index.js +1 -1
- package/dist/runtime/memory/index.js.map +1 -1
- package/dist/runtime/memory/mounts.d.ts +3 -2
- package/dist/runtime/memory/mounts.d.ts.map +1 -1
- package/dist/runtime/memory/mounts.js +11 -15
- package/dist/runtime/memory/mounts.js.map +1 -1
- package/dist/runtime/memory/paths.d.ts +1 -0
- package/dist/runtime/memory/paths.d.ts.map +1 -1
- package/dist/runtime/memory/paths.js +10 -0
- package/dist/runtime/memory/paths.js.map +1 -1
- package/dist/runtime/memory/policy.d.ts +1 -1
- package/dist/runtime/memory/policy.d.ts.map +1 -1
- package/dist/runtime/memory/policy.js +6 -2
- package/dist/runtime/memory/policy.js.map +1 -1
- package/dist/runtime/run-input.d.ts +35 -28
- package/dist/runtime/run-input.d.ts.map +1 -1
- package/dist/runtime/run-input.js +64 -8
- package/dist/runtime/run-input.js.map +1 -1
- package/dist/runtime/sandbox-manager.d.ts +14 -2
- package/dist/runtime/sandbox-manager.d.ts.map +1 -1
- package/dist/runtime/sandbox-manager.js +90 -12
- package/dist/runtime/sandbox-manager.js.map +1 -1
- package/dist/runtime/schedule-auth.d.ts +51 -0
- package/dist/runtime/schedule-auth.d.ts.map +1 -0
- package/dist/runtime/schedule-auth.js +180 -0
- package/dist/runtime/schedule-auth.js.map +1 -0
- package/dist/runtime/selected-skills-backend.d.ts +22 -0
- package/dist/runtime/selected-skills-backend.d.ts.map +1 -0
- package/dist/runtime/selected-skills-backend.js +238 -0
- package/dist/runtime/selected-skills-backend.js.map +1 -0
- package/dist/runtime/selected-skills.d.ts +13 -0
- package/dist/runtime/selected-skills.d.ts.map +1 -0
- package/dist/runtime/selected-skills.js +257 -0
- package/dist/runtime/selected-skills.js.map +1 -0
- package/dist/runtime/static-entry.d.ts +4 -0
- package/dist/runtime/static-entry.d.ts.map +1 -0
- package/dist/runtime/static-entry.js +16 -0
- package/dist/runtime/static-entry.js.map +1 -0
- package/dist/runtime/types.d.ts +6 -8
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime-schedules.d.ts +101 -0
- package/dist/runtime-schedules.d.ts.map +1 -0
- package/dist/runtime-schedules.js +465 -0
- package/dist/runtime-schedules.js.map +1 -0
- package/dist/sandbox.d.ts +2 -1
- package/dist/sandbox.d.ts.map +1 -1
- package/dist/sandbox.js.map +1 -1
- package/dist/schedule-channel.d.ts +3 -0
- package/dist/schedule-channel.d.ts.map +1 -0
- package/dist/schedule-channel.js +21 -0
- package/dist/schedule-channel.js.map +1 -0
- package/dist/schedule-time.d.ts +12 -0
- package/dist/schedule-time.d.ts.map +1 -0
- package/dist/schedule-time.js +101 -0
- package/dist/schedule-time.js.map +1 -0
- package/dist/types.d.ts +39 -16
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +10 -10
|
@@ -1,81 +1,47 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { HTTPConnection, MCPAdapterConfig } from "@langchain/mcp-adapters";
|
|
2
2
|
import type { Connector } from "../../runtime/connector.js";
|
|
3
3
|
import type { ConnectionReference } from "../../connections.js";
|
|
4
4
|
/** Per-server MCP tool selection. Names are raw, unprefixed MCP tool names. */
|
|
5
5
|
export interface McpToolSelectionConfig {
|
|
6
6
|
/**
|
|
7
7
|
* Raw MCP tool names to expose from this server. Names are matched before any
|
|
8
|
-
* managed `{server}
|
|
8
|
+
* managed `{server}_` prefix is applied.
|
|
9
9
|
*/
|
|
10
10
|
includeTools?: string[];
|
|
11
11
|
/**
|
|
12
12
|
* Raw MCP tool names to hide from this server. Names are matched before any
|
|
13
|
-
* managed `{server}
|
|
13
|
+
* managed `{server}_` prefix is applied.
|
|
14
14
|
*/
|
|
15
15
|
excludeTools?: string[];
|
|
16
16
|
}
|
|
17
17
|
/** A connection reference resolved through Agent Auth at run time. */
|
|
18
18
|
export type McpServerConnection = ConnectionReference;
|
|
19
|
-
/**
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
export type RemoteMcpServerBaseConfig = AdapterRemoteConnection & McpToolSelectionConfig & {
|
|
23
|
-
/**
|
|
24
|
-
* Bearer connection for this server, declared with `connections.get(...)`.
|
|
25
|
-
* An agent owner is a workspace-shared secret read once at load; a user
|
|
26
|
-
* owner is the caller's grant, loaded per caller after the gate.
|
|
27
|
-
*/
|
|
19
|
+
/** The fields MDA adds to an adapter connection; the adapter never sees them. */
|
|
20
|
+
export interface McpServerFields extends McpToolSelectionConfig {
|
|
21
|
+
/** Bearer connection (`connections.get(...)`); an agent owner loads once, a user owner loads per caller after the gate. */
|
|
28
22
|
connection?: McpServerConnection;
|
|
23
|
+
}
|
|
24
|
+
/** An adapter HTTP/SSE connection plus MDA's fields. MDA sets `authProvider` from `connection`; `type` is now `transport`. */
|
|
25
|
+
export type RemoteMcpServerConfig = HTTPConnection & McpServerFields & {
|
|
26
|
+
authProvider?: never;
|
|
27
|
+
type?: never;
|
|
29
28
|
};
|
|
30
|
-
/** Streamable HTTP MCP server connection. */
|
|
31
|
-
export type HttpMcpServerConfig = RemoteMcpServerBaseConfig & {
|
|
32
|
-
/** Remote transport. `"http"` selects Streamable HTTP. */
|
|
33
|
-
transport: "http";
|
|
34
|
-
};
|
|
35
|
-
/** Legacy SSE MCP server connection. */
|
|
36
|
-
export type SseMcpServerConfig = RemoteMcpServerBaseConfig & {
|
|
37
|
-
/** Remote transport. `"sse"` selects legacy SSE. */
|
|
38
|
-
transport: "sse";
|
|
39
|
-
};
|
|
40
|
-
/** A remote MCP server connection. Stdio servers are intentionally excluded. */
|
|
41
|
-
export type RemoteMcpServerConfig = HttpMcpServerConfig | SseMcpServerConfig;
|
|
42
|
-
/** {@link MultiServerMCPClient} options MDA exposes on `defineMcp`. */
|
|
43
|
-
type McpClientOptions = Pick<ClientConfig, "prefixToolNameWithServerName" | "throwOnLoadError" | "useStandardContentBlocks" | "onConnectionError">;
|
|
44
29
|
/** Named remote MCP servers. Each key is the logical server name. */
|
|
45
30
|
export type McpServerMap = Record<string, RemoteMcpServerConfig>;
|
|
46
|
-
/**
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
* Prefer `servers`. `mcpServers` is a deprecated alias and will be removed in
|
|
50
|
-
* 0.8.0.
|
|
51
|
-
*/
|
|
52
|
-
export type McpServersConfig = McpClientOptions & ({
|
|
53
|
-
/**
|
|
54
|
-
* MCP servers to connect to. Each key is the logical server name MDA
|
|
55
|
-
* uses for validation, tracing metadata, and tool-name prefixing.
|
|
56
|
-
*/
|
|
57
|
-
servers: McpServerMap;
|
|
58
|
-
mcpServers?: never;
|
|
59
|
-
} | {
|
|
60
|
-
/**
|
|
61
|
-
* @deprecated Use {@link McpServersConfig} `servers` instead.
|
|
62
|
-
* `mcpServers` will be removed in 0.8.0.
|
|
63
|
-
*/
|
|
64
|
-
mcpServers: McpServerMap;
|
|
65
|
-
servers?: never;
|
|
66
|
-
});
|
|
67
|
-
/** Parsed `defineMcp` arguments stored on the connector. Always `servers`. */
|
|
68
|
-
export interface McpServersArgs extends McpClientOptions {
|
|
31
|
+
/** Configuration accepted by `defineMcp`. */
|
|
32
|
+
export interface McpServersConfig extends Pick<MCPAdapterConfig, "prefixToolNameWithServerName" | "throwOnLoadError"> {
|
|
33
|
+
/** MCP servers to connect to, keyed by logical server name. */
|
|
69
34
|
servers: McpServerMap;
|
|
35
|
+
/** Managed agents fail loudly on a connection error. */
|
|
36
|
+
onConnectionError?: "throw";
|
|
70
37
|
}
|
|
71
38
|
/**
|
|
72
39
|
* The connector exported from a `connectors/` module for MCP. It is a branded
|
|
73
40
|
* managed {@link Connector} whose `tools` hook loads the declared MCP tools at
|
|
74
41
|
* runtime, plus the raw config the loader reads.
|
|
75
42
|
*/
|
|
76
|
-
export interface McpServersDefinition extends
|
|
43
|
+
export interface McpServersDefinition extends McpServersConfig, Connector {
|
|
77
44
|
/** Internal discriminator used by the MDA loader. */
|
|
78
45
|
readonly kind: "mcp_servers";
|
|
79
46
|
}
|
|
80
|
-
export {};
|
|
81
47
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/connectors/mcp/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/connectors/mcp/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,+EAA+E;AAC/E,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAEtD,iFAAiF;AACjF,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;IAC7D,2HAA2H;IAC3H,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAED,8HAA8H;AAC9H,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAChD,eAAe,GAAG;IAAE,YAAY,CAAC,EAAE,KAAK,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAE3D,qEAAqE;AACrE,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAEjE,6CAA6C;AAC7C,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAC5C,gBAAgB,EAChB,8BAA8B,GAAG,kBAAkB,CACpD;IACC,+DAA+D;IAC/D,OAAO,EAAE,YAAY,CAAC;IACtB,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB,EAAE,SAAS;IACvE,qDAAqD;IACrD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-gate.d.ts","sourceRoot":"","sources":["../src/credential-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAC;AAY1B,eAAO,MAAM,+BAA+B,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"credential-gate.d.ts","sourceRoot":"","sources":["../src/credential-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAC;AAY1B,eAAO,MAAM,+BAA+B,wBAAwB,CAAC;AAQrE,4EAA4E;AAC5E,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,wEAAwE;AACxE,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,WAAW,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC5C,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,yBAAyB,CAAC,EAAE,CAC1B,OAAO,EAAE,gBAAgB,KACtB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAClC,IAAI,EAAE,CACJ,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACzC,OAAO,EAAE,gBAAgB,KACtB,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACrC;AA6BD,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,SAAS,kBAAkB,EAAE,GACvC,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAG,SAAS,CAuEjD;AA6KD,0EAA0E;AAC1E,wBAAsB,gCAAgC,IAAI,OAAO,CAAC,IAAI,CAAC,CAStE"}
|
package/dist/credential-gate.js
CHANGED
|
@@ -16,10 +16,8 @@ import { buildRuntimeIdentity, resolveRuntimeConfigurable, } from "./runtime/ide
|
|
|
16
16
|
import { wrapToolsWithManagedRuntime, } from "./runtime/managed-tools.js";
|
|
17
17
|
export const CREDENTIAL_GATE_MIDDLEWARE_NAME = "mda-credential-gate";
|
|
18
18
|
/**
|
|
19
|
-
* How long a caller's loaded tools stay cached.
|
|
20
|
-
*
|
|
21
|
-
* The access token is bound into the transport when the tools are built, so the
|
|
22
|
-
* entry has to lapse well before the token does.
|
|
19
|
+
* How long a caller's loaded tools stay cached. MCP re-reads a rejected token,
|
|
20
|
+
* so this bounds how long a caller's adapter lives, not token lifetime.
|
|
23
21
|
*/
|
|
24
22
|
const TOOL_CACHE_TTL_MS = 5 * 60_000;
|
|
25
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-gate.js","sourceRoot":"","sources":["../src/credential-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAyB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EACL,uCAAuC,EACvC,oCAAoC,EACpC,2BAA2B,GAE5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,uBAAuB,EACvB,cAAc,GAEf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,GAE3B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AAEpC,MAAM,CAAC,MAAM,+BAA+B,GAAG,qBAAqB,CAAC;AAErE
|
|
1
|
+
{"version":3,"file":"credential-gate.js","sourceRoot":"","sources":["../src/credential-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,12 @@ import type { DeepAgentDefinition, DefineDeepAgentConfig } from "./types.js";
|
|
|
2
2
|
/**
|
|
3
3
|
* Define a Managed Deep Agent.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* Accepts the `createDeepAgent` surface except MDA-owned runtime keys, plus
|
|
6
|
+
* authored selections of managed instructions, MCP servers, sandboxes, and
|
|
7
|
+
* skills when returned from a factory entrypoint.
|
|
8
|
+
* Static exported definitions use the discovered resources and cannot set
|
|
9
|
+
* those fields.
|
|
10
|
+
* Returns a pre-runtime spec — not a compiled graph.
|
|
9
11
|
*
|
|
10
12
|
* The return type carries `~agentTypes` / `~deepAgentTypes` phantoms and
|
|
11
13
|
* preserves the authored config type, so evaluators and `useStream` can take
|
|
@@ -14,7 +16,7 @@ import type { DeepAgentDefinition, DefineDeepAgentConfig } from "./types.js";
|
|
|
14
16
|
* At deploy time, `mda` generates an entry module that hands this definition to
|
|
15
17
|
* the managed runtime, which injects the platform-owned backend/store/
|
|
16
18
|
* checkpointer, embeds the system prompt from `instructions.md`, and compiles
|
|
17
|
-
* it into a Deep Agent.
|
|
19
|
+
* it into a Deep Agent. Factory managed resources resolve once per run.
|
|
18
20
|
*
|
|
19
21
|
* @example
|
|
20
22
|
* ```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-deep-agent.d.ts","sourceRoot":"","sources":["../src/define-deep-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EAEtB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"define-deep-agent.d.ts","sourceRoot":"","sources":["../src/define-deep-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EAEtB,MAAM,YAAY,CAAC;AAcpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,eAAe,CAAC,KAAK,CAAC,OAAO,SAAS,qBAAqB,EACzE,MAAM,EAAE,OAAO,GACd,mBAAmB,CAAC,OAAO,CAAC,CAmC9B"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
+
import { snapshotManagedComposition } from "./managed-composition.js";
|
|
1
2
|
const DEFINE_DEEP_AGENT_UNSUPPORTED_KEYS = {
|
|
2
3
|
backend: "Configure the sandbox in sandbox/.",
|
|
3
4
|
store: "MDA provides the store automatically.",
|
|
4
5
|
checkpointer: "MDA provides the checkpointer automatically.",
|
|
5
|
-
|
|
6
|
-
skills: "Put skills in skills/.",
|
|
7
|
-
systemPrompt: "Put the system prompt in instructions.md.",
|
|
6
|
+
systemPrompt: "Use `instructions` in a factory entrypoint or put the static prompt in instructions.md.",
|
|
8
7
|
};
|
|
9
8
|
/**
|
|
10
9
|
* Define a Managed Deep Agent.
|
|
11
10
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
11
|
+
* Accepts the `createDeepAgent` surface except MDA-owned runtime keys, plus
|
|
12
|
+
* authored selections of managed instructions, MCP servers, sandboxes, and
|
|
13
|
+
* skills when returned from a factory entrypoint.
|
|
14
|
+
* Static exported definitions use the discovered resources and cannot set
|
|
15
|
+
* those fields.
|
|
16
|
+
* Returns a pre-runtime spec — not a compiled graph.
|
|
16
17
|
*
|
|
17
18
|
* The return type carries `~agentTypes` / `~deepAgentTypes` phantoms and
|
|
18
19
|
* preserves the authored config type, so evaluators and `useStream` can take
|
|
@@ -21,7 +22,7 @@ const DEFINE_DEEP_AGENT_UNSUPPORTED_KEYS = {
|
|
|
21
22
|
* At deploy time, `mda` generates an entry module that hands this definition to
|
|
22
23
|
* the managed runtime, which injects the platform-owned backend/store/
|
|
23
24
|
* checkpointer, embeds the system prompt from `instructions.md`, and compiles
|
|
24
|
-
* it into a Deep Agent.
|
|
25
|
+
* it into a Deep Agent. Factory managed resources resolve once per run.
|
|
25
26
|
*
|
|
26
27
|
* @example
|
|
27
28
|
* ```ts
|
|
@@ -40,29 +41,24 @@ export function defineDeepAgent(config) {
|
|
|
40
41
|
// JavaScript callers do not get the TypeScript checks for managed keys.
|
|
41
42
|
const provided = config;
|
|
42
43
|
if (typeof provided.name !== "string" || provided.name.trim() === "") {
|
|
43
|
-
throw new Error(
|
|
44
|
-
'(e.g. name: "research-assistant"); MDA uses it as the LangGraph ' +
|
|
45
|
-
"assistant id and the default LangSmith deployment name.");
|
|
44
|
+
throw new Error('name is required in defineDeepAgent(...). Pass a non-empty string (e.g. name: "research-assistant").');
|
|
46
45
|
}
|
|
47
46
|
for (const [key, guidance] of Object.entries(DEFINE_DEEP_AGENT_UNSUPPORTED_KEYS)) {
|
|
48
47
|
if (key in provided) {
|
|
49
48
|
throw new Error(`Remove \`${key}\` from defineDeepAgent(...). ${guidance}`);
|
|
50
49
|
}
|
|
51
50
|
}
|
|
52
|
-
//
|
|
53
|
-
// `memory.ts`. Rejecting the old flag outright (rather than treating it as a
|
|
54
|
-
// redundant "off") keeps `disableMemory: false` from silently meaning the
|
|
55
|
-
// opposite of what it used to.
|
|
51
|
+
// Keep a focused migration error for the retired flag.
|
|
56
52
|
if ("disableMemory" in provided) {
|
|
57
53
|
throw new Error("disableMemory is no longer supported in defineDeepAgent(...). Durable " +
|
|
58
54
|
"memory is opt-in and declared in memory.ts: export `memory` with " +
|
|
59
|
-
|
|
55
|
+
"`defineMemory({ agent: memoryLayer() })` to enable it, or leave the file out " +
|
|
60
56
|
"to keep no memory (the default). Remove `disableMemory` here.");
|
|
61
57
|
}
|
|
62
58
|
// Brands are type-only; runtime value is still the pre-compile definition.
|
|
63
59
|
return {
|
|
64
60
|
kind: "deep-agent",
|
|
65
|
-
config,
|
|
61
|
+
config: snapshotManagedComposition(config),
|
|
66
62
|
};
|
|
67
63
|
}
|
|
68
64
|
//# sourceMappingURL=define-deep-agent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-deep-agent.js","sourceRoot":"","sources":["../src/define-deep-agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"define-deep-agent.js","sourceRoot":"","sources":["../src/define-deep-agent.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,MAAM,kCAAkC,GAGpC;IACF,OAAO,EAAE,oCAAoC;IAC7C,KAAK,EAAE,uCAAuC;IAC9C,YAAY,EAAE,8CAA8C;IAC5D,YAAY,EACV,yFAAyF;CAC5F,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAe;IAEf,wEAAwE;IACxE,MAAM,QAAQ,GAAG,MAAiC,CAAC;IAEnD,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CACb,sGAAsG,CACvG,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAC1C,kCAAkC,CACnC,EAAE,CAAC;QACF,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,YAAY,GAAG,iCAAiC,QAAQ,EAAE,CAC3D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,IAAI,eAAe,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,wEAAwE;YACtE,mEAAmE;YACnE,+EAA+E;YAC/E,+DAA+D,CAClE,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,0BAA0B,CAAC,MAAM,CAAC;KACX,CAAC;AACpC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { defineDeepAgent } from "./define-deep-agent.js";
|
|
2
|
+
export type { AgentEntry, AgentFactory } from "./agent-entry.js";
|
|
2
3
|
export { defineSchedule } from "./schedules.js";
|
|
3
4
|
export { defineIdentity } from "./identity/index.js";
|
|
4
5
|
export { defineMemory, memoryLayer } from "./memory/index.js";
|
|
@@ -8,18 +9,21 @@ export { defineSandbox, bearer, basic } from "./sandbox.js";
|
|
|
8
9
|
export { defineMcp } from "./connectors/mcp/index.js";
|
|
9
10
|
export type { Channels, Connectors } from "./namespaces.js";
|
|
10
11
|
export type { AgentConnectionOwner, ConnectionOwner, ConnectionRequest, UserConnectionOwner, } from "./connections.js";
|
|
11
|
-
export type { DeepAgentDefinition, DefineDeepAgentConfig, ManagedDeepAgentKey, } from "./types.js";
|
|
12
|
+
export type { DeepAgentDefinition, DefineDeepAgentConfig, GeneratedSkill, ManagedDeepAgentKey, ManagedCompositionFields, McpSelection, SkillSelection, } from "./types.js";
|
|
12
13
|
export type { ScheduleConfig, ScheduleDefinition, ScheduleDeliveryTarget, ScheduleThreadConfig, } from "./schedules.js";
|
|
13
14
|
export type { ClaimMapping, CredentialScope, HttpIngress, IdentityAuth, IdentityConfig, IdentityDefinition, IdentityOptions, IdentitySource, LangSmithApiKeyIngress, Link, LinkStatus, Principal, PrincipalClaims, PrincipalEnvelope, PrincipalKind, RuntimeIdentity, Subject, SubjectAuthority, ValidatedTokenIngress, ValidatedTokenProvider, } from "./identity/index.js";
|
|
14
15
|
export type { AgentMemoryLayer, MemoryConfig, MemoryDefinition, MemoryLayer, MemoryLayerDefinition, MemoryLayerOptions, MemoryLayers, MemoryLayerType, MemoryOptions, UserMemoryLayer, } from "./memory/index.js";
|
|
15
|
-
export type {
|
|
16
|
+
export type { McpServerConnection, McpServersConfig, McpServersDefinition, McpToolSelectionConfig, RemoteMcpServerConfig, } from "./connectors/mcp/index.js";
|
|
16
17
|
export type { CredentialAuthorizationRequiredInterrupt, PendingCredential, } from "./connection-authorization.js";
|
|
17
18
|
export type { ChannelManifest } from "./channels/manifest.js";
|
|
18
19
|
export type { RequiredTriggerSlackChannelConfig, SlackChannel, SlackChannelConfig, } from "./channels/slack/index.js";
|
|
19
20
|
export type { HttpChannel, HttpChannelAdapter, HttpChannelInboundMessage, HttpChannelParseResult, HttpChannelRequest, HttpChannelPostInput, HttpPostedMessage, } from "./channels/http/index.js";
|
|
20
21
|
export type { SandboxDefinition, SandboxOptions, SandboxConnectionValue, SandboxProxyConfig, SandboxProxyHeader, SandboxProxyRule, } from "./sandbox.js";
|
|
21
|
-
export type { ManagedDeepAgentRuntime, ManagedServerInfo, } from "./runtime/managed-tools.js";
|
|
22
|
+
export type { ManagedDeepAgentRuntime, ManagedRuntime, ManagedToolRuntime, ManagedServerInfo, } from "./runtime/managed-tools.js";
|
|
22
23
|
export type { ChannelContentMessage, ChannelEvent, ChannelInfo, ChannelMessage, ChannelNativeMessage, JsonValue, MessageContent, OutboundMessage, PostedChannelMessage, RuntimeChannel, } from "./channels/types.js";
|
|
23
24
|
export { INTERRUPT_CORRELATION_KEY, channelContextSchema, managedChannelContextSchema, } from "./run-context.js";
|
|
24
25
|
export type { ManagedRunContext, ManagedChannelContext, ChannelContext, NormalizedChannelEvent, PromptResponse, SlackPromptResponse, } from "./run-context.js";
|
|
26
|
+
export { schedules, ScheduleNotFoundError } from "./runtime-schedules.js";
|
|
27
|
+
export type { ScheduleOwner, ScheduleCreate, SchedulePatch, ScheduleRecord, SchedulePage, ScheduleInput, } from "./runtime-schedules.js";
|
|
28
|
+
export type { ManagedServerRuntime } from "./runtime/types.js";
|
|
25
29
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EACL,WAAW,EACX,oCAAoC,EACpC,uBAAuB,EACvB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE5D,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -7,4 +7,5 @@ export { connections, CredentialAuthorizationRequiredError, ConnectionNotFoundEr
|
|
|
7
7
|
export { defineSandbox, bearer, basic } from "./sandbox.js";
|
|
8
8
|
export { defineMcp } from "./connectors/mcp/index.js";
|
|
9
9
|
export { INTERRUPT_CORRELATION_KEY, channelContextSchema, managedChannelContextSchema, } from "./run-context.js";
|
|
10
|
+
export { schedules, ScheduleNotFoundError } from "./runtime-schedules.js";
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EACL,WAAW,EACX,oCAAoC,EACpC,uBAAuB,EACvB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAwHtD,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAU1B,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { DefineDeepAgentConfig, McpSelection, SkillSelection } from "./types.js";
|
|
2
|
+
import type { SandboxDefinition } from "./sandbox.js";
|
|
3
|
+
import type { MemoryDefinition } from "./memory/types.js";
|
|
4
|
+
export declare const DYNAMIC_MEMORY_ALLOW_ERROR = "Dynamically selected memory cannot use `allow`. Select memory layers or return null from the dynamic agent resolver instead.";
|
|
5
|
+
/** Validate a run-selected managed sandbox definition. */
|
|
6
|
+
export declare function snapshotSandboxSelection(value: unknown): SandboxDefinition | null;
|
|
7
|
+
/** Validate and snapshot dynamic MCP definitions. */
|
|
8
|
+
export declare function snapshotMcpSelection(value: unknown): McpSelection;
|
|
9
|
+
/** Validate and snapshot a memory definition selected for a run. */
|
|
10
|
+
export declare function snapshotMemorySelection(value: unknown): MemoryDefinition<never>;
|
|
11
|
+
/** Reject the retired policy callback only for explicit dynamic selection. */
|
|
12
|
+
export declare function assertDynamicMemorySelection(memory: MemoryDefinition<never>): void;
|
|
13
|
+
export declare function isValidSkillName(name: string): boolean;
|
|
14
|
+
/** Return the authored skill name from a path ending in `skills/<name>`. */
|
|
15
|
+
export declare function skillNameFromPath(path: string): string | undefined;
|
|
16
|
+
export declare function isValidSkillFilePath(path: string): boolean;
|
|
17
|
+
/** Validate and snapshot a dynamic skill selection. */
|
|
18
|
+
export declare function snapshotSkillSelection(value: unknown): SkillSelection;
|
|
19
|
+
/** Validate MDA fields and snapshot only their mutable selection inputs. */
|
|
20
|
+
export declare function snapshotManagedComposition<TConfig extends DefineDeepAgentConfig>(config: TConfig): TConfig;
|
|
21
|
+
//# sourceMappingURL=managed-composition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-composition.d.ts","sourceRoot":"","sources":["../src/managed-composition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EAErB,YAAY,EACZ,cAAc,EACf,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,mBAAmB,CAAC;AAExE,eAAO,MAAM,0BAA0B,iIACyF,CAAC;AAyCjI,0DAA0D;AAC1D,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,GACb,iBAAiB,GAAG,IAAI,CAgB1B;AAED,qDAAqD;AACrD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAejE;AAED,oEAAoE;AACpE,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,GACb,gBAAgB,CAAC,KAAK,CAAC,CAiBzB;AAED,8EAA8E;AAC9E,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAC9B,IAAI,CAIN;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgBlE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAqB1D;AAyCD,uDAAuD;AACvD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CA4BrE;AAED,4EAA4E;AAC5E,wBAAgB,0BAA0B,CACxC,OAAO,SAAS,qBAAqB,EACrC,MAAM,EAAE,OAAO,GAAG,OAAO,CAuD1B"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import { isConnector } from "./runtime/connector.js";
|
|
2
|
+
import { normalizeMemoryLayers } from "./memory/layers.js";
|
|
3
|
+
export const DYNAMIC_MEMORY_ALLOW_ERROR = "Dynamically selected memory cannot use `allow`. Select memory layers or return null from the dynamic agent resolver instead.";
|
|
4
|
+
const SKILL_NAME = /^[a-z][a-z0-9-]{0,63}$/;
|
|
5
|
+
const SKILL_FILE_SEGMENT = /^[A-Za-z0-9._-]+$/;
|
|
6
|
+
function isPlainRecord(value) {
|
|
7
|
+
if (value === null || typeof value !== "object")
|
|
8
|
+
return false;
|
|
9
|
+
const prototype = Object.getPrototypeOf(value);
|
|
10
|
+
return prototype === Object.prototype || prototype === null;
|
|
11
|
+
}
|
|
12
|
+
function isMcpServersDefinition(value) {
|
|
13
|
+
return isConnector(value) && value.kind === "mcp_servers";
|
|
14
|
+
}
|
|
15
|
+
function snapshotSandboxValue(value, copies) {
|
|
16
|
+
if (Array.isArray(value)) {
|
|
17
|
+
const existing = copies.get(value);
|
|
18
|
+
if (existing !== undefined)
|
|
19
|
+
return existing;
|
|
20
|
+
const copy = [];
|
|
21
|
+
copies.set(value, copy);
|
|
22
|
+
copy.push(...value.map((item) => snapshotSandboxValue(item, copies)));
|
|
23
|
+
return Object.freeze(copy);
|
|
24
|
+
}
|
|
25
|
+
if (!isPlainRecord(value))
|
|
26
|
+
return value;
|
|
27
|
+
const existing = copies.get(value);
|
|
28
|
+
if (existing !== undefined)
|
|
29
|
+
return existing;
|
|
30
|
+
const copy = Object.create(Object.getPrototypeOf(value));
|
|
31
|
+
copies.set(value, copy);
|
|
32
|
+
for (const [key, item] of Object.entries(value)) {
|
|
33
|
+
copy[key] = snapshotSandboxValue(item, copies);
|
|
34
|
+
}
|
|
35
|
+
return Object.freeze(copy);
|
|
36
|
+
}
|
|
37
|
+
/** Validate a run-selected managed sandbox definition. */
|
|
38
|
+
export function snapshotSandboxSelection(value) {
|
|
39
|
+
if (value === null)
|
|
40
|
+
return null;
|
|
41
|
+
if (!isPlainRecord(value) ||
|
|
42
|
+
value.kind !== "sandbox" ||
|
|
43
|
+
!isPlainRecord(value.options)) {
|
|
44
|
+
throw new TypeError("sandbox must be a SandboxDefinition or null");
|
|
45
|
+
}
|
|
46
|
+
return Object.freeze({
|
|
47
|
+
kind: "sandbox",
|
|
48
|
+
options: snapshotSandboxValue(value.options, new WeakMap()),
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
/** Validate and snapshot dynamic MCP definitions. */
|
|
52
|
+
export function snapshotMcpSelection(value) {
|
|
53
|
+
if (!Array.isArray(value)) {
|
|
54
|
+
throw new TypeError("mcp must be a list");
|
|
55
|
+
}
|
|
56
|
+
const definitions = new Set();
|
|
57
|
+
for (const definition of value) {
|
|
58
|
+
if (!isMcpServersDefinition(definition)) {
|
|
59
|
+
throw new TypeError("mcp contains an invalid definition");
|
|
60
|
+
}
|
|
61
|
+
if (definitions.has(definition)) {
|
|
62
|
+
throw new TypeError("mcp contains duplicate definitions");
|
|
63
|
+
}
|
|
64
|
+
definitions.add(definition);
|
|
65
|
+
}
|
|
66
|
+
return Object.freeze([...definitions]);
|
|
67
|
+
}
|
|
68
|
+
/** Validate and snapshot a memory definition selected for a run. */
|
|
69
|
+
export function snapshotMemorySelection(value) {
|
|
70
|
+
if (!isPlainRecord(value) ||
|
|
71
|
+
value.kind !== "memory" ||
|
|
72
|
+
!isPlainRecord(value.config) ||
|
|
73
|
+
value.config.version !== 2 ||
|
|
74
|
+
!Array.isArray(value.config.scope)) {
|
|
75
|
+
throw new TypeError("memory must be created with defineMemory(...)");
|
|
76
|
+
}
|
|
77
|
+
const scope = normalizeMemoryLayers(value.config.scope).map((layer) => Object.freeze({ ...layer }));
|
|
78
|
+
return Object.freeze({
|
|
79
|
+
kind: "memory",
|
|
80
|
+
config: Object.freeze({ version: 2, scope }),
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
/** Reject the retired policy callback only for explicit dynamic selection. */
|
|
84
|
+
export function assertDynamicMemorySelection(memory) {
|
|
85
|
+
if (memory.config.scope.some((layer) => layer.allow !== undefined)) {
|
|
86
|
+
throw new TypeError(DYNAMIC_MEMORY_ALLOW_ERROR);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
export function isValidSkillName(name) {
|
|
90
|
+
return SKILL_NAME.exec(name)?.[0] === name;
|
|
91
|
+
}
|
|
92
|
+
/** Return the authored skill name from a path ending in `skills/<name>`. */
|
|
93
|
+
export function skillNameFromPath(path) {
|
|
94
|
+
if (!path || path.includes("\0"))
|
|
95
|
+
return undefined;
|
|
96
|
+
const normalized = path.replaceAll("\\", "/");
|
|
97
|
+
const relative = normalized.startsWith("./")
|
|
98
|
+
? normalized.slice(2)
|
|
99
|
+
: normalized;
|
|
100
|
+
const segments = relative.split("/").filter(Boolean);
|
|
101
|
+
if (segments.length < 2 ||
|
|
102
|
+
segments.some((segment) => segment === "." || segment === "..") ||
|
|
103
|
+
segments.at(-2) !== "skills") {
|
|
104
|
+
return undefined;
|
|
105
|
+
}
|
|
106
|
+
const name = segments.at(-1);
|
|
107
|
+
return name !== undefined && isValidSkillName(name) ? name : undefined;
|
|
108
|
+
}
|
|
109
|
+
export function isValidSkillFilePath(path) {
|
|
110
|
+
if (!path ||
|
|
111
|
+
path.startsWith("/") ||
|
|
112
|
+
path.includes("\\") ||
|
|
113
|
+
path.includes("\0") ||
|
|
114
|
+
path.includes(":")) {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
const segments = path.split("/");
|
|
118
|
+
return segments.every((segment) => SKILL_FILE_SEGMENT.exec(segment)?.[0] === segment &&
|
|
119
|
+
segment !== "." &&
|
|
120
|
+
segment !== ".." &&
|
|
121
|
+
segment !== "SKILL.md" &&
|
|
122
|
+
segment !== "__proto__" &&
|
|
123
|
+
segment !== "prototype" &&
|
|
124
|
+
segment !== "constructor");
|
|
125
|
+
}
|
|
126
|
+
function copyGeneratedSkill(value) {
|
|
127
|
+
if (typeof value.name !== "string" ||
|
|
128
|
+
!isValidSkillName(value.name) ||
|
|
129
|
+
typeof value.description !== "string" ||
|
|
130
|
+
!value.description.trim() ||
|
|
131
|
+
typeof value.markdown !== "string" ||
|
|
132
|
+
Object.keys(value).some((key) => !["name", "description", "markdown", "files"].includes(key))) {
|
|
133
|
+
throw new TypeError("skills contains an invalid generated skill");
|
|
134
|
+
}
|
|
135
|
+
let files;
|
|
136
|
+
if ("files" in value) {
|
|
137
|
+
if (!isPlainRecord(value.files)) {
|
|
138
|
+
throw new TypeError("skills files must be a mapping of text files");
|
|
139
|
+
}
|
|
140
|
+
const entries = Object.entries(value.files);
|
|
141
|
+
if (entries.some(([path, content]) => !isValidSkillFilePath(path) || typeof content !== "string")) {
|
|
142
|
+
throw new TypeError("skills files contain an invalid path or content");
|
|
143
|
+
}
|
|
144
|
+
files = Object.freeze(Object.fromEntries(entries));
|
|
145
|
+
}
|
|
146
|
+
return Object.freeze({
|
|
147
|
+
name: value.name,
|
|
148
|
+
description: value.description,
|
|
149
|
+
markdown: value.markdown,
|
|
150
|
+
...(files === undefined ? {} : { files }),
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
/** Validate and snapshot a dynamic skill selection. */
|
|
154
|
+
export function snapshotSkillSelection(value) {
|
|
155
|
+
if (!Array.isArray(value)) {
|
|
156
|
+
throw new TypeError("skills must be a list");
|
|
157
|
+
}
|
|
158
|
+
const names = new Set();
|
|
159
|
+
const skills = [];
|
|
160
|
+
for (const item of value) {
|
|
161
|
+
const skill = typeof item === "string"
|
|
162
|
+
? item
|
|
163
|
+
: isPlainRecord(item)
|
|
164
|
+
? copyGeneratedSkill(item)
|
|
165
|
+
: null;
|
|
166
|
+
if (skill === null) {
|
|
167
|
+
throw new TypeError("skills contains an invalid skill");
|
|
168
|
+
}
|
|
169
|
+
const name = typeof skill === "string" ? skillNameFromPath(skill) : skill.name;
|
|
170
|
+
if (name === undefined) {
|
|
171
|
+
throw new TypeError("skills contains an invalid path");
|
|
172
|
+
}
|
|
173
|
+
if (names.has(name)) {
|
|
174
|
+
throw new TypeError("skills contains duplicate names");
|
|
175
|
+
}
|
|
176
|
+
names.add(name);
|
|
177
|
+
skills.push(skill);
|
|
178
|
+
}
|
|
179
|
+
return Object.freeze(skills);
|
|
180
|
+
}
|
|
181
|
+
/** Validate MDA fields and snapshot only their mutable selection inputs. */
|
|
182
|
+
export function snapshotManagedComposition(config) {
|
|
183
|
+
const provided = config;
|
|
184
|
+
const selected = {};
|
|
185
|
+
const omitted = [];
|
|
186
|
+
if ("instructions" in provided) {
|
|
187
|
+
if (provided.instructions === undefined) {
|
|
188
|
+
omitted.push("instructions");
|
|
189
|
+
}
|
|
190
|
+
else if (provided.instructions !== null &&
|
|
191
|
+
typeof provided.instructions !== "string") {
|
|
192
|
+
throw new TypeError("instructions must be a string or null");
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
selected.instructions = provided.instructions;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
if ("mcp" in provided) {
|
|
199
|
+
if (provided.mcp === undefined) {
|
|
200
|
+
omitted.push("mcp");
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
selected.mcp =
|
|
204
|
+
provided.mcp === null ? null : snapshotMcpSelection(provided.mcp);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
if ("memory" in provided) {
|
|
208
|
+
if (provided.memory === undefined) {
|
|
209
|
+
omitted.push("memory");
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
selected.memory =
|
|
213
|
+
provided.memory === null
|
|
214
|
+
? null
|
|
215
|
+
: snapshotMemorySelection(provided.memory);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
if ("sandbox" in provided) {
|
|
219
|
+
if (provided.sandbox === undefined) {
|
|
220
|
+
omitted.push("sandbox");
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
selected.sandbox = snapshotSandboxSelection(provided.sandbox);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
if ("skills" in provided) {
|
|
227
|
+
if (provided.skills === undefined) {
|
|
228
|
+
omitted.push("skills");
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
selected.skills =
|
|
232
|
+
provided.skills === null
|
|
233
|
+
? null
|
|
234
|
+
: snapshotSkillSelection(provided.skills);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
if (Object.keys(selected).length === 0 && omitted.length === 0)
|
|
238
|
+
return config;
|
|
239
|
+
const snapshot = { ...config, ...selected };
|
|
240
|
+
for (const key of omitted)
|
|
241
|
+
delete snapshot[key];
|
|
242
|
+
return snapshot;
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=managed-composition.js.map
|