managed-deepagents 0.4.0-dev.70 → 0.4.0-dev.73
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/channels/binding.d.ts +3 -5
- package/dist/channels/binding.d.ts.map +1 -1
- package/dist/channels/binding.js +3 -9
- package/dist/channels/binding.js.map +1 -1
- package/dist/channels/collect.d.ts +23 -0
- package/dist/channels/collect.d.ts.map +1 -0
- package/dist/channels/collect.js +46 -0
- package/dist/channels/collect.js.map +1 -0
- package/dist/channels/errors.d.ts.map +1 -1
- package/dist/channels/github/adapter-core.d.ts +6 -0
- package/dist/channels/github/adapter-core.d.ts.map +1 -0
- package/dist/channels/github/adapter-core.js +27 -0
- package/dist/channels/github/adapter-core.js.map +1 -0
- package/dist/channels/github/adapter.d.ts +16 -0
- package/dist/channels/github/adapter.d.ts.map +1 -0
- package/dist/channels/github/adapter.js +52 -0
- package/dist/channels/github/adapter.js.map +1 -0
- package/dist/channels/github/define.d.ts +198 -0
- package/dist/channels/github/define.d.ts.map +1 -0
- package/dist/channels/github/define.js +166 -0
- package/dist/channels/github/define.js.map +1 -0
- package/dist/channels/github/http.d.ts +25 -0
- package/dist/channels/github/http.d.ts.map +1 -0
- package/dist/channels/github/http.js +147 -0
- package/dist/channels/github/http.js.map +1 -0
- package/dist/channels/github/index.d.ts +12 -0
- package/dist/channels/github/index.d.ts.map +1 -0
- package/dist/channels/github/index.js +10 -0
- package/dist/channels/github/index.js.map +1 -0
- package/dist/channels/github/normalize.d.ts +32 -0
- package/dist/channels/github/normalize.d.ts.map +1 -0
- package/dist/channels/github/normalize.js +152 -0
- package/dist/channels/github/normalize.js.map +1 -0
- package/dist/channels/github/source-thread.d.ts +24 -0
- package/dist/channels/github/source-thread.d.ts.map +1 -0
- package/dist/channels/github/source-thread.js +54 -0
- package/dist/channels/github/source-thread.js.map +1 -0
- package/dist/channels/github/transport.d.ts +19 -0
- package/dist/channels/github/transport.d.ts.map +1 -0
- package/dist/channels/github/transport.js +92 -0
- package/dist/channels/github/transport.js.map +1 -0
- package/dist/channels/index.d.ts +9 -1
- package/dist/channels/index.d.ts.map +1 -1
- package/dist/channels/index.js +4 -0
- package/dist/channels/index.js.map +1 -1
- package/dist/channels/manifest.d.ts +36 -0
- package/dist/channels/manifest.d.ts.map +1 -0
- package/dist/channels/manifest.js +20 -0
- package/dist/channels/manifest.js.map +1 -0
- package/dist/channels/plugin.d.ts +61 -0
- package/dist/channels/plugin.d.ts.map +1 -0
- package/dist/channels/plugin.js +80 -0
- package/dist/channels/plugin.js.map +1 -0
- package/dist/channels/registry-store.d.ts +12 -0
- package/dist/channels/registry-store.d.ts.map +1 -0
- package/dist/channels/registry-store.js +18 -0
- package/dist/channels/registry-store.js.map +1 -0
- package/dist/channels/registry-types.d.ts +32 -0
- package/dist/channels/registry-types.d.ts.map +1 -0
- package/dist/channels/registry-types.js +5 -0
- package/dist/channels/registry-types.js.map +1 -0
- package/dist/channels/registry.d.ts +17 -0
- package/dist/channels/registry.d.ts.map +1 -0
- package/dist/channels/registry.js +37 -0
- package/dist/channels/registry.js.map +1 -0
- package/dist/channels/runtime.d.ts +2 -2
- package/dist/channels/runtime.d.ts.map +1 -1
- package/dist/channels/runtime.js.map +1 -1
- package/dist/channels/schedule-delivery.d.ts +4 -0
- package/dist/channels/schedule-delivery.d.ts.map +1 -1
- package/dist/channels/schedule-delivery.js +6 -5
- package/dist/channels/schedule-delivery.js.map +1 -1
- package/dist/channels/slack/adapter-core.d.ts +6 -0
- package/dist/channels/slack/adapter-core.d.ts.map +1 -0
- package/dist/channels/slack/adapter-core.js +24 -0
- package/dist/channels/slack/adapter-core.js.map +1 -0
- package/dist/channels/slack/adapter.d.ts +10 -0
- package/dist/channels/slack/adapter.d.ts.map +1 -0
- package/dist/channels/slack/adapter.js +22 -0
- package/dist/channels/slack/adapter.js.map +1 -0
- package/dist/channels/slack/define.d.ts +8 -18
- package/dist/channels/slack/define.d.ts.map +1 -1
- package/dist/channels/slack/define.js +29 -10
- package/dist/channels/slack/define.js.map +1 -1
- package/dist/channels/slack/http.d.ts +12 -1
- package/dist/channels/slack/http.d.ts.map +1 -1
- package/dist/channels/slack/http.js +112 -47
- package/dist/channels/slack/http.js.map +1 -1
- package/dist/channels/slack/normalize.js.map +1 -1
- package/dist/channels/store.d.ts +4 -4
- package/dist/channels/store.d.ts.map +1 -1
- package/dist/channels/store.js.map +1 -1
- package/dist/channels/types.d.ts +4 -4
- package/dist/channels/types.d.ts.map +1 -1
- package/dist/channels/types.js.map +1 -1
- package/dist/connectors/github/index.d.ts +80 -0
- package/dist/connectors/github/index.d.ts.map +1 -0
- package/dist/connectors/github/index.js +118 -0
- package/dist/connectors/github/index.js.map +1 -0
- package/dist/connectors/github/sandbox.d.ts +57 -0
- package/dist/connectors/github/sandbox.d.ts.map +1 -0
- package/dist/connectors/github/sandbox.js +534 -0
- package/dist/connectors/github/sandbox.js.map +1 -0
- package/dist/connectors/{langsmith.d.ts → langsmith/index.d.ts} +5 -5
- package/dist/connectors/langsmith/index.d.ts.map +1 -0
- package/dist/connectors/{langsmith.js → langsmith/index.js} +4 -4
- package/dist/connectors/langsmith/index.js.map +1 -0
- package/dist/{runtime/langsmith-connector.d.ts → connectors/langsmith/routes.d.ts} +4 -4
- package/dist/connectors/langsmith/routes.d.ts.map +1 -0
- package/dist/{runtime/langsmith-connector.js → connectors/langsmith/routes.js} +12 -6
- package/dist/connectors/langsmith/routes.js.map +1 -0
- package/dist/{connectors.d.ts → connectors/mcp/index.d.ts} +2 -2
- package/dist/connectors/mcp/index.d.ts.map +1 -0
- package/dist/{connectors.js → connectors/mcp/index.js} +3 -3
- package/dist/connectors/mcp/index.js.map +1 -0
- package/dist/{runtime/connectors-manager.d.ts → connectors/mcp/load.d.ts} +2 -2
- package/dist/connectors/mcp/load.d.ts.map +1 -0
- package/dist/{runtime/connectors-manager.js → connectors/mcp/load.js} +1 -1
- package/dist/connectors/mcp/load.js.map +1 -0
- package/dist/define-deep-agent.d.ts.map +1 -1
- package/dist/define-deep-agent.js +3 -2
- package/dist/define-deep-agent.js.map +1 -1
- package/dist/identity/connect-paths.d.ts +8 -0
- package/dist/identity/connect-paths.d.ts.map +1 -0
- package/dist/identity/connect-paths.js +11 -0
- package/dist/identity/connect-paths.js.map +1 -0
- package/dist/identity/connect-provider-store.d.ts +16 -0
- package/dist/identity/connect-provider-store.d.ts.map +1 -0
- package/dist/identity/connect-provider-store.js +27 -0
- package/dist/identity/connect-provider-store.js.map +1 -0
- package/dist/identity/connect-provider-types.d.ts +68 -0
- package/dist/identity/connect-provider-types.d.ts.map +1 -0
- package/dist/identity/connect-provider-types.js +8 -0
- package/dist/identity/connect-provider-types.js.map +1 -0
- package/dist/identity/connect-provider.d.ts +33 -0
- package/dist/identity/connect-provider.d.ts.map +1 -0
- package/dist/identity/connect-provider.js +125 -0
- package/dist/identity/connect-provider.js.map +1 -0
- package/dist/identity/github/connect-http.d.ts +33 -0
- package/dist/identity/github/connect-http.d.ts.map +1 -0
- package/dist/identity/github/connect-http.js +111 -0
- package/dist/identity/github/connect-http.js.map +1 -0
- package/dist/identity/github/credentials-store.d.ts +76 -0
- package/dist/identity/github/credentials-store.d.ts.map +1 -0
- package/dist/identity/github/credentials-store.js +257 -0
- package/dist/identity/github/credentials-store.js.map +1 -0
- package/dist/identity/github/credentials.d.ts +82 -0
- package/dist/identity/github/credentials.d.ts.map +1 -0
- package/dist/identity/github/credentials.js +171 -0
- package/dist/identity/github/credentials.js.map +1 -0
- package/dist/identity/github/index.d.ts +10 -0
- package/dist/identity/github/index.d.ts.map +1 -0
- package/dist/identity/github/index.js +9 -0
- package/dist/identity/github/index.js.map +1 -0
- package/dist/identity/github/oauth.d.ts +50 -0
- package/dist/identity/github/oauth.d.ts.map +1 -0
- package/dist/identity/github/oauth.js +146 -0
- package/dist/identity/github/oauth.js.map +1 -0
- package/dist/identity/index.d.ts +2 -1
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +30 -0
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/loopback.d.ts +8 -0
- package/dist/identity/loopback.d.ts.map +1 -0
- package/dist/identity/loopback.js +18 -0
- package/dist/identity/loopback.js.map +1 -0
- package/dist/identity/slack/connect-http.d.ts +36 -0
- package/dist/identity/slack/connect-http.d.ts.map +1 -0
- package/dist/identity/slack/connect-http.js +111 -0
- package/dist/identity/slack/connect-http.js.map +1 -0
- package/dist/identity/slack/index.d.ts +9 -0
- package/dist/identity/slack/index.d.ts.map +1 -0
- package/dist/identity/slack/index.js +8 -0
- package/dist/identity/slack/index.js.map +1 -0
- package/dist/identity/slack/links.d.ts.map +1 -0
- package/dist/identity/{links.js → slack/links.js} +2 -12
- package/dist/identity/slack/links.js.map +1 -0
- package/dist/identity/{slack-oauth.d.ts → slack/oauth.d.ts} +1 -1
- package/dist/identity/slack/oauth.d.ts.map +1 -0
- package/dist/identity/{slack-oauth.js → slack/oauth.js} +1 -1
- package/dist/identity/slack/oauth.js.map +1 -0
- package/dist/identity/types.d.ts +12 -1
- package/dist/identity/types.d.ts.map +1 -1
- package/dist/index.d.ts +14 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/resolve.js.map +1 -1
- package/dist/runtime/auth.d.ts +6 -0
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +19 -8
- package/dist/runtime/auth.js.map +1 -1
- package/dist/runtime/backend.d.ts +52 -0
- package/dist/runtime/backend.d.ts.map +1 -0
- package/dist/runtime/backend.js +165 -0
- package/dist/runtime/backend.js.map +1 -0
- package/dist/runtime/connector.d.ts +43 -12
- package/dist/runtime/connector.d.ts.map +1 -1
- package/dist/runtime/connector.js +25 -10
- package/dist/runtime/connector.js.map +1 -1
- package/dist/runtime/cors.d.ts.map +1 -1
- package/dist/runtime/cors.js +1 -1
- package/dist/runtime/cors.js.map +1 -1
- package/dist/runtime/credentials.d.ts +3 -3
- package/dist/runtime/credentials.d.ts.map +1 -1
- package/dist/runtime/credentials.js +3 -3
- package/dist/runtime/credentials.js.map +1 -1
- package/dist/runtime/identity-http.d.ts +9 -3
- package/dist/runtime/identity-http.d.ts.map +1 -1
- package/dist/runtime/identity-http.js +24 -34
- package/dist/runtime/identity-http.js.map +1 -1
- package/dist/runtime/identity-runtime.d.ts +9 -28
- package/dist/runtime/identity-runtime.d.ts.map +1 -1
- package/dist/runtime/identity-runtime.js +30 -65
- package/dist/runtime/identity-runtime.js.map +1 -1
- package/dist/runtime/index.d.ts +19 -14
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +26 -69
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/memory/index.d.ts +2 -2
- package/dist/runtime/memory/index.d.ts.map +1 -1
- package/dist/runtime/memory/index.js +2 -2
- package/dist/runtime/memory/index.js.map +1 -1
- package/dist/runtime/memory/mounts.d.ts +15 -1
- package/dist/runtime/memory/mounts.d.ts.map +1 -1
- package/dist/runtime/memory/mounts.js +31 -7
- package/dist/runtime/memory/mounts.js.map +1 -1
- package/dist/runtime/memory/paths.d.ts +0 -5
- package/dist/runtime/memory/paths.d.ts.map +1 -1
- package/dist/runtime/memory/paths.js +0 -24
- package/dist/runtime/memory/paths.js.map +1 -1
- package/dist/runtime/memory/seed.d.ts +0 -16
- package/dist/runtime/memory/seed.d.ts.map +1 -1
- package/dist/runtime/memory/seed.js +0 -43
- package/dist/runtime/memory/seed.js.map +1 -1
- package/dist/runtime/sandbox-manager.d.ts +19 -1
- package/dist/runtime/sandbox-manager.d.ts.map +1 -1
- package/dist/runtime/sandbox-manager.js +94 -7
- package/dist/runtime/sandbox-manager.js.map +1 -1
- package/dist/runtime/types.d.ts +5 -1
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/sandbox.d.ts +6 -0
- package/dist/sandbox.d.ts.map +1 -1
- package/dist/sandbox.js +3 -2
- package/dist/sandbox.js.map +1 -1
- package/dist/types.d.ts +1 -23
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +12 -8
- package/dist/connectors/langsmith.d.ts.map +0 -1
- package/dist/connectors/langsmith.js.map +0 -1
- package/dist/connectors.d.ts.map +0 -1
- package/dist/connectors.js.map +0 -1
- package/dist/identity/links.d.ts.map +0 -1
- package/dist/identity/links.js.map +0 -1
- package/dist/identity/slack-connect-http.d.ts +0 -21
- package/dist/identity/slack-connect-http.d.ts.map +0 -1
- package/dist/identity/slack-connect-http.js +0 -129
- package/dist/identity/slack-connect-http.js.map +0 -1
- package/dist/identity/slack-oauth.d.ts.map +0 -1
- package/dist/identity/slack-oauth.js.map +0 -1
- package/dist/runtime/connectors-manager.d.ts.map +0 -1
- package/dist/runtime/connectors-manager.js.map +0 -1
- package/dist/runtime/langsmith-connector.d.ts.map +0 -1
- package/dist/runtime/langsmith-connector.js.map +0 -1
- /package/dist/identity/{links.d.ts → slack/links.d.ts} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { asText, downloadContextFile, pathExists } from "./context-io.js";
|
|
2
2
|
export { managedContextBackend, managedContextPermissions, managedContextRoutes, MountedPathBackend, } from "./mounts.js";
|
|
3
3
|
export type { MemoryUserMount } from "./mounts.js";
|
|
4
|
-
export { ensureAbsolute,
|
|
5
|
-
export {
|
|
4
|
+
export { ensureAbsolute, stripTrailingSlash, trimSlashes } from "./paths.js";
|
|
5
|
+
export { ensureUserMemorySeed, LOCAL_MEMORY_SEED, memorySeedNeedsRefresh, } from "./seed.js";
|
|
6
6
|
export { hasOrgMemory, openUserMemoryBackend, resolveMemoryRepoPrefix, resolveRunMemoryRepoHandle, } from "./user-repo.js";
|
|
7
7
|
export type { UserMemoryBackend } from "./user-repo.js";
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { asText, downloadContextFile, pathExists } from "./context-io.js";
|
|
2
2
|
export { managedContextBackend, managedContextPermissions, managedContextRoutes, MountedPathBackend, } from "./mounts.js";
|
|
3
|
-
export { ensureAbsolute,
|
|
4
|
-
export {
|
|
3
|
+
export { ensureAbsolute, stripTrailingSlash, trimSlashes } from "./paths.js";
|
|
4
|
+
export { ensureUserMemorySeed, LOCAL_MEMORY_SEED, memorySeedNeedsRefresh, } from "./seed.js";
|
|
5
5
|
export { hasOrgMemory, openUserMemoryBackend, resolveMemoryRepoPrefix, resolveRunMemoryRepoHandle, } from "./user-repo.js";
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC"}
|
|
@@ -12,8 +12,11 @@ export declare function managedContextBackend(contextBackend: BackendProtocolV2,
|
|
|
12
12
|
export declare class MountedPathBackend {
|
|
13
13
|
private readonly backend;
|
|
14
14
|
private readonly target;
|
|
15
|
+
private readonly readOnly;
|
|
15
16
|
private constructor();
|
|
16
|
-
static directory(backend: BackendProtocolV2, repoPrefix: string, visiblePrefix: string
|
|
17
|
+
static directory(backend: BackendProtocolV2, repoPrefix: string, visiblePrefix: string, options?: {
|
|
18
|
+
readOnly?: boolean;
|
|
19
|
+
}): MountedPathBackend;
|
|
17
20
|
static file(backend: BackendProtocolV2, repoFile: string, visibleFile: string): MountedPathBackend;
|
|
18
21
|
ls(path?: string): Promise<import("deepagents").LsResult>;
|
|
19
22
|
read(filePath: string, offset?: number, limit?: number): Promise<import("deepagents").ReadResult>;
|
|
@@ -32,7 +35,18 @@ export declare class MountedPathBackend {
|
|
|
32
35
|
private fromRepoPath;
|
|
33
36
|
private toVisiblePath;
|
|
34
37
|
private assertFileRootPath;
|
|
38
|
+
/** Deploy-owned mounts (instructions, skills, org memory) reject writes. */
|
|
39
|
+
private assertWritable;
|
|
35
40
|
}
|
|
36
41
|
export declare function managedContextRoutes(contextBackend: BackendProtocolV2, memoryUser: MemoryUserMount, mountOrgMemory: boolean): Record<string, MountedPathBackend>;
|
|
42
|
+
/**
|
|
43
|
+
* Path-permission rules for non-sandbox (StateBackend) agents.
|
|
44
|
+
*
|
|
45
|
+
* When a sandbox backend is present, callers must pass `[]` instead: deepagents
|
|
46
|
+
* `resolveBackend()` runs CompositeBackend through `adaptSandboxProtocol`, which
|
|
47
|
+
* drops `routePrefixes`, so `allPathsScopedToRoutes` fails and `execute` is
|
|
48
|
+
* disabled for any non-empty permissions list. Deploy-owned paths are enforced
|
|
49
|
+
* via read-only {@link MountedPathBackend} mounts instead.
|
|
50
|
+
*/
|
|
37
51
|
export declare function managedContextPermissions(existing: unknown, mountOrgMemory: boolean): unknown[];
|
|
38
52
|
//# sourceMappingURL=mounts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mounts.d.ts","sourceRoot":"","sources":["../../../src/runtime/memory/mounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAgB,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,EAAsB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMxE,sFAAsF;AACtF,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,GAC5C,IAAI,CAAC;AAET,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,iBAAiB,EACjC,cAAc,EAAE,OAAO,GAAG,SAAS,EACnC,UAAU,EAAE,eAAe,EAC3B,cAAc,EAAE,OAAO,oBAUxB;AAED,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"mounts.d.ts","sourceRoot":"","sources":["../../../src/runtime/memory/mounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAgB,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,EAAsB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMxE,sFAAsF;AACtF,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,GAC5C,IAAI,CAAC;AAET,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,iBAAiB,EACjC,cAAc,EAAE,OAAO,GAAG,SAAS,EACnC,UAAU,EAAE,eAAe,EAC3B,cAAc,EAAE,OAAO,oBAUxB;AAED,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAGvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAL3B,OAAO,eAMH;IAEJ,MAAM,CAAC,SAAS,CACd,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,sBAUjC;IAED,MAAM,CAAC,IAAI,CACT,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,sBAUpB;IAEK,EAAE,CAAC,IAAI,SAAM,0CAGlB;IAEK,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,4CAE3D;IAEK,OAAO,CAAC,QAAQ,EAAE,MAAM,+CAE7B;IAEK,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,4CAOrE;IAEK,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAM,4CAMrC;IAEK,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,6CAI5C;IAEK,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,UAAQ,4CAUnB;IAEK,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,sDAYnD;IAEK,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,wDAMlC;IAED,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,kBAAkB;IAW1B,4EAA4E;IAC5E,OAAO,CAAC,cAAc;CAUvB;AAED,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,iBAAiB,EACjC,UAAU,EAAE,eAAe,EAC3B,cAAc,EAAE,OAAO,sCAuCxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,OAAO,EACjB,cAAc,EAAE,OAAO,GACtB,OAAO,EAAE,CAaX"}
|
|
@@ -9,21 +9,23 @@ export function managedContextBackend(contextBackend, sandboxBackend, memoryUser
|
|
|
9
9
|
export class MountedPathBackend {
|
|
10
10
|
backend;
|
|
11
11
|
target;
|
|
12
|
-
|
|
12
|
+
readOnly;
|
|
13
|
+
constructor(backend, target, readOnly = false) {
|
|
13
14
|
this.backend = backend;
|
|
14
15
|
this.target = target;
|
|
16
|
+
this.readOnly = readOnly;
|
|
15
17
|
}
|
|
16
|
-
static directory(backend, repoPrefix, visiblePrefix) {
|
|
18
|
+
static directory(backend, repoPrefix, visiblePrefix, options) {
|
|
17
19
|
return new MountedPathBackend(backend, {
|
|
18
20
|
repoPrefix: trimSlashes(repoPrefix),
|
|
19
21
|
visiblePrefix: stripTrailingSlash(ensureAbsolute(visiblePrefix)),
|
|
20
|
-
});
|
|
22
|
+
}, options?.readOnly ?? false);
|
|
21
23
|
}
|
|
22
24
|
static file(backend, repoFile, visibleFile) {
|
|
23
25
|
return new MountedPathBackend(backend, {
|
|
24
26
|
repoFile: trimSlashes(repoFile),
|
|
25
27
|
visibleFile: ensureAbsolute(visibleFile),
|
|
26
|
-
});
|
|
28
|
+
}, true);
|
|
27
29
|
}
|
|
28
30
|
async ls(path = "/") {
|
|
29
31
|
const result = await this.backend.ls(this.toRepoPath(path));
|
|
@@ -44,14 +46,17 @@ export class MountedPathBackend {
|
|
|
44
46
|
return this.remapPathCollections(result, "files");
|
|
45
47
|
}
|
|
46
48
|
async write(filePath, content) {
|
|
49
|
+
this.assertWritable();
|
|
47
50
|
const result = await this.backend.write(this.toRepoPath(filePath), content);
|
|
48
51
|
return this.withVisiblePath(result, filePath);
|
|
49
52
|
}
|
|
50
53
|
async edit(filePath, oldString, newString, replaceAll = false) {
|
|
54
|
+
this.assertWritable();
|
|
51
55
|
const result = await this.backend.edit(this.toRepoPath(filePath), oldString, newString, replaceAll);
|
|
52
56
|
return this.withVisiblePath(result, filePath);
|
|
53
57
|
}
|
|
54
58
|
async uploadFiles(files) {
|
|
59
|
+
this.assertWritable();
|
|
55
60
|
const upload = this.optional("uploadFiles");
|
|
56
61
|
const result = await upload(files.map(([path, content]) => [this.toRepoPath(path), content]));
|
|
57
62
|
return result.map((entry, index) => this.withVisiblePath(entry, files[index]?.[0] ?? "/"));
|
|
@@ -149,11 +154,21 @@ export class MountedPathBackend {
|
|
|
149
154
|
throw new Error(`Context Hub file mount ${visible} does not contain ${normalized}`);
|
|
150
155
|
}
|
|
151
156
|
}
|
|
157
|
+
/** Deploy-owned mounts (instructions, skills, org memory) reject writes. */
|
|
158
|
+
assertWritable() {
|
|
159
|
+
if (!this.readOnly) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
const label = "visibleFile" in this.target
|
|
163
|
+
? this.target.visibleFile
|
|
164
|
+
: this.target.visiblePrefix;
|
|
165
|
+
throw new Error(`Context Hub mount ${label} is read-only`);
|
|
166
|
+
}
|
|
152
167
|
}
|
|
153
168
|
export function managedContextRoutes(contextBackend, memoryUser, mountOrgMemory) {
|
|
154
169
|
const routes = {
|
|
155
170
|
"/instructions.md": MountedPathBackend.file(contextBackend, "instructions.md", "/instructions.md"),
|
|
156
|
-
"/skills/": MountedPathBackend.directory(contextBackend, "skills", "/skills"),
|
|
171
|
+
"/skills/": MountedPathBackend.directory(contextBackend, "skills", "/skills", { readOnly: true }),
|
|
157
172
|
};
|
|
158
173
|
if (memoryUser?.kind === "path") {
|
|
159
174
|
// Shared agent (or legacy flat) slice inside the deployment Hub repo.
|
|
@@ -164,12 +179,21 @@ export function managedContextRoutes(contextBackend, memoryUser, mountOrgMemory)
|
|
|
164
179
|
routes["/memories/user/"] = MountedPathBackend.directory(memoryUser.backend, "", "/memories/user");
|
|
165
180
|
}
|
|
166
181
|
if (mountOrgMemory) {
|
|
167
|
-
routes["/memories/org/"] = MountedPathBackend.directory(contextBackend, "org-memory", "/memories/org");
|
|
182
|
+
routes["/memories/org/"] = MountedPathBackend.directory(contextBackend, "org-memory", "/memories/org", { readOnly: true });
|
|
168
183
|
}
|
|
169
184
|
return routes;
|
|
170
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Path-permission rules for non-sandbox (StateBackend) agents.
|
|
188
|
+
*
|
|
189
|
+
* When a sandbox backend is present, callers must pass `[]` instead: deepagents
|
|
190
|
+
* `resolveBackend()` runs CompositeBackend through `adaptSandboxProtocol`, which
|
|
191
|
+
* drops `routePrefixes`, so `allPathsScopedToRoutes` fails and `execute` is
|
|
192
|
+
* disabled for any non-empty permissions list. Deploy-owned paths are enforced
|
|
193
|
+
* via read-only {@link MountedPathBackend} mounts instead.
|
|
194
|
+
*/
|
|
171
195
|
export function managedContextPermissions(existing, mountOrgMemory) {
|
|
172
|
-
const deniedPaths = ["/
|
|
196
|
+
const deniedPaths = ["/skills/**"];
|
|
173
197
|
if (mountOrgMemory) {
|
|
174
198
|
deniedPaths.push("/memories/org/**");
|
|
175
199
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mounts.js","sourceRoot":"","sources":["../../../src/runtime/memory/mounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAU7E,MAAM,UAAU,qBAAqB,CACnC,cAAiC,EACjC,cAAmC,EACnC,UAA2B,EAC3B,cAAuB;IAEvB,MAAM,MAAM,GAAG,oBAAoB,CACjC,cAAc,EACd,UAAU,EACV,cAAc,CACkC,CAAC;IACnD,MAAM,cAAc,GAAG,CAAC,cAAc;QACpC,IAAI,YAAY,EAAE,CAAuB,CAAC;IAC5C,OAAO,IAAI,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,OAAO,kBAAkB;IAEV;
|
|
1
|
+
{"version":3,"file":"mounts.js","sourceRoot":"","sources":["../../../src/runtime/memory/mounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,4 @@
|
|
|
2
2
|
export declare function trimSlashes(path: string): string;
|
|
3
3
|
export declare function ensureAbsolute(path: string): string;
|
|
4
4
|
export declare function stripTrailingSlash(path: string): string;
|
|
5
|
-
/**
|
|
6
|
-
* Resolve ``memoryRepoPrefix/AGENTS.md`` under ``rootDir``, rejecting ``..``
|
|
7
|
-
* segments so a malicious actor id cannot escape the Context Hub mock root.
|
|
8
|
-
*/
|
|
9
|
-
export declare function localMemoryHotPath(rootDir: string, memoryRepoPrefix: string): string;
|
|
10
5
|
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/runtime/memory/paths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/runtime/memory/paths.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUhD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASvD"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { resolve, sep } from "node:path";
|
|
2
1
|
/** Trim leading/trailing `/` without regex (avoids CodeQL poly-ReDoS alerts). */
|
|
3
2
|
export function trimSlashes(path) {
|
|
4
3
|
let start = 0;
|
|
@@ -24,27 +23,4 @@ export function stripTrailingSlash(path) {
|
|
|
24
23
|
}
|
|
25
24
|
return path.slice(0, end);
|
|
26
25
|
}
|
|
27
|
-
/**
|
|
28
|
-
* Resolve ``memoryRepoPrefix/AGENTS.md`` under ``rootDir``, rejecting ``..``
|
|
29
|
-
* segments so a malicious actor id cannot escape the Context Hub mock root.
|
|
30
|
-
*/
|
|
31
|
-
export function localMemoryHotPath(rootDir, memoryRepoPrefix) {
|
|
32
|
-
const segments = memoryRepoPrefix
|
|
33
|
-
.split("/")
|
|
34
|
-
.filter((part) => part.length > 0);
|
|
35
|
-
for (const segment of segments) {
|
|
36
|
-
if (segment === "." || segment === "..") {
|
|
37
|
-
throw new Error(`invalid memory path segment in prefix: ${memoryRepoPrefix}`);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
const rootResolved = resolve(rootDir);
|
|
41
|
-
const hotPath = resolve(rootResolved, ...segments, "AGENTS.md");
|
|
42
|
-
const rootPrefix = rootResolved.endsWith(sep)
|
|
43
|
-
? rootResolved
|
|
44
|
-
: `${rootResolved}${sep}`;
|
|
45
|
-
if (!hotPath.startsWith(rootPrefix)) {
|
|
46
|
-
throw new Error(`memory slice path escapes context root: ${memoryRepoPrefix}`);
|
|
47
|
-
}
|
|
48
|
-
return hotPath;
|
|
49
|
-
}
|
|
50
26
|
//# sourceMappingURL=paths.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/runtime/memory/paths.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/runtime/memory/paths.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACtB,OAAO,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QACpD,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,OAAO,GAAG,GAAG,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QACtD,GAAG,IAAI,CAAC,CAAC;IACX,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACtB,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QAClD,GAAG,IAAI,CAAC,CAAC;IACX,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -18,20 +18,4 @@ export declare function ensureUserMemorySeed(options: {
|
|
|
18
18
|
localRoot?: string;
|
|
19
19
|
deployRoot?: string;
|
|
20
20
|
}): Promise<void>;
|
|
21
|
-
/**
|
|
22
|
-
* Seed a missing identity memory slice (`memories/<actor|tenant>/AGENTS.md`).
|
|
23
|
-
*
|
|
24
|
-
* Copies the agent (or legacy flat) hot-memory seed when present; otherwise
|
|
25
|
-
* writes {@link LOCAL_MEMORY_SEED}. Local ``contextRoot`` mocks use the
|
|
26
|
-
* filesystem; remote Hub uses the Context Hub backend write API.
|
|
27
|
-
*/
|
|
28
|
-
export declare function ensureIdentityMemorySlice(options: {
|
|
29
|
-
backend: BackendProtocolV2;
|
|
30
|
-
rootDir?: string;
|
|
31
|
-
memoryRepoPrefix: string;
|
|
32
|
-
}): Promise<void>;
|
|
33
|
-
/**
|
|
34
|
-
* Seed a missing identity memory slice under the local Context Hub mock.
|
|
35
|
-
*/
|
|
36
|
-
export declare function ensureLocalMemorySlice(rootDir: string, memoryRepoPrefix: string): Promise<void>;
|
|
37
21
|
//# sourceMappingURL=seed.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../../src/runtime/memory/seed.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../../src/runtime/memory/seed.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAkDpD,yEAAyE;AACzE,eAAO,MAAM,iBAAiB,y6BAsB7B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAQ3E;AAmCD;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,WAAW,EAAE,iBAAiB,CAAC;IAC/B,aAAa,EAAE,iBAAiB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDhB"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { mkdir, open, readFile, writeFile } from "node:fs/promises";
|
|
2
2
|
import { dirname, join } from "node:path";
|
|
3
3
|
import { downloadContextFile, pathExists } from "./context-io.js";
|
|
4
|
-
import { localMemoryHotPath, trimSlashes } from "./paths.js";
|
|
5
4
|
/**
|
|
6
5
|
* True when hot memory has inject-able body text.
|
|
7
6
|
*
|
|
@@ -158,46 +157,4 @@ export async function ensureUserMemorySeed(options) {
|
|
|
158
157
|
throw new Error(`failed to seed user hot memory: ${String(error)}`);
|
|
159
158
|
}
|
|
160
159
|
}
|
|
161
|
-
/**
|
|
162
|
-
* Seed a missing identity memory slice (`memories/<actor|tenant>/AGENTS.md`).
|
|
163
|
-
*
|
|
164
|
-
* Copies the agent (or legacy flat) hot-memory seed when present; otherwise
|
|
165
|
-
* writes {@link LOCAL_MEMORY_SEED}. Local ``contextRoot`` mocks use the
|
|
166
|
-
* filesystem; remote Hub uses the Context Hub backend write API.
|
|
167
|
-
*/
|
|
168
|
-
export async function ensureIdentityMemorySlice(options) {
|
|
169
|
-
const { backend, rootDir, memoryRepoPrefix } = options;
|
|
170
|
-
if (rootDir !== undefined) {
|
|
171
|
-
await ensureLocalMemorySlice(rootDir, memoryRepoPrefix);
|
|
172
|
-
return;
|
|
173
|
-
}
|
|
174
|
-
const hotPath = `/${trimSlashes(memoryRepoPrefix)}/AGENTS.md`;
|
|
175
|
-
if ((await downloadContextFile(backend, hotPath)) !== undefined) {
|
|
176
|
-
return;
|
|
177
|
-
}
|
|
178
|
-
const agentHot = await downloadContextFile(backend, "/memories/agent/AGENTS.md");
|
|
179
|
-
const flatHot = await downloadContextFile(backend, "/memories/AGENTS.md");
|
|
180
|
-
await backend.write(hotPath, selectMemorySeed(agentHot, flatHot));
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Seed a missing identity memory slice under the local Context Hub mock.
|
|
184
|
-
*/
|
|
185
|
-
export async function ensureLocalMemorySlice(rootDir, memoryRepoPrefix) {
|
|
186
|
-
const hotPath = localMemoryHotPath(rootDir, memoryRepoPrefix);
|
|
187
|
-
if (await pathExists(hotPath)) {
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
await mkdir(dirname(hotPath), { recursive: true, mode: 0o700 });
|
|
191
|
-
const agentPath = join(rootDir, "memories", "agent", "AGENTS.md");
|
|
192
|
-
const flatPath = join(rootDir, "memories", "AGENTS.md");
|
|
193
|
-
const agentHot = (await pathExists(agentPath))
|
|
194
|
-
? await readFile(agentPath, "utf8")
|
|
195
|
-
: undefined;
|
|
196
|
-
const flatHot = (await pathExists(flatPath))
|
|
197
|
-
? await readFile(flatPath, "utf8")
|
|
198
|
-
: undefined;
|
|
199
|
-
// Exclusive create (wx) + 0600: avoids TOCTOU / symlink races under shared
|
|
200
|
-
// temp dirs (CodeQL js/insecure-temporary-file).
|
|
201
|
-
await writeSeedFileExclusive(hotPath, selectMemorySeed(agentHot, flatHot));
|
|
202
|
-
}
|
|
203
160
|
//# sourceMappingURL=seed.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../src/runtime/memory/seed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAG1C,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../src/runtime/memory/seed.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { SandboxBackendProtocolV2 } from "deepagents";
|
|
2
|
+
import type { IdentityDefinition } from "../identity/index.js";
|
|
2
3
|
import type { SandboxDefinition } from "../sandbox.js";
|
|
4
|
+
import { type Connector } from "./connector.js";
|
|
3
5
|
import type { ManagedRunConfig } from "./types.js";
|
|
4
6
|
type LangSmithSandboxClientLoader = () => Promise<{
|
|
5
7
|
SandboxClient: new (options?: {
|
|
@@ -8,15 +10,31 @@ type LangSmithSandboxClientLoader = () => Promise<{
|
|
|
8
10
|
createSandbox(options?: Record<string, unknown>): Promise<unknown>;
|
|
9
11
|
};
|
|
10
12
|
}>;
|
|
13
|
+
/** Optional runtime inputs that drive connector sandbox provisioning. */
|
|
14
|
+
export interface ResolveManagedSandboxOptions {
|
|
15
|
+
connectors?: Connector[];
|
|
16
|
+
identity?: IdentityDefinition;
|
|
17
|
+
}
|
|
11
18
|
/**
|
|
12
19
|
* Resolve (and cache) the scoped LangSmith sandbox backend for this run,
|
|
13
20
|
* provisioning it with `setup.sh` the first time it is created.
|
|
21
|
+
*
|
|
22
|
+
* Connectors that implement {@link Connector.sandbox} run on create, when a
|
|
23
|
+
* new thread starts against a reused sandbox (mode `"reuse"`), and on later
|
|
24
|
+
* messages in an already-synced thread (mode `"credentials"`).
|
|
14
25
|
*/
|
|
15
|
-
export declare function resolveManagedSandbox(sandbox: SandboxDefinition, setupScript: string | undefined, config: ManagedRunConfig | undefined): Promise<SandboxBackendProtocolV2>;
|
|
26
|
+
export declare function resolveManagedSandbox(sandbox: SandboxDefinition, setupScript: string | undefined, config: ManagedRunConfig | undefined, options?: ResolveManagedSandboxOptions): Promise<SandboxBackendProtocolV2>;
|
|
16
27
|
/** Derive the process-level reuse key from the configured sandbox scope. */
|
|
17
28
|
export declare function sandboxScopeKey(sandbox: SandboxDefinition, config: ManagedRunConfig | undefined): string;
|
|
18
29
|
/** Clear the process-level sandbox cache. Test-only. */
|
|
19
30
|
export declare function clearManagedSandboxCacheForTests(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Drop a cached sandbox so the next resolve creates a fresh one.
|
|
33
|
+
* Used when the LangSmith sandbox is gone or the control plane returns 502.
|
|
34
|
+
*/
|
|
35
|
+
export declare function invalidateManagedSandbox(sandbox: SandboxDefinition, config: ManagedRunConfig | undefined): void;
|
|
36
|
+
/** True when a sandbox API error is worth invalidating + recreating once. */
|
|
37
|
+
export declare function isTransientSandboxError(error: unknown): boolean;
|
|
20
38
|
/** Override the LangSmith SDK loader. Test-only. */
|
|
21
39
|
export declare function setLangSmithSandboxClientLoaderForTests(loader?: LangSmithSandboxClientLoader): void;
|
|
22
40
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-manager.d.ts","sourceRoot":"","sources":["../../src/runtime/sandbox-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"sandbox-manager.d.ts","sourceRoot":"","sources":["../../src/runtime/sandbox-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAuBnD,KAAK,4BAA4B,GAAG,MAAM,OAAO,CAAC;IAChD,aAAa,EAAE,KAAK,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK;QACpD,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACpE,CAAC;CACH,CAAC,CAAC;AAeH,yEAAyE;AACzE,MAAM,WAAW,4BAA4B;IAC3C,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,wBAAwB,CAAC,CAkEnC;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,gBAAgB,GAAG,SAAS,GACnC,MAAM,CAMR;AAED,wDAAwD;AACxD,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,gBAAgB,GAAG,SAAS,GACnC,IAAI,CAEN;AAED,6EAA6E;AAC7E,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAU/D;AAED,oDAAoD;AACpD,wBAAgB,uCAAuC,CACrD,MAAM,CAAC,EAAE,4BAA4B,GACpC,IAAI,CAEN"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { hasSandboxConnectors, runConnectorSandboxHooks, } from "./connector.js";
|
|
1
2
|
import { runSetupScript } from "./setup-script.js";
|
|
2
3
|
/**
|
|
3
4
|
* Created sandboxes, keyed by scope, reused for the lifetime of this runtime
|
|
@@ -13,19 +14,70 @@ let langSmithSandboxClientLoader = defaultLangSmithSandboxClientLoader;
|
|
|
13
14
|
/**
|
|
14
15
|
* Resolve (and cache) the scoped LangSmith sandbox backend for this run,
|
|
15
16
|
* provisioning it with `setup.sh` the first time it is created.
|
|
17
|
+
*
|
|
18
|
+
* Connectors that implement {@link Connector.sandbox} run on create, when a
|
|
19
|
+
* new thread starts against a reused sandbox (mode `"reuse"`), and on later
|
|
20
|
+
* messages in an already-synced thread (mode `"credentials"`).
|
|
16
21
|
*/
|
|
17
|
-
export function resolveManagedSandbox(sandbox, setupScript, config) {
|
|
22
|
+
export function resolveManagedSandbox(sandbox, setupScript, config, options) {
|
|
18
23
|
const key = sandboxScopeKey(sandbox, config);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
24
|
+
const hasSandbox = hasSandboxConnectors(options?.connectors);
|
|
25
|
+
const threadKey = threadSyncKey(sandbox, config);
|
|
26
|
+
let entry = managedSandboxes.get(key);
|
|
27
|
+
if (!entry) {
|
|
28
|
+
const created = {
|
|
29
|
+
syncedThreads: new Set(),
|
|
30
|
+
syncChain: Promise.resolve(),
|
|
31
|
+
freshlyCreated: true,
|
|
32
|
+
ready: Promise.resolve().then(async () => {
|
|
33
|
+
const backend = await createLangSmithSandbox(sandbox, setupScript, config, options, "create");
|
|
34
|
+
created.syncedThreads.add(threadKey);
|
|
35
|
+
return backend;
|
|
36
|
+
}),
|
|
37
|
+
};
|
|
38
|
+
created.ready = created.ready.catch((error) => {
|
|
22
39
|
// Don't cache a failed provisioning attempt. Let the next run retry.
|
|
23
40
|
managedSandboxes.delete(key);
|
|
24
41
|
throw error;
|
|
25
42
|
});
|
|
26
|
-
managedSandboxes.set(key,
|
|
43
|
+
managedSandboxes.set(key, created);
|
|
44
|
+
entry = created;
|
|
27
45
|
}
|
|
28
|
-
|
|
46
|
+
const cached = entry;
|
|
47
|
+
return cached.ready.then(async (backend) => {
|
|
48
|
+
if (!hasSandbox) {
|
|
49
|
+
return backend;
|
|
50
|
+
}
|
|
51
|
+
cached.syncChain = cached.syncChain.then(async () => {
|
|
52
|
+
// Create path already provisioned this thread — don't immediately re-run
|
|
53
|
+
// credentials on the same resolve that just created the sandbox.
|
|
54
|
+
if (cached.freshlyCreated) {
|
|
55
|
+
cached.freshlyCreated = false;
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (cached.syncedThreads.has(threadKey)) {
|
|
59
|
+
// Same thread: refresh credentials / CLI wiring without re-cloning.
|
|
60
|
+
// Otherwise redeploys that fix auth (e.g. gh wrapper) never apply mid-thread.
|
|
61
|
+
await runConnectorSandboxHooks(options?.connectors, {
|
|
62
|
+
backend,
|
|
63
|
+
mode: "credentials",
|
|
64
|
+
config,
|
|
65
|
+
identity: options?.identity,
|
|
66
|
+
});
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
// New thread against an existing sandbox: full reuse sync.
|
|
70
|
+
await runConnectorSandboxHooks(options?.connectors, {
|
|
71
|
+
backend,
|
|
72
|
+
mode: "reuse",
|
|
73
|
+
config,
|
|
74
|
+
identity: options?.identity,
|
|
75
|
+
});
|
|
76
|
+
cached.syncedThreads.add(threadKey);
|
|
77
|
+
});
|
|
78
|
+
await cached.syncChain;
|
|
79
|
+
return backend;
|
|
80
|
+
});
|
|
29
81
|
}
|
|
30
82
|
/** Derive the process-level reuse key from the configured sandbox scope. */
|
|
31
83
|
export function sandboxScopeKey(sandbox, config) {
|
|
@@ -39,15 +91,37 @@ export function sandboxScopeKey(sandbox, config) {
|
|
|
39
91
|
export function clearManagedSandboxCacheForTests() {
|
|
40
92
|
managedSandboxes.clear();
|
|
41
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Drop a cached sandbox so the next resolve creates a fresh one.
|
|
96
|
+
* Used when the LangSmith sandbox is gone or the control plane returns 502.
|
|
97
|
+
*/
|
|
98
|
+
export function invalidateManagedSandbox(sandbox, config) {
|
|
99
|
+
managedSandboxes.delete(sandboxScopeKey(sandbox, config));
|
|
100
|
+
}
|
|
101
|
+
/** True when a sandbox API error is worth invalidating + recreating once. */
|
|
102
|
+
export function isTransientSandboxError(error) {
|
|
103
|
+
const message = error instanceof Error
|
|
104
|
+
? `${error.name}: ${error.message}`
|
|
105
|
+
: typeof error === "string"
|
|
106
|
+
? error
|
|
107
|
+
: String(error);
|
|
108
|
+
return /LangSmithSandboxError|HTTP 502|Bad Gateway|HTTP 503|HTTP 504|ECONNRESET|ETIMEDOUT|sandbox.*(not found|gone|unavailable|terminated)/i.test(message);
|
|
109
|
+
}
|
|
42
110
|
/** Override the LangSmith SDK loader. Test-only. */
|
|
43
111
|
export function setLangSmithSandboxClientLoaderForTests(loader) {
|
|
44
112
|
langSmithSandboxClientLoader = loader ?? defaultLangSmithSandboxClientLoader;
|
|
45
113
|
}
|
|
46
|
-
async function createLangSmithSandbox(sandbox, setupScript) {
|
|
114
|
+
async function createLangSmithSandbox(sandbox, setupScript, config, options, mode) {
|
|
47
115
|
if (providerKey(sandbox.provider) !== "LangSmithSandbox") {
|
|
48
116
|
throw new Error("MDA only supports deepagents' LangSmithSandbox provider");
|
|
49
117
|
}
|
|
50
118
|
const backend = await createLangSmithSandboxBackend(sandbox);
|
|
119
|
+
await runConnectorSandboxHooks(options?.connectors, {
|
|
120
|
+
backend,
|
|
121
|
+
mode,
|
|
122
|
+
config,
|
|
123
|
+
identity: options?.identity,
|
|
124
|
+
});
|
|
51
125
|
if (setupScript && setupScript.trim().length > 0) {
|
|
52
126
|
await runSetupScript(backend, setupScript);
|
|
53
127
|
}
|
|
@@ -71,6 +145,19 @@ async function createLangSmithSandboxBackend(sandbox) {
|
|
|
71
145
|
const Backend = sandbox.provider;
|
|
72
146
|
return new Backend({ sandbox: langSmithSandbox, defaultTimeout });
|
|
73
147
|
}
|
|
148
|
+
function threadSyncKey(sandbox, config) {
|
|
149
|
+
const scope = sandbox.options?.scope ?? "thread";
|
|
150
|
+
if (scope === "agent") {
|
|
151
|
+
// Agent-scoped sandboxes are shared; sync once per thread that uses them.
|
|
152
|
+
try {
|
|
153
|
+
return `thread:${threadIdFromConfig(config)}`;
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
return "thread:__missing__";
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return sandboxScopeKey(sandbox, config);
|
|
160
|
+
}
|
|
74
161
|
function providerKey(provider) {
|
|
75
162
|
const providerId = provider.providerId;
|
|
76
163
|
if (typeof providerId === "string" && providerId.trim()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-manager.js","sourceRoot":"","sources":["../../src/runtime/sandbox-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sandbox-manager.js","sourceRoot":"","sources":["../../src/runtime/sandbox-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/types.d.ts
CHANGED
|
@@ -39,7 +39,11 @@ export interface ManagedAgentOptions {
|
|
|
39
39
|
systemPrompt?: string;
|
|
40
40
|
/** Context Hub repo handle for deployed runtime context. */
|
|
41
41
|
contextRepo?: string;
|
|
42
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
* Latest synced Context Hub commit hash (deploy metadata). Accepted for CLI
|
|
44
|
+
* compatibility; runtime currently resolves the latest repo tip — commit
|
|
45
|
+
* pinning is a follow-up.
|
|
46
|
+
*/
|
|
43
47
|
contextCommit?: string;
|
|
44
48
|
/** Whether the synced Context Hub repo contains deploy-owned skills. */
|
|
45
49
|
hasSkills?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B"}
|