managed-deepagents 0.10.0-dev.9 → 0.10.1-dev.1
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 +864 -143
- 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 +38 -46
- 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 +50 -26
- 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 +209 -89
- 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 -23
- 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 +38 -15
- package/dist/channels/http/provider.d.ts.map +1 -1
- package/dist/channels/http/provider.js +54 -24
- package/dist/channels/http/provider.js.map +1 -1
- package/dist/channels/http/studio.d.ts +8 -1
- package/dist/channels/http/studio.d.ts.map +1 -1
- package/dist/channels/http/studio.js +13 -0
- package/dist/channels/http/studio.js.map +1 -1
- package/dist/channels/http/types.d.ts +95 -69
- 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 +65 -94
- 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 +37 -31
- 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
package/dist/types.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import type { AnySubAgent, CreateDeepAgentParams, DeepAgentTypeConfig, InferDeepAgentType, InferStructuredResponse, SupportedResponseFormat, createDeepAgent } from "deepagents";
|
|
1
|
+
import type { AnySubAgent, AsyncSubAgent, CreateDeepAgentParams, DeepAgentTypeConfig, InferDeepAgentType, InferStructuredResponse, SupportedResponseFormat, createDeepAgent, SubAgent } from "deepagents";
|
|
2
2
|
import type { ClientTool, ServerTool } from "@langchain/core/tools";
|
|
3
3
|
import type { RunnableConfig } from "@langchain/core/runnables";
|
|
4
4
|
import type { InteropZodObject } from "@langchain/core/utils/types";
|
|
5
5
|
import type { AnyStateSchema } from "@langchain/langgraph";
|
|
6
6
|
import type { AgentMiddleware, ResponseFormatUndefined } from "langchain";
|
|
7
|
+
import type { BrowserDefinition } from "./browser.js";
|
|
7
8
|
import type { McpServersDefinition } from "./connectors/mcp/types.js";
|
|
8
9
|
import type { SandboxDefinition } from "./sandbox.js";
|
|
9
10
|
import type { MemoryDefinition } from "./memory/index.js";
|
|
@@ -35,6 +36,11 @@ export interface ManagedCompositionFields {
|
|
|
35
36
|
skills?: SkillSelection | null;
|
|
36
37
|
/** Selects durable-memory layers; `null` disables memory. */
|
|
37
38
|
memory?: MemoryDefinition | null;
|
|
39
|
+
/**
|
|
40
|
+
* Replaces `browser.ts`'s browser; `null` turns it off for this run.
|
|
41
|
+
* Selecting one needs `browser.ts`, which installs Stagehand.
|
|
42
|
+
*/
|
|
43
|
+
browser?: BrowserDefinition | null;
|
|
38
44
|
}
|
|
39
45
|
/**
|
|
40
46
|
* The `createDeepAgent` parameters the managed runtime compiles, widened past
|
|
@@ -43,6 +49,15 @@ export interface ManagedCompositionFields {
|
|
|
43
49
|
* tuples).
|
|
44
50
|
*/
|
|
45
51
|
export type ManagedDeepAgentParams = CreateDeepAgentParams<SupportedResponseFormat, InteropZodObject, readonly AgentMiddleware[], readonly AnySubAgent[], readonly (ClientTool | ServerTool)[], readonly [], AnyStateSchema | InteropZodObject | undefined>;
|
|
52
|
+
/**
|
|
53
|
+
* A declarative subagent that MDA builds as its own graph and the agent runs in
|
|
54
|
+
* the background, on the same deployment.
|
|
55
|
+
*
|
|
56
|
+
* `skills` are skill source paths the subagent loads. `mode` comes from `SubAgent`.
|
|
57
|
+
*/
|
|
58
|
+
export interface ManagedAsyncSubAgent extends SubAgent, Partial<Pick<AsyncSubAgent, "webhook" | "notifyParent" | "updateStrategy">> {
|
|
59
|
+
async: true;
|
|
60
|
+
}
|
|
46
61
|
/**
|
|
47
62
|
* Configuration accepted by {@link defineDeepAgent}.
|
|
48
63
|
*
|
|
@@ -51,7 +66,9 @@ export type ManagedDeepAgentParams = CreateDeepAgentParams<SupportedResponseForm
|
|
|
51
66
|
* exported definitions cannot set those fields. Backend, store, checkpointer,
|
|
52
67
|
* memory, and native system prompt remain unavailable to authors.
|
|
53
68
|
*/
|
|
54
|
-
export type DefineDeepAgentConfig = Omit<ManagedDeepAgentParams, ManagedDeepAgentKey> & ManagedCompositionFields & {
|
|
69
|
+
export type DefineDeepAgentConfig = Omit<ManagedDeepAgentParams, ManagedDeepAgentKey | "subagents"> & ManagedCompositionFields & {
|
|
70
|
+
/** Subagents; mark one `async: true` to run it in the background as its own graph. */
|
|
71
|
+
subagents?: readonly (AnySubAgent | ManagedAsyncSubAgent)[];
|
|
55
72
|
/**
|
|
56
73
|
* Required agent name. MDA uses it as the LangGraph graph id and default
|
|
57
74
|
* deployment name. Factory entrypoints must set it with an inline string
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAyOA,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/values.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Checks for values of unknown shape, such as a provider's JSON or run config. */
|
|
2
|
+
/** Whether a value is an object and not an array, as a JSON object is. */
|
|
3
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
4
|
+
/**
|
|
5
|
+
* Whether a value is a plain object, one an object literal or `JSON.parse`
|
|
6
|
+
* makes, rather than an instance of a class, such as a `Date` or a `Map`.
|
|
7
|
+
*/
|
|
8
|
+
export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
|
|
9
|
+
/** A value that is a string with more than whitespace in it, as it is; otherwise `undefined`. */
|
|
10
|
+
export declare function nonblankString(value: unknown): string | undefined;
|
|
11
|
+
/** A required string without its leading and trailing whitespace; blank throws, naming `label`. */
|
|
12
|
+
export declare function requireNonblank(value: string, label: string): string;
|
|
13
|
+
/** {@link nonblankString}, without its leading and trailing whitespace. */
|
|
14
|
+
export declare function trimmedString(value: unknown): string | undefined;
|
|
15
|
+
//# sourceMappingURL=values.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../src/values.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,0EAA0E;AAC1E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIlC;AAED,iGAAiG;AACjG,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAEjE;AAED,mGAAmG;AACnG,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIpE;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAEhE"}
|
package/dist/values.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** Checks for values of unknown shape, such as a provider's JSON or run config. */
|
|
2
|
+
/** Whether a value is an object and not an array, as a JSON object is. */
|
|
3
|
+
export function isRecord(value) {
|
|
4
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Whether a value is a plain object, one an object literal or `JSON.parse`
|
|
8
|
+
* makes, rather than an instance of a class, such as a `Date` or a `Map`.
|
|
9
|
+
*/
|
|
10
|
+
export function isPlainObject(value) {
|
|
11
|
+
if (!isRecord(value))
|
|
12
|
+
return false;
|
|
13
|
+
const prototype = Object.getPrototypeOf(value);
|
|
14
|
+
return prototype === Object.prototype || prototype === null;
|
|
15
|
+
}
|
|
16
|
+
/** A value that is a string with more than whitespace in it, as it is; otherwise `undefined`. */
|
|
17
|
+
export function nonblankString(value) {
|
|
18
|
+
return typeof value === "string" && value.trim() ? value : undefined;
|
|
19
|
+
}
|
|
20
|
+
/** A required string without its leading and trailing whitespace; blank throws, naming `label`. */
|
|
21
|
+
export function requireNonblank(value, label) {
|
|
22
|
+
const trimmed = value.trim();
|
|
23
|
+
if (!trimmed)
|
|
24
|
+
throw new Error(`${label} must be a non-empty string`);
|
|
25
|
+
return trimmed;
|
|
26
|
+
}
|
|
27
|
+
/** {@link nonblankString}, without its leading and trailing whitespace. */
|
|
28
|
+
export function trimmedString(value) {
|
|
29
|
+
return nonblankString(value)?.trim();
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=values.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"values.js","sourceRoot":"","sources":["../src/values.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,0EAA0E;AAC1E,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAc;IAEd,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC;AAC9D,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,KAAa;IAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;IACrE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "managed-deepagents",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.1-dev.1",
|
|
4
4
|
"description": "Managed Deep Agents — the `defineDeepAgent` authoring interface plus the CLI that compiles and deploys a code-first Deep Agent repository to a managed LangGraph runtime.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"langchain",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
],
|
|
39
39
|
"scripts": {
|
|
40
40
|
"build": "node scripts/build.mjs",
|
|
41
|
-
"compile": "tsc -p tsconfig.json",
|
|
41
|
+
"compile": "tsc -p tsconfig.json && node scripts/copy-recorder.mjs",
|
|
42
42
|
"clean": "rm -rf dist",
|
|
43
43
|
"format": "oxfmt --config ../../.oxfmtrc.jsonc --write src",
|
|
44
44
|
"format:check": "oxfmt --config ../../.oxfmtrc.jsonc --check src",
|
|
@@ -52,31 +52,45 @@
|
|
|
52
52
|
"node": ">=22"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@langchain/core": "
|
|
55
|
+
"@langchain/core": "1.2.17",
|
|
56
56
|
"@langchain/langgraph": "^1.4.18",
|
|
57
57
|
"@langchain/langgraph-sdk": "^1.12.2",
|
|
58
58
|
"@langchain/mcp-adapters": "^2.0.1",
|
|
59
59
|
"@standard-schema/spec": "^1.1.0",
|
|
60
|
-
"deepagents": "^1.
|
|
60
|
+
"deepagents": "^1.16.0",
|
|
61
61
|
"hono": "^4.13.7",
|
|
62
62
|
"jose": "^6.2.12",
|
|
63
|
-
"langchain": "
|
|
63
|
+
"langchain": "1.5.16",
|
|
64
64
|
"langsmith": "^0.10.2",
|
|
65
65
|
"uuid": "^14.0.2",
|
|
66
66
|
"zod": "^4.6.2"
|
|
67
67
|
},
|
|
68
68
|
"optionalDependencies": {
|
|
69
|
-
"@langchain/managed-deepagents-darwin-arm64": "0.10.
|
|
70
|
-
"@langchain/managed-deepagents-darwin-x64": "0.10.
|
|
71
|
-
"@langchain/managed-deepagents-linux-arm64": "0.10.
|
|
72
|
-
"@langchain/managed-deepagents-linux-x64": "0.10.
|
|
73
|
-
"@langchain/managed-deepagents-win32-arm64": "0.10.
|
|
74
|
-
"@langchain/managed-deepagents-win32-x64": "0.10.
|
|
69
|
+
"@langchain/managed-deepagents-darwin-arm64": "0.10.1-dev.1",
|
|
70
|
+
"@langchain/managed-deepagents-darwin-x64": "0.10.1-dev.1",
|
|
71
|
+
"@langchain/managed-deepagents-linux-arm64": "0.10.1-dev.1",
|
|
72
|
+
"@langchain/managed-deepagents-linux-x64": "0.10.1-dev.1",
|
|
73
|
+
"@langchain/managed-deepagents-win32-arm64": "0.10.1-dev.1",
|
|
74
|
+
"@langchain/managed-deepagents-win32-x64": "0.10.1-dev.1"
|
|
75
|
+
},
|
|
76
|
+
"peerDependencies": {
|
|
77
|
+
"@browserbasehq/stagehand": "4.3.0",
|
|
78
|
+
"stagehand-middleware": "0.1.1"
|
|
79
|
+
},
|
|
80
|
+
"peerDependenciesMeta": {
|
|
81
|
+
"@browserbasehq/stagehand": {
|
|
82
|
+
"optional": true
|
|
83
|
+
},
|
|
84
|
+
"stagehand-middleware": {
|
|
85
|
+
"optional": true
|
|
86
|
+
}
|
|
75
87
|
},
|
|
76
88
|
"devDependencies": {
|
|
89
|
+
"@browserbasehq/stagehand": "4.3.0",
|
|
77
90
|
"@types/node": "^26.5.1",
|
|
78
|
-
"oxfmt": "^0.
|
|
91
|
+
"oxfmt": "^0.74.0",
|
|
79
92
|
"oxlint": "^1.82.0",
|
|
93
|
+
"stagehand-middleware": "0.1.1",
|
|
80
94
|
"typescript": "^7.0.2",
|
|
81
95
|
"vitest": "^5.0.0"
|
|
82
96
|
},
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Forwarding: an HTTP channel's adapter may send each verified delivery on to
|
|
3
|
-
* other services, as the provider sent it, besides acting on it here.
|
|
4
|
-
*/
|
|
5
|
-
import type { ChannelEventsContext } from "../../runtime/channel.js";
|
|
6
|
-
import type { HttpChannelAdapter, HttpChannelParseResult } from "./types.js";
|
|
7
|
-
/**
|
|
8
|
-
* Forward a verified delivery as the adapter's `forward` asks, in the
|
|
9
|
-
* background: the provider gets its answer without waiting, and a failure is
|
|
10
|
-
* logged, never raised.
|
|
11
|
-
*/
|
|
12
|
-
export declare function scheduleForwards(ctx: ChannelEventsContext, adapter: HttpChannelAdapter, rawBody: Uint8Array, result: HttpChannelParseResult): void;
|
|
13
|
-
//# sourceMappingURL=forward.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"forward.d.ts","sourceRoot":"","sources":["../../../src/channels/http/forward.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGrE,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EAGvB,MAAM,YAAY,CAAC;AAgHpB;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,oBAAoB,EACzB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,sBAAsB,GAC7B,IAAI,CA2BN"}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import { scheduleIngressWork } from "../../ingress/index.js";
|
|
2
|
-
import { logger } from "../../runtime/log.js";
|
|
3
|
-
/** How long one forwarded request may take. */
|
|
4
|
-
const FORWARD_TIMEOUT_MS = 10_000;
|
|
5
|
-
/** The most requests one delivery is forwarded as. */
|
|
6
|
-
const MAX_FORWARDS = 10;
|
|
7
|
-
/**
|
|
8
|
-
* Headers the platform in front of the deployment adds, or that describe the
|
|
9
|
-
* connection rather than the delivery. The provider's own headers, such as its
|
|
10
|
-
* signature and delivery ID, are kept, so the receiver can verify it.
|
|
11
|
-
*/
|
|
12
|
-
const DROPPED_HEADERS = new Set([
|
|
13
|
-
"authorization",
|
|
14
|
-
"connection",
|
|
15
|
-
"content-length",
|
|
16
|
-
"cookie",
|
|
17
|
-
"forwarded",
|
|
18
|
-
"host",
|
|
19
|
-
"keep-alive",
|
|
20
|
-
"proxy-authorization",
|
|
21
|
-
"te",
|
|
22
|
-
"trailer",
|
|
23
|
-
"transfer-encoding",
|
|
24
|
-
"upgrade",
|
|
25
|
-
"x-api-key",
|
|
26
|
-
"x-auth-scheme",
|
|
27
|
-
"x-real-ip",
|
|
28
|
-
"x-request-id",
|
|
29
|
-
]);
|
|
30
|
-
const DROPPED_HEADER_PREFIXES = ["x-forwarded-", "x-mda-", "x-langsmith-"];
|
|
31
|
-
function forwardedHeaders(headers) {
|
|
32
|
-
const kept = new Headers();
|
|
33
|
-
headers.forEach((value, name) => {
|
|
34
|
-
const key = name.toLowerCase();
|
|
35
|
-
if (DROPPED_HEADERS.has(key))
|
|
36
|
-
return;
|
|
37
|
-
if (DROPPED_HEADER_PREFIXES.some((prefix) => key.startsWith(prefix)))
|
|
38
|
-
return;
|
|
39
|
-
kept.append(name, value);
|
|
40
|
-
});
|
|
41
|
-
return kept;
|
|
42
|
-
}
|
|
43
|
-
/** What the adapter's `forward` learns about the delivery. */
|
|
44
|
-
function forwardContext(result) {
|
|
45
|
-
return {
|
|
46
|
-
result: result.type,
|
|
47
|
-
...("rawEvent" in result &&
|
|
48
|
-
result.rawEvent !== undefined && { rawEvent: result.rawEvent }),
|
|
49
|
-
...(result.type !== "ignore" && {
|
|
50
|
-
threadId: result.message.threadId.toLowerCase(),
|
|
51
|
-
}),
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
/** The requests `forward` returned, checked; anything else is logged. */
|
|
55
|
-
function forwardRequests(value) {
|
|
56
|
-
const requests = (Array.isArray(value) ? value : [value]).filter((request) => request !== null && request !== undefined);
|
|
57
|
-
if (requests.length > MAX_FORWARDS) {
|
|
58
|
-
logger.error(`channel forward returned more than ${MAX_FORWARDS} requests; sending the first ${MAX_FORWARDS}`);
|
|
59
|
-
}
|
|
60
|
-
return requests.slice(0, MAX_FORWARDS).filter((request) => {
|
|
61
|
-
if (!(request instanceof Request)) {
|
|
62
|
-
logger.error("channel forward returned something other than a Request");
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
let url;
|
|
66
|
-
try {
|
|
67
|
-
url = new URL(request.url);
|
|
68
|
-
}
|
|
69
|
-
catch {
|
|
70
|
-
logger.error("channel forward returned a request without a valid URL");
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
if ((url.protocol !== "https:" && url.protocol !== "http:") ||
|
|
74
|
-
url.username ||
|
|
75
|
-
url.password) {
|
|
76
|
-
logger.error("channel forward URLs must be http(s), without credentials in them");
|
|
77
|
-
return false;
|
|
78
|
-
}
|
|
79
|
-
return true;
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
async function send(request) {
|
|
83
|
-
const host = logger.logIdentifier(new URL(request.url).host);
|
|
84
|
-
try {
|
|
85
|
-
const response = await fetch(request, {
|
|
86
|
-
redirect: "manual",
|
|
87
|
-
signal: AbortSignal.timeout(FORWARD_TIMEOUT_MS),
|
|
88
|
-
});
|
|
89
|
-
// Only the status matters; the body is never read.
|
|
90
|
-
await response.body?.cancel();
|
|
91
|
-
if (!response.ok)
|
|
92
|
-
logger.warn(`channel forward to ${host} answered HTTP ${response.status}`);
|
|
93
|
-
}
|
|
94
|
-
catch (error) {
|
|
95
|
-
logger.error(`channel forward to ${host} failed (${logger.safeErrorLabel(error)})`);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Forward a verified delivery as the adapter's `forward` asks, in the
|
|
100
|
-
* background: the provider gets its answer without waiting, and a failure is
|
|
101
|
-
* logged, never raised.
|
|
102
|
-
*/
|
|
103
|
-
export function scheduleForwards(ctx, adapter, rawBody, result) {
|
|
104
|
-
const forward = adapter.forward?.bind(adapter);
|
|
105
|
-
if (!forward)
|
|
106
|
-
return;
|
|
107
|
-
const headers = forwardedHeaders(ctx.request.headers);
|
|
108
|
-
const body = new Uint8Array(rawBody);
|
|
109
|
-
const context = forwardContext(result);
|
|
110
|
-
scheduleIngressWork(async () => {
|
|
111
|
-
const method = ctx.request.method;
|
|
112
|
-
const delivery = new Request(ctx.request.url, {
|
|
113
|
-
method,
|
|
114
|
-
headers,
|
|
115
|
-
...(method !== "GET" && method !== "HEAD" && { body }),
|
|
116
|
-
});
|
|
117
|
-
let requests;
|
|
118
|
-
try {
|
|
119
|
-
requests = forwardRequests(await forward(delivery, context));
|
|
120
|
-
}
|
|
121
|
-
catch (error) {
|
|
122
|
-
logger.error(`channel forward failed (${logger.safeErrorLabel(error)})`);
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
await Promise.all(requests.map(send));
|
|
126
|
-
}, { label: `channel "${ctx.name}" forward` });
|
|
127
|
-
}
|
|
128
|
-
//# sourceMappingURL=forward.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"forward.js","sourceRoot":"","sources":["../../../src/channels/http/forward.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import type { JsonValue } from "../types.js";
|
|
3
|
-
/**
|
|
4
|
-
* Where the thread's latest channel delivery came from, kept in its state.
|
|
5
|
-
* Private (the leading `_`), so it's never part of a run's input or output.
|
|
6
|
-
*/
|
|
7
|
-
export declare const CHANNEL_REPLY_STATE_KEY = "_mda_channel_reply";
|
|
8
|
-
/**
|
|
9
|
-
* Remember a channel delivery's target in the thread's state, and post the
|
|
10
|
-
* answer to it when the agent finishes. A run that stops on `interrupt()` or
|
|
11
|
-
* is cancelled doesn't finish, so it posts nothing; the run that resumes it
|
|
12
|
-
* carries no delivery, so it answers the remembered target.
|
|
13
|
-
*/
|
|
14
|
-
export declare function createChannelReplyMiddleware(): import("langchain").AgentMiddleware<z.ZodObject<{
|
|
15
|
-
_mda_channel_reply: z.ZodOptional<z.ZodObject<{
|
|
16
|
-
name: z.ZodString;
|
|
17
|
-
target: z.ZodCustom<JsonValue, JsonValue>;
|
|
18
|
-
}, z.core.$strip>>;
|
|
19
|
-
}, z.core.$strip>, undefined, unknown, readonly (import("@langchain/core/tools").ServerTool | import("@langchain/core/tools").ClientTool)[], readonly []>;
|
|
20
|
-
//# sourceMappingURL=reply.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reply.d.ts","sourceRoot":"","sources":["../../../src/channels/http/reply.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS7C;;;GAGG;AACH,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAqD5D;;;;;GAKG;AACH,wBAAgB,4BAA4B;;;;;0JAyC3C"}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* An HTTP channel run posts its own answer.
|
|
3
|
-
*
|
|
4
|
-
* The run does it, not the process that received the delivery, so a restart
|
|
5
|
-
* of that process doesn't lose the answer, and a run LangSmith Studio resumes
|
|
6
|
-
* after a decision answers the conversation the paused run came from.
|
|
7
|
-
*/
|
|
8
|
-
import { getConfig } from "@langchain/langgraph";
|
|
9
|
-
import { createMiddleware } from "langchain";
|
|
10
|
-
import { z } from "zod";
|
|
11
|
-
import { extractAssistantContent } from "../assistant-text.js";
|
|
12
|
-
import { resolveChannelBinding } from "../binding.js";
|
|
13
|
-
import { isJsonValue } from "../message-schema.js";
|
|
14
|
-
import { messagingTransportForName } from "../messaging-registry.js";
|
|
15
|
-
import { isTrustedScheduleDeliveryRun } from "../schedule-delivery.js";
|
|
16
|
-
import { CHANNEL_THREAD_METADATA, configurableFromRuntime, resolveAmbientConfigurable, } from "../../runtime/identity-runtime.js";
|
|
17
|
-
import { logger } from "../../runtime/log.js";
|
|
18
|
-
/**
|
|
19
|
-
* Where the thread's latest channel delivery came from, kept in its state.
|
|
20
|
-
* Private (the leading `_`), so it's never part of a run's input or output.
|
|
21
|
-
*/
|
|
22
|
-
export const CHANNEL_REPLY_STATE_KEY = "_mda_channel_reply";
|
|
23
|
-
const replyTargetSchema = z.object({
|
|
24
|
-
name: z.string().min(1),
|
|
25
|
-
target: z.custom((value) => isJsonValue(value)),
|
|
26
|
-
});
|
|
27
|
-
/**
|
|
28
|
-
* The run's verified HTTP channel delivery: one the channel's ingress started
|
|
29
|
-
* for that conversation (the binding matches the run's authenticated source),
|
|
30
|
-
* never one a caller put in the run's context.
|
|
31
|
-
*/
|
|
32
|
-
function deliveredTarget(runtime) {
|
|
33
|
-
const configurable = configurableFromRuntime(runtime) ??
|
|
34
|
-
resolveAmbientConfigurable();
|
|
35
|
-
const binding = resolveChannelBinding(undefined, configurable);
|
|
36
|
-
// Only HTTP channels deliver directly; others answer on their own.
|
|
37
|
-
if (!binding || binding.transport !== "direct")
|
|
38
|
-
return undefined;
|
|
39
|
-
return { name: binding.name, target: binding.target };
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Whether the run is on a channel's thread. Only managed ingress marks one;
|
|
43
|
-
* the runtime's auth strips the marker from every other thread and run, so a
|
|
44
|
-
* caller can't point its own thread's stored target at someone else's
|
|
45
|
-
* conversation. Channel threads take runs only from their channel and resumes
|
|
46
|
-
* from LangSmith Studio.
|
|
47
|
-
*/
|
|
48
|
-
function onChannelThread() {
|
|
49
|
-
try {
|
|
50
|
-
const metadata = getConfig().metadata;
|
|
51
|
-
return metadata?.[CHANNEL_THREAD_METADATA] === "true";
|
|
52
|
-
}
|
|
53
|
-
catch {
|
|
54
|
-
// Outside a runnable context.
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
function storedTarget(state) {
|
|
59
|
-
if (!onChannelThread())
|
|
60
|
-
return undefined;
|
|
61
|
-
const value = state && typeof state === "object" && !Array.isArray(state)
|
|
62
|
-
? state[CHANNEL_REPLY_STATE_KEY]
|
|
63
|
-
: undefined;
|
|
64
|
-
const parsed = replyTargetSchema.safeParse(value);
|
|
65
|
-
return parsed.success ? parsed.data : undefined;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Remember a channel delivery's target in the thread's state, and post the
|
|
69
|
-
* answer to it when the agent finishes. A run that stops on `interrupt()` or
|
|
70
|
-
* is cancelled doesn't finish, so it posts nothing; the run that resumes it
|
|
71
|
-
* carries no delivery, so it answers the remembered target.
|
|
72
|
-
*/
|
|
73
|
-
export function createChannelReplyMiddleware() {
|
|
74
|
-
return createMiddleware({
|
|
75
|
-
name: "mda-channel-reply",
|
|
76
|
-
stateSchema: z.object({
|
|
77
|
-
[CHANNEL_REPLY_STATE_KEY]: replyTargetSchema.optional(),
|
|
78
|
-
}),
|
|
79
|
-
beforeAgent(_state, runtime) {
|
|
80
|
-
const delivered = deliveredTarget(runtime);
|
|
81
|
-
return delivered ? { [CHANNEL_REPLY_STATE_KEY]: delivered } : undefined;
|
|
82
|
-
},
|
|
83
|
-
async afterAgent(state, runtime) {
|
|
84
|
-
const configurable = configurableFromRuntime(runtime) ??
|
|
85
|
-
resolveAmbientConfigurable();
|
|
86
|
-
// Scheduled runs post through schedule delivery.
|
|
87
|
-
if (isTrustedScheduleDeliveryRun(configurable))
|
|
88
|
-
return undefined;
|
|
89
|
-
const reply = deliveredTarget(runtime) ?? storedTarget(state);
|
|
90
|
-
if (!reply)
|
|
91
|
-
return undefined;
|
|
92
|
-
const content = extractAssistantContent({
|
|
93
|
-
messages: state.messages,
|
|
94
|
-
});
|
|
95
|
-
if (content === null)
|
|
96
|
-
return undefined;
|
|
97
|
-
const transport = messagingTransportForName(reply.name);
|
|
98
|
-
if (!transport) {
|
|
99
|
-
logger.warn(`channel reply skipped: no channel ${JSON.stringify(logger.logIdentifier(reply.name))}`);
|
|
100
|
-
return undefined;
|
|
101
|
-
}
|
|
102
|
-
try {
|
|
103
|
-
await transport.post({
|
|
104
|
-
message: { type: "content", content },
|
|
105
|
-
target: reply.target,
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
catch (error) {
|
|
109
|
-
// The answer stays in the thread; the run itself succeeded.
|
|
110
|
-
logger.error(`channel reply failed (${logger.safeErrorLabel(error)})`);
|
|
111
|
-
}
|
|
112
|
-
return undefined;
|
|
113
|
-
},
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
//# sourceMappingURL=reply.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reply.js","sourceRoot":"","sources":["../../../src/channels/http/reply.ts"],"names":[],"mappings":"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"}
|