managed-deepagents 0.10.0-dev.17 → 0.10.0-dev.19
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 +530 -83
- package/dist/browser.d.ts +37 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +31 -0
- package/dist/browser.js.map +1 -0
- package/dist/channels/actor.d.ts +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 +29 -0
- package/dist/channels/assistant-text.d.ts.map +1 -1
- package/dist/channels/assistant-text.js +72 -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 +44 -11
- package/dist/channels/binding.js.map +1 -1
- package/dist/channels/delivery.d.ts +36 -0
- package/dist/channels/delivery.d.ts.map +1 -0
- package/dist/channels/delivery.js +359 -0
- package/dist/channels/delivery.js.map +1 -0
- package/dist/channels/github/app-setup.d.ts +32 -0
- package/dist/channels/github/app-setup.d.ts.map +1 -0
- package/dist/channels/github/app-setup.js +146 -0
- package/dist/channels/github/app-setup.js.map +1 -0
- package/dist/channels/github/index.d.ts.map +1 -1
- package/dist/channels/github/index.js +21 -33
- package/dist/channels/github/index.js.map +1 -1
- package/dist/channels/github/schema.d.ts +50 -1
- package/dist/channels/github/schema.d.ts.map +1 -1
- package/dist/channels/github/schema.js +12 -0
- package/dist/channels/github/schema.js.map +1 -1
- package/dist/channels/http/endpoint.d.ts +6 -4
- package/dist/channels/http/endpoint.d.ts.map +1 -1
- package/dist/channels/http/endpoint.js.map +1 -1
- package/dist/channels/http/http.d.ts.map +1 -1
- package/dist/channels/http/http.js +4 -10
- package/dist/channels/http/http.js.map +1 -1
- package/dist/channels/http/index.d.ts +6 -0
- package/dist/channels/http/index.d.ts.map +1 -1
- package/dist/channels/http/index.js +32 -23
- package/dist/channels/http/index.js.map +1 -1
- package/dist/channels/http/ingress.d.ts +2 -2
- package/dist/channels/http/ingress.d.ts.map +1 -1
- package/dist/channels/http/ingress.js +9 -21
- package/dist/channels/http/ingress.js.map +1 -1
- package/dist/channels/http/provider.d.ts +10 -5
- package/dist/channels/http/provider.d.ts.map +1 -1
- package/dist/channels/http/provider.js +17 -10
- package/dist/channels/http/provider.js.map +1 -1
- package/dist/channels/http/studio.d.ts +5 -5
- package/dist/channels/http/studio.d.ts.map +1 -1
- package/dist/channels/http/studio.js +4 -6
- package/dist/channels/http/studio.js.map +1 -1
- package/dist/channels/http/types.d.ts +7 -1
- package/dist/channels/http/types.d.ts.map +1 -1
- package/dist/channels/linear/app-setup.d.ts +29 -0
- package/dist/channels/linear/app-setup.d.ts.map +1 -0
- package/dist/channels/linear/app-setup.js +102 -0
- package/dist/channels/linear/app-setup.js.map +1 -0
- package/dist/channels/linear/index.d.ts.map +1 -1
- package/dist/channels/linear/index.js +26 -65
- package/dist/channels/linear/index.js.map +1 -1
- package/dist/channels/linear/schema.d.ts +11 -25
- package/dist/channels/linear/schema.d.ts.map +1 -1
- package/dist/channels/linear/schema.js +6 -0
- package/dist/channels/linear/schema.js.map +1 -1
- package/dist/channels/linear/types.d.ts +9 -2
- package/dist/channels/linear/types.d.ts.map +1 -1
- package/dist/channels/messaging-registry.d.ts +16 -0
- package/dist/channels/messaging-registry.d.ts.map +1 -1
- package/dist/channels/messaging-registry.js +29 -0
- package/dist/channels/messaging-registry.js.map +1 -1
- package/dist/channels/reserved-connections.d.ts.map +1 -1
- package/dist/channels/reserved-connections.js +10 -0
- package/dist/channels/reserved-connections.js.map +1 -1
- package/dist/channels/run-input.d.ts +11 -0
- package/dist/channels/run-input.d.ts.map +1 -1
- package/dist/channels/run-input.js +18 -8
- package/dist/channels/run-input.js.map +1 -1
- package/dist/channels/runtime.d.ts +5 -2
- package/dist/channels/runtime.d.ts.map +1 -1
- package/dist/channels/runtime.js +19 -10
- package/dist/channels/runtime.js.map +1 -1
- package/dist/channels/schedule-delivery.d.ts +2 -13
- package/dist/channels/schedule-delivery.d.ts.map +1 -1
- package/dist/channels/schedule-delivery.js +6 -73
- 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 +44 -2
- package/dist/channels/slack/index.d.ts.map +1 -1
- package/dist/channels/slack/index.js +127 -3
- package/dist/channels/slack/index.js.map +1 -1
- package/dist/channels/slack/message-content.d.ts.map +1 -1
- package/dist/channels/slack/message-content.js +23 -28
- package/dist/channels/slack/message-content.js.map +1 -1
- package/dist/channels/slack/status.d.ts +76 -0
- package/dist/channels/slack/status.d.ts.map +1 -0
- package/dist/channels/slack/status.js +427 -0
- package/dist/channels/slack/status.js.map +1 -0
- package/dist/channels/trigger/client.d.ts.map +1 -1
- package/dist/channels/trigger/client.js +6 -9
- package/dist/channels/trigger/client.js.map +1 -1
- package/dist/channels/trigger/conversation.d.ts +11 -0
- package/dist/channels/trigger/conversation.d.ts.map +1 -0
- package/dist/channels/trigger/conversation.js +72 -0
- package/dist/channels/trigger/conversation.js.map +1 -0
- package/dist/channels/trigger/http.d.ts +123 -4
- package/dist/channels/trigger/http.d.ts.map +1 -1
- package/dist/channels/trigger/http.js +331 -76
- package/dist/channels/trigger/http.js.map +1 -1
- package/dist/channels/trigger/ingress.d.ts +70 -1
- package/dist/channels/trigger/ingress.d.ts.map +1 -1
- package/dist/channels/trigger/ingress.js +136 -7
- package/dist/channels/trigger/ingress.js.map +1 -1
- package/dist/channels/trigger/transport.d.ts +10 -0
- package/dist/channels/trigger/transport.d.ts.map +1 -1
- package/dist/channels/trigger/transport.js +25 -9
- package/dist/channels/trigger/transport.js.map +1 -1
- package/dist/channels/trigger/types.d.ts +92 -3
- package/dist/channels/trigger/types.d.ts.map +1 -1
- package/dist/channels/trigger/types.js +36 -0
- package/dist/channels/trigger/types.js.map +1 -1
- package/dist/channels/types.d.ts +43 -4
- package/dist/channels/types.d.ts.map +1 -1
- package/dist/channels/types.js +2 -0
- package/dist/channels/types.js.map +1 -1
- package/dist/define-deep-agent.d.ts +2 -2
- package/dist/define-deep-agent.d.ts.map +1 -1
- package/dist/define-deep-agent.js +53 -8
- package/dist/define-deep-agent.js.map +1 -1
- package/dist/index.d.ts +9 -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/runs.d.ts +22 -0
- package/dist/ingress/runs.d.ts.map +1 -1
- package/dist/ingress/runs.js +45 -1
- package/dist/ingress/runs.js.map +1 -1
- package/dist/managed-composition.d.ts +3 -0
- package/dist/managed-composition.d.ts.map +1 -1
- package/dist/managed-composition.js +29 -13
- package/dist/managed-composition.js.map +1 -1
- package/dist/namespaces.d.ts +0 -21
- package/dist/namespaces.d.ts.map +1 -1
- package/dist/namespaces.js +0 -29
- package/dist/namespaces.js.map +1 -1
- package/dist/runtime/async-subagents.d.ts +27 -0
- package/dist/runtime/async-subagents.d.ts.map +1 -0
- package/dist/runtime/async-subagents.js +139 -0
- package/dist/runtime/async-subagents.js.map +1 -0
- package/dist/runtime/auth.d.ts +1 -2
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +125 -63
- package/dist/runtime/auth.js.map +1 -1
- package/dist/runtime/backend.d.ts +7 -0
- package/dist/runtime/backend.d.ts.map +1 -1
- package/dist/runtime/backend.js +32 -7
- package/dist/runtime/backend.js.map +1 -1
- package/dist/runtime/browser-facade.d.ts +10 -0
- package/dist/runtime/browser-facade.d.ts.map +1 -0
- package/dist/runtime/browser-facade.js +23 -0
- package/dist/runtime/browser-facade.js.map +1 -0
- package/dist/runtime/browser-langsmith.d.ts +108 -0
- package/dist/runtime/browser-langsmith.d.ts.map +1 -0
- package/dist/runtime/browser-langsmith.js +379 -0
- package/dist/runtime/browser-langsmith.js.map +1 -0
- package/dist/runtime/browser-selection.d.ts +10 -0
- package/dist/runtime/browser-selection.d.ts.map +1 -0
- package/dist/runtime/browser-selection.js +21 -0
- package/dist/runtime/browser-selection.js.map +1 -0
- package/dist/runtime/browser.d.ts +125 -0
- package/dist/runtime/browser.d.ts.map +1 -0
- package/dist/runtime/browser.js +606 -0
- package/dist/runtime/browser.js.map +1 -0
- package/dist/runtime/identity-runtime.d.ts +4 -9
- package/dist/runtime/identity-runtime.d.ts.map +1 -1
- package/dist/runtime/identity-runtime.js +12 -25
- package/dist/runtime/identity-runtime.js.map +1 -1
- package/dist/runtime/index.d.ts +38 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +74 -34
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/managed-thread.d.ts +61 -0
- package/dist/runtime/managed-thread.d.ts.map +1 -0
- package/dist/runtime/managed-thread.js +76 -0
- package/dist/runtime/managed-thread.js.map +1 -0
- package/dist/runtime/managed-tools.d.ts +10 -2
- package/dist/runtime/managed-tools.d.ts.map +1 -1
- package/dist/runtime/managed-tools.js +10 -8
- package/dist/runtime/managed-tools.js.map +1 -1
- package/dist/runtime/memory/policy.d.ts.map +1 -1
- package/dist/runtime/memory/policy.js +1 -3
- package/dist/runtime/memory/policy.js.map +1 -1
- package/dist/runtime/parent-run.d.ts +33 -0
- package/dist/runtime/parent-run.d.ts.map +1 -0
- package/dist/runtime/parent-run.js +114 -0
- package/dist/runtime/parent-run.js.map +1 -0
- package/dist/runtime/run-input.d.ts +14 -1
- package/dist/runtime/run-input.d.ts.map +1 -1
- package/dist/runtime/run-input.js +75 -6
- package/dist/runtime/run-input.js.map +1 -1
- package/dist/runtime/sandbox-manager.d.ts +14 -1
- package/dist/runtime/sandbox-manager.d.ts.map +1 -1
- package/dist/runtime/sandbox-manager.js +34 -9
- package/dist/runtime/sandbox-manager.js.map +1 -1
- package/dist/runtime/schedule-auth.d.ts +79 -0
- package/dist/runtime/schedule-auth.d.ts.map +1 -1
- package/dist/runtime/schedule-auth.js +163 -6
- package/dist/runtime/schedule-auth.js.map +1 -1
- package/dist/runtime/static-entry.d.ts.map +1 -1
- package/dist/runtime/static-entry.js +1 -0
- package/dist/runtime/static-entry.js.map +1 -1
- package/dist/runtime/thread-record.d.ts +88 -0
- package/dist/runtime/thread-record.d.ts.map +1 -0
- package/dist/runtime/thread-record.js +213 -0
- package/dist/runtime/thread-record.js.map +1 -0
- package/dist/runtime/types.d.ts +12 -1
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime-schedules.d.ts +13 -0
- package/dist/runtime-schedules.d.ts.map +1 -1
- package/dist/runtime-schedules.js +83 -20
- 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/types.d.ts +19 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/values.d.ts +15 -0
- package/dist/values.d.ts.map +1 -0
- package/dist/values.js +31 -0
- package/dist/values.js.map +1 -0
- package/package.json +22 -8
- package/dist/channels/http/reply.d.ts +0 -20
- package/dist/channels/http/reply.d.ts.map +0 -1
- package/dist/channels/http/reply.js +0 -116
- package/dist/channels/http/reply.js.map +0 -1
|
@@ -1,21 +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";
|
|
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";
|
|
6
11
|
declare const SLACK_TRIGGER_MODES: readonly ["mention", "thread", "all"];
|
|
7
12
|
/**
|
|
8
13
|
* Which channel messages start a run. DMs never need a mention.
|
|
9
14
|
* - `"mention"`: only messages that @-mention your agent, including replies in
|
|
10
15
|
* a thread it already answered.
|
|
11
16
|
* - `"thread"`: a message that @-mentions your agent, and every later reply in
|
|
12
|
-
* that thread, so people only mention it once.
|
|
17
|
+
* that thread, so people only mention it once. A thread whose mention your
|
|
18
|
+
* `onEvent` handler declined stays declined: its replies start nothing.
|
|
13
19
|
* - `"all"`: every message in the channels your agent is in, mentioned or not.
|
|
14
20
|
*/
|
|
15
21
|
export type SlackTriggerMode = (typeof SLACK_TRIGGER_MODES)[number];
|
|
16
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 */
|
|
17
25
|
export declare const SLACK_TRIGGER_ON_ALL_MESSAGES_DEPRECATION = "channels.slack({ triggerOnAllMessages }) is deprecated; use triggerMode instead (triggerOnAllMessages: true is triggerMode: \"all\").";
|
|
18
|
-
export interface SlackChannelConfig {
|
|
26
|
+
export interface SlackChannelConfig extends SlackEventOptions {
|
|
19
27
|
/** Your agent's name, used in mentions like `@support-agent`. */
|
|
20
28
|
name?: string;
|
|
21
29
|
/** A short description of what your agent does. */
|
|
@@ -47,6 +55,38 @@ export interface SlackChannelConfig {
|
|
|
47
55
|
* function that picks one per message. Return `null` to skip a reaction.
|
|
48
56
|
*/
|
|
49
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;
|
|
50
90
|
}
|
|
51
91
|
export interface TriggerSlackAppConfig {
|
|
52
92
|
name?: string;
|
|
@@ -61,6 +101,8 @@ export interface RequiredTriggerSlackChannelConfig {
|
|
|
61
101
|
triggerOnAllMessages?: boolean;
|
|
62
102
|
allowBotTriggers: boolean;
|
|
63
103
|
reactions?: ReactionChoice;
|
|
104
|
+
status?: SlackStatusChoice;
|
|
105
|
+
reply?: ChannelReply;
|
|
64
106
|
}
|
|
65
107
|
/** Branded Trigger-backed Slack declaration. */
|
|
66
108
|
export type SlackChannel = Channel & RequiredTriggerSlackChannelConfig & {
|
|
@@ -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,12 +1,34 @@
|
|
|
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";
|
|
10
|
+
import { SLACK_BOT_TOKEN_SLUG } from "./connections.js";
|
|
5
11
|
import { withSlackRichContent } from "./message-content.js";
|
|
12
|
+
import { isSlackStatusValue, startedStatus, } from "./status.js";
|
|
13
|
+
import { DecidedSlackEvents, SLACK_ENDPOINT_EVENT_FIELDS, SLACK_EVENT_KEYS, finishedDelivery, isPlainSlackMessage, readSlackEvent, slackThread, } from "./events.js";
|
|
6
14
|
import { CHANNEL_BRAND, } from "../../runtime/channel.js";
|
|
15
|
+
import { isRecord } from "../../values.js";
|
|
16
|
+
import { CHANNEL_REPLIES } from "../types.js";
|
|
7
17
|
const SLACK_TRIGGER_MODES = ["mention", "thread", "all"];
|
|
8
18
|
/** @internal */
|
|
19
|
+
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".';
|
|
20
|
+
/** @internal */
|
|
9
21
|
export const SLACK_TRIGGER_ON_ALL_MESSAGES_DEPRECATION = 'channels.slack({ triggerOnAllMessages }) is deprecated; use triggerMode instead (triggerOnAllMessages: true is triggerMode: "all").';
|
|
22
|
+
function emitUnreachableMessageHandler() {
|
|
23
|
+
if (typeof process !== "undefined" &&
|
|
24
|
+
typeof process.emitWarning === "function") {
|
|
25
|
+
process.emitWarning(SLACK_UNREACHABLE_MESSAGE_HANDLER, {
|
|
26
|
+
code: "MDA_SLACK_UNREACHABLE_MESSAGE_HANDLER",
|
|
27
|
+
});
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
console.warn(SLACK_UNREACHABLE_MESSAGE_HANDLER);
|
|
31
|
+
}
|
|
10
32
|
function emitTriggerOnAllMessagesDeprecation() {
|
|
11
33
|
if (typeof process !== "undefined" &&
|
|
12
34
|
typeof process.emitWarning === "function") {
|
|
@@ -18,6 +40,7 @@ function emitTriggerOnAllMessagesDeprecation() {
|
|
|
18
40
|
}
|
|
19
41
|
console.warn(SLACK_TRIGGER_ON_ALL_MESSAGES_DEPRECATION);
|
|
20
42
|
}
|
|
43
|
+
const EVENT_KEYS = new Set(SLACK_EVENT_KEYS);
|
|
21
44
|
const slackChannelConfig = z
|
|
22
45
|
.object({
|
|
23
46
|
name: z
|
|
@@ -59,6 +82,23 @@ const slackChannelConfig = z
|
|
|
59
82
|
})
|
|
60
83
|
.transform((value) => (value === true ? DEFAULT_REACTION_EMOJI : value))
|
|
61
84
|
.default(DEFAULT_REACTION_EMOJI),
|
|
85
|
+
status: z
|
|
86
|
+
.custom((value) => typeof value === "function" || isSlackStatusValue(value), {
|
|
87
|
+
message: "Must be a status line, a list of steps (titles or { title, status }), or a function returning one",
|
|
88
|
+
})
|
|
89
|
+
.optional(),
|
|
90
|
+
// Keys and handlers are checked as the GitHub and Linear channels check
|
|
91
|
+
// theirs.
|
|
92
|
+
onEvent: z
|
|
93
|
+
.custom(isRecord, {
|
|
94
|
+
message: "Must be an object of handlers",
|
|
95
|
+
})
|
|
96
|
+
.optional(),
|
|
97
|
+
multitaskStrategy: z.enum(MULTITASK_STRATEGIES).optional(),
|
|
98
|
+
reply: z.enum(CHANNEL_REPLIES).optional(),
|
|
99
|
+
onFinish: z
|
|
100
|
+
.custom((value) => typeof value === "function", { message: "Must be a function" })
|
|
101
|
+
.optional(),
|
|
62
102
|
})
|
|
63
103
|
.strict()
|
|
64
104
|
.superRefine((value, ctx) => {
|
|
@@ -92,14 +132,26 @@ export function slackChannel(config = {}) {
|
|
|
92
132
|
.join("; ");
|
|
93
133
|
throw new Error(`channels.slack(...) ${message}`);
|
|
94
134
|
}
|
|
95
|
-
const { name, description, icon, backgroundColor, triggerMode, triggerOnAllMessages, ...options } = result.data;
|
|
135
|
+
const { name, description, icon, backgroundColor, triggerMode, triggerOnAllMessages, onEvent, multitaskStrategy, onFinish, ...options } = result.data;
|
|
96
136
|
if (triggerOnAllMessages !== undefined) {
|
|
97
137
|
emitTriggerOnAllMessagesDeprecation();
|
|
98
138
|
}
|
|
139
|
+
// The events handlers got, kept for `onFinish`, so both see the same kind.
|
|
140
|
+
const decided = onFinish ? new DecidedSlackEvents() : undefined;
|
|
141
|
+
// Each endpoint stands for the handler that asks it; a bad one throws here.
|
|
142
|
+
const handlers = onEvent &&
|
|
143
|
+
resolveEndpoints("Slack",
|
|
144
|
+
// By key; the channel calls each only with its own key's events.
|
|
145
|
+
onEvent, SLACK_ENDPOINT_EVENT_FIELDS);
|
|
146
|
+
if (handlers)
|
|
147
|
+
checkEventKeys("Slack", handlers, EVENT_KEYS);
|
|
99
148
|
const resolvedTriggerMode = resolveTriggerMode({
|
|
100
149
|
triggerMode,
|
|
101
150
|
triggerOnAllMessages,
|
|
102
151
|
});
|
|
152
|
+
if (resolvedTriggerMode === "mention" && handlers?.message) {
|
|
153
|
+
emitUnreachableMessageHandler();
|
|
154
|
+
}
|
|
103
155
|
const self = {
|
|
104
156
|
kind: "slack",
|
|
105
157
|
transport: "trigger_server",
|
|
@@ -121,11 +173,80 @@ export function slackChannel(config = {}) {
|
|
|
121
173
|
sourceProvider: "slack",
|
|
122
174
|
channelName: ctx.name,
|
|
123
175
|
reactions: self.reactions,
|
|
176
|
+
...(self.status !== undefined && {
|
|
177
|
+
startedStatus: startedStatus(self.status),
|
|
178
|
+
}),
|
|
124
179
|
messageInput: (event) => withSlackRichContent(event.input.messages, event.raw_event),
|
|
180
|
+
...(handlers && {
|
|
181
|
+
decideMessage: (event, thread, actor) => decideEvent(handlers, event, thread, ctx.name, actor, decided),
|
|
182
|
+
}),
|
|
183
|
+
...(handlers?.interaction && {
|
|
184
|
+
decideInteraction: (event, thread, actor) => decideEvent(handlers, event, thread, ctx.name, actor, decided),
|
|
185
|
+
}),
|
|
186
|
+
// A mention handler can decline a thread's mention, and Trigger Server
|
|
187
|
+
// follows the thread anyway: its unmentioned replies only continue a
|
|
188
|
+
// thread the agent already ran on.
|
|
189
|
+
...(handlers?.mention &&
|
|
190
|
+
resolvedTriggerMode === "thread" && {
|
|
191
|
+
onlyContinuesThread: async (event) => isRecord(event.raw_event) &&
|
|
192
|
+
(await isPlainSlackMessage(event.raw_event)),
|
|
193
|
+
}),
|
|
194
|
+
...(multitaskStrategy && { multitaskStrategy }),
|
|
195
|
+
...(onFinish && {
|
|
196
|
+
// As GitHub's and Linear's: the event and thread a handler gets.
|
|
197
|
+
onFinish: finishEvents(noNotice, onFinish, (rawEvent) => decided.finished(rawEvent), (delivery) => slackThread({
|
|
198
|
+
id: delivery.threadId,
|
|
199
|
+
sourceThreadKey: finishedDelivery(delivery.rawEvent)?.source_thread_key ?? "",
|
|
200
|
+
}, ctx.name)),
|
|
201
|
+
}),
|
|
125
202
|
}));
|
|
126
203
|
hide(self, "requirements", (name) => toSlackRequirements(name, self));
|
|
127
204
|
return self;
|
|
128
205
|
}
|
|
206
|
+
/**
|
|
207
|
+
* What a message or interaction starts, as its key's handler decides;
|
|
208
|
+
* `undefined`, so what it starts without one. An endpoint is asked after
|
|
209
|
+
* Trigger Server has its answer. A Slack message's blocks and attachments
|
|
210
|
+
* are added to the handler's messages, as to a message's own.
|
|
211
|
+
*/
|
|
212
|
+
async function decideEvent(handlers, delivery, thread, channelName, actor, decided) {
|
|
213
|
+
const event = await readSlackEvent(delivery, actor);
|
|
214
|
+
const handler = event && handlers[event.key];
|
|
215
|
+
if (!event || !handler)
|
|
216
|
+
return undefined;
|
|
217
|
+
decided?.remember(delivery.delivery_id, event);
|
|
218
|
+
const decide = () => runHandler(event, () => handler(event, slackThread(thread, channelName)));
|
|
219
|
+
return isEndpointCallback(handler)
|
|
220
|
+
? { type: "background", decide }
|
|
221
|
+
: decide();
|
|
222
|
+
}
|
|
223
|
+
/** Run a handler and normalize what it returned into run input. */
|
|
224
|
+
async function runHandler(event, call) {
|
|
225
|
+
const outcome = await runEventHandler("Slack", event, call);
|
|
226
|
+
if (outcome.type !== "input")
|
|
227
|
+
return outcome;
|
|
228
|
+
let input;
|
|
229
|
+
try {
|
|
230
|
+
input = normalizeRunInput(outcome.input);
|
|
231
|
+
}
|
|
232
|
+
catch (error) {
|
|
233
|
+
logger.error(`slack handler returned invalid run input (${logger.safeErrorLabel(error)})`);
|
|
234
|
+
return { type: "failed" };
|
|
235
|
+
}
|
|
236
|
+
if (!input)
|
|
237
|
+
return { type: "skipped" };
|
|
238
|
+
return {
|
|
239
|
+
type: "input",
|
|
240
|
+
input: event.key !== "interaction" && input.messages.length
|
|
241
|
+
? {
|
|
242
|
+
...input,
|
|
243
|
+
messages: withSlackRichContent(input.messages, event.payload),
|
|
244
|
+
}
|
|
245
|
+
: input,
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
/** Trigger Server tells Slack how a run ended, so the channel adds no notice. */
|
|
249
|
+
async function noNotice() { }
|
|
129
250
|
/** Build deploy/runtime requirements for a file-derived channel instance. */
|
|
130
251
|
export function toSlackRequirements(name, definition) {
|
|
131
252
|
const triggerMode = resolveTriggerMode(definition);
|
|
@@ -133,9 +254,12 @@ export function toSlackRequirements(name, definition) {
|
|
|
133
254
|
name,
|
|
134
255
|
provider: "slack",
|
|
135
256
|
transport: "trigger_server",
|
|
136
|
-
|
|
257
|
+
// Deploy reads it; `reply` lives in no provider config older CLIs reject.
|
|
258
|
+
autoReply: definition.reply !== "none",
|
|
137
259
|
requiredPermissions: [],
|
|
138
260
|
requiredEnv: [],
|
|
261
|
+
// Deploy provides the app's bot token at this name.
|
|
262
|
+
agentConnections: [SLACK_BOT_TOKEN_SLUG],
|
|
139
263
|
providerConfig: {
|
|
140
264
|
app: {
|
|
141
265
|
...(definition.app.name === undefined
|
|
@@ -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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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { BaseMessage } from "@langchain/core/messages";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import type { Channel } from "../../runtime/channel.js";
|
|
4
|
+
import type { TriggerChannelRuntimeStatus } from "../trigger/types.js";
|
|
5
|
+
/** Where a step is: Slack's task statuses. */
|
|
6
|
+
export type SlackStatusStepStatus = "pending" | "in_progress" | "complete" | "error";
|
|
7
|
+
/** One step of the run's plan; a step without a status is `pending`. */
|
|
8
|
+
export interface SlackStatusStep {
|
|
9
|
+
title: string;
|
|
10
|
+
status?: SlackStatusStepStatus;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* The run's status: one line, or a list of steps that Slack shows as a plan,
|
|
14
|
+
* each a title or a {@link SlackStatusStep}.
|
|
15
|
+
*/
|
|
16
|
+
export type SlackStatusValue = string | readonly (string | SlackStatusStep)[];
|
|
17
|
+
/** The agent's state as a status chooser reads it. */
|
|
18
|
+
export interface SlackStatusState {
|
|
19
|
+
readonly messages: readonly BaseMessage[];
|
|
20
|
+
/** The agent's to-do list, when it keeps one. */
|
|
21
|
+
readonly todos?: readonly {
|
|
22
|
+
content: string;
|
|
23
|
+
status: "pending" | "in_progress" | "completed";
|
|
24
|
+
}[];
|
|
25
|
+
readonly [key: string]: unknown;
|
|
26
|
+
}
|
|
27
|
+
/** What a status chooser is told: the agent's state, as of now. */
|
|
28
|
+
export interface SlackStatusContext {
|
|
29
|
+
readonly state: SlackStatusState;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Picks the run's status from the agent's state, or `null` to leave what's
|
|
33
|
+
* shown. May be sync or async.
|
|
34
|
+
*
|
|
35
|
+
* It is called as the run starts, before and after each model call, and
|
|
36
|
+
* every few seconds while a model or tool call runs, one call at a time. A
|
|
37
|
+
* sync chooser runs on the event loop, where the timeout cannot stop it, so
|
|
38
|
+
* do slow work in an async one.
|
|
39
|
+
*/
|
|
40
|
+
export type SlackStatusChooser = (context: SlackStatusContext) => SlackStatusValue | null | Promise<SlackStatusValue | null>;
|
|
41
|
+
/**
|
|
42
|
+
* How a channel shows a run's status: always the same value, or a function
|
|
43
|
+
* of the agent's state.
|
|
44
|
+
*/
|
|
45
|
+
export type SlackStatusChoice = SlackStatusValue | SlackStatusChooser;
|
|
46
|
+
/**
|
|
47
|
+
* A status value as Trigger Server takes it, or `undefined` when `value` is
|
|
48
|
+
* not one. A plan keeps its first steps, as many as Slack shows.
|
|
49
|
+
*/
|
|
50
|
+
export declare function slackStatusFields(value: unknown): Pick<TriggerChannelRuntimeStatus, "message" | "steps"> | undefined;
|
|
51
|
+
/** Whether `value` is a status value a channel can show. */
|
|
52
|
+
export declare function isSlackStatusValue(value: unknown): value is SlackStatusValue;
|
|
53
|
+
/**
|
|
54
|
+
* What a run's `run.started` tells Trigger Server about its status: a custom
|
|
55
|
+
* status shows as a plan, whose title is the line, and a fixed one from the
|
|
56
|
+
* start. `undefined` keeps Trigger Server's working phrases.
|
|
57
|
+
*/
|
|
58
|
+
export declare function startedStatus(choice: SlackStatusChoice | undefined): TriggerChannelRuntimeStatus | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* Show what each Slack channel's status chooser says while a run of the
|
|
61
|
+
* channel works. Runs from other channels, and channels with a fixed status
|
|
62
|
+
* or none, pass through: `run.started` carries a fixed status.
|
|
63
|
+
*/
|
|
64
|
+
export declare function createSlackStatusMiddleware(channels: readonly Channel[]): import("langchain").AgentMiddleware<z.ZodObject<{
|
|
65
|
+
todos: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
66
|
+
content: z.ZodString;
|
|
67
|
+
status: z.ZodEnum<{
|
|
68
|
+
completed: "completed";
|
|
69
|
+
in_progress: "in_progress";
|
|
70
|
+
pending: "pending";
|
|
71
|
+
}>;
|
|
72
|
+
}, z.core.$strip>>>;
|
|
73
|
+
}, z.core.$strip>, undefined, unknown, readonly (import("@langchain/core/tools").ServerTool | import("@langchain/core/tools").ClientTool)[], readonly []>;
|
|
74
|
+
/** Whether a channel's status needs the status middleware in its runs. */
|
|
75
|
+
export declare function hasSlackStatusChooser(channels: readonly Channel[]): boolean;
|
|
76
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/status.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAQxD,OAAO,KAAK,EAEV,2BAA2B,EAE5B,MAAM,qBAAqB,CAAC;AAE7B,8CAA8C;AAC9C,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,aAAa,GACb,UAAU,GACV,OAAO,CAAC;AAEZ,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC;AAE9E,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C,iDAAiD;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;KACjD,EAAE,CAAC;IACJ,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;CAClC;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,OAAO,EAAE,kBAAkB,KACxB,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;AA0CtE;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,GACb,IAAI,CAAC,2BAA2B,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,SAAS,CAapE;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,iBAAiB,GAAG,SAAS,GACpC,2BAA2B,GAAG,SAAS,CAIzC;AAyRD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE;;;;;;;;;0JAqFvE;AAED,0EAA0E;AAC1E,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAM3E"}
|