managed-deepagents 0.10.0-dev.18 → 0.10.0-dev.19
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 +23 -4
- package/dist/browser.d.ts +37 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +31 -0
- package/dist/browser.js.map +1 -0
- package/dist/channels/assistant-text.d.ts +1 -1
- package/dist/channels/assistant-text.js +1 -1
- package/dist/channels/binding.d.ts.map +1 -1
- package/dist/channels/binding.js +6 -2
- package/dist/channels/binding.js.map +1 -1
- package/dist/channels/delivery.d.ts +23 -8
- package/dist/channels/delivery.d.ts.map +1 -1
- package/dist/channels/delivery.js +181 -18
- package/dist/channels/delivery.js.map +1 -1
- package/dist/channels/github/app-setup.d.ts +32 -0
- package/dist/channels/github/app-setup.d.ts.map +1 -0
- package/dist/channels/github/app-setup.js +146 -0
- package/dist/channels/github/app-setup.js.map +1 -0
- package/dist/channels/github/index.d.ts.map +1 -1
- package/dist/channels/github/index.js +9 -23
- package/dist/channels/github/index.js.map +1 -1
- package/dist/channels/http/index.d.ts +6 -0
- package/dist/channels/http/index.d.ts.map +1 -1
- package/dist/channels/http/index.js +24 -9
- package/dist/channels/http/index.js.map +1 -1
- package/dist/channels/linear/app-setup.d.ts +29 -0
- package/dist/channels/linear/app-setup.d.ts.map +1 -0
- package/dist/channels/linear/app-setup.js +102 -0
- package/dist/channels/linear/app-setup.js.map +1 -0
- package/dist/channels/linear/index.d.ts.map +1 -1
- package/dist/channels/linear/index.js +11 -55
- package/dist/channels/linear/index.js.map +1 -1
- package/dist/channels/runtime.d.ts +4 -1
- package/dist/channels/runtime.d.ts.map +1 -1
- package/dist/channels/runtime.js +19 -10
- package/dist/channels/runtime.js.map +1 -1
- package/dist/channels/schedule-delivery.d.ts +1 -12
- package/dist/channels/schedule-delivery.d.ts.map +1 -1
- package/dist/channels/schedule-delivery.js +5 -61
- package/dist/channels/schedule-delivery.js.map +1 -1
- package/dist/channels/slack/index.d.ts.map +1 -1
- package/dist/channels/slack/index.js +3 -0
- package/dist/channels/slack/index.js.map +1 -1
- package/dist/channels/trigger/client.d.ts.map +1 -1
- package/dist/channels/trigger/client.js +3 -1
- package/dist/channels/trigger/client.js.map +1 -1
- package/dist/channels/trigger/conversation.d.ts +11 -0
- package/dist/channels/trigger/conversation.d.ts.map +1 -0
- package/dist/channels/trigger/conversation.js +72 -0
- package/dist/channels/trigger/conversation.js.map +1 -0
- package/dist/channels/trigger/http.d.ts +9 -1
- package/dist/channels/trigger/http.d.ts.map +1 -1
- package/dist/channels/trigger/http.js +28 -12
- package/dist/channels/trigger/http.js.map +1 -1
- package/dist/channels/trigger/ingress.d.ts +32 -0
- package/dist/channels/trigger/ingress.d.ts.map +1 -1
- package/dist/channels/trigger/ingress.js +89 -6
- package/dist/channels/trigger/ingress.js.map +1 -1
- package/dist/channels/trigger/transport.d.ts +10 -0
- package/dist/channels/trigger/transport.d.ts.map +1 -1
- package/dist/channels/trigger/transport.js +25 -9
- package/dist/channels/trigger/transport.js.map +1 -1
- package/dist/channels/trigger/types.d.ts +10 -0
- 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 +24 -1
- package/dist/channels/types.d.ts.map +1 -1
- package/dist/channels/types.js.map +1 -1
- package/dist/define-deep-agent.d.ts +2 -2
- package/dist/define-deep-agent.d.ts.map +1 -1
- package/dist/define-deep-agent.js +53 -8
- package/dist/define-deep-agent.js.map +1 -1
- package/dist/index.d.ts +3 -1
- 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 +3 -0
- package/dist/managed-composition.d.ts.map +1 -1
- package/dist/managed-composition.js +21 -0
- package/dist/managed-composition.js.map +1 -1
- package/dist/runtime/async-subagents.d.ts +27 -0
- package/dist/runtime/async-subagents.d.ts.map +1 -0
- package/dist/runtime/async-subagents.js +139 -0
- package/dist/runtime/async-subagents.js.map +1 -0
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +37 -2
- package/dist/runtime/auth.js.map +1 -1
- package/dist/runtime/backend.d.ts +7 -0
- package/dist/runtime/backend.d.ts.map +1 -1
- package/dist/runtime/backend.js +32 -7
- package/dist/runtime/backend.js.map +1 -1
- package/dist/runtime/browser-facade.d.ts +10 -0
- package/dist/runtime/browser-facade.d.ts.map +1 -0
- package/dist/runtime/browser-facade.js +23 -0
- package/dist/runtime/browser-facade.js.map +1 -0
- package/dist/runtime/browser-langsmith.d.ts +108 -0
- package/dist/runtime/browser-langsmith.d.ts.map +1 -0
- package/dist/runtime/browser-langsmith.js +379 -0
- package/dist/runtime/browser-langsmith.js.map +1 -0
- package/dist/runtime/browser-selection.d.ts +10 -0
- package/dist/runtime/browser-selection.d.ts.map +1 -0
- package/dist/runtime/browser-selection.js +21 -0
- package/dist/runtime/browser-selection.js.map +1 -0
- package/dist/runtime/browser.d.ts +125 -0
- package/dist/runtime/browser.d.ts.map +1 -0
- package/dist/runtime/browser.js +606 -0
- package/dist/runtime/browser.js.map +1 -0
- package/dist/runtime/index.d.ts +38 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +47 -16
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/managed-thread.d.ts +1 -0
- package/dist/runtime/managed-thread.d.ts.map +1 -1
- package/dist/runtime/managed-thread.js +1 -1
- package/dist/runtime/managed-thread.js.map +1 -1
- package/dist/runtime/parent-run.d.ts +33 -0
- package/dist/runtime/parent-run.d.ts.map +1 -0
- package/dist/runtime/parent-run.js +114 -0
- package/dist/runtime/parent-run.js.map +1 -0
- package/dist/runtime/run-input.d.ts +4 -1
- package/dist/runtime/run-input.d.ts.map +1 -1
- package/dist/runtime/run-input.js +30 -7
- package/dist/runtime/run-input.js.map +1 -1
- package/dist/runtime/sandbox-manager.d.ts +14 -1
- package/dist/runtime/sandbox-manager.d.ts.map +1 -1
- package/dist/runtime/sandbox-manager.js +33 -8
- package/dist/runtime/sandbox-manager.js.map +1 -1
- package/dist/runtime/schedule-auth.d.ts +62 -0
- package/dist/runtime/schedule-auth.d.ts.map +1 -1
- package/dist/runtime/schedule-auth.js +125 -6
- package/dist/runtime/schedule-auth.js.map +1 -1
- package/dist/runtime/static-entry.d.ts.map +1 -1
- package/dist/runtime/static-entry.js +1 -0
- package/dist/runtime/static-entry.js.map +1 -1
- package/dist/runtime/thread-record.d.ts +9 -2
- package/dist/runtime/thread-record.d.ts.map +1 -1
- package/dist/runtime/thread-record.js +13 -5
- package/dist/runtime/thread-record.js.map +1 -1
- package/dist/runtime/types.d.ts +7 -0
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/types.d.ts +19 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +22 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/channels/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,SAAS,GACjB,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,GACN,SAAS,SAAS,EAAE,GACpB;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAE1C,8DAA8D;AAC9D,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEN,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAC1C,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAC5C,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CACzC,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAC3C,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAC1E,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3C,+DAA+D;AAC/D,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAAqB,CAAC;AAEzE,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;CAAE,GAC3D;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACvD,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACpD,CAAC;AAEN,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACpC,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/channels/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/channels/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/channels/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA4DH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,eAAe,GAA4B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAwFzE,0EAA0E;AAC1E,MAAM,UAAU,2BAA2B,CACzC,WAA+B;IAK/B,MAAM,IAAI,GAAY,WAAW,CAAC,IAAI,CAAC;IACvC,IAAI,WAAW,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC1C,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACpC,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC3C,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;QACjD,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;IAC/D,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;QACjD,MAAM,EAAE,cAAc,EAAE,GAAG,WAAW,CAAC;QACvC,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,cAAc,EAAE,CAAC;IAC3D,CAAC;IACD,MAAM,IAAI,KAAK,CACb,yCAAyC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAChE,CAAC;AACJ,CAAC"}
|
|
@@ -3,8 +3,8 @@ import type { DeepAgentDefinition, DefineDeepAgentConfig } from "./types.js";
|
|
|
3
3
|
* Define a Managed Deep Agent.
|
|
4
4
|
*
|
|
5
5
|
* Accepts the `createDeepAgent` surface except MDA-owned runtime keys, plus
|
|
6
|
-
* authored selections of managed instructions, MCP servers, sandboxes,
|
|
7
|
-
*
|
|
6
|
+
* authored selections of managed instructions, MCP servers, sandboxes, skills,
|
|
7
|
+
* and the browser when returned from a factory entrypoint.
|
|
8
8
|
* Static exported definitions use the discovered resources and cannot set
|
|
9
9
|
* those fields.
|
|
10
10
|
* Returns a pre-runtime spec — not a compiled graph.
|
|
@@ -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;AAcpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,eAAe,CAAC,KAAK,CAAC,OAAO,SAAS,qBAAqB,EACzE,MAAM,EAAE,OAAO,GACd,mBAAmB,CAAC,OAAO,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,CAuC9B"}
|
|
@@ -9,8 +9,8 @@ const DEFINE_DEEP_AGENT_UNSUPPORTED_KEYS = {
|
|
|
9
9
|
* Define a Managed Deep Agent.
|
|
10
10
|
*
|
|
11
11
|
* Accepts the `createDeepAgent` surface except MDA-owned runtime keys, plus
|
|
12
|
-
* authored selections of managed instructions, MCP servers, sandboxes,
|
|
13
|
-
*
|
|
12
|
+
* authored selections of managed instructions, MCP servers, sandboxes, skills,
|
|
13
|
+
* and the browser when returned from a factory entrypoint.
|
|
14
14
|
* Static exported definitions use the discovered resources and cannot set
|
|
15
15
|
* those fields.
|
|
16
16
|
* Returns a pre-runtime spec — not a compiled graph.
|
|
@@ -55,16 +55,61 @@ export function defineDeepAgent(config) {
|
|
|
55
55
|
"`defineMemory({ agent: memoryLayer() })` to enable it, or leave the file out " +
|
|
56
56
|
"to keep no memory (the default). Remove `disableMemory` here.");
|
|
57
57
|
}
|
|
58
|
-
|
|
59
|
-
const subagents = Array.isArray(provided.subagents) ? provided.subagents : [];
|
|
60
|
-
if (subagents.some((spec) => typeof spec === "object" && spec !== null && "async" in spec)) {
|
|
61
|
-
throw new Error("Async subagents (`async: true`) are only supported in Python projects for now. " +
|
|
62
|
-
"Remove `async` from the subagent in defineDeepAgent(...).");
|
|
63
|
-
}
|
|
58
|
+
validateAsyncSubagents(Array.isArray(provided.subagents) ? provided.subagents : []);
|
|
64
59
|
// Brands are type-only; runtime value is still the pre-compile definition.
|
|
65
60
|
return {
|
|
66
61
|
kind: "deep-agent",
|
|
67
62
|
config: snapshotManagedComposition(config),
|
|
68
63
|
};
|
|
69
64
|
}
|
|
65
|
+
/** Spec keys an async subagent can't set: MDA builds and launches its graph itself. */
|
|
66
|
+
const ASYNC_SUBAGENT_UNSUPPORTED_KEYS = [
|
|
67
|
+
"runnable",
|
|
68
|
+
"graphId",
|
|
69
|
+
"url",
|
|
70
|
+
"headers",
|
|
71
|
+
];
|
|
72
|
+
function validateAsyncSubagents(subagents) {
|
|
73
|
+
for (const spec of subagents) {
|
|
74
|
+
if (typeof spec !== "object" || spec === null || !("async" in spec)) {
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
const fields = spec;
|
|
78
|
+
if (typeof fields.async !== "boolean") {
|
|
79
|
+
throw new TypeError("subagent `async` must be true or false");
|
|
80
|
+
}
|
|
81
|
+
if (!fields.async)
|
|
82
|
+
continue;
|
|
83
|
+
if (typeof fields.description !== "string") {
|
|
84
|
+
throw new TypeError("subagent `async: true` requires a `description`");
|
|
85
|
+
}
|
|
86
|
+
validateAsyncRunOptions(fields);
|
|
87
|
+
const unsupported = ASYNC_SUBAGENT_UNSUPPORTED_KEYS.find((key) => key in fields);
|
|
88
|
+
if (unsupported) {
|
|
89
|
+
throw new TypeError(`subagent \`async: true\` cannot set \`${unsupported}\`: MDA builds and launches its graph itself`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/** Validate the optional fields an async subagent passes through or loads. */
|
|
94
|
+
function validateAsyncRunOptions(spec) {
|
|
95
|
+
const { skills, updateStrategy, webhook, notifyParent, mode } = spec;
|
|
96
|
+
if (skills !== undefined &&
|
|
97
|
+
!(Array.isArray(skills) && skills.every((p) => typeof p === "string"))) {
|
|
98
|
+
throw new TypeError("subagent `skills` must be a list of skill source paths");
|
|
99
|
+
}
|
|
100
|
+
if (updateStrategy !== undefined &&
|
|
101
|
+
updateStrategy !== "interrupt" &&
|
|
102
|
+
updateStrategy !== "enqueue") {
|
|
103
|
+
throw new TypeError('subagent `updateStrategy` must be "interrupt" or "enqueue"');
|
|
104
|
+
}
|
|
105
|
+
if (webhook !== undefined && typeof webhook !== "string") {
|
|
106
|
+
throw new TypeError("subagent `webhook` must be a URL string");
|
|
107
|
+
}
|
|
108
|
+
if (notifyParent !== undefined && typeof notifyParent !== "boolean") {
|
|
109
|
+
throw new TypeError("subagent `notifyParent` must be true or false");
|
|
110
|
+
}
|
|
111
|
+
if (mode !== undefined && mode !== "isolated" && mode !== "fork") {
|
|
112
|
+
throw new TypeError('subagent `mode` must be "isolated" or "fork"');
|
|
113
|
+
}
|
|
114
|
+
}
|
|
70
115
|
//# 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":"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,
|
|
1
|
+
{"version":3,"file":"define-deep-agent.js","sourceRoot":"","sources":["../src/define-deep-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,10 +6,11 @@ export { defineMemory, memoryLayer } from "./memory/index.js";
|
|
|
6
6
|
export { auth, channels } from "./namespaces.js";
|
|
7
7
|
export { connections, CredentialAuthorizationRequiredError, ConnectionNotFoundError, CredentialStoreError, InvalidAgentAuthEndpointError, } from "./connections.js";
|
|
8
8
|
export { defineSandbox, bearer, basic } from "./sandbox.js";
|
|
9
|
+
export { defineBrowser } from "./browser.js";
|
|
9
10
|
export { defineMcp } from "./connectors/mcp/index.js";
|
|
10
11
|
export type { Channels } from "./namespaces.js";
|
|
11
12
|
export type { AgentConnectionOwner, ConnectionOwner, ConnectionRequest, UserConnectionOwner, } from "./connections.js";
|
|
12
|
-
export type { DeepAgentDefinition, DefineDeepAgentConfig, GeneratedSkill, ManagedDeepAgentKey, ManagedCompositionFields, McpSelection, SkillSelection, } from "./types.js";
|
|
13
|
+
export type { DeepAgentDefinition, DefineDeepAgentConfig, GeneratedSkill, ManagedAsyncSubAgent, ManagedDeepAgentKey, ManagedCompositionFields, McpSelection, SkillSelection, } from "./types.js";
|
|
13
14
|
export type { ScheduleConfig, ScheduleDefinition, ScheduleDeliveryTarget, ScheduleThreadConfig, } from "./schedules.js";
|
|
14
15
|
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";
|
|
15
16
|
export type { AgentMemoryLayer, MemoryConfig, MemoryDefinition, MemoryLayer, MemoryLayerDefinition, MemoryLayerOptions, MemoryLayers, MemoryLayerType, MemoryOptions, UserMemoryLayer, } from "./memory/index.js";
|
|
@@ -28,6 +29,7 @@ export type { EndpointAnswer, EndpointEvent, EndpointRequest, EndpointThread, Ev
|
|
|
28
29
|
export type { EventFinished, EventThread } from "./channels/http/provider.js";
|
|
29
30
|
export type { GitHubEndpointRequest } from "./channels/github/types.js";
|
|
30
31
|
export type { LinearEndpointRequest } from "./channels/linear/types.js";
|
|
32
|
+
export type { BrowserDefinition, BrowserOptions, BrowserScope, } from "./browser.js";
|
|
31
33
|
export type { SandboxDefinition, SandboxOptions, SandboxConnectionValue, SandboxProxyConfig, SandboxProxyHeader, SandboxProxyRule, } from "./sandbox.js";
|
|
32
34
|
export type { ManagedDeepAgentRuntime, ManagedRuntime, ManagedToolRuntime, ManagedServerInfo, } from "./runtime/managed-tools.js";
|
|
33
35
|
export type { ManagedThread, ThreadOrigin, ThreadParticipant, } from "./runtime/managed-thread.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ export { defineMemory, memoryLayer } from "./memory/index.js";
|
|
|
5
5
|
export { auth, channels } from "./namespaces.js";
|
|
6
6
|
export { connections, CredentialAuthorizationRequiredError, ConnectionNotFoundError, CredentialStoreError, InvalidAgentAuthEndpointError, } from "./connections.js";
|
|
7
7
|
export { defineSandbox, bearer, basic } from "./sandbox.js";
|
|
8
|
+
export { defineBrowser } from "./browser.js";
|
|
8
9
|
export { defineMcp } from "./connectors/mcp/index.js";
|
|
9
10
|
export { LinearRateLimitError } from "./channels/linear/index.js";
|
|
10
11
|
export { INTERRUPT_CORRELATION_KEY, channelContextSchema, managedChannelContextSchema, } from "./run-context.js";
|
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;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,MAAM,iBAAiB,CAAC;AACjD,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;
|
|
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,MAAM,iBAAiB,CAAC;AACjD,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,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAiGtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAwGlE,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAU1B,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import type { DefineDeepAgentConfig, McpSelection, SkillSelection } from "./types.js";
|
|
2
|
+
import { type BrowserDefinition } from "./browser.js";
|
|
2
3
|
import type { SandboxDefinition } from "./sandbox.js";
|
|
3
4
|
import type { MemoryDefinition } from "./memory/types.js";
|
|
4
5
|
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
6
|
/** Validate a run-selected managed sandbox definition. */
|
|
6
7
|
export declare function snapshotSandboxSelection(value: unknown): SandboxDefinition | null;
|
|
8
|
+
/** Validate a run-selected managed browser definition. */
|
|
9
|
+
export declare function snapshotBrowserSelection(value: unknown): BrowserDefinition | null;
|
|
7
10
|
/** Validate and snapshot dynamic MCP definitions. */
|
|
8
11
|
export declare function snapshotMcpSelection(value: unknown): McpSelection;
|
|
9
12
|
/** Validate and snapshot a memory definition selected for a run. */
|
|
@@ -1 +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;
|
|
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;AACpB,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,mBAAmB,CAAC;AAGxE,eAAO,MAAM,0BAA0B,iIACyF,CAAC;AAmCjI,0DAA0D;AAC1D,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,GACb,iBAAiB,GAAG,IAAI,CAgB1B;AAED,0DAA0D;AAC1D,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,GACb,iBAAiB,GAAG,IAAI,CAS1B;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,CA8D1B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { defineBrowser, } from "./browser.js";
|
|
1
2
|
import { isConnector } from "./runtime/connector.js";
|
|
2
3
|
import { normalizeMemoryLayers } from "./memory/layers.js";
|
|
3
4
|
import { isPlainObject } from "./values.js";
|
|
@@ -43,6 +44,18 @@ export function snapshotSandboxSelection(value) {
|
|
|
43
44
|
options: snapshotSandboxValue(value.options, new WeakMap()),
|
|
44
45
|
});
|
|
45
46
|
}
|
|
47
|
+
/** Validate a run-selected managed browser definition. */
|
|
48
|
+
export function snapshotBrowserSelection(value) {
|
|
49
|
+
if (value === null)
|
|
50
|
+
return null;
|
|
51
|
+
if (!isPlainObject(value) || value.kind !== "browser") {
|
|
52
|
+
throw new TypeError("browser must be a BrowserDefinition or null");
|
|
53
|
+
}
|
|
54
|
+
return defineBrowser({
|
|
55
|
+
scope: value.scope,
|
|
56
|
+
idleTtlSeconds: value.idleTtlSeconds,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
46
59
|
/** Validate and snapshot dynamic MCP definitions. */
|
|
47
60
|
export function snapshotMcpSelection(value) {
|
|
48
61
|
if (!Array.isArray(value)) {
|
|
@@ -218,6 +231,14 @@ export function snapshotManagedComposition(config) {
|
|
|
218
231
|
selected.sandbox = snapshotSandboxSelection(provided.sandbox);
|
|
219
232
|
}
|
|
220
233
|
}
|
|
234
|
+
if ("browser" in provided) {
|
|
235
|
+
if (provided.browser === undefined) {
|
|
236
|
+
omitted.push("browser");
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
selected.browser = snapshotBrowserSelection(provided.browser);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
221
242
|
if ("skills" in provided) {
|
|
222
243
|
if (provided.skills === undefined) {
|
|
223
244
|
omitted.push("skills");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managed-composition.js","sourceRoot":"","sources":["../src/managed-composition.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"managed-composition.js","sourceRoot":"","sources":["../src/managed-composition.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,aAAa,GAGd,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAC,MAAM,0BAA0B,GACrC,8HAA8H,CAAC;AAEjI,MAAM,UAAU,GAAG,wBAAwB,CAAC;AAC5C,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAE/C,SAAS,sBAAsB,CAAC,KAAc;IAC5C,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;AAC5D,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAc,EACd,MAAgC;IAEhC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC;QAC5C,MAAM,IAAI,GAAc,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAGtD,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxB,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,wBAAwB,CACtC,KAAc;IAEd,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,IACE,CAAC,aAAa,CAAC,KAAK,CAAC;QACrB,KAAK,CAAC,IAAI,KAAK,SAAS;QACxB,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,EAC7B,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,oBAAoB,CAC3B,KAAK,CAAC,OAAO,EACb,IAAI,OAAO,EAAE,CACkB;KAClC,CAAC,CAAC;AACL,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,wBAAwB,CACtC,KAAc;IAEd,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACtD,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,aAAa,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,cAAc,EAAE,KAAK,CAAC,cAAc;KACnB,CAAC,CAAC;AACvB,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,SAAS,CAAC,oBAAoB,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAwB,CAAC;IACpD,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;QAC5D,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,uBAAuB,CACrC,KAAc;IAEd,IACE,CAAC,aAAa,CAAC,KAAK,CAAC;QACrB,KAAK,CAAC,IAAI,KAAK,QAAQ;QACvB,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;QAC5B,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,CAAC;QAC1B,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAClC,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,KAAK,GAAG,qBAAqB,CACjC,KAAK,CAAC,MAAM,CAAC,KAA4B,CAC1C,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;KAC7C,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,4BAA4B,CAC1C,MAA+B;IAE/B,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAC7C,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;QAC1C,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,UAAU,CAAC;IACf,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrD,IACE,QAAQ,CAAC,MAAM,GAAG,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI,CAAC;QAC/D,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAC5B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,IAAI,KAAK,SAAS,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,IACE,CAAC,IAAI;QACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAClB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC,KAAK,CACnB,CAAC,OAAO,EAAE,EAAE,CACV,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,OAAO;QACjD,OAAO,KAAK,GAAG;QACf,OAAO,KAAK,IAAI;QAChB,OAAO,KAAK,UAAU;QACtB,OAAO,KAAK,WAAW;QACvB,OAAO,KAAK,WAAW;QACvB,OAAO,KAAK,aAAa,CAC5B,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA8B;IACxD,IACE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE;QACzB,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CACrB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CACrE,EACD,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,KAAmD,CAAC;IACxD,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IACE,OAAO,CAAC,IAAI,CACV,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAClB,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,OAAO,OAAO,KAAK,QAAQ,CAC7D,EACD,CAAC;YACD,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,GAAG,MAAM,CAAC,MAAM,CACnB,MAAM,CAAC,WAAW,CAAC,OAAO,CAA2B,CACtD,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;KAC1C,CAAC,CAAC;AACL,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,MAAM,GAAgC,EAAE,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GACT,OAAO,IAAI,KAAK,QAAQ;YACtB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;gBACnB,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC;gBAC1B,CAAC,CAAC,IAAI,CAAC;QACb,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,IAAI,GACR,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QACpE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,0BAA0B,CAExC,MAAe;IACf,MAAM,QAAQ,GAAG,MAAiC,CAAC;IACnD,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,cAAc,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/B,CAAC;aAAM,IACL,QAAQ,CAAC,YAAY,KAAK,IAAI;YAC9B,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ,EACzC,CAAC;YACD,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAChD,CAAC;IACH,CAAC;IACD,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;QACtB,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,GAAG;gBACV,QAAQ,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,MAAM;gBACb,QAAQ,CAAC,MAAM,KAAK,IAAI;oBACtB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;QAC1B,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,OAAO,GAAG,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IACD,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;QAC1B,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,OAAO,GAAG,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,MAAM;gBACb,QAAQ,CAAC,MAAM,KAAK,IAAI;oBACtB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9E,MAAM,QAAQ,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,EAA6B,CAAC;IACvE,KAAK,MAAM,GAAG,IAAI,OAAO;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChD,OAAO,QAAmB,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { DeepAgentDefinition } from "../types.js";
|
|
2
|
+
/** The general-purpose subagent, which served agents also get async. */
|
|
3
|
+
export declare const GENERAL_PURPOSE = "general-purpose";
|
|
4
|
+
/** Definition key for an async subagent's own skill sources (deepagents `SubAgent.skills`). */
|
|
5
|
+
export declare const SUBAGENT_SKILLS_KEY = "subagentSkills";
|
|
6
|
+
/** A definition config carrying an async subagent's own skill sources. */
|
|
7
|
+
export type WithSubagentSkills = {
|
|
8
|
+
[SUBAGENT_SKILLS_KEY]?: readonly string[];
|
|
9
|
+
};
|
|
10
|
+
type Spec = Record<string, unknown>;
|
|
11
|
+
/** Whether `spec` is a subagent spec marked `async: true`. */
|
|
12
|
+
export declare function isAsyncSubagent(spec: unknown): spec is Spec;
|
|
13
|
+
/**
|
|
14
|
+
* Add an async general-purpose subagent, unless one is declared already.
|
|
15
|
+
*
|
|
16
|
+
* It copies a declared sync general-purpose subagent, or else deepagents'
|
|
17
|
+
* default, so the lead can run the same agent blocking or in the background.
|
|
18
|
+
*/
|
|
19
|
+
export declare function withAsyncGeneralPurpose(definition: DeepAgentDefinition): DeepAgentDefinition;
|
|
20
|
+
/** Point each async subagent at the graph MDA built for it. */
|
|
21
|
+
export declare function routeAsyncSubagents(definition: DeepAgentDefinition, graphs: Readonly<Record<string, string>>): DeepAgentDefinition;
|
|
22
|
+
/** Refuse async subagents in eval, which has no Agent Server to launch them on. */
|
|
23
|
+
export declare function rejectAsyncSubagents(definition: DeepAgentDefinition): void;
|
|
24
|
+
/** Derive the definition of async subagent `name` from the lead's definition. */
|
|
25
|
+
export declare function asyncSubagentDefinition(definition: DeepAgentDefinition, name: string): DeepAgentDefinition;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=async-subagents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-subagents.d.ts","sourceRoot":"","sources":["../../src/runtime/async-subagents.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,wEAAwE;AACxE,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAqBjD,+FAA+F;AAC/F,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAEpD,0EAA0E;AAC1E,MAAM,MAAM,kBAAkB,GAAG;IAAE,CAAC,mBAAmB,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAE/E,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpC,8DAA8D;AAC9D,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,IAAI,CAI3D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,mBAAmB,GAC9B,mBAAmB,CAcrB;AAED,+DAA+D;AAC/D,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,mBAAmB,EAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GACvC,mBAAmB,CASrB;AAED,mFAAmF;AACnF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAQ1E;AAED,iFAAiF;AACjF,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,mBAAmB,EAC/B,IAAI,EAAE,MAAM,GACX,mBAAmB,CAiBrB"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Async subagents: subagent specs marked `async: true` that MDA builds as their own graph.
|
|
3
|
+
*/
|
|
4
|
+
import { GENERAL_PURPOSE_SUBAGENT } from "deepagents";
|
|
5
|
+
/** The general-purpose subagent, which served agents also get async. */
|
|
6
|
+
export const GENERAL_PURPOSE = "general-purpose";
|
|
7
|
+
/** The agent's skills, which deepagents' default general-purpose subagent loads. */
|
|
8
|
+
const AGENT_SKILLS = "/skills/";
|
|
9
|
+
/** Spec keys that override the lead's value; unset ones inherit it, like a sync subagent. */
|
|
10
|
+
const INHERITED_KEYS = [
|
|
11
|
+
"model",
|
|
12
|
+
"tools",
|
|
13
|
+
"permissions",
|
|
14
|
+
"interruptOn",
|
|
15
|
+
];
|
|
16
|
+
/** Spec keys the lead never passes down, like a sync subagent. */
|
|
17
|
+
const OWN_KEYS = ["middleware", "responseFormat"];
|
|
18
|
+
/** Spec keys passed through to deepagents' `AsyncSubAgent`. */
|
|
19
|
+
const RUN_OPTION_KEYS = [
|
|
20
|
+
"webhook",
|
|
21
|
+
"notifyParent",
|
|
22
|
+
"updateStrategy",
|
|
23
|
+
"mode",
|
|
24
|
+
];
|
|
25
|
+
/** Definition key for an async subagent's own skill sources (deepagents `SubAgent.skills`). */
|
|
26
|
+
export const SUBAGENT_SKILLS_KEY = "subagentSkills";
|
|
27
|
+
/** Whether `spec` is a subagent spec marked `async: true`. */
|
|
28
|
+
export function isAsyncSubagent(spec) {
|
|
29
|
+
return (typeof spec === "object" && spec !== null && spec.async === true);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Add an async general-purpose subagent, unless one is declared already.
|
|
33
|
+
*
|
|
34
|
+
* It copies a declared sync general-purpose subagent, or else deepagents'
|
|
35
|
+
* default, so the lead can run the same agent blocking or in the background.
|
|
36
|
+
*/
|
|
37
|
+
export function withAsyncGeneralPurpose(definition) {
|
|
38
|
+
const subagents = specs(definition);
|
|
39
|
+
if (subagents.some((s) => isAsyncSubagent(s) && s.name === GENERAL_PURPOSE)) {
|
|
40
|
+
return definition;
|
|
41
|
+
}
|
|
42
|
+
const declared = subagents
|
|
43
|
+
.filter(isDeclarative)
|
|
44
|
+
.find((s) => s.name === GENERAL_PURPOSE);
|
|
45
|
+
// A declared one keeps its own `skills`; the default loads the agent's, like deepagents'.
|
|
46
|
+
const spec = declared ?? {
|
|
47
|
+
...GENERAL_PURPOSE_SUBAGENT,
|
|
48
|
+
skills: [AGENT_SKILLS],
|
|
49
|
+
};
|
|
50
|
+
return withSubagents(definition, [...subagents, { ...spec, async: true }]);
|
|
51
|
+
}
|
|
52
|
+
/** Point each async subagent at the graph MDA built for it. */
|
|
53
|
+
export function routeAsyncSubagents(definition, graphs) {
|
|
54
|
+
const subagents = specs(definition);
|
|
55
|
+
if (!subagents.some(isAsyncSubagent))
|
|
56
|
+
return definition;
|
|
57
|
+
return withSubagents(definition, subagents.map((spec) => isAsyncSubagent(spec) ? route(spec, graphs) : spec));
|
|
58
|
+
}
|
|
59
|
+
/** Refuse async subagents in eval, which has no Agent Server to launch them on. */
|
|
60
|
+
export function rejectAsyncSubagents(definition) {
|
|
61
|
+
const spec = specs(definition).find(isAsyncSubagent);
|
|
62
|
+
if (spec) {
|
|
63
|
+
throw new Error(`async subagent ${JSON.stringify(spec.name)} is not supported in \`mda eval\`: ` +
|
|
64
|
+
"there is no Agent Server to launch it on");
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/** Derive the definition of async subagent `name` from the lead's definition. */
|
|
68
|
+
export function asyncSubagentDefinition(definition, name) {
|
|
69
|
+
const spec = find(definition, name);
|
|
70
|
+
const config = { ...configOf(definition) };
|
|
71
|
+
for (const key of ["subagents", ...OWN_KEYS])
|
|
72
|
+
delete config[key];
|
|
73
|
+
for (const key of [...INHERITED_KEYS, ...OWN_KEYS]) {
|
|
74
|
+
if (key in spec)
|
|
75
|
+
config[key] = spec[key];
|
|
76
|
+
}
|
|
77
|
+
// Keep the lead's skills mount; load only the spec's `skills`. The lead's memory
|
|
78
|
+
// and instructions.md aren't the subagent's.
|
|
79
|
+
config[SUBAGENT_SKILLS_KEY] = Array.isArray(spec.skills)
|
|
80
|
+
? [...spec.skills]
|
|
81
|
+
: [];
|
|
82
|
+
config.name = name;
|
|
83
|
+
config.memory = null;
|
|
84
|
+
config.instructions =
|
|
85
|
+
typeof spec.systemPrompt === "string" ? spec.systemPrompt : "";
|
|
86
|
+
return { ...definition, config };
|
|
87
|
+
}
|
|
88
|
+
function route(spec, graphs) {
|
|
89
|
+
const name = spec.name;
|
|
90
|
+
const graphId = typeof name === "string" ? graphs[name] : undefined;
|
|
91
|
+
if (graphId === undefined) {
|
|
92
|
+
throw new Error(`async subagent ${JSON.stringify(name)} has no graph. Declare it inline in ` +
|
|
93
|
+
"defineDeepAgent({ subagents: [...] }) with a literal `name` and " +
|
|
94
|
+
"`async: true` so `mda` can build it.");
|
|
95
|
+
}
|
|
96
|
+
const routed = {
|
|
97
|
+
name,
|
|
98
|
+
description: spec.description ?? "",
|
|
99
|
+
graphId,
|
|
100
|
+
};
|
|
101
|
+
for (const key of RUN_OPTION_KEYS) {
|
|
102
|
+
if (key in spec)
|
|
103
|
+
routed[key] = spec[key];
|
|
104
|
+
}
|
|
105
|
+
return routed;
|
|
106
|
+
}
|
|
107
|
+
function specs(definition) {
|
|
108
|
+
const subagents = configOf(definition).subagents;
|
|
109
|
+
return Array.isArray(subagents) ? subagents : [];
|
|
110
|
+
}
|
|
111
|
+
/** A definition's config as plain fields, to read and copy keys by name. */
|
|
112
|
+
function configOf(definition) {
|
|
113
|
+
return definition.config;
|
|
114
|
+
}
|
|
115
|
+
function withSubagents(definition, subagents) {
|
|
116
|
+
return {
|
|
117
|
+
...definition,
|
|
118
|
+
config: { ...definition.config, subagents },
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
/** A sync spec MDA can copy: not prebuilt (`runnable`), async, or a fork of the lead. */
|
|
122
|
+
function isDeclarative(spec) {
|
|
123
|
+
return (typeof spec === "object" &&
|
|
124
|
+
spec !== null &&
|
|
125
|
+
!("runnable" in spec) &&
|
|
126
|
+
!("graphId" in spec) &&
|
|
127
|
+
spec.mode !== "fork" &&
|
|
128
|
+
!isAsyncSubagent(spec));
|
|
129
|
+
}
|
|
130
|
+
function find(definition, name) {
|
|
131
|
+
const spec = specs(definition)
|
|
132
|
+
.filter(isAsyncSubagent)
|
|
133
|
+
.find((s) => s.name === name);
|
|
134
|
+
if (!spec) {
|
|
135
|
+
throw new Error(`async subagent ${JSON.stringify(name)} is not declared in defineDeepAgent({ subagents: [...] })`);
|
|
136
|
+
}
|
|
137
|
+
return spec;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=async-subagents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-subagents.js","sourceRoot":"","sources":["../../src/runtime/async-subagents.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/runtime/auth.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,IAAI,EAGL,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EAEvB,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/runtime/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/auth.js
CHANGED
|
@@ -4,9 +4,9 @@ import { isTrustedSourceProvider } from "../channels/source-providers.js";
|
|
|
4
4
|
import {} from "../identity/index.js";
|
|
5
5
|
import { buildRuntimeIdentity, runtimeUserId } from "./identity-runtime.js";
|
|
6
6
|
import { logger } from "./log.js";
|
|
7
|
-
import { hasThreadRecordKeys, parseThreadRecord, stripThreadRecordKeys, } from "./thread-record.js";
|
|
7
|
+
import { THREAD_CONVERSATION_METADATA, hasThreadRecordKeys, parseThreadRecord, stripThreadRecordKeys, } from "./thread-record.js";
|
|
8
8
|
import { resolveValidatedTokenUser } from "./validated-token.js";
|
|
9
|
-
import { authorizeSchedule, isScheduleThreadRecord, scheduleAccess, scheduleHandoffUser, } from "./schedule-auth.js";
|
|
9
|
+
import { authorizeSchedule, isScheduleThreadRecord, scheduleAccess, scheduleHandoffUser, threadHandoffGrant, threadHandoffUser, } from "./schedule-auth.js";
|
|
10
10
|
import { isRecord } from "../values.js";
|
|
11
11
|
/**
|
|
12
12
|
* Reserved transport for the trusted-backend ingress mode. User identity
|
|
@@ -80,6 +80,9 @@ export function buildManagedAuth(identity) {
|
|
|
80
80
|
const scheduleUser = scheduleHandoffUser(request);
|
|
81
81
|
if (scheduleUser)
|
|
82
82
|
return scheduleUser;
|
|
83
|
+
const handoffUser = threadHandoffUser(request);
|
|
84
|
+
if (handoffUser)
|
|
85
|
+
return handoffUser;
|
|
83
86
|
// Provider-signed channel Events must reach the public HTTP handler before
|
|
84
87
|
// MDA ingress can succeed (Slack cannot present x-mda-ingress-secret).
|
|
85
88
|
if (isChannelEventsRequest(request)) {
|
|
@@ -107,6 +110,9 @@ export function buildManagedAuth(identity) {
|
|
|
107
110
|
// exempting all thread actions would also let that key alter caller threads
|
|
108
111
|
// or speak in a channel's conversation.
|
|
109
112
|
auth.on("threads", ({ user, action, value }) => {
|
|
113
|
+
const handoff = threadHandoffGrant(user);
|
|
114
|
+
if (handoff)
|
|
115
|
+
return authorizeThreadHandoff(user, handoff, action, value);
|
|
110
116
|
if (action === "search" && scheduleAccess(user))
|
|
111
117
|
return true;
|
|
112
118
|
// Read before the record keys are stripped: naming one is not a resume.
|
|
@@ -689,6 +695,35 @@ function guardThreadRecord(user, action, value) {
|
|
|
689
695
|
const runConfig = isRecord(kwargs) ? kwargs.config : undefined;
|
|
690
696
|
stripThreadRecordKeys(isRecord(runConfig) ? runConfig.metadata : undefined);
|
|
691
697
|
}
|
|
698
|
+
/**
|
|
699
|
+
* Let a scheduled run move its own thread to the conversation its post
|
|
700
|
+
* started: one update, found under the run's owner key, that writes the
|
|
701
|
+
* conversation's record and key and makes the conversation the owner. A read
|
|
702
|
+
* finds the thread only once the conversation owns it.
|
|
703
|
+
*/
|
|
704
|
+
function authorizeThreadHandoff(user, handoff, action, value) {
|
|
705
|
+
if (action === "read" &&
|
|
706
|
+
isRecord(value) &&
|
|
707
|
+
value.thread_id === handoff.thread)
|
|
708
|
+
return { owner: threadOwnerKey(user) };
|
|
709
|
+
if (action !== "update" ||
|
|
710
|
+
!isRecord(value) ||
|
|
711
|
+
value.thread_id !== handoff.thread ||
|
|
712
|
+
value.action != null ||
|
|
713
|
+
!isRecord(value.metadata) ||
|
|
714
|
+
value.metadata[THREAD_CONVERSATION_METADATA] !==
|
|
715
|
+
user.mda_source_thread_id ||
|
|
716
|
+
!isIngressThreadRecord(user, value.metadata))
|
|
717
|
+
throw new HTTPException(403, {
|
|
718
|
+
message: "Thread handoff is not permitted",
|
|
719
|
+
});
|
|
720
|
+
stripThreadRecordKeys(value.metadata, {
|
|
721
|
+
keepRecord: true,
|
|
722
|
+
keepConversation: true,
|
|
723
|
+
});
|
|
724
|
+
value.metadata.owner = threadOwnerKey(user);
|
|
725
|
+
return { owner: threadOwnerKey(handoff.execution) };
|
|
726
|
+
}
|
|
692
727
|
/** Whether metadata holds a well-formed record of the caller's own conversation. */
|
|
693
728
|
function isIngressThreadRecord(user, metadata) {
|
|
694
729
|
if (!channelConversationOwnerKey(user))
|