managed-deepagents 0.9.6-dev.19 → 0.9.6-dev.20
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 +1075 -37
- package/dist/agent-auth.d.ts +1 -1
- package/dist/agent-auth.d.ts.map +1 -1
- package/dist/agent-auth.js +36 -12
- package/dist/agent-auth.js.map +1 -1
- 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/actor.d.ts +57 -0
- package/dist/channels/actor.d.ts.map +1 -0
- package/dist/channels/actor.js +24 -0
- package/dist/channels/actor.js.map +1 -0
- package/dist/channels/assistant-text.d.ts +29 -0
- package/dist/channels/assistant-text.d.ts.map +1 -1
- package/dist/channels/assistant-text.js +72 -1
- package/dist/channels/assistant-text.js.map +1 -1
- package/dist/channels/binding.d.ts +20 -1
- package/dist/channels/binding.d.ts.map +1 -1
- package/dist/channels/binding.js +44 -11
- package/dist/channels/binding.js.map +1 -1
- package/dist/channels/delivery.d.ts +51 -0
- package/dist/channels/delivery.d.ts.map +1 -0
- package/dist/channels/delivery.js +424 -0
- package/dist/channels/delivery.js.map +1 -0
- 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/connections.d.ts +11 -0
- package/dist/channels/github/connections.d.ts.map +1 -0
- package/dist/channels/github/connections.js +14 -0
- package/dist/channels/github/connections.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 +266 -0
- package/dist/channels/github/index.js.map +1 -0
- package/dist/channels/github/mentions.d.ts +12 -0
- package/dist/channels/github/mentions.d.ts.map +1 -0
- package/dist/channels/github/mentions.js +185 -0
- package/dist/channels/github/mentions.js.map +1 -0
- package/dist/channels/github/schema.d.ts +4165 -0
- package/dist/channels/github/schema.d.ts.map +1 -0
- package/dist/channels/github/schema.js +221 -0
- package/dist/channels/github/schema.js.map +1 -0
- package/dist/channels/github/types.d.ts +170 -0
- package/dist/channels/github/types.d.ts.map +1 -0
- package/dist/channels/github/types.js +2 -0
- package/dist/channels/github/types.js.map +1 -0
- package/dist/channels/http/endpoint.d.ts +137 -0
- package/dist/channels/http/endpoint.d.ts.map +1 -0
- package/dist/channels/http/endpoint.js +286 -0
- package/dist/channels/http/endpoint.js.map +1 -0
- package/dist/channels/http/http.d.ts.map +1 -1
- package/dist/channels/http/http.js +439 -65
- package/dist/channels/http/http.js.map +1 -1
- package/dist/channels/http/index.d.ts +8 -1
- package/dist/channels/http/index.d.ts.map +1 -1
- package/dist/channels/http/index.js +35 -16
- package/dist/channels/http/index.js.map +1 -1
- package/dist/channels/http/ingress.d.ts +67 -5
- package/dist/channels/http/ingress.d.ts.map +1 -1
- package/dist/channels/http/ingress.js +155 -43
- package/dist/channels/http/ingress.js.map +1 -1
- package/dist/channels/http/provider.d.ts +125 -0
- package/dist/channels/http/provider.d.ts.map +1 -0
- package/dist/channels/http/provider.js +227 -0
- package/dist/channels/http/provider.js.map +1 -0
- package/dist/channels/http/studio.d.ts +24 -0
- package/dist/channels/http/studio.d.ts.map +1 -0
- package/dist/channels/http/studio.js +95 -0
- package/dist/channels/http/studio.js.map +1 -0
- package/dist/channels/http/threads.d.ts +7 -0
- package/dist/channels/http/threads.d.ts.map +1 -0
- package/dist/channels/http/threads.js +10 -0
- package/dist/channels/http/threads.js.map +1 -0
- package/dist/channels/http/types.d.ts +166 -2
- package/dist/channels/http/types.d.ts.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/connections.d.ts +11 -0
- package/dist/channels/linear/connections.d.ts.map +1 -0
- package/dist/channels/linear/connections.js +14 -0
- package/dist/channels/linear/connections.js.map +1 -0
- package/dist/channels/linear/graphql.d.ts +57 -0
- package/dist/channels/linear/graphql.d.ts.map +1 -0
- package/dist/channels/linear/graphql.js +167 -0
- package/dist/channels/linear/graphql.js.map +1 -0
- package/dist/channels/linear/index.d.ts +13 -0
- package/dist/channels/linear/index.d.ts.map +1 -0
- package/dist/channels/linear/index.js +457 -0
- package/dist/channels/linear/index.js.map +1 -0
- package/dist/channels/linear/schema.d.ts +1050 -0
- package/dist/channels/linear/schema.d.ts.map +1 -0
- package/dist/channels/linear/schema.js +255 -0
- package/dist/channels/linear/schema.js.map +1 -0
- package/dist/channels/linear/types.d.ts +169 -0
- package/dist/channels/linear/types.d.ts.map +1 -0
- package/dist/channels/linear/types.js +2 -0
- package/dist/channels/linear/types.js.map +1 -0
- package/dist/channels/message-schema.d.ts +2 -0
- package/dist/channels/message-schema.d.ts.map +1 -1
- package/dist/channels/message-schema.js +4 -0
- package/dist/channels/message-schema.js.map +1 -1
- package/dist/channels/messaging-registry.d.ts +16 -0
- package/dist/channels/messaging-registry.d.ts.map +1 -1
- package/dist/channels/messaging-registry.js +29 -0
- package/dist/channels/messaging-registry.js.map +1 -1
- package/dist/channels/reserved-connections.d.ts +12 -0
- package/dist/channels/reserved-connections.d.ts.map +1 -0
- package/dist/channels/reserved-connections.js +55 -0
- package/dist/channels/reserved-connections.js.map +1 -0
- package/dist/channels/resolve-user-endpoint.d.ts +34 -0
- package/dist/channels/resolve-user-endpoint.d.ts.map +1 -0
- package/dist/channels/resolve-user-endpoint.js +51 -0
- package/dist/channels/resolve-user-endpoint.js.map +1 -0
- package/dist/channels/resolve-user.d.ts +95 -0
- package/dist/channels/resolve-user.d.ts.map +1 -0
- package/dist/channels/resolve-user.js +143 -0
- package/dist/channels/resolve-user.js.map +1 -0
- package/dist/channels/run-input.d.ts +88 -0
- package/dist/channels/run-input.d.ts.map +1 -0
- package/dist/channels/run-input.js +177 -0
- package/dist/channels/run-input.js.map +1 -0
- package/dist/channels/runtime.d.ts +5 -2
- 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 +2 -13
- package/dist/channels/schedule-delivery.d.ts.map +1 -1
- package/dist/channels/schedule-delivery.js +6 -73
- package/dist/channels/schedule-delivery.js.map +1 -1
- package/dist/channels/slack/api.d.ts +2 -0
- package/dist/channels/slack/api.d.ts.map +1 -1
- package/dist/channels/slack/api.js +6 -0
- package/dist/channels/slack/api.js.map +1 -1
- package/dist/channels/slack/connections.d.ts +6 -0
- package/dist/channels/slack/connections.d.ts.map +1 -0
- package/dist/channels/slack/connections.js +6 -0
- package/dist/channels/slack/connections.js.map +1 -0
- package/dist/channels/slack/events.d.ts +278 -0
- package/dist/channels/slack/events.d.ts.map +1 -0
- package/dist/channels/slack/events.js +235 -0
- package/dist/channels/slack/events.js.map +1 -0
- package/dist/channels/slack/files.d.ts.map +1 -1
- package/dist/channels/slack/files.js +2 -3
- package/dist/channels/slack/files.js.map +1 -1
- package/dist/channels/slack/index.d.ts +90 -2
- package/dist/channels/slack/index.d.ts.map +1 -1
- package/dist/channels/slack/index.js +188 -6
- package/dist/channels/slack/index.js.map +1 -1
- package/dist/channels/slack/message-content.d.ts.map +1 -1
- package/dist/channels/slack/message-content.js +23 -28
- package/dist/channels/slack/message-content.js.map +1 -1
- package/dist/channels/slack/status.d.ts +76 -0
- package/dist/channels/slack/status.d.ts.map +1 -0
- package/dist/channels/slack/status.js +427 -0
- package/dist/channels/slack/status.js.map +1 -0
- package/dist/channels/source-providers.js +1 -1
- package/dist/channels/source-providers.js.map +1 -1
- package/dist/channels/trigger/client.d.ts.map +1 -1
- package/dist/channels/trigger/client.js +6 -9
- 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 +130 -4
- package/dist/channels/trigger/http.d.ts.map +1 -1
- package/dist/channels/trigger/http.js +408 -78
- package/dist/channels/trigger/http.js.map +1 -1
- package/dist/channels/trigger/ingress.d.ts +70 -1
- package/dist/channels/trigger/ingress.d.ts.map +1 -1
- package/dist/channels/trigger/ingress.js +130 -19
- 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 +92 -3
- package/dist/channels/trigger/types.d.ts.map +1 -1
- package/dist/channels/trigger/types.js +37 -0
- package/dist/channels/trigger/types.js.map +1 -1
- package/dist/channels/types.d.ts +53 -4
- package/dist/channels/types.d.ts.map +1 -1
- package/dist/channels/types.js +2 -0
- package/dist/channels/types.js.map +1 -1
- package/dist/connections.d.ts +35 -1
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +121 -10
- package/dist/connections.js.map +1 -1
- package/dist/credential-gate.d.ts +2 -0
- package/dist/credential-gate.d.ts.map +1 -1
- package/dist/credential-gate.js +37 -3
- package/dist/credential-gate.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 -2
- package/dist/define-deep-agent.js.map +1 -1
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +3 -1
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/options.d.ts +9 -0
- package/dist/identity/options.d.ts.map +1 -1
- package/dist/identity/options.js +1 -1
- package/dist/identity/options.js.map +1 -1
- package/dist/identity/types.d.ts +3 -0
- package/dist/identity/types.d.ts.map +1 -1
- package/dist/index.d.ts +19 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/ingress/loopback.d.ts +1 -0
- package/dist/ingress/loopback.d.ts.map +1 -1
- package/dist/ingress/loopback.js +4 -1
- package/dist/ingress/loopback.js.map +1 -1
- package/dist/ingress/runs.d.ts +74 -1
- package/dist/ingress/runs.d.ts.map +1 -1
- package/dist/ingress/runs.js +184 -9
- package/dist/ingress/runs.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 +29 -13
- package/dist/managed-composition.js.map +1 -1
- package/dist/namespaces.d.ts +25 -21
- package/dist/namespaces.d.ts.map +1 -1
- package/dist/namespaces.js +4 -29
- package/dist/namespaces.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 +177 -8
- 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 +143 -0
- package/dist/runtime/browser-langsmith.d.ts.map +1 -0
- package/dist/runtime/browser-langsmith.js +508 -0
- package/dist/runtime/browser-langsmith.js.map +1 -0
- package/dist/runtime/browser-recorder.py +831 -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 +128 -0
- package/dist/runtime/browser.d.ts.map +1 -0
- package/dist/runtime/browser.js +795 -0
- package/dist/runtime/browser.js.map +1 -0
- package/dist/runtime/channel-icon.d.ts +22 -0
- package/dist/runtime/channel-icon.d.ts.map +1 -0
- package/dist/runtime/channel-icon.js +81 -0
- package/dist/runtime/channel-icon.js.map +1 -0
- package/dist/runtime/channel.d.ts +11 -0
- package/dist/runtime/channel.d.ts.map +1 -1
- package/dist/runtime/channel.js.map +1 -1
- package/dist/runtime/identity-http.d.ts +2 -0
- package/dist/runtime/identity-http.d.ts.map +1 -1
- package/dist/runtime/identity-http.js +38 -2
- package/dist/runtime/identity-http.js.map +1 -1
- package/dist/runtime/identity-runtime.d.ts +10 -0
- package/dist/runtime/identity-runtime.d.ts.map +1 -1
- package/dist/runtime/identity-runtime.js +22 -0
- package/dist/runtime/identity-runtime.js.map +1 -1
- package/dist/runtime/index.d.ts +38 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +76 -34
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/managed-thread.d.ts +61 -0
- package/dist/runtime/managed-thread.d.ts.map +1 -0
- package/dist/runtime/managed-thread.js +76 -0
- package/dist/runtime/managed-thread.js.map +1 -0
- package/dist/runtime/managed-tools.d.ts +10 -2
- package/dist/runtime/managed-tools.d.ts.map +1 -1
- package/dist/runtime/managed-tools.js +10 -8
- package/dist/runtime/managed-tools.js.map +1 -1
- package/dist/runtime/memory/policy.d.ts.map +1 -1
- package/dist/runtime/memory/policy.js +1 -3
- package/dist/runtime/memory/policy.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 +14 -1
- package/dist/runtime/run-input.d.ts.map +1 -1
- package/dist/runtime/run-input.js +100 -7
- package/dist/runtime/run-input.js.map +1 -1
- package/dist/runtime/sandbox-manager.d.ts +15 -2
- package/dist/runtime/sandbox-manager.d.ts.map +1 -1
- package/dist/runtime/sandbox-manager.js +37 -12
- package/dist/runtime/sandbox-manager.js.map +1 -1
- package/dist/runtime/schedule-auth.d.ts +79 -0
- package/dist/runtime/schedule-auth.d.ts.map +1 -1
- package/dist/runtime/schedule-auth.js +163 -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 +88 -0
- package/dist/runtime/thread-record.d.ts.map +1 -0
- package/dist/runtime/thread-record.js +213 -0
- package/dist/runtime/thread-record.js.map +1 -0
- package/dist/runtime/types.d.ts +12 -1
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime-schedules.d.ts +15 -0
- package/dist/runtime-schedules.d.ts.map +1 -1
- package/dist/runtime-schedules.js +83 -20
- package/dist/runtime-schedules.js.map +1 -1
- package/dist/sandbox.d.ts +0 -6
- package/dist/sandbox.d.ts.map +1 -1
- package/dist/sandbox.js +3 -7
- package/dist/sandbox.js.map +1 -1
- package/dist/schedule-channel.d.ts +5 -2
- package/dist/schedule-channel.d.ts.map +1 -1
- package/dist/schedule-channel.js +13 -12
- package/dist/schedule-channel.js.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/dist/values.d.ts +15 -0
- package/dist/values.d.ts.map +1 -0
- package/dist/values.js +31 -0
- package/dist/values.js.map +1 -0
- package/package.json +23 -9
|
@@ -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":"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"}
|
package/dist/namespaces.d.ts
CHANGED
|
@@ -15,36 +15,24 @@
|
|
|
15
15
|
* These are the only primitives the managed runtime will mount. A project
|
|
16
16
|
* cannot contribute its own — `defineExtension` stays internal.
|
|
17
17
|
*/
|
|
18
|
+
import { githubChannel } from "./channels/github/index.js";
|
|
19
|
+
import { linearChannel } from "./channels/linear/index.js";
|
|
18
20
|
import { httpChannel } from "./channels/http/index.js";
|
|
19
21
|
import { slackChannel } from "./channels/slack/index.js";
|
|
20
|
-
import { defineMcp } from "./connectors/mcp/index.js";
|
|
21
22
|
export { auth } from "./identity/index.js";
|
|
22
|
-
/** @internal */
|
|
23
|
-
export declare const CONNECTORS_MCP_DEPRECATION = "connectors.mcp(...) is deprecated; use defineMcp(...) instead. It will be removed in 0.8.0.";
|
|
24
|
-
/**
|
|
25
|
-
* @deprecated Use {@link defineMcp} instead. The `connectors` namespace will
|
|
26
|
-
* be removed in 0.8.0.
|
|
27
|
-
*
|
|
28
|
-
* Docs live on this interface so IDE hover on `connectors.mcp` stays useful.
|
|
29
|
-
*/
|
|
30
|
-
export interface Connectors {
|
|
31
|
-
/**
|
|
32
|
-
* @deprecated Use {@link defineMcp} instead. `connectors.mcp` will be removed
|
|
33
|
-
* in 0.8.0.
|
|
34
|
-
*/
|
|
35
|
-
mcp: typeof defineMcp;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* @deprecated Use {@link defineMcp} instead. The `connectors` namespace will
|
|
39
|
-
* be removed in 0.8.0.
|
|
40
|
-
*/
|
|
41
|
-
export declare const connectors: Connectors;
|
|
42
23
|
/**
|
|
43
24
|
* Inbound messaging surfaces. Exported from `channels/*`.
|
|
44
25
|
*
|
|
45
26
|
* Docs live on this interface so IDE hover on `channels.<name>` stays useful.
|
|
46
27
|
*/
|
|
47
28
|
export interface Channels {
|
|
29
|
+
/**
|
|
30
|
+
* GitHub App events: `onEvent` handlers start runs with what they return
|
|
31
|
+
* (as `agent.invoke` takes it; null/undefined skips).
|
|
32
|
+
*
|
|
33
|
+
* @experimental The GitHub channel may change in a minor release.
|
|
34
|
+
*/
|
|
35
|
+
github: typeof githubChannel;
|
|
48
36
|
/**
|
|
49
37
|
* Declare a provider http as a managed channel.
|
|
50
38
|
*
|
|
@@ -52,6 +40,22 @@ export interface Channels {
|
|
|
52
40
|
* owns caller handoff, thread selection, agent invocation, and auto-reply.
|
|
53
41
|
*/
|
|
54
42
|
http: typeof httpChannel;
|
|
43
|
+
/**
|
|
44
|
+
* Linear app webhooks: `onEvent` handlers start runs with what they return
|
|
45
|
+
* (as `agent.invoke` takes it; null/undefined skips), one conversation per
|
|
46
|
+
* issue, and the run's reply is posted as a comment on the issue.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```ts
|
|
50
|
+
* export const channel = channels.linear({
|
|
51
|
+
* app: { teams: ["ENG"] },
|
|
52
|
+
* onEvent: { "Issue.create": (e) => `Triage ${e.payload.data.identifier}` },
|
|
53
|
+
* });
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* @experimental The Linear channel may change in a minor release.
|
|
57
|
+
*/
|
|
58
|
+
linear: typeof linearChannel;
|
|
55
59
|
/**
|
|
56
60
|
* Slack ingress through Trigger Server and deploy requirements.
|
|
57
61
|
*
|
package/dist/namespaces.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespaces.d.ts","sourceRoot":"","sources":["../src/namespaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"namespaces.d.ts","sourceRoot":"","sources":["../src/namespaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;OAKG;IACH,MAAM,EAAE,OAAO,aAAa,CAAC;IAC7B;;;;;OAKG;IACH,IAAI,EAAE,OAAO,WAAW,CAAC;IACzB;;;;;;;;;;;;;;OAcG;IACH,MAAM,EAAE,OAAO,aAAa,CAAC;IAC7B;;;;;;;;;;;;;;OAcG;IACH,KAAK,EAAE,OAAO,YAAY,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,QAKtB,CAAC"}
|
package/dist/namespaces.js
CHANGED
|
@@ -15,43 +15,18 @@
|
|
|
15
15
|
* These are the only primitives the managed runtime will mount. A project
|
|
16
16
|
* cannot contribute its own — `defineExtension` stays internal.
|
|
17
17
|
*/
|
|
18
|
+
import { githubChannel } from "./channels/github/index.js";
|
|
19
|
+
import { linearChannel } from "./channels/linear/index.js";
|
|
18
20
|
import { httpChannel } from "./channels/http/index.js";
|
|
19
21
|
import { slackChannel } from "./channels/slack/index.js";
|
|
20
|
-
import { defineMcp } from "./connectors/mcp/index.js";
|
|
21
22
|
export { auth } from "./identity/index.js";
|
|
22
|
-
/** @internal */
|
|
23
|
-
export const CONNECTORS_MCP_DEPRECATION = "connectors.mcp(...) is deprecated; use defineMcp(...) instead. It will be removed in 0.8.0.";
|
|
24
|
-
function emitConnectorsMcpDeprecation() {
|
|
25
|
-
if (typeof process !== "undefined" &&
|
|
26
|
-
typeof process.emitWarning === "function") {
|
|
27
|
-
process.emitWarning(CONNECTORS_MCP_DEPRECATION, {
|
|
28
|
-
type: "DeprecationWarning",
|
|
29
|
-
code: "MDA_CONNECTORS_MCP",
|
|
30
|
-
});
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
console.warn(CONNECTORS_MCP_DEPRECATION);
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* @deprecated Use {@link defineMcp} instead. `connectors.mcp` will be removed
|
|
37
|
-
* in 0.8.0.
|
|
38
|
-
*/
|
|
39
|
-
function deprecatedMcp(config) {
|
|
40
|
-
emitConnectorsMcpDeprecation();
|
|
41
|
-
return defineMcp(config);
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* @deprecated Use {@link defineMcp} instead. The `connectors` namespace will
|
|
45
|
-
* be removed in 0.8.0.
|
|
46
|
-
*/
|
|
47
|
-
export const connectors = {
|
|
48
|
-
mcp: deprecatedMcp,
|
|
49
|
-
};
|
|
50
23
|
/**
|
|
51
24
|
* Inbound messaging surfaces. Factories are assigned by reference so signatures
|
|
52
25
|
* stay in step with the channel modules. Hover docs come from {@link Channels}.
|
|
53
26
|
*/
|
|
54
27
|
export const channels = {
|
|
28
|
+
github: githubChannel,
|
|
29
|
+
linear: linearChannel,
|
|
55
30
|
slack: slackChannel,
|
|
56
31
|
http: httpChannel,
|
|
57
32
|
};
|
package/dist/namespaces.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../src/namespaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../src/namespaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAwD3C;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,aAAa;IACrB,KAAK,EAAE,YAAY;IACnB,IAAI,EAAE,WAAW;CAClB,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
|
@@ -3,8 +3,11 @@ import { Auth, HTTPException, isStudioUser, } from "@langchain/langgraph-sdk/aut
|
|
|
3
3
|
import { isTrustedSourceProvider } from "../channels/source-providers.js";
|
|
4
4
|
import {} from "../identity/index.js";
|
|
5
5
|
import { buildRuntimeIdentity, runtimeUserId } from "./identity-runtime.js";
|
|
6
|
+
import { logger } from "./log.js";
|
|
7
|
+
import { THREAD_CONVERSATION_METADATA, hasThreadRecordKeys, parseThreadRecord, stripThreadRecordKeys, } from "./thread-record.js";
|
|
6
8
|
import { resolveValidatedTokenUser } from "./validated-token.js";
|
|
7
|
-
import { authorizeSchedule, scheduleAccess, scheduleHandoffUser, } from "./schedule-auth.js";
|
|
9
|
+
import { authorizeSchedule, isScheduleThreadRecord, scheduleAccess, scheduleHandoffUser, threadHandoffGrant, threadHandoffUser, } from "./schedule-auth.js";
|
|
10
|
+
import { isRecord } from "../values.js";
|
|
8
11
|
/**
|
|
9
12
|
* Reserved transport for the trusted-backend ingress mode. User identity
|
|
10
13
|
* travels as reserved headers (mapped into `config.configurable` by the generated
|
|
@@ -77,6 +80,9 @@ export function buildManagedAuth(identity) {
|
|
|
77
80
|
const scheduleUser = scheduleHandoffUser(request);
|
|
78
81
|
if (scheduleUser)
|
|
79
82
|
return scheduleUser;
|
|
83
|
+
const handoffUser = threadHandoffUser(request);
|
|
84
|
+
if (handoffUser)
|
|
85
|
+
return handoffUser;
|
|
80
86
|
// Provider-signed channel Events must reach the public HTTP handler before
|
|
81
87
|
// MDA ingress can succeed (Slack cannot present x-mda-ingress-secret).
|
|
82
88
|
if (isChannelEventsRequest(request)) {
|
|
@@ -98,19 +104,43 @@ export function buildManagedAuth(identity) {
|
|
|
98
104
|
return resolveValidatedTokenUser(cfg, http, request);
|
|
99
105
|
});
|
|
100
106
|
// Let Studio inspect every deployment thread so channel-triggered runs and
|
|
101
|
-
// their interrupts are visible there
|
|
107
|
+
// their interrupts are visible there, and answer interrupts on any thread,
|
|
108
|
+
// which channels link to. Keep other mutations owner-scoped: Studio
|
|
102
109
|
// identity is reachable by any holder of a workspace LangSmith API key, so
|
|
103
|
-
// exempting all thread actions would also let that key alter caller threads
|
|
110
|
+
// exempting all thread actions would also let that key alter caller threads
|
|
111
|
+
// or speak in a channel's conversation.
|
|
104
112
|
auth.on("threads", ({ user, action, value }) => {
|
|
113
|
+
const handoff = threadHandoffGrant(user);
|
|
114
|
+
if (handoff)
|
|
115
|
+
return authorizeThreadHandoff(user, handoff, action, value);
|
|
105
116
|
if (action === "search" && scheduleAccess(user))
|
|
106
117
|
return true;
|
|
118
|
+
// Read before the record keys are stripped: naming one is not a resume.
|
|
119
|
+
const resumeOnly = isStudioUser(user) && action === "create_run" && isResumeOnly(value);
|
|
120
|
+
guardThreadRecord(user, action, value);
|
|
107
121
|
if (isLocalDevUnscopedUser(user)) {
|
|
108
122
|
return true;
|
|
109
123
|
}
|
|
110
124
|
if (isStudioUser(user) && (action === "read" || action === "search")) {
|
|
111
125
|
return true;
|
|
112
126
|
}
|
|
113
|
-
|
|
127
|
+
// Studio may stop a run on any thread, as it may resume one there, so a
|
|
128
|
+
// runaway channel run can be cancelled from the deployment UI. Only
|
|
129
|
+
// `interrupt` on one thread: `rollback` deletes checkpoints, and a bulk
|
|
130
|
+
// cancel without a thread would stop every run in the deployment.
|
|
131
|
+
if (isStudioUser(user) &&
|
|
132
|
+
action === "update" &&
|
|
133
|
+
isSingleThreadInterrupt(value)) {
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
if (isStudioUser(user) && action === "create_run") {
|
|
137
|
+
if (resumeOnly)
|
|
138
|
+
return true;
|
|
139
|
+
// Owner-scoped below, so Studio sees "not found"; say why, by shape only.
|
|
140
|
+
logger.info(`studio run is not a resume, so it is owner-scoped ${JSON.stringify(runShape(value))}`);
|
|
141
|
+
}
|
|
142
|
+
const managed = user;
|
|
143
|
+
const key = threadOwnerKey(managed);
|
|
114
144
|
if (value && typeof value === "object") {
|
|
115
145
|
const container = value;
|
|
116
146
|
container.metadata = { ...container.metadata, owner: key };
|
|
@@ -136,7 +166,16 @@ export function buildManagedAuth(identity) {
|
|
|
136
166
|
// reachable unfiltered by any authenticated caller. The specific handlers
|
|
137
167
|
// registered above take precedence over this one, so threads and store keep
|
|
138
168
|
// their own scoping.
|
|
139
|
-
auth.on("*", ({ user, resource, action }) => {
|
|
169
|
+
auth.on("*", ({ user, resource, action, value }) => {
|
|
170
|
+
// An assistant's metadata merges into its runs' too, so no caller, Studio
|
|
171
|
+
// included, may give an assistant a thread record.
|
|
172
|
+
if (resource === "assistants") {
|
|
173
|
+
if (isRecord(value)) {
|
|
174
|
+
stripThreadRecordKeys(value.metadata);
|
|
175
|
+
if (isRecord(value.config))
|
|
176
|
+
stripThreadRecordKeys(value.config.metadata);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
140
179
|
if (isStudioUser(user) || isLocalDevUnscopedUser(user)) {
|
|
141
180
|
return true;
|
|
142
181
|
}
|
|
@@ -443,7 +482,7 @@ async function verifyLangSmithApiKey(endpoint, headers) {
|
|
|
443
482
|
message: "LangSmith API-key verification returned an invalid response",
|
|
444
483
|
});
|
|
445
484
|
}
|
|
446
|
-
if (!
|
|
485
|
+
if (!isRecord(verified)) {
|
|
447
486
|
throw new HTTPException(503, {
|
|
448
487
|
message: "LangSmith API-key verification returned an invalid response",
|
|
449
488
|
});
|
|
@@ -530,8 +569,14 @@ async function fetchLangSmithVerification(url, headers) {
|
|
|
530
569
|
await sleep(Math.random() * Math.min(100 * 2 ** attempt, 200));
|
|
531
570
|
}
|
|
532
571
|
}
|
|
533
|
-
|
|
534
|
-
|
|
572
|
+
/**
|
|
573
|
+
* True for a run-cancel `threads:update` that interrupts runs on one thread.
|
|
574
|
+
*
|
|
575
|
+
* Run cancellation is the only thread update that carries `action`; metadata
|
|
576
|
+
* patches and state updates never set it.
|
|
577
|
+
*/
|
|
578
|
+
function isSingleThreadInterrupt(value) {
|
|
579
|
+
return (isRecord(value) && value.action === "interrupt" && value.thread_id != null);
|
|
535
580
|
}
|
|
536
581
|
function isLangSmithApiKeyAuth(http) {
|
|
537
582
|
return typeof http === "object" && http.mode === "langsmith_api_key";
|
|
@@ -584,6 +629,130 @@ function localDevServiceUser(request) {
|
|
|
584
629
|
mda_user_kind: "service",
|
|
585
630
|
};
|
|
586
631
|
}
|
|
632
|
+
/**
|
|
633
|
+
* Whether a run only answers the interrupts of an existing thread: a
|
|
634
|
+
* `command` with nothing but a `resume` value, no new input, and no webhook
|
|
635
|
+
* to report the thread elsewhere. Encrypted or otherwise opaque run payloads
|
|
636
|
+
* are not.
|
|
637
|
+
*
|
|
638
|
+
* Studio resumes with `multitask_strategy: "rollback"`, the thread's
|
|
639
|
+
* checkpoint and the user's breakpoints, so none of those can be refused.
|
|
640
|
+
*/
|
|
641
|
+
function isResumeOnly(value) {
|
|
642
|
+
if (!isRecord(value))
|
|
643
|
+
return false;
|
|
644
|
+
const { thread_id: threadId, kwargs } = value;
|
|
645
|
+
if (typeof threadId !== "string" || !threadId.trim())
|
|
646
|
+
return false;
|
|
647
|
+
if (!isRecord(kwargs) || kwargs.input != null)
|
|
648
|
+
return false;
|
|
649
|
+
if (kwargs.webhook != null)
|
|
650
|
+
return false;
|
|
651
|
+
// The run's metadata merges over the thread's; it may not touch its record.
|
|
652
|
+
if (claimsThreadRecord(value.metadata))
|
|
653
|
+
return false;
|
|
654
|
+
const { config } = kwargs;
|
|
655
|
+
if (config != null && !isRecord(config))
|
|
656
|
+
return false;
|
|
657
|
+
if (isRecord(config) && claimsThreadRecord(config.metadata)) {
|
|
658
|
+
return false;
|
|
659
|
+
}
|
|
660
|
+
const { command } = kwargs;
|
|
661
|
+
return (isRecord(command) &&
|
|
662
|
+
Object.keys(command).every((key) => key === "resume") &&
|
|
663
|
+
command.resume != null);
|
|
664
|
+
}
|
|
665
|
+
/** Whether run metadata names a thread-record key at all. */
|
|
666
|
+
function claimsThreadRecord(metadata) {
|
|
667
|
+
if (metadata == null)
|
|
668
|
+
return false;
|
|
669
|
+
return !isRecord(metadata) || hasThreadRecordKeys(metadata);
|
|
670
|
+
}
|
|
671
|
+
/**
|
|
672
|
+
* Strip the thread record from a payload unless managed ingress writes it.
|
|
673
|
+
*
|
|
674
|
+
* The Agent Server protects no metadata key, and a run's metadata merges over
|
|
675
|
+
* its thread's, so only a thread create or update by the conversation's own
|
|
676
|
+
* channel caller keeps a record, and only one for that conversation. Runs
|
|
677
|
+
* carry none, except a cron fire whose new-thread record names its
|
|
678
|
+
* execution. Searches only filter, so they keep theirs.
|
|
679
|
+
*/
|
|
680
|
+
function guardThreadRecord(user, action, value) {
|
|
681
|
+
if (action === "search" || !isRecord(value))
|
|
682
|
+
return;
|
|
683
|
+
const { metadata, config, kwargs } = value;
|
|
684
|
+
// A cron fire's run metadata is its cron's, which becomes a new thread's
|
|
685
|
+
// metadata; cron auth already checked that record against the execution.
|
|
686
|
+
const keepRecord = action === "create" || action === "update"
|
|
687
|
+
? isIngressThreadRecord(user, metadata)
|
|
688
|
+
: action === "create_run" &&
|
|
689
|
+
user.mda_scheduled_run === true &&
|
|
690
|
+
isScheduleThreadRecord(metadata, user);
|
|
691
|
+
stripThreadRecordKeys(metadata, { keepRecord });
|
|
692
|
+
stripThreadRecordKeys(isRecord(config) ? config.metadata : undefined);
|
|
693
|
+
const runConfig = isRecord(kwargs) ? kwargs.config : undefined;
|
|
694
|
+
stripThreadRecordKeys(isRecord(runConfig) ? runConfig.metadata : undefined);
|
|
695
|
+
}
|
|
696
|
+
/**
|
|
697
|
+
* Let a scheduled run move its own thread to the conversation its post
|
|
698
|
+
* started: one update, found under the run's owner key, that writes the
|
|
699
|
+
* conversation's record and key and makes the conversation the owner. A read
|
|
700
|
+
* finds the thread only once the conversation owns it.
|
|
701
|
+
*/
|
|
702
|
+
function authorizeThreadHandoff(user, handoff, action, value) {
|
|
703
|
+
if (action === "read" &&
|
|
704
|
+
isRecord(value) &&
|
|
705
|
+
value.thread_id === handoff.thread)
|
|
706
|
+
return { owner: threadOwnerKey(user) };
|
|
707
|
+
if (action !== "update" ||
|
|
708
|
+
!isRecord(value) ||
|
|
709
|
+
value.thread_id !== handoff.thread ||
|
|
710
|
+
value.action != null ||
|
|
711
|
+
!isRecord(value.metadata) ||
|
|
712
|
+
value.metadata[THREAD_CONVERSATION_METADATA] !==
|
|
713
|
+
user.mda_source_thread_id ||
|
|
714
|
+
!isIngressThreadRecord(user, value.metadata))
|
|
715
|
+
throw new HTTPException(403, {
|
|
716
|
+
message: "Thread handoff is not permitted",
|
|
717
|
+
});
|
|
718
|
+
stripThreadRecordKeys(value.metadata, {
|
|
719
|
+
keepRecord: true,
|
|
720
|
+
keepConversation: true,
|
|
721
|
+
});
|
|
722
|
+
value.metadata.owner = threadOwnerKey(user);
|
|
723
|
+
return { owner: threadOwnerKey(handoff.execution) };
|
|
724
|
+
}
|
|
725
|
+
/** Whether metadata holds a well-formed record of the caller's own conversation. */
|
|
726
|
+
function isIngressThreadRecord(user, metadata) {
|
|
727
|
+
if (!channelConversationOwnerKey(user))
|
|
728
|
+
return false;
|
|
729
|
+
const origin = parseThreadRecord(metadata, { exact: true })?.origin;
|
|
730
|
+
return (!!origin &&
|
|
731
|
+
origin.channel.provider === user.mda_source_provider &&
|
|
732
|
+
origin.channel.source_thread_key === user.mda_source_thread_id &&
|
|
733
|
+
(origin.sender === null || origin.sender === user.mda_user_id));
|
|
734
|
+
}
|
|
735
|
+
/** What a run payload holds, without its values, to explain a refusal. */
|
|
736
|
+
function runShape(value) {
|
|
737
|
+
if (!isRecord(value))
|
|
738
|
+
return { value: typeof value };
|
|
739
|
+
const { thread_id: threadId, kwargs } = value;
|
|
740
|
+
const input = isRecord(kwargs) ? kwargs.input : undefined;
|
|
741
|
+
const command = isRecord(kwargs) ? kwargs.command : undefined;
|
|
742
|
+
return {
|
|
743
|
+
threadId: typeof threadId,
|
|
744
|
+
webhook: isRecord(kwargs) && kwargs.webhook != null,
|
|
745
|
+
kwargs: isRecord(kwargs) ? "object" : typeof kwargs,
|
|
746
|
+
input: input === null ? "null" : Array.isArray(input) ? "array" : typeof input,
|
|
747
|
+
command: isRecord(command)
|
|
748
|
+
? Object.keys(command)
|
|
749
|
+
.slice(0, 8)
|
|
750
|
+
.map((key) => logger.logIdentifier(key))
|
|
751
|
+
: command === null
|
|
752
|
+
? "null"
|
|
753
|
+
: typeof command,
|
|
754
|
+
};
|
|
755
|
+
}
|
|
587
756
|
/**
|
|
588
757
|
* Derive the owner value `@auth.on.threads` filters on.
|
|
589
758
|
*
|