managed-deepagents 0.10.0-dev.8 → 0.10.0
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 +881 -139
- 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 +81 -4
- 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/index.d.ts +5 -1
- package/dist/channels/github/index.d.ts.map +1 -1
- package/dist/channels/github/index.js +49 -51
- package/dist/channels/github/index.js.map +1 -1
- 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 +271 -0
- package/dist/channels/github/schema.d.ts.map +1 -1
- package/dist/channels/github/schema.js +33 -0
- package/dist/channels/github/schema.js.map +1 -1
- package/dist/channels/github/types.d.ts +55 -15
- package/dist/channels/github/types.d.ts.map +1 -1
- 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 +240 -95
- package/dist/channels/http/http.js.map +1 -1
- package/dist/channels/http/index.d.ts +7 -1
- package/dist/channels/http/index.d.ts.map +1 -1
- package/dist/channels/http/index.js +32 -32
- package/dist/channels/http/index.js.map +1 -1
- package/dist/channels/http/ingress.d.ts +30 -24
- package/dist/channels/http/ingress.d.ts.map +1 -1
- package/dist/channels/http/ingress.js +61 -57
- package/dist/channels/http/ingress.js.map +1 -1
- package/dist/channels/http/provider.d.ts +51 -9
- package/dist/channels/http/provider.d.ts.map +1 -1
- package/dist/channels/http/provider.js +66 -15
- package/dist/channels/http/provider.js.map +1 -1
- package/dist/channels/http/studio.d.ts +14 -5
- package/dist/channels/http/studio.d.ts.map +1 -1
- package/dist/channels/http/studio.js +20 -5
- package/dist/channels/http/studio.js.map +1 -1
- package/dist/channels/http/types.d.ts +110 -56
- 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/index.d.ts +5 -1
- package/dist/channels/linear/index.d.ts.map +1 -1
- package/dist/channels/linear/index.js +75 -93
- package/dist/channels/linear/index.js.map +1 -1
- package/dist/channels/linear/schema.d.ts +11 -25
- package/dist/channels/linear/schema.d.ts.map +1 -1
- package/dist/channels/linear/schema.js +6 -0
- package/dist/channels/linear/schema.js.map +1 -1
- package/dist/channels/linear/types.d.ts +38 -16
- package/dist/channels/linear/types.d.ts.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.map +1 -1
- package/dist/channels/reserved-connections.js +10 -0
- package/dist/channels/reserved-connections.js.map +1 -1
- 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 +46 -4
- package/dist/channels/run-input.d.ts.map +1 -1
- package/dist/channels/run-input.js +94 -30
- package/dist/channels/run-input.js.map +1 -1
- 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 +9 -76
- 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/trigger/client.d.ts.map +1 -1
- package/dist/channels/trigger/client.js +9 -11
- 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 +419 -82
- package/dist/channels/trigger/http.js.map +1 -1
- package/dist/channels/trigger/identity-context.d.ts +1 -1
- package/dist/channels/trigger/identity-context.d.ts.map +1 -1
- package/dist/channels/trigger/identity-context.js +3 -5
- package/dist/channels/trigger/identity-context.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 +141 -9
- 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/concurrency/batch-processor.d.ts +51 -0
- package/dist/concurrency/batch-processor.d.ts.map +1 -0
- package/dist/concurrency/batch-processor.js +99 -0
- package/dist/concurrency/batch-processor.js.map +1 -0
- package/dist/connections.d.ts +5 -12
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +28 -30
- package/dist/connections.js.map +1 -1
- package/dist/connectors/mcp/langsmith-url.d.ts.map +1 -1
- package/dist/connectors/mcp/langsmith-url.js +0 -1
- package/dist/connectors/mcp/langsmith-url.js.map +1 -1
- package/dist/credential-gate.js +3 -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/loopback.d.ts +7 -2
- package/dist/identity/loopback.d.ts.map +1 -1
- package/dist/identity/loopback.js +15 -4
- package/dist/identity/loopback.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/slack/links.js +3 -2
- package/dist/identity/slack/links.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 +15 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/ingress/index.d.ts +8 -0
- package/dist/ingress/index.d.ts.map +1 -1
- package/dist/ingress/index.js +32 -2
- package/dist/ingress/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 +7 -3
- package/dist/ingress/loopback.js.map +1 -1
- package/dist/ingress/runs.d.ts +27 -1
- package/dist/ingress/runs.d.ts.map +1 -1
- package/dist/ingress/runs.js +69 -6
- 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/memory/instructions-middleware.d.ts.map +1 -1
- package/dist/memory/instructions-middleware.js +6 -5
- package/dist/memory/instructions-middleware.js.map +1 -1
- package/dist/namespaces.d.ts +4 -21
- package/dist/namespaces.d.ts.map +1 -1
- package/dist/namespaces.js +0 -29
- package/dist/namespaces.js.map +1 -1
- package/dist/resilience/retry.d.ts +21 -0
- package/dist/resilience/retry.d.ts.map +1 -0
- package/dist/resilience/retry.js +40 -0
- package/dist/resilience/retry.js.map +1 -0
- 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 +1 -2
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +138 -72
- package/dist/runtime/auth.js.map +1 -1
- package/dist/runtime/backend.d.ts +9 -1
- package/dist/runtime/backend.d.ts.map +1 -1
- package/dist/runtime/backend.js +36 -11
- 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 +507 -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 +138 -0
- package/dist/runtime/browser.d.ts.map +1 -0
- package/dist/runtime/browser.js +802 -0
- package/dist/runtime/browser.js.map +1 -0
- package/dist/runtime/channel-icon.d.ts.map +1 -1
- package/dist/runtime/channel-icon.js +18 -7
- package/dist/runtime/channel-icon.js.map +1 -1
- package/dist/runtime/channel.d.ts +5 -0
- package/dist/runtime/channel.d.ts.map +1 -1
- package/dist/runtime/channel.js.map +1 -1
- package/dist/runtime/graph-build-timing.d.ts +30 -0
- package/dist/runtime/graph-build-timing.d.ts.map +1 -0
- package/dist/runtime/graph-build-timing.js +50 -0
- package/dist/runtime/graph-build-timing.js.map +1 -0
- package/dist/runtime/http.d.ts +15 -0
- package/dist/runtime/http.d.ts.map +1 -1
- package/dist/runtime/http.js +37 -0
- package/dist/runtime/http.js.map +1 -1
- package/dist/runtime/identity-http.d.ts.map +1 -1
- package/dist/runtime/identity-http.js +19 -7
- package/dist/runtime/identity-http.js.map +1 -1
- package/dist/runtime/identity-runtime.d.ts +4 -9
- package/dist/runtime/identity-runtime.d.ts.map +1 -1
- package/dist/runtime/identity-runtime.js +12 -25
- 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 +104 -52
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/langsmith-env.d.ts +19 -0
- package/dist/runtime/langsmith-env.d.ts.map +1 -0
- package/dist/runtime/langsmith-env.js +38 -0
- package/dist/runtime/langsmith-env.js.map +1 -0
- package/dist/runtime/log.d.ts +8 -14
- package/dist/runtime/log.d.ts.map +1 -1
- package/dist/runtime/log.js +16 -7
- package/dist/runtime/log.js.map +1 -1
- package/dist/runtime/managed-middleware.d.ts.map +1 -1
- package/dist/runtime/managed-middleware.js +1 -14
- package/dist/runtime/managed-middleware.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 +18 -2
- package/dist/runtime/managed-tools.d.ts.map +1 -1
- package/dist/runtime/managed-tools.js +26 -22
- package/dist/runtime/managed-tools.js.map +1 -1
- package/dist/runtime/memory/mounts.d.ts +82 -11
- package/dist/runtime/memory/mounts.d.ts.map +1 -1
- package/dist/runtime/memory/mounts.js +173 -34
- package/dist/runtime/memory/mounts.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 +118 -7
- package/dist/runtime/run-input.js.map +1 -1
- package/dist/runtime/sandbox-manager.d.ts +31 -17
- package/dist/runtime/sandbox-manager.d.ts.map +1 -1
- package/dist/runtime/sandbox-manager.js +112 -70
- 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 +165 -7
- package/dist/runtime/schedule-auth.js.map +1 -1
- package/dist/runtime/selected-skills-backend.d.ts +3 -3
- package/dist/runtime/selected-skills-backend.d.ts.map +1 -1
- package/dist/runtime/selected-skills-backend.js +5 -5
- package/dist/runtime/selected-skills-backend.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 +85 -23
- 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/telemetry/lifecycle.d.ts +26 -0
- package/dist/telemetry/lifecycle.d.ts.map +1 -0
- package/dist/telemetry/lifecycle.js +49 -0
- package/dist/telemetry/lifecycle.js.map +1 -0
- package/dist/telemetry/metadata.d.ts.map +1 -1
- package/dist/telemetry/metadata.js +4 -4
- package/dist/telemetry/metadata.js.map +1 -1
- package/dist/telemetry/otel/context.d.ts +57 -0
- package/dist/telemetry/otel/context.d.ts.map +1 -0
- package/dist/telemetry/otel/context.js +122 -0
- package/dist/telemetry/otel/context.js.map +1 -0
- package/dist/telemetry/otel/exporter.d.ts +53 -0
- package/dist/telemetry/otel/exporter.d.ts.map +1 -0
- package/dist/telemetry/otel/exporter.js +190 -0
- package/dist/telemetry/otel/exporter.js.map +1 -0
- package/dist/telemetry/otel/index.d.ts +6 -0
- package/dist/telemetry/otel/index.d.ts.map +1 -0
- package/dist/telemetry/otel/index.js +3 -0
- package/dist/telemetry/otel/index.js.map +1 -0
- package/dist/telemetry/otel/otlp.d.ts +44 -0
- package/dist/telemetry/otel/otlp.d.ts.map +1 -0
- package/dist/telemetry/otel/otlp.js +7 -0
- package/dist/telemetry/otel/otlp.js.map +1 -0
- package/dist/telemetry/otel/truncate.d.ts +10 -0
- package/dist/telemetry/otel/truncate.d.ts.map +1 -0
- package/dist/telemetry/otel/truncate.js +39 -0
- package/dist/telemetry/otel/truncate.js.map +1 -0
- package/dist/telemetry/run-listener.d.ts +1 -1
- package/dist/telemetry/run-listener.d.ts.map +1 -1
- package/dist/telemetry/run-listener.js +32 -2
- package/dist/telemetry/run-listener.js.map +1 -1
- package/dist/telemetry/transport/posthog.d.ts +13 -1
- package/dist/telemetry/transport/posthog.d.ts.map +1 -1
- package/dist/telemetry/transport/posthog.js +68 -30
- package/dist/telemetry/transport/posthog.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 +26 -12
- package/dist/channels/http/forward.d.ts +0 -13
- package/dist/channels/http/forward.d.ts.map +0 -1
- package/dist/channels/http/forward.js +0 -128
- package/dist/channels/http/forward.js.map +0 -1
- package/dist/channels/http/reply.d.ts +0 -20
- package/dist/channels/http/reply.d.ts.map +0 -1
- package/dist/channels/http/reply.js +0 -116
- package/dist/channels/http/reply.js.map +0 -1
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { isDeepStrictEqual } from "node:util";
|
|
2
|
-
import { CompiledStateGraph, getConfig } from "@langchain/langgraph";
|
|
2
|
+
import { CompiledStateGraph, getConfig, isGraphBubbleUp, } from "@langchain/langgraph";
|
|
3
|
+
import { withRunTree } from "langsmith/traceable";
|
|
3
4
|
import { currentChannelBinding, resolveChannelBinding, } from "../channels/binding.js";
|
|
4
5
|
import { isManagedKey } from "../run-context.js";
|
|
6
|
+
import { resolveRunThread } from "./managed-thread.js";
|
|
7
|
+
import { launchingParent, leadThreadId, threadSource, } from "./parent-run.js";
|
|
8
|
+
import { deliverRunFailure, deliverRunResult, } from "../channels/delivery.js";
|
|
9
|
+
import { createLogContext, currentLogContext, runInLogContext, traceIdFromMetadata, } from "../telemetry/otel/index.js";
|
|
5
10
|
export function isRunExecution(config) {
|
|
6
11
|
return !!config && Object.hasOwn(config, "context");
|
|
7
12
|
}
|
|
@@ -70,8 +75,11 @@ export function executionContext(config) {
|
|
|
70
75
|
channelRun,
|
|
71
76
|
};
|
|
72
77
|
}
|
|
78
|
+
/** Graph property holding the lead thread a verified async subagent run shares. */
|
|
79
|
+
const LEAD_THREAD = Symbol("mda.leadThread");
|
|
73
80
|
/** Keep the adapter on native graph copies without binding an old instance. */
|
|
74
81
|
class ManagedCompiledGraph extends CompiledStateGraph {
|
|
82
|
+
[LEAD_THREAD];
|
|
75
83
|
async *_streamIterator(input, options) {
|
|
76
84
|
const ambient = getConfig();
|
|
77
85
|
const config = {
|
|
@@ -84,7 +92,19 @@ class ManagedCompiledGraph extends CompiledStateGraph {
|
|
|
84
92
|
...options?.configurable,
|
|
85
93
|
},
|
|
86
94
|
};
|
|
87
|
-
const
|
|
95
|
+
const routed = executionContext(config);
|
|
96
|
+
// A channel caller's async subagent run never answers, and reads its lead's
|
|
97
|
+
// thread record once its caller is verified to own it.
|
|
98
|
+
const subagent = routed.channelRun && !!leadThreadId(config);
|
|
99
|
+
const scope = {
|
|
100
|
+
...routed,
|
|
101
|
+
thread: resolveRunThread({
|
|
102
|
+
...threadSource(config, routed.channelRun ? this[LEAD_THREAD] : undefined),
|
|
103
|
+
binding: routed.binding,
|
|
104
|
+
}),
|
|
105
|
+
};
|
|
106
|
+
// Nest this run under the async subagent call that launched it.
|
|
107
|
+
const parent = launchingParent(config);
|
|
88
108
|
const managed = scope.routing !== undefined;
|
|
89
109
|
const execution = managed && this.config?.context !== undefined
|
|
90
110
|
? this.withConfig({})
|
|
@@ -92,16 +112,50 @@ class ManagedCompiledGraph extends CompiledStateGraph {
|
|
|
92
112
|
if (execution !== this)
|
|
93
113
|
execution.config = { ...execution.config, context: scope.context };
|
|
94
114
|
const iterator = super._streamIterator.call(execution, input, managed ? { ...options, context: scope.context } : options);
|
|
115
|
+
// One log context per run, under the trace id ingress handed over. A
|
|
116
|
+
// nested managed graph reuses its parent's context.
|
|
117
|
+
const parentLog = currentLogContext();
|
|
118
|
+
const log = parentLog ?? createLogContext(traceIdFromMetadata(config.metadata));
|
|
119
|
+
if (!parentLog) {
|
|
120
|
+
setRunLogAttributes(log, config);
|
|
121
|
+
}
|
|
122
|
+
// Each step runs bound to its channel, in the run's log context, and nested
|
|
123
|
+
// under the async subagent call that launched it, if any.
|
|
124
|
+
const within = (fn) => {
|
|
125
|
+
const step = () => currentChannelBinding.run(scope, () => runInLogContext(log, fn));
|
|
126
|
+
return parent ? withRunTree(parent, step) : step();
|
|
127
|
+
};
|
|
128
|
+
const topLevel = isTopLevelRun(config, this);
|
|
129
|
+
const delivered = {
|
|
130
|
+
runId: resolveRunId(config),
|
|
131
|
+
assistantId: assistantIdOf(config),
|
|
132
|
+
configurable: config.configurable,
|
|
133
|
+
metadata: config.metadata,
|
|
134
|
+
routing: scope.routing,
|
|
135
|
+
runThreadId: threadIdOf(config),
|
|
136
|
+
subagent,
|
|
137
|
+
};
|
|
95
138
|
try {
|
|
96
139
|
while (true) {
|
|
97
|
-
|
|
98
|
-
|
|
140
|
+
let item;
|
|
141
|
+
try {
|
|
142
|
+
item = await within(() => iterator.next());
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
if (topLevel && !isGraphBubbleUp(error) && !isCancellation(error))
|
|
146
|
+
await within(() => deliverRunFailure(scope.thread, delivered, error));
|
|
147
|
+
throw error;
|
|
148
|
+
}
|
|
149
|
+
if (item.done) {
|
|
150
|
+
if (topLevel)
|
|
151
|
+
await within(() => deliverRunResult(this, scope.thread, delivered));
|
|
99
152
|
return;
|
|
153
|
+
}
|
|
100
154
|
yield item.value;
|
|
101
155
|
}
|
|
102
156
|
}
|
|
103
157
|
finally {
|
|
104
|
-
await
|
|
158
|
+
await within(() => iterator.return(undefined));
|
|
105
159
|
}
|
|
106
160
|
}
|
|
107
161
|
async _validateContext(context) {
|
|
@@ -113,13 +167,70 @@ class ManagedCompiledGraph extends CompiledStateGraph {
|
|
|
113
167
|
: super._validateContext(context);
|
|
114
168
|
}
|
|
115
169
|
}
|
|
116
|
-
|
|
170
|
+
/** The run's own thread id. */
|
|
171
|
+
export function threadIdOf(config) {
|
|
172
|
+
const value = config?.configurable?.thread_id;
|
|
173
|
+
return typeof value === "string" && value.trim() ? value.trim() : undefined;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* The Agent Server run a config belongs to. The JS bridge passes it as the
|
|
177
|
+
* top-level `runId`; other hosts stamp `metadata.run_id` or
|
|
178
|
+
* `configurable.run_id`.
|
|
179
|
+
*/
|
|
180
|
+
export function resolveRunId(config) {
|
|
181
|
+
for (const value of [
|
|
182
|
+
config?.runId,
|
|
183
|
+
config?.metadata?.run_id,
|
|
184
|
+
config?.configurable?.run_id,
|
|
185
|
+
]) {
|
|
186
|
+
if (typeof value === "string" && value.trim())
|
|
187
|
+
return value.trim();
|
|
188
|
+
}
|
|
189
|
+
return undefined;
|
|
190
|
+
}
|
|
191
|
+
function assistantIdOf(config) {
|
|
192
|
+
for (const id of [
|
|
193
|
+
config.configurable?.assistant_id,
|
|
194
|
+
config.metadata?.assistant_id,
|
|
195
|
+
]) {
|
|
196
|
+
if (typeof id === "string" && id.trim())
|
|
197
|
+
return id.trim();
|
|
198
|
+
}
|
|
199
|
+
return undefined;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Whether a run ended because it was cancelled, which is no failure to report.
|
|
203
|
+
* Python never sees one: its cancellation is not an `Exception`. The check
|
|
204
|
+
* mirrors LangGraph's own in `pregel/retry.js`.
|
|
205
|
+
*/
|
|
206
|
+
function isCancellation(error) {
|
|
207
|
+
if (!(error instanceof Error))
|
|
208
|
+
return false;
|
|
209
|
+
return (error.name === "AbortError" ||
|
|
210
|
+
error.message.startsWith("Cancel") ||
|
|
211
|
+
error.message.startsWith("AbortError"));
|
|
212
|
+
}
|
|
213
|
+
/** The run's own graph with state to read, not a graph a node calls. */
|
|
214
|
+
function isTopLevelRun(config, graph) {
|
|
215
|
+
return !config.configurable?.checkpoint_ns && !!graph.checkpointer;
|
|
216
|
+
}
|
|
217
|
+
function setRunLogAttributes(log, config) {
|
|
218
|
+
for (const [key, value] of [
|
|
219
|
+
["run_id", config.metadata?.run_id],
|
|
220
|
+
["thread_id", config.configurable?.thread_id],
|
|
221
|
+
]) {
|
|
222
|
+
if (typeof value === "string" && value)
|
|
223
|
+
log.attributes[key] = value;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
export function adaptChannelExecution(agent, leadThread) {
|
|
117
227
|
if (!(agent.graph instanceof CompiledStateGraph))
|
|
118
228
|
return agent;
|
|
119
229
|
Object.setPrototypeOf(agent.graph, ManagedCompiledGraph.prototype);
|
|
230
|
+
agent.graph[LEAD_THREAD] = leadThread;
|
|
120
231
|
const configure = agent.withConfig;
|
|
121
232
|
agent.withConfig = function (config) {
|
|
122
|
-
return adaptChannelExecution(configure.call(this, config));
|
|
233
|
+
return adaptChannelExecution(configure.call(this, config), leadThread);
|
|
123
234
|
};
|
|
124
235
|
return agent;
|
|
125
236
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-input.js","sourceRoot":"","sources":["../../src/runtime/run-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"run-input.js","sourceRoot":"","sources":["../../src/runtime/run-input.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,12 +17,14 @@ export declare const SANDBOX_API_ENDPOINT_ENV = "MDA_SANDBOX_API_ENDPOINT";
|
|
|
17
17
|
* resolves `snapshotName` in the wrong workspace and 404s on the recipe.
|
|
18
18
|
*/
|
|
19
19
|
export declare const WORKSPACE_ID_ENV = "LANGSMITH_WORKSPACE_ID";
|
|
20
|
+
/** Run `fn` with sandbox scope keys resolving to `leadThread`'s sandbox, if set. */
|
|
21
|
+
export declare function withLeadSandbox<T>(leadThread: string | undefined, fn: () => T): T;
|
|
20
22
|
/** Optional runtime inputs that drive connector sandbox provisioning. */
|
|
21
23
|
export interface ResolveManagedSandboxOptions {
|
|
22
24
|
connectors?: Connector[];
|
|
23
25
|
identity?: IdentityDefinition;
|
|
24
|
-
/**
|
|
25
|
-
|
|
26
|
+
/** An explicit dynamic sandbox selection. */
|
|
27
|
+
selection?: SandboxSelection;
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
28
30
|
* Resolve (and cache) the per-thread LangSmith sandbox backend for this run.
|
|
@@ -34,10 +36,29 @@ export interface ResolveManagedSandboxOptions {
|
|
|
34
36
|
* messages in an already-synced thread (mode `"credentials"`).
|
|
35
37
|
*/
|
|
36
38
|
export declare function resolveManagedSandbox(sandbox: SandboxDefinition, config: ManagedRunConfig | undefined, options?: ResolveManagedSandboxOptions): Promise<SandboxBackendProtocolV2>;
|
|
39
|
+
/**
|
|
40
|
+
* The thread's sandbox if this process has opened it, by any caller; never
|
|
41
|
+
* opens one. A sandbox being recreated reads as unopened until its
|
|
42
|
+
* replacement is ready. Like resolving, it needs `configurable.thread_id`.
|
|
43
|
+
*/
|
|
44
|
+
export declare function openedManagedSandbox(config: ManagedRunConfig | undefined, selection?: SandboxSelection): SandboxBackendProtocolV2 | undefined;
|
|
37
45
|
export declare function isSandboxNotFoundError(error: unknown): boolean;
|
|
38
46
|
export declare function recoverManagedSandbox(sandbox: SandboxDefinition, config: ManagedRunConfig | undefined, failedBackend: SandboxBackendProtocolV2, options?: ResolveManagedSandboxOptions): Promise<SandboxBackendProtocolV2>;
|
|
39
|
-
/**
|
|
40
|
-
|
|
47
|
+
/**
|
|
48
|
+
* Derive the process-level reuse key for a thread and any dynamic selection's mounts.
|
|
49
|
+
*
|
|
50
|
+
* A dynamic selection's other options never change the key, so a live thread
|
|
51
|
+
* keeps its box when they change. An async subagent sharing its lead's sandbox
|
|
52
|
+
* uses the lead's thread, so both resolve, sync, and name the same sandbox.
|
|
53
|
+
*/
|
|
54
|
+
export declare function sandboxScopeKey(config: ManagedRunConfig | undefined, selection?: SandboxSelection): string;
|
|
55
|
+
/** Digests of a dynamic sandbox selection's identity options and of its mounts alone. */
|
|
56
|
+
export interface SandboxSelection {
|
|
57
|
+
fingerprint: string;
|
|
58
|
+
mountsFingerprint?: string;
|
|
59
|
+
}
|
|
60
|
+
/** Fingerprint a dynamic selection: its options for create, its mounts for the box key. */
|
|
61
|
+
export declare function sandboxSelection(sandbox: SandboxDefinition): SandboxSelection;
|
|
41
62
|
/**
|
|
42
63
|
* Stable, non-plaintext identity for an explicit dynamic sandbox selection.
|
|
43
64
|
*
|
|
@@ -47,14 +68,6 @@ export declare function sandboxScopeKey(config: ManagedRunConfig | undefined, se
|
|
|
47
68
|
* are rejected.
|
|
48
69
|
*/
|
|
49
70
|
export declare function sandboxSelectionFingerprint(sandbox: SandboxDefinition): string;
|
|
50
|
-
/**
|
|
51
|
-
* Reconstruct the 0.9.0 selection fingerprint, which hashed every option.
|
|
52
|
-
*
|
|
53
|
-
* Used only to reconnect a live 0.9.0 box — new boxes are created under
|
|
54
|
-
* {@link sandboxSelectionFingerprint}. Remove in 0.10 once 0.9.0 sandboxes have
|
|
55
|
-
* idled out.
|
|
56
|
-
*/
|
|
57
|
-
export declare function legacySandboxSelectionFingerprint(sandbox: SandboxDefinition): string;
|
|
58
71
|
/** Clear the process-level sandbox cache. @internal Test-only. */
|
|
59
72
|
export declare function clearManagedSandboxCacheForTests(): void;
|
|
60
73
|
/** Options that pin invalidation to the sandbox that actually failed. */
|
|
@@ -63,8 +76,8 @@ export interface InvalidateManagedSandboxOptions {
|
|
|
63
76
|
expectedBackendId?: string;
|
|
64
77
|
/** Host box name captured before the failing operation. */
|
|
65
78
|
expectedHostName?: string;
|
|
66
|
-
/**
|
|
67
|
-
|
|
79
|
+
/** The explicit dynamic selection being invalidated. */
|
|
80
|
+
selection?: SandboxSelection;
|
|
68
81
|
}
|
|
69
82
|
/**
|
|
70
83
|
* Drop a cached sandbox and delete its Host box so recreate cannot adopt it.
|
|
@@ -88,8 +101,9 @@ export declare function isTransientSandboxError(error: unknown): boolean;
|
|
|
88
101
|
* `mda delete` can find them again.
|
|
89
102
|
*
|
|
90
103
|
* `MDA_DEPLOYMENT_NAME` is injected by `mda deploy`; `LANGSMITH_DEPLOYMENT_NAME`
|
|
91
|
-
* is the platform's own value and is preferred when present.
|
|
92
|
-
*
|
|
104
|
+
* is the platform's own value and is preferred when present. Under `mda dev`
|
|
105
|
+
* sandboxes fall back to {@link localDevDeploymentName}, but a given `env`
|
|
106
|
+
* never does.
|
|
93
107
|
*/
|
|
94
108
|
export declare function managedDeploymentName(env?: NodeJS.ProcessEnv): string | undefined;
|
|
95
109
|
/**
|
|
@@ -130,7 +144,7 @@ export interface SandboxCreateRequest {
|
|
|
130
144
|
options: CreateSandboxOptions;
|
|
131
145
|
}
|
|
132
146
|
/** Options for `createSandbox`. */
|
|
133
|
-
export declare function sandboxCreateOptions(sandbox: SandboxDefinition,
|
|
147
|
+
export declare function sandboxCreateOptions(sandbox: SandboxDefinition, selection?: SandboxSelection): SandboxCreateRequest;
|
|
134
148
|
/**
|
|
135
149
|
* Constructor options for the LangSmith sandbox client.
|
|
136
150
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-manager.d.ts","sourceRoot":"","sources":["../../src/runtime/sandbox-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sandbox-manager.d.ts","sourceRoot":"","sources":["../../src/runtime/sandbox-manager.ts"],"names":[],"mappings":"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"}
|