managed-deepagents 0.9.6-dev.15 → 0.9.6-dev.17
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 +57 -953
- package/dist/agent-auth.d.ts +1 -1
- package/dist/agent-auth.d.ts.map +1 -1
- package/dist/agent-auth.js +12 -36
- package/dist/agent-auth.js.map +1 -1
- package/dist/channels/assistant-text.d.ts +0 -24
- package/dist/channels/assistant-text.d.ts.map +1 -1
- package/dist/channels/assistant-text.js +1 -65
- package/dist/channels/assistant-text.js.map +1 -1
- package/dist/channels/binding.d.ts +1 -20
- package/dist/channels/binding.d.ts.map +1 -1
- package/dist/channels/binding.js +10 -39
- package/dist/channels/binding.js.map +1 -1
- package/dist/channels/http/http.d.ts.map +1 -1
- package/dist/channels/http/http.js +65 -386
- package/dist/channels/http/http.js.map +1 -1
- package/dist/channels/http/index.d.ts +1 -2
- package/dist/channels/http/index.d.ts.map +1 -1
- package/dist/channels/http/index.js +10 -14
- package/dist/channels/http/index.js.map +1 -1
- package/dist/channels/http/ingress.d.ts +5 -65
- package/dist/channels/http/ingress.d.ts.map +1 -1
- package/dist/channels/http/ingress.js +33 -149
- package/dist/channels/http/ingress.js.map +1 -1
- package/dist/channels/http/types.d.ts +2 -143
- package/dist/channels/http/types.d.ts.map +1 -1
- package/dist/channels/message-schema.d.ts +0 -2
- package/dist/channels/message-schema.d.ts.map +1 -1
- package/dist/channels/message-schema.js +0 -4
- package/dist/channels/message-schema.js.map +1 -1
- package/dist/channels/messaging-registry.d.ts +0 -16
- package/dist/channels/messaging-registry.d.ts.map +1 -1
- package/dist/channels/messaging-registry.js +0 -29
- package/dist/channels/messaging-registry.js.map +1 -1
- package/dist/channels/runtime.d.ts +1 -1
- package/dist/channels/runtime.d.ts.map +1 -1
- package/dist/channels/runtime.js +1 -1
- package/dist/channels/runtime.js.map +1 -1
- package/dist/channels/schedule-delivery.d.ts +1 -1
- package/dist/channels/schedule-delivery.d.ts.map +1 -1
- package/dist/channels/schedule-delivery.js +23 -12
- package/dist/channels/schedule-delivery.js.map +1 -1
- package/dist/channels/slack/api.d.ts +0 -2
- package/dist/channels/slack/api.d.ts.map +1 -1
- package/dist/channels/slack/api.js +0 -6
- package/dist/channels/slack/api.js.map +1 -1
- package/dist/channels/slack/files.d.ts.map +1 -1
- package/dist/channels/slack/files.js +3 -2
- package/dist/channels/slack/files.js.map +1 -1
- package/dist/channels/slack/index.d.ts +2 -76
- package/dist/channels/slack/index.d.ts.map +1 -1
- package/dist/channels/slack/index.js +6 -177
- 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 +28 -23
- package/dist/channels/slack/message-content.js.map +1 -1
- 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 +12 -6
- package/dist/channels/trigger/client.js.map +1 -1
- package/dist/channels/trigger/http.d.ts +3 -114
- package/dist/channels/trigger/http.d.ts.map +1 -1
- package/dist/channels/trigger/http.js +82 -314
- 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 +1 -38
- package/dist/channels/trigger/ingress.d.ts.map +1 -1
- package/dist/channels/trigger/ingress.js +24 -49
- package/dist/channels/trigger/ingress.js.map +1 -1
- package/dist/channels/trigger/types.d.ts +3 -82
- package/dist/channels/trigger/types.d.ts.map +1 -1
- package/dist/channels/trigger/types.js +0 -36
- package/dist/channels/trigger/types.js.map +1 -1
- package/dist/channels/types.d.ts +3 -19
- package/dist/channels/types.d.ts.map +1 -1
- package/dist/channels/types.js +0 -2
- 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 +1 -42
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +14 -127
- package/dist/connections.js.map +1 -1
- package/dist/credential-gate.d.ts +0 -2
- package/dist/credential-gate.d.ts.map +1 -1
- package/dist/credential-gate.js +3 -37
- package/dist/credential-gate.js.map +1 -1
- package/dist/define-deep-agent.d.ts.map +1 -1
- package/dist/define-deep-agent.js +0 -6
- package/dist/define-deep-agent.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/slack/links.js +3 -2
- package/dist/identity/slack/links.js.map +1 -1
- package/dist/index.d.ts +4 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- 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.js +4 -3
- package/dist/ingress/loopback.js.map +1 -1
- package/dist/ingress/runs.d.ts +1 -74
- package/dist/ingress/runs.d.ts.map +1 -1
- package/dist/ingress/runs.js +16 -176
- package/dist/ingress/runs.js.map +1 -1
- package/dist/managed-composition.d.ts.map +1 -1
- package/dist/managed-composition.js +13 -8
- 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 +21 -21
- package/dist/namespaces.d.ts.map +1 -1
- package/dist/namespaces.js +29 -4
- 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/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +21 -151
- package/dist/runtime/auth.js.map +1 -1
- package/dist/runtime/channel.d.ts +0 -6
- 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 +0 -2
- package/dist/runtime/identity-http.d.ts.map +1 -1
- package/dist/runtime/identity-http.js +16 -40
- package/dist/runtime/identity-http.js.map +1 -1
- package/dist/runtime/identity-runtime.d.ts +0 -10
- package/dist/runtime/identity-runtime.d.ts.map +1 -1
- package/dist/runtime/identity-runtime.js +0 -22
- package/dist/runtime/identity-runtime.js.map +1 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +47 -46
- 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-tools.d.ts +10 -10
- package/dist/runtime/managed-tools.d.ts.map +1 -1
- package/dist/runtime/managed-tools.js +24 -24
- 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 +3 -1
- package/dist/runtime/memory/policy.js.map +1 -1
- package/dist/runtime/run-input.d.ts +0 -10
- package/dist/runtime/run-input.d.ts.map +1 -1
- package/dist/runtime/run-input.js +19 -47
- package/dist/runtime/run-input.js.map +1 -1
- package/dist/runtime/sandbox-manager.d.ts +1 -1
- package/dist/runtime/sandbox-manager.d.ts.map +1 -1
- package/dist/runtime/sandbox-manager.js +10 -15
- package/dist/runtime/sandbox-manager.js.map +1 -1
- package/dist/runtime/schedule-auth.d.ts +0 -17
- package/dist/runtime/schedule-auth.d.ts.map +1 -1
- package/dist/runtime/schedule-auth.js +3 -40
- 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/types.d.ts +1 -5
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime-schedules.d.ts +0 -13
- package/dist/runtime-schedules.d.ts.map +1 -1
- package/dist/runtime-schedules.js +22 -86
- package/dist/runtime-schedules.js.map +1 -1
- package/dist/sandbox.d.ts +6 -0
- package/dist/sandbox.d.ts.map +1 -1
- package/dist/sandbox.js +7 -3
- package/dist/sandbox.js.map +1 -1
- package/dist/schedule-channel.d.ts +2 -5
- package/dist/schedule-channel.d.ts.map +1 -1
- package/dist/schedule-channel.js +12 -13
- 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/package.json +11 -11
- package/dist/channels/actor.d.ts +0 -43
- package/dist/channels/actor.d.ts.map +0 -1
- package/dist/channels/actor.js +0 -2
- package/dist/channels/actor.js.map +0 -1
- package/dist/channels/delivery.d.ts +0 -21
- package/dist/channels/delivery.d.ts.map +0 -1
- package/dist/channels/delivery.js +0 -196
- package/dist/channels/delivery.js.map +0 -1
- package/dist/channels/github/connections.d.ts +0 -11
- package/dist/channels/github/connections.d.ts.map +0 -1
- package/dist/channels/github/connections.js +0 -14
- package/dist/channels/github/connections.js.map +0 -1
- package/dist/channels/github/index.d.ts +0 -8
- package/dist/channels/github/index.d.ts.map +0 -1
- package/dist/channels/github/index.js +0 -274
- package/dist/channels/github/index.js.map +0 -1
- package/dist/channels/github/mentions.d.ts +0 -12
- package/dist/channels/github/mentions.d.ts.map +0 -1
- package/dist/channels/github/mentions.js +0 -185
- package/dist/channels/github/mentions.js.map +0 -1
- package/dist/channels/github/schema.d.ts +0 -4165
- package/dist/channels/github/schema.d.ts.map +0 -1
- package/dist/channels/github/schema.js +0 -221
- package/dist/channels/github/schema.js.map +0 -1
- package/dist/channels/github/types.d.ts +0 -163
- package/dist/channels/github/types.d.ts.map +0 -1
- package/dist/channels/github/types.js +0 -2
- package/dist/channels/github/types.js.map +0 -1
- package/dist/channels/http/endpoint.d.ts +0 -95
- package/dist/channels/http/endpoint.d.ts.map +0 -1
- package/dist/channels/http/endpoint.js +0 -276
- package/dist/channels/http/endpoint.js.map +0 -1
- package/dist/channels/http/provider.d.ts +0 -119
- package/dist/channels/http/provider.d.ts.map +0 -1
- package/dist/channels/http/provider.js +0 -227
- package/dist/channels/http/provider.js.map +0 -1
- package/dist/channels/http/studio.d.ts +0 -24
- package/dist/channels/http/studio.d.ts.map +0 -1
- package/dist/channels/http/studio.js +0 -95
- package/dist/channels/http/studio.js.map +0 -1
- package/dist/channels/http/threads.d.ts +0 -7
- package/dist/channels/http/threads.d.ts.map +0 -1
- package/dist/channels/http/threads.js +0 -10
- package/dist/channels/http/threads.js.map +0 -1
- package/dist/channels/linear/connections.d.ts +0 -11
- package/dist/channels/linear/connections.d.ts.map +0 -1
- package/dist/channels/linear/connections.js +0 -14
- package/dist/channels/linear/connections.js.map +0 -1
- package/dist/channels/linear/graphql.d.ts +0 -57
- package/dist/channels/linear/graphql.d.ts.map +0 -1
- package/dist/channels/linear/graphql.js +0 -167
- package/dist/channels/linear/graphql.js.map +0 -1
- package/dist/channels/linear/index.d.ts +0 -9
- package/dist/channels/linear/index.d.ts.map +0 -1
- package/dist/channels/linear/index.js +0 -489
- package/dist/channels/linear/index.js.map +0 -1
- package/dist/channels/linear/schema.d.ts +0 -1050
- package/dist/channels/linear/schema.d.ts.map +0 -1
- package/dist/channels/linear/schema.js +0 -255
- package/dist/channels/linear/schema.js.map +0 -1
- package/dist/channels/linear/types.d.ts +0 -162
- package/dist/channels/linear/types.d.ts.map +0 -1
- package/dist/channels/linear/types.js +0 -2
- package/dist/channels/linear/types.js.map +0 -1
- package/dist/channels/reserved-connections.d.ts +0 -12
- package/dist/channels/reserved-connections.d.ts.map +0 -1
- package/dist/channels/reserved-connections.js +0 -55
- package/dist/channels/reserved-connections.js.map +0 -1
- package/dist/channels/run-input.d.ts +0 -71
- package/dist/channels/run-input.d.ts.map +0 -1
- package/dist/channels/run-input.js +0 -155
- package/dist/channels/run-input.js.map +0 -1
- package/dist/channels/slack/connections.d.ts +0 -6
- package/dist/channels/slack/connections.d.ts.map +0 -1
- package/dist/channels/slack/connections.js +0 -6
- package/dist/channels/slack/connections.js.map +0 -1
- package/dist/channels/slack/events.d.ts +0 -272
- package/dist/channels/slack/events.d.ts.map +0 -1
- package/dist/channels/slack/events.js +0 -235
- package/dist/channels/slack/events.js.map +0 -1
- package/dist/channels/slack/status.d.ts +0 -76
- package/dist/channels/slack/status.d.ts.map +0 -1
- package/dist/channels/slack/status.js +0 -427
- package/dist/channels/slack/status.js.map +0 -1
- package/dist/runtime/channel-icon.d.ts +0 -22
- package/dist/runtime/channel-icon.d.ts.map +0 -1
- package/dist/runtime/channel-icon.js +0 -70
- package/dist/runtime/channel-icon.js.map +0 -1
- package/dist/runtime/managed-thread.d.ts +0 -60
- package/dist/runtime/managed-thread.d.ts.map +0 -1
- package/dist/runtime/managed-thread.js +0 -76
- package/dist/runtime/managed-thread.js.map +0 -1
- package/dist/runtime/thread-record.d.ts +0 -81
- package/dist/runtime/thread-record.d.ts.map +0 -1
- package/dist/runtime/thread-record.js +0 -205
- package/dist/runtime/thread-record.js.map +0 -1
- package/dist/values.d.ts +0 -15
- package/dist/values.d.ts.map +0 -1
- package/dist/values.js +0 -31
- package/dist/values.js.map +0 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collects items pushed from anywhere in the process and hands them to
|
|
3
|
+
* `handle` in batches: when `maxBatchSize` items are waiting, or `maxWaitMs`
|
|
4
|
+
* after the first one arrived, or without the wait once `shutdown` starts. One batch is handled
|
|
5
|
+
* at a time; a rejected `handle` drops that batch. Compose `handle` (see
|
|
6
|
+
* `resilience/`) for retries, passing on its signal.
|
|
7
|
+
*
|
|
8
|
+
* The worker starts on the first push and stops when the queue is empty, and
|
|
9
|
+
* its timers never keep the process alive; only `shutdown` holds it open,
|
|
10
|
+
* until its deadline.
|
|
11
|
+
*/
|
|
12
|
+
export interface BatchProcessorOptions<T> {
|
|
13
|
+
/** `signal` aborts at the `shutdown` deadline. */
|
|
14
|
+
handle: (batch: T[], signal: AbortSignal) => Promise<void>;
|
|
15
|
+
maxBatchSize: number;
|
|
16
|
+
maxWaitMs: number;
|
|
17
|
+
/** Items pushed while this many are waiting are dropped. */
|
|
18
|
+
maxQueued: number;
|
|
19
|
+
/**
|
|
20
|
+
* With `sizeOf`, a batch also stops before it would pass this many bytes.
|
|
21
|
+
* A single larger item still goes, alone.
|
|
22
|
+
*/
|
|
23
|
+
maxBatchBytes?: number;
|
|
24
|
+
sizeOf?: (item: T) => number;
|
|
25
|
+
}
|
|
26
|
+
export declare class BatchProcessor<T> {
|
|
27
|
+
private readonly options;
|
|
28
|
+
private readonly queue;
|
|
29
|
+
/** The running worker; unset while the queue is empty. */
|
|
30
|
+
private worker;
|
|
31
|
+
private wake;
|
|
32
|
+
private closed;
|
|
33
|
+
private readonly deadline;
|
|
34
|
+
constructor(options: BatchProcessorOptions<T>);
|
|
35
|
+
/** Queue items without blocking or throwing. Returns how many were accepted. */
|
|
36
|
+
push(...items: T[]): number;
|
|
37
|
+
/** Resolves once everything pushed so far has been handled. */
|
|
38
|
+
idle(): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Drain: refuse new items and send what is queued, a batch at a time as
|
|
41
|
+
* usual but without the batch wait, retrying as `handle` does. At
|
|
42
|
+
* `deadlineMs` the request in flight is aborted and the rest is dropped.
|
|
43
|
+
*/
|
|
44
|
+
shutdown(deadlineMs: number): Promise<void>;
|
|
45
|
+
private run;
|
|
46
|
+
/** How many queued items fit the next batch. */
|
|
47
|
+
private nextBatchSize;
|
|
48
|
+
/** Resolves after `ms`, or as soon as a full batch is waiting. */
|
|
49
|
+
private waitUpTo;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=batch-processor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-processor.d.ts","sourceRoot":"","sources":["../../src/concurrency/batch-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,kDAAkD;IAClD,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;CAC9B;AAED,qBAAa,cAAc,CAAC,CAAC;IAQf,OAAO,CAAC,QAAQ,CAAC,OAAO;IAPpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,0DAA0D;IAC1D,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAElD,YAA6B,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAI;IAElE,gFAAgF;IAChF,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,MAAM,CAQ1B;IAED,+DAA+D;IAC/D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpB;IAED;;;;OAIG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAchD;YAEa,GAAG;IAiBjB,gDAAgD;IAChD,OAAO,CAAC,aAAa;IAcrB,kEAAkE;IAClE,OAAO,CAAC,QAAQ;CAcjB"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
export class BatchProcessor {
|
|
2
|
+
options;
|
|
3
|
+
queue = [];
|
|
4
|
+
/** The running worker; unset while the queue is empty. */
|
|
5
|
+
worker;
|
|
6
|
+
wake;
|
|
7
|
+
closed = false;
|
|
8
|
+
deadline = new AbortController();
|
|
9
|
+
constructor(options) {
|
|
10
|
+
this.options = options;
|
|
11
|
+
}
|
|
12
|
+
/** Queue items without blocking or throwing. Returns how many were accepted. */
|
|
13
|
+
push(...items) {
|
|
14
|
+
if (this.closed)
|
|
15
|
+
return 0;
|
|
16
|
+
const room = Math.max(this.options.maxQueued - this.queue.length, 0);
|
|
17
|
+
const accepted = items.slice(0, room);
|
|
18
|
+
this.queue.push(...accepted);
|
|
19
|
+
if (this.queue.length >= this.options.maxBatchSize)
|
|
20
|
+
this.wake?.();
|
|
21
|
+
if (!this.worker && this.queue.length > 0)
|
|
22
|
+
this.worker = this.run();
|
|
23
|
+
return accepted.length;
|
|
24
|
+
}
|
|
25
|
+
/** Resolves once everything pushed so far has been handled. */
|
|
26
|
+
idle() {
|
|
27
|
+
return this.worker ?? Promise.resolve();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Drain: refuse new items and send what is queued, a batch at a time as
|
|
31
|
+
* usual but without the batch wait, retrying as `handle` does. At
|
|
32
|
+
* `deadlineMs` the request in flight is aborted and the rest is dropped.
|
|
33
|
+
*/
|
|
34
|
+
async shutdown(deadlineMs) {
|
|
35
|
+
this.closed = true;
|
|
36
|
+
this.wake?.();
|
|
37
|
+
let timer;
|
|
38
|
+
const deadline = new Promise((resolve) => {
|
|
39
|
+
timer = setTimeout(resolve, deadlineMs);
|
|
40
|
+
});
|
|
41
|
+
try {
|
|
42
|
+
await Promise.race([this.idle(), deadline]);
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
clearTimeout(timer);
|
|
46
|
+
this.deadline.abort();
|
|
47
|
+
this.queue.length = 0;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async run() {
|
|
51
|
+
try {
|
|
52
|
+
while (this.queue.length > 0) {
|
|
53
|
+
if (this.queue.length < this.options.maxBatchSize && !this.closed) {
|
|
54
|
+
await this.waitUpTo(this.options.maxWaitMs);
|
|
55
|
+
}
|
|
56
|
+
const batch = this.queue.splice(0, this.nextBatchSize());
|
|
57
|
+
await this.options
|
|
58
|
+
.handle(batch, this.deadline.signal)
|
|
59
|
+
.catch(() => undefined);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
finally {
|
|
63
|
+
// Same tick as the empty-queue check, so a later push starts a new worker.
|
|
64
|
+
this.worker = undefined;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/** How many queued items fit the next batch. */
|
|
68
|
+
nextBatchSize() {
|
|
69
|
+
const { maxBatchSize, maxBatchBytes, sizeOf } = this.options;
|
|
70
|
+
const limit = Math.min(maxBatchSize, this.queue.length);
|
|
71
|
+
if (maxBatchBytes === undefined || !sizeOf)
|
|
72
|
+
return limit;
|
|
73
|
+
let count = 0;
|
|
74
|
+
let bytes = 0;
|
|
75
|
+
while (count < limit) {
|
|
76
|
+
bytes += sizeOf(this.queue[count]);
|
|
77
|
+
if (count > 0 && bytes > maxBatchBytes)
|
|
78
|
+
break;
|
|
79
|
+
count++;
|
|
80
|
+
}
|
|
81
|
+
return count;
|
|
82
|
+
}
|
|
83
|
+
/** Resolves after `ms`, or as soon as a full batch is waiting. */
|
|
84
|
+
waitUpTo(ms) {
|
|
85
|
+
return new Promise((resolve) => {
|
|
86
|
+
const timer = setTimeout(() => {
|
|
87
|
+
this.wake = undefined;
|
|
88
|
+
resolve();
|
|
89
|
+
}, ms);
|
|
90
|
+
timer.unref?.();
|
|
91
|
+
this.wake = () => {
|
|
92
|
+
clearTimeout(timer);
|
|
93
|
+
this.wake = undefined;
|
|
94
|
+
resolve();
|
|
95
|
+
};
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=batch-processor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-processor.js","sourceRoot":"","sources":["../../src/concurrency/batch-processor.ts"],"names":[],"mappings":"AA0BA,MAAM,OAAO,cAAc;IAQI,OAAO;IAPnB,KAAK,GAAQ,EAAE,CAAC;IACjC,0DAA0D;IAClD,MAAM,CAA4B;IAClC,IAAI,CAA2B;IAC/B,MAAM,GAAG,KAAK,CAAC;IACN,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IAElD,YAA6B,OAAiC;uBAAjC,OAAO;IAA6B,CAAC;IAElE,gFAAgF;IAChF,IAAI,CAAC,GAAG,KAAU;QAChB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY;YAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpE,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,+DAA+D;IAC/D,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,UAAkB;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACd,IAAI,KAAgD,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC7C,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9C,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,GAAG;QACf,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBAClE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC9C,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;gBACzD,MAAM,IAAI,CAAC,OAAO;qBACf,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;qBACnC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,2EAA2E;YAC3E,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,gDAAgD;IACxC,aAAa;QACnB,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACzD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,KAAK,GAAG,KAAK,EAAE,CAAC;YACrB,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,CAAC;YACpC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,aAAa;gBAAE,MAAM;YAC9C,KAAK,EAAE,CAAC;QACV,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kEAAkE;IAC1D,QAAQ,CAAC,EAAU;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;gBACtB,OAAO,EAAE,CAAC;YACZ,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE;gBACf,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;gBACtB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/dist/connections.d.ts
CHANGED
|
@@ -55,8 +55,6 @@ export interface AgentAuthConfig {
|
|
|
55
55
|
workspaceId?: string;
|
|
56
56
|
localDevPrincipalId?: string;
|
|
57
57
|
}
|
|
58
|
-
/** Env var holding the deployment id, which is the agent owner's `owner_id`. */
|
|
59
|
-
export declare const DEPLOYMENT_ID_ENV = "LANGSMITH_HOST_PROJECT_ID";
|
|
60
58
|
export declare class AgentAuthConnectionStore {
|
|
61
59
|
private readonly env;
|
|
62
60
|
private readonly fetchImpl;
|
|
@@ -71,11 +69,6 @@ export declare class Connections {
|
|
|
71
69
|
resolve(slug: string, owner: ConnectionOwner): Promise<string>;
|
|
72
70
|
resolveDeploymentSecret(slug: string): Promise<string>;
|
|
73
71
|
}
|
|
74
|
-
/**
|
|
75
|
-
* The variable `mda dev` reads an agent connection's local value from:
|
|
76
|
-
* `MDA_DEV_` and the slug uppercased, `-` as `_` and `/` as `__`
|
|
77
|
-
* (`mda/github-token` → `MDA_DEV_MDA__GITHUB_TOKEN`), so shells keep it.
|
|
78
|
-
*/
|
|
79
72
|
export declare function agentConnectionEnvKey(slug: string): string;
|
|
80
73
|
export declare function resolveOwnerId(owner: ConnectionOwner, identity: RuntimeIdentity | undefined, deploymentId: string | undefined): string;
|
|
81
74
|
/**
|
|
@@ -86,30 +79,6 @@ export declare function resolveOwnerId(owner: ConnectionOwner, identity: Runtime
|
|
|
86
79
|
* Agent Auth env is configured; does not require `LANGSMITH_HOST_PROJECT_ID`.
|
|
87
80
|
*/
|
|
88
81
|
export declare function resolveAgentAuthContext(identity: RuntimeIdentity | undefined, env?: NodeJS.ProcessEnv, fetchImpl?: typeof fetch, timeoutMs?: number): Promise<AgentAuthContext>;
|
|
89
|
-
/**
|
|
90
|
-
* Why a Studio resume of a channel's conversation gets no user connections:
|
|
91
|
-
* the conversation holds content from outside the workspace, which must not
|
|
92
|
-
* steer the grants of whoever resumes it.
|
|
93
|
-
*/
|
|
94
|
-
export declare const CHANNEL_THREAD_USER_CONNECTION_ERROR: string;
|
|
95
|
-
/**
|
|
96
|
-
* Whether the run continues a channel's conversation for a caller who is not
|
|
97
|
-
* that channel, such as a person resuming it from Studio. The channel's own
|
|
98
|
-
* runs, a linked Slack person's included, keep their connections.
|
|
99
|
-
*/
|
|
100
|
-
export declare function outsideCallerOnChannelThread(identity: RuntimeIdentity | undefined): boolean;
|
|
101
|
-
/**
|
|
102
|
-
* The channel, e.g. `github`, whose sender the run acts for without a user of
|
|
103
|
-
* the agent's identity behind them. Such a person has user memory but no
|
|
104
|
-
* user-owned connections.
|
|
105
|
-
*/
|
|
106
|
-
export declare function unmappedChannelProvider(identity: RuntimeIdentity | undefined): string | undefined;
|
|
107
|
-
/**
|
|
108
|
-
* The channel a run started by a channel event runs as, e.g. `github`. Such a
|
|
109
|
-
* run runs as the channel, not as the person who sent the event, so there is
|
|
110
|
-
* no one to own a user grant.
|
|
111
|
-
*/
|
|
112
|
-
export declare function channelProvider(identity: RuntimeIdentity | undefined): string | undefined;
|
|
113
82
|
/**
|
|
114
83
|
* Map a runtime identity to the Agent Auth principal used for user grants.
|
|
115
84
|
*
|
|
@@ -121,17 +90,7 @@ export declare function channelProvider(identity: RuntimeIdentity | undefined):
|
|
|
121
90
|
*/
|
|
122
91
|
export declare function resolveCredentialPrincipalId(identity: RuntimeIdentity | undefined, config: AgentAuthConfig, fetchImpl?: typeof fetch, timeoutMs?: number): Promise<string>;
|
|
123
92
|
/**
|
|
124
|
-
*
|
|
125
|
-
* `LANGSMITH_WORKSPACE_ID`, which wins. A hosted deployment always runs with
|
|
126
|
-
* `LANGSMITH_TENANT_ID`, which the platform sets, so a deploy that never named
|
|
127
|
-
* a workspace still has one.
|
|
128
|
-
*/
|
|
129
|
-
export declare function resolveWorkspaceId(env?: NodeJS.ProcessEnv): string | undefined;
|
|
130
|
-
/**
|
|
131
|
-
* Origin for Agent Auth HTTP calls from `LANGSMITH_ENDPOINT`.
|
|
132
|
-
*
|
|
133
|
-
* Cloud SaaS revisions omit that reserved name and inject `LANGCHAIN_ENDPOINT`
|
|
134
|
-
* instead; read it as the same setting so we do not default to production.
|
|
93
|
+
* Origin for Agent Auth HTTP calls from the LangSmith endpoint.
|
|
135
94
|
*/
|
|
136
95
|
export declare function resolveAgentAuthBaseUrl(env?: NodeJS.ProcessEnv): string;
|
|
137
96
|
export declare const connections: Connections;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../src/connections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../src/connections.ts"],"names":[],"mappings":"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"}
|
package/dist/connections.js
CHANGED
|
@@ -12,15 +12,14 @@
|
|
|
12
12
|
* middleware.
|
|
13
13
|
*/
|
|
14
14
|
import { isTrustedSourceProvider } from "./channels/source-providers.js";
|
|
15
|
-
import { reservedAgentConnectionSlug, reservedUserConnectionError, } from "./channels/reserved-connections.js";
|
|
16
15
|
import { AGENT_AUTH_TIMEOUT_MS, AgentAuth, ConnectionsNotConfiguredError, CredentialAuthorizationRequiredError, CredentialStoreError, WORKSPACE_SETTING, } from "./agent-auth.js";
|
|
17
|
-
import { buildRuntimeIdentity,
|
|
16
|
+
import { buildRuntimeIdentity, resolveRuntimeConfigurable, } from "./runtime/identity-runtime.js";
|
|
18
17
|
import { resolveUserConnectionGrants } from "./connection-authorization.js";
|
|
18
|
+
import { resolveLangSmithEndpoint, resolveServerApiKey, resolveWorkspaceId, } from "./runtime/langsmith-env.js";
|
|
19
19
|
export { AGENT_AUTH_TIMEOUT_MS, AgentAuthUnknownProviderError, clearPrincipalResolveCacheForTests, CredentialAuthorizationRequiredError, CredentialStoreError, } from "./agent-auth.js";
|
|
20
20
|
const CONNECTION_REFERENCE = Symbol("managed-deepagents.connection");
|
|
21
21
|
const SLUG_PATTERN = /^[a-z0-9]+(?:[-/][a-z0-9]+)*$/;
|
|
22
22
|
const MAX_SLUG_LENGTH = 64;
|
|
23
|
-
const DEFAULT_LANGSMITH_ENDPOINT = "https://api.smith.langchain.com";
|
|
24
23
|
const DEV_CREDENTIAL_PREFIX = "MDA_DEV_";
|
|
25
24
|
const TRUSTED_BACKEND_PROVIDER = "trusted_backend";
|
|
26
25
|
const LOCAL_DEV_USER = "mda:local-dev";
|
|
@@ -64,8 +63,6 @@ export function isConnectionReference(value) {
|
|
|
64
63
|
value !== null &&
|
|
65
64
|
CONNECTION_REFERENCE in value));
|
|
66
65
|
}
|
|
67
|
-
/** Env var holding the deployment id, which is the agent owner's `owner_id`. */
|
|
68
|
-
export const DEPLOYMENT_ID_ENV = "LANGSMITH_HOST_PROJECT_ID";
|
|
69
66
|
export class AgentAuthConnectionStore {
|
|
70
67
|
env;
|
|
71
68
|
fetchImpl;
|
|
@@ -77,8 +74,7 @@ export class AgentAuthConnectionStore {
|
|
|
77
74
|
}
|
|
78
75
|
async fetch(request) {
|
|
79
76
|
if (this.env.MDA_LOCAL_DEV === "1" && request.owner.type === "agent") {
|
|
80
|
-
const value = this.env[agentConnectionEnvKey(request.slug)]
|
|
81
|
-
this.env[legacyAgentConnectionEnvKey(request.slug)];
|
|
77
|
+
const value = this.env[agentConnectionEnvKey(request.slug)];
|
|
82
78
|
if (value !== undefined && value.trim()) {
|
|
83
79
|
return value;
|
|
84
80
|
}
|
|
@@ -87,7 +83,7 @@ export class AgentAuthConnectionStore {
|
|
|
87
83
|
}
|
|
88
84
|
const config = resolveAgentAuthConfig(this.env);
|
|
89
85
|
if (request.owner.type === "agent" && !config.deploymentId) {
|
|
90
|
-
throw new ConnectionsNotConfiguredError(
|
|
86
|
+
throw new ConnectionsNotConfiguredError("LANGSMITH_HOST_PROJECT_ID");
|
|
91
87
|
}
|
|
92
88
|
const principalId = request.owner.type === "user"
|
|
93
89
|
? await resolveCredentialPrincipalId(request.identity, config, this.fetchImpl, this.timeoutMs)
|
|
@@ -106,13 +102,12 @@ export class AgentAuthConnectionStore {
|
|
|
106
102
|
if (request.owner.type === "user") {
|
|
107
103
|
return (await resolveUserConnectionGrants(client, [request.slug])).get(request.slug);
|
|
108
104
|
}
|
|
109
|
-
const
|
|
110
|
-
const row = await client.findWorkspaceConnection(slug);
|
|
105
|
+
const row = await client.findWorkspaceConnection(request.slug);
|
|
111
106
|
if (!row) {
|
|
112
107
|
return undefined;
|
|
113
108
|
}
|
|
114
109
|
if (row.kind === "secret") {
|
|
115
|
-
const credentialId = await client.findSecretCredentialId(row, slug);
|
|
110
|
+
const credentialId = await client.findSecretCredentialId(row, request.slug);
|
|
116
111
|
if (!credentialId) {
|
|
117
112
|
return undefined;
|
|
118
113
|
}
|
|
@@ -130,21 +125,10 @@ export class Connections {
|
|
|
130
125
|
this.store = store;
|
|
131
126
|
}
|
|
132
127
|
get(slug, owner) {
|
|
133
|
-
|
|
134
|
-
const normalizedOwner = normalizeOwner(owner);
|
|
135
|
-
const unsupported = normalizedOwner.type === "user"
|
|
136
|
-
? reservedUserConnectionError(normalizedSlug)
|
|
137
|
-
: undefined;
|
|
138
|
-
if (unsupported)
|
|
139
|
-
throw new TypeError(unsupported);
|
|
140
|
-
return new ConnectionReference(normalizedSlug, normalizedOwner, this);
|
|
128
|
+
return new ConnectionReference(normalizeSlug(slug), normalizeOwner(owner), this);
|
|
141
129
|
}
|
|
142
130
|
async resolve(slug, owner) {
|
|
143
131
|
const configurable = resolveRuntimeConfigurable(undefined);
|
|
144
|
-
// Agent-owned material belongs to the deployment, not to a caller, so it
|
|
145
|
-
// resolves outside a run too, e.g. in a channel callback.
|
|
146
|
-
if (!configurable && owner.type === "agent")
|
|
147
|
-
return this.resolveDeploymentSecret(slug);
|
|
148
132
|
if (!configurable) {
|
|
149
133
|
throw new Error("connections.get(...) must be awaited inside a run: resolve a connection in a tool or middleware, not at import time");
|
|
150
134
|
}
|
|
@@ -171,19 +155,7 @@ export class Connections {
|
|
|
171
155
|
return value;
|
|
172
156
|
}
|
|
173
157
|
}
|
|
174
|
-
/**
|
|
175
|
-
* The variable `mda dev` reads an agent connection's local value from:
|
|
176
|
-
* `MDA_DEV_` and the slug uppercased, `-` as `_` and `/` as `__`
|
|
177
|
-
* (`mda/github-token` → `MDA_DEV_MDA__GITHUB_TOKEN`), so shells keep it.
|
|
178
|
-
*/
|
|
179
158
|
export function agentConnectionEnvKey(slug) {
|
|
180
|
-
return `${DEV_CREDENTIAL_PREFIX}${normalizeSlug(slug)
|
|
181
|
-
.toUpperCase()
|
|
182
|
-
.replaceAll("-", "_")
|
|
183
|
-
.replaceAll("/", "__")}`;
|
|
184
|
-
}
|
|
185
|
-
/** The earlier spelling, with `/` kept; Linux shells drop such names. */
|
|
186
|
-
function legacyAgentConnectionEnvKey(slug) {
|
|
187
159
|
return `${DEV_CREDENTIAL_PREFIX}${normalizeSlug(slug)
|
|
188
160
|
.toUpperCase()
|
|
189
161
|
.replaceAll("-", "_")}`;
|
|
@@ -258,60 +230,6 @@ export async function resolveAgentAuthContext(identity, env = process.env, fetch
|
|
|
258
230
|
workspaceId: config.workspaceId,
|
|
259
231
|
};
|
|
260
232
|
}
|
|
261
|
-
/**
|
|
262
|
-
* Why a Studio resume of a channel's conversation gets no user connections:
|
|
263
|
-
* the conversation holds content from outside the workspace, which must not
|
|
264
|
-
* steer the grants of whoever resumes it.
|
|
265
|
-
*/
|
|
266
|
-
export const CHANNEL_THREAD_USER_CONNECTION_ERROR = "user-owned connections are unavailable when resuming a channel's " +
|
|
267
|
-
"conversation from outside that channel: it holds content from outside " +
|
|
268
|
-
"the workspace, which must not act with your grants";
|
|
269
|
-
/**
|
|
270
|
-
* Whether the run continues a channel's conversation for a caller who is not
|
|
271
|
-
* that channel, such as a person resuming it from Studio. The channel's own
|
|
272
|
-
* runs, a linked Slack person's included, keep their connections.
|
|
273
|
-
*/
|
|
274
|
-
export function outsideCallerOnChannelThread(identity) {
|
|
275
|
-
if (!onChannelThread())
|
|
276
|
-
return false;
|
|
277
|
-
const provider = identity?.source.provider;
|
|
278
|
-
return !provider || !isTrustedSourceProvider(provider);
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* Channels whose senders a delivery verifies but who cannot be mapped to a
|
|
282
|
-
* user of the agent's identity: the principal `identity.ts` resolves, from
|
|
283
|
-
* LangSmith, Supabase or another provider. They cannot use tools that act on
|
|
284
|
-
* a user's behalf or own user grants, and asking them to connect an account
|
|
285
|
-
* would mean posting the link where everyone sees it.
|
|
286
|
-
*/
|
|
287
|
-
const UNMAPPED_SENDER_PROVIDERS = new Set(["github"]);
|
|
288
|
-
/**
|
|
289
|
-
* The channel, e.g. `github`, whose sender the run acts for without a user of
|
|
290
|
-
* the agent's identity behind them. Such a person has user memory but no
|
|
291
|
-
* user-owned connections.
|
|
292
|
-
*/
|
|
293
|
-
export function unmappedChannelProvider(identity) {
|
|
294
|
-
const provider = identity?.source?.provider;
|
|
295
|
-
return identity?.user.kind === "person" &&
|
|
296
|
-
!identity.agentAuthPrincipalId?.trim() &&
|
|
297
|
-
provider !== undefined &&
|
|
298
|
-
UNMAPPED_SENDER_PROVIDERS.has(provider)
|
|
299
|
-
? provider
|
|
300
|
-
: undefined;
|
|
301
|
-
}
|
|
302
|
-
/**
|
|
303
|
-
* The channel a run started by a channel event runs as, e.g. `github`. Such a
|
|
304
|
-
* run runs as the channel, not as the person who sent the event, so there is
|
|
305
|
-
* no one to own a user grant.
|
|
306
|
-
*/
|
|
307
|
-
export function channelProvider(identity) {
|
|
308
|
-
const channel = identity?.source?.provider;
|
|
309
|
-
return identity?.user.kind === "service" &&
|
|
310
|
-
channel &&
|
|
311
|
-
isTrustedSourceProvider(channel)
|
|
312
|
-
? channel
|
|
313
|
-
: undefined;
|
|
314
|
-
}
|
|
315
233
|
/**
|
|
316
234
|
* Map a runtime identity to the Agent Auth principal used for user grants.
|
|
317
235
|
*
|
|
@@ -325,28 +243,13 @@ export async function resolveCredentialPrincipalId(identity, config, fetchImpl =
|
|
|
325
243
|
if (!identity?.user.id) {
|
|
326
244
|
throw new CredentialStoreError("user connections require an authenticated user principal");
|
|
327
245
|
}
|
|
328
|
-
if (outsideCallerOnChannelThread(identity)) {
|
|
329
|
-
throw new CredentialStoreError(CHANNEL_THREAD_USER_CONNECTION_ERROR);
|
|
330
|
-
}
|
|
331
|
-
const unmapped = unmappedChannelProvider(identity);
|
|
332
|
-
if (unmapped) {
|
|
333
|
-
throw new CredentialStoreError(`user-owned connections are unavailable to ${unmapped} senders: a ` +
|
|
334
|
-
`${unmapped} account cannot be mapped to a user of this agent's identity`);
|
|
335
|
-
}
|
|
336
246
|
if (identity.user.kind === "service") {
|
|
337
247
|
if (identity.user.id === LOCAL_DEV_USER &&
|
|
338
248
|
config.localDevPrincipalId?.trim()) {
|
|
339
249
|
return config.localDevPrincipalId.trim();
|
|
340
250
|
}
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
// to own the grant.
|
|
344
|
-
const channel = channelProvider(identity);
|
|
345
|
-
throw new CredentialStoreError(channel
|
|
346
|
-
? "user-owned connections require a person principal; " +
|
|
347
|
-
`a ${channel} event starts an agent run that acts as the channel's registered app, not as the person who triggered the event`
|
|
348
|
-
: "user-owned connections require a person principal; " +
|
|
349
|
-
"service callers cannot own OAuth grants");
|
|
251
|
+
throw new CredentialStoreError("user-owned connections require a person principal; " +
|
|
252
|
+
"service callers cannot own OAuth grants");
|
|
350
253
|
}
|
|
351
254
|
if (identity.agentAuthPrincipalId?.trim()) {
|
|
352
255
|
return identity.agentAuthPrincipalId.trim();
|
|
@@ -399,21 +302,10 @@ function externalIdentityForResolve(identity, workspaceId) {
|
|
|
399
302
|
subject: trustedSubject,
|
|
400
303
|
};
|
|
401
304
|
}
|
|
402
|
-
/**
|
|
403
|
-
* The LangSmith workspace Agent Auth calls are scoped to. Users set
|
|
404
|
-
* `LANGSMITH_WORKSPACE_ID`, which wins. A hosted deployment always runs with
|
|
405
|
-
* `LANGSMITH_TENANT_ID`, which the platform sets, so a deploy that never named
|
|
406
|
-
* a workspace still has one.
|
|
407
|
-
*/
|
|
408
|
-
export function resolveWorkspaceId(env = process.env) {
|
|
409
|
-
return (env.LANGSMITH_WORKSPACE_ID?.trim() ||
|
|
410
|
-
env.LANGSMITH_TENANT_ID?.trim() ||
|
|
411
|
-
undefined);
|
|
412
|
-
}
|
|
413
305
|
function resolveAgentAuthConfig(env) {
|
|
414
|
-
const apiKey = env
|
|
306
|
+
const apiKey = resolveServerApiKey(env);
|
|
415
307
|
if (!apiKey) {
|
|
416
|
-
throw new ConnectionsNotConfiguredError("LANGSMITH_API_KEY");
|
|
308
|
+
throw new ConnectionsNotConfiguredError("LANGSMITH_API_KEY or LANGCHAIN_API_KEY");
|
|
417
309
|
}
|
|
418
310
|
const workspaceId = resolveWorkspaceId(env);
|
|
419
311
|
if (!workspaceId) {
|
|
@@ -422,7 +314,7 @@ function resolveAgentAuthConfig(env) {
|
|
|
422
314
|
return {
|
|
423
315
|
baseUrl: resolveAgentAuthBaseUrl(env),
|
|
424
316
|
apiKey,
|
|
425
|
-
deploymentId: env
|
|
317
|
+
deploymentId: env.LANGSMITH_HOST_PROJECT_ID?.trim() || undefined,
|
|
426
318
|
workspaceId,
|
|
427
319
|
localDevPrincipalId: env.MDA_LOCAL_DEV === "1"
|
|
428
320
|
? env[LOCAL_DEV_PRINCIPAL_ENV]?.trim() || undefined
|
|
@@ -430,15 +322,10 @@ function resolveAgentAuthConfig(env) {
|
|
|
430
322
|
};
|
|
431
323
|
}
|
|
432
324
|
/**
|
|
433
|
-
* Origin for Agent Auth HTTP calls from
|
|
434
|
-
*
|
|
435
|
-
* Cloud SaaS revisions omit that reserved name and inject `LANGCHAIN_ENDPOINT`
|
|
436
|
-
* instead; read it as the same setting so we do not default to production.
|
|
325
|
+
* Origin for Agent Auth HTTP calls from the LangSmith endpoint.
|
|
437
326
|
*/
|
|
438
327
|
export function resolveAgentAuthBaseUrl(env = process.env) {
|
|
439
|
-
const raw = env
|
|
440
|
-
env.LANGCHAIN_ENDPOINT?.trim() ||
|
|
441
|
-
DEFAULT_LANGSMITH_ENDPOINT;
|
|
328
|
+
const raw = resolveLangSmithEndpoint(env);
|
|
442
329
|
let parsed;
|
|
443
330
|
try {
|
|
444
331
|
parsed = new URL(raw);
|
package/dist/connections.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connections.js","sourceRoot":"","sources":["../src/connections.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connections.js","sourceRoot":"","sources":["../src/connections.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,6 @@
|
|
|
7
7
|
* LangGraph interrupt; OAuth slugs include connect URLs, opaque slugs request
|
|
8
8
|
* password-style input. The tools a grant unlocks are loaded on first use and
|
|
9
9
|
* cached per caller. Required integrations without a caller end with sign-in guidance.
|
|
10
|
-
* A run a channel event started has no person behind it, so it runs without
|
|
11
|
-
* them.
|
|
12
10
|
*/
|
|
13
11
|
import type { ClientTool } from "@langchain/core/tools";
|
|
14
12
|
import { createMiddleware } from "langchain";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-gate.d.ts","sourceRoot":"","sources":["../src/credential-gate.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"credential-gate.d.ts","sourceRoot":"","sources":["../src/credential-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAC;AAS1B,eAAO,MAAM,+BAA+B,wBAAwB,CAAC;AAQrE,4EAA4E;AAC5E,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,wEAAwE;AACxE,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,WAAW,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC5C,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,yBAAyB,CAAC,EAAE,CAC1B,OAAO,EAAE,gBAAgB,KACtB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAClC,IAAI,EAAE,CACJ,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACzC,OAAO,EAAE,gBAAgB,KACtB,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACrC;AA2BD,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,SAAS,kBAAkB,EAAE,GACvC,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAG,SAAS,CAiEjD;AA2KD,0EAA0E;AAC1E,wBAAsB,gCAAgC,IAAI,OAAO,CAAC,IAAI,CAAC,CAStE"}
|
package/dist/credential-gate.js
CHANGED
|
@@ -7,13 +7,11 @@
|
|
|
7
7
|
* LangGraph interrupt; OAuth slugs include connect URLs, opaque slugs request
|
|
8
8
|
* password-style input. The tools a grant unlocks are loaded on first use and
|
|
9
9
|
* cached per caller. Required integrations without a caller end with sign-in guidance.
|
|
10
|
-
* A run a channel event started has no person behind it, so it runs without
|
|
11
|
-
* them.
|
|
12
10
|
*/
|
|
13
11
|
import { createMiddleware } from "langchain";
|
|
14
12
|
import { AgentAuth } from "./agent-auth.js";
|
|
15
13
|
import { collectPendingUserConnectionCredentials, raiseCredentialAuthorizationRequired, resolveUserConnectionGrants, } from "./connection-authorization.js";
|
|
16
|
-
import {
|
|
14
|
+
import { resolveAgentAuthContext, resolveOwnerId, } from "./connections.js";
|
|
17
15
|
import { buildRuntimeIdentity, resolveRuntimeConfigurable, } from "./runtime/identity-runtime.js";
|
|
18
16
|
import { wrapToolsWithManagedRuntime } from "./runtime/managed-tools.js";
|
|
19
17
|
export const CREDENTIAL_GATE_MIDDLEWARE_NAME = "mda-credential-gate";
|
|
@@ -44,26 +42,6 @@ export function createCredentialGateMiddleware(consumers) {
|
|
|
44
42
|
beforeAgent: {
|
|
45
43
|
canJumpTo: ["end"],
|
|
46
44
|
async hook(_state, runtime) {
|
|
47
|
-
const channel = channelProvider(runtimeIdentity(runtime));
|
|
48
|
-
if (channel) {
|
|
49
|
-
console.warn("[managed-deepagents] Integrations that need a user connection " +
|
|
50
|
-
`are unavailable in this run: a ${channel} event runs as the ` +
|
|
51
|
-
"channel, not as a person.");
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
const sender = unmappedChannelProvider(runtimeIdentity(runtime));
|
|
55
|
-
if (sender) {
|
|
56
|
-
console.warn("[managed-deepagents] Integrations that need a user connection " +
|
|
57
|
-
`are unavailable in this run: its ${sender} sender cannot be ` +
|
|
58
|
-
"mapped to a user of this agent's identity.");
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
if (outsideCallerOnChannelThread(runtimeIdentity(runtime))) {
|
|
62
|
-
console.warn("[managed-deepagents] Integrations that need a user connection " +
|
|
63
|
-
"are unavailable in this run: it continues a channel's " +
|
|
64
|
-
"conversation, which holds content from outside the workspace.");
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
45
|
const caller = await authContext(runtime);
|
|
68
46
|
if (!caller) {
|
|
69
47
|
if (consumers.every((consumer) => consumer.requiresIdentity === false)) {
|
|
@@ -218,21 +196,9 @@ function declarationId(declaration) {
|
|
|
218
196
|
declarationIds.set(declaration, id);
|
|
219
197
|
return id;
|
|
220
198
|
}
|
|
221
|
-
function runtimeIdentity(runtime) {
|
|
222
|
-
return buildRuntimeIdentity(resolveRuntimeConfigurable(runtime));
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* The person a run acts for; none without a caller, for a channel event, for
|
|
226
|
-
* a channel sender who cannot be mapped to a user of the agent's identity, or
|
|
227
|
-
* for a caller resuming
|
|
228
|
-
* a channel's conversation from outside that channel.
|
|
229
|
-
*/
|
|
230
199
|
async function authContext(runtime) {
|
|
231
|
-
const identity =
|
|
232
|
-
if (!identity?.user.id
|
|
233
|
-
channelProvider(identity) ||
|
|
234
|
-
unmappedChannelProvider(identity) ||
|
|
235
|
-
outsideCallerOnChannelThread(identity)) {
|
|
200
|
+
const identity = buildRuntimeIdentity(resolveRuntimeConfigurable(runtime));
|
|
201
|
+
if (!identity?.user.id) {
|
|
236
202
|
return undefined;
|
|
237
203
|
}
|
|
238
204
|
return { context: await resolveAgentAuthContext(identity), identity };
|