managed-deepagents 0.9.6-dev.14 → 0.9.6-dev.15
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 +953 -57
- package/dist/agent-auth.d.ts +1 -1
- package/dist/agent-auth.d.ts.map +1 -1
- package/dist/agent-auth.js +36 -12
- package/dist/agent-auth.js.map +1 -1
- package/dist/channels/actor.d.ts +43 -0
- package/dist/channels/actor.d.ts.map +1 -0
- package/dist/channels/actor.js +2 -0
- package/dist/channels/actor.js.map +1 -0
- package/dist/channels/assistant-text.d.ts +24 -0
- package/dist/channels/assistant-text.d.ts.map +1 -1
- package/dist/channels/assistant-text.js +65 -1
- package/dist/channels/assistant-text.js.map +1 -1
- package/dist/channels/binding.d.ts +20 -1
- package/dist/channels/binding.d.ts.map +1 -1
- package/dist/channels/binding.js +39 -10
- package/dist/channels/binding.js.map +1 -1
- package/dist/channels/delivery.d.ts +21 -0
- package/dist/channels/delivery.d.ts.map +1 -0
- package/dist/channels/delivery.js +196 -0
- package/dist/channels/delivery.js.map +1 -0
- package/dist/channels/github/connections.d.ts +11 -0
- package/dist/channels/github/connections.d.ts.map +1 -0
- package/dist/channels/github/connections.js +14 -0
- package/dist/channels/github/connections.js.map +1 -0
- package/dist/channels/github/index.d.ts +8 -0
- package/dist/channels/github/index.d.ts.map +1 -0
- package/dist/channels/github/index.js +274 -0
- package/dist/channels/github/index.js.map +1 -0
- package/dist/channels/github/mentions.d.ts +12 -0
- package/dist/channels/github/mentions.d.ts.map +1 -0
- package/dist/channels/github/mentions.js +185 -0
- package/dist/channels/github/mentions.js.map +1 -0
- package/dist/channels/github/schema.d.ts +4165 -0
- package/dist/channels/github/schema.d.ts.map +1 -0
- package/dist/channels/github/schema.js +221 -0
- package/dist/channels/github/schema.js.map +1 -0
- package/dist/channels/github/types.d.ts +163 -0
- package/dist/channels/github/types.d.ts.map +1 -0
- package/dist/channels/github/types.js +2 -0
- package/dist/channels/github/types.js.map +1 -0
- package/dist/channels/http/endpoint.d.ts +95 -0
- package/dist/channels/http/endpoint.d.ts.map +1 -0
- package/dist/channels/http/endpoint.js +276 -0
- package/dist/channels/http/endpoint.js.map +1 -0
- package/dist/channels/http/http.d.ts.map +1 -1
- package/dist/channels/http/http.js +386 -65
- package/dist/channels/http/http.js.map +1 -1
- package/dist/channels/http/index.d.ts +2 -1
- package/dist/channels/http/index.d.ts.map +1 -1
- package/dist/channels/http/index.js +14 -10
- package/dist/channels/http/index.js.map +1 -1
- package/dist/channels/http/ingress.d.ts +65 -5
- package/dist/channels/http/ingress.d.ts.map +1 -1
- package/dist/channels/http/ingress.js +149 -33
- package/dist/channels/http/ingress.js.map +1 -1
- package/dist/channels/http/provider.d.ts +119 -0
- package/dist/channels/http/provider.d.ts.map +1 -0
- package/dist/channels/http/provider.js +227 -0
- package/dist/channels/http/provider.js.map +1 -0
- package/dist/channels/http/studio.d.ts +24 -0
- package/dist/channels/http/studio.d.ts.map +1 -0
- package/dist/channels/http/studio.js +95 -0
- package/dist/channels/http/studio.js.map +1 -0
- package/dist/channels/http/threads.d.ts +7 -0
- package/dist/channels/http/threads.d.ts.map +1 -0
- package/dist/channels/http/threads.js +10 -0
- package/dist/channels/http/threads.js.map +1 -0
- package/dist/channels/http/types.d.ts +143 -2
- package/dist/channels/http/types.d.ts.map +1 -1
- package/dist/channels/linear/connections.d.ts +11 -0
- package/dist/channels/linear/connections.d.ts.map +1 -0
- package/dist/channels/linear/connections.js +14 -0
- package/dist/channels/linear/connections.js.map +1 -0
- package/dist/channels/linear/graphql.d.ts +57 -0
- package/dist/channels/linear/graphql.d.ts.map +1 -0
- package/dist/channels/linear/graphql.js +167 -0
- package/dist/channels/linear/graphql.js.map +1 -0
- package/dist/channels/linear/index.d.ts +9 -0
- package/dist/channels/linear/index.d.ts.map +1 -0
- package/dist/channels/linear/index.js +489 -0
- package/dist/channels/linear/index.js.map +1 -0
- package/dist/channels/linear/schema.d.ts +1050 -0
- package/dist/channels/linear/schema.d.ts.map +1 -0
- package/dist/channels/linear/schema.js +255 -0
- package/dist/channels/linear/schema.js.map +1 -0
- package/dist/channels/linear/types.d.ts +162 -0
- package/dist/channels/linear/types.d.ts.map +1 -0
- package/dist/channels/linear/types.js +2 -0
- package/dist/channels/linear/types.js.map +1 -0
- package/dist/channels/message-schema.d.ts +2 -0
- package/dist/channels/message-schema.d.ts.map +1 -1
- package/dist/channels/message-schema.js +4 -0
- package/dist/channels/message-schema.js.map +1 -1
- package/dist/channels/messaging-registry.d.ts +16 -0
- package/dist/channels/messaging-registry.d.ts.map +1 -1
- package/dist/channels/messaging-registry.js +29 -0
- package/dist/channels/messaging-registry.js.map +1 -1
- package/dist/channels/reserved-connections.d.ts +12 -0
- package/dist/channels/reserved-connections.d.ts.map +1 -0
- package/dist/channels/reserved-connections.js +55 -0
- package/dist/channels/reserved-connections.js.map +1 -0
- package/dist/channels/run-input.d.ts +71 -0
- package/dist/channels/run-input.d.ts.map +1 -0
- package/dist/channels/run-input.js +155 -0
- package/dist/channels/run-input.js.map +1 -0
- 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 +12 -23
- package/dist/channels/schedule-delivery.js.map +1 -1
- package/dist/channels/slack/api.d.ts +2 -0
- package/dist/channels/slack/api.d.ts.map +1 -1
- package/dist/channels/slack/api.js +6 -0
- package/dist/channels/slack/api.js.map +1 -1
- package/dist/channels/slack/connections.d.ts +6 -0
- package/dist/channels/slack/connections.d.ts.map +1 -0
- package/dist/channels/slack/connections.js +6 -0
- package/dist/channels/slack/connections.js.map +1 -0
- package/dist/channels/slack/events.d.ts +272 -0
- package/dist/channels/slack/events.d.ts.map +1 -0
- package/dist/channels/slack/events.js +235 -0
- package/dist/channels/slack/events.js.map +1 -0
- package/dist/channels/slack/files.d.ts.map +1 -1
- package/dist/channels/slack/files.js +2 -3
- package/dist/channels/slack/files.js.map +1 -1
- package/dist/channels/slack/index.d.ts +76 -2
- package/dist/channels/slack/index.d.ts.map +1 -1
- package/dist/channels/slack/index.js +177 -6
- package/dist/channels/slack/index.js.map +1 -1
- package/dist/channels/slack/message-content.d.ts.map +1 -1
- package/dist/channels/slack/message-content.js +23 -28
- package/dist/channels/slack/message-content.js.map +1 -1
- package/dist/channels/slack/status.d.ts +76 -0
- package/dist/channels/slack/status.d.ts.map +1 -0
- package/dist/channels/slack/status.js +427 -0
- package/dist/channels/slack/status.js.map +1 -0
- package/dist/channels/source-providers.js +1 -1
- package/dist/channels/source-providers.js.map +1 -1
- package/dist/channels/trigger/client.d.ts.map +1 -1
- package/dist/channels/trigger/client.js +6 -15
- package/dist/channels/trigger/client.js.map +1 -1
- package/dist/channels/trigger/http.d.ts +114 -3
- package/dist/channels/trigger/http.d.ts.map +1 -1
- package/dist/channels/trigger/http.js +314 -82
- package/dist/channels/trigger/http.js.map +1 -1
- package/dist/channels/trigger/identity-context.d.ts +1 -1
- package/dist/channels/trigger/identity-context.d.ts.map +1 -1
- package/dist/channels/trigger/identity-context.js +2 -3
- package/dist/channels/trigger/identity-context.js.map +1 -1
- package/dist/channels/trigger/ingress.d.ts +38 -1
- package/dist/channels/trigger/ingress.d.ts.map +1 -1
- package/dist/channels/trigger/ingress.js +49 -23
- package/dist/channels/trigger/ingress.js.map +1 -1
- package/dist/channels/trigger/types.d.ts +82 -3
- package/dist/channels/trigger/types.d.ts.map +1 -1
- package/dist/channels/trigger/types.js +36 -0
- package/dist/channels/trigger/types.js.map +1 -1
- package/dist/channels/types.d.ts +19 -3
- package/dist/channels/types.d.ts.map +1 -1
- package/dist/channels/types.js +2 -0
- package/dist/channels/types.js.map +1 -1
- package/dist/connections.d.ts +31 -0
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +108 -11
- package/dist/connections.js.map +1 -1
- package/dist/credential-gate.d.ts +2 -0
- package/dist/credential-gate.d.ts.map +1 -1
- package/dist/credential-gate.js +37 -3
- package/dist/credential-gate.js.map +1 -1
- package/dist/define-deep-agent.d.ts.map +1 -1
- package/dist/define-deep-agent.js +6 -0
- package/dist/define-deep-agent.js.map +1 -1
- package/dist/identity/loopback.d.ts +2 -14
- package/dist/identity/loopback.d.ts.map +1 -1
- package/dist/identity/loopback.js +4 -25
- package/dist/identity/loopback.js.map +1 -1
- package/dist/identity/slack/links.js +3 -3
- package/dist/identity/slack/links.js.map +1 -1
- package/dist/index.d.ts +15 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/ingress/index.d.ts +0 -8
- package/dist/ingress/index.d.ts.map +1 -1
- package/dist/ingress/index.js +2 -32
- package/dist/ingress/index.js.map +1 -1
- package/dist/ingress/loopback.js +4 -4
- package/dist/ingress/loopback.js.map +1 -1
- package/dist/ingress/runs.d.ts +74 -1
- package/dist/ingress/runs.d.ts.map +1 -1
- package/dist/ingress/runs.js +176 -16
- package/dist/ingress/runs.js.map +1 -1
- package/dist/managed-composition.d.ts.map +1 -1
- package/dist/managed-composition.js +8 -13
- package/dist/managed-composition.js.map +1 -1
- package/dist/memory/instructions-middleware.d.ts.map +1 -1
- package/dist/memory/instructions-middleware.js +5 -6
- 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 +4 -29
- package/dist/namespaces.js.map +1 -1
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +151 -21
- package/dist/runtime/auth.js.map +1 -1
- package/dist/runtime/channel-icon.d.ts +22 -0
- package/dist/runtime/channel-icon.d.ts.map +1 -0
- package/dist/runtime/channel-icon.js +70 -0
- package/dist/runtime/channel-icon.js.map +1 -0
- package/dist/runtime/channel.d.ts +6 -0
- package/dist/runtime/channel.d.ts.map +1 -1
- package/dist/runtime/channel.js.map +1 -1
- package/dist/runtime/http.d.ts +0 -15
- package/dist/runtime/http.d.ts.map +1 -1
- package/dist/runtime/http.js +0 -37
- package/dist/runtime/http.js.map +1 -1
- package/dist/runtime/identity-http.d.ts +2 -0
- package/dist/runtime/identity-http.d.ts.map +1 -1
- package/dist/runtime/identity-http.js +40 -16
- package/dist/runtime/identity-http.js.map +1 -1
- package/dist/runtime/identity-runtime.d.ts +10 -0
- package/dist/runtime/identity-runtime.d.ts.map +1 -1
- package/dist/runtime/identity-runtime.js +22 -0
- package/dist/runtime/identity-runtime.js.map +1 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +46 -47
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/log.d.ts +14 -8
- package/dist/runtime/log.d.ts.map +1 -1
- package/dist/runtime/log.js +7 -16
- package/dist/runtime/log.js.map +1 -1
- package/dist/runtime/managed-middleware.d.ts.map +1 -1
- package/dist/runtime/managed-middleware.js +14 -1
- package/dist/runtime/managed-middleware.js.map +1 -1
- package/dist/runtime/managed-thread.d.ts +60 -0
- package/dist/runtime/managed-thread.d.ts.map +1 -0
- package/dist/runtime/managed-thread.js +76 -0
- package/dist/runtime/managed-thread.js.map +1 -0
- package/dist/runtime/managed-tools.d.ts +10 -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 +11 -82
- package/dist/runtime/memory/mounts.d.ts.map +1 -1
- package/dist/runtime/memory/mounts.js +34 -173
- package/dist/runtime/memory/mounts.js.map +1 -1
- package/dist/runtime/memory/policy.d.ts.map +1 -1
- package/dist/runtime/memory/policy.js +1 -3
- package/dist/runtime/memory/policy.js.map +1 -1
- package/dist/runtime/run-input.d.ts +10 -0
- package/dist/runtime/run-input.d.ts.map +1 -1
- package/dist/runtime/run-input.js +47 -19
- 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 +9 -7
- package/dist/runtime/sandbox-manager.js.map +1 -1
- package/dist/runtime/schedule-auth.d.ts +17 -0
- package/dist/runtime/schedule-auth.d.ts.map +1 -1
- package/dist/runtime/schedule-auth.js +41 -3
- 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/thread-record.d.ts +81 -0
- package/dist/runtime/thread-record.d.ts.map +1 -0
- package/dist/runtime/thread-record.js +205 -0
- package/dist/runtime/thread-record.js.map +1 -0
- package/dist/runtime/types.d.ts +5 -1
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime-schedules.d.ts +13 -0
- package/dist/runtime-schedules.d.ts.map +1 -1
- package/dist/runtime-schedules.js +86 -22
- package/dist/runtime-schedules.js.map +1 -1
- package/dist/sandbox.d.ts +0 -6
- package/dist/sandbox.d.ts.map +1 -1
- package/dist/sandbox.js +3 -7
- package/dist/sandbox.js.map +1 -1
- package/dist/schedule-channel.d.ts +5 -2
- package/dist/schedule-channel.d.ts.map +1 -1
- package/dist/schedule-channel.js +13 -12
- package/dist/schedule-channel.js.map +1 -1
- package/dist/telemetry/run-listener.d.ts +1 -1
- package/dist/telemetry/run-listener.d.ts.map +1 -1
- package/dist/telemetry/run-listener.js +2 -32
- package/dist/telemetry/run-listener.js.map +1 -1
- package/dist/telemetry/transport/posthog.d.ts +1 -13
- package/dist/telemetry/transport/posthog.d.ts.map +1 -1
- package/dist/telemetry/transport/posthog.js +30 -68
- package/dist/telemetry/transport/posthog.js.map +1 -1
- package/dist/values.d.ts +15 -0
- package/dist/values.d.ts.map +1 -0
- package/dist/values.js +31 -0
- package/dist/values.js.map +1 -0
- package/package.json +11 -11
- package/dist/concurrency/batch-processor.d.ts +0 -51
- package/dist/concurrency/batch-processor.d.ts.map +0 -1
- package/dist/concurrency/batch-processor.js +0 -99
- package/dist/concurrency/batch-processor.js.map +0 -1
- package/dist/resilience/retry.d.ts +0 -21
- package/dist/resilience/retry.d.ts.map +0 -1
- package/dist/resilience/retry.js +0 -40
- package/dist/resilience/retry.js.map +0 -1
- package/dist/runtime/graph-build-timing.d.ts +0 -30
- package/dist/runtime/graph-build-timing.d.ts.map +0 -1
- package/dist/runtime/graph-build-timing.js +0 -50
- package/dist/runtime/graph-build-timing.js.map +0 -1
- package/dist/telemetry/lifecycle.d.ts +0 -26
- package/dist/telemetry/lifecycle.d.ts.map +0 -1
- package/dist/telemetry/lifecycle.js +0 -49
- package/dist/telemetry/lifecycle.js.map +0 -1
- package/dist/telemetry/otel/context.d.ts +0 -57
- package/dist/telemetry/otel/context.d.ts.map +0 -1
- package/dist/telemetry/otel/context.js +0 -122
- package/dist/telemetry/otel/context.js.map +0 -1
- package/dist/telemetry/otel/exporter.d.ts +0 -53
- package/dist/telemetry/otel/exporter.d.ts.map +0 -1
- package/dist/telemetry/otel/exporter.js +0 -190
- package/dist/telemetry/otel/exporter.js.map +0 -1
- package/dist/telemetry/otel/index.d.ts +0 -6
- package/dist/telemetry/otel/index.d.ts.map +0 -1
- package/dist/telemetry/otel/index.js +0 -3
- package/dist/telemetry/otel/index.js.map +0 -1
- package/dist/telemetry/otel/otlp.d.ts +0 -44
- package/dist/telemetry/otel/otlp.d.ts.map +0 -1
- package/dist/telemetry/otel/otlp.js +0 -7
- package/dist/telemetry/otel/otlp.js.map +0 -1
- package/dist/telemetry/otel/truncate.d.ts +0 -10
- package/dist/telemetry/otel/truncate.d.ts.map +0 -1
- package/dist/telemetry/otel/truncate.js +0 -39
- package/dist/telemetry/otel/truncate.js.map +0 -1
|
@@ -1,9 +1,29 @@
|
|
|
1
1
|
/** Trigger Server-backed Slack channel authoring surface. */
|
|
2
2
|
import type { ChannelManifest } from "../manifest.js";
|
|
3
3
|
import { type ReactionChoice } from "../reactions.js";
|
|
4
|
+
import { type SlackStatusChoice } from "./status.js";
|
|
5
|
+
import { type SlackEventOptions } from "./events.js";
|
|
4
6
|
import { type Channel } from "../../runtime/channel.js";
|
|
7
|
+
import { type ChannelReply } from "../types.js";
|
|
5
8
|
export type { ChannelManifest } from "../manifest.js";
|
|
6
|
-
export
|
|
9
|
+
export type { SlackStatusChoice, SlackStatusChooser, SlackStatusContext, SlackStatusState, SlackStatusStep, SlackStatusStepStatus, SlackStatusValue, } from "./status.js";
|
|
10
|
+
export type { SlackActor, SlackChannelThread, SlackEndpointRequest, SlackEvent, SlackEventCallback, SlackEventKey, SlackEventResult, SlackFile, SlackInteractionEvent, SlackMessageEvent, SlackMessageKey, } from "./events.js";
|
|
11
|
+
declare const SLACK_TRIGGER_MODES: readonly ["mention", "thread", "all"];
|
|
12
|
+
/**
|
|
13
|
+
* Which channel messages start a run. DMs never need a mention.
|
|
14
|
+
* - `"mention"`: only messages that @-mention your agent, including replies in
|
|
15
|
+
* a thread it already answered.
|
|
16
|
+
* - `"thread"`: a message that @-mentions your agent, and every later reply in
|
|
17
|
+
* that thread, so people only mention it once. A thread whose mention your
|
|
18
|
+
* `onEvent` handler declined stays declined: its replies start nothing.
|
|
19
|
+
* - `"all"`: every message in the channels your agent is in, mentioned or not.
|
|
20
|
+
*/
|
|
21
|
+
export type SlackTriggerMode = (typeof SLACK_TRIGGER_MODES)[number];
|
|
22
|
+
/** @internal */
|
|
23
|
+
export declare const SLACK_UNREACHABLE_MESSAGE_HANDLER = "channels.slack({ onEvent: { message } }) is never called with triggerMode \"mention\", which only delivers mentions and direct messages; use triggerMode \"thread\" or \"all\".";
|
|
24
|
+
/** @internal */
|
|
25
|
+
export declare const SLACK_TRIGGER_ON_ALL_MESSAGES_DEPRECATION = "channels.slack({ triggerOnAllMessages }) is deprecated; use triggerMode instead (triggerOnAllMessages: true is triggerMode: \"all\").";
|
|
26
|
+
export interface SlackChannelConfig extends SlackEventOptions {
|
|
7
27
|
/** Your agent's name, used in mentions like `@support-agent`. */
|
|
8
28
|
name?: string;
|
|
9
29
|
/** A short description of what your agent does. */
|
|
@@ -11,7 +31,23 @@ export interface SlackChannelConfig {
|
|
|
11
31
|
icon?: string;
|
|
12
32
|
/** The Slack app background as a `#RRGGBB` hex color. */
|
|
13
33
|
backgroundColor?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Which channel messages start a run; see {@link SlackTriggerMode}. New Slack
|
|
36
|
+
* apps use `"mention"`; set `"thread"` to keep replying in a thread after one
|
|
37
|
+
* mention. When unset, a deployed agent keeps its current mode, except that an
|
|
38
|
+
* all-messages agent that drops `"all"` moves to `"mention"`. Redeploying with
|
|
39
|
+
* a new mode updates the existing Slack app.
|
|
40
|
+
*/
|
|
41
|
+
triggerMode?: SlackTriggerMode;
|
|
42
|
+
/**
|
|
43
|
+
* @deprecated Use `triggerMode` instead; `true` is `triggerMode: "all"`.
|
|
44
|
+
* When both are set they must agree.
|
|
45
|
+
*/
|
|
14
46
|
triggerOnAllMessages?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Let messages from other bots start runs. In every trigger mode, a bot must
|
|
49
|
+
* still @-mention your agent explicitly in the message.
|
|
50
|
+
*/
|
|
15
51
|
allowBotTriggers?: boolean;
|
|
16
52
|
/**
|
|
17
53
|
* Emoji to react with when a message starts a run; `eyes` by default, and
|
|
@@ -19,6 +55,38 @@ export interface SlackChannelConfig {
|
|
|
19
55
|
* function that picks one per message. Return `null` to skip a reaction.
|
|
20
56
|
*/
|
|
21
57
|
reactions?: ReactionChoice;
|
|
58
|
+
/**
|
|
59
|
+
* What Slack shows while a run works, in place of its working phrases
|
|
60
|
+
* ("is thinking it through...", ...): a line, or a list of steps, each a
|
|
61
|
+
* title or `{ title, status }` (`pending` by default, `in_progress`,
|
|
62
|
+
* `complete` or `error`). Pass one to show it for the whole run, or a
|
|
63
|
+
* function of the agent's state, called as the run starts, before and after
|
|
64
|
+
* each model call, and every 4 s while a model or tool call runs. Return
|
|
65
|
+
* `null` to leave what's shown.
|
|
66
|
+
*
|
|
67
|
+
* Apps with Slack's agent view show it as a plan above the reply: the line
|
|
68
|
+
* is its title, and each step one of its tasks. Other apps show the line,
|
|
69
|
+
* or the first step not yet done, as the thread's status. A function that
|
|
70
|
+
* throws, takes longer than 1 s, or returns something else leaves the
|
|
71
|
+
* status as it is.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```ts
|
|
75
|
+
* status: ({ state }) =>
|
|
76
|
+
* state.todos?.map((todo) => ({
|
|
77
|
+
* title: todo.content,
|
|
78
|
+
* status: todo.status === "completed" ? "complete" : todo.status,
|
|
79
|
+
* })) ?? "is reading the thread",
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
status?: SlackStatusChoice;
|
|
83
|
+
/**
|
|
84
|
+
* Whether the channel posts the run's final answer in the thread: `auto`
|
|
85
|
+
* (the default) or `none`, to leave replying to the agent, through
|
|
86
|
+
* `runtime.channel.post` or its own tools. The status, reactions and
|
|
87
|
+
* `onFinish` stay as they are. `none` needs an `mda` CLI that deploys it.
|
|
88
|
+
*/
|
|
89
|
+
reply?: ChannelReply;
|
|
22
90
|
}
|
|
23
91
|
export interface TriggerSlackAppConfig {
|
|
24
92
|
name?: string;
|
|
@@ -28,12 +96,18 @@ export interface TriggerSlackAppConfig {
|
|
|
28
96
|
}
|
|
29
97
|
export interface RequiredTriggerSlackChannelConfig {
|
|
30
98
|
app: TriggerSlackAppConfig;
|
|
31
|
-
|
|
99
|
+
triggerMode?: SlackTriggerMode;
|
|
100
|
+
/** @deprecated Use `triggerMode` instead. */
|
|
101
|
+
triggerOnAllMessages?: boolean;
|
|
32
102
|
allowBotTriggers: boolean;
|
|
33
103
|
reactions?: ReactionChoice;
|
|
104
|
+
status?: SlackStatusChoice;
|
|
105
|
+
reply?: ChannelReply;
|
|
34
106
|
}
|
|
35
107
|
/** Branded Trigger-backed Slack declaration. */
|
|
36
108
|
export type SlackChannel = Channel & RequiredTriggerSlackChannelConfig & {
|
|
109
|
+
/** @deprecated Read `triggerMode` instead. */
|
|
110
|
+
triggerOnAllMessages: boolean;
|
|
37
111
|
kind: "slack";
|
|
38
112
|
transport: "trigger_server";
|
|
39
113
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,45 @@
|
|
|
1
1
|
/** Trigger Server-backed Slack channel authoring surface. */
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { DEFAULT_REACTION_EMOJI, isEmojiName, } from "../reactions.js";
|
|
4
|
-
import { handleTriggerChannelEventRequest } from "../trigger/http.js";
|
|
4
|
+
import { handleTriggerChannelEventRequest, } from "../trigger/http.js";
|
|
5
|
+
import { normalizeRunInput } from "../run-input.js";
|
|
6
|
+
import { checkEventKeys, finishEvents, resolveEndpoints, runEventHandler, } from "../http/provider.js";
|
|
7
|
+
import { isEndpointCallback } from "../http/endpoint.js";
|
|
8
|
+
import { MULTITASK_STRATEGIES } from "../../ingress/runs.js";
|
|
9
|
+
import { logger } from "../../runtime/log.js";
|
|
5
10
|
import { withSlackRichContent } from "./message-content.js";
|
|
11
|
+
import { isSlackStatusValue, startedStatus, } from "./status.js";
|
|
12
|
+
import { DecidedSlackEvents, SLACK_ENDPOINT_EVENT_FIELDS, SLACK_EVENT_KEYS, finishedDelivery, isPlainSlackMessage, readSlackEvent, slackThread, } from "./events.js";
|
|
6
13
|
import { CHANNEL_BRAND, } from "../../runtime/channel.js";
|
|
14
|
+
import { isRecord } from "../../values.js";
|
|
15
|
+
import { CHANNEL_REPLIES } from "../types.js";
|
|
16
|
+
const SLACK_TRIGGER_MODES = ["mention", "thread", "all"];
|
|
17
|
+
/** @internal */
|
|
18
|
+
export const SLACK_UNREACHABLE_MESSAGE_HANDLER = 'channels.slack({ onEvent: { message } }) is never called with triggerMode "mention", which only delivers mentions and direct messages; use triggerMode "thread" or "all".';
|
|
19
|
+
/** @internal */
|
|
20
|
+
export const SLACK_TRIGGER_ON_ALL_MESSAGES_DEPRECATION = 'channels.slack({ triggerOnAllMessages }) is deprecated; use triggerMode instead (triggerOnAllMessages: true is triggerMode: "all").';
|
|
21
|
+
function emitUnreachableMessageHandler() {
|
|
22
|
+
if (typeof process !== "undefined" &&
|
|
23
|
+
typeof process.emitWarning === "function") {
|
|
24
|
+
process.emitWarning(SLACK_UNREACHABLE_MESSAGE_HANDLER, {
|
|
25
|
+
code: "MDA_SLACK_UNREACHABLE_MESSAGE_HANDLER",
|
|
26
|
+
});
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
console.warn(SLACK_UNREACHABLE_MESSAGE_HANDLER);
|
|
30
|
+
}
|
|
31
|
+
function emitTriggerOnAllMessagesDeprecation() {
|
|
32
|
+
if (typeof process !== "undefined" &&
|
|
33
|
+
typeof process.emitWarning === "function") {
|
|
34
|
+
process.emitWarning(SLACK_TRIGGER_ON_ALL_MESSAGES_DEPRECATION, {
|
|
35
|
+
type: "DeprecationWarning",
|
|
36
|
+
code: "MDA_SLACK_TRIGGER_ON_ALL_MESSAGES",
|
|
37
|
+
});
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
console.warn(SLACK_TRIGGER_ON_ALL_MESSAGES_DEPRECATION);
|
|
41
|
+
}
|
|
42
|
+
const EVENT_KEYS = new Set(SLACK_EVENT_KEYS);
|
|
7
43
|
const slackChannelConfig = z
|
|
8
44
|
.object({
|
|
9
45
|
name: z
|
|
@@ -34,7 +70,8 @@ const slackChannelConfig = z
|
|
|
34
70
|
})
|
|
35
71
|
.transform((value) => value.toLowerCase())
|
|
36
72
|
.optional(),
|
|
37
|
-
|
|
73
|
+
triggerMode: z.enum(SLACK_TRIGGER_MODES).optional(),
|
|
74
|
+
triggerOnAllMessages: z.boolean().optional(),
|
|
38
75
|
allowBotTriggers: z.boolean().default(false),
|
|
39
76
|
reactions: z
|
|
40
77
|
.custom((value) => typeof value === "boolean" ||
|
|
@@ -44,8 +81,41 @@ const slackChannelConfig = z
|
|
|
44
81
|
})
|
|
45
82
|
.transform((value) => (value === true ? DEFAULT_REACTION_EMOJI : value))
|
|
46
83
|
.default(DEFAULT_REACTION_EMOJI),
|
|
84
|
+
status: z
|
|
85
|
+
.custom((value) => typeof value === "function" || isSlackStatusValue(value), {
|
|
86
|
+
message: "Must be a status line, a list of steps (titles or { title, status }), or a function returning one",
|
|
87
|
+
})
|
|
88
|
+
.optional(),
|
|
89
|
+
// Keys and handlers are checked as the GitHub and Linear channels check
|
|
90
|
+
// theirs.
|
|
91
|
+
onEvent: z
|
|
92
|
+
.custom(isRecord, {
|
|
93
|
+
message: "Must be an object of handlers",
|
|
94
|
+
})
|
|
95
|
+
.optional(),
|
|
96
|
+
multitaskStrategy: z.enum(MULTITASK_STRATEGIES).optional(),
|
|
97
|
+
reply: z.enum(CHANNEL_REPLIES).optional(),
|
|
98
|
+
onFinish: z
|
|
99
|
+
.custom((value) => typeof value === "function", { message: "Must be a function" })
|
|
100
|
+
.optional(),
|
|
47
101
|
})
|
|
48
|
-
.strict()
|
|
102
|
+
.strict()
|
|
103
|
+
.superRefine((value, ctx) => {
|
|
104
|
+
if (value.triggerMode !== undefined &&
|
|
105
|
+
value.triggerOnAllMessages !== undefined &&
|
|
106
|
+
value.triggerOnAllMessages !== (value.triggerMode === "all")) {
|
|
107
|
+
ctx.addIssue({
|
|
108
|
+
code: "custom",
|
|
109
|
+
path: ["triggerOnAllMessages"],
|
|
110
|
+
message: "Conflicts with triggerMode; set only triggerMode",
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
/** The explicitly selected mode; unset leaves the default to Trigger Server. */
|
|
115
|
+
function resolveTriggerMode(definition) {
|
|
116
|
+
return (definition.triggerMode ??
|
|
117
|
+
(definition.triggerOnAllMessages ? "all" : undefined));
|
|
118
|
+
}
|
|
49
119
|
function hide(target, key, value) {
|
|
50
120
|
Object.defineProperty(target, key, { value, enumerable: false });
|
|
51
121
|
}
|
|
@@ -61,7 +131,26 @@ export function slackChannel(config = {}) {
|
|
|
61
131
|
.join("; ");
|
|
62
132
|
throw new Error(`channels.slack(...) ${message}`);
|
|
63
133
|
}
|
|
64
|
-
const { name, description, icon, backgroundColor, ...options } = result.data;
|
|
134
|
+
const { name, description, icon, backgroundColor, triggerMode, triggerOnAllMessages, onEvent, multitaskStrategy, onFinish, ...options } = result.data;
|
|
135
|
+
if (triggerOnAllMessages !== undefined) {
|
|
136
|
+
emitTriggerOnAllMessagesDeprecation();
|
|
137
|
+
}
|
|
138
|
+
// The events handlers got, kept for `onFinish`, so both see the same kind.
|
|
139
|
+
const decided = onFinish ? new DecidedSlackEvents() : undefined;
|
|
140
|
+
// Each endpoint stands for the handler that asks it; a bad one throws here.
|
|
141
|
+
const handlers = onEvent &&
|
|
142
|
+
resolveEndpoints("Slack",
|
|
143
|
+
// By key; the channel calls each only with its own key's events.
|
|
144
|
+
onEvent, SLACK_ENDPOINT_EVENT_FIELDS);
|
|
145
|
+
if (handlers)
|
|
146
|
+
checkEventKeys("Slack", handlers, EVENT_KEYS);
|
|
147
|
+
const resolvedTriggerMode = resolveTriggerMode({
|
|
148
|
+
triggerMode,
|
|
149
|
+
triggerOnAllMessages,
|
|
150
|
+
});
|
|
151
|
+
if (resolvedTriggerMode === "mention" && handlers?.message) {
|
|
152
|
+
emitUnreachableMessageHandler();
|
|
153
|
+
}
|
|
65
154
|
const self = {
|
|
66
155
|
kind: "slack",
|
|
67
156
|
transport: "trigger_server",
|
|
@@ -71,6 +160,10 @@ export function slackChannel(config = {}) {
|
|
|
71
160
|
...(icon === undefined ? {} : { icon }),
|
|
72
161
|
...(backgroundColor === undefined ? {} : { backgroundColor }),
|
|
73
162
|
},
|
|
163
|
+
...(resolvedTriggerMode === undefined
|
|
164
|
+
? {}
|
|
165
|
+
: { triggerMode: resolvedTriggerMode }),
|
|
166
|
+
triggerOnAllMessages: resolvedTriggerMode === "all",
|
|
74
167
|
...options,
|
|
75
168
|
};
|
|
76
169
|
hide(self, CHANNEL_BRAND, true);
|
|
@@ -79,18 +172,89 @@ export function slackChannel(config = {}) {
|
|
|
79
172
|
sourceProvider: "slack",
|
|
80
173
|
channelName: ctx.name,
|
|
81
174
|
reactions: self.reactions,
|
|
175
|
+
...(self.status !== undefined && {
|
|
176
|
+
startedStatus: startedStatus(self.status),
|
|
177
|
+
}),
|
|
82
178
|
messageInput: (event) => withSlackRichContent(event.input.messages, event.raw_event),
|
|
179
|
+
...(handlers && {
|
|
180
|
+
decideMessage: (event, thread, actor) => decideEvent(handlers, event, thread, ctx.name, actor, decided),
|
|
181
|
+
}),
|
|
182
|
+
...(handlers?.interaction && {
|
|
183
|
+
decideInteraction: (event, thread, actor) => decideEvent(handlers, event, thread, ctx.name, actor, decided),
|
|
184
|
+
}),
|
|
185
|
+
// A mention handler can decline a thread's mention, and Trigger Server
|
|
186
|
+
// follows the thread anyway: its unmentioned replies only continue a
|
|
187
|
+
// thread the agent already ran on.
|
|
188
|
+
...(handlers?.mention &&
|
|
189
|
+
resolvedTriggerMode === "thread" && {
|
|
190
|
+
onlyContinuesThread: async (event) => isRecord(event.raw_event) &&
|
|
191
|
+
(await isPlainSlackMessage(event.raw_event)),
|
|
192
|
+
}),
|
|
193
|
+
...(multitaskStrategy && { multitaskStrategy }),
|
|
194
|
+
...(onFinish && {
|
|
195
|
+
// As GitHub's and Linear's: the event and thread a handler gets.
|
|
196
|
+
onFinish: finishEvents(noNotice, onFinish, (rawEvent) => decided.finished(rawEvent), (delivery) => slackThread({
|
|
197
|
+
id: delivery.threadId,
|
|
198
|
+
sourceThreadKey: finishedDelivery(delivery.rawEvent)?.source_thread_key ?? "",
|
|
199
|
+
}, ctx.name)),
|
|
200
|
+
}),
|
|
83
201
|
}));
|
|
84
202
|
hide(self, "requirements", (name) => toSlackRequirements(name, self));
|
|
85
203
|
return self;
|
|
86
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* What a message or interaction starts, as its key's handler decides;
|
|
207
|
+
* `undefined`, so what it starts without one. An endpoint is asked after
|
|
208
|
+
* Trigger Server has its answer. A Slack message's blocks and attachments
|
|
209
|
+
* are added to the handler's messages, as to a message's own.
|
|
210
|
+
*/
|
|
211
|
+
async function decideEvent(handlers, delivery, thread, channelName, actor, decided) {
|
|
212
|
+
const event = await readSlackEvent(delivery, actor);
|
|
213
|
+
const handler = event && handlers[event.key];
|
|
214
|
+
if (!event || !handler)
|
|
215
|
+
return undefined;
|
|
216
|
+
decided?.remember(delivery.delivery_id, event);
|
|
217
|
+
const decide = () => runHandler(event, () => handler(event, slackThread(thread, channelName)));
|
|
218
|
+
return isEndpointCallback(handler)
|
|
219
|
+
? { type: "background", decide }
|
|
220
|
+
: decide();
|
|
221
|
+
}
|
|
222
|
+
/** Run a handler and normalize what it returned into run input. */
|
|
223
|
+
async function runHandler(event, call) {
|
|
224
|
+
const outcome = await runEventHandler("Slack", event, call);
|
|
225
|
+
if (outcome.type !== "input")
|
|
226
|
+
return outcome;
|
|
227
|
+
let input;
|
|
228
|
+
try {
|
|
229
|
+
input = normalizeRunInput(outcome.input);
|
|
230
|
+
}
|
|
231
|
+
catch (error) {
|
|
232
|
+
logger.error(`slack handler returned invalid run input (${logger.safeErrorLabel(error)})`);
|
|
233
|
+
return { type: "failed" };
|
|
234
|
+
}
|
|
235
|
+
if (!input)
|
|
236
|
+
return { type: "skipped" };
|
|
237
|
+
return {
|
|
238
|
+
type: "input",
|
|
239
|
+
input: event.key !== "interaction" && input.messages.length
|
|
240
|
+
? {
|
|
241
|
+
...input,
|
|
242
|
+
messages: withSlackRichContent(input.messages, event.payload),
|
|
243
|
+
}
|
|
244
|
+
: input,
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
/** Trigger Server tells Slack how a run ended, so the channel adds no notice. */
|
|
248
|
+
async function noNotice() { }
|
|
87
249
|
/** Build deploy/runtime requirements for a file-derived channel instance. */
|
|
88
250
|
export function toSlackRequirements(name, definition) {
|
|
251
|
+
const triggerMode = resolveTriggerMode(definition);
|
|
89
252
|
return {
|
|
90
253
|
name,
|
|
91
254
|
provider: "slack",
|
|
92
255
|
transport: "trigger_server",
|
|
93
|
-
|
|
256
|
+
// Deploy reads it; `reply` lives in no provider config older CLIs reject.
|
|
257
|
+
autoReply: definition.reply !== "none",
|
|
94
258
|
requiredPermissions: [],
|
|
95
259
|
requiredEnv: [],
|
|
96
260
|
providerConfig: {
|
|
@@ -108,7 +272,14 @@ export function toSlackRequirements(name, definition) {
|
|
|
108
272
|
? {}
|
|
109
273
|
: { backgroundColor: definition.app.backgroundColor }),
|
|
110
274
|
},
|
|
111
|
-
triggerOnAllMessages
|
|
275
|
+
// Older CLIs require triggerOnAllMessages and reject unknown fields, so
|
|
276
|
+
// "all" is sent as that flag and triggerMode only for mention/thread.
|
|
277
|
+
// Unset lets Trigger Server keep an existing app's mode or default a new
|
|
278
|
+
// one to "mention".
|
|
279
|
+
triggerOnAllMessages: triggerMode === "all",
|
|
280
|
+
...(triggerMode === "mention" || triggerMode === "thread"
|
|
281
|
+
? { triggerMode }
|
|
282
|
+
: {}),
|
|
112
283
|
allowBotTriggers: definition.allowBotTriggers,
|
|
113
284
|
},
|
|
114
285
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/channels/slack/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/channels/slack/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-content.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/message-content.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-content.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/message-content.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AA8J7C;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,OAAO,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,GAAG,SAAS,CA+BpB;AAsBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACnC,QAAQ,EAAE,OAAO,GAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAkB3B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isRecord, trimmedString } from "../../values.js";
|
|
1
2
|
/**
|
|
2
3
|
* Render the Slack attachments and blocks the Trigger Server leaves out of the
|
|
3
4
|
* prompt.
|
|
@@ -21,31 +22,25 @@ const LABEL = "Blocks and attachments of this Slack message (third-party content
|
|
|
21
22
|
const OPEN_TAG = "<slack_message_content>";
|
|
22
23
|
const CLOSE_TAG = "</slack_message_content>";
|
|
23
24
|
const MENTION = /<@[A-Z0-9]+(?:\|[^>]*)?>/g;
|
|
24
|
-
function isObject(value) {
|
|
25
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
26
|
-
}
|
|
27
25
|
function list(value, max = MAX_ITEMS) {
|
|
28
26
|
return Array.isArray(value) ? value.slice(0, max) : [];
|
|
29
27
|
}
|
|
30
|
-
function nonblank(value) {
|
|
31
|
-
return typeof value === "string" && value.trim() ? value.trim() : undefined;
|
|
32
|
-
}
|
|
33
28
|
/** A Slack text object (`{ type, text }`) or a plain string. */
|
|
34
29
|
function textOf(value) {
|
|
35
|
-
return
|
|
30
|
+
return isRecord(value) ? trimmedString(value.text) : trimmedString(value);
|
|
36
31
|
}
|
|
37
32
|
function linked(label, url) {
|
|
38
|
-
const href =
|
|
33
|
+
const href = trimmedString(url);
|
|
39
34
|
if (label && href)
|
|
40
35
|
return `${label} (${href})`;
|
|
41
36
|
return label ?? href;
|
|
42
37
|
}
|
|
43
38
|
function elementLine(element) {
|
|
44
|
-
if (!
|
|
39
|
+
if (!isRecord(element))
|
|
45
40
|
return undefined;
|
|
46
41
|
switch (element.type) {
|
|
47
42
|
case "image":
|
|
48
|
-
return
|
|
43
|
+
return trimmedString(element.alt_text);
|
|
49
44
|
case "button":
|
|
50
45
|
return linked(textOf(element.text), element.url);
|
|
51
46
|
default:
|
|
@@ -53,13 +48,13 @@ function elementLine(element) {
|
|
|
53
48
|
}
|
|
54
49
|
}
|
|
55
50
|
function richTextLeaf(element) {
|
|
56
|
-
if (!
|
|
51
|
+
if (!isRecord(element))
|
|
57
52
|
return "";
|
|
58
53
|
switch (element.type) {
|
|
59
54
|
case "text":
|
|
60
55
|
return typeof element.text === "string" ? element.text : "";
|
|
61
56
|
case "link":
|
|
62
|
-
return linked(
|
|
57
|
+
return linked(trimmedString(element.text), element.url) ?? "";
|
|
63
58
|
case "emoji":
|
|
64
59
|
return typeof element.name === "string" ? `:${element.name}:` : "";
|
|
65
60
|
case "user":
|
|
@@ -74,7 +69,7 @@ function richTextLeaf(element) {
|
|
|
74
69
|
}
|
|
75
70
|
/** One rich_text section, list, quote or preformatted block as text. */
|
|
76
71
|
function richTextElement(element) {
|
|
77
|
-
if (!
|
|
72
|
+
if (!isRecord(element))
|
|
78
73
|
return "";
|
|
79
74
|
if (element.type === "rich_text_list") {
|
|
80
75
|
return list(element.elements, MAX_RICH_TEXT_ELEMENTS)
|
|
@@ -90,7 +85,7 @@ function richTextElement(element) {
|
|
|
90
85
|
* `text`, but bots can send a short `text` and the details in rich_text.
|
|
91
86
|
*/
|
|
92
87
|
function blockLines(block, richText) {
|
|
93
|
-
if (!
|
|
88
|
+
if (!isRecord(block))
|
|
94
89
|
return [];
|
|
95
90
|
switch (block.type) {
|
|
96
91
|
case "header":
|
|
@@ -107,7 +102,7 @@ function blockLines(block, richText) {
|
|
|
107
102
|
return list(block.elements).map(elementLine).filter(present);
|
|
108
103
|
case "image":
|
|
109
104
|
return [
|
|
110
|
-
linked(textOf(block.title) ??
|
|
105
|
+
linked(textOf(block.title) ?? trimmedString(block.alt_text), block.image_url),
|
|
111
106
|
].filter(present);
|
|
112
107
|
case "video":
|
|
113
108
|
return [linked(textOf(block.title), block.title_url)].filter(present);
|
|
@@ -120,27 +115,27 @@ function blockLines(block, richText) {
|
|
|
120
115
|
}
|
|
121
116
|
}
|
|
122
117
|
function attachmentLines(attachment, richText) {
|
|
123
|
-
if (!
|
|
118
|
+
if (!isRecord(attachment))
|
|
124
119
|
return [];
|
|
125
120
|
const lines = [
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
linked(
|
|
129
|
-
|
|
121
|
+
trimmedString(attachment.pretext),
|
|
122
|
+
trimmedString(attachment.author_name),
|
|
123
|
+
linked(trimmedString(attachment.title), attachment.title_link),
|
|
124
|
+
trimmedString(attachment.text),
|
|
130
125
|
...list(attachment.fields).map((field) => {
|
|
131
|
-
if (!
|
|
126
|
+
if (!isRecord(field))
|
|
132
127
|
return undefined;
|
|
133
|
-
const title =
|
|
134
|
-
const value =
|
|
128
|
+
const title = trimmedString(field.title);
|
|
129
|
+
const value = trimmedString(field.value);
|
|
135
130
|
return title && value ? `${title}: ${value}` : (value ?? title);
|
|
136
131
|
}),
|
|
137
132
|
...list(attachment.blocks).flatMap((block) => blockLines(block, richText)),
|
|
138
|
-
|
|
139
|
-
|
|
133
|
+
trimmedString(attachment.image_url),
|
|
134
|
+
trimmedString(attachment.footer),
|
|
140
135
|
].filter(present);
|
|
141
136
|
if (lines.length)
|
|
142
137
|
return lines;
|
|
143
|
-
const fallback =
|
|
138
|
+
const fallback = trimmedString(attachment.fallback);
|
|
144
139
|
return fallback ? [fallback] : [];
|
|
145
140
|
}
|
|
146
141
|
/**
|
|
@@ -170,7 +165,7 @@ function lineKeys(text) {
|
|
|
170
165
|
* add nothing beyond `text` and `shown` (the text the agent already gets).
|
|
171
166
|
*/
|
|
172
167
|
export function renderSlackRichContent(rawEvent, shown) {
|
|
173
|
-
if (!
|
|
168
|
+
if (!isRecord(rawEvent))
|
|
174
169
|
return undefined;
|
|
175
170
|
const richText = rawEvent.bot_id != null || rawEvent.subtype === "bot_message";
|
|
176
171
|
// Only lines the agent already has are dropped: repeats between attachments
|
|
@@ -209,7 +204,7 @@ function contentText(content) {
|
|
|
209
204
|
if (typeof content === "string")
|
|
210
205
|
return content;
|
|
211
206
|
return list(content, MAX_RICH_TEXT_ELEMENTS)
|
|
212
|
-
.map((part) =>
|
|
207
|
+
.map((part) => isRecord(part) && part.type === "text" && typeof part.text === "string"
|
|
213
208
|
? part.text
|
|
214
209
|
: "")
|
|
215
210
|
.join("\n");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-content.js","sourceRoot":"","sources":["../../../src/channels/slack/message-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAC7C,qEAAqE;AACrE,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAChC,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,sBAAsB,GAAG,KAAK,CAAC;AACrC,MAAM,SAAS,GAAG,aAAa,CAAC;AAChC,MAAM,KAAK,GACT,+FAA+F,CAAC;AAClG,MAAM,QAAQ,GAAG,yBAAyB,CAAC;AAC3C,MAAM,SAAS,GAAG,0BAA0B,CAAC;AAC7C,MAAM,OAAO,GAAG,2BAA2B,CAAC;AAI5C,SAAS,
|
|
1
|
+
{"version":3,"file":"message-content.js","sourceRoot":"","sources":["../../../src/channels/slack/message-content.ts"],"names":[],"mappings":"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"}
|