managed-deepagents 0.9.6-dev.13 → 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 +47 -19
- 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 +1 -6
- package/dist/identity/loopback.d.ts.map +1 -1
- package/dist/identity/loopback.js +2 -12
- package/dist/identity/loopback.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/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 +39 -1
- 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
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Slack messages a channel's `onEvent` handlers see: which kind of
|
|
3
|
+
* message each is, and the message as a handler reads it.
|
|
4
|
+
*/
|
|
5
|
+
import type { MultitaskStrategy } from "../../ingress/runs.js";
|
|
6
|
+
import type { JsonValue } from "../types.js";
|
|
7
|
+
import type { ChannelRunResult } from "../run-input.js";
|
|
8
|
+
import type { TriggerChannelMessageEvent, TriggerChannelUserPromptResponseEvent } from "../trigger/types.js";
|
|
9
|
+
import type { EndpointRequest, EventEndpoint } from "../http/endpoint.js";
|
|
10
|
+
import { type EventFinished, type EventThread } from "../http/provider.js";
|
|
11
|
+
import type { ChannelActor, SlackActor } from "../actor.js";
|
|
12
|
+
export declare const SLACK_MESSAGE_KEYS: readonly ["mention", "directMessage", "message"];
|
|
13
|
+
export declare const SLACK_EVENT_KEYS: readonly ["mention", "directMessage", "message", "interaction"];
|
|
14
|
+
/**
|
|
15
|
+
* Which kind of Slack message reached the agent:
|
|
16
|
+
* - `"mention"`: a channel message that @-mentions your agent.
|
|
17
|
+
* - `"directMessage"`: a direct message to your agent.
|
|
18
|
+
* - `"message"`: any other channel message, which only `triggerMode`
|
|
19
|
+
* `"thread"` or `"all"` delivers.
|
|
20
|
+
*/
|
|
21
|
+
export type SlackMessageKey = (typeof SLACK_MESSAGE_KEYS)[number];
|
|
22
|
+
/**
|
|
23
|
+
* What reached the agent from Slack: a kind of message
|
|
24
|
+
* ({@link SlackMessageKey}), or `"interaction"`, a click on a button in a
|
|
25
|
+
* message your agent posted with its own blocks, or a submitted modal it
|
|
26
|
+
* opened, that answers no decision the thread waits on.
|
|
27
|
+
*/
|
|
28
|
+
export type SlackEventKey = (typeof SLACK_EVENT_KEYS)[number];
|
|
29
|
+
/** A file attached to a Slack message, as Slack describes it. */
|
|
30
|
+
export interface SlackFile {
|
|
31
|
+
id: string;
|
|
32
|
+
name?: string;
|
|
33
|
+
mimetype?: string;
|
|
34
|
+
/** Size in bytes. */
|
|
35
|
+
size?: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* A Slack message that reached the agent. The run it starts can read its
|
|
39
|
+
* files under `/workspace/attachments`, as without a handler.
|
|
40
|
+
*/
|
|
41
|
+
export interface SlackMessageEvent<K extends SlackMessageKey = SlackMessageKey> {
|
|
42
|
+
key: K;
|
|
43
|
+
/** Trigger Server's ID for this delivery. */
|
|
44
|
+
deliveryId: string;
|
|
45
|
+
/** The message's text as Slack sent it, with mentions as `<@U123>`. */
|
|
46
|
+
text: string;
|
|
47
|
+
/** The Slack user who sent it; absent for some bot messages. */
|
|
48
|
+
userId?: string;
|
|
49
|
+
/** The Slack conversation: a channel's or a direct message's ID. */
|
|
50
|
+
channelId: string;
|
|
51
|
+
/** The message's timestamp, its ID in Slack. */
|
|
52
|
+
messageTs: string;
|
|
53
|
+
/** The timestamp of its thread's first message; `messageTs` when it starts one. */
|
|
54
|
+
threadTs: string;
|
|
55
|
+
files: SlackFile[];
|
|
56
|
+
/** The Slack event as Slack sent it, from the Events API. */
|
|
57
|
+
payload: {
|
|
58
|
+
readonly [key: string]: JsonValue;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* The Slack user who sent the message, as Trigger Server verified it from
|
|
62
|
+
* Slack's signed request, in the shape every channel's `actor` has. Its
|
|
63
|
+
* `teamId` is their own workspace, which in a Slack Connect channel isn't
|
|
64
|
+
* your app's. Absent when Trigger Server names no one, such as an older
|
|
65
|
+
* Trigger Server or a message from a bot. It is personal data: MDA neither
|
|
66
|
+
* logs it nor adds it to the run's metadata.
|
|
67
|
+
*/
|
|
68
|
+
actor?: SlackActor;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* A click on a button in a message your agent posted with its own blocks, or
|
|
72
|
+
* a submitted modal it opened, as Trigger Server forwards it: one that
|
|
73
|
+
* answers no decision the thread waits on. A click on a decision's buttons
|
|
74
|
+
* resumes the run instead.
|
|
75
|
+
*/
|
|
76
|
+
export interface SlackInteractionEvent {
|
|
77
|
+
key: "interaction";
|
|
78
|
+
/** Trigger Server's ID for this delivery. */
|
|
79
|
+
deliveryId: string;
|
|
80
|
+
/** The button's `action_id`, or the modal's `callback_id`. */
|
|
81
|
+
actionId: string;
|
|
82
|
+
/** The button's `value`, or the modal's `state.values`. */
|
|
83
|
+
value?: JsonValue;
|
|
84
|
+
/** The Slack user who clicked, as Slack's payload says. */
|
|
85
|
+
userId?: string;
|
|
86
|
+
/** The Slack conversation the message is in. */
|
|
87
|
+
channelId: string;
|
|
88
|
+
/** The timestamp of the message holding the button; absent for a modal. */
|
|
89
|
+
messageTs?: string;
|
|
90
|
+
/** The timestamp of its thread's first message. */
|
|
91
|
+
threadTs: string;
|
|
92
|
+
/**
|
|
93
|
+
* Slack's interaction payload, such as a `block_actions` one, with its
|
|
94
|
+
* `response_url` and `actions`, without its verification `token`.
|
|
95
|
+
*/
|
|
96
|
+
payload: {
|
|
97
|
+
readonly [key: string]: JsonValue;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* The Slack user who clicked, as Trigger Server verified it; see
|
|
101
|
+
* {@link SlackMessageEvent.actor}.
|
|
102
|
+
*/
|
|
103
|
+
actor?: SlackActor;
|
|
104
|
+
}
|
|
105
|
+
type SlackEventUnion = {
|
|
106
|
+
[K in SlackMessageKey]: SlackMessageEvent<K>;
|
|
107
|
+
}[SlackMessageKey] | SlackInteractionEvent;
|
|
108
|
+
/** What reached the agent from Slack, typed by its key. */
|
|
109
|
+
export type SlackEvent<K extends SlackEventKey = SlackEventKey> = Extract<SlackEventUnion, {
|
|
110
|
+
key: K;
|
|
111
|
+
}>;
|
|
112
|
+
/**
|
|
113
|
+
* The conversation's thread a message belongs to. A handler runs before any
|
|
114
|
+
* run exists, so this is not a run's runtime.
|
|
115
|
+
*/
|
|
116
|
+
export interface SlackChannelThread extends EventThread {
|
|
117
|
+
/**
|
|
118
|
+
* The thread the run the handler starts runs on, one per Slack thread.
|
|
119
|
+
* Useful for run context that names the thread, such as a token a backend
|
|
120
|
+
* signs for it.
|
|
121
|
+
*/
|
|
122
|
+
id: string;
|
|
123
|
+
/** The key the thread is derived from, which names the Slack thread. */
|
|
124
|
+
sourceThreadKey: string;
|
|
125
|
+
}
|
|
126
|
+
/** The Slack thread of a Trigger message's thread, for a channel named `name`. */
|
|
127
|
+
export declare function slackThread(thread: {
|
|
128
|
+
id: string;
|
|
129
|
+
sourceThreadKey: string;
|
|
130
|
+
}, name: string): SlackChannelThread;
|
|
131
|
+
/**
|
|
132
|
+
* What an event handler returns: a run's input, as `agent.invoke` takes it —
|
|
133
|
+
* a string, a message such as `new HumanMessage(...)`, state such as
|
|
134
|
+
* `{ messages: [...] }`, or `[input, { context, metadata, webhook }]`.
|
|
135
|
+
* `null` or `undefined` starts nothing.
|
|
136
|
+
*/
|
|
137
|
+
export type SlackEventResult = ChannelRunResult | null | undefined | void;
|
|
138
|
+
export type SlackEventCallback<K extends SlackEventKey = SlackEventKey> = (event: SlackEvent<K>, thread: SlackChannelThread) => SlackEventResult | Promise<SlackEventResult>;
|
|
139
|
+
/** The `channels.slack(...)` options that decide what each message starts. */
|
|
140
|
+
export interface SlackEventOptions {
|
|
141
|
+
/**
|
|
142
|
+
* Handlers that decide what each kind of message starts. Return a prompt
|
|
143
|
+
* (string, message, or state), optionally with run options as
|
|
144
|
+
* `[input, { context, metadata, webhook }]`, or nothing to start no run:
|
|
145
|
+
* then the agent doesn't react or reply. A message kind without a handler
|
|
146
|
+
* starts a run with the message, as without `onEvent`. The run's reply is
|
|
147
|
+
* posted in the message's thread.
|
|
148
|
+
*
|
|
149
|
+
* `interaction` decides what a click on a button your agent posted with
|
|
150
|
+
* its own blocks starts, such as the next prompt, or `null` after
|
|
151
|
+
* recording it. Without one, such a click starts a run with no new
|
|
152
|
+
* message, which reads the click from `runtime.channel.event`. A click
|
|
153
|
+
* that answers a decision the thread waits on resumes the run, and never
|
|
154
|
+
* reaches it.
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```ts
|
|
158
|
+
* onEvent: {
|
|
159
|
+
* mention: (event) => [event.text, { metadata: { slack_channel: event.channelId } }],
|
|
160
|
+
* message: () => null,
|
|
161
|
+
* interaction: (event) =>
|
|
162
|
+
* event.actionId === "quick_reply" ? String(event.value) : null,
|
|
163
|
+
* }
|
|
164
|
+
* ```
|
|
165
|
+
*
|
|
166
|
+
* A handler may also be an endpoint, a URL or a `Request` carrying
|
|
167
|
+
* headers, to have a service of yours decide: MDA answers Trigger Server,
|
|
168
|
+
* then POSTs the endpoint the message and its thread, and starts the run it
|
|
169
|
+
* answers with. See the README's "Asking your service what to start".
|
|
170
|
+
*/
|
|
171
|
+
onEvent?: {
|
|
172
|
+
[K in SlackEventKey]?: SlackEventCallback<K> | EventEndpoint;
|
|
173
|
+
};
|
|
174
|
+
/**
|
|
175
|
+
* What a message that starts a run does while its thread already runs:
|
|
176
|
+
* `enqueue` (the default) waits for the run and starts after it,
|
|
177
|
+
* `interrupt` cancels the run, keeping its progress, and starts at once,
|
|
178
|
+
* `rollback` cancels it and discards its progress, and `reject` starts
|
|
179
|
+
* nothing.
|
|
180
|
+
*/
|
|
181
|
+
multitaskStrategy?: MultitaskStrategy;
|
|
182
|
+
/**
|
|
183
|
+
* Called once when a message or an `interaction` is done, with the event,
|
|
184
|
+
* its thread, and how it finished:
|
|
185
|
+
*
|
|
186
|
+
* - `run`: it started a run, which ended with `run.status`
|
|
187
|
+
* (`success`, `error`, `timeout` or `interrupted`). `interrupts` lists
|
|
188
|
+
* the decisions the thread waits on.
|
|
189
|
+
* - `skipped`: no run started. The handler returned nothing or failed
|
|
190
|
+
* (`ignored`), or the thread was busy under `multitaskStrategy:
|
|
191
|
+
* "reject"` (`rejected`).
|
|
192
|
+
* - `failed`: MDA couldn't start the run, or lost track of it.
|
|
193
|
+
*
|
|
194
|
+
* It runs in the background after the reply; errors are logged. Interrupt
|
|
195
|
+
* resumes don't call it, and neither does a message Trigger Server will
|
|
196
|
+
* send again because its run couldn't start. It runs in the deployment's process, so a restart
|
|
197
|
+
* loses it: use the run's `webhook` for anything you can't miss.
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* ```ts
|
|
201
|
+
* onFinish: async (event, thread, finished) => {
|
|
202
|
+
* if (finished.type !== "run") return;
|
|
203
|
+
* if (finished.run.status === "success") {
|
|
204
|
+
* // e.g. record the answer in your service, or update memory
|
|
205
|
+
* } else {
|
|
206
|
+
* // e.g. alert someone that the run failed
|
|
207
|
+
* }
|
|
208
|
+
* }
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
211
|
+
onFinish?: EventFinished<SlackEvent, SlackChannelThread>;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* A Slack event's fields its endpoints are sent beside its key, delivery ID
|
|
215
|
+
* and payload, those its kind has: the one list of them, so
|
|
216
|
+
* `SlackEndpointRequest` is typed by it.
|
|
217
|
+
*/
|
|
218
|
+
export declare const SLACK_ENDPOINT_EVENT_FIELDS: readonly ["text", "userId", "channelId", "messageTs", "threadTs", "files", "actor", "actionId", "value"];
|
|
219
|
+
/** What a Slack channel POSTs an endpoint, for one event key or any. */
|
|
220
|
+
export type SlackEndpointRequest<K extends SlackEventKey = SlackEventKey> = EndpointRequest<SlackEvent<K>, (typeof SLACK_ENDPOINT_EVENT_FIELDS)[number]>;
|
|
221
|
+
/**
|
|
222
|
+
* Which kind of message a delivery is. Slack sends a mention as
|
|
223
|
+
* `app_mention` under `triggerMode` `"mention"`, and as a `message` that
|
|
224
|
+
* names the app's bot user under `"thread"` and `"all"`, so only a channel
|
|
225
|
+
* `message` asks who the bot is.
|
|
226
|
+
*/
|
|
227
|
+
export declare function slackEventKey(rawEvent: Record<string, unknown>): Promise<SlackMessageKey>;
|
|
228
|
+
/**
|
|
229
|
+
* Whether a delivery is surely a plain channel message, neither a mention
|
|
230
|
+
* nor a direct message. One that names a user while the bot user is unknown
|
|
231
|
+
* may be a mention, so it isn't.
|
|
232
|
+
*/
|
|
233
|
+
export declare function isPlainSlackMessage(rawEvent: Record<string, unknown>): Promise<boolean>;
|
|
234
|
+
/** Forget the bot user's ID; for tests. */
|
|
235
|
+
export declare function resetSlackBotUser(): void;
|
|
236
|
+
/**
|
|
237
|
+
* What a delivery carries: a message, of the kind Slack's event says, or an
|
|
238
|
+
* interaction; `undefined` when it has nothing to read one from.
|
|
239
|
+
*/
|
|
240
|
+
export declare function readSlackEvent(event: TriggerChannelMessageEvent | TriggerChannelUserPromptResponseEvent, actor?: ChannelActor): Promise<SlackEvent | undefined>;
|
|
241
|
+
/**
|
|
242
|
+
* The `SlackEvent` a handler got for each delivery, so `onFinish` gets that
|
|
243
|
+
* same event rather than reading the delivery again, which could read it as
|
|
244
|
+
* another kind. A delivery that never finishes, such as one Trigger Server
|
|
245
|
+
* sends again, is dropped once there are many.
|
|
246
|
+
*/
|
|
247
|
+
export declare class DecidedSlackEvents {
|
|
248
|
+
#private;
|
|
249
|
+
remember(deliveryId: string, event: SlackEvent): void;
|
|
250
|
+
/**
|
|
251
|
+
* What a finished delivery carried: as its handler got it, or read from the
|
|
252
|
+
* delivery, with its verified actor, when no handler did.
|
|
253
|
+
*/
|
|
254
|
+
finished(rawEvent: JsonValue | undefined): Promise<SlackEvent | undefined>;
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* The Trigger delivery a finished message or interaction carries; see
|
|
258
|
+
* `TriggerFinishedEvent`.
|
|
259
|
+
*/
|
|
260
|
+
export declare function finishedDelivery(rawEvent: JsonValue | undefined): TriggerChannelMessageEvent | TriggerChannelUserPromptResponseEvent | undefined;
|
|
261
|
+
/**
|
|
262
|
+
* The message a delivery carries, as a handler reads it, or `undefined` when
|
|
263
|
+
* the delivery has no Slack event to read it from.
|
|
264
|
+
*/
|
|
265
|
+
export declare function slackEvent<K extends SlackMessageKey>(key: K, event: TriggerChannelMessageEvent, actor?: ChannelActor): SlackMessageEvent<K> | undefined;
|
|
266
|
+
/**
|
|
267
|
+
* The interaction a forwarded click or modal submission carries, as a
|
|
268
|
+
* handler reads it, or `undefined` without the conversation it happened in.
|
|
269
|
+
*/
|
|
270
|
+
export declare function slackInteractionEvent(event: TriggerChannelUserPromptResponseEvent, actor?: ChannelActor): SlackInteractionEvent | undefined;
|
|
271
|
+
export type { SlackActor } from "../actor.js";
|
|
272
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { logger } from "../../runtime/log.js";
|
|
2
|
+
import { CachedRead, } from "../http/provider.js";
|
|
3
|
+
import { slackApi, slackBotToken } from "./api.js";
|
|
4
|
+
import { isRecord, nonblankString } from "../../values.js";
|
|
5
|
+
export const SLACK_MESSAGE_KEYS = [
|
|
6
|
+
"mention",
|
|
7
|
+
"directMessage",
|
|
8
|
+
"message",
|
|
9
|
+
];
|
|
10
|
+
export const SLACK_EVENT_KEYS = [...SLACK_MESSAGE_KEYS, "interaction"];
|
|
11
|
+
/** The Slack thread of a Trigger message's thread, for a channel named `name`. */
|
|
12
|
+
export function slackThread(thread, name) {
|
|
13
|
+
return {
|
|
14
|
+
id: thread.id,
|
|
15
|
+
sourceThreadKey: thread.sourceThreadKey,
|
|
16
|
+
channel: { name },
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A Slack event's fields its endpoints are sent beside its key, delivery ID
|
|
21
|
+
* and payload, those its kind has: the one list of them, so
|
|
22
|
+
* `SlackEndpointRequest` is typed by it.
|
|
23
|
+
*/
|
|
24
|
+
export const SLACK_ENDPOINT_EVENT_FIELDS = [
|
|
25
|
+
"text",
|
|
26
|
+
"userId",
|
|
27
|
+
"channelId",
|
|
28
|
+
"messageTs",
|
|
29
|
+
"threadTs",
|
|
30
|
+
"files",
|
|
31
|
+
"actor",
|
|
32
|
+
"actionId",
|
|
33
|
+
"value",
|
|
34
|
+
];
|
|
35
|
+
/**
|
|
36
|
+
* Which kind of message a delivery is. Slack sends a mention as
|
|
37
|
+
* `app_mention` under `triggerMode` `"mention"`, and as a `message` that
|
|
38
|
+
* names the app's bot user under `"thread"` and `"all"`, so only a channel
|
|
39
|
+
* `message` asks who the bot is.
|
|
40
|
+
*/
|
|
41
|
+
export async function slackEventKey(rawEvent) {
|
|
42
|
+
if (rawEvent.type === "app_mention")
|
|
43
|
+
return "mention";
|
|
44
|
+
if (rawEvent.channel_type === "im")
|
|
45
|
+
return "directMessage";
|
|
46
|
+
const body = nonblankString(rawEvent.text);
|
|
47
|
+
if (!body?.includes("<@"))
|
|
48
|
+
return "message";
|
|
49
|
+
const botUserId = await slackBotUserId();
|
|
50
|
+
return botUserId && mentions(body, botUserId) ? "mention" : "message";
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Whether a delivery is surely a plain channel message, neither a mention
|
|
54
|
+
* nor a direct message. One that names a user while the bot user is unknown
|
|
55
|
+
* may be a mention, so it isn't.
|
|
56
|
+
*/
|
|
57
|
+
export async function isPlainSlackMessage(rawEvent) {
|
|
58
|
+
if (rawEvent.type === "app_mention" || rawEvent.channel_type === "im")
|
|
59
|
+
return false;
|
|
60
|
+
const body = nonblankString(rawEvent.text);
|
|
61
|
+
if (!body?.includes("<@"))
|
|
62
|
+
return true;
|
|
63
|
+
const botUserId = await slackBotUserId();
|
|
64
|
+
return botUserId !== undefined && !mentions(body, botUserId);
|
|
65
|
+
}
|
|
66
|
+
function mentions(body, userId) {
|
|
67
|
+
return body.includes(`<@${userId}>`) || body.includes(`<@${userId}|`);
|
|
68
|
+
}
|
|
69
|
+
/** How long the bot user's ID is reused; an app keeps it for good. */
|
|
70
|
+
const BOT_USER_TTL_MS = 60 * 60_000;
|
|
71
|
+
/** How long a failed lookup is remembered, so each message doesn't ask Slack. */
|
|
72
|
+
const MISSING_BOT_USER_TTL_MS = 60_000;
|
|
73
|
+
const botUser = new CachedRead(async () => {
|
|
74
|
+
try {
|
|
75
|
+
const identity = await slackApi(await slackBotToken(), "auth.test", {});
|
|
76
|
+
return nonblankString(identity.user_id);
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
logger.warn(`slack bot user lookup failed; mentions in channel messages count as messages (${logger.safeErrorLabel(error)})`);
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
}, (userId) => (userId ? BOT_USER_TTL_MS : MISSING_BOT_USER_TTL_MS));
|
|
83
|
+
/** The app's bot user, from Slack's `auth.test` with its bot token. */
|
|
84
|
+
function slackBotUserId() {
|
|
85
|
+
return botUser.get();
|
|
86
|
+
}
|
|
87
|
+
/** Forget the bot user's ID; for tests. */
|
|
88
|
+
export function resetSlackBotUser() {
|
|
89
|
+
botUser.reset();
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* What a delivery carries: a message, of the kind Slack's event says, or an
|
|
93
|
+
* interaction; `undefined` when it has nothing to read one from.
|
|
94
|
+
*/
|
|
95
|
+
export async function readSlackEvent(event, actor) {
|
|
96
|
+
if (event.type === "user_prompt_response")
|
|
97
|
+
return slackInteractionEvent(event, actor);
|
|
98
|
+
if (!isRecord(event.raw_event))
|
|
99
|
+
return undefined;
|
|
100
|
+
return slackEvent(await slackEventKey(event.raw_event), event, actor);
|
|
101
|
+
}
|
|
102
|
+
/** How many deliveries' events a channel keeps until they finish. */
|
|
103
|
+
const MAX_DECIDED_EVENTS = 1024;
|
|
104
|
+
/**
|
|
105
|
+
* The `SlackEvent` a handler got for each delivery, so `onFinish` gets that
|
|
106
|
+
* same event rather than reading the delivery again, which could read it as
|
|
107
|
+
* another kind. A delivery that never finishes, such as one Trigger Server
|
|
108
|
+
* sends again, is dropped once there are many.
|
|
109
|
+
*/
|
|
110
|
+
export class DecidedSlackEvents {
|
|
111
|
+
#byDelivery = new Map();
|
|
112
|
+
remember(deliveryId, event) {
|
|
113
|
+
this.#byDelivery.delete(deliveryId);
|
|
114
|
+
this.#byDelivery.set(deliveryId, event);
|
|
115
|
+
const [oldest] = this.#byDelivery.keys();
|
|
116
|
+
if (this.#byDelivery.size > MAX_DECIDED_EVENTS && oldest !== undefined)
|
|
117
|
+
this.#byDelivery.delete(oldest);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* What a finished delivery carried: as its handler got it, or read from the
|
|
121
|
+
* delivery, with its verified actor, when no handler did.
|
|
122
|
+
*/
|
|
123
|
+
async finished(rawEvent) {
|
|
124
|
+
const delivery = finishedDelivery(rawEvent);
|
|
125
|
+
if (!delivery)
|
|
126
|
+
return undefined;
|
|
127
|
+
const decided = this.#byDelivery.get(delivery.delivery_id);
|
|
128
|
+
this.#byDelivery.delete(delivery.delivery_id);
|
|
129
|
+
return decided ?? readSlackEvent(delivery, finishedActor(rawEvent));
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/** The verified actor a finished message carries; see `TriggerFinishedEvent`. */
|
|
133
|
+
function finishedActor(rawEvent) {
|
|
134
|
+
return isRecord(rawEvent) && isRecord(rawEvent.actor)
|
|
135
|
+
? rawEvent.actor
|
|
136
|
+
: undefined;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* The Trigger delivery a finished message or interaction carries; see
|
|
140
|
+
* `TriggerFinishedEvent`.
|
|
141
|
+
*/
|
|
142
|
+
export function finishedDelivery(rawEvent) {
|
|
143
|
+
return isRecord(rawEvent) && isRecord(rawEvent.delivery)
|
|
144
|
+
? rawEvent.delivery
|
|
145
|
+
: undefined;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* The message a delivery carries, as a handler reads it, or `undefined` when
|
|
149
|
+
* the delivery has no Slack event to read it from.
|
|
150
|
+
*/
|
|
151
|
+
export function slackEvent(key, event, actor) {
|
|
152
|
+
const raw = event.raw_event;
|
|
153
|
+
if (!isRecord(raw))
|
|
154
|
+
return undefined;
|
|
155
|
+
const address = isRecord(event.address) ? event.address : {};
|
|
156
|
+
const message = isRecord(event.message)
|
|
157
|
+
? event.message
|
|
158
|
+
: {};
|
|
159
|
+
const channelId = nonblankString(raw.channel) ?? nonblankString(address.conversation_id);
|
|
160
|
+
const messageTs = nonblankString(raw.ts) ?? nonblankString(message.id);
|
|
161
|
+
if (!channelId || !messageTs)
|
|
162
|
+
return undefined;
|
|
163
|
+
const userId = nonblankString(raw.user);
|
|
164
|
+
return {
|
|
165
|
+
key,
|
|
166
|
+
deliveryId: event.delivery_id,
|
|
167
|
+
text: (typeof raw.text === "string" ? raw.text : undefined) ??
|
|
168
|
+
(typeof message.text === "string" ? message.text : ""),
|
|
169
|
+
...(userId && { userId }),
|
|
170
|
+
channelId,
|
|
171
|
+
messageTs,
|
|
172
|
+
threadTs: nonblankString(raw.thread_ts) ??
|
|
173
|
+
nonblankString(address.thread_id) ??
|
|
174
|
+
messageTs,
|
|
175
|
+
files: Array.isArray(raw.files) ? raw.files.flatMap(slackFile) : [],
|
|
176
|
+
payload: structuredClone(raw),
|
|
177
|
+
// A Slack message's actor is a Slack user.
|
|
178
|
+
...(actor?.provider === "slack" && { actor: { ...actor } }),
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* The interaction a forwarded click or modal submission carries, as a
|
|
183
|
+
* handler reads it, or `undefined` without the conversation it happened in.
|
|
184
|
+
*/
|
|
185
|
+
export function slackInteractionEvent(event, actor) {
|
|
186
|
+
const raw = isRecord(event.raw_event) ? event.raw_event : {};
|
|
187
|
+
const address = isRecord(event.address) ? event.address : {};
|
|
188
|
+
const container = isRecord(raw.container) ? raw.container : {};
|
|
189
|
+
const message = isRecord(raw.message) ? raw.message : {};
|
|
190
|
+
const messageTs = nonblankString(container.message_ts) ?? nonblankString(message.ts);
|
|
191
|
+
const channelId = nonblankString(address.conversation_id) ??
|
|
192
|
+
nonblankString(container.channel_id) ??
|
|
193
|
+
(isRecord(raw.channel) ? nonblankString(raw.channel.id) : undefined);
|
|
194
|
+
const threadTs = nonblankString(address.thread_id) ??
|
|
195
|
+
nonblankString(container.thread_ts) ??
|
|
196
|
+
nonblankString(message.thread_ts) ??
|
|
197
|
+
messageTs;
|
|
198
|
+
if (!channelId || !threadTs)
|
|
199
|
+
return undefined;
|
|
200
|
+
const userId = isRecord(raw.user) ? nonblankString(raw.user.id) : undefined;
|
|
201
|
+
// Slack's legacy verification token isn't the handler's to have.
|
|
202
|
+
const { token: _token, ...payload } = raw;
|
|
203
|
+
const interaction = event.interaction;
|
|
204
|
+
return {
|
|
205
|
+
key: "interaction",
|
|
206
|
+
deliveryId: event.delivery_id,
|
|
207
|
+
actionId: interaction.action,
|
|
208
|
+
...("value" in interaction &&
|
|
209
|
+
interaction.value !== undefined && {
|
|
210
|
+
value: structuredClone(interaction.value),
|
|
211
|
+
}),
|
|
212
|
+
...(userId && { userId }),
|
|
213
|
+
channelId,
|
|
214
|
+
...(messageTs && { messageTs }),
|
|
215
|
+
threadTs,
|
|
216
|
+
payload: structuredClone(payload),
|
|
217
|
+
// The actor of a click in Slack is a Slack user.
|
|
218
|
+
...(actor?.provider === "slack" && { actor: { ...actor } }),
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
function slackFile(file) {
|
|
222
|
+
if (!isRecord(file) || !nonblankString(file.id))
|
|
223
|
+
return [];
|
|
224
|
+
return [
|
|
225
|
+
{
|
|
226
|
+
id: file.id,
|
|
227
|
+
...(nonblankString(file.name) && { name: file.name }),
|
|
228
|
+
...(nonblankString(file.mimetype) && {
|
|
229
|
+
mimetype: file.mimetype,
|
|
230
|
+
}),
|
|
231
|
+
...(typeof file.size === "number" && { size: file.size }),
|
|
232
|
+
},
|
|
233
|
+
];
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/channels/slack/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/files.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/files.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAE9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,eAAO,MAAM,aAAa,eAAe,CAAC;AAC1C,eAAO,MAAM,eAAe,2BAAiC,CAAC;AAC9D,eAAO,MAAM,cAAc,QAAoB,CAAC;AAEhD,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,uBAAuB,EACvB,SAAS,GAAG,YAAY,GAAG,SAAS,CACrC,CAAC;AAuBF,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAEjE;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,MAAM,CAAC,CAyCjB;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAmDnC;AA0DD,gFAAgF;AAChF,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,GACxB,QAAQ,CAAC,cAAc,CAAC,GAAG,SAAS,CAYtC;AAkBD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUlD;AAkCD,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,UAAU,CAAC,CAmBrB"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { posix } from "node:path";
|
|
2
2
|
import { HumanMessage } from "@langchain/core/messages";
|
|
3
3
|
import { z } from "zod";
|
|
4
|
-
import { connections } from "../../connections.js";
|
|
5
4
|
import { fetchWithTimeout } from "../../runtime/http.js";
|
|
6
5
|
import { resolveChannelBinding } from "../binding.js";
|
|
7
|
-
import { SlackApiError, slackApi } from "./api.js";
|
|
6
|
+
import { SlackApiError, slackApi, slackBotToken } from "./api.js";
|
|
8
7
|
export const WORKSPACE_DIR = "/workspace";
|
|
9
8
|
export const ATTACHMENTS_DIR = `${WORKSPACE_DIR}/attachments`;
|
|
10
9
|
export const MAX_FILE_BYTES = 200 * 1024 * 1024;
|
|
@@ -173,7 +172,7 @@ export function getSlackDestination(runtime) {
|
|
|
173
172
|
/** Retrieve the managed bot credential without exposing connection errors. */
|
|
174
173
|
async function getSlackBotToken() {
|
|
175
174
|
try {
|
|
176
|
-
return await
|
|
175
|
+
return await slackBotToken();
|
|
177
176
|
}
|
|
178
177
|
catch {
|
|
179
178
|
throw new SlackConnectionError("The managed Slack connection is unavailable. Reconnect Slack.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/channels/slack/files.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/channels/slack/files.ts"],"names":[],"mappings":"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"}
|