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
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/** `runtime.thread`: the run's thread, the conversation it came from, and who takes part. */
|
|
2
|
-
import { getConfig } from "@langchain/langgraph";
|
|
3
|
-
import { currentChannelBinding, resolveChannelBinding, resolveOriginBinding, runtimeChannelFor, } from "../channels/binding.js";
|
|
4
|
-
import { parseThreadRecord } from "./thread-record.js";
|
|
5
|
-
/**
|
|
6
|
-
* Build a run's thread from its config. The origin is the event's own
|
|
7
|
-
* channel when ingress delivered one; otherwise the record's.
|
|
8
|
-
*
|
|
9
|
-
* The record comes from the run's metadata, which merges the thread's. The
|
|
10
|
-
* auth handler strips record keys from every write except managed ingress's,
|
|
11
|
-
* and in-process `/noauth` calls come from the agent's own trusted code.
|
|
12
|
-
*/
|
|
13
|
-
export function resolveRunThread(input) {
|
|
14
|
-
const record = parseThreadRecord(input.metadata);
|
|
15
|
-
const participants = Object.freeze((record?.participants ?? []).map((participant) => Object.freeze({ ...participant })));
|
|
16
|
-
const stored = record?.origin && resolveOriginBinding(record.origin);
|
|
17
|
-
const origin = input.binding ??
|
|
18
|
-
(stored ? { ...stored, event: scheduleEvent(input) } : undefined);
|
|
19
|
-
const channel = origin && runtimeChannelFor(origin, origin.event);
|
|
20
|
-
const sender = participants.find(({ id }) => id === record?.origin?.sender) ?? null;
|
|
21
|
-
const threadOrigin = channel ? Object.freeze({ channel, sender }) : null;
|
|
22
|
-
const id = input.configurable?.thread_id;
|
|
23
|
-
const thread = typeof id === "string" && id
|
|
24
|
-
? Object.freeze({ id, origin: threadOrigin, participants })
|
|
25
|
-
: undefined;
|
|
26
|
-
return {
|
|
27
|
-
...(thread && { thread }),
|
|
28
|
-
...(channel && { channel }),
|
|
29
|
-
...(origin && { origin }),
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* The schedule event of a managed cron run, read from the schedule's spec,
|
|
34
|
-
* which the cron's metadata carries into the run.
|
|
35
|
-
*/
|
|
36
|
-
function scheduleEvent(input) {
|
|
37
|
-
const user = input.configurable?.langgraph_auth_user;
|
|
38
|
-
const metadata = isRecord(input.metadata) ? input.metadata : {};
|
|
39
|
-
if (!isRecord(user) ||
|
|
40
|
-
user.mda_scheduled_run !== true ||
|
|
41
|
-
metadata.mda_managed !== true)
|
|
42
|
-
return null;
|
|
43
|
-
const spec = isRecord(metadata.mda_schedule_spec)
|
|
44
|
-
? metadata.mda_schedule_spec
|
|
45
|
-
: {};
|
|
46
|
-
return { type: "schedule", new_thread: spec.new_thread === true };
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* The thread the run built when it started, else one built from a tool or
|
|
50
|
-
* middleware runtime and the running LangGraph node.
|
|
51
|
-
*/
|
|
52
|
-
export function currentRunThread(runtime, configurable) {
|
|
53
|
-
const built = currentChannelBinding.getStore()?.thread;
|
|
54
|
-
if (built)
|
|
55
|
-
return built;
|
|
56
|
-
const config = isRecord(runtime?.config) ? runtime.config : undefined;
|
|
57
|
-
const ambient = ambientConfig();
|
|
58
|
-
return resolveRunThread({
|
|
59
|
-
configurable,
|
|
60
|
-
metadata: isRecord(config?.metadata) ? config.metadata : ambient?.metadata,
|
|
61
|
-
binding: resolveChannelBinding(runtime?.context ?? ambient?.context, configurable),
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
function ambientConfig() {
|
|
65
|
-
try {
|
|
66
|
-
return getConfig();
|
|
67
|
-
}
|
|
68
|
-
catch {
|
|
69
|
-
// Outside a runnable context.
|
|
70
|
-
return undefined;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
function isRecord(value) {
|
|
74
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=managed-thread.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"managed-thread.js","sourceRoot":"","sources":["../../src/runtime/managed-thread.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import type { ChannelBinding } from "../channels/binding.js";
|
|
3
|
-
export declare const THREAD_RECORD_METADATA = "ls_mda_thread";
|
|
4
|
-
export declare const THREAD_PARTICIPANTS_METADATA = "ls_mda_participants";
|
|
5
|
-
/** Every thread-record key; only managed ingress may write one. */
|
|
6
|
-
export declare const THREAD_RECORD_METADATA_PREFIX = "ls_mda_";
|
|
7
|
-
export type ThreadRole = "owner" | "member";
|
|
8
|
-
/** A person on the thread, by `principal.id`. */
|
|
9
|
-
export interface ThreadRecordParticipant {
|
|
10
|
-
id: string;
|
|
11
|
-
role: ThreadRole;
|
|
12
|
-
}
|
|
13
|
-
declare const storedOriginSchema: z.ZodObject<{
|
|
14
|
-
channel: z.ZodObject<{
|
|
15
|
-
name: z.ZodString;
|
|
16
|
-
provider: z.ZodString;
|
|
17
|
-
transport: z.ZodEnum<{
|
|
18
|
-
direct: "direct";
|
|
19
|
-
trigger_server: "trigger_server";
|
|
20
|
-
}>;
|
|
21
|
-
source_thread_key: z.ZodString;
|
|
22
|
-
address: z.ZodJSONSchema;
|
|
23
|
-
delivery_id: z.ZodString;
|
|
24
|
-
}, z.core.$strict>;
|
|
25
|
-
sender: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
26
|
-
}, z.core.$strict>;
|
|
27
|
-
/** A Trigger binding's target: the channel, its opaque address and its thread. */
|
|
28
|
-
export declare const triggerTargetSchema: z.ZodObject<{
|
|
29
|
-
channel_id: z.ZodString;
|
|
30
|
-
address: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
|
|
31
|
-
source_thread_key: z.ZodString;
|
|
32
|
-
}, z.core.$strip>;
|
|
33
|
-
export type StoredOrigin = z.infer<typeof storedOriginSchema>;
|
|
34
|
-
export interface ThreadRecord {
|
|
35
|
-
origin: StoredOrigin | null;
|
|
36
|
-
/** In the order they joined the thread. */
|
|
37
|
-
participants: ThreadRecordParticipant[];
|
|
38
|
-
}
|
|
39
|
-
/** A binding rebuilt from a stored origin: it has no event. */
|
|
40
|
-
export type OriginBinding = Omit<ChannelBinding, "event" | "rawEvent">;
|
|
41
|
-
/**
|
|
42
|
-
* A person is a non-blank principal id outside the `mda:` service namespace
|
|
43
|
-
* (`mda:channel`, `mda:slack`, `mda:schedule:*`).
|
|
44
|
-
*/
|
|
45
|
-
export declare function isPersonPrincipal(id: unknown): id is string;
|
|
46
|
-
/** The stored form of a binding: no event, and its target as `address`. */
|
|
47
|
-
export declare function originFromBinding(binding: OriginBinding, sender: string | null): StoredOrigin;
|
|
48
|
-
/** The binding a stored origin was made from, without its event. */
|
|
49
|
-
export declare function bindingFromOrigin(origin: StoredOrigin): OriginBinding | undefined;
|
|
50
|
-
/**
|
|
51
|
-
* The record in a thread's or run's metadata, or `null` when there is none or
|
|
52
|
-
* it is malformed. A malformed origin keeps the participants. With `exact`,
|
|
53
|
-
* as a write must be, a malformed origin or a participant list that does not
|
|
54
|
-
* name exactly the participants rejects the whole record.
|
|
55
|
-
*/
|
|
56
|
-
export declare function parseThreadRecord(metadata: unknown, { exact }?: {
|
|
57
|
-
exact?: boolean;
|
|
58
|
-
}): ThreadRecord | null;
|
|
59
|
-
/**
|
|
60
|
-
* The record after a channel event: the event's channel is the origin, and a
|
|
61
|
-
* person who sends it joins, as owner when they are the first.
|
|
62
|
-
*/
|
|
63
|
-
export declare function nextThreadRecord(current: ThreadRecord | null, binding: OriginBinding, senderId: string): ThreadRecord;
|
|
64
|
-
/** The metadata keys that store a record. */
|
|
65
|
-
export declare function threadRecordMetadata(record: ThreadRecord): {
|
|
66
|
-
[THREAD_RECORD_METADATA]: Record<string, unknown>;
|
|
67
|
-
[THREAD_PARTICIPANTS_METADATA]: string[];
|
|
68
|
-
};
|
|
69
|
-
/** Whether metadata already stores exactly this record. */
|
|
70
|
-
export declare function storesThreadRecord(metadata: unknown, record: ThreadRecord): boolean;
|
|
71
|
-
/**
|
|
72
|
-
* Remove every thread-record key from a metadata object, in place. With
|
|
73
|
-
* `keepRecord`, the two keys a record is stored in stay.
|
|
74
|
-
*/
|
|
75
|
-
export declare function stripThreadRecordKeys(metadata: unknown, { keepRecord }?: {
|
|
76
|
-
keepRecord?: boolean;
|
|
77
|
-
}): void;
|
|
78
|
-
/** Whether metadata names any thread-record key. */
|
|
79
|
-
export declare function hasThreadRecordKeys(metadata: unknown): boolean;
|
|
80
|
-
export {};
|
|
81
|
-
//# sourceMappingURL=thread-record.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"thread-record.d.ts","sourceRoot":"","sources":["../../src/runtime/thread-record.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AACtD,eAAO,MAAM,4BAA4B,wBAAwB,CAAC;AAClE,mEAAmE;AACnE,eAAO,MAAM,6BAA6B,YAAY,CAAC;AAEvD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5C,iDAAiD;AACjD,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;CAClB;AAWD,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;kBAGtB,CAAC;AASH,kFAAkF;AAClF,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AAMH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,2CAA2C;IAC3C,YAAY,EAAE,uBAAuB,EAAE,CAAC;CACzC;AAED,+DAA+D;AAC/D,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AAWvE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,MAAM,CAE3D;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,YAAY,CAqBd;AAED,oEAAoE;AACpE,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,YAAY,GACnB,aAAa,GAAG,SAAS,CAqB3B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,EACjB,EAAE,KAAa,EAAE,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1C,YAAY,GAAG,IAAI,CAgCrB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,YAAY,GAAG,IAAI,EAC5B,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,GACf,YAAY,CASd;AAED,6CAA6C;AAC7C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG;IAC1D,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC,4BAA4B,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1C,CAYA;AAED,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,YAAY,GACnB,OAAO,CAaT;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,OAAO,EACjB,EAAE,UAAkB,EAAE,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACpD,IAAI,CAYN;AAED,oDAAoD;AACpD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAO9D"}
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The thread record: where a thread's conversation lives and who takes part.
|
|
3
|
-
*
|
|
4
|
-
* Managed ingress keeps it in thread metadata, so every run on the thread
|
|
5
|
-
* (Studio resumes and schedules included) reads it from its own config. Thread
|
|
6
|
-
* metadata reaches traces, so the record never holds message text, the event
|
|
7
|
-
* or the provider's raw payload. Keys inside it are snake_case wire data,
|
|
8
|
-
* shared with the Python runtime.
|
|
9
|
-
*/
|
|
10
|
-
import { isDeepStrictEqual } from "node:util";
|
|
11
|
-
import { z } from "zod";
|
|
12
|
-
import { logger } from "./log.js";
|
|
13
|
-
export const THREAD_RECORD_METADATA = "ls_mda_thread";
|
|
14
|
-
export const THREAD_PARTICIPANTS_METADATA = "ls_mda_participants";
|
|
15
|
-
/** Every thread-record key; only managed ingress may write one. */
|
|
16
|
-
export const THREAD_RECORD_METADATA_PREFIX = "ls_mda_";
|
|
17
|
-
const nonblankString = z.string().refine((value) => value.trim().length > 0);
|
|
18
|
-
const storedChannelSchema = z.strictObject({
|
|
19
|
-
name: nonblankString,
|
|
20
|
-
provider: nonblankString,
|
|
21
|
-
transport: z.enum(["trigger_server", "direct"]),
|
|
22
|
-
source_thread_key: nonblankString,
|
|
23
|
-
address: z.json(),
|
|
24
|
-
delivery_id: nonblankString,
|
|
25
|
-
});
|
|
26
|
-
const storedOriginSchema = z.strictObject({
|
|
27
|
-
channel: storedChannelSchema,
|
|
28
|
-
sender: z.string().nullable().default(null),
|
|
29
|
-
});
|
|
30
|
-
const recordSchema = z.strictObject({
|
|
31
|
-
v: z.literal(1),
|
|
32
|
-
origin: z.unknown().optional(),
|
|
33
|
-
participants: z
|
|
34
|
-
.record(z.string(), z.strictObject({ role: z.enum(["owner", "member"]) }))
|
|
35
|
-
.default({}),
|
|
36
|
-
});
|
|
37
|
-
/** A Trigger binding's target: the channel, its opaque address and its thread. */
|
|
38
|
-
export const triggerTargetSchema = z.object({
|
|
39
|
-
channel_id: nonblankString,
|
|
40
|
-
address: z.record(z.string(), z.json()),
|
|
41
|
-
source_thread_key: nonblankString,
|
|
42
|
-
});
|
|
43
|
-
/** A stored Trigger address: the target's address with its channel id. */
|
|
44
|
-
const triggerAddressSchema = z
|
|
45
|
-
.object({ channel_id: nonblankString })
|
|
46
|
-
.catchall(z.json());
|
|
47
|
-
let reportedMalformed = false;
|
|
48
|
-
/** Say once that a record was ignored, without any of its values. */
|
|
49
|
-
function reportMalformed(part) {
|
|
50
|
-
if (reportedMalformed)
|
|
51
|
-
return;
|
|
52
|
-
reportedMalformed = true;
|
|
53
|
-
logger.warn(`thread ${part} metadata is malformed and was ignored`);
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* A person is a non-blank principal id outside the `mda:` service namespace
|
|
57
|
-
* (`mda:channel`, `mda:slack`, `mda:schedule:*`).
|
|
58
|
-
*/
|
|
59
|
-
export function isPersonPrincipal(id) {
|
|
60
|
-
return typeof id === "string" && !!id.trim() && !id.startsWith("mda:");
|
|
61
|
-
}
|
|
62
|
-
/** The stored form of a binding: no event, and its target as `address`. */
|
|
63
|
-
export function originFromBinding(binding, sender) {
|
|
64
|
-
const trigger = binding.transport === "trigger_server"
|
|
65
|
-
? triggerTargetSchema.safeParse(binding.target)
|
|
66
|
-
: undefined;
|
|
67
|
-
// A Trigger target that doesn't parse is stored as is, and no run can
|
|
68
|
-
// rebuild it.
|
|
69
|
-
const address = trigger?.success
|
|
70
|
-
? { channel_id: trigger.data.channel_id, ...trigger.data.address }
|
|
71
|
-
: binding.target;
|
|
72
|
-
return {
|
|
73
|
-
channel: {
|
|
74
|
-
name: binding.name,
|
|
75
|
-
provider: binding.provider,
|
|
76
|
-
transport: binding.transport,
|
|
77
|
-
source_thread_key: binding.sourceThreadKey,
|
|
78
|
-
address,
|
|
79
|
-
delivery_id: binding.deliveryId,
|
|
80
|
-
},
|
|
81
|
-
sender,
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
/** The binding a stored origin was made from, without its event. */
|
|
85
|
-
export function bindingFromOrigin(origin) {
|
|
86
|
-
const { channel } = origin;
|
|
87
|
-
let target = channel.address;
|
|
88
|
-
if (channel.transport === "trigger_server") {
|
|
89
|
-
const address = triggerAddressSchema.safeParse(channel.address);
|
|
90
|
-
if (!address.success)
|
|
91
|
-
return undefined;
|
|
92
|
-
const { channel_id, ...rest } = address.data;
|
|
93
|
-
target = {
|
|
94
|
-
channel_id,
|
|
95
|
-
address: rest,
|
|
96
|
-
source_thread_key: channel.source_thread_key,
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
return {
|
|
100
|
-
name: channel.name,
|
|
101
|
-
provider: channel.provider,
|
|
102
|
-
transport: channel.transport,
|
|
103
|
-
sourceThreadKey: channel.source_thread_key,
|
|
104
|
-
deliveryId: channel.delivery_id,
|
|
105
|
-
target,
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* The record in a thread's or run's metadata, or `null` when there is none or
|
|
110
|
-
* it is malformed. A malformed origin keeps the participants. With `exact`,
|
|
111
|
-
* as a write must be, a malformed origin or a participant list that does not
|
|
112
|
-
* name exactly the participants rejects the whole record.
|
|
113
|
-
*/
|
|
114
|
-
export function parseThreadRecord(metadata, { exact = false } = {}) {
|
|
115
|
-
if (!isRecord(metadata) || metadata[THREAD_RECORD_METADATA] == null)
|
|
116
|
-
return null;
|
|
117
|
-
const parsed = recordSchema.safeParse(metadata[THREAD_RECORD_METADATA]);
|
|
118
|
-
if (!parsed.success) {
|
|
119
|
-
reportMalformed("record");
|
|
120
|
-
return null;
|
|
121
|
-
}
|
|
122
|
-
const roles = parsed.data.participants;
|
|
123
|
-
const origin = parsed.data.origin == null
|
|
124
|
-
? undefined
|
|
125
|
-
: storedOriginSchema.safeParse(parsed.data.origin);
|
|
126
|
-
if (origin?.success === false)
|
|
127
|
-
reportMalformed("origin");
|
|
128
|
-
// JSON object keys that look like integers lose their order, so the list
|
|
129
|
-
// carries who joined first.
|
|
130
|
-
const listed = metadata[THREAD_PARTICIPANTS_METADATA];
|
|
131
|
-
const ids = isStringList(listed) &&
|
|
132
|
-
listed.length === Object.keys(roles).length &&
|
|
133
|
-
new Set(listed).size === listed.length &&
|
|
134
|
-
listed.every((id) => Object.hasOwn(roles, id))
|
|
135
|
-
? listed
|
|
136
|
-
: undefined;
|
|
137
|
-
if (exact && (origin?.success === false || !ids))
|
|
138
|
-
return null;
|
|
139
|
-
return {
|
|
140
|
-
origin: origin?.success ? origin.data : null,
|
|
141
|
-
participants: (ids ?? Object.keys(roles)).map((id) => ({
|
|
142
|
-
id,
|
|
143
|
-
role: roles[id].role,
|
|
144
|
-
})),
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* The record after a channel event: the event's channel is the origin, and a
|
|
149
|
-
* person who sends it joins, as owner when they are the first.
|
|
150
|
-
*/
|
|
151
|
-
export function nextThreadRecord(current, binding, senderId) {
|
|
152
|
-
const sender = isPersonPrincipal(senderId) ? senderId : null;
|
|
153
|
-
const participants = [...(current?.participants ?? [])];
|
|
154
|
-
if (sender !== null && !participants.some(({ id }) => id === sender))
|
|
155
|
-
participants.push({
|
|
156
|
-
id: sender,
|
|
157
|
-
role: participants.length ? "member" : "owner",
|
|
158
|
-
});
|
|
159
|
-
return { origin: originFromBinding(binding, sender), participants };
|
|
160
|
-
}
|
|
161
|
-
/** The metadata keys that store a record. */
|
|
162
|
-
export function threadRecordMetadata(record) {
|
|
163
|
-
return {
|
|
164
|
-
[THREAD_RECORD_METADATA]: {
|
|
165
|
-
v: 1,
|
|
166
|
-
// Absent rather than `null`: a SQLite metadata patch deletes nulls.
|
|
167
|
-
...(record.origin !== null && { origin: record.origin }),
|
|
168
|
-
participants: Object.fromEntries(record.participants.map(({ id, role }) => [id, { role }])),
|
|
169
|
-
},
|
|
170
|
-
[THREAD_PARTICIPANTS_METADATA]: record.participants.map(({ id }) => id),
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
/** Whether metadata already stores exactly this record. */
|
|
174
|
-
export function storesThreadRecord(metadata, record) {
|
|
175
|
-
const stored = threadRecordMetadata(record);
|
|
176
|
-
return (isRecord(metadata) &&
|
|
177
|
-
isDeepStrictEqual(metadata[THREAD_RECORD_METADATA], stored[THREAD_RECORD_METADATA]) &&
|
|
178
|
-
isDeepStrictEqual(metadata[THREAD_PARTICIPANTS_METADATA], stored[THREAD_PARTICIPANTS_METADATA]));
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Remove every thread-record key from a metadata object, in place. With
|
|
182
|
-
* `keepRecord`, the two keys a record is stored in stay.
|
|
183
|
-
*/
|
|
184
|
-
export function stripThreadRecordKeys(metadata, { keepRecord = false } = {}) {
|
|
185
|
-
if (!isRecord(metadata))
|
|
186
|
-
return;
|
|
187
|
-
for (const key of Object.keys(metadata)) {
|
|
188
|
-
if (key.startsWith(THREAD_RECORD_METADATA_PREFIX) &&
|
|
189
|
-
!(keepRecord &&
|
|
190
|
-
(key === THREAD_RECORD_METADATA || key === THREAD_PARTICIPANTS_METADATA)))
|
|
191
|
-
delete metadata[key];
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
/** Whether metadata names any thread-record key. */
|
|
195
|
-
export function hasThreadRecordKeys(metadata) {
|
|
196
|
-
return (isRecord(metadata) &&
|
|
197
|
-
Object.keys(metadata).some((key) => key.startsWith(THREAD_RECORD_METADATA_PREFIX)));
|
|
198
|
-
}
|
|
199
|
-
function isStringList(value) {
|
|
200
|
-
return (Array.isArray(value) && value.every((item) => typeof item === "string"));
|
|
201
|
-
}
|
|
202
|
-
function isRecord(value) {
|
|
203
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
204
|
-
}
|
|
205
|
-
//# sourceMappingURL=thread-record.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"thread-record.js","sourceRoot":"","sources":["../../src/runtime/thread-record.ts"],"names":[],"mappings":"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"}
|
package/dist/values.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
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
|
package/dist/values.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
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
|
package/dist/values.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|