@frogbotai/piece-slack 0.28.0 → 0.30.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/README.md +3 -2
- package/dist/actions.d.ts +2 -2
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +285 -193
- package/dist/actions.js.map +1 -1
- package/dist/client.js +47 -35
- package/dist/client.js.map +1 -1
- package/dist/config.js +17 -5
- package/dist/config.js.map +1 -1
- package/dist/define.js +1 -0
- package/dist/define.js.map +1 -1
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +25 -15
- package/dist/files.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +45 -39
- package/dist/index.js.map +1 -1
- package/dist/options.js +36 -21
- package/dist/options.js.map +1 -1
- package/dist/questions/blocks.js +148 -74
- package/dist/questions/blocks.js.map +1 -1
- package/dist/questions/index.js +2 -1
- package/dist/questions/index.js.map +1 -1
- package/dist/questions/notify.js +19 -13
- package/dist/questions/notify.js.map +1 -1
- package/dist/questions/parse.js +110 -59
- package/dist/questions/parse.js.map +1 -1
- package/dist/questions/render.js +16 -7
- package/dist/questions/render.js.map +1 -1
- package/dist/questions/settled.js +9 -3
- package/dist/questions/settled.js.map +1 -1
- package/dist/questions/slackThread.js +12 -6
- package/dist/questions/slackThread.js.map +1 -1
- package/dist/questions/state.js +18 -5
- package/dist/questions/state.js.map +1 -1
- package/dist/questions/updated.js +32 -24
- package/dist/questions/updated.js.map +1 -1
- package/dist/triggers.js +150 -126
- package/dist/triggers.js.map +1 -1
- package/dist/webhook.js +28 -43
- package/dist/webhook.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/questions/blocks.ts"],"names":["QUESTION_PREFIX","CUSTOM_ANSWER_CALLBACK_ID","CUSTOM_ANSWER_ACTION_ID","BUTTON_OPTIONS","RADIO_OPTIONS","SELECT_OPTIONS","OPTION_TEXT","MODAL_TITLE","actionIds","choose","call","q","toolCallId","custom","dismiss","submit","blockIds","question","isQuickQuestion","input","questions","length","multiple","questionBlocks","quickBlocks","formBlocks","settledBlocks","actorId","answers","blocks","map","item","answer","lines","prompt","values","selected","push","escape","join","section","verb","context","fallbackText","header","customAnswerView","initialValue","metadata","quick","type","callback_id","title","plain","truncate","close","private_metadata","JSON","stringify","m","block_id","optional","label","element","action_id","multiline","initial_value","buttons","options","descriptions","flatMap","description","controls","option","index","text","value","String","choiceElement","elements","button","actionId","style","placeholder","option_groups","chunk","group","emoji","replaceAll","limit","slice","size","Array","from","Math","ceil","_"],"mappings":"AAEA,OAAO,MAAMA,kBAAkB,mBAAmB;AAClD,OAAO,MAAMC,4BAA4B,GAAGD,gBAAgB,OAAO,CAAC,CAAC;AACrE,OAAO,MAAME,0BAA0B,SAAS;AAEhD,MAAMC,iBAAiB;AACvB,MAAMC,gBAAgB;AACtB,MAAMC,iBAAiB;AACvB,MAAMC,cAAc;AACpB,MAAMC,cAAc;AAMpB,OAAO,MAAMC,YAAY;IACvBC,QAAQ,CAACC,MAA2BC,IAClC,GAAGX,gBAAgB,QAAQ,EAAEU,KAAKE,UAAU,CAAC,CAAC,EAAED,GAAG;IACrDE,QAAQ,CAACH,MAA2BC,IAClC,GAAGX,gBAAgB,QAAQ,EAAEU,KAAKE,UAAU,CAAC,CAAC,EAAED,GAAG;IACrDG,SAAS,CAACJ,OAA8B,GAAGV,gBAAgB,SAAS,EAAEU,KAAKE,UAAU,EAAE;IACvFG,QAAQ,CAACL,OAA8B,GAAGV,gBAAgB,QAAQ,EAAEU,KAAKE,UAAU,EAAE;AACvF,EAAE;AAEF,OAAO,MAAMI,WAAW;IACtBC,UAAU,CAACP,MAA2BC,IAAc,GAAGX,gBAAgB,CAAC,EAAEU,KAAKE,UAAU,CAAC,CAAC,EAAED,GAAG;IAChGE,QAAQ,CAACH,MAA2BC,IAClC,GAAGX,gBAAgB,QAAQ,EAAEU,KAAKE,UAAU,CAAC,CAAC,EAAED,GAAG;AACvD,EAAE;AAEF,OAAO,SAASO,gBAAgBC,KAAoB;IAClD,OAAOA,MAAMC,SAAS,CAACC,MAAM,KAAK,KAAK,CAACF,MAAMC,SAAS,CAAC,EAAE,CAAEE,QAAQ;AACtE;AAEA,OAAO,SAASC,eAAeb,IAAyB;IACtD,OAAOQ,gBAAgBR,KAAKS,KAAK,IAAIK,YAAYd,QAAQe,WAAWf;AACtE;AAEA,OAAO,SAASgB,cAAc,EAC5BC,OAAO,EACPC,OAAO,EACPlB,IAAI,EAKL;IACC,MAAMmB,SAASnB,KAAKS,KAAK,CAACC,SAAS,CAACU,GAAG,CAAC,CAACC,MAAMpB;QAC7C,MAAMqB,SAASJ,SAAS,CAACjB,EAAE;QAC3B,MAAMsB,QAAQ;YAACC,OAAOH;SAAM;QAE5B,IAAIC,QAAQ;YACV,MAAMG,SAAS;mBAAIH,OAAOI,QAAQ;mBAAMJ,OAAOnB,MAAM,GAAG;oBAAC,CAAC,CAAC,EAAEmB,OAAOnB,MAAM,CAAC,CAAC,CAAC;iBAAC,GAAG,EAAE;aAAE;YAErFoB,MAAMI,IAAI,CAAC,CAAC,oBAAoB,EAAEC,OAAOH,OAAOI,IAAI,CAAC,OAAO,CAAC,CAAC;QAChE;QAEA,OAAOC,QAAQP,MAAMM,IAAI,CAAC;IAC5B;IAEA,MAAME,OAAOb,UAAU,aAAa;IAEpC,IAAI,CAACA,SAASC,OAAOQ,IAAI,CAACG,QAAQ;IAElC,OAAO;WAAIX;QAAQa,QAAQf,UAAU,GAAGc,KAAK,MAAM,EAAEd,QAAQ,CAAC,CAAC,GAAGc;KAAM;AAC1E;AAEA,OAAO,SAASE,aAAaxB,KAAoB;IAC/C,OAAOA,MAAMC,SAAS,CACnBU,GAAG,CAAC,CAAC,EAAEc,MAAM,EAAE3B,QAAQ,EAAE,GAAK,GAAGqB,OAAOM,QAAQ,EAAE,EAAEN,OAAOrB,WAAW,EACtEsB,IAAI,CAAC;AACV;AAEA,OAAO,SAASM,iBAAiB,EAC/BnC,IAAI,EACJoC,YAAY,EACZC,QAAQ,EACRpC,CAAC,EAMF;IACC,MAAMoB,OAAOrB,KAAKS,KAAK,CAACC,SAAS,CAACT,EAAE;IACpC,MAAMqC,QAAQ9B,gBAAgBR,KAAKS,KAAK;IAExC,OAAO;QACL8B,MAAM;QACNC,aAAajD;QACbkD,OAAOC,MAAMC,SAAStB,KAAKa,MAAM,EAAErC;QACnCQ,QAAQqC,MAAMJ,QAAQ,WAAW;QACjCM,OAAOF,MAAM;QACbG,kBAAkBC,KAAKC,SAAS,CAAC;YAAEC,GAAGX;QAAS;QAC/ClB,QAAQ;YACNW,QAAQN,OAAOH;YACf;gBACEkB,MAAM;gBACNU,UAAU3C,SAASH,MAAM,CAACH,MAAMC;gBAChCiD,UAAU,CAACZ;gBACXa,OAAOT,MAAM;gBACbU,SAAS;oBACPb,MAAM;oBACNc,WAAW7D;oBACX8D,WAAW;oBACX,GAAIlB,eAAe;wBAAEmB,eAAenB;oBAAa,IAAI,CAAC,CAAC;gBACzD;YACF;SACD;IACH;AACF;AAEA,SAAStB,YAAYd,IAAyB;IAC5C,MAAMqB,OAAOrB,KAAKS,KAAK,CAACC,SAAS,CAAC,EAAE;IACpC,MAAM8C,UAAUnC,KAAKoC,OAAO,CAAC9C,MAAM,IAAIlB;IACvC,MAAMiE,eAAeF,UACjBnC,KAAKoC,OAAO,CAACE,OAAO,CAAC,CAAC,EAAER,KAAK,EAAES,WAAW,EAAE,GAC1CA,cAAc;YAAC,CAAC,GAAG,EAAEhC,OAAOuB,OAAO,IAAI,EAAEvB,OAAOgC,cAAc;SAAC,GAAG,EAAE,IAEtE,EAAE;IAEN,MAAMC,WAAWL,UACbnC,KAAKoC,OAAO,CAACrC,GAAG,CAAC,CAAC0C,QAAQC,QAAW,CAAA;YACnCxB,MAAM;YACNc,WAAW,GAAGvD,UAAUC,MAAM,CAACC,MAAM,GAAG,CAAC,EAAE+D,OAAO;YAClDC,MAAMtB,MAAMC,SAASmB,OAAOX,KAAK,EAAEvD;YACnCqE,OAAOC,OAAOH;QAChB,CAAA,KACA;QAACI,cAAc;YAAEnE;YAAMqB;YAAMpB,GAAG;QAAE;KAAG;IAEzC,OAAO;QACL6B,QAAQ;YAACN,OAAOH;eAAUqC;SAAa,CAAC7B,IAAI,CAAC;QAC7C;YACEU,MAAM;YACN6B,UAAU;mBACLP;mBACCxC,KAAKlB,MAAM,GACX;oBAACkE,OAAO;wBAAEC,UAAUxE,UAAUK,MAAM,CAACH,MAAM;wBAAIgE,MAAM;oBAAmB;iBAAG,GAC3E,EAAE;gBACNK,OAAO;oBAAEC,UAAUxE,UAAUM,OAAO,CAACJ;oBAAOgE,MAAM;oBAAWO,OAAO;gBAAS;aAC9E;QACH;KACD;AACH;AAEA,SAASxD,WAAWf,IAAyB;IAC3C,MAAMU,YAAYV,KAAKS,KAAK,CAACC,SAAS,CAACiD,OAAO,CAAC,CAACtC,MAAMpB,IAAM;YAC1D6B,QAAQN,OAAOH;YACf;gBACEkB,MAAM;gBACNU,UAAU3C,SAASC,QAAQ,CAACP,MAAMC;gBAClCmE,UAAU;oBACRD,cAAc;wBAAEnE;wBAAMqB;wBAAMpB;oBAAE;uBAC1BoB,KAAKlB,MAAM,GACX;wBAACkE,OAAO;4BAAEC,UAAUxE,UAAUK,MAAM,CAACH,MAAMC;4BAAI+D,MAAM;wBAAiB;qBAAG,GACzE,EAAE;iBACP;YACH;SACD;IAED,OAAO;WACFtD;QACH;YACE6B,MAAM;YACN6B,UAAU;gBACRC,OAAO;oBAAEC,UAAUxE,UAAUO,MAAM,CAACL;oBAAOgE,MAAM;oBAAUO,OAAO;gBAAU;gBAC5EF,OAAO;oBAAEC,UAAUxE,UAAUM,OAAO,CAACJ;oBAAOgE,MAAM;oBAAWO,OAAO;gBAAS;aAC9E;QACH;KACD;AACH;AAEA,SAASJ,cAAc,EACrBnE,IAAI,EACJqB,IAAI,EACJpB,CAAC,EAKF;IACC,MAAMwD,UAAUpC,KAAKoC,OAAO,CAACrC,GAAG,CAAC,CAAC,EAAE+B,KAAK,EAAES,WAAW,EAAE,EAAEG,QAAW,CAAA;YACnEC,MAAMtB,MAAMC,SAASQ,OAAOvD;YAC5BqE,OAAOC,OAAOH;YACd,GAAIH,cAAc;gBAAEA,aAAalB,MAAMC,SAASiB,aAAahE;YAAc,IAAI,CAAC,CAAC;QACnF,CAAA;IAEA,MAAM0E,WAAWxE,UAAUC,MAAM,CAACC,MAAMC;IAExC,IAAIwD,QAAQ9C,MAAM,IAAIjB,eAAe;QACnC,OAAO;YAAE6C,MAAMlB,KAAKT,QAAQ,GAAG,eAAe;YAAiByC,WAAWiB;YAAUb;QAAQ;IAC9F;IAEA,OAAO;QACLlB,MAAMlB,KAAKT,QAAQ,GAAG,wBAAwB;QAC9CyC,WAAWiB;QACXE,aAAa9B,MAAMrB,KAAKT,QAAQ,GAAG,mBAAmB;QACtD,GAAI6C,QAAQ9C,MAAM,IAAIhB,iBAClB;YAAE8D;QAAQ,IACV;YACEgB,eAAeC,MAAMjB,SAAS9D,gBAAgByB,GAAG,CAAC,CAACuD,OAAOZ,QAAW,CAAA;oBACnEZ,OAAOT,MACL,CAAC,QAAQ,EAAEqB,QAAQpE,iBAAiB,EAAE,CAAC,EAAEoE,QAAQpE,iBAAiBgF,MAAMhE,MAAM,EAAE;oBAElF8C,SAASkB;gBACX,CAAA;QACF,CAAC;IACP;AACF;AAEA,SAASnD,OAAO,EAAEU,MAAM,EAAE3B,QAAQ,EAAgB;IAChD,OAAO,CAAC,CAAC,EAAEqB,OAAOM,QAAQ,GAAG,EAAEN,OAAOrB,WAAW;AACnD;AAEA,SAAS8D,OAAO,EACdC,QAAQ,EACRC,KAAK,EACLP,IAAI,EAKL;IACC,OAAO;QAAEzB,MAAM;QAAUc,WAAWiB;QAAUN,MAAMtB,MAAMsB;QAAO,GAAIO,QAAQ;YAAEA;QAAM,IAAI,CAAC,CAAC;IAAE;AAC/F;AAEA,SAASzC,QAAQkC,IAAY;IAC3B,OAAO;QAAEzB,MAAM;QAAWyB,MAAM;YAAEzB,MAAM;YAAUyB,MAAMrB,SAASqB,MAAM;QAAM;IAAE;AACjF;AAEA,SAAShC,QAAQgC,IAAY;IAC3B,OAAO;QAAEzB,MAAM;QAAW6B,UAAU;YAAC;gBAAE7B,MAAM;gBAAUyB;YAAK;SAAE;IAAC;AACjE;AAEA,SAAStB,MAAMsB,IAAY;IACzB,OAAO;QAAEzB,MAAM;QAAcyB;QAAMY,OAAO;IAAK;AACjD;AAEA,SAAShD,OAAOoC,IAAY;IAC1B,OAAOA,KAAKa,UAAU,CAAC,KAAK,SAASA,UAAU,CAAC,KAAK,QAAQA,UAAU,CAAC,KAAK;AAC/E;AAEA,SAASlC,SAASqB,IAAY,EAAEc,KAAa;IAC3C,OAAOd,KAAKrD,MAAM,GAAGmE,QAAQ,GAAGd,KAAKe,KAAK,CAAC,GAAGD,QAAQ,GAAG,CAAC,CAAC,GAAGd;AAChE;AAEA,SAASU,MAASjD,MAAW,EAAEuD,IAAY;IACzC,OAAOC,MAAMC,IAAI,CAAC;QAAEvE,QAAQwE,KAAKC,IAAI,CAAC3D,OAAOd,MAAM,GAAGqE;IAAM,GAAG,CAACK,GAAGtB,QACjEtC,OAAOsD,KAAK,CAAChB,QAAQiB,MAAM,AAACjB,CAAAA,QAAQ,CAAA,IAAKiB;AAE7C","file":"blocks.js"}
|
package/dist/questions/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/questions/index.ts"],"names":["denySlackQuestion","rejectSlackQuestion","staleSlackQuestion","parseSlackQuestion","renderSlackQuestion","settleSlackQuestion","updateSlackQuestion","slackQuestions","render","parse","settled","updated","rejected","denied","stale"],"mappings":"AAGA,SAASA,iBAAiB,EAAEC,mBAAmB,EAAEC,kBAAkB,QAAQ,cAAc;AACzF,SAASC,kBAAkB,QAAQ,aAAa;AAChD,SAASC,mBAAmB,QAAQ,cAAc;AAClD,SAASC,mBAAmB,QAAQ,eAAe;AACnD,SAASC,mBAAmB,QAAQ,eAAe;AAEnD,OAAO,MAAMC,iBAAqD;IAChEC,QAAQJ;IACRK,OAAON;IACPO,SAASL;IACTM,SAASL;IACTM,UAAUX;IACVY,QAAQb;IACRc,OAAOZ;AACT,EAAE","file":"index.js"}
|
package/dist/questions/notify.js
CHANGED
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import { postEphemeral } from './slackThread.js';
|
|
2
|
-
export const denySlackQuestion = ({ client, interaction, thread })
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
});
|
|
8
|
-
export const rejectSlackQuestion = ({ client, interaction, reason, thread
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
})
|
|
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({
|
|
9
|
+
client,
|
|
10
|
+
interaction,
|
|
11
|
+
text: reason,
|
|
12
|
+
threadId: thread.id
|
|
13
|
+
});
|
|
14
|
+
export const staleSlackQuestion = ({ client, interaction, thread })=>postEphemeral({
|
|
15
|
+
client,
|
|
16
|
+
interaction,
|
|
17
|
+
text: 'This question was already answered.',
|
|
18
|
+
threadId: thread.id
|
|
19
|
+
});
|
|
20
|
+
|
|
15
21
|
//# sourceMappingURL=notify.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/questions/notify.ts"],"names":["postEphemeral","denySlackQuestion","client","interaction","thread","text","threadId","id","rejectSlackQuestion","reason","staleSlackQuestion"],"mappings":"AAGA,SAASA,aAAa,QAAQ,mBAAmB;AAIjD,OAAO,MAAMC,oBAA8C,CAAC,EAAEC,MAAM,EAAEC,WAAW,EAAEC,MAAM,EAAE,GACzFJ,cAAc;QACZE;QACAC;QACAE,MAAM;QACNC,UAAUF,OAAOG,EAAE;IACrB,GAAG;AAEL,OAAO,MAAMC,sBAAkD,CAAC,EAC9DN,MAAM,EACNC,WAAW,EACXM,MAAM,EACNL,MAAM,EACP,GAAKJ,cAAc;QAAEE;QAAQC;QAAaE,MAAMI;QAAQH,UAAUF,OAAOG,EAAE;IAAC,GAAG;AAEhF,OAAO,MAAMG,qBAA8C,CAAC,EAAER,MAAM,EAAEC,WAAW,EAAEC,MAAM,EAAE,GACzFJ,cAAc;QACZE;QACAC;QACAE,MAAM;QACNC,UAAUF,OAAOG,EAAE;IACrB,GAAG","file":"notify.js"}
|
package/dist/questions/parse.js
CHANGED
|
@@ -1,90 +1,141 @@
|
|
|
1
|
-
import { actionIds, blockIds, CUSTOM_ANSWER_ACTION_ID, CUSTOM_ANSWER_CALLBACK_ID, isQuickQuestion
|
|
1
|
+
import { actionIds, blockIds, CUSTOM_ANSWER_ACTION_ID, CUSTOM_ANSWER_CALLBACK_ID, isQuickQuestion } from './blocks.js';
|
|
2
2
|
import { customAnswers, withCustomAnswer } from './state.js';
|
|
3
|
-
export const parseSlackQuestion = ({ call, interaction, question
|
|
4
|
-
if (interaction.type === 'message')
|
|
5
|
-
|
|
3
|
+
export const parseSlackQuestion = ({ call, interaction, question })=>{
|
|
4
|
+
if (interaction.type === 'message') return {
|
|
5
|
+
kind: 'ignore'
|
|
6
|
+
};
|
|
6
7
|
const state = question.state;
|
|
7
|
-
return interaction.type === 'action'
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
userId: interaction.event.user.userId,
|
|
20
|
-
});
|
|
8
|
+
return interaction.type === 'action' ? parseAction({
|
|
9
|
+
actionId: interaction.event.actionId,
|
|
10
|
+
call,
|
|
11
|
+
payload: interaction.event.raw,
|
|
12
|
+
state,
|
|
13
|
+
userId: interaction.event.user.userId
|
|
14
|
+
}) : parseCustomAnswer({
|
|
15
|
+
call,
|
|
16
|
+
payload: interaction.event.raw,
|
|
17
|
+
state,
|
|
18
|
+
userId: interaction.event.user.userId
|
|
19
|
+
});
|
|
21
20
|
};
|
|
22
|
-
function parseAction({ actionId, call, payload, state, userId
|
|
23
|
-
if (actionId === actionIds.dismiss(call))
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
function parseAction({ actionId, call, payload, state, userId }) {
|
|
22
|
+
if (actionId === actionIds.dismiss(call)) return {
|
|
23
|
+
kind: 'dismiss'
|
|
24
|
+
};
|
|
25
|
+
if (actionId === actionIds.submit(call)) return parseSubmit({
|
|
26
|
+
call,
|
|
27
|
+
payload,
|
|
28
|
+
state,
|
|
29
|
+
userId
|
|
30
|
+
});
|
|
31
|
+
const custom = call.input.questions.findIndex((_, q)=>actionId === actionIds.custom(call, q));
|
|
32
|
+
if (custom !== -1) return {
|
|
33
|
+
kind: 'partial'
|
|
34
|
+
};
|
|
35
|
+
if (!isQuickQuestion(call.input)) return {
|
|
36
|
+
kind: 'ignore'
|
|
37
|
+
};
|
|
32
38
|
const choose = actionIds.choose(call, 0);
|
|
33
|
-
if (actionId !== choose && !actionId.startsWith(`${choose}:`))
|
|
34
|
-
|
|
35
|
-
|
|
39
|
+
if (actionId !== choose && !actionId.startsWith(`${choose}:`)) return {
|
|
40
|
+
kind: 'ignore'
|
|
41
|
+
};
|
|
42
|
+
const action = payload.actions?.find(({ action_id })=>action_id === actionId);
|
|
36
43
|
const item = call.input.questions[0];
|
|
37
44
|
const option = item.options[Number(action?.selected_option?.value ?? action?.value)];
|
|
38
|
-
if (!option)
|
|
39
|
-
|
|
45
|
+
if (!option) return {
|
|
46
|
+
kind: 'ignore'
|
|
47
|
+
};
|
|
40
48
|
return {
|
|
41
49
|
kind: 'answer',
|
|
42
|
-
output: {
|
|
50
|
+
output: {
|
|
51
|
+
answers: [
|
|
52
|
+
{
|
|
53
|
+
header: item.header,
|
|
54
|
+
selected: [
|
|
55
|
+
option.label
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
}
|
|
43
60
|
};
|
|
44
61
|
}
|
|
45
|
-
function parseSubmit({ call, payload, state, userId
|
|
62
|
+
function parseSubmit({ call, payload, state, userId }) {
|
|
46
63
|
const values = payload.state?.values;
|
|
47
64
|
if (!values) {
|
|
48
|
-
return {
|
|
65
|
+
return {
|
|
66
|
+
kind: 'rejected',
|
|
67
|
+
reason: 'Slack did not send your selections. Try again.'
|
|
68
|
+
};
|
|
49
69
|
}
|
|
50
|
-
const typed = customAnswers({
|
|
51
|
-
|
|
70
|
+
const typed = customAnswers({
|
|
71
|
+
state,
|
|
72
|
+
userId
|
|
73
|
+
});
|
|
74
|
+
const answers = call.input.questions.map((item, q)=>{
|
|
52
75
|
const element = values[blockIds.question(call, q)]?.[actionIds.choose(call, q)];
|
|
53
|
-
const chosen = element?.selected_options ?? (element?.selected_option ? [
|
|
76
|
+
const chosen = element?.selected_options ?? (element?.selected_option ? [
|
|
77
|
+
element.selected_option
|
|
78
|
+
] : []);
|
|
54
79
|
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);
|
|
80
|
+
const selected = chosen.map(({ value })=>Number(value)).filter((index)=>item.options[index] !== undefined).sort((a, b)=>a - b).map((index)=>item.options[index].label);
|
|
60
81
|
return {
|
|
61
82
|
header: item.header,
|
|
62
83
|
selected: custom && !item.multiple ? [] : selected,
|
|
63
|
-
...
|
|
84
|
+
...custom ? {
|
|
85
|
+
custom
|
|
86
|
+
} : {}
|
|
64
87
|
};
|
|
65
88
|
});
|
|
66
|
-
const missing = answers.find(({ custom, selected })
|
|
67
|
-
if (missing)
|
|
68
|
-
|
|
69
|
-
|
|
89
|
+
const missing = answers.find(({ custom, selected })=>selected.length === 0 && !custom);
|
|
90
|
+
if (missing) return {
|
|
91
|
+
kind: 'rejected',
|
|
92
|
+
reason: `Answer “${missing.header}” before submitting.`
|
|
93
|
+
};
|
|
94
|
+
return {
|
|
95
|
+
kind: 'answer',
|
|
96
|
+
output: {
|
|
97
|
+
answers
|
|
98
|
+
}
|
|
99
|
+
};
|
|
70
100
|
}
|
|
71
|
-
function parseCustomAnswer({ call, payload, state, userId
|
|
72
|
-
if (payload.view?.callback_id !== CUSTOM_ANSWER_CALLBACK_ID)
|
|
73
|
-
|
|
101
|
+
function parseCustomAnswer({ call, payload, state, userId }) {
|
|
102
|
+
if (payload.view?.callback_id !== CUSTOM_ANSWER_CALLBACK_ID) return {
|
|
103
|
+
kind: 'ignore'
|
|
104
|
+
};
|
|
74
105
|
const values = payload.view.state?.values ?? {};
|
|
75
|
-
const q = call.input.questions.findIndex((_, index)
|
|
76
|
-
if (q === -1)
|
|
77
|
-
|
|
106
|
+
const q = call.input.questions.findIndex((_, index)=>blockIds.custom(call, index) in values);
|
|
107
|
+
if (q === -1) return {
|
|
108
|
+
kind: 'ignore'
|
|
109
|
+
};
|
|
78
110
|
const text = values[blockIds.custom(call, q)]?.[CUSTOM_ANSWER_ACTION_ID]?.value?.trim() ?? '';
|
|
79
111
|
if (!isQuickQuestion(call.input)) {
|
|
80
|
-
return {
|
|
112
|
+
return {
|
|
113
|
+
kind: 'partial',
|
|
114
|
+
state: withCustomAnswer({
|
|
115
|
+
q,
|
|
116
|
+
state,
|
|
117
|
+
text,
|
|
118
|
+
userId
|
|
119
|
+
})
|
|
120
|
+
};
|
|
81
121
|
}
|
|
82
|
-
if (!text)
|
|
83
|
-
|
|
122
|
+
if (!text) return {
|
|
123
|
+
kind: 'rejected',
|
|
124
|
+
reason: 'Type an answer before submitting.'
|
|
125
|
+
};
|
|
84
126
|
const item = call.input.questions[0];
|
|
85
127
|
return {
|
|
86
128
|
kind: 'answer',
|
|
87
|
-
output: {
|
|
129
|
+
output: {
|
|
130
|
+
answers: [
|
|
131
|
+
{
|
|
132
|
+
header: item.header,
|
|
133
|
+
selected: [],
|
|
134
|
+
custom: text
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
}
|
|
88
138
|
};
|
|
89
139
|
}
|
|
140
|
+
|
|
90
141
|
//# sourceMappingURL=parse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/questions/parse.ts"],"names":["actionIds","blockIds","CUSTOM_ANSWER_ACTION_ID","CUSTOM_ANSWER_CALLBACK_ID","isQuickQuestion","customAnswers","withCustomAnswer","parseSlackQuestion","call","interaction","question","type","kind","state","parseAction","actionId","event","payload","raw","userId","user","parseCustomAnswer","dismiss","submit","parseSubmit","custom","input","questions","findIndex","_","q","choose","startsWith","action","actions","find","action_id","item","option","options","Number","selected_option","value","output","answers","header","selected","label","values","reason","typed","map","element","chosen","selected_options","trim","undefined","filter","index","sort","a","b","multiple","missing","length","view","callback_id","text"],"mappings":"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","file":"parse.js"}
|
package/dist/questions/render.js
CHANGED
|
@@ -1,24 +1,33 @@
|
|
|
1
1
|
import { fallbackText, questionBlocks } from './blocks.js';
|
|
2
2
|
import { slackPostedAt, slackThread } from './slackThread.js';
|
|
3
|
-
export const renderSlackQuestion = async ({ calls, client, thread
|
|
3
|
+
export const renderSlackQuestion = async ({ calls, client, thread })=>{
|
|
4
4
|
const [call] = calls;
|
|
5
|
-
if (!call)
|
|
6
|
-
return [];
|
|
5
|
+
if (!call) return [];
|
|
7
6
|
const { channel, threadTs } = slackThread(thread.id);
|
|
8
7
|
const response = await client.request('chat.postMessage', {
|
|
9
8
|
channel,
|
|
10
9
|
text: fallbackText(call.input),
|
|
11
10
|
blocks: questionBlocks(call),
|
|
12
|
-
...
|
|
11
|
+
...threadTs ? {
|
|
12
|
+
thread_ts: threadTs
|
|
13
|
+
} : {}
|
|
13
14
|
});
|
|
14
15
|
if (typeof response.ts !== 'string') {
|
|
15
16
|
throw new Error('Slack chat.postMessage did not return a message timestamp.');
|
|
16
17
|
}
|
|
17
18
|
return [
|
|
18
19
|
{
|
|
19
|
-
calls: [
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
calls: [
|
|
21
|
+
call.toolCallId
|
|
22
|
+
],
|
|
23
|
+
messages: [
|
|
24
|
+
{
|
|
25
|
+
id: response.ts,
|
|
26
|
+
postedAt: slackPostedAt(response.ts)
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|
|
22
30
|
];
|
|
23
31
|
};
|
|
32
|
+
|
|
24
33
|
//# sourceMappingURL=render.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/questions/render.ts"],"names":["fallbackText","questionBlocks","slackPostedAt","slackThread","renderSlackQuestion","calls","client","thread","call","channel","threadTs","id","response","request","text","input","blocks","thread_ts","ts","Error","toolCallId","messages","postedAt"],"mappings":"AAGA,SAASA,YAAY,EAAEC,cAAc,QAAQ,cAAc;AAC3D,SAASC,aAAa,EAAEC,WAAW,QAAQ,mBAAmB;AAE9D,OAAO,MAAMC,sBAAoE,OAAO,EACtFC,KAAK,EACLC,MAAM,EACNC,MAAM,EACP;IACC,MAAM,CAACC,KAAK,GAAGH;IAEf,IAAI,CAACG,MAAM,OAAO,EAAE;IAEpB,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGP,YAAYI,OAAOI,EAAE;IAEnD,MAAMC,WAAW,MAAMN,OAAOO,OAAO,CAAC,oBAAoB;QACxDJ;QACAK,MAAMd,aAAaQ,KAAKO,KAAK;QAC7BC,QAAQf,eAAeO;QACvB,GAAIE,WAAW;YAAEO,WAAWP;QAAS,IAAI,CAAC,CAAC;IAC7C;IAEA,IAAI,OAAOE,SAASM,EAAE,KAAK,UAAU;QACnC,MAAM,IAAIC,MAAM;IAClB;IAEA,OAAO;QACL;YACEd,OAAO;gBAACG,KAAKY,UAAU;aAAC;YACxBC,UAAU;gBAAC;oBAAEV,IAAIC,SAASM,EAAE;oBAAEI,UAAUpB,cAAcU,SAASM,EAAE;gBAAE;aAAE;QACvE;KACD;AACH,EAAE","file":"render.js"}
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
import { fallbackText, settledBlocks } from './blocks.js';
|
|
2
2
|
import { slackThread } from './slackThread.js';
|
|
3
|
-
export const settleSlackQuestion = async ({ actor, call, client, outcome, question, thread
|
|
3
|
+
export const settleSlackQuestion = async ({ actor, call, client, outcome, question, thread })=>{
|
|
4
4
|
const { channel } = slackThread(thread.id);
|
|
5
5
|
const actorId = actor?.channel?.piece === 'slack' ? actor.channel.id : undefined;
|
|
6
6
|
const text = fallbackText(call.input);
|
|
7
7
|
const blocks = settledBlocks({
|
|
8
8
|
actorId,
|
|
9
9
|
answers: 'output' in outcome ? outcome.output.answers : undefined,
|
|
10
|
-
call
|
|
10
|
+
call
|
|
11
11
|
});
|
|
12
|
-
await Promise.all(question.messages.map(({ id })
|
|
12
|
+
await Promise.all(question.messages.map(({ id })=>client.request('chat.update', {
|
|
13
|
+
channel,
|
|
14
|
+
ts: id,
|
|
15
|
+
text,
|
|
16
|
+
blocks
|
|
17
|
+
})));
|
|
13
18
|
};
|
|
19
|
+
|
|
14
20
|
//# sourceMappingURL=settled.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/questions/settled.ts"],"names":["fallbackText","settledBlocks","slackThread","settleSlackQuestion","actor","call","client","outcome","question","thread","channel","id","actorId","piece","undefined","text","input","blocks","answers","output","Promise","all","messages","map","request","ts"],"mappings":"AAGA,SAASA,YAAY,EAAEC,aAAa,QAAQ,cAAc;AAC1D,SAASC,WAAW,QAAQ,mBAAmB;AAE/C,OAAO,MAAMC,sBAAqE,OAAO,EACvFC,KAAK,EACLC,IAAI,EACJC,MAAM,EACNC,OAAO,EACPC,QAAQ,EACRC,MAAM,EACP;IACC,MAAM,EAAEC,OAAO,EAAE,GAAGR,YAAYO,OAAOE,EAAE;IACzC,MAAMC,UAAUR,OAAOM,SAASG,UAAU,UAAUT,MAAMM,OAAO,CAACC,EAAE,GAAGG;IAEvE,MAAMC,OAAOf,aAAaK,KAAKW,KAAK;IAEpC,MAAMC,SAAShB,cAAc;QAC3BW;QACAM,SAAS,YAAYX,UAAUA,QAAQY,MAAM,CAACD,OAAO,GAAGJ;QACxDT;IACF;IAEA,MAAMe,QAAQC,GAAG,CACfb,SAASc,QAAQ,CAACC,GAAG,CAAC,CAAC,EAAEZ,EAAE,EAAE,GAC3BL,OAAOkB,OAAO,CAAC,eAAe;YAAEd;YAASe,IAAId;YAAII;YAAME;QAAO;AAGpE,EAAE","file":"settled.js"}
|
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
export function slackThread(threadId) {
|
|
2
2
|
const [, channel = '', threadTs] = threadId.split(':');
|
|
3
|
-
return {
|
|
3
|
+
return {
|
|
4
|
+
channel,
|
|
5
|
+
...threadTs ? {
|
|
6
|
+
threadTs
|
|
7
|
+
} : {}
|
|
8
|
+
};
|
|
4
9
|
}
|
|
5
10
|
export function slackPostedAt(ts) {
|
|
6
11
|
return new Date(Number(ts) * 1000).toISOString();
|
|
7
12
|
}
|
|
8
13
|
export function interactionUserId(interaction) {
|
|
9
|
-
return interaction.type === 'message'
|
|
10
|
-
? interaction.message.author.userId
|
|
11
|
-
: interaction.event.user.userId;
|
|
14
|
+
return interaction.type === 'message' ? interaction.message.author.userId : interaction.event.user.userId;
|
|
12
15
|
}
|
|
13
|
-
export async function postEphemeral({ client, interaction, text, threadId
|
|
16
|
+
export async function postEphemeral({ client, interaction, text, threadId }) {
|
|
14
17
|
const { channel, threadTs } = slackThread(threadId);
|
|
15
18
|
await client.request('chat.postEphemeral', {
|
|
16
19
|
channel,
|
|
17
20
|
user: interactionUserId(interaction),
|
|
18
21
|
text,
|
|
19
|
-
...
|
|
22
|
+
...threadTs ? {
|
|
23
|
+
thread_ts: threadTs
|
|
24
|
+
} : {}
|
|
20
25
|
});
|
|
21
26
|
}
|
|
27
|
+
|
|
22
28
|
//# sourceMappingURL=slackThread.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/questions/slackThread.ts"],"names":["slackThread","threadId","channel","threadTs","split","slackPostedAt","ts","Date","Number","toISOString","interactionUserId","interaction","type","message","author","userId","event","user","postEphemeral","client","text","request","thread_ts"],"mappings":"AAIA,OAAO,SAASA,YAAYC,QAAgB;IAC1C,MAAM,GAAGC,UAAU,EAAE,EAAEC,SAAS,GAAGF,SAASG,KAAK,CAAC;IAElD,OAAO;QAAEF;QAAS,GAAIC,WAAW;YAAEA;QAAS,IAAI,CAAC,CAAC;IAAE;AACtD;AAEA,OAAO,SAASE,cAAcC,EAAU;IACtC,OAAO,IAAIC,KAAKC,OAAOF,MAAM,MAAMG,WAAW;AAChD;AAEA,OAAO,SAASC,kBAAkBC,WAAgC;IAChE,OAAOA,YAAYC,IAAI,KAAK,YACxBD,YAAYE,OAAO,CAACC,MAAM,CAACC,MAAM,GACjCJ,YAAYK,KAAK,CAACC,IAAI,CAACF,MAAM;AACnC;AAEA,OAAO,eAAeG,cAAc,EAClCC,MAAM,EACNR,WAAW,EACXS,IAAI,EACJnB,QAAQ,EAMT;IACC,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGH,YAAYC;IAE1C,MAAMkB,OAAOE,OAAO,CAAC,sBAAsB;QACzCnB;QACAe,MAAMP,kBAAkBC;QACxBS;QACA,GAAIjB,WAAW;YAAEmB,WAAWnB;QAAS,IAAI,CAAC,CAAC;IAC7C;AACF","file":"slackThread.js"}
|
package/dist/questions/state.js
CHANGED
|
@@ -1,9 +1,22 @@
|
|
|
1
|
-
export function customAnswers({ state, userId
|
|
1
|
+
export function customAnswers({ state, userId }) {
|
|
2
2
|
return state?.custom?.[userId] ?? {};
|
|
3
3
|
}
|
|
4
|
-
export function withCustomAnswer({ q, state, text, userId
|
|
5
|
-
const { [q]: _previous, ...rest } = customAnswers({
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
export function withCustomAnswer({ q, state, text, userId }) {
|
|
5
|
+
const { [q]: _previous, ...rest } = customAnswers({
|
|
6
|
+
state,
|
|
7
|
+
userId
|
|
8
|
+
});
|
|
9
|
+
const answers = text ? {
|
|
10
|
+
...rest,
|
|
11
|
+
[q]: text
|
|
12
|
+
} : rest;
|
|
13
|
+
return {
|
|
14
|
+
...state,
|
|
15
|
+
custom: {
|
|
16
|
+
...state?.custom,
|
|
17
|
+
[userId]: answers
|
|
18
|
+
}
|
|
19
|
+
};
|
|
8
20
|
}
|
|
21
|
+
|
|
9
22
|
//# sourceMappingURL=state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/questions/state.ts"],"names":["customAnswers","state","userId","custom","withCustomAnswer","q","text","_previous","rest","answers"],"mappings":"AAIA,OAAO,SAASA,cAAc,EAC5BC,KAAK,EACLC,MAAM,EAIP;IACC,OAAOD,OAAOE,QAAQ,CAACD,OAAO,IAAI,CAAC;AACrC;AAEA,OAAO,SAASE,iBAAiB,EAC/BC,CAAC,EACDJ,KAAK,EACLK,IAAI,EACJJ,MAAM,EAMP;IACC,MAAM,EAAE,CAACG,EAAE,EAAEE,SAAS,EAAE,GAAGC,MAAM,GAAGR,cAAc;QAAEC;QAAOC;IAAO;IAClE,MAAMO,UAAUH,OAAO;QAAE,GAAGE,IAAI;QAAE,CAACH,EAAE,EAAEC;IAAK,IAAIE;IAEhD,OAAO;QAAE,GAAGP,KAAK;QAAEE,QAAQ;YAAE,GAAGF,OAAOE,MAAM;YAAE,CAACD,OAAO,EAAEO;QAAQ;IAAE;AACrE","file":"state.js"}
|