@frogbotai/piece-slack 0.24.0 → 0.26.0
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/dist/files.d.ts +2 -2
- package/dist/index.d.ts +32 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/questions/blocks.d.ts +33 -0
- package/dist/questions/blocks.d.ts.map +1 -0
- package/dist/questions/blocks.js +173 -0
- package/dist/questions/blocks.js.map +1 -0
- package/dist/questions/index.d.ts +4 -0
- package/dist/questions/index.d.ts.map +1 -0
- package/dist/questions/index.js +15 -0
- package/dist/questions/index.js.map +1 -0
- package/dist/questions/notify.d.ts +8 -0
- package/dist/questions/notify.d.ts.map +1 -0
- package/dist/questions/notify.js +15 -0
- package/dist/questions/notify.js.map +1 -0
- package/dist/questions/parse.d.ts +3 -0
- package/dist/questions/parse.d.ts.map +1 -0
- package/dist/questions/parse.js +90 -0
- package/dist/questions/parse.js.map +1 -0
- package/dist/questions/render.d.ts +4 -0
- package/dist/questions/render.d.ts.map +1 -0
- package/dist/questions/render.js +24 -0
- package/dist/questions/render.js.map +1 -0
- package/dist/questions/settled.d.ts +4 -0
- package/dist/questions/settled.d.ts.map +1 -0
- package/dist/questions/settled.js +14 -0
- package/dist/questions/settled.js.map +1 -0
- package/dist/questions/slackThread.d.ts +15 -0
- package/dist/questions/slackThread.d.ts.map +1 -0
- package/dist/questions/slackThread.js +22 -0
- package/dist/questions/slackThread.js.map +1 -0
- package/dist/questions/state.d.ts +14 -0
- package/dist/questions/state.d.ts.map +1 -0
- package/dist/questions/state.js +9 -0
- package/dist/questions/state.js.map +1 -0
- package/dist/questions/updated.d.ts +6 -0
- package/dist/questions/updated.d.ts.map +1 -0
- package/dist/questions/updated.js +57 -0
- package/dist/questions/updated.js.map +1 -0
- package/dist/webhook.d.ts +7 -7
- package/package.json +3 -3
package/dist/files.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { FrogBotRequest } from 'frogbot';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
export declare const slackFile: z.ZodObject<{
|
|
4
4
|
fileId: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
5
5
|
name: z.ZodOptional<z.ZodString>;
|
|
6
6
|
}, z.core.$strip>;
|
|
7
|
-
export declare function loadSlackFile(req:
|
|
7
|
+
export declare function loadSlackFile(req: FrogBotRequest, value: z.output<typeof slackFile>): Promise<{
|
|
8
8
|
data: Blob;
|
|
9
9
|
name: string;
|
|
10
10
|
}>;
|
package/dist/index.d.ts
CHANGED
|
@@ -65,19 +65,19 @@ export declare const createSlack: import("frogbot").PieceFactory<{
|
|
|
65
65
|
token: (kind?: import("./client.js").SlackToken) => string | undefined;
|
|
66
66
|
workspaceId: () => Promise<string>;
|
|
67
67
|
};
|
|
68
|
-
req: import("frogbot").
|
|
68
|
+
req: import("frogbot").FrogBotRequest;
|
|
69
69
|
}) => Promise<import("frogbot").PieceOAuthAccount>;
|
|
70
70
|
};
|
|
71
71
|
readonly webhook: {
|
|
72
72
|
verify: typeof verifySlackWebhook;
|
|
73
73
|
handshake({ req }: {
|
|
74
|
-
req: import("frogbot").
|
|
74
|
+
req: import("frogbot").FrogBotRequest;
|
|
75
75
|
options: {
|
|
76
76
|
signingSecret?: string | undefined;
|
|
77
77
|
};
|
|
78
78
|
}): Promise<Response | null>;
|
|
79
79
|
parse({ req }: {
|
|
80
|
-
req: import("frogbot").
|
|
80
|
+
req: import("frogbot").FrogBotRequest;
|
|
81
81
|
}): {
|
|
82
82
|
event: string;
|
|
83
83
|
};
|
|
@@ -123,11 +123,39 @@ export declare const createSlack: import("frogbot").PieceFactory<{
|
|
|
123
123
|
token: (kind?: import("./client.js").SlackToken) => string | undefined;
|
|
124
124
|
workspaceId: () => Promise<string>;
|
|
125
125
|
};
|
|
126
|
-
req: import("frogbot").
|
|
126
|
+
req: import("frogbot").FrogBotRequest;
|
|
127
127
|
}): Promise<{
|
|
128
128
|
collection: string;
|
|
129
129
|
id: string | number;
|
|
130
130
|
} | null>;
|
|
131
|
+
questions: import("frogbot/pieces").PieceChannelQuestions<{
|
|
132
|
+
request: (path: string, body?: Record<string, unknown>, tokenKind?: import("./client.js").SlackToken) => Promise<{
|
|
133
|
+
[x: string]: unknown;
|
|
134
|
+
ok: true;
|
|
135
|
+
}>;
|
|
136
|
+
raw: ({ path, method, body, headers, token: tokenKind, }: {
|
|
137
|
+
path: string;
|
|
138
|
+
method?: string;
|
|
139
|
+
body?: BodyInit | Record<string, unknown>;
|
|
140
|
+
headers?: HeadersInit;
|
|
141
|
+
token?: import("./client.js").SlackToken;
|
|
142
|
+
}) => Promise<{
|
|
143
|
+
status: number;
|
|
144
|
+
headers: {
|
|
145
|
+
[k: string]: string;
|
|
146
|
+
};
|
|
147
|
+
body: any;
|
|
148
|
+
}>;
|
|
149
|
+
paginate: ({ path, body, item, token: tokenKind, limit, }: {
|
|
150
|
+
path: string;
|
|
151
|
+
body?: Record<string, unknown>;
|
|
152
|
+
item: string;
|
|
153
|
+
token?: import("./client.js").SlackToken;
|
|
154
|
+
limit?: number;
|
|
155
|
+
}) => Promise<Record<string, unknown>[]>;
|
|
156
|
+
token: (kind?: import("./client.js").SlackToken) => string | undefined;
|
|
157
|
+
workspaceId: () => Promise<string>;
|
|
158
|
+
}>;
|
|
131
159
|
};
|
|
132
160
|
readonly actions: (import("frogbot").PieceActionDefinition<z.ZodObject<{
|
|
133
161
|
text: z.ZodString;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,OAAO,EAAE,iBAAiB,EAAoB,MAAM,aAAa,CAAC;AAClE,OAAO,EAA2B,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,OAAO,EAAE,iBAAiB,EAAoB,MAAM,aAAa,CAAC;AAClE,OAAO,EAA2B,WAAW,EAAE,MAAM,aAAa,CAAC;AAGnE,OAAO,EAAqC,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAErF,eAAO,MAAM,gBAAgB,UAA4C,CAAC;AAC1E,eAAO,MAAM,iBAAiB,UAA+C,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,CAAC;AA2CvB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAJF,CAAC;wBAErB,CAAA;2BAAiD,CAAC;yBAElC,CAAC;;;;;;;;;;wBA6CQ,CAAA;;yBAEd,CAAC;yBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAnDhB,CAAC;wBAErB,CAAA;2BAAiD,CAAC;yBAElC,CAAC;;;;;;;;;;wBA6CQ,CAAA;;yBAEd,CAAC;yBAAuB,CAAC;;;;;;;;;;;;;;;;;sBAnDhB,CAAC;oBAErB,CAAA;uBAAiD,CAAC;qBAElC,CAAC;;;;;;;;;;oBA6CQ,CAAA;;qBAEd,CAAC;qBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;;;;;;;;;;;;;;kBAnDhB,CAAC;gBAErB,CAAA;mBAAiD,CAAC;iBAElC,CAAC;;;;;;;;;;gBA6CQ,CAAA;;iBAEd,CAAC;iBAAuB,CAAC;;;;;EAkBpC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { definePiece, } from 'frogbot/pieces';
|
|
|
3
3
|
import { slackActions } from './actions.js';
|
|
4
4
|
import { createSlackClient } from './client.js';
|
|
5
5
|
import { slackAuth, slackOptions, slackScopes } from './config.js';
|
|
6
|
+
import { slackQuestions } from './questions/index.js';
|
|
6
7
|
import { slackTriggers } from './triggers.js';
|
|
7
8
|
import { parseSlackWebhook, slackHandshake, verifySlackWebhook } from './webhook.js';
|
|
8
9
|
export const slackActionNames = slackActions.map((action) => action.slug);
|
|
@@ -94,6 +95,7 @@ export const createSlack = definePiece({
|
|
|
94
95
|
const match = result.docs[0];
|
|
95
96
|
return match ? { ...match, collection: payloadConfig.admin.user } : null;
|
|
96
97
|
},
|
|
98
|
+
questions: slackQuestions,
|
|
97
99
|
},
|
|
98
100
|
actions: slackActions,
|
|
99
101
|
triggers: slackTriggers,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ChannelQuestionCall, QuestionInput } from 'frogbot/pieces';
|
|
2
|
+
export declare const QUESTION_PREFIX = "frogbot:question";
|
|
3
|
+
export declare const CUSTOM_ANSWER_CALLBACK_ID = "frogbot:question:custom";
|
|
4
|
+
export declare const CUSTOM_ANSWER_ACTION_ID = "answer";
|
|
5
|
+
export type SlackBlock = Record<string, unknown>;
|
|
6
|
+
export declare const actionIds: {
|
|
7
|
+
choose: (call: ChannelQuestionCall, q: number) => string;
|
|
8
|
+
custom: (call: ChannelQuestionCall, q: number) => string;
|
|
9
|
+
dismiss: (call: ChannelQuestionCall) => string;
|
|
10
|
+
submit: (call: ChannelQuestionCall) => string;
|
|
11
|
+
};
|
|
12
|
+
export declare const blockIds: {
|
|
13
|
+
question: (call: ChannelQuestionCall, q: number) => string;
|
|
14
|
+
custom: (call: ChannelQuestionCall, q: number) => string;
|
|
15
|
+
};
|
|
16
|
+
export declare function isQuickQuestion(input: QuestionInput): boolean;
|
|
17
|
+
export declare function questionBlocks(call: ChannelQuestionCall): SlackBlock[];
|
|
18
|
+
export declare function settledBlocks({ actorId, answers, call, }: {
|
|
19
|
+
actorId?: string;
|
|
20
|
+
answers?: Array<{
|
|
21
|
+
selected: string[];
|
|
22
|
+
custom?: string;
|
|
23
|
+
}>;
|
|
24
|
+
call: ChannelQuestionCall;
|
|
25
|
+
}): SlackBlock[];
|
|
26
|
+
export declare function fallbackText(input: QuestionInput): string;
|
|
27
|
+
export declare function customAnswerView({ call, initialValue, metadata, q, }: {
|
|
28
|
+
call: ChannelQuestionCall;
|
|
29
|
+
initialValue?: string;
|
|
30
|
+
metadata: string;
|
|
31
|
+
q: number;
|
|
32
|
+
}): SlackBlock;
|
|
33
|
+
//# sourceMappingURL=blocks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/questions/blocks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEzE,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAClD,eAAO,MAAM,yBAAyB,4BAA8B,CAAC;AACrE,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAUhD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,eAAO,MAAM,SAAS;mBACL,mBAAmB,KAAK,MAAM;mBAE9B,mBAAmB,KAAK,MAAM;oBAE7B,mBAAmB;mBACpB,mBAAmB;CACnC,CAAC;AAEF,eAAO,MAAM,QAAQ;qBACF,mBAAmB,KAAK,MAAM;mBAChC,mBAAmB,KAAK,MAAM;CAE9C,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAE7D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,UAAU,EAAE,CAEtE;AAED,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,IAAI,GACL,EAAE;IACD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,IAAI,EAAE,mBAAmB,CAAC;CAC3B,GAAG,UAAU,EAAE,CAmBf;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAIzD;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,CAAC,GACF,EAAE;IACD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC;CACX,GAAG,UAAU,CA2Bb"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
export const QUESTION_PREFIX = 'frogbot:question';
|
|
2
|
+
export const CUSTOM_ANSWER_CALLBACK_ID = `${QUESTION_PREFIX}:custom`;
|
|
3
|
+
export const CUSTOM_ANSWER_ACTION_ID = 'answer';
|
|
4
|
+
const BUTTON_OPTIONS = 5;
|
|
5
|
+
const RADIO_OPTIONS = 10;
|
|
6
|
+
const SELECT_OPTIONS = 100;
|
|
7
|
+
const OPTION_TEXT = 75;
|
|
8
|
+
const MODAL_TITLE = 24;
|
|
9
|
+
export const actionIds = {
|
|
10
|
+
choose: (call, q) => `${QUESTION_PREFIX}:choose:${call.toolCallId}:${q}`,
|
|
11
|
+
custom: (call, q) => `${QUESTION_PREFIX}:custom:${call.toolCallId}:${q}`,
|
|
12
|
+
dismiss: (call) => `${QUESTION_PREFIX}:dismiss:${call.toolCallId}`,
|
|
13
|
+
submit: (call) => `${QUESTION_PREFIX}:submit:${call.toolCallId}`,
|
|
14
|
+
};
|
|
15
|
+
export const blockIds = {
|
|
16
|
+
question: (call, q) => `${QUESTION_PREFIX}:${call.toolCallId}:${q}`,
|
|
17
|
+
custom: (call, q) => `${QUESTION_PREFIX}:custom:${call.toolCallId}:${q}`,
|
|
18
|
+
};
|
|
19
|
+
export function isQuickQuestion(input) {
|
|
20
|
+
return input.questions.length === 1 && !input.questions[0].multiple;
|
|
21
|
+
}
|
|
22
|
+
export function questionBlocks(call) {
|
|
23
|
+
return isQuickQuestion(call.input) ? quickBlocks(call) : formBlocks(call);
|
|
24
|
+
}
|
|
25
|
+
export function settledBlocks({ actorId, answers, call, }) {
|
|
26
|
+
const blocks = call.input.questions.map((item, q) => {
|
|
27
|
+
const answer = answers?.[q];
|
|
28
|
+
const lines = [prompt(item)];
|
|
29
|
+
if (answer) {
|
|
30
|
+
const values = [...answer.selected, ...(answer.custom ? [`“${answer.custom}”`] : [])];
|
|
31
|
+
lines.push(`:white_check_mark: *${escape(values.join(', '))}*`);
|
|
32
|
+
}
|
|
33
|
+
return section(lines.join('\n'));
|
|
34
|
+
});
|
|
35
|
+
const verb = answers ? 'Answered' : 'Dismissed';
|
|
36
|
+
if (!answers)
|
|
37
|
+
blocks.push(section(':no_entry_sign: *Dismissed*'));
|
|
38
|
+
return [...blocks, context(actorId ? `${verb} by <@${actorId}>` : verb)];
|
|
39
|
+
}
|
|
40
|
+
export function fallbackText(input) {
|
|
41
|
+
return input.questions
|
|
42
|
+
.map(({ header, question }) => `${escape(header)}: ${escape(question)}`)
|
|
43
|
+
.join('\n');
|
|
44
|
+
}
|
|
45
|
+
export function customAnswerView({ call, initialValue, metadata, q, }) {
|
|
46
|
+
const item = call.input.questions[q];
|
|
47
|
+
const quick = isQuickQuestion(call.input);
|
|
48
|
+
return {
|
|
49
|
+
type: 'modal',
|
|
50
|
+
callback_id: CUSTOM_ANSWER_CALLBACK_ID,
|
|
51
|
+
title: plain(truncate(item.header, MODAL_TITLE)),
|
|
52
|
+
submit: plain(quick ? 'Submit' : 'Save'),
|
|
53
|
+
close: plain('Cancel'),
|
|
54
|
+
private_metadata: JSON.stringify({ m: metadata }),
|
|
55
|
+
blocks: [
|
|
56
|
+
section(prompt(item)),
|
|
57
|
+
{
|
|
58
|
+
type: 'input',
|
|
59
|
+
block_id: blockIds.custom(call, q),
|
|
60
|
+
optional: !quick,
|
|
61
|
+
label: plain('Your answer'),
|
|
62
|
+
element: {
|
|
63
|
+
type: 'plain_text_input',
|
|
64
|
+
action_id: CUSTOM_ANSWER_ACTION_ID,
|
|
65
|
+
multiline: true,
|
|
66
|
+
...(initialValue ? { initial_value: initialValue } : {}),
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
function quickBlocks(call) {
|
|
73
|
+
const item = call.input.questions[0];
|
|
74
|
+
const buttons = item.options.length <= BUTTON_OPTIONS;
|
|
75
|
+
const descriptions = buttons
|
|
76
|
+
? item.options.flatMap(({ label, description }) => description ? [`• *${escape(label)}* — ${escape(description)}`] : [])
|
|
77
|
+
: [];
|
|
78
|
+
const controls = buttons
|
|
79
|
+
? item.options.map((option, index) => ({
|
|
80
|
+
type: 'button',
|
|
81
|
+
action_id: `${actionIds.choose(call, 0)}:${index}`,
|
|
82
|
+
text: plain(truncate(option.label, OPTION_TEXT)),
|
|
83
|
+
value: String(index),
|
|
84
|
+
}))
|
|
85
|
+
: [choiceElement({ call, item, q: 0 })];
|
|
86
|
+
return [
|
|
87
|
+
section([prompt(item), ...descriptions].join('\n')),
|
|
88
|
+
{
|
|
89
|
+
type: 'actions',
|
|
90
|
+
elements: [
|
|
91
|
+
...controls,
|
|
92
|
+
...(item.custom
|
|
93
|
+
? [button({ actionId: actionIds.custom(call, 0), text: 'Type your answer' })]
|
|
94
|
+
: []),
|
|
95
|
+
button({ actionId: actionIds.dismiss(call), text: 'Dismiss', style: 'danger' }),
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
];
|
|
99
|
+
}
|
|
100
|
+
function formBlocks(call) {
|
|
101
|
+
const questions = call.input.questions.flatMap((item, q) => [
|
|
102
|
+
section(prompt(item)),
|
|
103
|
+
{
|
|
104
|
+
type: 'actions',
|
|
105
|
+
block_id: blockIds.question(call, q),
|
|
106
|
+
elements: [
|
|
107
|
+
choiceElement({ call, item, q }),
|
|
108
|
+
...(item.custom
|
|
109
|
+
? [button({ actionId: actionIds.custom(call, q), text: 'Type an answer' })]
|
|
110
|
+
: []),
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
]);
|
|
114
|
+
return [
|
|
115
|
+
...questions,
|
|
116
|
+
{
|
|
117
|
+
type: 'actions',
|
|
118
|
+
elements: [
|
|
119
|
+
button({ actionId: actionIds.submit(call), text: 'Submit', style: 'primary' }),
|
|
120
|
+
button({ actionId: actionIds.dismiss(call), text: 'Dismiss', style: 'danger' }),
|
|
121
|
+
],
|
|
122
|
+
},
|
|
123
|
+
];
|
|
124
|
+
}
|
|
125
|
+
function choiceElement({ call, item, q, }) {
|
|
126
|
+
const options = item.options.map(({ label, description }, index) => ({
|
|
127
|
+
text: plain(truncate(label, OPTION_TEXT)),
|
|
128
|
+
value: String(index),
|
|
129
|
+
...(description ? { description: plain(truncate(description, OPTION_TEXT)) } : {}),
|
|
130
|
+
}));
|
|
131
|
+
const actionId = actionIds.choose(call, q);
|
|
132
|
+
if (options.length <= RADIO_OPTIONS) {
|
|
133
|
+
return { type: item.multiple ? 'checkboxes' : 'radio_buttons', action_id: actionId, options };
|
|
134
|
+
}
|
|
135
|
+
return {
|
|
136
|
+
type: item.multiple ? 'multi_static_select' : 'static_select',
|
|
137
|
+
action_id: actionId,
|
|
138
|
+
placeholder: plain(item.multiple ? 'Choose options' : 'Choose an option'),
|
|
139
|
+
...(options.length <= SELECT_OPTIONS
|
|
140
|
+
? { options }
|
|
141
|
+
: {
|
|
142
|
+
option_groups: chunk(options, SELECT_OPTIONS).map((group, index) => ({
|
|
143
|
+
label: plain(`Options ${index * SELECT_OPTIONS + 1}–${index * SELECT_OPTIONS + group.length}`),
|
|
144
|
+
options: group,
|
|
145
|
+
})),
|
|
146
|
+
}),
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
function prompt({ header, question }) {
|
|
150
|
+
return `*${escape(header)}*\n${escape(question)}`;
|
|
151
|
+
}
|
|
152
|
+
function button({ actionId, style, text, }) {
|
|
153
|
+
return { type: 'button', action_id: actionId, text: plain(text), ...(style ? { style } : {}) };
|
|
154
|
+
}
|
|
155
|
+
function section(text) {
|
|
156
|
+
return { type: 'section', text: { type: 'mrkdwn', text: truncate(text, 3000) } };
|
|
157
|
+
}
|
|
158
|
+
function context(text) {
|
|
159
|
+
return { type: 'context', elements: [{ type: 'mrkdwn', text }] };
|
|
160
|
+
}
|
|
161
|
+
function plain(text) {
|
|
162
|
+
return { type: 'plain_text', text, emoji: true };
|
|
163
|
+
}
|
|
164
|
+
function escape(text) {
|
|
165
|
+
return text.replaceAll('&', '&').replaceAll('<', '<').replaceAll('>', '>');
|
|
166
|
+
}
|
|
167
|
+
function truncate(text, limit) {
|
|
168
|
+
return text.length > limit ? `${text.slice(0, limit - 1)}…` : text;
|
|
169
|
+
}
|
|
170
|
+
function chunk(values, size) {
|
|
171
|
+
return Array.from({ length: Math.ceil(values.length / size) }, (_, index) => values.slice(index * size, (index + 1) * size));
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=blocks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../src/questions/blocks.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAClD,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,eAAe,SAAS,CAAC;AACrE,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAEhD,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,WAAW,GAAG,EAAE,CAAC;AAMvB,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,MAAM,EAAE,CAAC,IAAyB,EAAE,CAAS,EAAE,EAAE,CAC/C,GAAG,eAAe,WAAW,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;IACrD,MAAM,EAAE,CAAC,IAAyB,EAAE,CAAS,EAAE,EAAE,CAC/C,GAAG,eAAe,WAAW,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;IACrD,OAAO,EAAE,CAAC,IAAyB,EAAE,EAAE,CAAC,GAAG,eAAe,YAAY,IAAI,CAAC,UAAU,EAAE;IACvF,MAAM,EAAE,CAAC,IAAyB,EAAE,EAAE,CAAC,GAAG,eAAe,WAAW,IAAI,CAAC,UAAU,EAAE;CACtF,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,QAAQ,EAAE,CAAC,IAAyB,EAAE,CAAS,EAAE,EAAE,CAAC,GAAG,eAAe,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;IAChG,MAAM,EAAE,CAAC,IAAyB,EAAE,CAAS,EAAE,EAAE,CAC/C,GAAG,eAAe,WAAW,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;CACtD,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,KAAoB;IAClD,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAyB;IACtD,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,IAAI,GAKL;IACC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAClD,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAE7B,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAEtF,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;IAEhD,IAAI,CAAC,OAAO;QAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAElE,OAAO,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,SAAS,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAoB;IAC/C,OAAO,KAAK,CAAC,SAAS;SACnB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;SACvE,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAC/B,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,CAAC,GAMF;IACC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC;IACtC,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE1C,OAAO;QACL,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,yBAAyB;QACtC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAChD,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QACxC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;QACtB,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;QACjD,MAAM,EAAE;YACN,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrB;gBACE,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClC,QAAQ,EAAE,CAAC,KAAK;gBAChB,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC;gBAC3B,OAAO,EAAE;oBACP,IAAI,EAAE,kBAAkB;oBACxB,SAAS,EAAE,uBAAuB;oBAClC,SAAS,EAAE,IAAI;oBACf,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzD;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAyB;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC;IACtD,MAAM,YAAY,GAAG,OAAO;QAC1B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAC9C,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CACrE;QACH,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,QAAQ,GAAG,OAAO;QACtB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACnC,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE;YAClD,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAChD,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;SACrB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE1C,OAAO;QACL,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE;gBACR,GAAG,QAAQ;gBACX,GAAG,CAAC,IAAI,CAAC,MAAM;oBACb,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC7E,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;aAChF;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAyB;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1D,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrB;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACpC,QAAQ,EAAE;gBACR,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBAChC,GAAG,CAAC,IAAI,CAAC,MAAM;oBACb,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;oBAC3E,CAAC,CAAC,EAAE,CAAC;aACR;SACF;KACF,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,SAAS;QACZ;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE;gBACR,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBAC9E,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;aAChF;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,IAAI,EACJ,IAAI,EACJ,CAAC,GAKF;IACC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACnE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACzC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;QACpB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnF,CAAC,CAAC,CAAC;IAEJ,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE3C,IAAI,OAAO,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;QACpC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAChG,CAAC;IAED,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,eAAe;QAC7D,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,cAAc;YAClC,CAAC,CAAC,EAAE,OAAO,EAAE;YACb,CAAC,CAAC;gBACE,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;oBACnE,KAAK,EAAE,KAAK,CACV,WAAW,KAAK,GAAG,cAAc,GAAG,CAAC,IAAI,KAAK,GAAG,cAAc,GAAG,KAAK,CAAC,MAAM,EAAE,CACjF;oBACD,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;aACJ,CAAC;KACP,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAgB;IAChD,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,MAAM,CAAC,EACd,QAAQ,EACR,KAAK,EACL,IAAI,GAKL;IACC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACjG,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;AACnF,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,KAAK,CAAC,IAAY;IACzB,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,MAAM,CAAC,IAAY;IAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAa;IAC3C,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACrE,CAAC;AAED,SAAS,KAAK,CAAI,MAAW,EAAE,IAAY;IACzC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAC1E,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAC/C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/questions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAOhD,eAAO,MAAM,cAAc,EAAE,qBAAqB,CAAC,WAAW,CAQ7D,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { denySlackQuestion, rejectSlackQuestion, staleSlackQuestion } from './notify.js';
|
|
2
|
+
import { parseSlackQuestion } from './parse.js';
|
|
3
|
+
import { renderSlackQuestion } from './render.js';
|
|
4
|
+
import { settleSlackQuestion } from './settled.js';
|
|
5
|
+
import { updateSlackQuestion } from './updated.js';
|
|
6
|
+
export const slackQuestions = {
|
|
7
|
+
render: renderSlackQuestion,
|
|
8
|
+
parse: parseSlackQuestion,
|
|
9
|
+
settled: settleSlackQuestion,
|
|
10
|
+
updated: updateSlackQuestion,
|
|
11
|
+
rejected: rejectSlackQuestion,
|
|
12
|
+
denied: denySlackQuestion,
|
|
13
|
+
stale: staleSlackQuestion,
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/questions/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,CAAC,MAAM,cAAc,GAAuC;IAChE,MAAM,EAAE,mBAAmB;IAC3B,KAAK,EAAE,kBAAkB;IACzB,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,mBAAmB;IAC5B,QAAQ,EAAE,mBAAmB;IAC7B,MAAM,EAAE,iBAAiB;IACzB,KAAK,EAAE,kBAAkB;CAC1B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PieceChannelQuestions } from 'frogbot/pieces';
|
|
2
|
+
import type { SlackClient } from '../client.js';
|
|
3
|
+
type SlackQuestions = Required<PieceChannelQuestions<SlackClient>>;
|
|
4
|
+
export declare const denySlackQuestion: SlackQuestions['denied'];
|
|
5
|
+
export declare const rejectSlackQuestion: SlackQuestions['rejected'];
|
|
6
|
+
export declare const staleSlackQuestion: SlackQuestions['stale'];
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=notify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../src/questions/notify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,KAAK,cAAc,GAAG,QAAQ,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;AAEnE,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,QAAQ,CAMnD,CAAC;AAEL,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,UAAU,CAKoB,CAAC;AAEhF,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,OAAO,CAMnD,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { postEphemeral } from './slackThread.js';
|
|
2
|
+
export const denySlackQuestion = ({ client, interaction, thread }) => postEphemeral({
|
|
3
|
+
client,
|
|
4
|
+
interaction,
|
|
5
|
+
text: "You don't have access to answer this question.",
|
|
6
|
+
threadId: thread.id,
|
|
7
|
+
});
|
|
8
|
+
export const rejectSlackQuestion = ({ client, interaction, reason, thread, }) => postEphemeral({ client, interaction, text: reason, threadId: thread.id });
|
|
9
|
+
export const staleSlackQuestion = ({ client, interaction, thread }) => postEphemeral({
|
|
10
|
+
client,
|
|
11
|
+
interaction,
|
|
12
|
+
text: 'This question was already answered.',
|
|
13
|
+
threadId: thread.id,
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=notify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notify.js","sourceRoot":"","sources":["../../src/questions/notify.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,MAAM,CAAC,MAAM,iBAAiB,GAA6B,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAC7F,aAAa,CAAC;IACZ,MAAM;IACN,WAAW;IACX,IAAI,EAAE,gDAAgD;IACtD,QAAQ,EAAE,MAAM,CAAC,EAAE;CACpB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,mBAAmB,GAA+B,CAAC,EAC9D,MAAM,EACN,WAAW,EACX,MAAM,EACN,MAAM,GACP,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,kBAAkB,GAA4B,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAC7F,aAAa,CAAC;IACZ,MAAM;IACN,WAAW;IACX,IAAI,EAAE,qCAAqC;IAC3C,QAAQ,EAAE,MAAM,CAAC,EAAE;CACpB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/questions/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,qBAAqB,EAEtB,MAAM,gBAAgB,CAAC;AAiCxB,eAAO,MAAM,kBAAkB,EAAE,qBAAqB,CAAC,OAAO,CAuB7D,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { actionIds, blockIds, CUSTOM_ANSWER_ACTION_ID, CUSTOM_ANSWER_CALLBACK_ID, isQuickQuestion, } from './blocks.js';
|
|
2
|
+
import { customAnswers, withCustomAnswer } from './state.js';
|
|
3
|
+
export const parseSlackQuestion = ({ call, interaction, question, }) => {
|
|
4
|
+
if (interaction.type === 'message')
|
|
5
|
+
return { kind: 'ignore' };
|
|
6
|
+
const state = question.state;
|
|
7
|
+
return interaction.type === 'action'
|
|
8
|
+
? parseAction({
|
|
9
|
+
actionId: interaction.event.actionId,
|
|
10
|
+
call,
|
|
11
|
+
payload: interaction.event.raw,
|
|
12
|
+
state,
|
|
13
|
+
userId: interaction.event.user.userId,
|
|
14
|
+
})
|
|
15
|
+
: parseCustomAnswer({
|
|
16
|
+
call,
|
|
17
|
+
payload: interaction.event.raw,
|
|
18
|
+
state,
|
|
19
|
+
userId: interaction.event.user.userId,
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
function parseAction({ actionId, call, payload, state, userId, }) {
|
|
23
|
+
if (actionId === actionIds.dismiss(call))
|
|
24
|
+
return { kind: 'dismiss' };
|
|
25
|
+
if (actionId === actionIds.submit(call))
|
|
26
|
+
return parseSubmit({ call, payload, state, userId });
|
|
27
|
+
const custom = call.input.questions.findIndex((_, q) => actionId === actionIds.custom(call, q));
|
|
28
|
+
if (custom !== -1)
|
|
29
|
+
return { kind: 'partial' };
|
|
30
|
+
if (!isQuickQuestion(call.input))
|
|
31
|
+
return { kind: 'ignore' };
|
|
32
|
+
const choose = actionIds.choose(call, 0);
|
|
33
|
+
if (actionId !== choose && !actionId.startsWith(`${choose}:`))
|
|
34
|
+
return { kind: 'ignore' };
|
|
35
|
+
const action = payload.actions?.find(({ action_id }) => action_id === actionId);
|
|
36
|
+
const item = call.input.questions[0];
|
|
37
|
+
const option = item.options[Number(action?.selected_option?.value ?? action?.value)];
|
|
38
|
+
if (!option)
|
|
39
|
+
return { kind: 'ignore' };
|
|
40
|
+
return {
|
|
41
|
+
kind: 'answer',
|
|
42
|
+
output: { answers: [{ header: item.header, selected: [option.label] }] },
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function parseSubmit({ call, payload, state, userId, }) {
|
|
46
|
+
const values = payload.state?.values;
|
|
47
|
+
if (!values) {
|
|
48
|
+
return { kind: 'rejected', reason: 'Slack did not send your selections. Try again.' };
|
|
49
|
+
}
|
|
50
|
+
const typed = customAnswers({ state, userId });
|
|
51
|
+
const answers = call.input.questions.map((item, q) => {
|
|
52
|
+
const element = values[blockIds.question(call, q)]?.[actionIds.choose(call, q)];
|
|
53
|
+
const chosen = element?.selected_options ?? (element?.selected_option ? [element.selected_option] : []);
|
|
54
|
+
const custom = item.custom ? typed[q]?.trim() : undefined;
|
|
55
|
+
const selected = chosen
|
|
56
|
+
.map(({ value }) => Number(value))
|
|
57
|
+
.filter((index) => item.options[index] !== undefined)
|
|
58
|
+
.sort((a, b) => a - b)
|
|
59
|
+
.map((index) => item.options[index].label);
|
|
60
|
+
return {
|
|
61
|
+
header: item.header,
|
|
62
|
+
selected: custom && !item.multiple ? [] : selected,
|
|
63
|
+
...(custom ? { custom } : {}),
|
|
64
|
+
};
|
|
65
|
+
});
|
|
66
|
+
const missing = answers.find(({ custom, selected }) => selected.length === 0 && !custom);
|
|
67
|
+
if (missing)
|
|
68
|
+
return { kind: 'rejected', reason: `Answer “${missing.header}” before submitting.` };
|
|
69
|
+
return { kind: 'answer', output: { answers } };
|
|
70
|
+
}
|
|
71
|
+
function parseCustomAnswer({ call, payload, state, userId, }) {
|
|
72
|
+
if (payload.view?.callback_id !== CUSTOM_ANSWER_CALLBACK_ID)
|
|
73
|
+
return { kind: 'ignore' };
|
|
74
|
+
const values = payload.view.state?.values ?? {};
|
|
75
|
+
const q = call.input.questions.findIndex((_, index) => blockIds.custom(call, index) in values);
|
|
76
|
+
if (q === -1)
|
|
77
|
+
return { kind: 'ignore' };
|
|
78
|
+
const text = values[blockIds.custom(call, q)]?.[CUSTOM_ANSWER_ACTION_ID]?.value?.trim() ?? '';
|
|
79
|
+
if (!isQuickQuestion(call.input)) {
|
|
80
|
+
return { kind: 'partial', state: withCustomAnswer({ q, state, text, userId }) };
|
|
81
|
+
}
|
|
82
|
+
if (!text)
|
|
83
|
+
return { kind: 'rejected', reason: 'Type an answer before submitting.' };
|
|
84
|
+
const item = call.input.questions[0];
|
|
85
|
+
return {
|
|
86
|
+
kind: 'answer',
|
|
87
|
+
output: { answers: [{ header: item.header, selected: [], custom: text }] },
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=parse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/questions/parse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/questions/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,eAAO,MAAM,mBAAmB,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC,QAAQ,CA4B5E,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { fallbackText, questionBlocks } from './blocks.js';
|
|
2
|
+
import { slackPostedAt, slackThread } from './slackThread.js';
|
|
3
|
+
export const renderSlackQuestion = async ({ calls, client, thread, }) => {
|
|
4
|
+
const [call] = calls;
|
|
5
|
+
if (!call)
|
|
6
|
+
return [];
|
|
7
|
+
const { channel, threadTs } = slackThread(thread.id);
|
|
8
|
+
const response = await client.request('chat.postMessage', {
|
|
9
|
+
channel,
|
|
10
|
+
text: fallbackText(call.input),
|
|
11
|
+
blocks: questionBlocks(call),
|
|
12
|
+
...(threadTs ? { thread_ts: threadTs } : {}),
|
|
13
|
+
});
|
|
14
|
+
if (typeof response.ts !== 'string') {
|
|
15
|
+
throw new Error('Slack chat.postMessage did not return a message timestamp.');
|
|
16
|
+
}
|
|
17
|
+
return [
|
|
18
|
+
{
|
|
19
|
+
calls: [call.toolCallId],
|
|
20
|
+
messages: [{ id: response.ts, postedAt: slackPostedAt(response.ts) }],
|
|
21
|
+
},
|
|
22
|
+
];
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/questions/render.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE9D,MAAM,CAAC,MAAM,mBAAmB,GAAiD,KAAK,EAAE,EACtF,KAAK,EACL,MAAM,EACN,MAAM,GACP,EAAE,EAAE;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAErB,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACxD,OAAO;QACP,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9B,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC;QAC5B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,CAAC,CAAC;IAEH,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IAED,OAAO;QACL;YACE,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;YACxB,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;SACtE;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settled.d.ts","sourceRoot":"","sources":["../../src/questions/settled.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,eAAO,MAAM,mBAAmB,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC,SAAS,CAwB7E,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { fallbackText, settledBlocks } from './blocks.js';
|
|
2
|
+
import { slackThread } from './slackThread.js';
|
|
3
|
+
export const settleSlackQuestion = async ({ actor, call, client, outcome, question, thread, }) => {
|
|
4
|
+
const { channel } = slackThread(thread.id);
|
|
5
|
+
const actorId = actor?.channel?.piece === 'slack' ? actor.channel.id : undefined;
|
|
6
|
+
const text = fallbackText(call.input);
|
|
7
|
+
const blocks = settledBlocks({
|
|
8
|
+
actorId,
|
|
9
|
+
answers: 'output' in outcome ? outcome.output.answers : undefined,
|
|
10
|
+
call,
|
|
11
|
+
});
|
|
12
|
+
await Promise.all(question.messages.map(({ id }) => client.request('chat.update', { channel, ts: id, text, blocks })));
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=settled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settled.js","sourceRoot":"","sources":["../../src/questions/settled.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,MAAM,mBAAmB,GAAkD,KAAK,EAAE,EACvF,KAAK,EACL,IAAI,EACJ,MAAM,EACN,OAAO,EACP,QAAQ,EACR,MAAM,GACP,EAAE,EAAE;IACH,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjF,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,aAAa,CAAC;QAC3B,OAAO;QACP,OAAO,EAAE,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACjE,IAAI;KACL,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAC/B,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CACjE,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { QuestionInteraction } from 'frogbot/pieces';
|
|
2
|
+
import type { SlackClient } from '../client.js';
|
|
3
|
+
export declare function slackThread(threadId: string): {
|
|
4
|
+
channel: string;
|
|
5
|
+
threadTs?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function slackPostedAt(ts: string): string;
|
|
8
|
+
export declare function interactionUserId(interaction: QuestionInteraction): string;
|
|
9
|
+
export declare function postEphemeral({ client, interaction, text, threadId, }: {
|
|
10
|
+
client: SlackClient;
|
|
11
|
+
interaction: QuestionInteraction;
|
|
12
|
+
text: string;
|
|
13
|
+
threadId: string;
|
|
14
|
+
}): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=slackThread.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slackThread.d.ts","sourceRoot":"","sources":["../../src/questions/slackThread.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAIpF;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,mBAAmB,GAAG,MAAM,CAI1E;AAED,wBAAsB,aAAa,CAAC,EAClC,MAAM,EACN,WAAW,EACX,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,mBAAmB,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAShB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export function slackThread(threadId) {
|
|
2
|
+
const [, channel = '', threadTs] = threadId.split(':');
|
|
3
|
+
return { channel, ...(threadTs ? { threadTs } : {}) };
|
|
4
|
+
}
|
|
5
|
+
export function slackPostedAt(ts) {
|
|
6
|
+
return new Date(Number(ts) * 1000).toISOString();
|
|
7
|
+
}
|
|
8
|
+
export function interactionUserId(interaction) {
|
|
9
|
+
return interaction.type === 'message'
|
|
10
|
+
? interaction.message.author.userId
|
|
11
|
+
: interaction.event.user.userId;
|
|
12
|
+
}
|
|
13
|
+
export async function postEphemeral({ client, interaction, text, threadId, }) {
|
|
14
|
+
const { channel, threadTs } = slackThread(threadId);
|
|
15
|
+
await client.request('chat.postEphemeral', {
|
|
16
|
+
channel,
|
|
17
|
+
user: interactionUserId(interaction),
|
|
18
|
+
text,
|
|
19
|
+
...(threadTs ? { thread_ts: threadTs } : {}),
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=slackThread.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slackThread.js","sourceRoot":"","sources":["../../src/questions/slackThread.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEvD,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAAgC;IAChE,OAAO,WAAW,CAAC,IAAI,KAAK,SAAS;QACnC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;QACnC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,MAAM,EACN,WAAW,EACX,IAAI,EACJ,QAAQ,GAMT;IACC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEpD,MAAM,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE;QACzC,OAAO;QACP,IAAI,EAAE,iBAAiB,CAAC,WAAW,CAAC;QACpC,IAAI;QACJ,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type SlackQuestionState = {
|
|
2
|
+
custom?: Record<string, Record<string, string>>;
|
|
3
|
+
};
|
|
4
|
+
export declare function customAnswers({ state, userId, }: {
|
|
5
|
+
state?: SlackQuestionState;
|
|
6
|
+
userId: string;
|
|
7
|
+
}): Record<string, string>;
|
|
8
|
+
export declare function withCustomAnswer({ q, state, text, userId, }: {
|
|
9
|
+
q: number;
|
|
10
|
+
state?: SlackQuestionState;
|
|
11
|
+
text: string;
|
|
12
|
+
userId: string;
|
|
13
|
+
}): SlackQuestionState;
|
|
14
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/questions/state.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,MAAM,GACP,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEzB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,CAAC,EACD,KAAK,EACL,IAAI,EACJ,MAAM,GACP,EAAE;IACD,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,kBAAkB,CAKrB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function customAnswers({ state, userId, }) {
|
|
2
|
+
return state?.custom?.[userId] ?? {};
|
|
3
|
+
}
|
|
4
|
+
export function withCustomAnswer({ q, state, text, userId, }) {
|
|
5
|
+
const { [q]: _previous, ...rest } = customAnswers({ state, userId });
|
|
6
|
+
const answers = text ? { ...rest, [q]: text } : rest;
|
|
7
|
+
return { ...state, custom: { ...state?.custom, [userId]: answers } };
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/questions/state.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,aAAa,CAAC,EAC5B,KAAK,EACL,MAAM,GAIP;IACC,OAAO,KAAK,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAC/B,CAAC,EACD,KAAK,EACL,IAAI,EACJ,MAAM,GAMP;IACC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAErD,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;AACvE,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type PieceChannelQuestions } from 'frogbot/pieces';
|
|
2
|
+
import type { SlackClient } from '../client.js';
|
|
3
|
+
type SlackQuestionUpdate = NonNullable<PieceChannelQuestions<SlackClient>['updated']>;
|
|
4
|
+
export declare const updateSlackQuestion: SlackQuestionUpdate;
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=updated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updated.d.ts","sourceRoot":"","sources":["../../src/questions/updated.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,qBAAqB,EAE3B,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAMhD,KAAK,mBAAmB,GAAG,WAAW,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAMtF,eAAO,MAAM,mBAAmB,EAAE,mBAkBjC,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { encodeQuestionModalMetadata, } from 'frogbot/pieces';
|
|
2
|
+
import { actionIds, customAnswerView } from './blocks.js';
|
|
3
|
+
import { interactionUserId, postEphemeral } from './slackThread.js';
|
|
4
|
+
import { customAnswers } from './state.js';
|
|
5
|
+
export const updateSlackQuestion = async ({ call, client, interaction, question, req, thread, }) => {
|
|
6
|
+
if (!interaction)
|
|
7
|
+
return;
|
|
8
|
+
try {
|
|
9
|
+
await respond({ call, client, interaction, question, thread });
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
req.frogbot.logger.error({ err: error, piece: 'slack', toolCallId: call.toolCallId }, '[piece-slack] Could not respond to a question interaction.');
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
async function respond({ call, client, interaction, question, thread, }) {
|
|
16
|
+
if (interaction.type === 'modalSubmit') {
|
|
17
|
+
await postEphemeral({
|
|
18
|
+
client,
|
|
19
|
+
interaction,
|
|
20
|
+
text: 'Saved your typed answer. Press *Submit* when every question is answered.',
|
|
21
|
+
threadId: thread.id,
|
|
22
|
+
});
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (interaction.type !== 'action')
|
|
26
|
+
return;
|
|
27
|
+
const { actionId, triggerId } = interaction.event;
|
|
28
|
+
const q = call.input.questions.findIndex((_, index) => actionId === actionIds.custom(call, index));
|
|
29
|
+
if (q === -1 || !triggerId)
|
|
30
|
+
return;
|
|
31
|
+
const view = customAnswerView({
|
|
32
|
+
call,
|
|
33
|
+
initialValue: customAnswers({
|
|
34
|
+
state: question.state,
|
|
35
|
+
userId: interactionUserId(interaction),
|
|
36
|
+
})[q],
|
|
37
|
+
metadata: encodeQuestionModalMetadata({
|
|
38
|
+
threadId: thread.id,
|
|
39
|
+
messageId: question.messages.at(-1).id,
|
|
40
|
+
}),
|
|
41
|
+
q,
|
|
42
|
+
});
|
|
43
|
+
try {
|
|
44
|
+
await client.request('views.open', { trigger_id: triggerId, view });
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
if (!(error instanceof Error) || !error.message.includes('expired_trigger_id'))
|
|
48
|
+
throw error;
|
|
49
|
+
await postEphemeral({
|
|
50
|
+
client,
|
|
51
|
+
interaction,
|
|
52
|
+
text: 'That took too long. Press the button again to type your answer.',
|
|
53
|
+
threadId: thread.id,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=updated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updated.js","sourceRoot":"","sources":["../../src/questions/updated.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,GAG5B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAQ3C,MAAM,CAAC,MAAM,mBAAmB,GAAwB,KAAK,EAAE,EAC7D,IAAI,EACJ,MAAM,EACN,WAAW,EACX,QAAQ,EACR,GAAG,EACH,MAAM,GACP,EAAE,EAAE;IACH,IAAI,CAAC,WAAW;QAAE,OAAO;IAEzB,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACtB,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EAC3D,4DAA4D,CAC7D,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,KAAK,UAAU,OAAO,CAAC,EACrB,IAAI,EACJ,MAAM,EACN,WAAW,EACX,QAAQ,EACR,MAAM,GACmB;IACzB,IAAI,WAAW,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACvC,MAAM,aAAa,CAAC;YAClB,MAAM;YACN,WAAW;YACX,IAAI,EAAE,0EAA0E;YAChF,QAAQ,EAAE,MAAM,CAAC,EAAE;SACpB,CAAC,CAAC;QAEH,OAAO;IACT,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO;IAE1C,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC;IAClD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CACtC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CACzD,CAAC;IAEF,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS;QAAE,OAAO;IAEnC,MAAM,IAAI,GAAG,gBAAgB,CAAC;QAC5B,IAAI;QACJ,YAAY,EAAE,aAAa,CAAC;YAC1B,KAAK,EAAE,QAAQ,CAAC,KAAuC;YACvD,MAAM,EAAE,iBAAiB,CAAC,WAAW,CAAC;SACvC,CAAC,CAAC,CAAC,CAAC;QACL,QAAQ,EAAE,2BAA2B,CAAC;YACpC,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,EAAE;SACxC,CAAC;QACF,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAAE,MAAM,KAAK,CAAC;QAE5F,MAAM,aAAa,CAAC;YAClB,MAAM;YACN,WAAW;YACX,IAAI,EAAE,iEAAiE;YACvE,QAAQ,EAAE,MAAM,CAAC,EAAE;SACpB,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
package/dist/webhook.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function slackEvent(req:
|
|
3
|
-
export declare function slackWorkspace(req:
|
|
4
|
-
export declare function slackEventType(req:
|
|
1
|
+
import type { FrogBotRequest } from 'frogbot';
|
|
2
|
+
export declare function slackEvent(req: FrogBotRequest): Record<string, unknown> | undefined;
|
|
3
|
+
export declare function slackWorkspace(req: FrogBotRequest): string | undefined;
|
|
4
|
+
export declare function slackEventType(req: FrogBotRequest): string;
|
|
5
5
|
export declare function verifySlackWebhook({ req, options, }: {
|
|
6
|
-
req:
|
|
6
|
+
req: FrogBotRequest;
|
|
7
7
|
options: {
|
|
8
8
|
signingSecret?: string;
|
|
9
9
|
};
|
|
10
10
|
}): Promise<boolean>;
|
|
11
|
-
export declare function slackHandshake(req:
|
|
12
|
-
export declare function parseSlackWebhook(req:
|
|
11
|
+
export declare function slackHandshake(req: FrogBotRequest): Response | null;
|
|
12
|
+
export declare function parseSlackWebhook(req: FrogBotRequest): {
|
|
13
13
|
event: string;
|
|
14
14
|
};
|
|
15
15
|
//# sourceMappingURL=webhook.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frogbotai/piece-slack",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.26.0",
|
|
4
4
|
"description": "slack tools for FrogBot.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Colby Gilbert",
|
|
@@ -24,11 +24,11 @@
|
|
|
24
24
|
"zod": "^4.3.6"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
27
|
-
"frogbot": "0.
|
|
27
|
+
"frogbot": "0.26.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"typescript": "5.6.2",
|
|
31
|
-
"frogbot": "0.
|
|
31
|
+
"frogbot": "0.26.0"
|
|
32
32
|
},
|
|
33
33
|
"publishConfig": {
|
|
34
34
|
"access": "public"
|